|
@@ -120,106 +120,9 @@ public class CaseServiceImpl extends ServiceImpl<ICaseMapper, CaseEntity> implem
|
|
|
listAll.addAll(list1);
|
|
|
|
|
|
}
|
|
|
- if(listAll.size() >0){
|
|
|
- List<String> numList = listAll.parallelStream().map(SceneVo::getNum).collect(Collectors.toList());
|
|
|
- //设置模型
|
|
|
- HashMap<String,Model> map = modelService.getMapByNum(numList);
|
|
|
- for (SceneVo sceneVo : listAll) {
|
|
|
- String createTime = sceneVo.getCreateTime();
|
|
|
- Model model = map.get(sceneVo.getNum() + sceneVo.getType());
|
|
|
- if(model == null){
|
|
|
- continue;
|
|
|
- }
|
|
|
- BeanUtils.copyProperties(model,sceneVo);
|
|
|
- sceneVo.setCreateTime(createTime);
|
|
|
- }
|
|
|
- }
|
|
|
- //官网删除的场景,删除对应资源
|
|
|
- if(param.getTypeList() == null ){
|
|
|
- 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);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- //相机解绑,标注,测量隐藏,视图
|
|
|
- for (SceneVo sceneVo : listAll) {
|
|
|
- if(!sceneVo.getBind() || (sceneVo.getStatus()!=null && sceneVo.getStatus() == 3)){
|
|
|
- fusionNumService.hideOrShow(sceneVo.getModelId(),sceneVo.getNum(),1);
|
|
|
- }else {
|
|
|
- fusionNumService.hideOrShow(sceneVo.getModelId(),sceneVo.getNum(),0);
|
|
|
- }
|
|
|
- }
|
|
|
- listAll.removeIf(sceneVo -> !sceneVo.getBind());
|
|
|
-
|
|
|
- //关联的三维模型
|
|
|
- if(param.getTypeList() == null ){
|
|
|
- List<String> numList = param.getTypeMap().get(3);
|
|
|
- if(numList!=null && numList.size() >0){
|
|
|
- List<Model> models = modelService.getListByModelIdStrs(numList);
|
|
|
- for (Model model : models) {
|
|
|
- SceneVo sceneVo = new SceneVo();
|
|
|
- sceneVo.setStatus(2);
|
|
|
- BeanUtils.copyProperties(model,sceneVo);
|
|
|
- listAll.add(sceneVo);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- Set<String> snList = listAll.stream().filter(entity ->StringUtils.isNotBlank(entity.getSnCode()))
|
|
|
- .map(SceneVo::getSnCode).collect(Collectors.toSet());
|
|
|
- HashMap<String, TmDepartment> mapBySnCodes = tmCameraService.getMapBySnCodes(snList);
|
|
|
- for (SceneVo sceneVo : listAll) {
|
|
|
- if(StringUtils.isNotBlank(sceneVo.getSnCode())){
|
|
|
- TmDepartment tmDepartment = mapBySnCodes.get(sceneVo.getSnCode());
|
|
|
- if(tmDepartment != null){
|
|
|
- sceneVo.setDeptId(tmDepartment.getId());
|
|
|
- sceneVo.setDeptName(tmDepartment.getName());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- Set<String> deptIdset = listAll.stream().filter(entity ->StringUtils.isNotBlank(entity.getDeptId())&& StringUtils.isBlank(entity.getDeptName()))
|
|
|
- .map(SceneVo::getDeptId).collect(Collectors.toSet());
|
|
|
- HashMap<String, TmDepartment> mapByDept = tmDepartmentService.getMapByDeptIds(deptIdset);
|
|
|
- HashMap<Integer,FusionNum> fusionNumHashMap = fusionNumService.getByCaseId(param.getCaseId());
|
|
|
-
|
|
|
- for (SceneVo sceneVo : listAll) {
|
|
|
- if(StringUtils.isNotBlank(sceneVo.getDeptId())){
|
|
|
- TmDepartment tmDepartment = mapByDept.get(sceneVo.getDeptId());
|
|
|
- if(tmDepartment != null){
|
|
|
- sceneVo.setDeptName(tmDepartment.getName());
|
|
|
- }
|
|
|
- }
|
|
|
- if(sceneVo.getModelId() != null && fusionNumHashMap.get(sceneVo.getModelId()) != null){
|
|
|
- sceneVo.setInFusion(true);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
return listAll;
|
|
|
}
|
|
|
|
|
|
- private void deleteNotInScene(List<String> numList,List<String> obNumList,Integer type,Integer caseId,List<SceneVo> sceneVos) {
|
|
|
- if(type == 3){ //上传的三维模型,无需处理
|
|
|
- return;
|
|
|
- }
|
|
|
- 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(CaseEntity param) {
|