浏览代码

财务-报告修改

wangqiang 2 年之前
父节点
当前提交
4eba0a01d3
共有 16 个文件被更改,包括 861 次插入3 次删除
  1. 81 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/controller/CwProjectReportReviewController.java
  2. 24 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/domain/CwProjectReport.java
  3. 111 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/domain/CwProjectReportData.java
  4. 101 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/domain/CwProjectReview.java
  5. 49 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/domain/CwProofreadDetail.java
  6. 21 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/mapper/CwProjectReportReviewMapper.java
  7. 19 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/mapper/CwProofreadDetailMapper.java
  8. 12 2
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/mapper/xml/CwProjectReportMapper.xml
  9. 13 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/mapper/xml/CwProjectReportReviewMapper.xml
  10. 52 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/mapper/xml/CwProofreadDetailMapper.xml
  11. 182 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/service/CwProjectReportReviewService.java
  12. 154 1
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/service/CwProjectReportService.java
  13. 12 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReportAuditSheet/controller/AuditSheetTypeController.java
  14. 5 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReportAuditSheet/mapper/CwProofreadTypeMapper.java
  15. 20 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReportAuditSheet/mapper/CwProofreadTypeMapper.xml
  16. 5 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReportAuditSheet/service/CwProofreadTypeService.java

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

@@ -0,0 +1,81 @@
+package com.jeeplus.test.cw.projectReport.controller;
+
+import com.jeeplus.aop.logging.annotation.ApiLog;
+import com.jeeplus.common.utils.ResponseUtil;
+import com.jeeplus.sys.constant.enums.LogTypeEnum;
+import com.jeeplus.test.cw.projectReport.domain.CwProjectReportData;
+import com.jeeplus.test.cw.projectReport.service.CwProjectReportReviewService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+import java.lang.reflect.InvocationTargetException;
+import java.util.List;
+
+/**
+ * @author: 王强
+ * @create: 2022-12-12 14:45
+ **/
+@RestController
+@Api(tags ="报告审核校对")
+@RequestMapping(value = "/projectReport/review")
+public class CwProjectReportReviewController {
+
+    @Resource
+    private CwProjectReportReviewService service;
+
+    /**
+     * 保存财务报告信息-流程
+     * @param reportData
+     * @return
+     */
+    @ApiLog(value = "保存财务报告信息-流程", type = LogTypeEnum.SAVE)
+    @PreAuthorize("hasAnyAuthority('cwProjectReportReview:add','cwProjectReportReview:edit')")
+    @PostMapping("saveForm")
+    public ResponseEntity saveForm(@Valid @RequestBody CwProjectReportData reportData) throws Exception {
+        String id = service.saveForm(reportData);
+        return ResponseUtil.newInstance().add("businessTable", "cw_project_report_review").add("businessId", id).ok ("操作成功");
+    }
+
+    /**
+     * 根据id修改状态值status
+     * @param data
+     * @return
+     */
+    @ApiOperation(value = "根据id修改状态值status")
+    @PostMapping(value = "/updateReviewStatysByReportId")
+    public ResponseEntity<String> updateReviewStatysByReportId(@RequestBody CwProjectReportData data) {
+        String s = service.updateReviewStatysByReportId(data);
+        return ResponseEntity.ok(s);
+    }
+
+    /**
+     * 查询客户信息数据
+     * @param id
+     * @return
+     */
+    @ApiLog("查询财务报告数据")
+    @PreAuthorize ("hasAnyAuthority('cwProjectReport:view','cwProjectReport:add','cwProjectReport:edit')")
+    @GetMapping("queryByReportId")
+    public ResponseEntity queryByReportId(@RequestParam("id") String id) throws IllegalAccessException, NoSuchMethodException, InvocationTargetException {
+        CwProjectReportData projectReportData = service.queryByReportId(id);
+        return ResponseEntity.ok (projectReportData);
+    }
+
+    /**
+     * 查询客户信息数据
+     * @param procInsId
+     * @return
+     */
+    @ApiLog("查询财务报告数据")
+    @PreAuthorize ("hasAnyAuthority('cwProjectReport:view','cwProjectReport:add','cwProjectReport:edit')")
+    @GetMapping("getProcessStatus")
+    public ResponseEntity getProcessStatus(@RequestParam("procInsId") String procInsId) throws IllegalAccessException, NoSuchMethodException, InvocationTargetException {
+        String taskName = service.getProcessStatus(procInsId);
+        return ResponseEntity.ok (taskName);
+    }
+}

+ 24 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/domain/CwProjectReport.java

