Quellcode durchsuchen

会计归档调整

huangguoce vor 1 Monat
Ursprung
Commit
65bad79cac

+ 54 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReportArchive/controller/CwProjectReportArchiveController.java

@@ -1,23 +1,35 @@
 package com.jeeplus.finance.projectReportArchive.controller;
 
+import cn.hutool.core.date.DatePattern;
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.extra.spring.SpringUtil;
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.write.metadata.style.WriteCellStyle;
+import com.alibaba.excel.write.metadata.style.WriteFont;
+import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.TypeReference;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jeeplus.common.excel.ExcelOptions;
 import com.jeeplus.common.excel.annotation.ExportMode;
 import com.jeeplus.common.utils.ResponseUtil;
+import com.jeeplus.core.query.QueryWrapperGenerator;
 import com.jeeplus.finance.invoice.util.EasyPoiUtil;
 import com.jeeplus.finance.projectReportArchive.service.CwProjectReportArchiveService;
 import com.jeeplus.finance.projectReportArchive.service.dto.CwProjectReportArchiveDTO;
+import com.jeeplus.finance.projectReportArchive.service.dto.CwProjectReportArchiveExportDTO;
 import com.jeeplus.finance.projectReportArchive.service.dto.ReportDTO;
+import com.jeeplus.flowable.feign.IFlowableApi;
 import com.jeeplus.logging.annotation.ApiLog;
 import com.jeeplus.logging.constant.enums.LogTypeEnum;
 import com.jeeplus.sys.feign.IDictApi;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.http.ResponseEntity;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
@@ -25,9 +37,16 @@ import org.springframework.web.bind.annotation.*;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+import java.text.DecimalFormat;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicReference;
 import java.util.stream.Collectors;
 
 /**
@@ -197,6 +216,41 @@ public class CwProjectReportArchiveController {
     }
 
     /**
+     * 导出
+     *
+     * @param response
+     * @throws Exception
+     */
+    @ApiLog(value = "导出归档数据")
+    @GetMapping("newExport")
+    @ApiOperation(value = "导出归档数据")
+    public void newExportFile(CwProjectReportArchiveDTO cwProjectReportArchiveDTO, Page <CwProjectReportArchiveDTO> page, ExcelOptions options,  HttpServletResponse response) throws Exception {
+        List<CwProjectReportArchiveExportDTO> result = cwProjectReportArchiveService.findExportList(page, cwProjectReportArchiveDTO).getRecords();
+
+        
+        List<CwProjectReportArchiveExportDTO> exports = new ArrayList<>();
+        AtomicInteger counter = new AtomicInteger(1);
+        result.forEach(re -> {
+            //字典值处理
+            String businessType = SpringUtil.getBean(IDictApi.class).getDictLabel(re.getBusinessType(), "cw_business_type", "");
+            re.setBusinessType(businessType);
+            //根据报告复核的proinsid获取二级复核
+            String cprrProcInsId = re.getCprrProcInsId();
+            Map map = SpringUtil.getBean(IFlowableApi.class).historicTaskList2(cprrProcInsId);
+            String secondAuditName = map.get("secondAuditName").toString();
+            re.setSecondAuditName(secondAuditName);
+            //设置序号
+            re.setIndex(counter.getAndIncrement());
+            CwProjectReportArchiveExportDTO exportDTO = new CwProjectReportArchiveExportDTO();
+            BeanUtils.copyProperties(re, exportDTO);
+            exports.add(exportDTO);
+        });
+        DateTime now = DateUtil.date();
+        String formattedDate = DateUtil.format(now, DatePattern.NORM_DATE_PATTERN);
+        EasyPoiUtil.exportExcel ( result, "报告归档数据"+formattedDate,  "报告归档数据"+formattedDate, CwProjectReportArchiveExportDTO.class, "报告归档数据", response );
+    }
+
+    /**
      * 查询暂时未归档报告归档数据
      */
     @ApiLog(value = "查询暂时未归档报告归档数据")

+ 21 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReportArchive/domain/CwProjectReportArchive.java

