Explorar o código

二级复核驳回时选择生成报告号

lizhenhao %!s(int64=2) %!d(string=hai) anos
pai
achega
e0b7619259

+ 20 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/controller/CwProjectReportReviewController.java

@@ -78,4 +78,24 @@ public class CwProjectReportReviewController {
         String taskName = service.getProcessStatus(procInsId);
         return ResponseEntity.ok (taskName);
     }
+
+
+    /**
+     * 根据报告id查询报告是否已生成报告文号
+     * @param reportId
+     * @return
+     */
+    @ApiLog("根据报告id查询报告是否已生成报告文号")
+    @GetMapping("getHaveReportNo")
+    public ResponseEntity getHaveReportNo(@RequestParam("reportId") String reportId) {
+        String is = service.getHaveReportNo(reportId);
+        return ResponseEntity.ok (is);
+    }
+
+    @ApiLog("生成报告文号,并且驳回复核流程")
+    @GetMapping("saveReportNo")
+    public ResponseEntity saveReportNo(@RequestParam("reportId") String reportId) {
+        service.saveReportNo(reportId);
+        return ResponseEntity.ok ("驳回成功");
+    }
 }

+ 7 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/mapper/CwProjectInfoMapper.java

@@ -77,4 +77,11 @@ public interface CwProjectInfoMapper extends BaseMapper<CwProjectInfoData> {
     void updateByReportId(@Param("reportId")String reportId,
                           @Param("reportNumber")String reportNumber,
                           @Param("reportNo")String reportNo);
+
+    /**
+     * 根据报告id修改报告文号
+     * @param
+     */
+    void updateReportNoByReportId(@Param("reportId")String reportId,
+                          @Param("reportNo")String reportNo);
 }

+ 2 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/mapper/CwProjectReportReviewMapper.java

@@ -22,6 +22,8 @@ public interface CwProjectReportReviewMapper extends BaseMapper<CwProjectReview>
                                       @Param("remark3") String remark3
                                       );
 
+    void updateReviewStatusByReportId(@Param("reviewStatus") String reviewStatus,@Param("reportId") String reportId);
+
     CwProjectReportData selectByPortId(String id);
 
     /**

+ 4 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/mapper/xml/CwProjectInfoMapper.xml

@@ -8,6 +8,10 @@
         update cw_project_report_new_line set report_no = #{reportNo}, report_number = #{reportNumber}
         where report_id = #{reportId}
     </update>
+    <update id="updateReportNoByReportId">
+        update cw_project_report_new_line set report_no = #{reportNo}
+        where report_id = #{reportId}
+    </update>
     <delete id="deleteByReportId">
         update cw_project_report_new_line set del_flag = '1' where report_id = #{id}
     </delete>

+ 4 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/mapper/xml/CwProjectReportReviewMapper.xml

@@ -9,6 +9,10 @@
         remark3 = #{remark3}
         where report_id = #{id}
     </update>
+    <update id="updateReviewStatusByReportId">
+        update cw_project_report_review set review_status = #{reviewStatus}
+        where report_id = #{reportId}
+    </update>
     <select id="selectByReportId" resultType="com.jeeplus.test.cw.projectReport.domain.CwProjectReview">
         select * from cw_project_report_review where report_id = #{id}
     </select>

+ 57 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/service/CwProjectReportReviewService.java

@@ -68,6 +68,9 @@ public class CwProjectReportReviewService extends ServiceImpl<CwProjectReportRev
     @Resource
     private TaskService taskService;
 
+    @Resource
+    private CwProjectReportReviewMapper cwProjectReportReviewMapper;
+
     public CwProjectReportData queryByReportId(String id) throws IllegalAccessException, NoSuchMethodException, InvocationTargetException {
         CwProjectReportData data = mapper.selectByPortId(id);
         //查询复核相关信息
@@ -200,6 +203,13 @@ public class CwProjectReportReviewService extends ServiceImpl<CwProjectReportRev
                         }
                         infoData.setReportId(review.getReportId());
                         infoData.setReportNo(documentNo);
+                        // 如果数据已经生成报告文号,则不重复生成
+                        CwProjectInfoData byReportId = infoMapper.getByReportId(review.getReportId());
+                        if(ObjectUtil.isNotEmpty(byReportId)) {
+                            if (StringUtils.isNotBlank(byReportId.getReportNo())) {
+                                infoData.setReportNo(byReportId.getReportNo());
+                            }
+                        }
                     }
                     if(StringUtils.isNotBlank(reportData.getReportNumber())){
                         infoData.setReportNumber(reportData.getReportNumber());
@@ -355,4 +365,51 @@ public class CwProjectReportReviewService extends ServiceImpl<CwProjectReportRev
             return "";
         }
     }
+
+    public String getHaveReportNo(String reportId) {
+        // 根据报告id查询是否已生成报告文号
+        CwProjectInfoData byReportId = infoMapper.getByReportId(reportId);
+        if(ObjectUtil.isNotEmpty(byReportId)) {
+            if (StringUtils.isNotBlank(byReportId.getReportNo())) {
+                return "1"; // 已生成
+            }
+        }
+        return "0"; // 未生成
+    }
+
+    // 生成报告文号
+    public void saveReportNo(String reportId) {
+        String documentNo = "";
+        try {
+            // 根据reportId查询 new_line数据
+            CwProjectInfoData byReportId = infoMapper.getByReportId(reportId);
+            // 生成报告文号
+            documentNo = serialnumTplService.genSerialNumNoSort(UserUtils.getCurrentUserDTO().getCompanyDTO().getId(), CwProjectInfoData.BIZ_CODE);
+            if(documentNo.contains("{replacement}")){
+                if(StringUtils.isNotBlank(byReportId.getReportType())){
+                    switch (byReportId.getReportType()){
+                        case "1":
+                            documentNo = documentNo.replace("{replacement}","基");
+                            break;
+                        case "2":
+                            documentNo = documentNo.replace("{replacement}","咨");
+                            break;
+                        case "3":
+                            documentNo = documentNo.replace("{replacement}","审");
+                            break;
+                        case "4":
+                            documentNo = documentNo.replace("{replacement}","验");
+                            break;
+                        case "5":
+                            documentNo = documentNo.replace("{replacement}","特");
+                            break;
+                    }
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        // 保存报告文号
+        infoMapper.updateReportNoByReportId(reportId,documentNo);
+    }
 }