Ver código fonte

移动端功能代码提交,财务模块报告号申请流程代码提交

wangqiang 1 ano atrás
pai
commit
6f670b955e
16 arquivos alterados com 1011 adições e 7 exclusões
  1. 13 0
      jeeplus-api/jeeplus-system-api/src/main/java/com/jeeplus/sys/service/dto/UserDTO.java
  2. 11 5
      jeeplus-auth/src/main/java/com/jeeplus/auth/controller/LoginController.java
  3. 12 0
      jeeplus-modules/jeeplus-file/src/main/java/com/jeeplus/file/controller/FileController.java
  4. 28 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/controller/CwProjectReportController.java
  5. 67 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/controller/CwProjectReportNumberApplyController.java
  6. 11 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/domain/CwProjectReport.java
  7. 26 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/domain/CwProjectReportData.java
  8. 31 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/domain/CwProjectReportNumberApply.java
  9. 28 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/CwProjectReportNumberApplyMapper.java
  10. 22 2
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/xml/CwProjectReportMapper.xml
  11. 33 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/xml/CwProjectReportNumberApplyMapper.xml
  12. 270 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/service/CwProjectReportNumberApplyService.java
  13. 453 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/service/CwProjectReportService.java
  14. 2 0
      jeeplus-modules/jeeplus-public-modules/src/main/java/com/jeeplus/pubmodules/oss/mapper/xml/OssServiceMapper.xml
  15. 2 0
      jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/notify/mapper/NotifyMapper.java
  16. 2 0
      jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/notify/mapper/NotifyRecordMapper.java

+ 13 - 0
jeeplus-api/jeeplus-system-api/src/main/java/com/jeeplus/sys/service/dto/UserDTO.java

@@ -328,6 +328,19 @@ public class UserDTO extends BaseDTO implements Serializable {
         return StrUtil.join ( ",", roleIds );
     }
 