@@ -65,6 +65,27 @@ public class CwProjectReportArchive extends BaseEntity {
     private String isNumber;
 
     /**
+     * 审核备注
+     */
+    private String approveRemarks;
+
+    /**
+     * 审定金额(不含税/元)
+     */
+    private String approvedNoIncludingTax;
+
+    /**
+     * 审定金额(含税/元)
+     */
+    private String approvedIncludingTax;
+
+    /**
+     * 合同
+     */
+    private String contract;
+
+
+    /**
      * 归档时间
      */
     private Date auditDate;

+ 2 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReportArchive/mapper/CwProjectReportArchiveMapper.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jeeplus.finance.projectReportArchive.domain.CwProjectReportArchive;
 import com.jeeplus.finance.projectReportArchive.service.dto.CwProjectReportArchiveDTO;
+import com.jeeplus.finance.projectReportArchive.service.dto.CwProjectReportArchiveExportDTO;
 import com.jeeplus.finance.projectReportArchive.service.dto.ReportDTO;
 import com.jeeplus.finance.projectReportArchive.service.dto.WorkAttachmentArchiveDto;
 import com.jeeplus.sys.service.dto.UserDTO;
@@ -25,6 +26,7 @@ public interface CwProjectReportArchiveMapper extends BaseMapper<CwProjectReport
     void updateBorrowTypeById(@Param("id") String id, @Param("status")String status);
     //@InterceptorIgnore(tenantLine = "true")
     IPage<CwProjectReportArchiveDTO> findList(Page<CwProjectReportArchiveDTO> page, @Param("currentUser") UserDTO currentUser, @Param("isBmzr") String isBmzr, @Param("officeIds") String officeIds, @Param(Constants.WRAPPER) QueryWrapper<CwProjectReportArchive> queryWrapper, @Param("sta") String sta);
+    IPage<CwProjectReportArchiveExportDTO> findExportList(Page<CwProjectReportArchiveDTO> page, @Param("currentUser") UserDTO currentUser, @Param("isBmzr") String isBmzr, @Param("officeIds") String officeIds, @Param(Constants.WRAPPER) QueryWrapper<CwProjectReportArchive> queryWrapper, @Param("sta") String sta);
 
     @InterceptorIgnore(tenantLine = "true")
     CwProjectReportArchiveDTO queryById(@Param("id") String id);

+ 117 - 2
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReportArchive/mapper/xml/CwProjectReportArchiveMapper.xml

@@ -278,6 +278,87 @@
         ORDER BY cw_pa.create_time DESC
     </select>
 
+    <select id="findExportList"  resultType="com.jeeplus.finance.projectReportArchive.service.dto.CwProjectReportArchiveExportDTO">select
+        DISTINCT
+        <include refid="Base_Column_List"></include>,
+        cw_wcb.name as audited_units_name,
+        su.name as user_name,
+        su1.name as project_master_name,
+        su2.name as realHeaderName,
+        cw_pr.project_name as project_name,
+        cw_prnl.report_no,
+        date_format(cw_prnl.report_date,'%Y-%m-%d') as report_date,
+        art.ID_ as task_id,
+        crb.create_by_id as borrowUserId,
+        crb.proc_ins_id as procInsId2,
+        b.signature_annotator1_name,
+        b.signature_annotator2_name,
+        su3.name as projectCreateName,
+        cwci.contract_no as contractNo,
+        cwci.contract_name as contractName,
+        pr.business_type as businessType,
+        cw_pa.approve_remarks as approveRemarks,
+        cw_pa.approved_no_including_tax as approvedNoIncludingTax,
+        cw_pa.approved_including_tax as approvedIncludingTax,
+        cw_pa.contract,
+        cprr.proc_ins_id as cprrProcInsId,
+        cw_pa.audit_date as auditDate
+        from cw_project_report_archive cw_pa
+        left join cw_project_report_borrow crb on crb.archive_id = cw_pa.id and crb.del_flag = '0'
+        left join cw_work_client_base cw_wcb on cw_pa.audited_units = cw_wcb.id and cw_wcb.del_flag = '0'
+        left join sys_user su on su.id = cw_pa.create_by_id and su.del_flag = '0'
+        left join sys_office so on so.id = su.office_id and so.del_flag ='0'
+        left join cw_project_records cw_pr on cw_pr.id = cw_pa.project_id and cw_pr.del_flag = '0'
+        left join sys_user su1 on cw_pr.project_master_id = su1.id and su1.del_flag = '0'
+        left join sys_user su2 on cw_pr.real_header = su2.id and su2.del_flag = '0'
+        left join cw_project_report_new_line cw_prnl on cw_prnl.report_id = cw_pa.report_id and cw_prnl.del_flag = '0'
+        left join cw_project_members cpm on cw_pr.id = cpm.project_id
+        left join sys_user sub on cpm.user_id = sub.id
+        left join sys_user_manage_office sumo on sumo.office_id = sub.office_id
+
+        left join act_ru_task art ON cw_pa.proc_ins_id = art.PROC_INST_ID_
+
+        left join cw_project_report pr on cw_pa.report_id=pr.id and pr.del_flag = '0'
+        left join cw_project_report_review cprr on cprr.report_id=pr.id and cprr.del_flag = '0'
+        left join cw_work_contract_info cwci on cwci.id=cw_pr.contract_id and cwci.del_flag = '0'
+        left join cw_work_contract_file_paper cwcfp on cwcfp.contract_info_id=cwci.id and cwcfp.del_flag = '0'
+        left join sys_user su3 on su3.id = cw_pr.create_by_id and su3.del_flag = '0'
+
+        left join(
+        select
+        cw_prr.id as report_id,
+        prnl.report_no,
+        prnl.report_date,
+        cw_prr.signature_annotator1,
+        cw_prr.signature_annotator2,
+        prnl.create_by_id,
+        su11.name as signature_annotator1_name,
+        su22.name as signature_annotator2_name
+        from cw_project_report_new_line prnl
+        left join cw_project_report cw_prr on cw_prr.id = prnl.report_id and cw_prr.del_flag = '0'
+        left join sys_user su11 on su11.id = cw_prr.signature_annotator1 and su11.del_flag = '0'
+        left join sys_user su22 on su22.id = cw_prr.signature_annotator2 and su22.del_flag = '0'
+        where prnl.del_flag = '0'
+        ) b on b.report_id = cw_pa.report_id
+        ${ew.customSqlSegment}
+        and cw_prnl.report_number is not null and cw_prnl.report_date is not null and cw_pa.del_flag = '0'
+        <if test="sta == '超期未归档'">
+            and cw_pa.audit_date is null and timestampdiff(day,cw_prnl.report_date,now())>60
+        </if>
+        <if test="sta == '暂时未归档'">
+            and cw_pa.audit_date is null and timestampdiff(day,cw_prnl.report_date,now()) &lt;= 60
+        </if>
+        <if test="sta == '已超期归档'">
+            and cw_pa.audit_date is not null and timestampdiff(day,cw_prnl.report_date,cw_pa.audit_date)>60
+        </if>
+        <if test="sta == '已按时归档'">
+            and cw_pa.audit_date is not null and timestampdiff(day,cw_prnl.report_date,cw_pa.audit_date) &lt;= 60
+        </if>
+
+        ORDER BY cw_pa.create_time DESC
+    </select>
+
+
     <select id="findCompletedList" resultMap="BaseResultMap">
         select
         DISTINCT
@@ -331,7 +412,9 @@
         cw_prnl.create_by_id,
         su.name as report_create_name,
         su1.name as signature_annotator1_name,
-        su2.name as signature_annotator2_name
+        su2.name as signature_annotator2_name,
+        cw_prnl.approved_no_including_tax,
+        cw_prnl.approved_including_tax
     </sql>
     <select id="queryById" resultMap="BaseResultMap">
         select
@@ -343,11 +426,31 @@
         b.signature_annotator1_name,
         b.signature_annotator2_name,
         b.report_no,
-        prnl.report_no as "connectReport"
+        b.approved_no_including_tax as approvedNoIncludingTaxBak,
+        b.approved_including_tax as approvedIncludingTaxBak,
+        prnl.report_no as "connectReport",
+        pr.business_type as businessType,
+        su1.name as projectCreateName,
+        cwci.contract_no as contractNo,
+        cwci.contract_name as contractName,
+        cwci.client_contacts as clientContacts,
+        cwci.contract_amount as contractAmount,
+        su2.name as contractCreateName,
+        cwcfp.filed_no as filedNo,
+        cw_pa.approved_no_including_tax as approvedNoIncludingTax,
+        cw_pa.approved_including_tax as approvedIncludingTax,
+        cw_pa.contract,
+        cw_pa.approve_remarks as approveRemarks
         from cw_project_report_archive cw_pa
         left join cw_project_report_new_line prnl on cw_pa.connect_report_id=prnl.report_id
+        left join cw_project_report pr on cw_pa.report_id=pr.id
+        left join cw_project_records prs on pr.project_id=prs.id
+        left join cw_work_contract_info cwci on cwci.id=prs.contract_id
+        left join cw_work_contract_file_paper cwcfp on cwcfp.contract_info_id=cwci.id
         left join cw_work_client_base cw_wcb on cw_pa.audited_units = cw_wcb.id and cw_wcb.del_flag = '0'
         left join sys_user su on su.id = cw_pa.create_by_id and su.del_flag = '0'
+        left join sys_user su1 on su1.id = prs.create_by_id and su1.del_flag = '0'
+        left join sys_user su2 on su2.id = cwci.create_by_id  and su2.del_flag = '0'
         left join(
             select
                 <include refid="prnl_column"></include>
@@ -487,6 +590,18 @@
         <if test="borrowType != null and borrowType != ''">
             borrowType = #{borrowType},
         </if>
+        <if test="approveRemarks != null and approveRemarks != ''">
+            approve_remarks = #{approveRemarks},
+        </if>
+        <if test="approvedNoIncludingTax != null and approvedNoIncludingTax != ''">
+            approved_no_including_tax = #{approvedNoIncludingTax},
+        </if>
+        <if test="approvedIncludingTax != null and approvedIncludingTax != ''">
+            approved_including_tax = #{approvedIncludingTax},
+        </if>
+        <if test="contract != null and contract != ''">
+            contract = #{contract},
+        </if>
         update_by_id = #{updateById},
         update_time = #{updateTime}
         where id = #{id} ;

+ 82 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReportArchive/service/CwProjectReportArchiveService.java

@@ -23,6 +23,7 @@ import com.jeeplus.finance.projectReportArchive.mapper.CwProjectReportArchiveFil
 import com.jeeplus.finance.projectReportArchive.mapper.CwProjectReportArchiveMapper;
 import com.jeeplus.finance.projectReportArchive.mapper.CwProjectReportArchiveReportMapper;
 import com.jeeplus.finance.projectReportArchive.service.dto.CwProjectReportArchiveDTO;
+import com.jeeplus.finance.projectReportArchive.service.dto.CwProjectReportArchiveExportDTO;
 import com.jeeplus.finance.projectReportArchive.service.dto.ReportDTO;
 import com.jeeplus.finance.projectReportArchive.service.dto.WorkAttachmentArchiveDto;
 import com.jeeplus.finance.projectReportArchive.service.mapstruct.CwProjectReportArchiveWrapper;
@@ -368,6 +369,21 @@ public class CwProjectReportArchiveService extends ServiceImpl<CwProjectReportAr
         if(StringUtils.isNotBlank(cwProjectReportArchiveDTO.getConnectReportId())){
             cwProjectReportArchive.setConnectReportId(cwProjectReportArchiveDTO.getConnectReportId());
         }
+        //审定金额字段
+        if(StringUtils.isNotBlank(cwProjectReportArchiveDTO.getApprovedIncludingTax())){
+            cwProjectReportArchive.setApprovedIncludingTax(cwProjectReportArchiveDTO.getApprovedIncludingTax());
+        }
+        if(StringUtils.isNotBlank(cwProjectReportArchiveDTO.getApprovedNoIncludingTax())){
+            cwProjectReportArchive.setApprovedNoIncludingTax(cwProjectReportArchiveDTO.getApprovedNoIncludingTax());
+        }
+        if(StringUtils.isNotBlank(cwProjectReportArchiveDTO.getApproveRemarks())){
+            cwProjectReportArchive.setApproveRemarks(cwProjectReportArchiveDTO.getApproveRemarks());
+        }
+        if(StringUtils.isNotBlank(cwProjectReportArchiveDTO.getContract())){
+            cwProjectReportArchive.setContract(cwProjectReportArchiveDTO.getContract());
+        }
+
+
         if(StringUtils.isNotBlank(cwProjectReportArchive.getId())){ //修改
             cwProjectReportArchiveMapper.updateInfoById(cwProjectReportArchive);
         }else{  //新增
@@ -620,4 +636,70 @@ public class CwProjectReportArchiveService extends ServiceImpl<CwProjectReportAr
         return list;
     }
 
+
+    /**
+     * 导出项目归档列表信息
+     * @return
+     * @throws Exception
+     */
+    public IPage<CwProjectReportArchiveExportDTO> findExportList(Page<CwProjectReportArchiveDTO> page, CwProjectReportArchiveDTO cwProjectReportArchiveDTO) throws Exception{
+        //List<CwProjectReportArchiveExportDTO> list = cwProjectReportArchiveMapper.findExportList();
+        //return list;
+        QueryWrapper<CwProjectReportArchive> queryWrapper = QueryWrapperGenerator.buildQueryCondition ( CwProjectReportArchiveWrapper.INSTANCE.toEntity(cwProjectReportArchiveDTO), CwProjectReportArchive.class );
+        queryWrapper.eq("cw_pa.del_flag","0");
+        if (ObjectUtil.isNotEmpty(cwProjectReportArchiveDTO)) {
+            if (ObjectUtil.isNotEmpty(cwProjectReportArchiveDTO.getCwProjectRecordsDTO())){
+                // 项目名称
+                if (StringUtils.isNotBlank(cwProjectReportArchiveDTO.getCwProjectRecordsDTO().getProjectName())){
+                    List<CwProjectRecords> cwProjectRecords = cwProjectRecordsMapper.selectList(new QueryWrapper<CwProjectRecords>().lambda().like(CwProjectRecords::getProjectName, cwProjectReportArchiveDTO.getCwProjectRecordsDTO().getProjectName()));
+                    List<String> ids = cwProjectRecords.stream().map(CwProjectRecords::getId).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList());
+                    if(CollectionUtil.isNotEmpty(ids)) {
+                        queryWrapper.in("cw_pa.project_id",ids);
+                    }else{
+                        return new Page<>();
+                    }
+                }
+                // 项目经理1
+                if (StringUtils.isNotBlank(cwProjectReportArchiveDTO.getCwProjectRecordsDTO().getProjectMasterName())){
+                    queryWrapper.like("su1.name",cwProjectReportArchiveDTO.getCwProjectRecordsDTO().getProjectMasterName());
+                }
+                // 项目经理2
+                if (StringUtils.isNotBlank(cwProjectReportArchiveDTO.getCwProjectRecordsDTO().getRealHeaderName())){
+                    queryWrapper.like("su2.name",cwProjectReportArchiveDTO.getCwProjectRecordsDTO().getRealHeaderName());
+                }
+                // 创建时间
+                if (ArrayUtil.isNotEmpty(cwProjectReportArchiveDTO.getCreateDates())){
+                    queryWrapper.between("cw_pa.create_time", cwProjectReportArchiveDTO.getCreateDates()[0], cwProjectReportArchiveDTO.getCreateDates()[1]);
+                }
+                // 归档时间
+                if (ArrayUtil.isNotEmpty(cwProjectReportArchiveDTO.getAuditDates())){
+                    queryWrapper.between("cw_pa.audit_date", cwProjectReportArchiveDTO.getAuditDates()[0], cwProjectReportArchiveDTO.getAuditDates()[1]);
+                }
+                // 创建人
+                if (ObjectUtil.isNotEmpty(cwProjectReportArchiveDTO.getCreateBy())){
+                    if (StringUtils.isNotBlank(cwProjectReportArchiveDTO.getCreateBy().getName())){
+                        queryWrapper.in("cw_pa.create_by_id",cwProjectReportArchiveDTO.getCreateBy().getName()).or().like("su.name",cwProjectReportArchiveDTO.getCreateBy().getName());
+                    }
+                }
+                // 报告文号
+                if (StringUtils.isNotBlank(cwProjectReportArchiveDTO.getReportNo())) {
+                    queryWrapper.like("cw_prnl.report_no",cwProjectReportArchiveDTO.getReportNo());
+                }
+
+            }
+        }
+        String isBmzr = "0";
+        StringBuilder officeIds = new StringBuilder();
+        UserDTO userDTO = SpringUtil.getBean ( IUserApi.class ).getByToken(TokenProvider.getCurrentToken());
+        List<String> manageOfficeIdList= Lists.newArrayList();
+
+        if (StringUtils.isBlank(cwProjectReportArchiveDTO.getArchiveSta())) {
+            cwProjectReportArchiveDTO.setArchiveSta("");
+        }
+
+        IPage<CwProjectReportArchiveExportDTO> list = cwProjectReportArchiveMapper.findExportList(page, userDTO, isBmzr, officeIds.toString(), queryWrapper, cwProjectReportArchiveDTO.getArchiveSta());
+        List<CwProjectReportArchiveExportDTO> records = list.getRecords();
+        return list;
+    }
+
 }

