Browse Source

项目管理

suntianwu 2 years ago
parent
commit
e581773859

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

@@ -23,6 +23,8 @@ import java.util.List;
 public class PmContractInfoReqVo implements Serializable {
     private static final long serialVersionUID = -59348130033569267L;
 
+    @ApiModelProperty("主键")
+    private Long id;
 
     @ApiModelProperty("需求ID")
     private Long demandId;

+ 2 - 0
purchase-system/src/main/java/com/ozs/pm/doman/vo/requestVo/PmProjectConstructionReqVo.java

@@ -21,6 +21,8 @@ import java.util.List;
 public class PmProjectConstructionReqVo implements Serializable {
     private static final long serialVersionUID = -98627692890895867L;
 
+    @ApiModelProperty("主键")
+    private Long id;
 
     @ApiModelProperty("需求ID")
     private Long demandId;

+ 96 - 75
purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandServiceImpl.java

@@ -400,7 +400,6 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
             BeanUtils.copyProperties(vo,pmBookBuilding);
             pmBookBuilding.setUpdateBy(vo.getUpdateBy());
             pmBookBuilding.setUpdateTime(new Date());
-            pmBookBuildingService.updateById(pmBookBuilding);
         } else {
             pmBookBuilding = new PmBookBuilding();
             BeanUtils.copyProperties(vo,pmBookBuilding);
@@ -408,16 +407,19 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
             pmBookBuilding.setCreateTime(new Date());
             pmBookBuilding.setUpdateBy(vo.getUpdateBy());
             pmBookBuilding.setUpdateTime(pmBookBuilding.getCreateTime());
-            pmBookBuildingService.save(pmBookBuilding);
+        }
+        if(pmBookBuildingService.save(pmBookBuilding)){
+            List<SysFileRef> sysFileRefs = vo.getSysFileRefs();
+            uploadFile(pmBookBuilding.getId(),SysFileRefEnum.PM_BOOK_BUILDING.getType(),sysFileRefs,vo.getUpdateBy());
+
+            pmDemand.setProjectStatus(PmProjectStatus.DEMAND_WAIT_COMMIT.getCode());
+            pmDemand.setUpdateBy(vo.getUpdateBy());
+            pmDemand.setUpdateTime(DateUtils.getNowDate());
+            return this.updateById(pmDemand);
+        } else {
+            return false;
         }
 
-        List<SysFileRef> sysFileRefs = vo.getSysFileRefs();
-        uploadFile(pmBookBuilding.getId(),SysFileRefEnum.PM_BOOK_BUILDING.getType(),sysFileRefs,vo.getUpdateBy());
-
-        pmDemand.setProjectStatus(PmProjectStatus.DEMAND_WAIT_COMMIT.getCode());
-        pmDemand.setUpdateBy(vo.getUpdateBy());
-        pmDemand.setUpdateTime(DateUtils.getNowDate());
-        return this.updateById(pmDemand);
     }
 
     private HashMap<String, String> getFileMap(Long redId,Integer type){
@@ -734,34 +736,31 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
         }
         PmReleaseAnnouncement pmReleaseAnnouncement = new PmReleaseAnnouncement();
         BeanUtils.copyProperties(pmReleaseAnnouncementReqVo,pmReleaseAnnouncement);
