瀏覽代碼

管理员撤回签章功能

lizhenhao 2 年之前
父節點
當前提交
5f08019820

+ 13 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/controller/CwProjectReportController.java

@@ -464,4 +464,17 @@ public class CwProjectReportController {
         projectReportService.saveReportArchive(reportId);
         return ResponseEntity.ok("操作成功");
     }
+
+    /**
+     * 撤回签章
+     * @param reportId
+     * @return
+     * @throws Exception
+     */
+    @GetMapping("rebackSign")
+    @ApiOperation(value = "撤回签章")
+    public ResponseEntity rebackSign(String reportId) throws Exception {
+        projectReportService.rebackSign(reportId);
+        return ResponseEntity.ok("操作成功");
+    }
 }

+ 20 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/service/CwProjectReportService.java

@@ -70,7 +70,7 @@ import java.util.concurrent.atomic.AtomicInteger;
  * @create: 2022-11-16 14:17
  **/
 @Service
-@Transactional
+@Transactional(rollbackFor = Exception.class)
 public class CwProjectReportService extends ServiceImpl<CwProjectReportMapper, CwProjectReport> {
 
     private static final String HTTPTOP = Global.getConfig("signature_http_top");
@@ -2651,4 +2651,23 @@ public class CwProjectReportService extends ServiceImpl<CwProjectReportMapper, C
         cwProjectReportArchive.setFileNumber(fileNumber);
         cwProjectReportArchiveMapper.insert(cwProjectReportArchive);
     }
+
+    /**
+     * 根据报告id,撤回签章
+     * @param reportId
+     */
+    public void rebackSign (String reportId) {
+        // 通过报告id获取签章数据
+        List<CwProjectReportSignature> signList = cwProjectReportSignatureMapper.selectList(new QueryWrapper<CwProjectReportSignature>().lambda().eq(CwProjectReportSignature::getReportId, reportId));
+        // 将签章数据的状态改为初始值
+        if (CollectionUtil.isNotEmpty(signList)) {
+            signList.stream().forEach(item -> {
+                item.setStatus("0"); // 签章流程的状态改为:未发起
+                item.setSignatureAnnotator1Status("0"); // 签字注师1签章状态改为:未签章
+                item.setSignatureAnnotator2Status("0"); // 签字注师2签章状态改为:未签章
+                item.setSealAdminStatus("0"); // 盖章管理员签章状态改为:未签章
+                cwProjectReportSignatureMapper.updateById(item); // 将修改的数据保存
+            });
+        }
+    }
 }