Browse Source

项目管理

suntianwu 2 years ago
parent
commit
4f548dcdeb

+ 25 - 12
purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandServiceImpl.java

@@ -407,7 +407,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
             pmBookBuilding.setUpdateBy(vo.getUpdateBy());
             pmBookBuilding.setUpdateTime(pmBookBuilding.getCreateTime());
         }
-        if(pmBookBuildingService.save(pmBookBuilding)){
+        if(pmBookBuildingService.saveOrUpdate(pmBookBuilding)){
             List<SysFileRef> sysFileRefs = vo.getSysFileRefs();
             uploadFile(pmBookBuilding.getId(),SysFileRefEnum.PM_BOOK_BUILDING.getType(),sysFileRefs,vo.getUpdateBy());
 
@@ -757,7 +757,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
                 }
                 baseNotice.setType(baseNoticeType.getId());
                 baseNotice.setReleaseTime(pmReleaseAnnouncement.getReleaseTime());
-                return this.baseNoticeService.save(baseNotice);
+                return this.baseNoticeService.saveOrUpdate(baseNotice);
             } else {
                 return false;
             }
@@ -799,19 +799,26 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
                 baseExpert.setUpdateTime(now);
             }
 
-            PmDemandExpertRef pmDemandExpertRef = new PmDemandExpertRef();
+            LambdaQueryWrapper<PmDemandExpertRef> pmDemandExpertRefLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            pmDemandExpertRefLambdaQueryWrapper.eq(PmDemandExpertRef::getDemandId,pmDemand.getDemandId())
+                    .eq(PmDemandExpertRef::getExpertId,baseExpert.getId().longValue())
+                    .eq(PmDemandExpertRef::getAccessTime,pmBaseExpertFillReqVo.getAccessTime());
+            PmDemandExpertRef pmDemandExpertRef =  pmDemandExpertRefService.getOne(pmDemandExpertRefLambdaQueryWrapper);
+            if(pmDemandExpertRef == null){
+                pmDemandExpertRef = new PmDemandExpertRef();
+                pmDemandExpertRef.setCreateBy(pmBaseExpertFillReqVo.getCreateBy());
+                pmDemandExpertRef.setCreateTime(now);
+            }
             pmDemandExpertRef.setDemandId(pmDemand.getDemandId());
             pmDemandExpertRef.setExpertId(baseExpert.getId().longValue());
-            pmDemandExpertRef.setCreateBy(pmBaseExpertFillReqVo.getCreateBy());
             pmDemandExpertRef.setAccessTime(DateUtils.parseDate(pmBaseExpertFillReqVo.getAccessTime()));
-            pmDemandExpertRef.setCreateTime(now);
             pmDemandExpertRef.setUpdateBy(pmBaseExpertFillReqVo.getCreateBy());
             pmDemandExpertRef.setUpdateTime(pmDemandExpertRef.getCreateTime());
             pmDemandExpertRefList.add(pmDemandExpertRef);
         }
 
           if (baseExpertService.saveOrUpdateBatch(baseExpertList)){
-              return pmDemandExpertRefService.saveBatch(pmDemandExpertRefList);
+              return pmDemandExpertRefService.saveOrUpdateBatch(pmDemandExpertRefList);
           } else {
               return false;
           }
@@ -945,12 +952,12 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
               PmDemandExpertRef pmDemandExpertRef  = pmDemandExpertRefService.getOne(baseExpertLambdaQueryWrapper);
               if(pmDemandExpertRef == null){
                   pmDemandExpertRef = new PmDemandExpertRef();
+                  pmDemandExpertRef.setCreateBy(pmBaseExpertExtractReqVo.getCreateBy());
+                  pmDemandExpertRef.setCreateTime(new Date());
               }
               pmDemandExpertRef.setDemandId(pmDemand.getDemandId());
               pmDemandExpertRef.setExpertId(baseExpert.getId().longValue());
-              pmDemandExpertRef.setCreateBy(pmBaseExpertExtractReqVo.getCreateBy());
               pmDemandExpertRef.setAccessTime(DateUtils.parseDate(pmBaseExpertExtractReqVo.getAccessTime()));
-              pmDemandExpertRef.setCreateTime(new Date());
               pmDemandExpertRef.setUpdateBy(pmBaseExpertExtractReqVo.getCreateBy());
               pmDemandExpertRef.setUpdateTime(pmDemandExpertRef.getCreateTime());
               pmDemandExpertRefList.add(pmDemandExpertRef);
@@ -1035,16 +1042,22 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
        if(pmBidWinningService.saveOrUpdate(pmBidWinning)){
            List<PmBidWinningOpeningRef> pmBidWinningOpeningRefList = new ArrayList<>();
            for(Long pmBidOpeningId : pmBidOpeningIdList){
-               PmBidWinningOpeningRef pmBidWinningOpeningRef = new PmBidWinningOpeningRef();
+               LambdaQueryWrapper<PmBidWinningOpeningRef> pmBidWinningOpeningRefLambdaQueryWrapper = new LambdaQueryWrapper<>();
+               pmBidWinningOpeningRefLambdaQueryWrapper.eq(PmBidWinningOpeningRef::getOpeningId,pmBidOpeningId)
+                       .eq(PmBidWinningOpeningRef::getWinningId,pmBidWinning.getId());
+               PmBidWinningOpeningRef pmBidWinningOpeningRef = pmBidWinningOpeningRefService.getOne(pmBidWinningOpeningRefLambdaQueryWrapper);
+               if(pmBidWinningOpeningRef == null){
+                   pmBidWinningOpeningRef = new PmBidWinningOpeningRef();
+                   pmBidWinningOpeningRef.setCreateBy(pmBidWinningReqVo.getCreateBy());
+                   pmBidWinningOpeningRef.setCreateTime(pmBidWinningReqVo.getCreateTime());
+               }
                pmBidWinningOpeningRef.setOpeningId(pmBidOpeningId);
                pmBidWinningOpeningRef.setWinningId(pmBidWinning.getId());
-               pmBidWinningOpeningRef.setCreateBy(pmBidWinningReqVo.getCreateBy());
-               pmBidWinningOpeningRef.setCreateTime(pmBidWinningReqVo.getCreateTime());
                pmBidWinningOpeningRef.setUpdateBy(pmBidWinningReqVo.getUpdateBy());
                pmBidWinningOpeningRef.setUpdateTime(pmBidWinningReqVo.getUpdateTime());
                pmBidWinningOpeningRefList.add(pmBidWinningOpeningRef);
            }
-          if (pmBidWinningOpeningRefService.saveBatch(pmBidWinningOpeningRefList)) {
+          if (pmBidWinningOpeningRefService.saveOrUpdateBatch(pmBidWinningOpeningRefList)) {
               uploadFile(pmBidWinning.getId(), SysFileRefEnum.PM_BID_WINNING_FILE.getType(),pmBidWinningReqVo.getSysFileRefs(),pmBidWinningReqVo.getUpdateBy());
               PmDemand pmDemandUpdate = new PmDemand();
               pmDemandUpdate.setDemandId(pmBidWinningReqVo.getDemandId());