Browse Source

fix wrong supResult in advice; allow modifiable only once

dengjia 2 tháng trước cách đây
mục cha
commit
3e469a4467

+ 5 - 5
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/manager/WmSupervisionManager.java

@@ -1969,7 +1969,7 @@ private Page<WmTask> getReviewTaskPage(WmSupervisionDto.OnTaskSupervisionPage qu
         
         try {
             taskSupervisionAdviceService.createAdvice(
-                supervision.getSupervisionId(), resource, supervision.getRemarks(), operator);
+                supervision.getSupervisionId(), resource, supervision.getRemarks(), supervision.getSupervisionResult(), operator);
         } catch (DataIntegrityViolationException e) {
             log.warn("创建监督意见冲突: " + supervision.getSupervisionId().toString());
             throw new BizException("创建监督意见冲突", e);
@@ -1979,8 +1979,8 @@ private Page<WmTask> getReviewTaskPage(WmSupervisionDto.OnTaskSupervisionPage qu
             supervision.getSupervisionId(), supervision.getRemarks(), modifiable, supervision.getSupervisionResult(), operator);
       
       } else { // 监督员
-        if (!StrUtil.equals(operator.getUsername(), supervision.getCreateBy())) {
-            // 独占
+        if (!StrUtil.equals(operator.getUsername(), supervision.getCreateBy()) || !supervision.getModifiable()) {
+            // 独占且只写一次
             return false;
         }
         // 监察员重新提交,删除历史的审核意见
@@ -1990,7 +1990,7 @@ private Page<WmTask> getReviewTaskPage(WmSupervisionDto.OnTaskSupervisionPage qu
         // 监督员advice作为历史保留
         try {
             taskSupervisionAdviceService.createAdvice(
-                supervision.getSupervisionId(), resource, null, operator);
+                supervision.getSupervisionId(), resource, null, resource.getSupervision(), operator);
         } catch (DataIntegrityViolationException e) {
             log.warn("创建监督意见冲突: " + supervision.getSupervisionId().toString());
             throw new BizException("创建监督意见冲突", e);
@@ -2008,7 +2008,7 @@ private Page<WmTask> getReviewTaskPage(WmSupervisionDto.OnTaskSupervisionPage qu
         }
         // 监督员advice作为历史保留
         taskSupervisionAdviceService.createAdvice(
-            sup.getSupervisionId(), resource, null, operator);
+            sup.getSupervisionId(), resource, null, sup.getSupervisionResult(), operator);
       } catch(DataIntegrityViolationException e) {
         throw new BizException("当前任务已存在监督记录,请刷新页面:" + resource.getTaskId().toString());
       }

+ 2 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmTaskSupervisionAdviceService.java

@@ -19,9 +19,10 @@ public interface WmTaskSupervisionAdviceService extends IService<WmTaskSupervisi
      * @param supervisionId      监察ID
      * @param supervisionContent 原始内容
      * @param resource           意见信息
+     * @param supResult 
      * @param operator           操作人
      */
-    void createAdvice(Long supervisionId, WmSupervisionDto.OnTaskSupervision resource, String supervisionContent, HnqzUser operator);
+    void createAdvice(Long supervisionId, WmSupervisionDto.OnTaskSupervision resource, String supervisionContent, Boolean supResult, HnqzUser operator);
 
     /**
      * 删除历史

+ 2 - 2
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTaskSupervisionAdviceServiceImpl.java

@@ -38,7 +38,7 @@ public class WmTaskSupervisionAdviceServiceImpl extends ServiceImpl<WmTaskSuperv
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void createAdvice(Long supervisionId, WmSupervisionDto.OnTaskSupervision resource, String supervisionContent, HnqzUser operator) {
+    public void createAdvice(Long supervisionId, WmSupervisionDto.OnTaskSupervision resource, String supervisionContent, Boolean supResult, HnqzUser operator) {
 
         WmTaskSupervisionAdvice advice = new WmTaskSupervisionAdvice();
         advice.setTaskSupervisionId(supervisionId);
@@ -54,7 +54,7 @@ public class WmTaskSupervisionAdviceServiceImpl extends ServiceImpl<WmTaskSuperv
             MessageDigest md = MessageDigest.getInstance("MD5");
             md.update(resource.getRemarks().getBytes());
             byte[] digest = md.digest();
-            advice.setDigest(String.format("%s%s", resource.getSupervision() ? "1" : "0", DatatypeConverter.printHexBinary(digest).toLowerCase()));
+            advice.setDigest(String.format("%s%s", supResult ? "1" : "0", DatatypeConverter.printHexBinary(digest).toLowerCase()));
         } catch (NoSuchAlgorithmException e) {
             e.printStackTrace();
         }