소스 검색

线下版本-level-20201027

xiaof 4 년 전
부모
커밋
c99c0e2876

+ 8 - 2
stmms-ms-admin/src/main/java/cn/com/qmth/stmms/ms/admin/api/WorkApi.java

@@ -5,6 +5,7 @@ import cn.com.qmth.stmms.ms.admin.dto.WorkOverview;
 import cn.com.qmth.stmms.ms.admin.service.WorkService;
 import cn.com.qmth.stmms.ms.commons.utils.RandomUtil;
 import cn.com.qmth.stmms.ms.core.domain.Level;
+import cn.com.qmth.stmms.ms.core.domain.MarkStage;
 import cn.com.qmth.stmms.ms.core.domain.MarkSubject;
 import cn.com.qmth.stmms.ms.core.domain.Work;
 import cn.com.qmth.stmms.ms.core.repository.*;
@@ -51,6 +52,9 @@ public class WorkApi {
     @Autowired
     private MarkSubjectRepo markSubjectRepo;
 
+    @Autowired
+    private MarkTaskRepo markTaskRepo;
+
     @Autowired
     RandomUtil randomUtil;
 
@@ -76,6 +80,8 @@ public class WorkApi {
         if (work.isActive()) {
             randomUtil.getRandom(work.getId(), false);
         }
+        int count = markTaskRepo.countByWorkIdAndStageAndResultNotNull(work.getId(), MarkStage.LEVEL);
+        work.setModifyOtherVal(count == 0);
         return work;
     }
 
@@ -101,11 +107,11 @@ public class WorkApi {
     @Transactional
     @RequestMapping(value = "{workId}", method = RequestMethod.PUT)
     public Work update(@PathVariable Long workId, @RequestBody Work work) {
-        List<MarkSubject> subjects = markSubjectRepo.findAllByWorkId(workId);
+        /*List<MarkSubject> subjects = markSubjectRepo.findAllByWorkId(workId);
         long count = subjects.stream().filter(m->m.getStage().ordinal() != 0).count();
         if(count > 0){
             throw new RuntimeException("档位参数只能采集阶段修改");
-        }
+        }*/
 
         levelRepo.deleteByWorkId(work.getId());
 

+ 12 - 0
stmms-ms-core/src/main/java/cn/com/qmth/stmms/ms/core/domain/Work.java

@@ -44,6 +44,10 @@ public class Work implements Serializable{
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date createdOn;
 
+    //是否可以修改档位信息中除了阈值以外其它数据
+    @Transient
+    private Boolean modifyOtherVal;
+
     public Work(String name) {
         this.name = name;
         this.createdOn = new Date();
@@ -101,4 +105,12 @@ public class Work implements Serializable{
     public void setActive(boolean active) {
         this.active = active;
     }
+
+    public Boolean getModifyOtherVal() {
+        return modifyOtherVal;
+    }
+
+    public void setModifyOtherVal(Boolean modifyOtherVal) {
+        this.modifyOtherVal = modifyOtherVal;
+    }
 }

+ 2 - 0
stmms-ms-core/src/main/java/cn/com/qmth/stmms/ms/core/repository/MarkTaskRepo.java

@@ -212,4 +212,6 @@ public interface MarkTaskRepo extends JpaRepository<MarkTask, Long>, JpaSpecific
     List<MarkTask> findByWorkIdAndSubjectAndMarkerIdAndStage(Long workId, Subject subject, Long valueOf, MarkStage stage);
 
     int countByWorkIdAndSubjectAndStage(Long workId, Subject subject, MarkStage stage);
+
+    int countByWorkIdAndStageAndResultNotNull(Long id, MarkStage level);
 }