@@ -189,4 +189,28 @@ public class CwProjectReport extends BaseEntity {
     @TableField(exist = false)
     private String officeName;
 
+    /**
+     *业务类型
+     */
+    private String businessType;
+
+    /**
+     *审计业务类型
+     */
+    private String auditBusinessType;
+
+    /**
+     *公司注册地址
+     */
+    private String registerAddress;
+
+    /**
+     *业务所在地
+     */
+    private String businessLocation;
+
+    /**
+     *是否数据证券业务
+     */
+    private String securityBusiness;
 }

+ 111 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/domain/CwProjectReportData.java

@@ -253,4 +253,115 @@ public class CwProjectReportData extends BaseDTO {
     private String reportNo;
 
     private String[] contractAmounts;
+
+    /**
+     * 报告复核流程id
+     */
+    private String procInsId3;
+
+    /**
+     * 报告复核流程状态
+     */
+    private String reviewStatus;
+
+    /**
+     *业务类型
+     */
+    private String businessType;
+
+    /**
+     *审计业务类型
+     */
+    private String auditBusinessType;
+
+    /**
+     *公司注册地址
+     */
+    private String registerAddress;
+
+    /**
+     *业务所在地
+     */
+    private String businessLocation;
+
+    /**
+     *是否数据证券业务
+     */
+    private String securityBusiness;
+
+    /**
+     * 复核信息表
+     */
+    private List<CwProofreadDetail> details;
+
+    /*
+    计算机文号
+     */
+    private String computerNo;
+
+    /**
+     * 本报告共印份数
+     */
+    private String allPrintNum;
+
+    /**
+     * 发出份数
+     */
+    private String issueNum;
+
+    /**
+     * 存档份数
+     */
+    private String placeOnFileNum;
+
+    /**
+     * 打印人签名
+     */
+    private String printedBy;
+
+    /**
+     * 校对人签名
+     */
+    private String checkAutograph;
+
+    /**
+     * 财务-报告表id
+     */
+    private String reportId;
+
+    /**
+     * 报告类型及标题
+     */
+    private String reportTitleType;
+
+    /**
+     * 一级复核需提请关注或修改的事项
+     */
+    private String needUpdate1;
+
+    /**
+     * 二级复核需提请关注或修改的事项
+     */
+    private String needUpdate2;
+
+    /**
+     * 三级复核需提请关注或修改的事项
+     */
+    private String needUpdate3;
+
+    /**
+     * 一级复核备注
+     */
+    private String remark1;
+
+    /**
+     * 二级复核备注
+     */
+    private String remark2;
+
+    /**
+     * 三级复核备注
+     */
+    private String remark3;
+
 }

+ 101 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/domain/CwProjectReview.java

@@ -0,0 +1,101 @@
+package com.jeeplus.test.cw.projectReport.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+
+/**
+ * @author: 王强
+ * @create: 2022-12-12 20:37
+ **/
+@Data
+@TableName(value = "cw_project_report_review")
+public class CwProjectReview extends BaseEntity {
+
+    /**
+     * 流程id
+     */
+    private String procInsId;
+
+    private String processDefinitionId;
+
+    /**
+     * 状态
+     */
+    private String reviewStatus;
+
+    /**
+     * 本报告共印份数
+     */
+    private String allPrintNum;
+
+    /**
+     * 发出份数
+     */
+    private String issueNum;
+
+    /**
+     * 存档份数
+     */
+    private String placeOnFileNum;
+
+    /**
+     * 打印人签名
+     */
+    private String printedBy;
+
+    /**
+     * 校对人签名
+     */
+    private String checkAutograph;
+
+    /**
+     * 财务-报告表id
+     */
+    private String reportId;
+
+    /**
+     * 财务-报告编号
+     */
+    private String reportNo;
+
+    /**
+     * 报告类型及标题
+     */
+    private String reportTitleType;
+
+    /**
+     * 一级复核需提请关注或修改的事项
+     */
+    private String needUpdate1;
+
+    /**
+     * 二级复核需提请关注或修改的事项
+     */
+    private String needUpdate2;
+
+    /**
+     * 三级复核需提请关注或修改的事项
+     */
+    private String needUpdate3;
+
+    /**
+     * 一级复核备注
+     */
+    private String remark1;
+
+    /**
+     * 二级复核备注
+     */
+    private String remark2;
+
+    /**
+     * 三级复核备注
+     */
+    private String remark3;
+
+    /**
+     * 计算机文号
+     */
+    private String computerNo;
+}

+ 49 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/domain/CwProofreadDetail.java