-        if(pmReleaseAnnouncementService.save(pmReleaseAnnouncement)){
-            if (uploadFile(pmReleaseAnnouncement.getId(), SysFileRefEnum.PM_ANNOUNCEMENT_FILE.getType(),pmReleaseAnnouncementReqVo.getSysFileRefs(),pmReleaseAnnouncementReqVo.getUpdateBy())) {
-                PmDemand pmDemandUpdate = new PmDemand();
-                pmDemandUpdate.setDemandId(pmReleaseAnnouncementReqVo.getDemandId());
-                pmDemandUpdate.setProjectStatus(PmProjectStatus.WAIT_OPEN_BID.getCode());
-                pmDemandUpdate.setUpdateTime(pmReleaseAnnouncementReqVo.getUpdateTime());
-                pmDemandUpdate.setUpdateBy(pmReleaseAnnouncementReqVo.getUpdateBy());
-                if(this.updateById(pmDemandUpdate)){
-                    //发布公告生成后,会默认将该数据同步到公告管理和首页中
-                    BaseNotice baseNotice = new BaseNotice();
-                    baseNotice.setName(pmDemand.getProjectName());
-                    baseNotice.setTitle(pmDemand.getProjectName() + "招标公告" );
-                    LambdaQueryWrapper<BaseNoticeType> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-                    lambdaQueryWrapper.eq(BaseNoticeType::getName,"招标公告");
-                    BaseNoticeType baseNoticeType = baseNoticeTypeService.getOne(lambdaQueryWrapper);
-                    if(baseNoticeType == null){
-                        throw new Exception("招标公告 公告类型不存在");
-                    }
-                    baseNotice.setType(baseNoticeType.getId());
-                    baseNotice.setReleaseTime(pmReleaseAnnouncement.getReleaseTime());
-                    return this.baseNoticeService.save(baseNotice);
-                } else {
-                    return false;
+        if(pmReleaseAnnouncementService.saveOrUpdate(pmReleaseAnnouncement)){
+            uploadFile(pmReleaseAnnouncement.getId(), SysFileRefEnum.PM_ANNOUNCEMENT_FILE.getType(),pmReleaseAnnouncementReqVo.getSysFileRefs(),pmReleaseAnnouncementReqVo.getUpdateBy());
+            PmDemand pmDemandUpdate = new PmDemand();
+            pmDemandUpdate.setDemandId(pmReleaseAnnouncementReqVo.getDemandId());
+            pmDemandUpdate.setProjectStatus(PmProjectStatus.WAIT_OPEN_BID.getCode());
+            pmDemandUpdate.setUpdateTime(pmReleaseAnnouncementReqVo.getUpdateTime());
+            pmDemandUpdate.setUpdateBy(pmReleaseAnnouncementReqVo.getUpdateBy());
+            if(this.updateById(pmDemandUpdate)){
+                //发布公告生成后,会默认将该数据同步到公告管理和首页中
+                BaseNotice baseNotice = new BaseNotice();
+                baseNotice.setName(pmDemand.getProjectName());
+                baseNotice.setTitle(pmDemand.getProjectName() + "招标公告" );
+                LambdaQueryWrapper<BaseNoticeType> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+                lambdaQueryWrapper.eq(BaseNoticeType::getName,"招标公告");
+                BaseNoticeType baseNoticeType = baseNoticeTypeService.getOne(lambdaQueryWrapper);
+                if(baseNoticeType == null){
+                    throw new Exception("招标公告 公告类型不存在");
                 }
-
+                baseNotice.setType(baseNoticeType.getId());
+                baseNotice.setReleaseTime(pmReleaseAnnouncement.getReleaseTime());
+                return this.baseNoticeService.save(baseNotice);
             } else {
                 return false;
             }
+
         } else {
             return false;
         }
@@ -996,7 +995,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
            pmBidOpening.setUpdateBy(pmBidOpeningFillReqVo.getUpdateBy());
            pmBidOpening.setUpdateTime(now);
        }
-       if(pmBidOpeningService.saveBatch(pmBidOpeningList)) {
+       if(pmBidOpeningService.saveOrUpdateBatch(pmBidOpeningList)) {
            PmDemand pmDemandUpdate = new PmDemand();
            pmDemandUpdate.setDemandId(pmDemand.getDemandId());
            pmDemandUpdate.setProjectStatus(PmProjectStatus.WAIT_BID_ANNOUNCEMENT.getCode());
@@ -1023,7 +1022,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
        }
        PmBidWinning pmBidWinning = new PmBidWinning();
        BeanUtils.copyProperties(pmBidWinningReqVo,pmBidWinning);
-       if(pmBidWinningService.save(pmBidWinning)){
+       if(pmBidWinningService.saveOrUpdate(pmBidWinning)){
            List<PmBidWinningOpeningRef> pmBidWinningOpeningRefList = new ArrayList<>();
            for(Long pmBidOpeningId : pmBidOpeningIdList){
                PmBidWinningOpeningRef pmBidWinningOpeningRef = new PmBidWinningOpeningRef();
@@ -1036,16 +1035,14 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
                pmBidWinningOpeningRefList.add(pmBidWinningOpeningRef);
            }
           if (pmBidWinningOpeningRefService.saveBatch(pmBidWinningOpeningRefList)) {
-              if(uploadFile(pmBidWinning.getId(), SysFileRefEnum.PM_BID_WINNING_FILE.getType(),pmBidWinningReqVo.getSysFileRefs(),pmBidWinningReqVo.getUpdateBy())) {
-                  PmDemand pmDemandUpdate = new PmDemand();
-                  pmDemandUpdate.setDemandId(pmBidWinningReqVo.getDemandId());
-                  pmDemandUpdate.setProjectStatus(PmProjectStatus.BIDDING_PUBLICITY.getCode());
-                  pmDemandUpdate.setUpdateTime(pmBidWinningReqVo.getUpdateTime());
-                  pmDemandUpdate.setUpdateBy(pmBidWinningReqVo.getUpdateBy());
-                  return this.updateById(pmDemandUpdate);
-              } else {
-                  return false;
-              }
+              uploadFile(pmBidWinning.getId(), SysFileRefEnum.PM_BID_WINNING_FILE.getType(),pmBidWinningReqVo.getSysFileRefs(),pmBidWinningReqVo.getUpdateBy());
+              PmDemand pmDemandUpdate = new PmDemand();
+              pmDemandUpdate.setDemandId(pmBidWinningReqVo.getDemandId());
+              pmDemandUpdate.setProjectStatus(PmProjectStatus.BIDDING_PUBLICITY.getCode());
+              pmDemandUpdate.setUpdateTime(pmBidWinningReqVo.getUpdateTime());
+              pmDemandUpdate.setUpdateBy(pmBidWinningReqVo.getUpdateBy());
+              return this.updateById(pmDemandUpdate);
+
           } else {
               return false;
           }
@@ -1108,8 +1105,9 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
     public boolean insertPmBidFailure(PmBidFailureReqVo pmBidFailureReqVo) throws Exception {
         PmBidFailure pmBidFailure = new PmBidFailure();
         BeanUtils.copyProperties(pmBidFailureReqVo,pmBidFailure);
-        if(pmBidFailureService.save(pmBidFailure)){
-            return uploadFile(pmBidFailure.getId(), SysFileRefEnum.PM_BID_FAILURE_FILE.getType(),pmBidFailureReqVo.getSysFileRefs(),pmBidFailureReqVo.getUpdateBy());
+        if(pmBidFailureService.saveOrUpdate(pmBidFailure)){
+             uploadFile(pmBidFailure.getId(), SysFileRefEnum.PM_BID_FAILURE_FILE.getType(),pmBidFailureReqVo.getSysFileRefs(),pmBidFailureReqVo.getUpdateBy());
+             return true;
         } else {
             return false;
         }
@@ -1136,22 +1134,32 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
             throw new Exception("上传附件不能为空");
         }
 
-        PmContractInfo pmContractInfo = new PmContractInfo();
-        org.springframework.beans.BeanUtils.copyProperties(pmContractInfoReqVo,pmContractInfo);
-
-        if(pmContractInfoService.save(pmContractInfo)){
-            if (this.uploadFile(pmContractInfo.getId(), SysFileRefEnum.PM_CONTRACT_INFO.getType(),sysFileRefs,pmContractInfoReqVo.getUpdateBy())) {
+        LambdaQueryWrapper<PmContractInfo> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(PmContractInfo::getDemandId,demandId);
+        PmContractInfo pmContractInfo = pmContractInfoService.getOne(lambdaQueryWrapper);
+        if(pmContractInfo != null){
+            pmContractInfoReqVo.setId(pmContractInfo.getId());
+            BeanUtils.copyProperties(pmContractInfoReqVo,pmContractInfo);
+            pmContractInfo.setUpdateTime(pmContractInfoReqVo.getUpdateTime());
+            pmContractInfo.setUpdateBy(pmContractInfoReqVo.getUpdateBy());
+        } else {
+            pmContractInfo = new PmContractInfo();
+            BeanUtils.copyProperties(pmContractInfoReqVo,pmContractInfo);
+            pmContractInfo.setCreateBy(pmContractInfoReqVo.getCreateBy());
+            pmContractInfo.setCreateTime(pmContractInfoReqVo.getCreateTime());
+            pmContractInfo.setUpdateTime(pmContractInfoReqVo.getUpdateTime());
+            pmContractInfo.setUpdateBy(pmContractInfoReqVo.getUpdateBy());
+        }
 
+        if(pmContractInfoService.saveOrUpdate(pmContractInfo)){
+           this.uploadFile(pmContractInfo.getId(), SysFileRefEnum.PM_CONTRACT_INFO.getType(),sysFileRefs,pmContractInfoReqVo.getUpdateBy());
+            PmDemand pmDemandUpdate = new PmDemand();
+            pmDemandUpdate.setDemandId(demandId);
+            pmDemandUpdate.setProjectStatus(PmProjectStatus.UNDER_CONSTRUCTION.getCode());
+            pmDemandUpdate.setUpdateTime(pmContractInfoReqVo.getUpdateTime());
+            pmDemandUpdate.setUpdateBy(pmContractInfoReqVo.getUpdateBy());
+            return this.updateById(pmDemandUpdate);
 
-                PmDemand pmDemandUpdate = new PmDemand();
-                pmDemandUpdate.setDemandId(demandId);
-                pmDemandUpdate.setProjectStatus(PmProjectStatus.UNDER_CONSTRUCTION.getCode());
-                pmDemandUpdate.setUpdateTime(pmContractInfoReqVo.getUpdateTime());
-                pmDemandUpdate.setUpdateBy(pmContractInfoReqVo.getUpdateBy());
-                return this.updateById(pmDemandUpdate);
-            } else {
-                throw new Exception("保存附件失败");
-            }
         } else {
             return false;
         }
@@ -1175,20 +1183,33 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
             throw new Exception("上传附件不能为空");
         }
 
-        PmProjectConstruction pmProjectConstruction = new PmProjectConstruction();
-        org.springframework.beans.BeanUtils.copyProperties(pmProjectConstructionReqVo,pmProjectConstruction);
-
-        if(pmProjectConstructionService.save(pmProjectConstruction)){
-            if (this.uploadFile(pmProjectConstruction.getId(), SysFileRefEnum.PM_PROJECT_CONSTRUCTION.getType(),sysFileRefs,pmProjectConstructionReqVo.getUpdateBy())) {
-                PmDemand pmDemandUpdate = new PmDemand();
-                pmDemandUpdate.setDemandId(demandId);
-                pmDemandUpdate.setProjectStatus(PmProjectStatus.COMPLETION_CONSTRUCTION.getCode());
-                pmDemandUpdate.setUpdateTime(pmProjectConstructionReqVo.getUpdateTime());
-                pmDemandUpdate.setUpdateBy(pmProjectConstructionReqVo.getUpdateBy());
-                return this.updateById(pmDemandUpdate);
-            } else {
-                return false;
-            }
+        LambdaQueryWrapper<PmProjectConstruction> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(PmProjectConstruction::getDemandId,demandId);
+        PmProjectConstruction pmProjectConstruction = pmProjectConstructionService.getOne(lambdaQueryWrapper);
+
+        if(pmProjectConstruction != null){
+            pmProjectConstructionReqVo.setId(pmProjectConstruction.getId());
+            BeanUtils.copyProperties(pmProjectConstructionReqVo,pmProjectConstruction);
+            pmProjectConstruction.setUpdateBy(pmProjectConstructionReqVo.getUpdateBy());
+            pmProjectConstruction.setUpdateTime(pmProjectConstructionReqVo.getUpdateTime());
+        } else {
+            pmProjectConstruction = new PmProjectConstruction();
+            BeanUtils.copyProperties(pmProjectConstructionReqVo,pmProjectConstruction);
+            pmProjectConstruction.setCreateBy(pmProjectConstructionReqVo.getCreateBy());
+            pmProjectConstruction.setCreateTime(pmProjectConstructionReqVo.getCreateTime());
+            pmProjectConstruction.setUpdateBy(pmProjectConstructionReqVo.getUpdateBy());
+            pmProjectConstruction.setUpdateTime(pmProjectConstructionReqVo.getUpdateTime());
+        }
+
+        if(pmProjectConstructionService.saveOrUpdate(pmProjectConstruction)){
+            this.uploadFile(pmProjectConstruction.getId(), SysFileRefEnum.PM_PROJECT_CONSTRUCTION.getType(),sysFileRefs,pmProjectConstructionReqVo.getUpdateBy());
+            PmDemand pmDemandUpdate = new PmDemand();
+            pmDemandUpdate.setDemandId(demandId);
+            pmDemandUpdate.setProjectStatus(PmProjectStatus.COMPLETION_CONSTRUCTION.getCode());
+            pmDemandUpdate.setUpdateTime(pmProjectConstructionReqVo.getUpdateTime());
+            pmDemandUpdate.setUpdateBy(pmProjectConstructionReqVo.getUpdateBy());
+            return this.updateById(pmDemandUpdate);
+
         } else {
             return false;
         }