sangwenwei 1 anno fa
parent
commit
051d522c2a
19 ha cambiato i file con 862 aggiunte e 28 eliminazioni
  1. 64 0
      jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/assessSignatureDaily/domain/SignatureDailyFile.java
  2. 21 0
      jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/assessSignatureDaily/mapper/AssessSignatureDailyFileMapper.java
  3. 20 0
      jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/assessSignatureDaily/mapper/xml/AssessSignatureDailyFileMapper.xml
  4. 128 8
      jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/assessSignatureDaily/service/AssessSignatureDailyOfficeWorkService.java
  5. 118 4
      jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/assessSignatureDaily/service/AssessSignatureProjectReportService.java
  6. 4 1
      jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/assessSignatureDaily/service/dto/AssessSignatureDailyOfficeWorkDTO.java
  7. 70 0
      jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/assessSignatureDaily/service/dto/AssessSignatureDailyWorkAttachmentDTO.java
  8. 3 1
      jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/assessSignatureDaily/service/dto/AssessSignatureProjectReportRelationDTO.java
  9. 4 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectRecords/domain/CwProjectRecords.java
  10. 2 1
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectRecords/mapper/xml/CwProjectRecordsMapper.xml
  11. 4 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectRecords/service/dto/CwProjectRecordsDTO.java
  12. 64 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/signatureDaily/domain/CwSignatureDailyFile.java
  13. 16 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/signatureDaily/mapper/SignatureDailyFileMapper.java
  14. 12 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/signatureDaily/mapper/xml/SignatureDailyFileMapper.xml
  15. 132 8
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/signatureDaily/service/SignatureDaulyOfficeWorkService.java
  16. 123 4
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/signatureDaily/service/SignatureProjectReportService.java
  17. 3 1
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/signatureDaily/service/dto/SignatureDailyOfficeWorkDTO.java
  18. 71 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/signatureDaily/service/dto/SignatureDailyWorkAttachmentDTO.java
  19. 3 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/signatureDaily/service/dto/SignatureProjectReportRelationDTO.java

+ 64 - 0
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/assessSignatureDaily/domain/SignatureDailyFile.java

@@ -0,0 +1,64 @@
+package com.jeeplus.assess.assessSignatureDaily.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import com.jeeplus.sys.service.dto.UserDTO;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 签章附件表
+ * @author: 徐滕
+ * @version: 2022-11-10 15:02
+ */
+@Data
+@TableName("signature_daily_file")
+public class SignatureDailyFile extends BaseEntity {
+
+    /**
+     * work_attachment_id
+     */
+    private String reportFileId;
+    /**
+     * 文件类型
+     * 1:正文
+     * 2:封面
+     * 3:报表
+     * 4:附注
+     * 5:其他
+     */
+    private String fileType;
+
+    /**
+     * 盖章类型
+     * 1:电子章
+     * 2:不盖章
+     */
+    private String sealType;
+
+    /**
+     * 已盖章
+     */
+    private String sealedFile;
+
+    /**
+     * 盖章人
+     */
+    private UserDTO sealUser;
+
+    /**
+     * 盖章时间
+     */
+    private Date sealDate;
+
+    /**
+     * 备注信息
+     */
+    private String remarks;
+
+    /**
+     * 附件归属(0:未盖章签章文件;1:已盖章签章文件)
+     */
+    private String fileAffiliation;
+}

+ 21 - 0
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/assessSignatureDaily/mapper/AssessSignatureDailyFileMapper.java

@@ -0,0 +1,21 @@
+package com.jeeplus.assess.assessSignatureDaily.mapper;
+
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import com.jeeplus.assess.assessSignatureDaily.domain.SignatureDailyFile;
+import com.jeeplus.assess.assessSignatureDaily.service.dto.AssessSignatureDailyWorkAttachmentDTO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface AssessSignatureDailyFileMapper extends BaseMapper<SignatureDailyFile> {
+    List<AssessSignatureDailyWorkAttachmentDTO> selectByInfoId(String id);
+
+    SignatureDailyFile selectInfoByFileId(@Param("id") String id);
+
+    @InterceptorIgnore(tenantLine = "true")
+    Integer deleteAttachement(@Param("id") String id,@Param("attachmentFlag") String attachmentFlag);
+}

+ 20 - 0
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/assessSignatureDaily/mapper/xml/AssessSignatureDailyFileMapper.xml

@@ -0,0 +1,20 @@
+<?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.assess.assessSignatureDaily.mapper.AssessSignatureDailyFileMapper">
+    <select id="selectByInfoId"
+            resultType="com.jeeplus.assess.assessSignatureDaily.service.dto.AssessSignatureDailyWorkAttachmentDTO">
+        select id,url,file_size as size,attachment_name as name from work_attachment where del_flag = 0 and attachment_id = #{id}
+    </select>
+
+    <select id="selectInfoByFileId" resultType="com.jeeplus.assess.assessSignatureDaily.domain.SignatureDailyFile">
+        select * from signature_daily_file where report_file_id = #{id} and del_flag = '0'
+    </select>
+
+    <delete id="deleteAttachement">
+        delete from work_attachment
+		WHERE
+			del_flag = 0
+			AND attachment_id = #{id}
+			AND attachment_flag = #{attachmentFlag}
+    </delete>
+</mapper>

+ 128 - 8
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/assessSignatureDaily/service/AssessSignatureDailyOfficeWorkService.java

@@ -10,8 +10,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.jeeplus.assess.assessSignatureDaily.domain.*;
+import com.jeeplus.assess.assessSignatureDaily.mapper.AssessSignatureDailyFileMapper;
 import com.jeeplus.assess.assessSignatureDaily.mapper.AssessSignatureDailyOfficeWorkMapper;
 import com.jeeplus.assess.assessSignatureDaily.service.dto.AssessSignatureDailyOfficeWorkDTO;
