platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/PurchaseTendrOrderEntity.java
New file @@ -0,0 +1,137 @@ package com.by4cloud.platformx.device.entity; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.extension.activerecord.Model; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import java.time.LocalDateTime; /** * 招标采购单 * * @author pig * @date 2025-03-24 15:45:03 */ @Data @TableName("purchase_tendr_order") @EqualsAndHashCode(callSuper = true) @Schema(description = "招标采购单") public class PurchaseTendrOrderEntity extends Model<PurchaseTendrOrderEntity> { /** * id */ @TableId(type = IdType.ASSIGN_ID) @Schema(description="id") private Long id; /** * 采购计划编号 */ @Schema(description="采购计划编号") private String purchasePlanCode; /** * 设备编码 */ @Schema(description="设备编码") private String deviceCode; /** * 设备名称 */ @Schema(description="设备名称") private String deviceName; /** * 规格型号 */ @Schema(description="规格型号") private String deviceModels; /** * 关键参数 */ @Schema(description="关键参数") private String keyParameter; /** * 到货月份 */ @Schema(description="到货月份") private Integer arrivalMonth; /** * 数量 */ @Schema(description="数量") private Integer quantity; /** * 单位 */ @Schema(description="单位") private String unit; /** * 预估单价 /分 */ @Schema(description="预估单价 /分") private Integer estimatePrice; /** * 计划总额 /分 */ @Schema(description="计划总额 /分") private Integer totalPlanndAmount; /** * 拟使用地点 */ @Schema(description="拟使用地点") private String locationUsed; /** * 状态 */ @Schema(description="状态") private String status; /** * 申请人 */ @TableField(fill = FieldFill.INSERT) @Schema(description="申请人") private String createBy; /** * 创建时间 */ @TableField(fill = FieldFill.INSERT) @Schema(description="创建时间") private LocalDateTime createTime; /** * 修改人 */ @TableField(fill = FieldFill.INSERT_UPDATE) @Schema(description="修改人") private String updateBy; /** * 修改时间 */ @TableField(fill = FieldFill.INSERT_UPDATE) @Schema(description="修改时间") private LocalDateTime updateTime; /** * delFlag */ @TableLogic @TableField(fill = FieldFill.INSERT) @Schema(description="delFlag") private String delFlag; } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/PurchaseTendrOrderController.java
New file @@ -0,0 +1,133 @@ package com.by4cloud.platformx.device.controller; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.by4cloud.platformx.common.core.util.R; import com.by4cloud.platformx.common.log.annotation.SysLog; import com.by4cloud.platformx.device.service.PurchaseTendrOrderService; import com.by4cloud.platformx.device.entity.PurchaseTendrOrderEntity; import com.by4cloud.platformx.device.service.PurchaseTendrOrderService; import org.springframework.security.access.prepost.PreAuthorize; import com.by4cloud.platformx.common.excel.annotation.ResponseExcel; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import org.springdoc.api.annotations.ParameterObject; import org.springframework.http.HttpHeaders; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Objects; /** * 招标采购单 * * @author pig * @date 2025-03-24 15:45:03 */ @RestController @RequiredArgsConstructor @RequestMapping("/purchaseTendrOrder" ) @Tag(description = "purchaseTendrOrder" , name = "招标采购单管理" ) @SecurityRequirement(name = HttpHeaders.AUTHORIZATION) public class PurchaseTendrOrderController { private final PurchaseTendrOrderService purchaseTendrOrderService; /** * 分页查询 * @param page 分页对象 * @param purchaseTendrOrder 招标采购单 * @return */ @Operation(summary = "分页查询" , description = "分页查询" ) @GetMapping("/page" ) @PreAuthorize("@pms.hasPermission('platformx_purchaseTendrOrder_view')" ) public R getPurchaseTendrOrderPage(@ParameterObject Page page, @ParameterObject PurchaseTendrOrderEntity purchaseTendrOrder) { LambdaQueryWrapper<PurchaseTendrOrderEntity> wrapper = Wrappers.lambdaQuery(); return R.ok(purchaseTendrOrderService.page(page, wrapper)); } /** * 通过id查询招标采购单 * @param id id * @return R */ @Operation(summary = "通过id查询" , description = "通过id查询" ) @GetMapping("/{id}" ) @PreAuthorize("@pms.hasPermission('platformx_purchaseTendrOrder_view')" ) public R getById(@PathVariable("id" ) Long id) { return R.ok(purchaseTendrOrderService.getById(id)); } /** * 新增招标采购单 * @param purchaseTendrOrder 招标采购单 * @return R */ @Operation(summary = "新增招标采购单" , description = "新增招标采购单" ) @SysLog("新增招标采购单" ) @PostMapping @PreAuthorize("@pms.hasPermission('platformx_purchaseTendrOrder_add')" ) public R save(@RequestBody PurchaseTendrOrderEntity purchaseTendrOrder) { return R.ok(purchaseTendrOrderService.save(purchaseTendrOrder)); } /** * 修改招标采购单 * @param purchaseTendrOrder 招标采购单 * @return R */ @Operation(summary = "修改招标采购单" , description = "修改招标采购单" ) @SysLog("修改招标采购单" ) @PutMapping @PreAuthorize("@pms.hasPermission('platformx_purchaseTendrOrder_edit')" ) public R updateById(@RequestBody PurchaseTendrOrderEntity purchaseTendrOrder) { return R.ok(purchaseTendrOrderService.updateById(purchaseTendrOrder)); } /** * 通过id删除招标采购单 * @param ids id列表 * @return R */ @Operation(summary = "通过id删除招标采购单" , description = "通过id删除招标采购单" ) @SysLog("通过id删除招标采购单" ) @DeleteMapping @PreAuthorize("@pms.hasPermission('platformx_purchaseTendrOrder_del')" ) public R removeById(@RequestBody Long[] ids) { return R.ok(purchaseTendrOrderService.removeBatchByIds(CollUtil.toList(ids))); } /** * 导出excel 表格 * @param purchaseTendrOrder 查询条件 * @param ids 导出指定ID * @return excel 文件流 */ @ResponseExcel @GetMapping("/export") @PreAuthorize("@pms.hasPermission('platformx_purchaseTendrOrder_export')" ) public List<PurchaseTendrOrderEntity> export(PurchaseTendrOrderEntity purchaseTendrOrder,Long[] ids) { return purchaseTendrOrderService.list(Wrappers.lambdaQuery(purchaseTendrOrder).in(ArrayUtil.isNotEmpty(ids), PurchaseTendrOrderEntity::getId, ids)); } /** * 通过id删除招标采购单 * @param ids id列表 * @return R */ @Operation(summary = "通过id完成招标采购单" , description = "通过id完成招标采购单" ) @SysLog("通过id完成招标采购单" ) @GetMapping("/complete/{id}") @PreAuthorize("@pms.hasPermission('platformx_purchaseTendrOrder_complete')" ) public R complete(@PathVariable("id")Long id) { return R.ok(purchaseTendrOrderService.complete(id)); } } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/PurchaseTendrOrderMapper.java
New file @@ -0,0 +1,12 @@ package com.by4cloud.platformx.device.mapper; import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper; import com.by4cloud.platformx.device.entity.PurchaseTendrOrderEntity; import com.by4cloud.platformx.device.entity.PurchaseTendrOrderEntity; import org.apache.ibatis.annotations.Mapper; @Mapper public interface PurchaseTendrOrderMapper extends PlatformxBaseMapper<PurchaseTendrOrderEntity> { } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/PurchaseTendrOrderService.java
New file @@ -0,0 +1,9 @@ package com.by4cloud.platformx.device.service; import com.baomidou.mybatisplus.extension.service.IService; import com.by4cloud.platformx.device.entity.PurchaseTendrOrderEntity; public interface PurchaseTendrOrderService extends IService<PurchaseTendrOrderEntity> { boolean complete(Long id); } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/PurchaseTendrOrderServiceImpl.java
New file @@ -0,0 +1,27 @@ package com.by4cloud.platformx.device.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.by4cloud.platformx.device.entity.PurchaseTendrOrderEntity; import com.by4cloud.platformx.device.mapper.PurchaseTendrOrderMapper; import com.by4cloud.platformx.device.service.PurchaseTendrOrderService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; /** * 招标采购单 * * @author pig * @date 2025-03-24 15:45:03 */ @Service @RequiredArgsConstructor public class PurchaseTendrOrderServiceImpl extends ServiceImpl<PurchaseTendrOrderMapper, PurchaseTendrOrderEntity> implements PurchaseTendrOrderService { private final PurchaseTendrOrderMapper purchaseTendrOrderMapper; @Override public boolean complete(Long id) { return false; } } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/src/main/java/com/by4cloud/platformx/device/controller/PurchaseWinningLetterController.java
New file @@ -0,0 +1,119 @@ package com.by4cloud.platformx.device.controller; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.by4cloud.platformx.common.core.util.R; import com.by4cloud.platformx.common.log.annotation.SysLog; import com.by4cloud.platformx.device.entity.PurchaseWinningLetterEntity; import com.by4cloud.platformx.device.service.PurchaseWinningLetterService; import org.springframework.security.access.prepost.PreAuthorize; import com.by4cloud.platformx.common.excel.annotation.ResponseExcel; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import org.springdoc.api.annotations.ParameterObject; import org.springframework.http.HttpHeaders; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Objects; /** * 中标通知书 * * @author syt * @date 2025-03-24 17:13:08 */ @RestController @RequiredArgsConstructor @RequestMapping("/purchaseWinningLetter" ) @Tag(description = "purchaseWinningLetter" , name = "中标通知书管理" ) @SecurityRequirement(name = HttpHeaders.AUTHORIZATION) public class PurchaseWinningLetterController { private final PurchaseWinningLetterService purchaseWinningLetterService; /** * 分页查询 * @param page 分页对象 * @param purchaseWinningLetter 中标通知书 * @return */ @Operation(summary = "分页查询" , description = "分页查询" ) @GetMapping("/page" ) @PreAuthorize("@pms.hasPermission('device_purchaseWinningLetter_view')" ) public R getPurchaseWinningLetterPage(@ParameterObject Page page, @ParameterObject PurchaseWinningLetterEntity purchaseWinningLetter) { LambdaQueryWrapper<PurchaseWinningLetterEntity> wrapper = Wrappers.lambdaQuery(); return R.ok(purchaseWinningLetterService.page(page, wrapper)); } /** * 通过id查询中标通知书 * @param id id * @return R */ @Operation(summary = "通过id查询" , description = "通过id查询" ) @GetMapping("/{id}" ) @PreAuthorize("@pms.hasPermission('device_purchaseWinningLetter_view')" ) public R getById(@PathVariable("id" ) Long id) { return R.ok(purchaseWinningLetterService.getById(id)); } /** * 新增中标通知书 * @param purchaseWinningLetter 中标通知书 * @return R */ @Operation(summary = "新增中标通知书" , description = "新增中标通知书" ) @SysLog("新增中标通知书" ) @PostMapping @PreAuthorize("@pms.hasPermission('device_purchaseWinningLetter_add')" ) public R save(@RequestBody PurchaseWinningLetterEntity purchaseWinningLetter) { return R.ok(purchaseWinningLetterService.save(purchaseWinningLetter)); } /** * 修改中标通知书 * @param purchaseWinningLetter 中标通知书 * @return R */ @Operation(summary = "修改中标通知书" , description = "修改中标通知书" ) @SysLog("修改中标通知书" ) @PutMapping @PreAuthorize("@pms.hasPermission('device_purchaseWinningLetter_edit')" ) public R updateById(@RequestBody PurchaseWinningLetterEntity purchaseWinningLetter) { return R.ok(purchaseWinningLetterService.updateById(purchaseWinningLetter)); } /** * 通过id删除中标通知书 * @param ids id列表 * @return R */ @Operation(summary = "通过id删除中标通知书" , description = "通过id删除中标通知书" ) @SysLog("通过id删除中标通知书" ) @DeleteMapping @PreAuthorize("@pms.hasPermission('device_purchaseWinningLetter_del')" ) public R removeById(@RequestBody Long[] ids) { return R.ok(purchaseWinningLetterService.removeBatchByIds(CollUtil.toList(ids))); } /** * 导出excel 表格 * @param purchaseWinningLetter 查询条件 * @param ids 导出指定ID * @return excel 文件流 */ @ResponseExcel @GetMapping("/export") @PreAuthorize("@pms.hasPermission('device_purchaseWinningLetter_export')" ) public List<PurchaseWinningLetterEntity> export(PurchaseWinningLetterEntity purchaseWinningLetter,Long[] ids) { return purchaseWinningLetterService.list(Wrappers.lambdaQuery(purchaseWinningLetter).in(ArrayUtil.isNotEmpty(ids), PurchaseWinningLetterEntity::getId, ids)); } } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/src/main/java/com/by4cloud/platformx/device/entity/PurchaseWinningLetterEntity.java
New file @@ -0,0 +1,143 @@ package com.by4cloud.platformx.device.entity; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.extension.activerecord.Model; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import java.time.LocalDateTime; /** * 中标通知书 * * @author syt * @date 2025-03-24 17:13:08 */ @Data @TableName("purchase_winning_letter") @EqualsAndHashCode(callSuper = true) @Schema(description = "中标通知书") public class PurchaseWinningLetterEntity extends Model<PurchaseWinningLetterEntity> { /** * id */ @TableId(type = IdType.ASSIGN_ID) @Schema(description="id") private Long id; /** * 中标通知书编码 */ @Schema(description="中标通知书编码") private String winningCode; /** * 采购计划编号 */ @Schema(description="采购计划编号") private String purchasePlanCode; /** * 设备编码 */ @Schema(description="设备编码") private String deviceCode; /** * 设备名称 */ @Schema(description="设备名称") private String deviceName; /** * 规格型号 */ @Schema(description="规格型号") private String deviceModels; /** * 关键参数 */ @Schema(description="关键参数") private String keyParameter; /** * 到货月份 */ @Schema(description="到货月份") private Integer arrivalMonth; /** * 数量 */ @Schema(description="数量") private Integer quantity; /** * 单位 */ @Schema(description="单位") private String unit; /** * 中标单价 /分 */ @Schema(description="中标单价 /分") private Integer winningPrice; /** * 中标总额 /分 */ @Schema(description="中标总额 /分") private Integer totalWinningAmount; /** * 拟使用地点 */ @Schema(description="拟使用地点") private String locationUsed; /** * 中标厂家 */ @Schema(description="中标厂家") private String winningBidder; /** * 申请人 */ @TableField(fill = FieldFill.INSERT) @Schema(description="申请人") private String createBy; /** * 创建时间 */ @TableField(fill = FieldFill.INSERT) @Schema(description="创建时间") private LocalDateTime createTime; /** * 修改人 */ @TableField(fill = FieldFill.INSERT_UPDATE) @Schema(description="修改人") private String updateBy; /** * 修改时间 */ @TableField(fill = FieldFill.INSERT_UPDATE) @Schema(description="修改时间") private LocalDateTime updateTime; /** * delFlag */ @TableLogic @TableField(fill = FieldFill.INSERT) @Schema(description="delFlag") private String delFlag; } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/src/main/java/com/by4cloud/platformx/device/mapper/PurchaseWinningLetterMapper.java
New file @@ -0,0 +1,11 @@ package com.by4cloud.platformx.device.mapper; import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper; import com.by4cloud.platformx.device.entity.PurchaseWinningLetterEntity; import org.apache.ibatis.annotations.Mapper; @Mapper public interface PurchaseWinningLetterMapper extends PlatformxBaseMapper<PurchaseWinningLetterEntity> { } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/src/main/java/com/by4cloud/platformx/device/service/PurchaseWinningLetterService.java
New file @@ -0,0 +1,8 @@ package com.by4cloud.platformx.device.service; import com.baomidou.mybatisplus.extension.service.IService; import com.by4cloud.platformx.device.entity.PurchaseWinningLetterEntity; public interface PurchaseWinningLetterService extends IService<PurchaseWinningLetterEntity> { } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/src/main/java/com/by4cloud/platformx/device/service/impl/PurchaseWinningLetterServiceImpl.java
New file @@ -0,0 +1,16 @@ package com.by4cloud.platformx.device.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.by4cloud.platformx.device.entity.PurchaseWinningLetterEntity; import com.by4cloud.platformx.device.mapper.PurchaseWinningLetterMapper; import com.by4cloud.platformx.device.service.PurchaseWinningLetterService; import org.springframework.stereotype.Service; /** * 中标通知书 * * @author syt * @date 2025-03-24 17:13:08 */ @Service public class PurchaseWinningLetterServiceImpl extends ServiceImpl<PurchaseWinningLetterMapper, PurchaseWinningLetterEntity> implements PurchaseWinningLetterService { } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/src/main/resources/mapper/PurchaseWinningLetterMapper.xml
New file @@ -0,0 +1,27 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.by4cloud.platformx.device.mapper.PurchaseWinningLetterMapper"> <resultMap id="purchaseWinningLetterMap" type="com.by4cloud.platformx.device.entity.PurchaseWinningLetterEntity"> <id property="id" column="id"/> <result property="winningCode" column="winning_code"/> <result property="purchasePlanCode" column="purchase_plan_code"/> <result property="deviceCode" column="device_code"/> <result property="deviceName" column="device_name"/> <result property="deviceModels" column="device_models"/> <result property="keyParameter" column="key_parameter"/> <result property="arrivalMonth" column="arrival_month"/> <result property="quantity" column="quantity"/> <result property="unit" column="unit"/> <result property="winningPrice" column="winning_price"/> <result property="totalWinningAmount" column="total_winning_amount"/> <result property="locationUsed" column="location_used"/> <result property="winningBidder" column="winning_bidder"/> <result property="createBy" column="create_by"/> <result property="createTime" column="create_time"/> <result property="updateBy" column="update_by"/> <result property="updateTime" column="update_time"/> <result property="delFlag" column="del_flag"/> </resultMap> </mapper> platformx-device-biz/src/main/resources/mapper/PurchaseTendrOrderMapper.xml
New file @@ -0,0 +1,26 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.by4cloud.platformx.device.mapper.PurchaseTendrOrderMapper"> <resultMap id="purchaseTendrOrderMap" type="com.by4cloud.platformx.device.entity.PurchaseTendrOrderEntity"> <id property="id" column="id"/> <result property="purchasePlanCode" column="purchase_plan_code"/> <result property="deviceCode" column="device_code"/> <result property="deviceName" column="device_name"/> <result property="deviceModels" column="device_models"/> <result property="keyParameter" column="key_parameter"/> <result property="arrivalMonth" column="arrival_month"/> <result property="quantity" column="quantity"/> <result property="unit" column="unit"/> <result property="estimatePrice" column="estimate_price"/> <result property="totalPlanndAmount" column="total_plannd_amount"/> <result property="locationUsed" column="location_used"/> <result property="status" column="status"/> <result property="createBy" column="create_by"/> <result property="createTime" column="create_time"/> <result property="updateBy" column="update_by"/> <result property="updateTime" column="update_time"/> <result property="delFlag" column="del_flag"/> </resultMap> </mapper>