platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/PurchaseWinningLetterQueryDTO.java
New file @@ -0,0 +1,14 @@ package com.by4cloud.platformx.device.dto; import lombok.Data; @Data public class PurchaseWinningLetterQueryDTO { private String winningName; private String orderName; private String winningCode; } platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedger.java
@@ -103,4 +103,11 @@ @Schema(description = "合同id") @Column(columnDefinition="bigint comment '合同id'") private Long contractId; /** * 台账名称 */ @Schema(description = "台账名称") @Column(columnDefinition="VARCHAR(256) comment '台账名称'") private String ledgerName; } platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/PurchaseTendrOrderEntity.java
@@ -5,6 +5,11 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import org.hibernate.annotations.Table; import javax.persistence.Column; import javax.persistence.Entity; import java.math.BigDecimal; import java.time.LocalDateTime; /** @@ -14,116 +19,108 @@ * @date 2025-03-24 15:45:03 */ @Data @Entity @TableName("purchase_tendr_order") @EqualsAndHashCode(callSuper = true) @Schema(description = "招标采购单") @javax.persistence.Table(name = "purchase_tendr_order") @Table(appliesTo = "purchase_tendr_order", comment = "招标采购单") public class PurchaseTendrOrderEntity extends BaseModel<PurchaseTendrOrderEntity> { /** * 采购计划编号 */ @Schema(description="采购计划编号") @Column(columnDefinition="varchar(100) comment '采购计划编号'") private String purchasePlanCode; /** * 设备编码 */ @Schema(description="设备编码") @Column(columnDefinition="varchar(256) comment '设备编码'") private String deviceCode; /** * 设备名称 */ @Schema(description="设备名称") @Column(columnDefinition="varchar(256) comment '设备名称'") private String deviceName; /** * 规格型号 */ @Schema(description="规格型号") @Column(columnDefinition="varchar(256) comment '规格型号'") private String deviceModels; /** * 关键参数 */ @Schema(description="关键参数") @Column(columnDefinition="varchar(256) comment '关键参数'") private String keyParameter; /** * 到货月份 */ @Schema(description="到货月份") @Column(columnDefinition="int comment '到货月份'") private Integer arrivalMonth; /** * 数量 */ @Schema(description="数量") @Column(columnDefinition="int comment '数量'") private Integer quantity; /** * 单位 * 计量单位 */ @Schema(description="单位") @Schema(description="计量单位") @Column(columnDefinition="varchar(20) comment '计量单位'") private String unit; /** * 预估单价 /分 */ @Schema(description="预估单价 /分") private Integer estimatePrice; @Column(columnDefinition="decimal(10,2) comment '预估单价'") private BigDecimal estimatePrice; /** * 计划总额 /分 */ @Schema(description="计划总额 /分") private Integer totalPlanndAmount; @Column(columnDefinition="decimal(10,2) comment '计划总额'") private BigDecimal totalPlanndAmount; /** * 拟使用地点 */ @Schema(description="拟使用地点") @Column(columnDefinition="varchar(256) comment '拟使用地点'") private String locationUsed; /** * 状态 */ @Schema(description="状态") @Column(columnDefinition="varchar(32) comment '状态'") private String status; /** * 申请人 * 招标采购计划名称 */ @TableField(fill = FieldFill.INSERT) @Schema(description="申请人") private String createBy; @Schema(description="招标采购计划名称") @Column(columnDefinition="varchar(256) comment '招标采购计划名称'") private String orderName; /** * 创建时间 * 设备ID */ @TableField(fill = FieldFill.INSERT) @Schema(description="创建时间") private LocalDateTime createTime; @Schema(description="设备ID") @Column(columnDefinition="bigint comment '设备ID'") private Long deviceId; /** * 修改人 */ @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-api/src/main/java/com/by4cloud/platformx/device/entity/PurchaseWinningLetterEntity.java
@@ -10,6 +10,7 @@ import javax.persistence.Column; import javax.persistence.Entity; import java.math.BigDecimal; import java.time.LocalDateTime; /** @@ -89,18 +90,18 @@ private String unit; /** * 中标单价 /分 * 中标单价 */ @Schema(description="中标单价 /分") @Column(columnDefinition="DECIMAL(10,0) comment '中标单价 /分'") private Integer winningPrice; @Schema(description="中标单价") @Column(columnDefinition="DECIMAL(10,2) comment '中标单价'") private BigDecimal winningPrice; /** * 中标总额 /分 * 中标总额 */ @Schema(description="中标总额 /分") @Column(columnDefinition="DECIMAL(10,0) comment '中标总额 /分'") private Integer totalWinningAmount; @Schema(description="中标总额") @Column(columnDefinition="DECIMAL(10,2) comment '中标总额'") private BigDecimal totalWinningAmount; /** * 拟使用地点 @@ -119,7 +120,28 @@ /** * 中标厂家ID */ @Schema(description="中标厂家") @Column(columnDefinition="bigint comment '使用公司'") @Schema(description="中标厂家ID") @Column(columnDefinition="bigint comment '中标厂家ID'") private Long winningManufacturerId; /** * 中标通知名称 */ @Schema(description="中标通知") @Column(columnDefinition="varchar(256) comment '中标通知'") private String winningName; /** * 设备ID */ @Schema(description="设备ID") @Column(columnDefinition="bigint comment '设备ID'") private Long deviceId; /** * 招标计划ID */ @Schema(description="招标计划ID") @Column(columnDefinition="bigint comment '招标计划ID'") private Long orderId; } platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNote.java
@@ -133,4 +133,11 @@ @Transient @TableField(exist = false) private List<ReceivingNoteItem> noteItemList; /** * 验收单名称 */ @Schema(description = "验收单名称") @Column(columnDefinition="VARCHAR(256) comment '验收单名称'") private String noteName; } platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/PurchaseWinningLetterPageVo.java
New file @@ -0,0 +1,30 @@ package com.by4cloud.platformx.device.entity.vo; import lombok.Data; @Data public class PurchaseWinningLetterPageVo { private Long id; private String winningName; private String winningCode; private String orderName; private String deviceName; private String deviceCode; private String winningBidder; private String arrivalMonth; private String quantity; private String totalWinningAmount; private String locationUsed; } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/PurchaseTendrOrderController.java
@@ -54,6 +54,7 @@ @PreAuthorize("@pms.hasPermission('platformx_purchaseTendrOrder_view')" ) public R getPurchaseTendrOrderPage(@ParameterObject Page page, @ParameterObject PurchaseTendrOrderEntity purchaseTendrOrder) { LambdaQueryWrapper<PurchaseTendrOrderEntity> wrapper = Wrappers.lambdaQuery(); wrapper.like(StringUtils.isNotEmpty(purchaseTendrOrder.getOrderName()),PurchaseTendrOrderEntity::getOrderName,purchaseTendrOrder.getOrderName()); wrapper.like(StringUtils.isNotEmpty(purchaseTendrOrder.getPurchasePlanCode()),PurchaseTendrOrderEntity::getPurchasePlanCode,purchaseTendrOrder.getPurchasePlanCode()); wrapper.orderByDesc(PurchaseTendrOrderEntity::getCreateTime); return R.ok(purchaseTendrOrderService.page(page, wrapper)); platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/PurchaseWinningLetterController.java
@@ -9,10 +9,8 @@ import com.by4cloud.platformx.common.core.util.R; import com.by4cloud.platformx.common.log.annotation.SysLog; import com.by4cloud.platformx.device.constant.MaxSizeContant; import com.by4cloud.platformx.device.entity.Contract; import com.by4cloud.platformx.device.entity.DeviceManufacturer; import com.by4cloud.platformx.device.entity.PurchaseTendrOrderEntity; import com.by4cloud.platformx.device.entity.PurchaseWinningLetterEntity; import com.by4cloud.platformx.device.dto.PurchaseWinningLetterQueryDTO; import com.by4cloud.platformx.device.entity.*; import com.by4cloud.platformx.device.service.JcMaxSizeService; import com.by4cloud.platformx.device.service.PurchaseWinningLetterService; import org.springframework.security.access.prepost.PreAuthorize; @@ -46,18 +44,14 @@ /** * 分页查询 * @param page 分页对象 * @param purchaseWinningLetter 中标通知书 * @param queryDTO 中标通知书 * @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(); wrapper.like(StringUtils.isNotEmpty(purchaseWinningLetter.getPurchasePlanCode()), PurchaseWinningLetterEntity::getPurchasePlanCode,purchaseWinningLetter.getPurchasePlanCode()); wrapper.like(StringUtils.isNotEmpty(purchaseWinningLetter.getWinningCode()), PurchaseWinningLetterEntity::getWinningCode,purchaseWinningLetter.getWinningCode()); wrapper.orderByDesc(PurchaseWinningLetterEntity::getCreateTime); return R.ok(purchaseWinningLetterService.page(page, wrapper)); public R getPurchaseWinningLetterPage(@ParameterObject Page page, PurchaseWinningLetterQueryDTO queryDTO) { return R.ok(purchaseWinningLetterService.pageNew(page, queryDTO)); } @@ -135,4 +129,13 @@ public R<List<PurchaseWinningLetterEntity>> getDropdownnList() { return R.ok(purchaseWinningLetterService.list()); } /** * 根据验收查询设备下拉 * @return */ @GetMapping("/getDropdownnById/{id}") public R<List<Device>> getDropdownnByWinningId(@PathVariable("id")Long id) { return R.ok(purchaseWinningLetterService.getDropdownnByWinningId(id)); } } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceMapper.java
@@ -14,4 +14,6 @@ List<Device> getDeviceSelectListByLedgerId(@Param("ledgerId") Long ledgerId); List<Device> getDeviceListByContractId(@Param("contractId")Long contractId); List<Device> getDropdownnByWinningId(@Param("id") Long id); } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/PurchaseWinningLetterMapper.java
@@ -1,11 +1,17 @@ package com.by4cloud.platformx.device.mapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper; import com.by4cloud.platformx.device.dto.PurchaseWinningLetterQueryDTO; import com.by4cloud.platformx.device.entity.PurchaseWinningLetterEntity; import com.by4cloud.platformx.device.entity.vo.PurchaseWinningLetterPageVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @Mapper public interface PurchaseWinningLetterMapper extends PlatformxBaseMapper<PurchaseWinningLetterEntity> { IPage<PurchaseWinningLetterPageVo> pageNew(Page page,@Param("queryDTO") PurchaseWinningLetterQueryDTO queryDTO); } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/PurchaseWinningLetterService.java
@@ -1,10 +1,20 @@ package com.by4cloud.platformx.device.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.by4cloud.platformx.common.core.util.R; import com.by4cloud.platformx.device.dto.PurchaseWinningLetterQueryDTO; import com.by4cloud.platformx.device.entity.Device; import com.by4cloud.platformx.device.entity.PurchaseWinningLetterEntity; import java.util.List; public interface PurchaseWinningLetterService extends IService<PurchaseWinningLetterEntity> { R saveNew(PurchaseWinningLetterEntity purchaseWinningLetter); IPage pageNew(Page page, PurchaseWinningLetterQueryDTO queryDTO); List<Device> getDropdownnByWinningId(Long id); } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/PurchaseWinningLetterServiceImpl.java
@@ -1,15 +1,23 @@ package com.by4cloud.platformx.device.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.by4cloud.platformx.common.core.util.R; import com.by4cloud.platformx.device.dto.PurchaseWinningLetterQueryDTO; import com.by4cloud.platformx.device.entity.Device; import com.by4cloud.platformx.device.entity.PurchaseTendrOrderEntity; import com.by4cloud.platformx.device.entity.PurchaseWinningLetterEntity; import com.by4cloud.platformx.device.mapper.DeviceMapper; import com.by4cloud.platformx.device.mapper.PurchaseTendrOrderMapper; import com.by4cloud.platformx.device.mapper.PurchaseWinningLetterMapper; import com.by4cloud.platformx.device.service.PurchaseWinningLetterService; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import java.util.List; /** * 中标通知书 * @@ -21,17 +29,27 @@ public class PurchaseWinningLetterServiceImpl extends ServiceImpl<PurchaseWinningLetterMapper, PurchaseWinningLetterEntity> implements PurchaseWinningLetterService { private final PurchaseTendrOrderMapper orderMapper; private final DeviceMapper deviceMapper; @Override public R saveNew(PurchaseWinningLetterEntity purchaseWinningLetter) { baseMapper.insert(purchaseWinningLetter); QueryWrapper<PurchaseTendrOrderEntity> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("purchase_plan_code",purchaseWinningLetter.getPurchasePlanCode()); PurchaseTendrOrderEntity orderEntity = orderMapper.selectOne(queryWrapper); PurchaseTendrOrderEntity orderEntity = orderMapper.selectById(purchaseWinningLetter.getOrderId()); if (orderEntity!=null){ orderEntity.setStatus("2"); orderMapper.updateById(orderEntity); } return R.ok(); } @Override public IPage pageNew(Page page, PurchaseWinningLetterQueryDTO queryDTO) { return baseMapper.pageNew(page,queryDTO); } @Override public List<Device> getDropdownnByWinningId(Long id) { List<Device> list = deviceMapper.getDropdownnByWinningId(id); return list; } } platformx-device-biz/src/main/resources/mapper/DeviceMapper.xml
@@ -66,4 +66,21 @@ and ci.contract_id = #{contractId} and ci.device_id = d.id ) </select> <select id="getDropdownnByWinningId" resultType="com.by4cloud.platformx.device.entity.Device"> select * from device d where d.del_flag = '0' and exists ( select pwl.device_id from purchase_winning_letter pwl where pwl.del_flag = '0' and pwl.id = #{id} and pwl.device_id = d.id ) </select> </mapper> platformx-device-biz/src/main/resources/mapper/PurchaseWinningLetterMapper.xml
@@ -24,4 +24,35 @@ <result property="updateTime" column="update_time"/> <result property="delFlag" column="del_flag"/> </resultMap> <select id="pageNew" resultType="com.by4cloud.platformx.device.entity.vo.PurchaseWinningLetterPageVo"> select pwl.id, pto.order_name, pwl.winning_code, pwl.purchase_plan_code , pwl.device_code, pwl.device_name, pwl.arrival_month, pwl.quantity, pwl.total_winning_amount, pwl.location_used, pwl.winning_bidder, pwl.winning_name from purchase_winning_letter pwl join purchase_tendr_order pto on pwl.order_id = pto.id where pwl.del_flag = '0' <if test="queryDTO.orderName != null and queryDTO.orderName !=''"> and pto.order_name like CONCAT('%', #{queryDTO.orderName}, '%') </if> <if test="queryDTO.winningName != null and queryDTO.winningName !=''"> and pwl.winning_name like CONCAT('%', #{queryDTO.winningName}, '%') </if> <if test="queryDTO.winningCode != null and queryDTO.winningCode !=''"> and pwl.winning_code like CONCAT('%', #{queryDTO.winningCode}, '%') </if> order by pwl.create_time desc </select> </mapper>