@@ -0,0 +1,49 @@
+package com.jeeplus.test.cw.projectReport.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+
+@Data
+@TableName(value = "cw_proofread_detail")
+public class CwProofreadDetail extends BaseEntity {
+
+    /**
+     * 序号
+     */
+    private Integer serialNumber;
+
+    /**
+     * 基本信息
+     */
+    private String infoId;
+
+    /**
+     * 类型id
+     */
+    private String typeId;
+
+    /**
+     * 类型名称
+     */
+    @TableField(exist = false)
+    private String typeName;
+
+    /**
+     * 审核意见
+     */
+    private String reviewComments;
+
+    /**
+     * 回复意见
+     */
+    private String replyComments;
+
+    /**
+     * 序号
+     */
+    @TableField(exist = false)
+    private String sort;
+
+}

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

@@ -0,0 +1,21 @@
+package com.jeeplus.test.cw.projectReport.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.test.cw.projectReport.domain.CwProjectReportData;
+import com.jeeplus.test.cw.projectReport.domain.CwProjectReview;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @author: 王强
+ * @create: 2022-12-12 20:35
+ **/
+@Mapper
+public interface CwProjectReportReviewMapper extends BaseMapper<CwProjectReview> {
+
+    CwProjectReview selectByReportId(String id);
+
+    void updateReviewStatysByReportId(@Param("reviewStatus") String reviewStatus,@Param("id") String id);
+
+    CwProjectReportData selectByPortId(String id);
+}

+ 19 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/mapper/CwProofreadDetailMapper.java

@@ -0,0 +1,19 @@
+package com.jeeplus.test.cw.projectReport.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.test.cw.projectReport.domain.CwProofreadDetail;
+import com.jeeplus.test.proofread.domain.ProofreadDetail;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface CwProofreadDetailMapper extends BaseMapper<CwProofreadDetail> {
+
+    List<CwProofreadDetail> findByInfoId(@Param("id") String id);
+
+    List<CwProofreadDetail> findByReportInfoId(@Param("id") String id);
+
+    List<CwProofreadDetail> findList(@Param("type")String type);
+
+    CwProofreadDetail getByTypeIdAndInfoId(@Param("typeId")String typeId,@Param("infoId")String infoId);
+}

+ 12 - 2
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/mapper/xml/CwProjectReportMapper.xml

@@ -74,6 +74,8 @@
         cw_prs2.process_definition_id as process_definition_id2,
         cw_prs2.status as status2,
         cw_prs2.id as sid2,
+        cw_rev.review_status,
+        cw_rev.proc_ins_id as procInsId3,
         new_line.report_no as reportNo
         FROM cw_project_report a
         left join cw_project_records b on a.project_id = b.id
@@ -82,7 +84,8 @@
         LEFT JOIN sys_user e on b.project_master_id = e.id
         LEFT JOIN cw_project_report_signature cw_prs1 on cw_prs1.report_id = a.id and cw_prs1.type = '1' and cw_prs1.del_flag = '0'
         LEFT JOIN cw_project_report_signature cw_prs2 on cw_prs2.report_id = a.id and cw_prs2.type = '2' and cw_prs2.del_flag = '0'
-        left join cw_project_report_new_line new_line on a.id = new_line.report_id
+        left join cw_project_report_new_line new_line on a.id = new_line.report_id and new_line.del_flag = '0'
+        left join cw_project_report_review cw_rev on a.id = cw_rev.report_id and cw_rev.del_flag = '0'
         ${ew.customSqlSegment}
     </select>
     <select id="queryById" resultType="com.jeeplus.test.cw.projectReport.domain.CwProjectReportData">
@@ -113,6 +116,11 @@
         a.audit_fees,
         e.name as projectMasterName,
         a.real_create,
+        a.business_type,
+        a.audit_business_type,
+        a.register_address,
+        a.business_location,
+        a.security_business,
         cw_prs1.proc_ins_id as proc_ins_id1,
         cw_prs1.process_definition_id as process_definition_id1,
         cw_prs1.status as status1,
@@ -127,7 +135,8 @@
         new_line.report_number as reportNumber,
         new_line.report_no as reportNo,
         new_line.opinion_type as opinionType,
-        new_line.seal_type as sealType
+        new_line.seal_type as sealType,
+        cw_re.proc_ins_id as procInsId3
         FROM cw_project_report a
         left join cw_project_records b on a.project_id = b.id
         LEFT JOIN sys_office c on a.office_id = c.id
@@ -136,6 +145,7 @@
         LEFT JOIN cw_project_report_signature cw_prs1 on cw_prs1.report_id = a.id and cw_prs1.type = '1' and cw_prs1.del_flag = '0'
         LEFT JOIN cw_project_report_signature cw_prs2 on cw_prs2.report_id = a.id and cw_prs2.type = '2' and cw_prs2.del_flag = '0'
         left join cw_project_report_new_line new_line on a.id = new_line.report_id