+import com.jeeplus.assess.assessSignatureDaily.service.dto.AssessSignatureDailyWorkAttachmentDTO;
 import com.jeeplus.assess.utils.Global;
 import com.jeeplus.assess.utils.SignaturePostUtil;
 import com.jeeplus.assess.workContract.mapper.WorkContractInfoMapper;
@@ -57,6 +59,9 @@ public class AssessSignatureDailyOfficeWorkService {
     @Resource
     private IFlowableApi flowTaskService;
 
+    @Resource
+    private AssessSignatureDailyFileMapper signatureDailyFileMapper;
+
 
     /**
      * 列表查询
@@ -174,6 +179,39 @@ public class AssessSignatureDailyOfficeWorkService {
                 }
             }
             dto.setFiles(fileList);
+            //查询已签章附件
+            List<AssessSignatureDailyWorkAttachmentDTO> signatureList = new ArrayList<>();
+            if (null !=dailyOfficeWorkDTO){
+                List<AssessSignatureDailyWorkAttachmentDTO> dtos = signatureDailyFileMapper.selectByInfoId(dailyOfficeWorkDTO.getId());
+                if (null != dtos){
+
+                    Iterator<AssessSignatureDailyWorkAttachmentDTO> it = dtos.iterator();
+                    while(it.hasNext()){
+                        AssessSignatureDailyWorkAttachmentDTO d = it.next();
+                        //根据id查出cw_project_report_file文件表的其他信息
+                        //未签章附件
+                        SignatureDailyFile file = signatureDailyFileMapper.selectInfoByFileId(d.getId());
+                        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查出创建人名称
+                            UserDTO byId = SpringUtil.getBean(IUserApi.class).getById(file.getCreateById());
+                            userDTO.setId(file.getCreateById());
+                            userDTO.setName(byId.getName());
+                            d.setCreateBy(userDTO);
+                            d.setCreateTime(file.getCreateTime());
+                            signatureList.add(d);
+                            it.remove();
+                        }
+                    }
+                    dto.setSignatureFiles(signatureList);
+                }
+            }
         }
         return dto;
     }
@@ -198,14 +236,23 @@ public class AssessSignatureDailyOfficeWorkService {
         signatureDailyOfficeWork.setUpdateById(userDTO.getId());
         signatureDailyOfficeWork.setUpdateTime(new Date());
         signatureDailyOfficeWorkMapper.updateById(signatureDailyOfficeWork);
+        // 修改附件信息列表
+        if ("5".equals(dto.getStatus())){
+            if (CollectionUtils.isNotEmpty(dto.getFiles())) {
+                updateFiles2(dto.getFiles(), userDTO, dto.getId(),"signatureDaily");
+
+            }
+        }else {
+            if (CollectionUtils.isNotEmpty(dto.getFiles())) {
+                updateFiles(dto.getFiles(), userDTO, dto.getId(),"signatureDaily");
+
+            }
+        }
+
         //生成签章信息
         if (StringUtils.isNotBlank(dto.getStatus())&&dto.getStatus().equals("2")){
             this.getManualSignatureUrl(dto.getId());
         }
-        // 修改附件信息列表
-        if (CollectionUtils.isNotEmpty(dto.getFiles())) {
-            updateFiles(dto.getFiles(), userDTO, dto.getId(),"signatureDaily");
-        }
         return signatureDailyOfficeWork;
     }
 
@@ -225,14 +272,15 @@ public class AssessSignatureDailyOfficeWorkService {
         signatureDailyOfficeWork.setUpdateTime(new Date());
         signatureDailyOfficeWork.setDelFlag(0);
         signatureDailyOfficeWorkMapper.insert(signatureDailyOfficeWork);
-        //生成签章流程
-        if ("2".equals(dto.getStatus())){
-            this.getManualSignatureUrl(id);
-        }
+
         // 保存附件列表信息
         if (CollectionUtils.isNotEmpty(dto.getFiles())) {
             saveFiles(dto.getFiles(), userDTO, id);
         }
+        //生成签章流程
+        if ("2".equals(dto.getStatus())){
+            this.getManualSignatureUrl(id);
+        }
         return signatureDailyOfficeWork;
     }
 
@@ -300,6 +348,70 @@ public class AssessSignatureDailyOfficeWorkService {
                 }
             }
         }
+        signatureDailyFileMapper.deleteAttachement(id,"signatureDaily");
+
+        //保存信息
+        for (WorkAttachmentInfo dto : list) {
+            //判断是否存在
+            Integer isExit = mapper.findIsExit(id, dto.getName());
+            if (isExit == 0) {
+                WorkAttachmentInfo i = new WorkAttachmentInfo();
+                //包含了url、size、name
+                i.setId(UUID.randomUUID().toString().replace("-", ""));
+//                i.getCreateBy().setId(userDTO.getId());
+                i.setCreateTime(new Date());
+//                i.getUpdateBy().setId(userDTO.getId());
+                i.setUpdateTime(new Date());
+                i.setDelFlag(0);
+                i.setUrl(dto.getUrl());
+                //文件类型处理
+                List<String> strings = Arrays.asList(dto.getName().split("\\."));
+                if (org.flowable.editor.language.json.converter.util.CollectionUtils.isNotEmpty(strings)) {
+                    i.setType(strings.get(1));
+                }
+                i.setAttachmentId(id);
+                i.setAttachmentName(dto.getName());
+                i.setAttachmentFlag(attachmentFlag);
+                i.setFileSize(dto.getSize());
+                i.setSort(j);
+                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);
+//                ossServiceMapper.insertWorkAttachment(i, userDTO);
+                j++;
+            }
+        }
+    }
+
+    /**
+     * 修改附件信息  对附件信息做持久化操作
+     * @param list 待修改的附件列表
+     * @param userDTO 当前登录用户
+     * @param id 关联id
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public void updateFiles2(List<WorkAttachmentInfo> list, UserDTO userDTO, String id, String attachmentFlag) {
+        int j = 1;
+        String names = new String();
+        //表中存在,但是传过来不存在,说明已删除,表中数据也要删除
+        for (WorkAttachmentInfo dto : list) {
+            names = names + "," +dto.getUrl();
+        }
+        //查询保存的附件信息
+        List<WorkAttachmentInfo> infoList = mapper.findListByIdAndAttachmentFlag(id,attachmentFlag);
+        if (org.flowable.editor.language.json.converter.util.CollectionUtils.isNotEmpty(infoList)) {
+            for (WorkAttachmentInfo i : infoList) {
+                if (!names.contains(i.getUrl())) {
+//                    ossServiceMapper.deleteById(i.getId());
+                    SpringUtil.getBean ( IWorkAttachmentApi.class ).deleteById(i.getId());
+                }
+            }
+        }
+        signatureDailyFileMapper.deleteAttachement(id,"signatureDaily");
+
         //保存信息
         for (WorkAttachmentInfo dto : list) {
             //判断是否存在
@@ -331,6 +443,14 @@ public class AssessSignatureDailyOfficeWorkService {
                 map.put("userDTO",userDTOInfo);
                 SpringUtil.getBean ( IWorkAttachmentApi.class ).insertWorkAttachment(map);
 //                ossServiceMapper.insertWorkAttachment(i, userDTO);
+                SignatureDailyFile cwSignatureDailyFile = new SignatureDailyFile();
+                BeanUtils.copyProperties(dto, cwSignatureDailyFile);
+                cwSignatureDailyFile.setReportFileId(i.getId());
+                cwSignatureDailyFile.setCreateById(userDTO.getId());
+                cwSignatureDailyFile.setCreateTime(new Date());
+                cwSignatureDailyFile.setUpdateById(userDTO.getId());
+                cwSignatureDailyFile.setUpdateTime(new Date());
+                signatureDailyFileMapper.insert(cwSignatureDailyFile);
                 j++;
             }
         }

+ 118 - 4
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/assessSignatureDaily/service/AssessSignatureProjectReportService.java

@@ -10,8 +10,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.jeeplus.assess.assessSignatureDaily.domain.*;
+import com.jeeplus.assess.assessSignatureDaily.mapper.AssessSignatureDailyFileMapper;
 import com.jeeplus.assess.assessSignatureDaily.mapper.AssessSignatureProjectReportMapper;
 import com.jeeplus.assess.assessSignatureDaily.mapper.AssessSignatureProjectReportRelevanceNumberMapper;
+import com.jeeplus.assess.assessSignatureDaily.service.dto.AssessSignatureDailyWorkAttachmentDTO;
 import com.jeeplus.assess.assessSignatureDaily.service.dto.AssessSignatureProjectReportRelationDTO;
 import com.jeeplus.assess.program.configuration.projectList.domain.ProgramProjectListInfo;
 import com.jeeplus.assess.program.configuration.projectList.mapper.ProjectListMapper;
@@ -64,6 +66,9 @@ public class AssessSignatureProjectReportService {
     @Resource
     private IFlowableApi flowTaskService;
 
+    @Resource
+    private AssessSignatureDailyFileMapper signatureDailyFileMapper;
+
     /**
      * 列表查询
      * @param page
@@ -182,6 +187,39 @@ public class AssessSignatureProjectReportService {
                 }
             }
             dto.setFiles(fileList);
+            //查询已签章附件
+            List<AssessSignatureDailyWorkAttachmentDTO> signatureList = new ArrayList<>();
+            if (null !=reportRelationDTO){
+                List<AssessSignatureDailyWorkAttachmentDTO> dtos = signatureDailyFileMapper.selectByInfoId(reportRelationDTO.getId());
+                if (null != dtos){
+
+                    Iterator<AssessSignatureDailyWorkAttachmentDTO> it = dtos.iterator();
+                    while(it.hasNext()){
+                        AssessSignatureDailyWorkAttachmentDTO d = it.next();
+                        //根据id查出cw_project_report_file文件表的其他信息
+                        //未签章附件
+                        SignatureDailyFile file = signatureDailyFileMapper.selectInfoByFileId(d.getId());
+                        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查出创建人名称
+                            UserDTO byId = SpringUtil.getBean(IUserApi.class).getById(file.getCreateById());
+                            userDTO.setId(file.getCreateById());
+                            userDTO.setName(byId.getName());
+                            d.setCreateBy(userDTO);
+                            d.setCreateTime(file.getCreateTime());
+                            signatureList.add(d);
+                            it.remove();
+                        }
+                    }
+                    dto.setSignatureFiles(signatureList);
+                }
+            }
         }
         return dto;
     }
@@ -213,6 +251,16 @@ public class AssessSignatureProjectReportService {
                 relevanceNumberMapper.insert(signatureProjectReportRelevanceNumber);
             }
         }
+        // 修改附件信息列表
+        if ("5".equals(dto.getStatus())){
+            if (CollectionUtils.isNotEmpty(dto.getFiles())) {
+                updateFiles2(dto.getFiles(), userDTO, dto.getId(),"signatureReport");
+            }
+        }else {
+            if (CollectionUtils.isNotEmpty(dto.getFiles())) {
+                updateFiles(dto.getFiles(), userDTO, dto.getId(),"signatureReport");
+            }
+        }
         //获取当前节点信息
         String currentTask = flowTaskService.getCurrentTaskName(dto.getProcInsId());
         if (StringUtils.isNotBlank(currentTask)){
@@ -223,10 +271,6 @@ public class AssessSignatureProjectReportService {
                 }
             }
         }
-        // 修改附件信息列表
-        if (CollectionUtils.isNotEmpty(dto.getFiles())) {
-            updateFiles(dto.getFiles(), userDTO, dto.getId(),"signatureReport");
-        }
         return signatureProjectReportRelation;
     }
 
@@ -305,6 +349,76 @@ public class AssessSignatureProjectReportService {
     }
 
     /**
+     * 修改附件信息 对签章附件做持久化处理
+     * @param list 待修改的附件列表
+     * @param userDTO 当前登录用户
+     * @param id 关联id
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public void updateFiles2(List<WorkAttachmentInfo> list, UserDTO userDTO, String id, String attachmentFlag) {
+        int j = 1;
+        String names = new String();
+        //表中存在,但是传过来不存在,说明已删除,表中数据也要删除
+        for (WorkAttachmentInfo dto : list) {
+            names = names + "," +dto.getUrl();
+        }
+        //查询保存的附件信息
+        List<WorkAttachmentInfo> infoList = mapper.findListByIdAndAttachmentFlag(id,attachmentFlag);
+        if (org.flowable.editor.language.json.converter.util.CollectionUtils.isNotEmpty(infoList)) {
+            for (WorkAttachmentInfo i : infoList) {
+                if (!names.contains(i.getUrl())) {
+//                    ossServiceMapper.deleteById(i.getId());
+                    SpringUtil.getBean ( IWorkAttachmentApi.class ).deleteById(i.getId());
+                }
+            }
+        }
+        signatureDailyFileMapper.deleteAttachement(id,"signatureReport");
+        //保存信息
+        for (WorkAttachmentInfo dto : list) {
+            //判断是否存在
+            Integer isExit = mapper.findIsExit(id, dto.getName());
+            if (isExit == 0) {
+                WorkAttachmentInfo i = new WorkAttachmentInfo();
+                //包含了url、size、name
+                i.setId(UUID.randomUUID().toString().replace("-", ""));
+//                i.getCreateBy().setId(userDTO.getId());
+                i.setCreateTime(new Date());
+//                i.getUpdateBy().setId(userDTO.getId());
+                i.setUpdateTime(new Date());
+                i.setDelFlag(0);
+                i.setUrl(dto.getUrl());
+                //文件类型处理
+                List<String> strings = Arrays.asList(dto.getName().split("\\."));
+                if (org.flowable.editor.language.json.converter.util.CollectionUtils.isNotEmpty(strings)) {
+                    i.setType(strings.get(1));
+                }
+                i.setAttachmentId(id);
+                i.setAttachmentName(dto.getName());
+                i.setAttachmentFlag(attachmentFlag);
+                i.setFileSize(dto.getSize());
+                i.setSort(j);
+                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);
+//                ossServiceMapper.insertWorkAttachment(i, userDTO);
+                SignatureDailyFile cwSignatureDailyFile = new SignatureDailyFile();
+                BeanUtils.copyProperties(dto, cwSignatureDailyFile);
+                cwSignatureDailyFile.setReportFileId(i.getId());
+                cwSignatureDailyFile.setCreateById(userDTO.getId());
+                cwSignatureDailyFile.setCreateTime(new Date());
+                cwSignatureDailyFile.setUpdateById(userDTO.getId());
+                cwSignatureDailyFile.setUpdateTime(new Date());
+                signatureDailyFileMapper.insert(cwSignatureDailyFile);
+                j++;
+            }
+        }
+    }
+
+
+    /**
      * 修改附件信息
      * @param list 待修改的附件列表
      * @param userDTO 当前登录用户

+ 4 - 1
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/assessSignatureDaily/service/dto/AssessSignatureDailyOfficeWorkDTO.java

@@ -74,8 +74,11 @@ public class AssessSignatureDailyOfficeWorkDTO extends BaseEntity {
         private String officeName;
 
         private String officeId;
-
+        //未签章附件
         private List<WorkAttachmentInfo> files;
+        //已签章附件
+        private List<AssessSignatureDailyWorkAttachmentDTO> signatureFiles;
+
 
         /**
          * 签章contractId

+ 70 - 0
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/assessSignatureDaily/service/dto/AssessSignatureDailyWorkAttachmentDTO.java

@@ -0,0 +1,70 @@
+package com.jeeplus.assess.assessSignatureDaily.service.dto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.jeeplus.core.service.dto.BaseDTO;
+import com.jeeplus.sys.service.dto.UserDTO;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 报告附件表
+ * @author: 徐滕
+ * @version: 2022-11-10 15:02
+ */
+@Data
+public class AssessSignatureDailyWorkAttachmentDTO extends BaseDTO {
+
+    private String name;
+
+    private String size;
+
+    private String url;
+
+    private UserDTO createBy;
+//    @TableField(exist = false)
+//    private String createBy;
+
+    @TableField(exist = false)
+    private String by;
+
+    /**
+     * 文件类型
+     * 1:正文
+     * 2:封面
+     * 3:报表
+     * 4:附注
+     * 5:其他
+     */
+    private String fileType;
+
+    /**
+     * 盖章类型
+     * 1:电子章
+     * 2:不盖章
+     */
+    private String sealType;
+
+    /**
+     * 已盖章
+     */
+    private String sealedFile;
+
+    /**
+     * 盖章人
+     */
+    private UserDTO sealUser;
+
+    /**
+     * 盖章时间
+     */
+    private Date sealDate;
+
+    /**
+     * 备注信息
+     */
+    private String remarks;
+
+    @TableField(exist = false)
+    private String reportFileId;
+}

+ 3 - 1
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/assessSignatureDaily/service/dto/AssessSignatureProjectReportRelationDTO.java

@@ -73,8 +73,10 @@ public class AssessSignatureProjectReportRelationDTO extends BaseEntity {
     private String officeName;
 
     private String officeId;
-
+    //未签章附件
     private List<WorkAttachmentInfo> files;
+    //已签章附件
+    private List<AssessSignatureDailyWorkAttachmentDTO> signatureFiles;
 
     private List<ProgramProjectListInfo> projectList;
     @Excel(name = "签章项目", width = 30, orderNum = "3")

+ 4 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectRecords/domain/CwProjectRecords.java

@@ -122,6 +122,10 @@ public class CwProjectRecords extends BaseEntity {
      * 是否有报告(0:无,1:有)
      */
     private String isHaveReport;
+    /**
+     * 是否预开票(0:否,1:是)
+     */
+    private String isPreInvoice;
 
 
 

+ 2 - 1
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectRecords/mapper/xml/CwProjectRecordsMapper.xml

@@ -92,7 +92,8 @@
         a.report_type,
         a.project_classification,
         a.report_review,
-        a.is_have_report
+        a.is_have_report,
+        a.is_pre_invoice
     </sql>
     <sql id="File_Column_List">
         wa.id,

+ 4 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectRecords/service/dto/CwProjectRecordsDTO.java

@@ -259,6 +259,10 @@ public class CwProjectRecordsDTO extends BaseDTO {
      * 是否有报告(0:无,1:有)
      */
     private String isHaveReport;
+    /**
+     * 是否预开票(0:否,1:是)
+     */
+    private String isPreInvoice;
 
 
 

+ 64 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/signatureDaily/domain/CwSignatureDailyFile.java

@@ -0,0 +1,64 @@
+package com.jeeplus.finance.signatureDaily.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import com.jeeplus.sys.service.dto.UserDTO;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 签章附件表
+ * @author: 徐滕
+ * @version: 2022-11-10 15:02
+ */
+@Data
+@TableName("cw_signature_daily_file")
+public class CwSignatureDailyFile extends BaseEntity {
+
+    /**
+     * work_attachment_id
+     */
+    private String reportFileId;
+    /**
+     * 文件类型
+     * 1:正文
+     * 2:封面
+     * 3:报表
+     * 4:附注
+     * 5:其他
+     */
+    private String fileType;
+
+    /**
+     * 盖章类型
+     * 1:电子章
+     * 2:不盖章
+     */
+    private String sealType;
+
+    /**
+     * 已盖章
+     */
+    private String sealedFile;
+
+    /**
+     * 盖章人
+     */
+    private UserDTO sealUser;
+
+    /**
+     * 盖章时间
+     */
+    private Date sealDate;
+
+    /**
+     * 备注信息
+     */
+    private String remarks;
+
+    /**
+     * 附件归属(0:未盖章签章文件;1:已盖章签章文件)
+     */
+    private String fileAffiliation;
+}

+ 16 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/signatureDaily/mapper/SignatureDailyFileMapper.java

@@ -0,0 +1,16 @@
+package com.jeeplus.finance.signatureDaily.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.finance.signatureDaily.domain.CwSignatureDailyFile;
+import com.jeeplus.finance.signatureDaily.service.dto.SignatureDailyWorkAttachmentDTO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface SignatureDailyFileMapper extends BaseMapper<CwSignatureDailyFile> {
+    List<SignatureDailyWorkAttachmentDTO> selectByInfoId(String id);
+
+    CwSignatureDailyFile selectInfoByFileId(@Param("id") String id);
+}

+ 12 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/signatureDaily/mapper/xml/SignatureDailyFileMapper.xml

@@ -0,0 +1,12 @@
+<?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.signatureDaily.mapper.SignatureDailyFileMapper">
+    <select id="selectByInfoId"
+            resultType="com.jeeplus.finance.signatureDaily.service.dto.SignatureDailyWorkAttachmentDTO">
+        select id,url,file_size as size,attachment_name as name from work_attachment where del_flag = 0 and attachment_id = #{id}
+    </select>
+
+    <select id="selectInfoByFileId" resultType="com.jeeplus.finance.signatureDaily.domain.CwSignatureDailyFile">
+        select * from cw_signature_daily_file where report_file_id = #{id} and del_flag = '0'
+    </select>
+</mapper>

+ 132 - 8
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/signatureDaily/service/SignatureDaulyOfficeWorkService.java

@@ -14,12 +14,17 @@ import com.jeeplus.core.query.QueryWrapperGenerator;
 import com.jeeplus.finance.contractRegistration.mapper.ContractInfoMapper;
 import com.jeeplus.finance.invoice.util.SignaturePostUtil;
 import com.jeeplus.finance.projectReport.domain.*;
+import com.jeeplus.finance.projectReport.mapper.CwProjectReportMapper;
+import com.jeeplus.finance.projectReport.service.dto.ProjectReportWorkAttachmentDTO;
 import com.jeeplus.finance.reimbursementApproval.approvalInfo.domain.CwReimbursementInfo;
 import com.jeeplus.finance.reimbursementApproval.approvalInfo.service.dto.QueryListDto;
 import com.jeeplus.finance.reimbursementApproval.approvalInfo.service.dto.RetureListDto;
+import com.jeeplus.finance.signatureDaily.domain.CwSignatureDailyFile;
 import com.jeeplus.finance.signatureDaily.domain.SignatureDailyOfficeWork;
+import com.jeeplus.finance.signatureDaily.mapper.SignatureDailyFileMapper;
 import com.jeeplus.finance.signatureDaily.mapper.SignatureDailyOfficeWorkMapper;
 import com.jeeplus.finance.signatureDaily.service.dto.SignatureDailyOfficeWorkDTO;
+import com.jeeplus.finance.signatureDaily.service.dto.SignatureDailyWorkAttachmentDTO;
 import com.jeeplus.finance.utils.Global;
 import com.jeeplus.flowable.feign.IFlowableApi;
 import com.jeeplus.sys.domain.WorkAttachmentInfo;
@@ -59,6 +64,12 @@ public class SignatureDaulyOfficeWorkService {
     @Resource
     private IFlowableApi flowTaskService;
 
+    @Resource
+    private SignatureDailyFileMapper signatureDailyFileMapper;
+
+    @Resource
+    private CwProjectReportMapper reportMapper;
+
 
     /**
      * 列表查询
@@ -175,6 +186,39 @@ public class SignatureDaulyOfficeWorkService {
                     i.setCreateBy(SpringUtil.getBean ( IUserApi.class ).getById(i.getBy()));
                 }
             }
+            //查询已签章附件
+            List<SignatureDailyWorkAttachmentDTO> signatureList = new ArrayList<>();
+            if (null !=dailyOfficeWorkDTO){
+                List<SignatureDailyWorkAttachmentDTO> dtos = signatureDailyFileMapper.selectByInfoId(dailyOfficeWorkDTO.getId());
+                if (null != dtos){
+
+                    Iterator<SignatureDailyWorkAttachmentDTO> it = dtos.iterator();
+                    while(it.hasNext()){
+                        SignatureDailyWorkAttachmentDTO d = it.next();
+                        //根据id查出cw_project_report_file文件表的其他信息
+                        //未签章附件
+                        CwSignatureDailyFile file = signatureDailyFileMapper.selectInfoByFileId(d.getId());
+                        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查出创建人名称
+                            UserDTO byId = SpringUtil.getBean(IUserApi.class).getById(file.getCreateById());
+                            userDTO.setId(file.getCreateById());
+                            userDTO.setName(byId.getName());
+                            d.setCreateBy(userDTO);
+                            d.setCreateTime(file.getCreateTime());
+                            signatureList.add(d);
+                            it.remove();
+                        }
+                    }
+                    dto.setSignatureFiles(signatureList);
+                }
+            }
             dto.setFiles(fileList);
         }
         return dto;
@@ -200,13 +244,21 @@ public class SignatureDaulyOfficeWorkService {
         signatureDailyOfficeWork.setUpdateById(userDTO.getId());
         signatureDailyOfficeWork.setUpdateTime(new Date());
         signatureDailyOfficeWorkMapper.updateById(signatureDailyOfficeWork);
+        // 修改附件信息列表
+        if ("5".equals(dto.getStatus())){
+            if (CollectionUtils.isNotEmpty(dto.getFiles())) {
+                updateFiles2(dto.getFiles(), userDTO, dto.getId(),"signatureDaily");
+            }
+        }else {
+            if (CollectionUtils.isNotEmpty(dto.getFiles())) {
+                updateFiles(dto.getFiles(), userDTO, dto.getId(),"signatureDaily");
+            }
+        }
+
+        //生成签章信息
         if (StringUtils.isNotBlank(dto.getStatus())&&dto.getStatus().equals("2")){
             this.getManualSignatureUrl(dto.getId());
         }
-        // 修改附件信息列表
-        if (CollectionUtils.isNotEmpty(dto.getFiles())) {
-            updateFiles(dto.getFiles(), userDTO, dto.getId(),"signatureDaily");
-        }
         return signatureDailyOfficeWork;
     }
 
@@ -453,17 +505,19 @@ public class SignatureDaulyOfficeWorkService {
         signatureDailyOfficeWork.setUpdateTime(new Date());
         signatureDailyOfficeWork.setDelFlag(0);
         signatureDailyOfficeWorkMapper.insert(signatureDailyOfficeWork);
-        //生成签章信息
-        if ("2".equals(dto.getStatus())){
-            this.getManualSignatureUrl(id);
-        }
         // 保存附件列表信息
         if (CollectionUtils.isNotEmpty(dto.getFiles())) {
             saveFiles(dto.getFiles(), userDTO, id);
         }
+        //生成签章信息
+        if ("2".equals(dto.getStatus())){
+            this.getManualSignatureUrl(id);
+        }
         return signatureDailyOfficeWork;
     }
 
+
+
     /**
      * 保存附件信息
      * @param list 待保存的附件列表
@@ -528,6 +582,68 @@ public class SignatureDaulyOfficeWorkService {
                 }
             }
         }
+        reportMapper.deleteAttachement(id,"signatureDaily");
+        //保存信息
+        for (WorkAttachmentInfo dto : list) {
+            //判断是否存在
+            Integer isExit = mapper.findIsExit(id, dto.getName());
+            if (isExit == 0) {
+                WorkAttachmentInfo i = new WorkAttachmentInfo();
+                //包含了url、size、name
+                i.setId(UUID.randomUUID().toString().replace("-", ""));
+//                i.getCreateBy().setId(userDTO.getId());
+                i.setCreateTime(new Date());
+//                i.getUpdateBy().setId(userDTO.getId());
+                i.setUpdateTime(new Date());
+                i.setDelFlag(0);
+                i.setUrl(dto.getUrl());
+                //文件类型处理
+                List<String> strings = Arrays.asList(dto.getName().split("\\."));
+                if (org.flowable.editor.language.json.converter.util.CollectionUtils.isNotEmpty(strings)) {
+                    i.setType(strings.get(1));
+                }
+                i.setAttachmentId(id);
+                i.setAttachmentName(dto.getName());
+                i.setAttachmentFlag(attachmentFlag);
+                i.setFileSize(dto.getSize());
+                i.setSort(j);
+                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);
+//                ossServiceMapper.insertWorkAttachment(i, userDTO);
+                j++;
+            }
+        }
+    }
+
+    /**
+     * 修改附件信息
+     * @param list 待修改的附件列表
+     * @param userDTO 当前登录用户
+     * @param id 关联id
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public void updateFiles2(List<WorkAttachmentInfo> list, UserDTO userDTO, String id, String attachmentFlag) {
+        int j = 1;
+        String names = new String();
+        //表中存在,但是传过来不存在,说明已删除,表中数据也要删除
+        for (WorkAttachmentInfo dto : list) {
+            names = names + "," +dto.getUrl();
+        }
+        //查询保存的附件信息
+        List<WorkAttachmentInfo> infoList = mapper.findListByIdAndAttachmentFlag(id,attachmentFlag);
+        if (org.flowable.editor.language.json.converter.util.CollectionUtils.isNotEmpty(infoList)) {
+            for (WorkAttachmentInfo i : infoList) {
+                if (!names.contains(i.getUrl())) {
+//                    ossServiceMapper.deleteById(i.getId());
+                    SpringUtil.getBean ( IWorkAttachmentApi.class ).deleteById(i.getId());
+                }
+            }
+        }
+        reportMapper.deleteAttachement(id,"signatureDaily");
         //保存信息
         for (WorkAttachmentInfo dto : list) {
             //判断是否存在
@@ -559,6 +675,14 @@ public class SignatureDaulyOfficeWorkService {
                 map.put("userDTO",userDTOInfo);
                 SpringUtil.getBean ( IWorkAttachmentApi.class ).insertWorkAttachment(map);
 //                ossServiceMapper.insertWorkAttachment(i, userDTO);
+                CwSignatureDailyFile cwSignatureDailyFile = new CwSignatureDailyFile();
+                BeanUtils.copyProperties(dto, cwSignatureDailyFile);
+                cwSignatureDailyFile.setReportFileId(i.getId());
+                cwSignatureDailyFile.setCreateById(userDTO.getId());
+                cwSignatureDailyFile.setCreateTime(new Date());
+                cwSignatureDailyFile.setUpdateById(userDTO.getId());
+                cwSignatureDailyFile.setUpdateTime(new Date());
+                signatureDailyFileMapper.insert(cwSignatureDailyFile);
                 j++;
             }
         }

+ 123 - 4
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/signatureDaily/service/SignatureProjectReportService.java

@@ -19,12 +19,16 @@ import com.jeeplus.finance.projectReport.domain.Action;
 import com.jeeplus.finance.projectReport.domain.Location;
 import com.jeeplus.finance.projectReport.domain.SignatorieInfo;
 import com.jeeplus.finance.projectReport.domain.SignatureContract;
+import com.jeeplus.finance.projectReport.mapper.CwProjectReportMapper;
+import com.jeeplus.finance.signatureDaily.domain.CwSignatureDailyFile;
 import com.jeeplus.finance.signatureDaily.domain.SignatureDailyOfficeWork;
 import com.jeeplus.finance.signatureDaily.domain.SignatureProjectReportRelation;
 import com.jeeplus.finance.signatureDaily.domain.SignatureProjectReportRelevanceNumber;
+import com.jeeplus.finance.signatureDaily.mapper.SignatureDailyFileMapper;
 import com.jeeplus.finance.signatureDaily.mapper.SignatureProjectReportMapper;
 import com.jeeplus.finance.signatureDaily.mapper.SignatureProjectReportRelevanceNumberMapper;
 import com.jeeplus.finance.signatureDaily.service.dto.SignatureDailyOfficeWorkDTO;
+import com.jeeplus.finance.signatureDaily.service.dto.SignatureDailyWorkAttachmentDTO;
 import com.jeeplus.finance.signatureDaily.service.dto.SignatureProjectReportRelationDTO;
 import com.jeeplus.finance.utils.Global;
 import com.jeeplus.flowable.feign.IFlowableApi;
@@ -71,6 +75,12 @@ public class SignatureProjectReportService {
     @Resource
     private IFlowableApi flowTaskService;
 
+    @Resource
+    private SignatureDailyFileMapper signatureDailyFileMapper;
+
+    @Resource
+    private CwProjectReportMapper reportMapper;
+
     /**
      * 列表查询
      * @param page
@@ -189,6 +199,39 @@ public class SignatureProjectReportService {
                 }
             }
             dto.setFiles(fileList);
+            //查询已签章附件
+            List<SignatureDailyWorkAttachmentDTO> signatureList = new ArrayList<>();
+            if (null !=reportRelationDTO){
+                List<SignatureDailyWorkAttachmentDTO> dtos = signatureDailyFileMapper.selectByInfoId(reportRelationDTO.getId());
+                if (null != dtos){
+
+                    Iterator<SignatureDailyWorkAttachmentDTO> it = dtos.iterator();
+                    while(it.hasNext()){
+                        SignatureDailyWorkAttachmentDTO d = it.next();
+                        //根据id查出cw_project_report_file文件表的其他信息
+                        //未签章附件
+                        CwSignatureDailyFile file = signatureDailyFileMapper.selectInfoByFileId(d.getId());
+                        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查出创建人名称
+                            UserDTO byId = SpringUtil.getBean(IUserApi.class).getById(file.getCreateById());
+                            userDTO.setId(file.getCreateById());
+                            userDTO.setName(byId.getName());
+                            d.setCreateBy(userDTO);
+                            d.setCreateTime(file.getCreateTime());
+                            signatureList.add(d);
+                            it.remove();
+                        }
+                    }
+                    dto.setSignatureFiles(signatureList);
+                }
+            }
         }
         return dto;
     }
@@ -220,6 +263,16 @@ public class SignatureProjectReportService {
                 relevanceNumberMapper.insert(signatureProjectReportRelevanceNumber);
             }
         }
+        // 修改附件信息列表
+        if ("5".equals(dto.getStatus())){
+            if (CollectionUtils.isNotEmpty(dto.getFiles())) {
+                updateFiles2(dto.getFiles(), userDTO, dto.getId(),"signatureReport");
+            }
+        }else {
+            if (CollectionUtils.isNotEmpty(dto.getFiles())) {
+                updateFiles(dto.getFiles(), userDTO, dto.getId(),"signatureReport");
+            }
+        }
         //获取当前节点信息
         String currentTask = flowTaskService.getCurrentTaskName(dto.getProcInsId());
         if (StringUtils.isNotBlank(currentTask)){
@@ -231,10 +284,6 @@ public class SignatureProjectReportService {
             }
         }
 
-        // 修改附件信息列表
-        if (CollectionUtils.isNotEmpty(dto.getFiles())) {
-            updateFiles(dto.getFiles(), userDTO, dto.getId(),"signatureReport");
-        }
         return signatureProjectReportRelation;
     }
 
@@ -372,6 +421,76 @@ public class SignatureProjectReportService {
         }
     }
 
+    /**
+     * 修改附件信息 对签章附件做持久化处理
+     * @param list 待修改的附件列表
+     * @param userDTO 当前登录用户
+     * @param id 关联id
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public void updateFiles2(List<WorkAttachmentInfo> list, UserDTO userDTO, String id, String attachmentFlag) {
+        int j = 1;
+        String names = new String();
+        //表中存在,但是传过来不存在,说明已删除,表中数据也要删除
+        for (WorkAttachmentInfo dto : list) {
+            names = names + "," +dto.getUrl();
+        }
+        //查询保存的附件信息
+        List<WorkAttachmentInfo> infoList = mapper.findListByIdAndAttachmentFlag(id,attachmentFlag);
+        if (org.flowable.editor.language.json.converter.util.CollectionUtils.isNotEmpty(infoList)) {
+            for (WorkAttachmentInfo i : infoList) {
+                if (!names.contains(i.getUrl())) {
+//                    ossServiceMapper.deleteById(i.getId());
+                    SpringUtil.getBean ( IWorkAttachmentApi.class ).deleteById(i.getId());
+                }
+            }
+        }
+        reportMapper.deleteAttachement(id,"signatureReport");
+        //保存信息
+        for (WorkAttachmentInfo dto : list) {
+            //判断是否存在
+            Integer isExit = mapper.findIsExit(id, dto.getName());
+            if (isExit == 0) {
+                WorkAttachmentInfo i = new WorkAttachmentInfo();
+                //包含了url、size、name
+                i.setId(UUID.randomUUID().toString().replace("-", ""));
+//                i.getCreateBy().setId(userDTO.getId());
+                i.setCreateTime(new Date());
+//                i.getUpdateBy().setId(userDTO.getId());
+                i.setUpdateTime(new Date());
+                i.setDelFlag(0);
+                i.setUrl(dto.getUrl());
+                //文件类型处理
+                List<String> strings = Arrays.asList(dto.getName().split("\\."));
+                if (org.flowable.editor.language.json.converter.util.CollectionUtils.isNotEmpty(strings)) {
+                    i.setType(strings.get(1));
+                }
+                i.setAttachmentId(id);
+                i.setAttachmentName(dto.getName());
+                i.setAttachmentFlag(attachmentFlag);
+                i.setFileSize(dto.getSize());
+                i.setSort(j);
+                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);
+//                ossServiceMapper.insertWorkAttachment(i, userDTO);
+                CwSignatureDailyFile cwSignatureDailyFile = new CwSignatureDailyFile();
+                BeanUtils.copyProperties(dto, cwSignatureDailyFile);
+                cwSignatureDailyFile.setReportFileId(i.getId());
+                cwSignatureDailyFile.setCreateById(userDTO.getId());
+                cwSignatureDailyFile.setCreateTime(new Date());
+                cwSignatureDailyFile.setUpdateById(userDTO.getId());
+                cwSignatureDailyFile.setUpdateTime(new Date());
+                signatureDailyFileMapper.insert(cwSignatureDailyFile);
+                j++;
+            }
+        }
+    }
+
+
     public String remove(String id) {
         signatureProjectReportMapper.deleteById(id);
         SpringUtil.getBean ( IWorkAttachmentApi.class ).deleteByAttachmentId(id);

+ 3 - 1
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/signatureDaily/service/dto/SignatureDailyOfficeWorkDTO.java

@@ -75,8 +75,10 @@ public class SignatureDailyOfficeWorkDTO extends BaseEntity {
         private String officeName;
 
         private String officeId;
-
+        //未签章附件
         private List<WorkAttachmentInfo> files;
+        //已签章附件
+        private List<SignatureDailyWorkAttachmentDTO> signatureFiles;
 
         /**
          * 签章contractId

+ 71 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/signatureDaily/service/dto/SignatureDailyWorkAttachmentDTO.java

@@ -0,0 +1,71 @@
+package com.jeeplus.finance.signatureDaily.service.dto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.service.dto.BaseDTO;
+import com.jeeplus.sys.service.dto.UserDTO;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 报告附件表
+ * @author: 徐滕
+ * @version: 2022-11-10 15:02
+ */
+@Data
+public class SignatureDailyWorkAttachmentDTO extends BaseDTO {
+
+    private String name;
+
+    private String size;
+
+    private String url;
+
+    private UserDTO createBy;
+//    @TableField(exist = false)
+//    private String createBy;
+
+    @TableField(exist = false)
+    private String by;
+
+    /**
+     * 文件类型
+     * 1:正文
+     * 2:封面
+     * 3:报表
+     * 4:附注
+     * 5:其他
+     */
+    private String fileType;
+
+    /**
+     * 盖章类型
+     * 1:电子章
+     * 2:不盖章
+     */
+    private String sealType;
+
+    /**
+     * 已盖章
+     */
+    private String sealedFile;
+
+    /**
+     * 盖章人
+     */
+    private UserDTO sealUser;
+
+    /**
+     * 盖章时间
+     */
+    private Date sealDate;
+
+    /**
+     * 备注信息
+     */
+    private String remarks;
+
+    @TableField(exist = false)
+    private String reportFileId;
+}

+ 3 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/signatureDaily/service/dto/SignatureProjectReportRelationDTO.java

@@ -112,4 +112,7 @@ public class SignatureProjectReportRelationDTO extends BaseEntity {
     签章状态
      */
     private Integer signatureFlag;
+    //已签章附件信息
+    private List<SignatureDailyWorkAttachmentDTO> signatureFiles;
+
 }