Forráskód Böngészése

项目管理- 合同信息

suntianwu 2 éve
szülő
commit
01f8d86830

+ 6 - 6
purchase-system/src/main/java/com/ozs/pm/doman/vo/requestVo/BaseSupplierReqVo.java

@@ -1,4 +1,4 @@
-package com.ozs.pm.doman.vo.requestVo;
+package com.ozs.pm.doman.vo;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ozs.common.vo.PageVo;
@@ -8,7 +8,7 @@ import lombok.Data;
 import java.util.Date;
 
 @Data
-public class BaseSupplierReqVo {
+public class PmBaseSupplierVo {
 
     @ApiModelProperty(value = "主键id")
     private Integer id;
@@ -63,9 +63,9 @@ public class BaseSupplierReqVo {
     @ApiModelProperty(value = "修改时间")
     private Date updateTime;
 
-    @ApiModelProperty("乙方合同签订地点")
-    private String contractSignPlaceB;
+    @ApiModelProperty("合同签订地点")
+    private String contractSignPlace;
 
-    @ApiModelProperty("乙方合同签订日期")
-    private Date contractSignDateB;
+    @ApiModelProperty("合同签订日期")
+    private Date contractSignDate;
 }

+ 48 - 0
purchase-system/src/main/java/com/ozs/pm/doman/vo/PmBaseUnitInformationVo.java

@@ -0,0 +1,48 @@
+package com.ozs.pm.doman.vo;
+
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Author : sunhh
+ * @create 2023/2/2 17:59
+ */
+@Data
+@TableName("base_unit_information")
+public class PmBaseUnitInformationVo {
+    /**
+     * 主键ID
+     */
+    @ApiModelProperty(value = "id")
+    private Integer id;
+
+    /**
+     * 单位名称
+     */
+    @ApiModelProperty(value = "单位名称")
+    private String unitName;
+
+    /**
+     * 创建人
+     */
+    @ApiModelProperty(value = "创建人")
+    private String created;
+
+    /**
+     * 创建时间
+     */
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+
+    @ApiModelProperty("合同签订地点")
+    private String contractSignPlace;
+
+    @ApiModelProperty("合同签订日期")
+    private Date contractSignDate;
+
+}

+ 6 - 6
purchase-system/src/main/java/com/ozs/pm/doman/vo/requestVo/PmContractInfoReqVo.java

@@ -2,6 +2,8 @@ package com.ozs.pm.doman.vo.requestVo;
 
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ozs.pm.doman.vo.PmBaseSupplierVo;
+import com.ozs.pm.doman.vo.PmBaseUnitInformationVo;
 import com.ozs.system.domain.SysFileRef;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -61,14 +63,12 @@ public class PmContractInfoReqVo implements Serializable {
     @ApiModelProperty("更新时间")
     private Date updateTime;
 
-    @ApiModelProperty("甲方合同签订地点")
-    private String contractSignPlaceA;
 
-    @ApiModelProperty("甲方合同签订日期")
-    private Date contractSignDateA;
+    @ApiModelProperty("甲方信息对象")
+    private PmBaseUnitInformationVo pmBaseUnitInformationVo;
 
-    @ApiModelProperty("供应商列表")
-    private List<BaseSupplierReqVo> baseSupplierList;
+    @ApiModelProperty("乙方信息列表")
+    private List<PmBaseSupplierVo> baseSupplierList;
 
     /**
      * 上传附件

+ 78 - 0
purchase-system/src/main/java/com/ozs/pm/doman/vo/responseVo/PmContractInfoResVo.java

@@ -0,0 +1,78 @@
+package com.ozs.pm.doman.vo.responseVo;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ozs.base.domain.BaseUnitInformation;
+import com.ozs.pm.doman.vo.PmBaseSupplierVo;
+import com.ozs.pm.doman.vo.PmBaseUnitInformationVo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * 合同信息表(PmContractInfo)实体类
+ *
+ * @author makejava
+ * @since 2023-02-02 00:47:22
+ */
+
+@Data
+@ApiModel(value = "合同信息表", description = "")
+public class PmContractInfoResVo implements Serializable {
+    private static final long serialVersionUID = -59348130033569267L;
+
+
+    @ApiModelProperty("需求ID")
+    private Long demandId;
+
+
+    @ApiModelProperty("合同编号")
+    private String contractNumber;
+
+
+    @ApiModelProperty("合同名称")
+    private String contractName;
+
+
+    @ApiModelProperty("合同金额(万元)")
+    private Double contractAmount;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @ApiModelProperty("合同终止日期")
+    private Date contractTerminationDate;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @ApiModelProperty("建设(交付)时间")
+    private Date constructionDeliveryTime;
+
+    @ApiModelProperty("创建者")
+    private String createBy;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty("创建时间")
+    private Date createTime;
+
+    @ApiModelProperty("更新者")
+    private String updateBy;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty("更新时间")
+    private Date updateTime;
+
+    @ApiModelProperty("甲方信息对象")
+    private PmBaseUnitInformationVo pmBaseUnitInformationVo;
+
+    @ApiModelProperty("乙方信息列表")
+    private List<PmBaseSupplierVo> baseSupplierList;
+
+    /**
+     * 上传附件的URL
+     */
+    @ApiModelProperty("上传附件的URL")
+    HashMap<String, String> fileMap;
+}

+ 4 - 0
purchase-system/src/main/java/com/ozs/pm/doman/vo/responseVo/PmDemandResVo.java

@@ -215,6 +215,10 @@ public class PmDemandResVo extends BaseEntity
     @ApiModelProperty("采购需求工程类对象")
     private PmDemandEngineeringResVo pmDemandEngineeringResVo;
 
+    /** 合同信息对象  */
+    @ApiModelProperty("合同信息对象")
+    private  PmContractInfoResVo pmContractInfoResVo;
+
     /** 项目建设对象  */
     @ApiModelProperty("项目建设对象")
     private  PmProjectConstructionResVo pmProjectConstructionResVo;

+ 63 - 11
purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandServiceImpl.java

@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ozs.base.domain.BaseExpert;
 import com.ozs.base.domain.BaseSupplier;
+import com.ozs.base.domain.BaseUnitInformation;
 import com.ozs.base.service.BaseExpertService;
 import com.ozs.base.service.BaseSupplierService;
 import com.ozs.common.enums.*;
@@ -17,9 +18,10 @@ import com.ozs.common.utils.RandomUtil;
 import com.ozs.common.utils.StringUtils;
 import com.ozs.common.utils.bean.BeanUtils;
 import com.ozs.pm.doman.*;
+import com.ozs.pm.doman.vo.PmBaseSupplierVo;
+import com.ozs.pm.doman.vo.PmBaseUnitInformationVo;
 import com.ozs.pm.doman.vo.requestVo.*;
 import com.ozs.pm.doman.vo.responseVo.*;
-import com.ozs.pm.mapper.PmBidWinningOpeningRefMapper;
 import com.ozs.pm.mapper.PmDemandMapper;
 import com.ozs.pm.service.*;
 import com.ozs.system.domain.SysFileInfo;
@@ -88,6 +90,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
     @Autowired
     private PmContractUnitRefService pmContractUnitRefService;
 
+
     @Autowired
     private PmProjectConstructionService pmProjectConstructionService;
 
@@ -292,7 +295,56 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
             } else if("4".equals(detailType)) { //中标信息
 
             } else if("5".equals(detailType)) { //合同信息
+                LambdaQueryWrapper<PmContractInfo> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+                lambdaQueryWrapper.eq(PmContractInfo::getDemandId,demandId);
+                PmContractInfo pmContractInfo = pmContractInfoService.getOne(lambdaQueryWrapper);
+                if(pmContractInfo != null){
+                    PmContractInfoResVo pmContractInfoResVo = new PmContractInfoResVo();
+                    BeanUtils.copyProperties(pmContractInfo,pmContractInfoResVo);
+
+                    // todo
+                    BaseUnitInformation baseUnitInformation = null;
+
+                    PmBaseUnitInformationVo pmBaseUnitInformationVo = new PmBaseUnitInformationVo();
+                    BeanUtils.copyProperties(baseUnitInformation, pmBaseUnitInformationVo);
+
+                    LambdaQueryWrapper<PmContractUnitRef> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
+                    lambdaQueryWrapper1.eq(PmContractUnitRef::getDemandId,demandId)
+                            .eq(PmContractUnitRef::getContractInfoId,pmContractInfo.getId())
+                            .eq(PmContractUnitRef::getUnitId,baseUnitInformation.getId())
+                            .eq(PmContractUnitRef::getUnitType,"A");
+                    PmContractUnitRef pmContractUnitRef = this.pmContractUnitRefService.getOne(lambdaQueryWrapper1);
+                    if(pmContractUnitRef != null){
+                        pmBaseUnitInformationVo.setContractSignPlace(pmContractUnitRef.getContractSignPlace());
+                        pmBaseUnitInformationVo.setContractSignDate(pmContractUnitRef.getContractSignDate());
+                    }
+                    pmContractInfoResVo.setPmBaseUnitInformationVo(pmBaseUnitInformationVo);
+
+                    LambdaQueryWrapper<PmContractUnitRef> lambdaQueryWrapper2 = new LambdaQueryWrapper<>();
+                    lambdaQueryWrapper2.eq(PmContractUnitRef::getDemandId,demandId)
+                            .eq(PmContractUnitRef::getContractInfoId,pmContractInfo.getId())
+                            .eq(PmContractUnitRef::getUnitType,"B");
+                    List<PmContractUnitRef> pmContractUnitRefList = this.pmContractUnitRefService.list(lambdaQueryWrapper2);
+                    if(!ObjectUtils.isEmpty(pmContractUnitRefList)){
+                        List<PmBaseSupplierVo> pmBaseSupplierList = new ArrayList<>();
+                        for(PmContractUnitRef pmContractUnitRef1 :pmContractUnitRefList ){
+                            BaseSupplier baseSupplier = this.baseSupplierService.getById(pmContractUnitRef1.getUnitId());
+                            PmBaseSupplierVo pmBaseSupplierVo = new PmBaseSupplierVo();
+                            BeanUtils.copyProperties(baseSupplier,pmBaseSupplierVo);
+                            pmBaseSupplierVo.setContractSignPlace(pmContractUnitRef.getContractSignPlace());
+                            pmBaseSupplierVo.setContractSignDate(pmContractUnitRef.getContractSignDate());
+                            pmBaseSupplierList.add(pmBaseSupplierVo);
+                        }
+                        pmContractInfoResVo.setBaseSupplierList(pmBaseSupplierList);
+                    }
 
+                    //合同信息文件
+                    HashMap<String, String> pmContractInfoFileMap = getFileMap(vo.getDemandId(),SysFileRefEnum.PM_CONTRACT_INFO.getType());
+                    if(pmContractInfoFileMap != null){
+                        pmContractInfoResVo.setFileMap(pmContractInfoFileMap);
+                    }
+                    vo.setPmContractInfoResVo(pmContractInfoResVo);
+                }
             } else if("6".equals(detailType)) { //建设情况
                 LambdaQueryWrapper<PmProjectConstruction> lambdaQueryWrapper = new LambdaQueryWrapper<>();
                 lambdaQueryWrapper.eq(PmProjectConstruction::getDemandId,demandId);
@@ -1163,11 +1215,11 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
             throw new Exception("采购需求ID不能为空");
         }
 
-        String contractSignPlaceA = pmContractInfoReqVo.getContractSignPlaceA();
+        String contractSignPlaceA = pmContractInfoReqVo.getPmBaseUnitInformationVo().getContractSignPlace();
         if(ObjectUtils.isEmpty(contractSignPlaceA)) {
             throw new Exception("甲方合同签订地点不能为空");
         }
-        Date contractSignDateA = pmContractInfoReqVo.getContractSignDateA();
+        Date contractSignDateA = pmContractInfoReqVo.getPmBaseUnitInformationVo().getContractSignDate();
         if(ObjectUtils.isEmpty(contractSignDateA)) {
             throw new Exception("甲方合同签订日期不能为空");
         }
@@ -1177,16 +1229,16 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
             throw new Exception("采购需求ID错误");
         }
 
-        List<BaseSupplierReqVo> baseSupplierReqVoList = pmContractInfoReqVo.getBaseSupplierList();
-        if(ObjectUtils.isEmpty(baseSupplierReqVoList)){
+        List<PmBaseSupplierVo> baseSupplierList = pmContractInfoReqVo.getBaseSupplierList();
+        if(ObjectUtils.isEmpty(baseSupplierList)){
             throw new Exception("乙方信息列表不能为空");
         }
-        for(BaseSupplierReqVo baseSupplierReqVo : baseSupplierReqVoList) {
-            String contractSignPlaceB = baseSupplierReqVo.getContractSignPlaceB();
+        for(PmBaseSupplierVo baseSupplierVo : baseSupplierList) {
+            String contractSignPlaceB = baseSupplierVo.getContractSignPlace();
             if(ObjectUtils.isEmpty(contractSignPlaceB)) {
                 throw new Exception("乙方合同签订地点不能为空");
             }
-            Date contractSignDateB = baseSupplierReqVo.getContractSignDateB();
+            Date contractSignDateB = baseSupplierVo.getContractSignDate();
             if(ObjectUtils.isEmpty(contractSignDateB)) {
                 throw new Exception("乙方合同签订日期不能为空");
             }
@@ -1215,7 +1267,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
                 pmContractUnitRefA.setUpdateBy(pmContractInfoReqVo.getUpdateBy());
                 if(pmContractUnitRefService.save(pmContractUnitRefA)){
 
-                    for(BaseSupplierReqVo baseSupplierReqVo : baseSupplierReqVoList) {
+                    for(PmBaseSupplierVo baseSupplierReqVo : baseSupplierList) {
 
                         BaseSupplier baseSupplier = new BaseSupplier();
                         BeanUtils.copyProperties(baseSupplierReqVo,baseSupplier);
@@ -1242,8 +1294,8 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
                             baseSupplier.setUpdateTime(pmContractInfoReqVo.getUpdateTime());
                         }
                        if(baseSupplierService.saveOrUpdate(baseSupplier)) {
-                           String contractSignPlaceB = baseSupplierReqVo.getContractSignPlaceB();
-                           Date contractSignDateB = baseSupplierReqVo.getContractSignDateB();
+                           String contractSignPlaceB = baseSupplierReqVo.getContractSignPlace();
+                           Date contractSignDateB = baseSupplierReqVo.getContractSignDate();
 
                            PmContractUnitRef pmContractUnitRefB = new PmContractUnitRef();
                            pmContractUnitRefB.setContractInfoId(pmContractInfo.getId());