|
@@ -103,6 +103,8 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
|
IJyMoveSceneLogService jyMoveSceneLogService;
|
|
|
@Autowired
|
|
|
IJySceneUploadService jySceneUploadService;
|
|
|
+ @Autowired
|
|
|
+ ICaseNumService caseNumService;
|
|
|
|
|
|
|
|
|
@Override
|
|
@@ -325,18 +327,29 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
|
param.setUserId(jyUser.getUserId());
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ List<String> openNums = null;
|
|
|
+ List<String> authNumList = null;
|
|
|
+ HashMap<String,JySceneUserAuth> authHashMap = new HashMap<>();
|
|
|
+ HashMap<String,JySceneUserAuth> openHashMap = new HashMap<>();
|
|
|
if(param.getSceneType() == 1){
|
|
|
//List<String> openNums = jySceneAuthService.getOpenNumList();
|
|
|
- List<String> openNums = jySceneAuthService.getNumListByPlatform(param.getPlatformId(),1);
|
|
|
+ openNums = jySceneAuthService.getNumListByPlatform(param.getPlatformId(),1);
|
|
|
if(!openNums.isEmpty()){
|
|
|
param.getAuthNumList().addAll(openNums);
|
|
|
}
|
|
|
- List<JySceneUserAuth> list = jySceneUserAuthService.getByJyUserIdAndNum(jyUser.getId(),0,openNums);
|
|
|
- if(list.size() >0){
|
|
|
- List<String> numList = list.stream().filter(entity -> !(entity.getLookAuth()==0 && entity.getEditAuth() ==0)).map(JySceneUserAuth::getNum).collect(Collectors.toList());
|
|
|
- param.getAuthNumList().addAll(numList);
|
|
|
+
|
|
|
+ List<JySceneUserAuth> jySceneUserAuths = jySceneUserAuthService.getByJyUserId(jyUser.getId());
|
|
|
+ jySceneUserAuths.stream().filter(e ->e.getNum() != null && e.getAuthType() == 0).forEach( e-> authHashMap.put(e.getNum(),e));
|
|
|
+ jySceneUserAuths.stream().filter(e ->e.getNum() != null && e.getAuthType() == 1).forEach( e-> openHashMap.put(e.getNum(),e));
|
|
|
+
|
|
|
+ if(!authHashMap.isEmpty()){
|
|
|
+ List<String> finalOpenNums = openNums;
|
|
|
+ authNumList = authHashMap.keySet().stream().filter(e -> !finalOpenNums.contains(e)).collect(Collectors.toList());
|
|
|
+ if(!authNumList.isEmpty()){
|
|
|
+ param.getAuthNumList().addAll(authNumList);
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
List<JyUserShare> jyUserShares = jyUserShareService.getByJyUserId(jyUser.getId());
|
|
|
List<Integer> mainUserIds = jyUserShares.stream().map(JyUserShare::getMainJyUserId).collect(Collectors.toList());
|
|
|
HashMap<Integer,Long> roleMap = new HashMap<>();
|
|
@@ -395,6 +408,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
|
List<String> numList = records.parallelStream().map(SceneVo::getNum).collect(Collectors.toList());
|
|
|
|
|
|
HashMap<String,SceneCopyLog> map = copyLogService.getByNewNumList(numList);
|
|
|
+ HashMap<String, Case> mapByNumList = caseNumService.getMapByNumList(numList);
|
|
|
|
|
|
for (SceneVo record : page.getRecords()) {
|
|
|
if( record.getSceneType().equals("laser") ){
|
|
@@ -420,27 +434,45 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
|
record.setEditAuth(true);
|
|
|
record.setIsAuthOther(true);
|
|
|
} else if(param.getAuthNumList().contains(record.getNum())) {
|
|
|
- JySceneAuth jySceneAuth = jySceneAuthService.getByNum(record.getNum());
|
|
|
- if(jySceneAuth != null){
|
|
|
- JySceneUserAuth jySceneUserAuth = jySceneUserAuthService.getByNumAndJyUserId(jyUser.getId(), record.getNum(),jySceneAuth.getAuthType());
|
|
|
- if(jySceneUserAuth != null && (jySceneUserAuth.getCanAuthLook() == 1 || jySceneUserAuth.getCanEditLook() ==1)){
|
|
|
+
|
|
|
+ JySceneUserAuth jySceneUserAuth = null;
|
|
|
+ if(openNums != null && openNums.contains(record.getNum())){
|
|
|
+ jySceneUserAuth = openHashMap.get(record.getNum());
|
|
|
+ }
|
|
|
+ if(authNumList != null && authNumList.contains(record.getNum())){
|
|
|
+ jySceneUserAuth = authHashMap.get(record.getNum());
|
|
|
+ }
|
|
|
+ if(jySceneUserAuth != null){
|
|
|
+ if(jySceneUserAuth.getCanAuthLook() == 1 || jySceneUserAuth.getCanEditLook() == 1){
|
|
|
record.setIsAuth(true);
|
|
|
}
|
|
|
- if(jySceneUserAuth != null){
|
|
|
- record.setEditAuth(jySceneUserAuth.getEditAuth() == 1);
|
|
|
- if(jySceneUserAuth.getEditAuth() == 2){
|
|
|
- record.setEditAuth(jySceneUserAuth.getEditEndTime().getTime() > new Date().getTime());
|
|
|
- }
|
|
|
+ record.setEditAuth(jySceneUserAuth.getEditAuth() == 1);
|
|
|
+ if(jySceneUserAuth.getEditAuth() == 2){
|
|
|
+ record.setEditAuth(jySceneUserAuth.getEditEndTime().getTime() > new Date().getTime());
|
|
|
}
|
|
|
}
|
|
|
}else {
|
|
|
record.setIsShare(true);
|
|
|
}
|
|
|
record.setType( param.getType() == null ?setSceneType(record.getSceneSource(),record.getThreeCamType(),record.getSceneType()) : param.getType());
|
|
|
+ if(mapByNumList.get(record.getNum() + toFusionType(record.getType())) != null){
|
|
|
+ record.setInCase(true);
|
|
|
+ }
|
|
|
}
|
|
|
return PageInfo.PageInfo(page);
|
|
|
}
|
|
|
|
|
|
+ //0 四维看看,1看见场景,2 深时场景,3 三维模型,4深时obj,5深光点云,6深光mesh,7圆周率
|
|
|
+ private Integer toFusionType(Integer type) {
|
|
|
+ switch (type){
|
|
|
+ case 5 :return 4;
|
|
|
+ case 6 :return 5;
|
|
|
+ case 7 :return 6;
|
|
|
+ case 8 :return 7;
|
|
|
+ default: return type;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private Integer setSceneType(Integer sceneSource,String threeCamType,String sceneType) {
|
|
|
if(sceneSource == 3 ){
|
|
|
return 1;
|