+        left join cw_project_report_review cw_re on a.id = cw_re.report_id and cw_re.del_flag = '0'
         where a.id = #{id}
     </select>
     <select id="findClineList" resultType="com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientBaseDTO">

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

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.test.cw.projectReport.mapper.CwProjectReportReviewMapper">
+    <update id="updateReviewStatysByReportId">
+        update cw_project_report_review set review_status = #{reviewStatus} where report_id = #{id}
+    </update>
+    <select id="selectByReportId" resultType="com.jeeplus.test.cw.projectReport.domain.CwProjectReview">
+        select * from cw_project_report_review where report_id = #{id}
+    </select>
+    <select id="selectByPortId" resultType="com.jeeplus.test.cw.projectReport.domain.CwProjectReportData">
+        select * from cw_project_report_review where report_id = #{id}
+    </select>
+</mapper>

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

@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.test.cw.projectReport.mapper.CwProofreadDetailMapper">
+	<select id="findByInfoId" resultType="com.jeeplus.test.cw.projectReport.domain.CwProofreadDetail">
+        SELECT
+			a.id,
+			a.create_by,
+			a.create_date,
+			a.update_by,
+			a.update_date,
+			a.del_flag,
+			a.info_id,
+			a.type_id,
+			b.`name` AS type_name,
+			ifnull(a.review_comments,"") as "reviewComments",
+			ifnull(a.reply_comments,"") as "replyComments",
+			b.sort
+		FROM cw_proofread_type b
+		LEFT JOIN cw_proofread_detail a ON a.type_id = b.id
+		AND a.del_flag = 0
+		AND a.info_id = #{id}
+		ORDER BY b.sort
+    </select>
+	<select id="findList" resultType="com.jeeplus.test.cw.projectReport.domain.CwProofreadDetail">
+		SELECT
+			id AS type_id,
+			create_by,
+			create_date,
+			update_by,
+			update_date,
+			del_flag,
+			parent_id,
+			parent_ids,
+			`level`,
+			`name` AS type_name,
+			sort
+		FROM
+			cw_proofread_type
+		WHERE
+			del_flag = 0
+			AND `type` = #{type}
+		ORDER BY sort
+	</select>
+	<select id="findByReportInfoId" resultType="com.jeeplus.test.cw.projectReport.domain.CwProofreadDetail">
+		select a.*,b.`name` AS type_name,b.sort from cw_proofread_detail a
+		left join cw_proofread_type b on a.type_id = b.id
+		where info_id = #{id}
+	</select>
+	<select id="getByTypeIdAndInfoId" resultType="com.jeeplus.test.cw.projectReport.domain.CwProofreadDetail">
+		select * from cw_proofread_detail where type_id = #{typeId} and info_id = #{infoId}
+	</select>
+</mapper>

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

