|
|
@@ -2,6 +2,7 @@ package com.fdkankan.fusion.service.impl;
|
|
|
|
|
|
import cn.dev33.satoken.context.SaHolder;
|
|
|
import cn.dev33.satoken.stp.StpUtil;
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.fdkankan.fusion.common.ResultCode;
|
|
|
@@ -87,9 +88,53 @@ public class SceneDeptShareServiceImpl extends ServiceImpl<ISceneDeptShareMapper
|
|
|
}
|
|
|
if(param.getCaseId() != null){
|
|
|
caseService.setMapShow(param.getCaseId(),param.getMapShow());
|
|
|
+ delAndSave(param);
|
|
|
}
|
|
|
|
|
|
+ }
|
|
|
+
|
|
|
+ private void delAndSave(SceneDeptShare param){
|
|
|
+ if(param.getCaseId() != null){
|
|
|
+ List<CaseNumEntity> byCaseId = caseNumService.getByCaseId(param.getCaseId());
|
|
|
+ List<CaseNumEntity> laserNum = byCaseId.stream().filter(e -> NumTypeUtils.isLaser(e.getNumType())).collect(Collectors.toList());
|
|
|
+ List<CaseNumEntity> meshNum = byCaseId.stream().filter(e -> !NumTypeUtils.isLaser(e.getNumType())).collect(Collectors.toList());
|
|
|
+ delAndSaveNum(laserNum,0,param);
|
|
|
+ delAndSaveNum(meshNum,1,param);
|
|
|
|
|
|
+ List<CaseFusionRelation> caseFusionRelations = fusionRelationService.getByCaseId(param.getCaseId());
|
|
|
+ List<Integer> fusionIds = caseFusionRelations.stream().map(CaseFusionRelation::getFusionId).collect(Collectors.toList());
|
|
|
+ if(!fusionIds.isEmpty()){
|
|
|
+ LambdaQueryWrapper<SceneDeptShare> delWr = new LambdaQueryWrapper<>();
|
|
|
+ delWr.in(SceneDeptShare::getFusionId,fusionIds);
|
|
|
+ this.remove(delWr);
|
|
|
+ for (CaseFusionRelation caseFusionRelation : caseFusionRelations) {
|
|
|
+ SceneDeptShare numScene = new SceneDeptShare();
|
|
|
+ BeanUtil.copyProperties(param,numScene);
|
|
|
+ numScene.setCaseId(null);
|
|
|
+ numScene.setFusionId(caseFusionRelation.getFusionId());
|
|
|
+ this.save(numScene);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ private void delAndSaveNum(List<CaseNumEntity> numList,Integer isObj,SceneDeptShare param){
|
|
|
+ if(!numList.isEmpty()){
|
|
|
+ LambdaQueryWrapper<SceneDeptShare> delWr = new LambdaQueryWrapper<>();
|
|
|
+ delWr.in(SceneDeptShare::getNum,numList);
|
|
|
+ delWr.eq(SceneDeptShare::getIsObj,isObj);
|
|
|
+ this.remove(delWr);
|
|
|
+ for (CaseNumEntity caseNumEntity : numList) {
|
|
|
+ if(caseNumEntity.getNumType() == 3){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ SceneDeptShare numScene = new SceneDeptShare();
|
|
|
+ BeanUtil.copyProperties(param,numScene);
|
|
|
+ numScene.setCaseId(null);
|
|
|
+ numScene.setNum(caseNumEntity.getNum());
|
|
|
+ numScene.setIsObj(isObj);
|
|
|
+ this.save(numScene);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -188,6 +233,7 @@ public class SceneDeptShareServiceImpl extends ServiceImpl<ISceneDeptShareMapper
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
return list;
|
|
|
}
|
|
|
|