Jelajahi Sumber

机构版-3.0.0-bug修复

xiaof 2 tahun lalu
induk
melakukan
1d80730c0f

+ 31 - 28
stmms-ms-collect/src/main/java/cn/com/qmth/stmms/ms/collect/api/CollectApi.java

@@ -132,40 +132,43 @@ public class CollectApi {
             throw new RuntimeException("密码错误");
             throw new RuntimeException("密码错误");
         }
         }
 
 
-        activeWork = workRepo.findOne(markUser.getWorkId());
-        if (Objects.isNull(activeWork)) {
-            throw new RuntimeException("工作已删除");
-        }
-
         loginDTO = new LoginDTO();
         loginDTO = new LoginDTO();
-        loginDTO.setOrganizationId(activeWork.getOrganizationId());
+        loginDTO.setOrganizationId(markUser.getOrganizationId());
         loginDTO.setRoleCode(markUser.getRole().name());
         loginDTO.setRoleCode(markUser.getRole().name());
         loginDTO.setUserId(markUser.getId());
         loginDTO.setUserId(markUser.getId());
-        loginDTO.setExamId(activeWork.getId());
-        loginDTO.setExamName(activeWork.getName());
-        loginDTO.setImageEnc(ParamCache.paramMap.get(activeWork.getId()).getImageEncrypt() == 1);
-
-        List<CollectSubjectDTO> collectSubjectDTOs = new ArrayList<>();
-        activeWork.getSubjects().forEach(s -> {
-            int id = s.getSubject().ordinal() + 1;
-            CollectSubjectDTO collectSubjectDTO = new CollectSubjectDTO(id, s.getName());
-            if (!Strings.isNullOrEmpty(s.getCollectConfig())) {
-                JSONObject json = JSONObject.fromObject(s.getCollectConfig());
-                collectSubjectDTO.setCollectConfig(json);
+        loginDTO.setParamSetting(new ParamSetting());
+        if (Objects.equals(Role.COLLECTOR, markUser.getRole())) {
+            activeWork = workRepo.findOne(markUser.getWorkId());
+            if (Objects.isNull(activeWork)) {
+                throw new RuntimeException("工作已删除");
             }
             }
-            collectSubjectDTOs.add(collectSubjectDTO);
-        });
-        loginDTO.setSubjects(collectSubjectDTOs);
-
-        //生成随机数,已生成的工作,直接跳过
-        List<Long> randomList = randomUtil.getRandomMap().get(activeWork.getId());
-        if (randomList == null || randomList.isEmpty()) {
-            randomUtil.getRandom(activeWork.getId(), false);
+            loginDTO.setExamId(activeWork.getId() );
+            loginDTO.setExamName( activeWork.getName() );
+            loginDTO.setImageEnc(ParamCache.paramMap.get(activeWork.getId()).getImageEncrypt() == 1 );
+
+            List<CollectSubjectDTO> collectSubjectDTOs = new ArrayList<>();
+                activeWork.getSubjects().forEach(s -> {
+                    int id = s.getSubject().ordinal() + 1;
+                    CollectSubjectDTO collectSubjectDTO = new CollectSubjectDTO(id, s.getName());
+                    if (!Strings.isNullOrEmpty(s.getCollectConfig())) {
+                        JSONObject json = JSONObject.fromObject(s.getCollectConfig());
+                        collectSubjectDTO.setCollectConfig(json);
+                    }
+                    collectSubjectDTOs.add(collectSubjectDTO);
+                });
+                loginDTO.setSubjects(collectSubjectDTOs);
+
+            //生成随机数,已生成的工作,直接跳过
+            List<Long> randomList = randomUtil.getRandomMap().get(activeWork.getId());
+            if (randomList == null || randomList.isEmpty()) {
+                randomUtil.getRandom(activeWork.getId(), false);
+            }
+
+            //采集参数
+            ParamSetting paramSetting = paramSettingRepo.findByWorkId(activeWork.getId());
+            loginDTO.setParamSetting(paramSetting);
         }
         }
 
 
-        //采集参数
-        ParamSetting paramSetting = paramSettingRepo.findByWorkId(activeWork.getId());
-        loginDTO.setParamSetting(paramSetting);
         return loginDTO;
         return loginDTO;
     }
     }