@@ -0,0 +1,182 @@
+package com.jeeplus.test.cw.projectReport.service;
+
+import com.jeeplus.sys.service.dto.UserDTO;
+import com.jeeplus.sys.utils.StringUtils;
+import com.jeeplus.sys.utils.UserUtils;
+import com.jeeplus.test.cw.projectReport.domain.CwProjectReport;
+import com.jeeplus.test.cw.projectReport.domain.CwProjectReportData;
+import com.jeeplus.test.cw.projectReport.domain.CwProjectReview;
+import com.jeeplus.test.cw.projectReport.domain.CwProofreadDetail;
+import com.jeeplus.test.cw.projectReport.mapper.CwProjectReportReviewMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jeeplus.test.cw.projectReport.mapper.CwProofreadDetailMapper;
+import com.jeeplus.flowable.service.FlowTaskService;
+import com.jeeplus.test.cw.projectReportArchive.domain.CwProjectReportArchive;
+import com.jeeplus.test.cw.projectReportArchive.mapper.CwProjectReportArchiveMapper;
+import org.flowable.bpmn.model.FlowNode;
+import org.flowable.engine.TaskService;
+import org.apache.commons.beanutils.PropertyUtils;
+import org.flowable.editor.language.json.converter.util.CollectionUtils;
+import org.flowable.task.api.Task;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.lang.reflect.InvocationTargetException;
+import java.util.Date;
+import java.util.UUID;
+
+/**
+ * 报告审核校对
+ * @author: 王强
+ * @create: 2022-12-12 20:35
+ **/
+@Service
+@Transactional
+public class CwProjectReportReviewService extends ServiceImpl<CwProjectReportReviewMapper, CwProjectReview>{
+
+    @Resource
+    private CwProjectReportService cwProjectReportService;
+
+    @Resource
+    private CwProjectReportReviewMapper mapper;
+
+    @Resource
+    private CwProofreadDetailMapper detailMapper;
+
+    @Resource
+    private FlowTaskService flowTaskService;
+
+    @Resource
+    private CwProjectReportArchiveMapper cwProjectReportArchiveMapper;
+
+    @Resource
+    private TaskService taskService;
+
+    public CwProjectReportData queryByReportId(String id) throws IllegalAccessException, NoSuchMethodException, InvocationTargetException {
+        CwProjectReportData data = mapper.selectByPortId(id);
+        //查询复核相关信息
+
+        return data;
+    }
+
+    /**
+     * 修改状态
+     * @param data
+     * @return
+     */
+    public String updateReviewStatysByReportId(CwProjectReportData data) {
+        mapper.updateReviewStatysByReportId(data.getReviewStatus(),data.getId());
+        return "操作成功";
+    }
+
+    /**
+     * 保存项目以及其他相关信息
+     * @param reportData
+     * @return
+     * @throws Exception
+     */
+    public synchronized String saveForm(CwProjectReportData reportData) throws Exception{
+        if (StringUtils.isNotEmpty(reportData.getId())){
+
+            CwProjectReview detail = mapper.selectById(reportData.getId());
+            if (detail != null){
+                reportData.setCreateBy(reportData.getCreateBy());
+                return update(reportData,detail.getId(),detail.getProcInsId());
+            } else {
+                //传过来的是报告表id
+                detail = mapper.selectByReportId(reportData.getId());
+                if (detail != null){
+                    reportData.setCreateBy(reportData.getCreateBy());
+                    return update(reportData,detail.getId(),detail.getProcInsId());
+                }
+            }
+        }
+        return add(reportData);
+
+    }
+    /**
+     * 合同登记修改
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public String update(CwProjectReportData reportData,String id,String procInsId) throws Exception{
+        //获取当前登录人信息
+        UserDTO userDTO = UserUtils.getCurrentUserDTO();
+        CwProjectReview review = new CwProjectReview();
+        BeanUtils.copyProperties(reportData, review);
+        review.setUpdateBy(userDTO.getId());
+        review.setUpdateDate(new Date());
+        review.setId(id);
+        FlowNode currentTask = flowTaskService.getCurrentTask(procInsId);
+        if(null != currentTask && StringUtils.isNotBlank(currentTask.getName())) {
+            if ("三级复核".equals(currentTask.getName())) {
+                review.setReviewStatus("5");
+            }
+        }
+        if (review.getReviewStatus().equals("5")) {
+            CwProjectReport cwProjectReport = cwProjectReportService.getById(reportData.getId());
+            CwProjectReportArchive cwProjectReportArchive = new CwProjectReportArchive();
+            //要判断是否有数据
+            cwProjectReportArchive.setStatus("0");
+            cwProjectReportArchive.setReportId(review.getReportId());
+            cwProjectReportArchive.setCreateBy(cwProjectReport.getCreateBy());
+            cwProjectReportArchive.setProjectId(cwProjectReport.getProjectId());
+            cwProjectReportArchive.setReportNum(cwProjectReport.getReportNumber());
+            cwProjectReportArchiveMapper.insert(cwProjectReportArchive);
+        }
+        mapper.updateById(review);
+        //对复核数据进行持久化操作
+        if (CollectionUtils.isNotEmpty(reportData.getDetails())) {
+            for (CwProofreadDetail detail:reportData.getDetails()) {
+                CwProofreadDetail detail1 = detailMapper.getByTypeIdAndInfoId(detail.getTypeId(),review.getId());
+                detail.setId(detail1.getId());
+                detail.setInfoId(review.getId());
+                detail.setUpdateBy(userDTO.getId());
+                detail.setUpdateDate(new Date());
+                detailMapper.updateById(detail);
+            }
+        }
+        return review.getId();
+    }
+
+    public String add(CwProjectReportData dto) throws Exception{
+        //生成主键id值
+        String id = UUID.randomUUID().toString().replace("-", "");
+        //获取当前登录人信息
+        UserDTO userDTO = UserUtils.getCurrentUserDTO();
+        //保存基本信息
+        CwProjectReview info = new CwProjectReview();
+        BeanUtils.copyProperties(dto, info);
+        info.setId(id);
+        info.setCreateBy(userDTO.getId());
+        info.setCreateDate(new Date());
+        info.setUpdateBy(userDTO.getId());
+        info.setUpdateDate(new Date());
+        info.setReportId(dto.getId());
+        mapper.insert(info);
+        //明细表相关信息
+        if (CollectionUtils.isNotEmpty(dto.getDetails())) {
+            for (CwProofreadDetail detail:dto.getDetails()) {
+                String detailId = UUID.randomUUID().toString().replace("-", "");
+                detail.setId(detailId);
+                detail.setInfoId(id);
+                detail.setCreateBy(userDTO.getId());
+                detail.setCreateDate(new Date());
+                detail.setUpdateBy(userDTO.getId());
+                detail.setUpdateDate(new Date());
+                detailMapper.insert(detail);
+            }
+        }
+        return info.getId();
+    }
+
+    public String getProcessStatus(String procInsId){
+        FlowNode currentTask = flowTaskService.getCurrentTask(procInsId);
+        if(null != currentTask && StringUtils.isNotBlank(currentTask.getName())) {
+            return currentTask.getName();
+        } else {
+            return "";
+        }
+    }
+}

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

@@ -87,6 +87,9 @@ public class CwProjectReportService extends ServiceImpl<CwProjectReportMapper, C
     private CwProjectReportMapper reportMapper;
 
     @Resource
+    private CwProofreadDetailMapper detailMapper;
+
+    @Resource
     private CwProjectInfoMapper infoMapper;
 
     @Resource
@@ -121,6 +124,9 @@ public class CwProjectReportService extends ServiceImpl<CwProjectReportMapper, C
     @Autowired
     private TaskService taskService;
 
+    @Resource
+    private CwProjectReportReviewMapper reviewMapper;
+
     /**
      * 保存项目以及其他相关信息
      * @param reportData
@@ -466,12 +472,13 @@ public class CwProjectReportService extends ServiceImpl<CwProjectReportMapper, C
             List<CwProjectReportData> byProjectList = reportMapper.getByProjectId(reportData.getProjectId());
             List<CwProjectInfoData> dataInfoList = new ArrayList<>();
             if (null != byProjectList) {
+                CwProjectReportData finalReportData1 = reportData;
                 byProjectList.forEach(pro->{
                     //根据reportid查出新增行数据
                     CwProjectInfoData infoData = infoMapper.getByReportId(pro.getId());
                     //根据reportid查出所有的附件信息
                     List<ProjectReportWorkAttachmentDTO> fileList = new ArrayList<>();
-                    List<ProjectReportWorkAttachmentDTO> cwFileInfoList = attachmentMapper.selectByInfoIdAndNewLineId(reportData.getId());
+                    List<ProjectReportWorkAttachmentDTO> cwFileInfoList = attachmentMapper.selectByInfoIdAndNewLineId(finalReportData1.getId());
                     //历史的附件信息是否是查改reportid对应的所有附件
                     if (null != cwFileInfoList){
                         cwFileInfoList.forEach(fi->{
@@ -502,6 +509,152 @@ public class CwProjectReportService extends ServiceImpl<CwProjectReportMapper, C
             }
 
             reportData.setCwWorkClientContactDTOList(dataInfoList);
+
+            //将复核数据查出来
+            CwProjectReview review = reviewMapper.selectByReportId(reportData.getId());
+            if ( null != review) {
+                reportData.setReviewStatus(review.getReviewStatus());
+                reportData.setAllPrintNum(review.getAllPrintNum());
+                reportData.setIssueNum(review.getIssueNum());
+                reportData.setPlaceOnFileNum(review.getPlaceOnFileNum());
+                reportData.setPrintedBy(review.getPrintedBy());
+                reportData.setCheckAutograph(review.getCheckAutograph());
+                reportData.setReportTitleType(review.getReportTitleType());
+                reportData.setNeedUpdate1(review.getNeedUpdate1());
+                reportData.setNeedUpdate2(review.getNeedUpdate2());
+                reportData.setNeedUpdate3(review.getNeedUpdate3());
+                reportData.setRemark1(review.getRemark1());
+                reportData.setRemark2(review.getRemark2());
+                reportData.setRemark3(review.getRemark3());
+                reportData.setComputerNo(review.getComputerNo());
+                //将一级复核等填入数据查出
+                List<CwProofreadDetail> details = detailMapper.findByReportInfoId(review.getId());
+                if (null != details) {
+                    reportData.setDetails(details);
+                }
+            }
+        } else {
+            //传来的是复核表的id
+            CwProjectReview review = reviewMapper.selectById(id);
+            if (null != review) {
+                reportData = reportMapper.queryById(review.getReportId());
+                if ( null != reportData){
+                    List<ProjectReportWorkAttachmentDTO> dtos = attachmentMapper.selectByInfoId(reportData.getId());
+                    if (null != dtos){
+                        dtos.forEach(d->{
+                            //根据id查出cw_project_report_file文件表的其他信息
+                            //未签章附件
+                            CwProjectReportFile file = attachmentMapper.selectInfoByFileId(d.getId(),"0");
+                            if (null != file) {
+                                d.setFileType(file.getFileType());
+                                d.setSealType(file.getSealType());
+                                d.setSealedFile(file.getSealedFile());
+                                d.setSealUser(file.getSealUser());
+                                d.setSealDate(file.getSealDate());
+                                d.setRemarks(file.getRemarks());
+                                UserDTO userDTO = new UserDTO();
+                                //根据创建人id查出创建人名称
+                                String name = reportMapper.getUserNameById(file.getCreateBy());
+                                userDTO.setId(file.getCreateBy());
+                                userDTO.setName(name);
+                                d.setCreateBy(userDTO);
+                                d.setCreateDate(file.getCreateDate());
+                                dtoList.add(d);
+                            }
+
+                            //已签章附件
+                            CwProjectReportFile signatureFile = attachmentMapper.selectInfoByFileId(d.getId(),"1");
+                            if (null != signatureFile){
+                                d.setFileType(signatureFile.getFileType());
+                                d.setSealType(signatureFile.getSealType());
+                                d.setSealedFile(signatureFile.getSealedFile());
+                                d.setSealUser(signatureFile.getSealUser());
+                                d.setSealDate(signatureFile.getSealDate());
+                                d.setRemarks(signatureFile.getRemarks());
+                                UserDTO userDTO2 = new UserDTO();
+                                //根据创建人id查出创建人名称
+                                String name2 = reportMapper.getUserNameById(signatureFile.getCreateBy());
+                                userDTO2.setId(signatureFile.getCreateBy());
+                                userDTO2.setName(name2);
+                                d.setCreateBy(userDTO2);
+                                d.setCreateDate(signatureFile.getCreateDate());
+                                signatureList.add(d);
+                            }
+                        });
+                        reportData.setCwFileInfoList(dtoList);
+                        reportData.setSignatureFileList(signatureList);
+                    }
+                    //设置历史报告列表
+                    //根据项目id查出所有的信息
+                    List<CwProjectReportData> byProjectList = reportMapper.getByProjectId(reportData.getProjectId());
+                    List<CwProjectInfoData> dataInfoList = new ArrayList<>();
+                    if (null != byProjectList) {
+                        CwProjectReportData finalReportData = reportData;
+                        byProjectList.forEach(pro->{
+                            //根据reportid查出新增行数据
+                            CwProjectInfoData infoData = infoMapper.getByReportId(pro.getId());
+                            //根据reportid查出所有的附件信息
+                            List<ProjectReportWorkAttachmentDTO> fileList = new ArrayList<>();
+                            List<ProjectReportWorkAttachmentDTO> cwFileInfoList = attachmentMapper.selectByInfoIdAndNewLineId(finalReportData.getId());
+                            //历史的附件信息是否是查改reportid对应的所有附件
+                            if (null != cwFileInfoList){
+                                cwFileInfoList.forEach(fi->{
+                                    //未签章附件
+                                    CwProjectReportFile file = attachmentMapper.selectInfoByFileId(fi.getId(),"0");
+                                    if (null != file) {
+                                        fi.setFileType(file.getFileType());
+                                        fi.setSealType(file.getSealType());
+                                        fi.setSealedFile(file.getSealedFile());
+                                        fi.setSealUser(file.getSealUser());
+                                        fi.setSealDate(file.getSealDate());
+                                        fi.setRemarks(file.getRemarks());
+                                        UserDTO userDTO = new UserDTO();
+                                        //根据创建人id查出创建人名称
+                                        String name = reportMapper.getUserNameById(file.getCreateBy());
+                                        userDTO.setId(file.getCreateBy());
+                                        userDTO.setName(name);
+                                        fi.setCreateBy(userDTO);
+                                        fi.setCreateDate(file.getCreateDate());
+                                        fileList.add(fi);
+                                    }
+                                });
+                                //设置附件信息
+                                infoData.setCwFileInfoList(fileList);
+                                dataInfoList.add(infoData);
+                            }
+                        });
+                    }
+
+                    reportData.setCwWorkClientContactDTOList(dataInfoList);
+
+                    //将复核数据查出来
+//                CwProjectReview review = reviewMapper.selectByReportId(reportData.getId());
+//                    if ( null != review) {
+//
+//                    }
+                    reportData.setReviewStatus(review.getReviewStatus());
+                    reportData.setAllPrintNum(review.getAllPrintNum());
+                    reportData.setIssueNum(review.getIssueNum());
+                    reportData.setPlaceOnFileNum(review.getPlaceOnFileNum());
+                    reportData.setPrintedBy(review.getPrintedBy());
+                    reportData.setCheckAutograph(review.getCheckAutograph());
+                    reportData.setReportTitleType(review.getReportTitleType());
+                    reportData.setNeedUpdate1(review.getNeedUpdate1());
+                    reportData.setNeedUpdate2(review.getNeedUpdate2());
+                    reportData.setNeedUpdate3(review.getNeedUpdate3());
+                    reportData.setRemark1(review.getRemark1());
+                    reportData.setRemark2(review.getRemark2());
+                    reportData.setRemark3(review.getRemark3());
+                    reportData.setComputerNo(review.getComputerNo());
+
+                    //将一级复核等填入数据查出
+                    List<CwProofreadDetail> details = detailMapper.findByReportInfoId(review.getId());
+                    if (null != details) {
+                        reportData.setDetails(details);
+                    }
+                }
+            }
+
         }
         return reportData;
     }

+ 12 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReportAuditSheet/controller/AuditSheetTypeController.java

@@ -1,5 +1,6 @@
 package com.jeeplus.test.cw.projectReportAuditSheet.controller;
 
+import com.jeeplus.test.cw.projectReport.domain.CwProofreadDetail;
 import com.jeeplus.test.cw.projectReportAuditSheet.domain.CwProofreadType;
 import com.jeeplus.test.cw.projectReportAuditSheet.mapper.CwProofreadTypeMapper;
 import com.jeeplus.test.cw.projectReportAuditSheet.service.CwProofreadTypeForTreeDataService;
@@ -89,4 +90,15 @@ public class AuditSheetTypeController {
         List<CwProofreadType> infos = treeDataService.treeDataForType(extId, type);
         return ResponseEntity.ok(infos);
     }
+
+    /**
+     * 初始化类型列表查询
+     * @return
+     */
+    @ApiOperation(value = "初始化类型列表查询")
+    @GetMapping("/prooList")
+    public ResponseEntity<List<CwProofreadDetail>> list(String type) {
+        List<CwProofreadDetail> list = service.prooList(type);
+        return ResponseEntity.ok(list);
+    }
 }

