合同新增添加中标单关联,根据选择的中标单赋值乙方  中标单中标厂家改成下拉  验收单来源类型根据合同类型,查询条件和结果新增合同名称
15个文件已修改
147 ■■■■ 已修改文件
platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/ReceivingNoteQueryDTO.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/Contract.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ContractItem.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedger.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceTechnicalAgreemnt.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/PurchaseWinningLetterEntity.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNote.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/DeviceTechnicalAgreementPageVo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/ReceivingNotePageVo.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceManufacturerController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceTechnicalAgreementController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/PurchaseWinningLetterController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/PurchaseTendrOrderServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/resources/mapper/DeviceTechnicalAgreementMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/resources/mapper/ReceivingNoteMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/ReceivingNoteQueryDTO.java
@@ -1,10 +1,15 @@
package com.by4cloud.platformx.device.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class ReceivingNoteQueryDTO {
    @Schema(description = "验收单编号")
    private String releaseCode;
    @Schema(description = "合同名称")
    private String contractName;
}
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/Contract.java
@@ -107,6 +107,10 @@
    @Column(columnDefinition = "datetime comment '填报时间'")
    private Date releaseDate;
    @Schema(description = "中标单ID")
    @Column(columnDefinition="bigint comment '中标单ID'")
    private Long winningLetterId;
    @Transient
    @TableField(exist = false)
    private List<ContractItem> contractItemList;
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ContractItem.java
@@ -33,5 +33,7 @@
    @Column(columnDefinition="long comment '设备ID'")
    private Long deviceId;
    @Schema(description = "技术协议ID")
    @Column(columnDefinition="long comment '设备技术协议ID'")
    private Long technicalAgreementId;
}
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedger.java
@@ -87,4 +87,13 @@
    @Transient
    @TableField(exist = false)
    private List<DeviceLeasingLedgerItem> ledgerItemList;
    /**
     * 出租日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Schema(description = "出租日期")
    @Column(columnDefinition="datetime comment '到货验收日期'")
    private Date deliveryDate;
}
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceTechnicalAgreemnt.java
@@ -20,6 +20,13 @@
public class DeviceTechnicalAgreemnt extends BaseModel<DeviceTechnicalAgreemnt> {
    /**
     * 协议名称
     */
    @Schema(description = "协议名称")
    @Column(columnDefinition="VARCHAR(256) comment '协议名称'")
    private String agreementName;
    /**
     * 甲方
     */
    @Schema(description = "甲方")
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/PurchaseWinningLetterEntity.java
@@ -6,7 +6,10 @@
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.time.LocalDateTime;
/**
@@ -16,122 +19,107 @@
 * @date 2025-03-24 17:13:08
 */
