|
@@ -98,38 +98,9 @@ public class CaseServiceImpl extends ServiceImpl<ICaseMapper, CaseEntity> implem
|
|
|
}
|
|
|
}
|
|
|
//官网删除的场景,删除对应资源
|
|
|
- List<String> kkNumList = param.getTypeMap().get(0);
|
|
|
- List<String> kjNumList = param.getTypeMap().get(1);
|
|
|
- List<String> ssNumList = param.getTypeMap().get(2);
|
|
|
- List<String> ssObjNumList = param.getTypeMap().get(4);
|
|
|
- if(kkNumList == null){
|
|
|
- kkNumList = new ArrayList<>();
|
|
|
- }
|
|
|
- if(kjNumList != null && kjNumList.size() >0){
|
|
|
- kkNumList.addAll(kjNumList);
|
|
|
- }
|
|
|
- if(ssNumList != null && ssNumList.size() >0){
|
|
|
- kkNumList.addAll(ssNumList);
|
|
|
- }
|
|
|
- if(ssObjNumList != null && ssObjNumList.size() >0){
|
|
|
- kkNumList.addAll(ssObjNumList);
|
|
|
- }
|
|
|
- if(kkNumList.size() >0){
|
|
|
- List<String> numList = listAll.parallelStream().map(SceneVo::getNum).collect(Collectors.toList());
|
|
|
- List<String> delNumList = new ArrayList<>();
|
|
|
- for (String num : kkNumList) {
|
|
|
- if(!numList.contains(num)){
|
|
|
- delNumList.add(num);
|
|
|
- }
|
|
|
- }
|
|
|
- List<String> delNumList2 = new ArrayList<>();
|
|
|
- for (SceneVo sceneVo : listAll) {
|
|
|
- if(sceneVo.getStatus() !=2 && sceneVo.getStatus() !=3){
|
|
|
- delNumList2.add(sceneVo.getNum());
|
|
|
- }
|
|
|
- }
|
|
|
- caseNumService.deleteByNum(param.getCaseId(),delNumList);
|
|
|
- fusionNumService.deleteByNumList(param.getCaseId(),delNumList2,false);
|
|
|
+ for (Integer type : param.getTypeMap().keySet()) {
|
|
|
+ List<String> dbNumList = listAll.stream().filter(entity -> entity.getType().equals(type)).map(SceneVo::getNum).collect(Collectors.toList());
|
|
|
+ this.deleteNotInScene(param.getTypeMap().get(type), dbNumList,type,param.getCaseId(),listAll);
|
|
|
}
|
|
|
|
|
|
//相机解绑,标注,测量隐藏,视图
|
|
@@ -156,6 +127,25 @@ public class CaseServiceImpl extends ServiceImpl<ICaseMapper, CaseEntity> implem
|
|
|
return listAll;
|
|
|
}
|
|
|
|
|
|
+ private void deleteNotInScene(List<String> numList,List<String> obNumList,Integer type,Integer caseId,List<SceneVo> sceneVos) {
|
|
|
+ if(numList.size() >0){
|
|
|
+ List<String> delNumList = new ArrayList<>();
|
|
|
+ for (String num : numList) {
|
|
|
+ if(!obNumList.contains(num)){
|
|
|
+ delNumList.add(num);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<String> delNumList2 = new ArrayList<>();
|
|
|
+ for (SceneVo sceneVo : sceneVos) {
|
|
|
+ if(sceneVo.getStatus() !=2 && sceneVo.getStatus() !=3 && sceneVo.getType().equals(type)){
|
|
|
+ delNumList2.add(sceneVo.getNum());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ caseNumService.deleteByNum(caseId,delNumList,type);
|
|
|
+ fusionNumService.deleteByNumList(caseId,delNumList2,false,type);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void addOrUpdate(CaseParam param, String token) {
|
|
|
String userName = JwtUtil.getUsername(token);
|