+ 100 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReportArchive/service/dto/CwProjectReportArchiveDTO.java

@@ -89,6 +89,81 @@ public class CwProjectReportArchiveDTO extends BaseDTO {
      */
     private String isNumber;
 
+
+    /**
+     * 审核备注
+     */
+    private String approveRemarks;
+
+
+    /**
+     * 项目创建人
+     */
+    private String projectCreateName;
+
+    /**
+     * 业务类型
+     */
+    private String businessType;
+
+
+    /**
+     * 审定金额(不含税/元)
+     */
+    private String approvedNoIncludingTax;
+
+    /**
+     * 审定金额(含税/元)
+     */
+    private String approvedIncludingTax;
+
+    /**
+     * 合同
+     */
+    private String contract;
+
+
+    /**
+     * 原审定金额(不含税/元)
+     */
+    private String approvedNoIncludingTaxBak;
+
+    /**
+     * 原审定金额(含税/元)
+     */
+    private String approvedIncludingTaxBak;
+
+    /**
+     * 合同编号
+     */
+    private String contractNo;
+
+    /**
+     * 合同名称
+     */
+    private String contractName;
+
+    /**
+     * 委托方
+     */
+    private String clientContacts;
+
+    /**
+     * 合同金额
+     */
+    private String contractAmount;
+
+    /**
+     * 合同创建人
+     */
+    private String contractCreateName;
+
+    /**
+     * 案卷号
+     */
+    private String filedNo;
+
+
     /**
      * 归档时间
      */
@@ -395,6 +470,15 @@ public class CwProjectReportArchiveDTO extends BaseDTO {
         this.isNumber = isNumber;
     }
 
+    public String getApproveRemarks() {
+        return approveRemarks;
+    }
+
+    public void setApproveRemarks(String approveRemarks) {
+        this.approveRemarks = approveRemarks;
+    }
+
+
     public Date getAuditDate() {
         return auditDate;
     }
@@ -666,4 +750,20 @@ public class CwProjectReportArchiveDTO extends BaseDTO {
     public void setUserName(String userName) {
         this.userName = userName;
     }
+
+    public String getApprovedNoIncludingTax() {
+        return approvedNoIncludingTax;
+    }
+
+    public void setApprovedNoIncludingTax(String approvedNoIncludingTax) {
+        this.approvedNoIncludingTax = approvedNoIncludingTax;
+    }
+
+    public String getApprovedIncludingTax() {
+        return approvedIncludingTax;
+    }
+
+    public void setApprovedIncludingTax(String approvedIncludingTax) {
+        this.approvedIncludingTax = approvedIncludingTax;
+    }
 }

+ 768 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReportArchive/service/dto/CwProjectReportArchiveExportDTO.java

@@ -0,0 +1,768 @@
+package com.jeeplus.finance.projectReportArchive.service.dto;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.HeadFontStyle;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadStyle;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.jeeplus.core.service.dto.BaseDTO;
+import com.jeeplus.finance.projectRecords.service.dto.CwProjectRecordsDTO;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 财务-项目报告归档-项目归档
+ */
+@Data
+//@HeadRowHeight(30) // 表头高度(单位是磅)
+public class CwProjectReportArchiveExportDTO extends BaseDTO {
+
+    @Excel(name = "序号", orderNum = "0") // orderNum 控制列顺序
+    private Integer index;
+    /**
+     * 业务类型
+     */
+    @ExcelProperty(value = "委托项目类型")
+    @Excel(name = "委托项目类型",width = 25,orderNum = "1")
+    private String businessType;
+
+    /**
+     * 项目创建人
+     */
+    @Excel(name = "项目负责人",width = 25,orderNum = "2")
+    private String projectCreateName;
+
+    /**
+     * 报告文号
+     */
+    @Excel(name = "报告文号",width = 25,orderNum = "3")
+    private String reportNo;
+
+    /**
+     * 项目名称
+     */
+    @Excel(name = "项目名称",width = 25,orderNum = "4")
+    private String projectName;
+
+
+    /**
+     * 报告日期
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "报告日期",exportFormat = "yyyy/MM/dd",width = 25,orderNum = "5")
+    private Date reportDate;
+
+
+    /**
+     * 二级复核
+     */
+    @Excel(name = "二级复核",width = 25,orderNum = "6")
+    private String secondAuditName;
+
+    /**
+     * 交接日期
+     */
+    //@Excel(name = "交接日期",exportFormat = "yyyy/MM/dd",width = 25,orderNum = "7")
+    //private String handoverDate;
+
+    /**
+     * 归档时间
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "归档时间",exportFormat = "yyyy/MM/dd",width = 25,orderNum = "7")
+    private Date auditDate;
+    /**
+     * 签字注师1
+     */
+    @Excel(name = "签字注师1",width = 25,orderNum = "8")
+    private String signatureAnnotator1Name;
+
+    /**
+     * 签字注师2
+     */
+    @Excel(name = "签字注师2",width = 25,orderNum = "9")
+    private String signatureAnnotator2Name;
+
+    /**
+     * 审核备注
+     */
+    @Excel(name = "备注",width = 25,orderNum = "10")
+    private String approveRemarks;
+
+    /**
+     * 合同
+     */
+    @Excel(name = "合同",width = 25,orderNum = "11")
+    private String contract;
+
+
+    /**
+     * 审定金额(不含税/元)
+     */
+    @Excel(name = "审定金额(不含税/元)",width = 25,orderNum = "12")
+    private String approvedNoIncludingTax;
+
+    /**
+     * 审定金额(含税/元)
+     */
+    @Excel(name = "审定金额(含税/元)",width = 25,orderNum = "13")
+    private String approvedIncludingTax;
+
+
+    private String taskBorrowId;
+
+    /**
+     * 借用状态
+     */
+    private String borrowType;
+
+    /**
+     * 借用人id
+     */
+    private String borrowUserId;
+
+    /**
+     * 借用流程id
+     */
+    private String procInsId2;
+
+    public static final String BIZ_CODE = "15";
+
+    /**
+     * 项目id
+     */
+    private String projectId;
+
+    /**
+     * 档案名称
+     */
+//    @Excel(name = "档案名称",width = 25,orderNum = "0")
+    private String name;
+
+    /**
+     * 被审计单位
+     */
+    private String auditedUnits;
+
+    /**
+     * 报告册数
+     */
+    private String reportNum;
+
+    /**
+     * 底稿册数
+     */
+    private String papersNum;
+
+    /**
+     * 档案年度
+     */
+    private String year;
+
+    /**
+     * 案卷号
+     */
+    private String number;
+
+    /**
+     * 确认案卷号
+     */
+    private String isNumber;
+
+    /**
+     * 备注信息
+     */
+    private String remarks;
+
+
+    /**
+     * 原审定金额(不含税/元)
+     */
+    private String approvedNoIncludingTaxBak;
+
+    /**
+     * 原审定金额(含税/元)
+     */
+    private String approvedIncludingTaxBak;
+
+    /**
+     * 合同编号
+     */
+    private String contractNo;
+
+    /**
+     * 委托方
+     */
+    private String clientContacts;
+
+    /**
+     * 合同金额
+     */
+    private String contractAmount;
+
+    /**
+     * 合同创建人
+     */
+    private String contractCreateName;
+
+    /**
+     * 案卷号
+     */
+    private String filedNo;
+
+
+
+    /**
+     * 流程id
+     */
+    private String procInsId;
+
+    /**
+     * 流程信息
+     */
+    private String processDefinitionId;
+
+    /**
+     * 状态
+     */
+    private String status;
+
+    /**
+     * 项目信息
+     */
+    private CwProjectRecordsDTO cwProjectRecordsDTO;
+
+    /**
+     * 其他附件
+     */
+    private List<WorkAttachmentArchiveDto> WorkAttachmentDtoList;
+
+    /**
+     * 审计报告
+     */
+    private List<CwProjectReportArchiveReportDTO> cwProjectReportArchiveReportDTOList;
+
+    /**
+     * 被审计单位名称
+     */
+    private String auditedUnitsName;
+
+    /**
+     * 归档时间区间
+     */
+    private String[] auditDates;
+
+    /**
+     * 创建时间区间
+     */
+    private String[] createDates;
+
+
+    /**
+     * 档案号
+     */
+    private String fileNumber;
+
+
+
+    /**
+     * 项目编号
+     */
+    private String projectNumber;
+
+
+    /**
+     * 项目经理
+     */
+    private String projectMasterName;
+
+    /**
+     * 创建人姓名
+     */
+    private String createName;
+
+    /**
+     * 创建时间
+     */
+    private String createDateT;
+
+    private Date createDate;
+
+    /**
+     * 报告id
+     */
+    private String reportId;
+
+    /**
+     * 审计意见
+     */
+    private String reportRemarks;
+
+
+    /**
+     * 报告主办人
+     */
+    private String reportCreateName;
+
+
+    /**
+     * 归档状态
+     */
+    private String archiveSta;
+
+    /**
+     * 报告到归档时间差(天数)
+     */
+    private Integer archiveDay;
+
+    /**
+     * 报告时间区间
+     */
+    private String[] reportDates;
+
+    /**
+     * 罚款金额
+     */
+    private String fineMoney;
+
+    /**
+     * 超期天数
+     */
+    private String overDueDay;
+
+    /**
+     * 逾期天数(天数)
+     */
+    private String overdueDay;
+
+    /**
+     * 数据审核人
+     */
+    private List<String> auditUserIds;
+
+
+    /**
+     * 审计收费
+     */
+    private String auditMoney;
+
+    /**
+     * 关联的报告号
+     */
+    private String connectReport;
+    /**
+     * 关联的报告号id
+     */
+    private String connectReportId;
+
+
+    /**
+     * 报告复核流程id
+     */
+    private String cprrProcInsId;
+
+    /**
+     * 报告复核流程id
+     */
+    private String cprrProcDefId;
+
+    /**
+     * 流程发起人姓名
+     */
+    private String userName;
+
+
+    private static final long serialVersionUID = 1L;
+
+    public String getTaskBorrowId() {
+        return taskBorrowId;
+    }
+
+    public void setTaskBorrowId(String taskBorrowId) {
+        this.taskBorrowId = taskBorrowId;
+    }
+
+    public String getProcInsId2() {
+        return procInsId2;
+    }
+
+    public void setProcInsId2(String procInsId2) {
+        this.procInsId2 = procInsId2;
+    }
+
+    public String getBorrowType() {
+        return borrowType;
+    }
+
+    public void setBorrowType(String borrowType) {
+        this.borrowType = borrowType;
+    }
+
+    public String getBorrowUserId() {
+        return borrowUserId;
+    }
+
+    public void setBorrowUserId(String borrowUserId) {
+        this.borrowUserId = borrowUserId;
+    }
+
+    public String getRemarks() {
+        return remarks;
+    }
+
+    public void setRemarks(String remarks) {
+        this.remarks = remarks;
+    }
+
+    public String getProjectId() {
+        return projectId;
+    }
+
+    public void setProjectId(String projectId) {
+        this.projectId = projectId;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getAuditedUnits() {
+        return auditedUnits;
+    }
+
+    public void setAuditedUnits(String auditedUnits) {
+        this.auditedUnits = auditedUnits;
+    }
+
+    public String getReportNum() {
+        return reportNum;
+    }
+
+    public void setReportNum(String reportNum) {
+        this.reportNum = reportNum;
+    }
+
+    public String getPapersNum() {
+        return papersNum;
+    }
+
+    public void setPapersNum(String papersNum) {
+        this.papersNum = papersNum;
+    }
+
+    public String getYear() {
+        return year;
+    }
+
+    public void setYear(String year) {
+        this.year = year;
+    }
+
+    public String getNumber() {
+        return number;
+    }
+
+    public void setNumber(String number) {
+        this.number = number;
+    }
+
+    public String getIsNumber() {
+        return isNumber;
+    }
+
+    public void setIsNumber(String isNumber) {
+        this.isNumber = isNumber;
+    }
+
+    public String getApproveRemarks() {
+        return approveRemarks;
+    }
+
+    public void setApproveRemarks(String approveRemarks) {
+        this.approveRemarks = approveRemarks;
+    }
+
+
+    public Date getAuditDate() {
+        return auditDate;
+    }
+
+    public void setAuditDate(Date auditDate) {
+        this.auditDate = auditDate;
+    }
+
+    @Override
+    public String getProcInsId() {
+        return procInsId;
+    }
+
+    @Override
+    public void setProcInsId(String procInsId) {
+        this.procInsId = procInsId;
+    }
+
+    @Override
+    public String getProcessDefinitionId() {
+        return processDefinitionId;
+    }
+
+    @Override
+    public void setProcessDefinitionId(String processDefinitionId) {
+        this.processDefinitionId = processDefinitionId;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    public CwProjectRecordsDTO getCwProjectRecordsDTO() {
+        return cwProjectRecordsDTO;
+    }
+
+    public void setCwProjectRecordsDTO(CwProjectRecordsDTO cwProjectRecordsDTO) {
+        this.cwProjectRecordsDTO = cwProjectRecordsDTO;
+    }
+
+    public List<WorkAttachmentArchiveDto> getWorkAttachmentDtoList() {
+        return WorkAttachmentDtoList;
+    }
+
+    public void setWorkAttachmentDtoList(List<WorkAttachmentArchiveDto> workAttachmentDtoList) {
+        WorkAttachmentDtoList = workAttachmentDtoList;
+    }
+
+    public List<CwProjectReportArchiveReportDTO> getCwProjectReportArchiveReportDTOList() {
+        return cwProjectReportArchiveReportDTOList;
+    }
+
+    public void setCwProjectReportArchiveReportDTOList(List<CwProjectReportArchiveReportDTO> cwProjectReportArchiveReportDTOList) {
+        this.cwProjectReportArchiveReportDTOList = cwProjectReportArchiveReportDTOList;
+    }
+
+    public String getAuditedUnitsName() {
+        return auditedUnitsName;
+    }
+
+    public void setAuditedUnitsName(String auditedUnitsName) {
+        this.auditedUnitsName = auditedUnitsName;
+    }
+
+    public String[] getAuditDates() {
+        return auditDates;
+    }
+
+    public void setAuditDates(String[] auditDates) {
+        this.auditDates = auditDates;
+    }
+
+    public String[] getCreateDates() {
+        return createDates;
+    }
+
+    public void setCreateDates(String[] createDates) {
+        this.createDates = createDates;
+    }
+
+    public String getReportNo() {
+        return reportNo;
+    }
+
+    public void setReportNo(String reportNo) {
+        this.reportNo = reportNo;
+    }
+
+    public String getFileNumber() {
+        return fileNumber;
+    }
+
+    public void setFileNumber(String fileNumber) {
+        this.fileNumber = fileNumber;
+    }
+
+    public String getProjectName() {
+        return projectName;
+    }
+
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
+    public String getProjectMasterName() {
+        return projectMasterName;
+    }
+
+    public void setProjectMasterName(String projectMasterName) {
+        this.projectMasterName = projectMasterName;
+    }
+
+    public String getCreateName() {
+        return createName;
+    }
+
+    public void setCreateName(String createName) {
+        this.createName = createName;
+    }
+
+    public String getCreateDateT() {
+        return createDateT;
+    }
+
+    public void setCreateDateT(String createDateT) {
+        this.createDateT = createDateT;
+    }
+
+    public String getReportId() {
+        return reportId;
+    }
+
+    public void setReportId(String reportId) {
+        this.reportId = reportId;
+    }
+
+    public String getReportRemarks() {
+        return reportRemarks;
+    }
+
+    public void setReportRemarks(String reportRemarks) {
+        this.reportRemarks = reportRemarks;
+    }
+
+    public Date getReportDate() {
+        return reportDate;
+    }
+
+    public void setReportDate(Date reportDate) {
+        this.reportDate = reportDate;
+    }
+
+    public String getReportCreateName() {
+        return reportCreateName;
+    }
+
+    public void setReportCreateName(String reportCreateName) {
+        this.reportCreateName = reportCreateName;
+    }
+
+    public String getSignatureAnnotator1Name() {
+        return signatureAnnotator1Name;
+    }
+
+    public void setSignatureAnnotator1Name(String signatureAnnotator1Name) {
+        this.signatureAnnotator1Name = signatureAnnotator1Name;
+    }
+
+    public String getSignatureAnnotator2Name() {
+        return signatureAnnotator2Name;
+    }
+
+    public void setSignatureAnnotator2Name(String signatureAnnotator2Name) {
+        this.signatureAnnotator2Name = signatureAnnotator2Name;
+    }
+
+    public String getArchiveSta() {
+        return archiveSta;
+    }
+
+    public void setArchiveSta(String archiveSta) {
+        this.archiveSta = archiveSta;
+    }
+
+    public Integer getArchiveDay() {
+        return archiveDay;
+    }
+
+    public void setArchiveDay(Integer archiveDay) {
+        this.archiveDay = archiveDay;
+    }
+
+    public String[] getReportDates() {
+        return reportDates;
+    }
+
+    public void setReportDates(String[] reportDates) {
+        this.reportDates = reportDates;
+    }
+
+    public String getFineMoney() {
+        return fineMoney;
+    }
+
+    public void setFineMoney(String fineMoney) {
+        this.fineMoney = fineMoney;
+    }
+
+    public String getOverDueDay() {
+        return overDueDay;
+    }
+
+    public void setOverDueDay(String overDueDay) {
+        this.overDueDay = overDueDay;
+    }
+
+    public String getOverdueDay() {
+        return overdueDay;
+    }
+
+    public void setOverdueDay(String overdueDay) {
+        this.overdueDay = overdueDay;
+    }
+
+    public static long getSerialVersionUID() {
+        return serialVersionUID;
+    }
+
+    public void setAuditUserIds(List<String> auditUserIds) {
+        this.auditUserIds = auditUserIds;
+    }
+
+    public List<String> getAuditUserIds() {
+        return auditUserIds;
+    }
+
+    public String getCprrProcInsId() {
+        return cprrProcInsId;
+    }
+
+    public void setCprrProcInsId(String cprrProcInsId) {
+        this.cprrProcInsId = cprrProcInsId;
+    }
+
+    public String getCprrProcDefId() {
+        return cprrProcDefId;
+    }
+
+    public void setCprrProcDefId(String cprrProcDefId) {
+        this.cprrProcDefId = cprrProcDefId;
+    }
+
+    public String getConnectReport() {
+        return connectReport;
+    }
+
+    public void setConnectReport(String connectReport) {
+        this.connectReport = connectReport;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+}