@Data
@Entity
@TableName("purchase_winning_letter")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "中标通知书")
@javax.persistence.Table(name = "purchase_winning_letter")
@Table(appliesTo = "purchase_winning_letter", comment = "中标通知")
public class PurchaseWinningLetterEntity extends BaseModel<PurchaseWinningLetterEntity> {
    /**
    * 中标通知书编码
    */
    @Schema(description="中标通知书编码")
    @Column(columnDefinition="varchar(100) comment '中标通知书编码'")
    private String winningCode;
    /**
    * 采购计划编号
    */
    @Schema(description="采购计划编号")
    private String purchasePlanCode;
    @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="单位")
    @Column(columnDefinition="varchar(32) comment '单位'")
    private String unit;
    /**
    * 中标单价  /分
    */
    @Schema(description="中标单价  /分")
    @Column(columnDefinition="DECIMAL(10,0) comment '中标单价  /分'")
    private Integer winningPrice;
    /**
    * 中标总额   /分
    */
    @Schema(description="中标总额   /分")
    @Column(columnDefinition="DECIMAL(10,0) comment '中标总额   /分'")
    private Integer totalWinningAmount;
    /**
    * 拟使用地点
    */
    @Schema(description="拟使用地点")
    @Column(columnDefinition="varchar(256) comment '拟使用地点'")
    private String locationUsed;
    /**
    * 中标厂家
    */
    @Schema(description="中标厂家")
    @Column(columnDefinition="varchar(100) comment '中标厂家'")
    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;
     * 中标厂家ID
     */
    @Schema(description="中标厂家")
    @Column(columnDefinition="bigint comment '使用公司'")
    private Long winningManufacturerId;
}
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNote.java
@@ -69,7 +69,7 @@
     * 来源类型
     */
    @Schema(description = "来源类型")
    @Column(columnDefinition="INTEGER comment '来源类型'")
    @Column(columnDefinition="INTEGER comment '来源类型 0 租赁 1 采购'")
    private String resourceType;
    /**
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/DeviceTechnicalAgreementPageVo.java
@@ -11,7 +11,7 @@
    private Long id;
    private String contractName;
    private String agreementName;
    private String partya;
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/ReceivingNotePageVo.java
@@ -10,6 +10,14 @@
    private Long id;
    /**
     * 合同 名称
     */
    private String contractName;
    /**
     * 验收单号
     */
    private String releaseCode;
    /**
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceManufacturerController.java
@@ -120,4 +120,13 @@
    public List<DeviceManufacturer> export(DeviceManufacturer deviceManufacturer,Long[] ids) {
        return deviceManufacturerService.list(Wrappers.lambdaQuery(deviceManufacturer).in(ArrayUtil.isNotEmpty(ids), DeviceManufacturer::getId, ids));
    }
    /**
     * 获取下拉列表
     * @return
     */
    @GetMapping("/getDropdownnList")
    public R<List<DeviceManufacturer>> getDropdownnList() {
        return R.ok(deviceManufacturerService.list());
    }
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceTechnicalAgreementController.java
@@ -10,6 +10,7 @@
import com.by4cloud.platformx.common.log.annotation.SysLog;
import com.by4cloud.platformx.device.dto.DeviceTechnicalAgreemntQueryDTO;
import com.by4cloud.platformx.device.entity.DeviceTechnicalAgreemnt;
import com.by4cloud.platformx.device.entity.PurchaseWinningLetterEntity;
import com.by4cloud.platformx.device.service.DeviceTechnicalAgreementService;
import org.springframework.security.access.prepost.PreAuthorize;
import com.by4cloud.platformx.common.excel.annotation.ResponseExcel;
@@ -117,4 +118,13 @@
    public List<DeviceTechnicalAgreemnt> export(DeviceTechnicalAgreemnt deviceTechnicalAgreement,Long[] ids) {
        return deviceTechnicalAgreementService.list(Wrappers.lambdaQuery(deviceTechnicalAgreement).in(ArrayUtil.isNotEmpty(ids), DeviceTechnicalAgreemnt::getId, ids));
    }
    /**
     * 获取下拉列表
     * @return
     */
    @GetMapping("/getDropdownnList")
    public R<List<DeviceTechnicalAgreemnt>> getDropdownnList() {
        return R.ok(deviceTechnicalAgreementService.list());
    }
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/PurchaseWinningLetterController.java
@@ -10,6 +10,7 @@
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.service.JcMaxSizeService;
@@ -125,4 +126,13 @@
    public List<PurchaseWinningLetterEntity> export(PurchaseWinningLetterEntity purchaseWinningLetter,Long[] ids) {
        return purchaseWinningLetterService.list(Wrappers.lambdaQuery(purchaseWinningLetter).in(ArrayUtil.isNotEmpty(ids), PurchaseWinningLetterEntity::getId, ids));
    }
    /**
     * 获取下拉列表
     * @return
     */
    @GetMapping("/getDropdownnList")
    public R<List<PurchaseWinningLetterEntity>> getDropdownnList() {
        return R.ok(purchaseWinningLetterService.list());
    }
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/PurchaseTendrOrderServiceImpl.java
@@ -2,10 +2,12 @@
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.by4cloud.platformx.device.constant.MaxSizeContant;
import com.by4cloud.platformx.device.entity.PurchaseTendrOrderEntity;
import com.by4cloud.platformx.device.entity.PurchaseWinningLetterEntity;
import com.by4cloud.platformx.device.mapper.PurchaseTendrOrderMapper;
import com.by4cloud.platformx.device.mapper.PurchaseWinningLetterMapper;
import com.by4cloud.platformx.device.service.JcMaxSizeService;
import com.by4cloud.platformx.device.service.PurchaseTendrOrderService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@@ -23,12 +25,14 @@
public class PurchaseTendrOrderServiceImpl extends ServiceImpl<PurchaseTendrOrderMapper, PurchaseTendrOrderEntity> implements PurchaseTendrOrderService {
    private final PurchaseWinningLetterMapper purchaseWinningLetterMapper;
    private final JcMaxSizeService maxSizeService;
    @Override
    public boolean complete(Long id) {
        PurchaseTendrOrderEntity orderEntity = baseMapper.selectById(id);
        PurchaseWinningLetterEntity entity = BeanUtil.copyProperties(orderEntity, PurchaseWinningLetterEntity.class);
        entity.setWinningCode(maxSizeService.nextNo(MaxSizeContant.WINNING_CODE));
        entity.setWinningPrice(orderEntity.getEstimatePrice());
        entity.setTotalWinningAmount(orderEntity.getTotalPlanndAmount());
        purchaseWinningLetterMapper.insert(entity);
platformx-device-biz/src/main/resources/mapper/DeviceTechnicalAgreementMapper.xml
@@ -29,7 +29,7 @@
    <select id="page" resultType="com.by4cloud.platformx.device.entity.vo.DeviceTechnicalAgreementPageVo">
        select
            dta.id,
            c.name contractName,
            dta.agreement_name,
            dta.partya ,
            dta.partyb ,
            dta.partyc ,
@@ -38,7 +38,6 @@
            dta.device_code
        from
            device_technical_agreement dta
        join contract c on dta.contract_id = c.id
        join device d on d.id = dta.device_id
        where
            dta.del_flag = '0'
platformx-device-biz/src/main/resources/mapper/ReceivingNoteMapper.xml
@@ -25,18 +25,24 @@
            rn.release_date ,
            rn.release_code,
            dm.manufacturer_name,
            sd.name deptName
            sd.name deptName,
            c.name contractName
        from
            receiving_note rn
        join device_manufacturer dm on
            rn.manufacturer_id  = dm.id
        join platformxx_boot.sys_dept sd on
            rn.dept_id = sd.dept_id
        join contract c on
            c.id = rn.contract_id
        where
            rn.del_flag = '0'
        <if test="queryDTO.releaseCode != null and queryDTO.releaseCode !=''">
            and rn.release_code like CONCAT('%', #{queryDTO.releaseCode}, '%')
        </if>
        <if test="queryDTO.contractName != null and queryDTO.contractName !=''">
            and c.name like CONCAT('%', #{queryDTO.contractName}, '%')
        </if>
        order by
            rn.create_time
        desc