suntianwu 2 лет назад
Родитель
Сommit
e7a9d7b51e

+ 10 - 2
purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandServiceImpl.java

@@ -937,7 +937,15 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
       } else {
           List<PmDemandExpertRef> pmDemandExpertRefList = new ArrayList<>();
           for(BaseExpert baseExpert :alltExpertList ) {
-              PmDemandExpertRef pmDemandExpertRef = new PmDemandExpertRef();
+
+              LambdaQueryWrapper<PmDemandExpertRef> baseExpertLambdaQueryWrapper = new LambdaQueryWrapper<>();
+              baseExpertLambdaQueryWrapper.eq(PmDemandExpertRef::getExpertId, baseExpert.getId().longValue())
+                      .eq(PmDemandExpertRef::getDemandId,pmDemand.getDemandId())
+                      .eq(PmDemandExpertRef::getAccessTime,pmBaseExpertExtractReqVo.getAccessTime());
+              PmDemandExpertRef pmDemandExpertRef  = pmDemandExpertRefService.getOne(baseExpertLambdaQueryWrapper);
+              if(pmDemandExpertRef == null){
+                  pmDemandExpertRef = new PmDemandExpertRef();
+              }
               pmDemandExpertRef.setDemandId(pmDemand.getDemandId());
               pmDemandExpertRef.setExpertId(baseExpert.getId().longValue());
               pmDemandExpertRef.setCreateBy(pmBaseExpertExtractReqVo.getCreateBy());
@@ -947,7 +955,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
               pmDemandExpertRef.setUpdateTime(pmDemandExpertRef.getCreateTime());
               pmDemandExpertRefList.add(pmDemandExpertRef);
           }
-          return pmDemandExpertRefService.saveBatch(pmDemandExpertRefList);
+          return pmDemandExpertRefService.saveOrUpdateBatch(pmDemandExpertRefList);
       }
     }