+    /**
+     * 用户拥有的角色名称字符串, 多个角色名称用','分隔.
+     */
+    public String getPostNames() {
+        List <String> postNames = postDTOList.stream ( ).map ( postDTO -> postDTO.getName ( ) ).collect ( Collectors.toList ( ) );
+        return StrUtil.join ( ",", postNames );
+    }
+
+    public String getPostIds() {
+        List <String> postIds = roleDTOList.stream ( ).map ( postDTO -> postDTO.getId ( ) ).collect ( Collectors.toList ( ) );
+        return StrUtil.join ( ",", postIds );
+    }
+
 
     /**
      * 获取租户的id缓存key

+ 11 - 5
jeeplus-auth/src/main/java/com/jeeplus/auth/controller/LoginController.java

@@ -106,13 +106,19 @@ public class LoginController {
         AuthenticationManager authenticationManager = SpringUtil.getBean ( AuthenticationManager.class );
         SecurityUtils.login ( username, password, authenticationManager ); //登录操作
 
-        /**
-         * 单一登录判断
-         */
-        if ( !userApi.isEnableLogin ( tenantApi.getCurrentTenantId ( ), username ) ) {
-            throw new DisabledException ( ErrorConstants.LOGIN_ERROR_FORBID_LOGGED_IN_ELSEWHERE );
+        String domain = RequestUtils.getHeader ( "domain" );
+        if (domain.contains("ydddl")){
+
+        } else {
+            /**
+             * 单一登录判断
+             */
+            if ( !userApi.isEnableLogin ( tenantApi.getCurrentTenantId ( ), username ) ) {
+                throw new DisabledException ( ErrorConstants.LOGIN_ERROR_FORBID_LOGGED_IN_ELSEWHERE );
+            }
         }
 
+
         //登录成功,生成token
         UserDTO userDTO = userApi.getByLoginName ( username, tenantApi.getCurrentTenantId ( ) );
         String token = TokenProvider.createAccessToken ( username );

+ 12 - 0
jeeplus-modules/jeeplus-file/src/main/java/com/jeeplus/file/controller/FileController.java

@@ -65,6 +65,18 @@ public class FileController {
     }
 
     /**
+     * 获取文件网络地址
+     *
+     * @return
+     * @throws IOException
+     * @throws IllegalStateException
+     */
+    @GetMapping("downloadUrl")
+    public String downloadUrl(String uploadPath, String name, HttpServletRequest request, HttpServletResponse response) throws Exception {
+        return accessoryRepository.getURL(uploadPath, name, request, response);
+    }
+
+    /**
      * 上传文件
      *
      * @return

+ 28 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/controller/CwProjectReportController.java

@@ -90,6 +90,21 @@ public class CwProjectReportController {
         return ResponseUtil.newInstance().add("businessTable", "cw_project_report").add("businessId", id).ok ("操作成功");
     }
 
+
+    /**
+     * 报告号申请所用
+     * 保存财务报告信息-流程
+     * @param reportData
+     * @return
+     */
+    @ApiLog(value = "保存财务报告信息-流程", type = LogTypeEnum.SAVE)
+    //@PreAuthorize("hasAnyAuthority('cwProjectReport:add','cwProjectReport:edit')")
+    @PostMapping("saveForm2")
+    public ResponseEntity saveForm2(@Valid @RequestBody CwProjectReportData reportData) throws Exception {
+        String id = projectReportService.saveForm2(reportData);
+        return ResponseUtil.newInstance().add("businessTable", "cw_project_report").add("businessId", id).ok ("操作成功");
+    }
+
     /**
      * 签章附件保存
      * @return
@@ -205,6 +220,19 @@ public class CwProjectReportController {
     }
 
     /**
+     * 查询客户信息数据  报告号申请流程所用
+     * @param id
+     * @return
+     */
+    @ApiLog("查询财务报告数据")
+    // @PreAuthorize ("hasAnyAuthority('cwProjectReport:view','cwProjectReport:add','cwProjectReport:edit')")
+    @GetMapping("queryById2")
+    public ResponseEntity queryById2(@RequestParam("id") String id) {
+        CwProjectReportData projectReportData = projectReportService.queryById2 ( id );
+        return ResponseEntity.ok (projectReportData);
+    }
+
+    /**
      * 下载报告审核单
      * @param response
      * @param id

+ 67 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/controller/CwProjectReportNumberApplyController.java

@@ -0,0 +1,67 @@
+package com.jeeplus.finance.projectReport.controller;
+
+import com.jeeplus.common.utils.ResponseUtil;
+import com.jeeplus.finance.projectReport.domain.CwProjectReportData;
+import com.jeeplus.finance.projectReport.service.CwProjectReportNumberApplyService;
+import com.jeeplus.logging.annotation.ApiLog;
+import com.jeeplus.logging.constant.enums.LogTypeEnum;
+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;
+
+/**
+ * @author: 王强
+ * @create: 2022-12-12 14:45
+ **/
+@RestController
+@Api(tags ="报告审核校对")
+@RequestMapping(value = "/projectReport/numberApply")
+public class CwProjectReportNumberApplyController {
+
+    @Resource
+    private CwProjectReportNumberApplyService 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_number_apply").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("查询财务报告数据")
+    @GetMapping("queryByReportId")
+    public ResponseEntity queryByReportId(@RequestParam("id") String id) throws IllegalAccessException, NoSuchMethodException, InvocationTargetException {
+        CwProjectReportData projectReportData = service.queryByReportId(id);
+        return ResponseEntity.ok (projectReportData);
+    }
+
+}

+ 11 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/domain/CwProjectReport.java

@@ -147,6 +147,11 @@ public class CwProjectReport extends BaseEntity {
     private String servedUnitName;
 
     /**
+     * 报告名称
+     */
+    private String reportName;
+
+    /**
      * 报告日期
      */
     @JsonFormat(pattern = "yyyy-MM-dd")
@@ -184,6 +189,12 @@ public class CwProjectReport extends BaseEntity {
     List<WorkAttachmentInfo> cwFileInfoList2;
 
     /**
+     * 附件信息3
+     */
+    @TableField(exist = false)
+    List<WorkAttachmentInfo> cwFileInfoList3;
+
+    /**
      * 被服务单位id
      */
     @TableField(exist = false)

+ 26 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/domain/CwProjectReportData.java

@@ -20,6 +20,18 @@ import java.util.List;
 @Data
 public class CwProjectReportData extends BaseDTO {
 
+    //报告号申请流程的  流程id,及流程状态  及 取号类型  及  非正常取号原因
+    @TableField(exist = false)
+    private String applyProcId;
+    @TableField(exist = false)
+    private String applyProcDefId;
+    @TableField(exist = false)
+    private String applyStatus;
+    @TableField(exist = false)
+    private String takeNumberType;
+    @TableField(exist = false)
+    private String improperTakeCause;
+
     /**
      * 区分新旧数据
      */
@@ -251,11 +263,20 @@ public class CwProjectReportData extends BaseDTO {
     List<WorkAttachmentInfo> cwFileInfoList2;
 
     /**
+     * 附件信息 - 报告号申请流程
+     */
+    List<WorkAttachmentInfo> cwFileInfoList3;
+
+    /**
      * 已签章附件信息
      */
     List<ProjectReportWorkAttachmentDTO> signatureFileList;
 
     /**
+     * 报告名称
+     */
+    private String reportName;
+    /**
      * 被服务单位名称
      */
     @TableField(exist = false)
@@ -442,6 +463,11 @@ public class CwProjectReportData extends BaseDTO {
     private String revTaskId;
 
     /**
+     * 报告号申请流程taskId
+     */
+    private String revTaskId2;
+
+    /**
      * 签章-电子章  流程taskId
      */
     private String signTaskId1;

+ 31 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/domain/CwProjectReportNumberApply.java

@@ -0,0 +1,31 @@
+package com.jeeplus.finance.projectReport.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+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_number_apply")
+public class CwProjectReportNumberApply extends BaseEntity {
+
+    /**
+     * 流程id
+     */
+    private String procInsId;
+
+    private String processDefinitionId;
+
+    //流程状态
+    private String reviewStatus;
+    //报告id
+    private String reportId;
+    //取号类型
+    private String takeNumberType;
+    //非正常取号原因
+    private String improperTakeCause;
+}

+ 28 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/CwProjectReportNumberApplyMapper.java

@@ -0,0 +1,28 @@
+package com.jeeplus.finance.projectReport.mapper;
+
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.finance.projectReport.domain.CwProjectReportData;
+import com.jeeplus.finance.projectReport.domain.CwProjectReportNumberApply;
+import com.jeeplus.finance.projectReport.domain.CwProjectReview;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @author 王强
+ * @version 1.0
+ * @date 2023-12-12 16:59
+ */
+@Mapper
+public interface CwProjectReportNumberApplyMapper extends BaseMapper<CwProjectReportNumberApply> {
+
+    @InterceptorIgnore(tenantLine = "true")
+    CwProjectReportNumberApply selectByReportId(String id);
+
+    CwProjectReportData selectByPortId(String id);
+
+    void updateReviewStatysByReportId(@Param("reviewStatus") String reviewStatus, @Param("id") String id);
+
+    @InterceptorIgnore(tenantLine = "true")
+    void updateReviewById(CwProjectReportNumberApply review);
+}

+ 22 - 2
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/xml/CwProjectReportMapper.xml

@@ -87,11 +87,18 @@
         new_line.report_no as reportNo,
         cwcb.name as servedUnitName,
         art.ID_ as rev_task_id,
+        arta.ID_ as rev_task_id2,
         art1.ID_ as sign_task_id1,
         art2.ID_ as sign_task_id2,
         art3.ID_ as sign_task_id3,
         a.industry,
         a.business_objects,
+        a.report_name,
+        cw_na.proc_ins_id as applyProcId,
+        cw_na.process_definition_id as applyProcDefId,
+        ifnull(cw_na.review_status,'0') as applyStatus,
+        cw_na.take_number_type as takeNumberType,
+        cw_na.improper_take_cause as improperTakeCause,
         cw_ci.contract_name
         FROM cw_project_report a
         left join cw_project_records b on a.project_id = b.id
@@ -115,6 +122,8 @@
         left join sys_user_manage_office sumo on sumo.office_id = sub.office_id
         left join cw_work_client_base cwcb on new_line.served_unit_id = cwcb.id
         LEFT JOIN cw_work_contract_info cw_ci on  b.contract_id=cw_ci.id
+        LEFT JOIN cw_project_report_number_apply cw_na on  a.id = cw_na.report_id
+         left join act_ru_task arta ON cw_na.proc_ins_id = arta.PROC_INST_ID_
         ${ew.customSqlSegment}
         ORDER BY a.create_time DESC
     </select>
@@ -176,7 +185,13 @@
         b.project_master_id as project_master_id1,
         b.real_header as project_master_id2,
         a.industry,
-        a.business_objects
+        a.business_objects,
+        a.report_name,
+        cw_na.proc_ins_id as applyProcId,
+        cw_na.process_definition_id as applyProcDefId,
+        ifnull(cw_na.review_status,'0') as applyStatus,
+        cw_na.take_number_type as takeNumberType,
+        cw_na.improper_take_cause as improperTakeCause
         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
@@ -188,6 +203,7 @@
         LEFT JOIN cw_project_report_signature cw_prs3 on cw_prs3.report_id = a.id and cw_prs3.type = '3' and cw_prs3.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'
+        LEFT JOIN cw_project_report_number_apply cw_na on  a.id = cw_na.report_id and cw_na.del_flag = '0'
         where a.id = #{id}
     </select>
     <select id="queryContainDelById" resultType="com.jeeplus.finance.projectReport.domain.CwProjectReportData">
@@ -247,7 +263,8 @@
         b.project_master_id as project_master_id1,
         b.real_header as project_master_id2,
         a.industry,
-        a.business_objects
+        a.business_objects,
+        a.report_name
         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
@@ -311,6 +328,7 @@
         a.del_flag,
         a.remarks,
         a.status,
+        a.report_name,
         a.document_no,
         a.project_report_number,
         a.project_id,
@@ -359,6 +377,7 @@
         a.project_report_number,
         a.project_id,
         a.office_id,
+        a.report_name,
         a.signature_type,
         a.signature_annotator1,
         a.signature_annotator2,
@@ -415,6 +434,7 @@
         d.name as userName,
         a.create_time,
         a.audit_fees,
+        a.report_name,
         e.name as projectMasterName,
         cw_prs1.proc_ins_id as proc_ins_id1,
         cw_prs1.process_definition_id as process_definition_id1,

+ 33 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/xml/CwProjectReportNumberApplyMapper.xml

@@ -0,0 +1,33 @@
+<?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.finance.projectReport.mapper.CwProjectReportNumberApplyMapper">
+    <update id="updateReviewStatysByReportId">
+        update cw_project_report_number_apply set review_status = #{reviewStatus}
+        where report_id = #{id}
+    </update>
+    <update id="updateReviewById">
+        UPDATE cw_project_report_number_apply
+        SET
+        <if test="reviewStatus != null and reviewStatus != ''">
+            review_status = #{reviewStatus},
+        </if>
+        <if test="takeNumberType != null and takeNumberType != ''">
+            take_number_type = #{takeNumberType},
+        </if>
+        <if test="improperTakeCause != null and improperTakeCause != ''">
+            improper_take_cause = #{improperTakeCause},
+        </if>
+        update_by_id = #{updateById},
+        update_time = #{updateTime}
+        WHERE
+        id = #{id}
+        AND del_flag = 0
+    </update>
+    <select id="selectByReportId"
+            resultType="com.jeeplus.finance.projectReport.domain.CwProjectReportNumberApply">
+        select * from cw_project_report_number_apply where report_id = #{id}
+    </select>
+    <select id="selectByPortId" resultType="com.jeeplus.finance.projectReport.domain.CwProjectReportData">
+         select * from cw_project_report_number_apply where report_id = #{id}
+    </select>
+</mapper>

+ 270 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/service/CwProjectReportNumberApplyService.java

@@ -0,0 +1,270 @@
+package com.jeeplus.finance.projectReport.service;
+
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.extra.spring.SpringUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jeeplus.common.TokenProvider;
+import com.jeeplus.finance.projectRecords.domain.CwProjectRecords;
+import com.jeeplus.finance.projectReport.domain.*;
+import com.jeeplus.finance.projectReport.mapper.CwProjectInfoMapper;
+import com.jeeplus.finance.projectReport.mapper.CwProjectReportNumberApplyMapper;
+import com.jeeplus.finance.projectReport.mapper.CwProjectReportReviewMapper;
+import com.jeeplus.finance.reimbursementApproval.approvalInfo.service.dto.ReportNoDto;
+import com.jeeplus.sys.feign.IUserApi;
+import com.jeeplus.sys.feign.IWorkAttachmentApi;
+import com.jeeplus.sys.service.dto.UserDTO;
+import org.apache.commons.lang3.StringUtils;
+import org.flowable.editor.language.json.converter.util.CollectionUtils;
+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.Map;
+import java.util.UUID;
+
+/**
+ * @author 王强
+ * @version 1.0
+ * @date 2023-12-12 17:02
+ */
+@Service
+@Transactional
+public class CwProjectReportNumberApplyService extends ServiceImpl<CwProjectReportNumberApplyMapper, CwProjectReportNumberApply> {
+
+    @Resource
+    private CwProjectReportNumberApplyMapper mapper;
+
+    @Resource
+    private CwProjectReportReviewMapper reviewMapper;
+
+    @Resource
+    private CwProjectInfoMapper infoMapper;
+
+    @Resource
+    private CwProjectReportService cwProjectReportService;
+
+    public CwProjectReportData queryByReportId(String id) throws IllegalAccessException, NoSuchMethodException, InvocationTargetException {
+        CwProjectReportData data = mapper.selectByPortId(id);
+        //查询复核相关信息
+
+        return data;
+    }
+
+    /**
+     * 修改状态
+     * @param data
+     * @return
+     */
+    public String updateReviewStatysByReportId(CwProjectReportData data) {
+        //获取当前登录人信息
+        UserDTO userDTO = SpringUtil.getBean ( IUserApi.class ).getByToken(TokenProvider.getCurrentToken ( ));
+        mapper.updateReviewStatysByReportId(data.getApplyStatus(),data.getId());
+
+        return "操作成功";
+    }
+
+    /**
+     * 保存项目以及其他相关信息
+     * @param reportData
+     * @return
+     * @throws Exception
+     */
+    public String saveForm(CwProjectReportData reportData) throws Exception{
+        if (StringUtils.isNotEmpty(reportData.getId())){
+
+            CwProjectReportNumberApply detail = mapper.selectById(reportData.getId());
+            if (detail != null){
+                reportData.setCreateBy(reportData.getCreateBy());
+                return update(reportData,detail);
+            } else {
+                //传过来的是报告表id
+                detail = mapper.selectByReportId(reportData.getId());
+                if (detail != null){
+                    reportData.setCreateBy(reportData.getCreateBy());
+                    return update(reportData,detail);
+                }
+            }
+        }
+        return add(reportData);
+
+    }
+
+    /**
+     * 报告号修改
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public String update(CwProjectReportData reportData,CwProjectReportNumberApply detail) throws Exception{
+        //获取当前登录人信息
+        UserDTO userDTO = SpringUtil.getBean ( IUserApi.class ).getByToken(TokenProvider.getCurrentToken ( ));
+        CwProjectReportNumberApply review = new CwProjectReportNumberApply();
+        BeanUtils.copyProperties(reportData, review);
+        review.setCreateById(detail.getCreateById());
+        review.setCreateTime(detail.getCreateTime());
+        review.setUpdateById(userDTO.getId());
+        review.setUpdateTime(new Date());
+        review.setId(detail.getId());
+        String currentToken = TokenProvider.getCurrentToken();
+
+
+        if (reportData.getReviewStatus().equals("5")){
+            //设置报告文号、报告流水号
+            CwProjectInfoData infoData = new CwProjectInfoData();
+            //报告文号生成
+            String documentNo = "";
+            if(StringUtils.isNotBlank(reportData.getReportNo())){
+                infoData.setReportNo(reportData.getReportNo());
+            }else{
+                if(StringUtils.isNotBlank(reportData.getReportType())) {
+                    ReportNoDto projectReportByNumber = new ReportNoDto();
+                    switch (reportData.getReportType()) {
+                        case "1":   //基字
+                            do{
+                                documentNo = SpringUtil.getBean ( IWorkAttachmentApi.class ).genSerialNumNoSort(userDTO.getCompanyDTO().getId(), CwProjectInfoData.BIZ_CODE,currentToken);
+                                //根据报告号查询诗剧苦中是否存在
+                                projectReportByNumber = reviewMapper.getProjectReportByNumber(documentNo);
+                            }while (null != projectReportByNumber && StringUtils.isNotBlank(projectReportByNumber.getReportNo()));
+                            break;
+                        case "2":   //咨字
+                            do{
+                                documentNo = SpringUtil.getBean ( IWorkAttachmentApi.class ).genSerialNumNoSort(userDTO.getCompanyDTO().getId(), CwProjectInfoData.CONSULT_BIZ_CODE,currentToken);
+                                //根据报告号查询诗剧苦中是否存在
+                                projectReportByNumber = reviewMapper.getProjectReportByNumber(documentNo);
+                            }while (null != projectReportByNumber && StringUtils.isNotBlank(projectReportByNumber.getReportNo()));
+                            break;
+                        case "3":   //审字
+                            do{
+                                documentNo = SpringUtil.getBean ( IWorkAttachmentApi.class ).genSerialNumNoSort(userDTO.getCompanyDTO().getId(), CwProjectInfoData.EXAMINE_BIZ_CODE,currentToken);
+                                //根据报告号查询诗剧苦中是否存在
+                                projectReportByNumber = reviewMapper.getProjectReportByNumber(documentNo);
+                            }while (null != projectReportByNumber && StringUtils.isNotBlank(projectReportByNumber.getReportNo()));
+                            break;
+                        case "4":   //验字
+                            do{
+                                documentNo = SpringUtil.getBean ( IWorkAttachmentApi.class ).genSerialNumNoSort(userDTO.getCompanyDTO().getId(), CwProjectInfoData.CHECK_BIZ_CODE,currentToken);
+                                //根据报告号查询诗剧苦中是否存在
+                                projectReportByNumber = reviewMapper.getProjectReportByNumber(documentNo);
+                            }while (null != projectReportByNumber && StringUtils.isNotBlank(projectReportByNumber.getReportNo()));
+                            break;
+                        case "5":   //特字
+                            do{
+                                documentNo = SpringUtil.getBean ( IWorkAttachmentApi.class ).genSerialNumNoSort(userDTO.getCompanyDTO().getId(), CwProjectInfoData.SPECIAL_BIZ_CODE,currentToken);
+                                //根据报告号查询诗剧苦中是否存在
+                                projectReportByNumber = reviewMapper.getProjectReportByNumber(documentNo);
+                            }while (null != projectReportByNumber && StringUtils.isNotBlank(projectReportByNumber.getReportNo()));
+                            break;
+                    }
+                }
+
+                if(StringUtils.isNotBlank(reportData.getReportNumber())){
+                    infoData.setReportNumber(reportData.getReportNumber());
+                }else {
+                    //报告流水号生成  根据项目编号去new_line表查询
+                    String reportNumber = infoMapper.selectReportNumberByProjectNo(reportData.getProjectNumber());
+                    if (null != reportNumber) {
+                        int stress = 0;
+                        stress = reportNumber.indexOf("-");//分隔符位置
+                        String substring = reportNumber.substring(stress + 1, reportNumber.length());
+                        int integer = Integer.parseInt(substring);
+
+                        String newReportNumber = "";
+                        if (integer < 10) {
+                            if (integer == 9) {
+                                newReportNumber = reportData.getProjectNumber() + "-010";
+                            } else {
+                                newReportNumber = reportData.getProjectNumber() + "-00" + (integer + 1);
+                            }
+                        } else {
+                            if (integer < 100) {
+                                if (integer == 99) {
+                                    newReportNumber = reportData.getProjectNumber() + "-100";
+                                } else {
+                                    newReportNumber = reportData.getProjectNumber() + "-0" + (integer + 1);
+                                }
+                            } else {
+                                newReportNumber = reportData.getProjectNumber() + "-" + (integer + 1);
+                            }
+                        }
+
+                        infoData.setReportNumber(newReportNumber);
+                    } else {
+                        infoData.setReportNumber(reportData.getProjectNumber() + "-001");
+                    }
+                }
+                infoData.setReportId(detail.getReportId());
+                infoData.setReportNo(documentNo);
+                // 如果数据已经生成报告文号,则不重复生成
+                CwProjectInfoData byReportId = infoMapper.getByReportId(detail.getReportId());
+                if(ObjectUtil.isNotEmpty(byReportId)) {
+                    if (StringUtils.isNotBlank(byReportId.getReportNo())) {
+                        infoData.setReportNo(byReportId.getReportNo());
+                    }
+                }
+                infoMapper.updateByReportId(detail.getReportId(),infoData.getReportNumber(),infoData.getReportNo());
+            }
+
+            if (ObjectUtil.isNotEmpty(reportData)) {
+                if (ObjectUtil.isNotEmpty(reportData.getReportDate())) {
+                    CwProjectInfoData line = new CwProjectInfoData();
+                    line.setReportDate(reportData.getReportDate());
+                    line.setReportId(reportData.getId());
+                    infoMapper.update(line, new QueryWrapper<CwProjectInfoData>().lambda().eq(CwProjectInfoData::getReportId,reportData.getId()));
+                }
+                CwProjectReport report = new CwProjectReport();
+                if (StringUtils.isNotBlank(reportData.getRegisterAddress())){
+                    report.setRegisterAddress(reportData.getRegisterAddress());
+                }
+                if (StringUtils.isNotBlank(reportData.getBusinessLocation())){
+                    report.setBusinessLocation(reportData.getBusinessLocation());
+                }
+                if (StringUtils.isNotBlank(reportData.getSecurityBusiness())){
+                    report.setSecurityBusiness(reportData.getSecurityBusiness());
+                }
+                if (StringUtils.isNotBlank(reportData.getIndustry())){
+                    report.setIndustry(reportData.getIndustry());
+                }
+                if (StringUtils.isNotBlank(reportData.getBusinessObjects())){
+                    report.setBusinessObjects(reportData.getBusinessObjects());
+                }
+                if (ObjectUtil.isNotEmpty(report)) {
+                    cwProjectReportService.updateCwProjectReportDataById(report);
+                }
+            }
+        }
+        mapper.updateReviewById(review);
+        //对复核数据进行持久化操作
+        //保存复核信息  只保存一个下一节点审核人信息
+        CwProjectReview cwProjectReview = reviewMapper.selectByReportId(reportData.getId());
+        cwProjectReview.setReviewBy(reportData.getReviewBy());
+        reviewMapper.updateReviewById(cwProjectReview);
+        return review.getId();
+    }
+
+    public String add(CwProjectReportData dto) throws Exception{
+
+        //生成主键id值
+        String id = UUID.randomUUID().toString().replace("-", "");
+        //获取当前登录人信息
+        UserDTO userDTO = SpringUtil.getBean ( IUserApi.class ).getByToken(TokenProvider.getCurrentToken ( ));
+        //保存基本信息
+        CwProjectReportNumberApply info = new CwProjectReportNumberApply();
+        BeanUtils.copyProperties(dto, info);
+
+        info.setId(id);
+        info.setCreateById(userDTO.getId());
+        info.setCreateTime(new Date());
+        info.setUpdateById(userDTO.getId());
+        info.setUpdateTime(new Date());
+        info.setReportId(dto.getId());
+        mapper.insert(info);
+        //保存复核信息  只保存一个下一节点审核人信息
+        CwProjectReview cwProjectReview = reviewMapper.selectByReportId(dto.getId());
+        cwProjectReview.setReviewBy(dto.getReviewBy());
+        reviewMapper.updateReviewById(cwProjectReview);
+
+        return info.getId();
+    }
+}

+ 453 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/service/CwProjectReportService.java

@@ -112,6 +112,9 @@ public class CwProjectReportService extends ServiceImpl<CwProjectReportMapper, C
     @Resource
     private CwSignatureAnnotatorMapper cwSignatureAnnotatorMapper;
 
+    @Resource
+    private CwProjectReportNumberApplyMapper applyMapper;
+
 
     /**
      * 保存项目以及其他相关信息
@@ -134,6 +137,27 @@ public class CwProjectReportService extends ServiceImpl<CwProjectReportMapper, C
 
     }
 
+
+    /**
+     * 保存项目以及其他相关信息
+     * @param reportData
+     * @return
+     * @throws Exception
+     */
+    public String saveForm2(CwProjectReportData reportData) throws Exception{
+        if (StringUtils.isNotEmpty(reportData.getId())){
+
+            CwProjectReport report = reportMapper.getById(reportData.getId());
+            if (report != null){
+                reportData.setCreateBy(reportData.getCreateBy());
+                reportData.setProcInsReview(report.getProcInsReview());
+                reportData.setReviewStatus(report.getReviewStatus());
+                return update2(reportData);
+            }
+        }
+        return null;
+    }
+
     /**
      * 合同登记修改
      */
@@ -190,6 +214,92 @@ public class CwProjectReportService extends ServiceImpl<CwProjectReportMapper, C
         return report.getId();
     }
 
+    /**
+     * 合同登记修改
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public String update2(CwProjectReportData reportData) throws Exception{
+        //获取当前登录人信息
+        UserDTO userDTO = SpringUtil.getBean ( IUserApi.class ).getByToken(TokenProvider.getCurrentToken ( ));
+
+        CwProjectReport report = new CwProjectReport();
+        BeanUtils.copyProperties(reportData, report);
+        report.setUpdateById(userDTO.getId());
+        report.setUpdateTime(new Date());
+        reportMapper.updateCwProjectReportDataById(report);
+        //修改新增行数据
+        CwProjectInfoData infoData = infoMapper.selectInfoByReportId(report.getId());
+        infoData.setServedUnitName(report.getServedUnitName());
+        infoData.setReportDate(report.getReportDate());
+        infoData.setReportType(report.getReportType());
+        infoData.setOpinionType(report.getOpinionType());
+        infoData.setSealType(report.getSealType());
+        infoData.setServedUnitId(report.getServedUnitId());
+        infoData.setUpdateById(userDTO.getId());
+//        infoData.setUpdateById(UserUtils.getCurrentUserDTO().getId());
+        infoData.setUpdateTime(new Date());
+        infoMapper.updateCwProjectInfoDataById(infoData);
+
+
+        //对上传的文件数据进行持久化操作
+//        List<WorkAttachmentInfo> cwFileInfoList3 = report.getCwFileInfoList3();
+//        if (CollectionUtils.isNotEmpty(cwFileInfoList3)) {
+//
+//            Map<String,String> map = new HashMap<>();
+//            String fileList = JSON.toJSONString((cwFileInfoList3));
+//            String attachmentId = report.getId();
+//            String attachmentFlag = "cwReportNumberApply";
+//            map.put("fileList",fileList);
+//            map.put("attachmentId",attachmentId);
+//            map.put("attachmentFlag",attachmentFlag);
+//            map.put("currentToken",TokenProvider.getCurrentToken ( ));
+//            SpringUtil.getBean ( IWorkAttachmentApi.class ).saveOrUpdateFileList(map);
+//
+//        }
+
+        //对上传的附件进行持久化操作
+        List<WorkAttachmentInfo> fileInfoList3 = new ArrayList<>();
+        if ( null !=report.getCwFileInfoList3()){
+            fileInfoList3 = report.getCwFileInfoList3();
+        }
+        SpringUtil.getBean ( IWorkAttachmentApi.class ).deleteByAttachmentId(report.getId());
+
+        AtomicInteger j2 = new AtomicInteger(1);
+        if (fileInfoList3 != null){
+            fileInfoList3.forEach(item -> {
+                WorkAttachmentInfo i = new WorkAttachmentInfo();
+                //包含了url、size、name
+                i.setId(UUID.randomUUID().toString().replace("-", ""));
+                i.setCreateTime(new Date());
+                i.setUpdateTime(new Date());
+                i.setCreateById(userDTO.getId());
+                i.setUpdateById(userDTO.getId());
+                i.setDelFlag(0);
+                i.setUrl(item.getUrl());
+                //文件类型处理
+                List<String> strings = Arrays.asList(item.getName().split("\\."));
+                if (CollectionUtils.isNotEmpty(strings)) {
+                    i.setType(strings.get(1));
+                }
+                i.setAttachmentId(report.getId());
+                i.setAttachmentName(item.getName());
+                i.setAttachmentFlag("cw_project_report_number_apply");
+                i.setFileSize(item.getSize());
+                i.setSort(j2.get());
+
+                Map<String,String> map = new HashMap<>();
+                String workAttachment = JSON.toJSONString((i));
+                String userDTOInfo = JSON.toJSONString((userDTO));
+                map.put("workAttachment",workAttachment);
+                map.put("userDTO",userDTOInfo);
+                SpringUtil.getBean ( IWorkAttachmentApi.class ).insertWorkAttachment(map);
+
+            });
+        }
+
+        return report.getId();
+    }
+
     public void updateSignatureInfo(CwProjectReportData projectReportData){
         reportMapper.updateSignatureInfo(projectReportData);
     }
@@ -932,6 +1042,349 @@ public class CwProjectReportService extends ServiceImpl<CwProjectReportMapper, C
         return reportData;
     }
 
+    public CwProjectReportData queryById2(String id) {
+
+        CwProjectReportData reportData = reportMapper.queryById(id);
+
+        //将新增行数据查询出来放入到cwProjectInfoList中
+        CwProjectInfoData cwProjectInfoData = infoMapper.selectByReportId(id);
+        if (null != cwProjectInfoData){
+            reportData.setServedUnitName(cwProjectInfoData.getServedUnitName());
+            reportData.setServedUnitId(cwProjectInfoData.getServedUnitId());
+            reportData.setReportDate(cwProjectInfoData.getReportDate());
+            reportData.setReportType(cwProjectInfoData.getReportType());
+            reportData.setReportNumber(cwProjectInfoData.getReportNumber());
+            reportData.setReportNo(cwProjectInfoData.getReportNo());
+            reportData.setSealType(cwProjectInfoData.getSealType());
+        }
+
+//        List<CwProjectInfoData> infoData = new ArrayList<>();
+
+        List<ProjectReportWorkAttachmentDTO> dtoList = new ArrayList<>();
+        List<ProjectReportWorkAttachmentDTO> signatureList = new ArrayList<>();
+        if ( null != reportData){
+
+            List<ProjectReportWorkAttachmentDTO> dtos = attachmentMapper.selectByInfoId(reportData.getId());
+            if (null != dtos){
+
+                Iterator<ProjectReportWorkAttachmentDTO> it = dtos.iterator();
+                while(it.hasNext()){
+                    ProjectReportWorkAttachmentDTO d = it.next();
+                    //根据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.getCreateById());
+                        userDTO.setId(file.getCreateById());
+                        userDTO.setName(name);
+                        d.setCreateBy(userDTO);
+                        d.setCreateTime(file.getCreateTime());
+                        dtoList.add(d);
+                        it.remove();
+                    }
+
+                    //已签章附件
+                    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.getCreateById());
+                        userDTO2.setId(signatureFile.getCreateById());
+                        userDTO2.setName(name2);
+                        d.setCreateBy(userDTO2);
+                        d.setCreateTime(signatureFile.getCreateTime());
+                        signatureList.add(d);
+                        it.remove();
+                    }
+                }
+                reportData.setCwFileInfoList(dtoList);
+                reportData.setSignatureFileList(signatureList);
+            }
+
+            //将附件信息查出
+            // 查询附件信息
+            List<WorkAttachmentInfo> fileInfo2 = reportMapper.findDtos(id);
+            List<WorkAttachmentInfo> reportFileList = Lists.newArrayList();
+            if(CollectionUtils.isNotEmpty(dtos) && CollectionUtils.isNotEmpty(fileInfo2)){
+                for (ProjectReportWorkAttachmentDTO dto : dtos) {
+                    for (WorkAttachmentInfo workAttachmentDto : fileInfo2) {
+                        if(dto.getId().equals(workAttachmentDto.getId())){
+                            reportFileList.add(workAttachmentDto);
+                        }
+                    }
+                }
+            }
+
+            if (CollectionUtils.isNotEmpty(dtos)) {
+                for (WorkAttachmentInfo i : reportFileList) {
+                    i.setCreateBy(SpringUtil.getBean ( IUserApi.class ).getById(i.getBy()));
+                }
+            }
+            reportData.setCwFileInfoList3(reportFileList);
+            //设置历史报告列表
+            //根据项目id查出所有的信息
+            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(finalReportData1.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.getCreateById());
+                                userDTO.setId(file.getCreateById());
+                                userDTO.setName(name);
+                                fi.setCreateBy(userDTO);
+                                fi.setCreateTime(file.getCreateTime());
+                                fileList.add(fi);
+                            }
+                        });
+                        //设置附件信息
+                        infoData.setCwFileInfoList(fileList);
+                        if (pro.getStatus().equals("5")) {
+                            infoData.setDocumentStatus("已完成");
+                        }
+                        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());
+                reportData.setReportReviewNo(review.getReportReviewNo());
+                reportData.setReviewBy(review.getReviewBy());
+                //将一级复核等填入数据查出
+                List<CwProofreadDetail> details = detailMapper.findByReportInfoId(review.getId());
+                if (null != details) {
+                    reportData.setDetails(details);
+                }
+            }
+            //根据报告类型查询下一节点用户
+            List<ReviewUser> stringList = new ArrayList<>();
+            //如果是苏州分部,这里写死
+            String officeId = reportMapper.getCorrelationOfficeIdByName("苏州分公司");
+            if (StringUtils.isNotBlank(officeId) && officeId.contains(reportData.getOfficeId())){
+                stringList = reportMapper.getReviewByPost("质控-苏州分部");
+            }else if (reportData.getReportType().equals("1")) {
+                stringList = reportMapper.getReviewByPost("质控-财务-苏兴会基字");
+            } else {
+                stringList = reportMapper.getReviewByPost("质控-财务-非苏兴会基字");
+            }
+            reportData.setReviewBys(stringList);
+        } else {
+            //传来的是  报告号申请表 的id
+            CwProjectReportNumberApply review = applyMapper.selectById(id);
+            if (null != review) {
+                reportData = reportMapper.queryById(review.getReportId());
+                if ( null != reportData){
+                    List<ProjectReportWorkAttachmentDTO> dtos = attachmentMapper.selectByInfoId(reportData.getId());
+                    if (null != dtos){
+
+                        Iterator<ProjectReportWorkAttachmentDTO> it = dtos.iterator();
+                        while(it.hasNext()){
+                            ProjectReportWorkAttachmentDTO d = it.next();
+                            //根据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.getCreateById());
+                                userDTO.setId(file.getCreateById());
+                                userDTO.setName(name);
+                                d.setCreateBy(userDTO);
+                                d.setCreateTime(file.getCreateTime());
+                                dtoList.add(d);
+                                it.remove();
+                            }
+
+                            //已签章附件
+                            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.getCreateById());
+                                userDTO2.setId(signatureFile.getCreateById());
+                                userDTO2.setName(name2);
+                                d.setCreateBy(userDTO2);
+                                d.setCreateTime(signatureFile.getCreateTime());
+                                signatureList.add(d);
+                                it.remove();
+                            }
+                        }
+                        reportData.setCwFileInfoList(dtoList);
+                        reportData.setSignatureFileList(signatureList);
+                    }
+                    //将附件信息查出
+                    // 查询附件信息
+                    List<WorkAttachmentInfo> fileInfo2 = reportMapper.findDtos(reportData.getId());
+                    List<WorkAttachmentInfo> reportFileList = Lists.newArrayList();
+                    if(CollectionUtils.isNotEmpty(dtos) && CollectionUtils.isNotEmpty(fileInfo2)){
+                        for (ProjectReportWorkAttachmentDTO dto : dtos) {
+                            for (WorkAttachmentInfo workAttachmentDto : fileInfo2) {
+                                if(dto.getId().equals(workAttachmentDto.getId())){
+                                    reportFileList.add(workAttachmentDto);
+                                }
+                            }
+                        }
+                    }
+
+                    if (CollectionUtils.isNotEmpty(dtos)) {
+                        for (WorkAttachmentInfo i : reportFileList) {
+                            i.setCreateBy(SpringUtil.getBean ( IUserApi.class ).getById(i.getBy()));
+                        }
+                    }
+                    reportData.setCwFileInfoList3(reportFileList);
+                    //设置历史报告列表
+                    //根据项目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.getCreateById());
+                                        userDTO.setId(file.getCreateById());
+                                        userDTO.setName(name);
+                                        fi.setCreateBy(userDTO);
+                                        fi.setCreateTime(file.getCreateTime());
+                                        fileList.add(fi);
+                                    }
+                                });
+                                //设置附件信息
+                                infoData.setCwFileInfoList(fileList);
+                                if (pro.getStatus().equals("5")) {
+                                    infoData.setDocumentStatus("已完成");
+                                }
+                                dataInfoList.add(infoData);
+                            }
+                        });
+                    }
+
+                    reportData.setCwWorkClientContactDTOList(dataInfoList);
+
+                    //将复核数据查出来
+                    //设置下一节点审核人信息
+                    CwProjectReview projectReview = reviewMapper.selectByReportId(reportData.getId());
+                    reportData.setReviewBy(projectReview.getReviewBy());
+
+                    //将一级复核等填入数据查出
+                    List<CwProofreadDetail> details = detailMapper.findByReportInfoId(review.getId());
+                    if (null != details) {
+                        reportData.setDetails(details);
+                    }
+                    //根据报告类型查询下一节点用户
+                    List<ReviewUser> stringList = new ArrayList<>();
+                    //如果是苏州分部,这里写死
+                    String officeId = reportMapper.getCorrelationOfficeIdByName("苏州分公司");
+                    if (StringUtils.isNotBlank(officeId) && officeId.contains(reportData.getOfficeId())){
+                        stringList = reportMapper.getReviewByPost("质控-苏州分部");
+                    }else if (reportData.getReportType().equals("1")) {
+                        stringList = reportMapper.getReviewByPost("质控-财务-苏兴会基字");
+                    } else {
+                        stringList = reportMapper.getReviewByPost("质控-财务-非苏兴会基字");
+                    }
+                    reportData.setReviewBys(stringList);
+                    //将新增行数据查询出来放入到cwProjectInfoList中
+                    cwProjectInfoData = infoMapper.selectByReportId(reportData.getId());
+                    if (null != cwProjectInfoData){
+                        reportData.setServedUnitName(cwProjectInfoData.getServedUnitName());
+                        reportData.setServedUnitId(cwProjectInfoData.getServedUnitId());
+                        reportData.setReportDate(cwProjectInfoData.getReportDate());
+                        reportData.setReportType(cwProjectInfoData.getReportType());
+                        reportData.setReportNumber(cwProjectInfoData.getReportNumber());
+                        reportData.setReportNo(cwProjectInfoData.getReportNo());
+                        reportData.setSealType(cwProjectInfoData.getSealType());
+                    }
+                }
+            }
+
+        }
+        CwSignatureAnnotator cwSignatureAnnotator=cwSignatureAnnotatorMapper.getSigById(id);
+        if (ObjectUtil.isNotEmpty(cwSignatureAnnotator)){
+            reportData.setProcInsSigId(cwSignatureAnnotator.getProcInsId());
+            reportData.setSigReason(cwSignatureAnnotator.getReason());
+        }
+        return reportData;
+    }
+
 
     public Map getAuditInfoMap(HttpServletResponse response, String id) {
 

+ 2 - 0
jeeplus-modules/jeeplus-public-modules/src/main/java/com/jeeplus/pubmodules/oss/mapper/xml/OssServiceMapper.xml

@@ -61,6 +61,7 @@
             create_time,
             update_by_id,
             update_time,
+            del_flag,
             url,
             type,
             attachment_id,
@@ -75,6 +76,7 @@
             #{workAttachment.createTime},
             #{userDto.id},
             #{workAttachment.updateTime},
+            #{workAttachment.delFlag},
             #{workAttachment.url},
             #{workAttachment.type},
             #{workAttachment.attachmentId},

+ 2 - 0
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/notify/mapper/NotifyMapper.java

@@ -3,6 +3,7 @@
  */
 package com.jeeplus.notify.mapper;
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -18,6 +19,7 @@ import org.apache.ibatis.annotations.Param;
  * @author jeeplus
  * @version 2021-05-16
  */
+@InterceptorIgnore(tenantLine = "true")
 public interface NotifyMapper extends BaseMapper <Notify> {
 
     /**

+ 2 - 0
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/notify/mapper/NotifyRecordMapper.java

@@ -3,6 +3,7 @@
  */
 package com.jeeplus.notify.mapper;
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.jeeplus.notify.domain.NotifyRecord;
 import com.jeeplus.notify.service.dto.NotifyRecordDTO;
@@ -16,6 +17,7 @@ import java.util.List;
  * @author jeeplus
  * @version 2021-05-16
  */
+@InterceptorIgnore(tenantLine = "true")
 public interface NotifyRecordMapper extends BaseMapper <NotifyRecord> {
 
     List <NotifyRecordDTO> findListByNotifyId(@Param("notifyId") String notifyId);