+ 5 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReportAuditSheet/mapper/CwProofreadTypeMapper.java

@@ -2,15 +2,20 @@ package com.jeeplus.test.cw.projectReportAuditSheet.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.jeeplus.core.domain.TreeMapper;
+import com.jeeplus.test.cw.projectReport.domain.CwProofreadDetail;
 import com.jeeplus.test.cw.projectReportAuditSheet.domain.CwProofreadType;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * @author: 王强
  * @create: 2022-12-08 09:19
  **/
 public interface CwProofreadTypeMapper extends BaseMapper<CwProofreadType>, TreeMapper<CwProofreadType> {
 
+    List<CwProofreadDetail> prooList(@Param("type")String type);
+
     Integer checkNameIsExist(@Param("parentId")String parentId, @Param("name") String name, @Param("type")String type);
 
     Integer getNo(@Param("parentId") String parentId, @Param("type")String type);

+ 20 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReportAuditSheet/mapper/CwProofreadTypeMapper.xml

@@ -32,4 +32,24 @@
 			AND id = #{parentId}
 			AND `type` = #{type}
     </select>
+    <select id="prooList" resultType="com.jeeplus.test.cw.projectReport.domain.CwProofreadDetail">
+		SELECT
+			id AS type_id,
+			create_by,
+			create_date,
+			update_by,
+			update_date,
+			del_flag,
+			parent_id,
+			parent_ids,
+			`level`,
+			`name` as type_name,
+			sort
+		FROM
+			cw_proofread_type
+		WHERE
+			del_flag = 0
+			AND `type` = #{type}
+		ORDER BY sort
+	</select>
 </mapper>

+ 5 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReportAuditSheet/service/CwProofreadTypeService.java

@@ -6,6 +6,7 @@ import com.jeeplus.core.service.TreeService;
 import com.jeeplus.sys.service.dto.UserDTO;
 import com.jeeplus.sys.utils.StringUtils;
 import com.jeeplus.sys.utils.UserUtils;
+import com.jeeplus.test.cw.projectReport.domain.CwProofreadDetail;
 import com.jeeplus.test.cw.projectReportAuditSheet.domain.CwProofreadType;
 import com.jeeplus.test.cw.projectReportAuditSheet.mapper.CwProofreadTypeMapper;
 import org.springframework.stereotype.Service;
@@ -25,6 +26,10 @@ public class CwProofreadTypeService  extends TreeService<CwProofreadTypeMapper,
     @Resource
     private CwProofreadTypeMapper mapper;
 
+    public List<CwProofreadDetail> prooList(String type) {
+        return mapper.prooList(type);
+    }
+
     public List<CwProofreadType> list(CwProofreadType type) {
         LambdaQueryWrapper<CwProofreadType> wrapper = new LambdaQueryWrapper<>();
         if (StringUtils.isNotEmpty(type.getName())) {