Parcourir la source

离线包状态

lyhzzz il y a 5 mois
Parent
commit
5d8729bcda

+ 1 - 1
src/main/java/com/fdkankan/fusion/service/ISceneFileBuildService.java

@@ -18,5 +18,5 @@ public interface ISceneFileBuildService extends IService<SceneFileBuild> {
 
 
     String getBuildTimeByScene(String num,Integer isObj);
-    HashMap<String,SceneFileBuild> getBuildTimeByScene(List<String> numList, Integer isObj);
+    HashMap<String,SceneFileBuild> getBuildTimeByScene(List<String> numList);
 }

+ 12 - 3
src/main/java/com/fdkankan/fusion/service/impl/SceneCommonService.java

@@ -108,7 +108,7 @@ public class SceneCommonService implements ISceneCommonService {
         List<String> numList = page.getRecords().parallelStream().map(Scene::getSceneCode).collect(Collectors.toList());
 
         HashMap<String, CaseEntity> mapByNumList = caseNumService.getMapByNumList(numList);
-        HashMap<String, SceneFileBuild> buildTimeByScene = sceneFileBuildService.getBuildTimeByScene(numList, param.getIsObj() == null ? 0 : param.getIsObj());
+        HashMap<String, SceneFileBuild> buildTimeByScene = sceneFileBuildService.getBuildTimeByScene(numList);
 
         List<SceneVo> sceneVoList = new ArrayList<>();
         for (Scene scene : page.getRecords()) {
@@ -139,16 +139,25 @@ public class SceneCommonService implements ISceneCommonService {
             if(mapByNumList.get(vo.getNum() +"_"+  vo.getType())!=null){
                 vo.setInCase(true);
             }
-            SceneFileBuild sceneFileBuild = buildTimeByScene.get(vo.getNum());
+            //       "buildScene":"buildObj";
+            SceneFileBuild sceneFileBuild = null;
+            if(!vo.getIsLaser()){
+                sceneFileBuild = buildTimeByScene.get(vo.getNum() + "buildScene");
+            }else {
+                String buildType =  param.getIsObj() == null ? "buildScene" : "buildObj";
+                sceneFileBuild = buildTimeByScene.get(vo.getNum() + buildType);
+            }
+
             if(sceneFileBuild!= null && sceneFileBuild.getEndBuildTime()!=null){
                 vo.setAlgorithmTime(sceneFileBuild.getEndBuildTime());
             }
+
             //状态,-1:场景被删 0:计算中 1计算失败 2计算成功 3待计算 4生成OBJ中 5 暂停 6排队中 7,复制中
             if(vo.getIsLaser() && param.getIsObj() != null && param.getIsObj() == 0){
                 vo.setStatus(scene.getStatus() );
             }else {
                 //生成OBJ状态,-1失败 0,未生成 1完成,2计算中 3,排队中 4,暂停
-                if(scene.getBuildObjStatus() != null){
+                if(vo.getIsLaser() && scene.getBuildObjStatus() != null){
                     switch (scene.getBuildObjStatus()){
                         case -1: vo.setStatus(1); break;
                         case 0: vo.setStatus(3); break;

+ 8 - 6
src/main/java/com/fdkankan/fusion/service/impl/SceneFileBuildServiceImpl.java

@@ -36,26 +36,28 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
     }
 
     @Override
-    public HashMap<String, SceneFileBuild> getBuildTimeByScene(List<String> numList, Integer isObj) {
+    public HashMap<String, SceneFileBuild> getBuildTimeByScene(List<String> numList) {
         HashMap<String,SceneFileBuild> map = new HashMap<>(numList.size());
         if(numList.isEmpty()){
             return map;
         }
         LambdaQueryWrapper<SceneFileBuild> wrapper = new LambdaQueryWrapper<>();
         wrapper.in(SceneFileBuild::getSceneNum,numList);
-        wrapper.eq(SceneFileBuild::getBuildType,isObj == 0?"buildScene":"buildObj");
+        //wrapper.eq(SceneFileBuild::getBuildType,isObj == 0?"buildScene":"buildObj");
         List<SceneFileBuild> list = this.list(wrapper);
 
 
         for (SceneFileBuild sceneFileBuild : list) {
-            if(map.get(sceneFileBuild.getSceneNum()) == null){
-                map.put(sceneFileBuild.getSceneNum(),sceneFileBuild);
+            String buildType = sceneFileBuild.getBuildType();
+
+            if(map.get(sceneFileBuild.getSceneNum() + buildType) == null){
+                map.put(sceneFileBuild.getSceneNum() + buildType,sceneFileBuild);
             }else {
-                SceneFileBuild o1 = map.get(sceneFileBuild.getSceneNum());
+                SceneFileBuild o1 = map.get(sceneFileBuild.getSceneNum() + buildType);
                 if(o1.getId() >sceneFileBuild.getId()){
                     continue;
                 }
-                map.put(sceneFileBuild.getSceneNum(),sceneFileBuild);
+                map.put(sceneFileBuild.getSceneNum() + buildType,sceneFileBuild);
             }
         }