Jelajahi Sumber

会计归档调整

huangguoce 1 bulan lalu
induk
melakukan
d721ab365b

+ 1 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/CwProjectInfoMapper.java

@@ -103,4 +103,5 @@ public interface CwProjectInfoMapper extends BaseMapper<CwProjectInfoData> {
 
     @InterceptorIgnore(tenantLine = "true")
     void updateCwProjectInfoDataById(CwProjectInfoData cwProjectInfoData);
+
 }

+ 18 - 2
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReportArchive/controller/CwProjectReportArchiveController.java

@@ -231,9 +231,17 @@ public class CwProjectReportArchiveController {
         List<CwProjectReportArchiveExportDTO> exports = new ArrayList<>();
         AtomicInteger counter = new AtomicInteger(1);
         result.forEach(re -> {
+            //项目经理处理
+            if(StringUtils.isNotBlank(re.getProjectMasterName())){
+                re.setProjectCreateName(re.getProjectMasterName());
+            }else{
+                re.setProjectCreateName(re.getRealHeaderName());
+            }
             //字典值处理
-            String businessType = SpringUtil.getBean(IDictApi.class).getDictLabel(re.getBusinessType(), "cw_business_type", "");
-            re.setBusinessType(businessType);
+            if(StringUtils.isNotBlank(re.getEntrustType())){
+                String entrustType = SpringUtil.getBean(IDictApi.class).getDictLabel(re.getEntrustType(), "cw_entrust_type", "");
+                re.setEntrustType(entrustType);
+            }
             //根据报告复核的proinsid获取二级复核
             String cprrProcInsId = re.getCprrProcInsId();
             Map map = SpringUtil.getBean(IFlowableApi.class).historicTaskList2(cprrProcInsId);
@@ -311,4 +319,12 @@ public class CwProjectReportArchiveController {
         result = cwProjectReportArchiveService.findCompletedList (page, cwProjectReportArchiveDTO);
         return ResponseEntity.ok (result);
     }
+
+
+    @ApiOperation(value = "根据委托项目类型查询最新盒号和报告文号")
+    @GetMapping("/getFileBoxNumber")
+    public ResponseEntity<CwProjectReportArchiveDTO> getFileBoxNumber(@RequestParam String entrustType) throws Exception{
+        CwProjectReportArchiveDTO dto = cwProjectReportArchiveService.findByEntrustType(entrustType);
+        return ResponseEntity.ok(dto);
+    }
 }

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

@@ -84,6 +84,10 @@ public class CwProjectReportArchive extends BaseEntity {
      */
     private String contract;
 
+    /**
+     * 委托项目类型
+     */
+    private String entrustType;
 
     /**
      * 归档时间

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

@@ -87,6 +87,13 @@ public interface CwProjectReportArchiveMapper extends BaseMapper<CwProjectReport
      */
     List<CwProjectReportArchiveDTO> getArchiveDateByReportId(String reportId);
 
+    /**
+     * 根据委托项目类型查询盒号和报告文号
+     * @return
+     */
+    @InterceptorIgnore(tenantLine = "true")
+    CwProjectReportArchiveDTO findByEntrustType(@Param("entrustType")String entrustType);
+
 }
 
 

+ 31 - 7
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReportArchive/mapper/xml/CwProjectReportArchiveMapper.xml

@@ -293,7 +293,6 @@
         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,
@@ -302,7 +301,8 @@
         cw_pa.approved_including_tax as approvedIncludingTax,
         cw_pa.contract,
         cprr.proc_ins_id as cprrProcInsId,
-        cw_pa.audit_date as auditDate
+        cw_pa.audit_date as auditDate,
+        cw_pa.entrust_type as entrustType
         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'
@@ -315,15 +315,11 @@
         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,
@@ -425,12 +421,17 @@
         b.report_create_name,
         b.signature_annotator1_name,
         b.signature_annotator2_name,
+        b.signature_annotator1,
+        b.signature_annotator2,
         b.report_no,
+        su3.id as projectMaster,
+        su4.id as realHeader,
         b.approved_no_including_tax as approvedNoIncludingTaxBak,
         b.approved_including_tax as approvedIncludingTaxBak,
+        b.proc_ins_id as cprrProcInsId,
         prnl.report_no as "connectReport",
         pr.business_type as businessType,
-        su1.name as projectCreateName,
+        su1.id as projectManager,
         cwci.contract_no as contractNo,
         cwci.contract_name as contractName,
         cwci.client_contacts as clientContacts,
@@ -440,6 +441,7 @@
         cw_pa.approved_no_including_tax as approvedNoIncludingTax,
         cw_pa.approved_including_tax as approvedIncludingTax,
         cw_pa.contract,
+        cw_pa.entrust_type as entrustType,
         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
@@ -451,11 +453,15 @@
         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 sys_user su3 on prs.project_master_id = su3.id and su3.del_flag = '0'
+        left join sys_user su4 on prs.real_header = su4.id and su4.del_flag = '0'
         left join(
             select
                 <include refid="prnl_column"></include>
+            ,cprr.proc_ins_id
             from cw_project_report_new_line cw_prnl
             left join cw_project_report cw_pr on cw_pr.id = cw_prnl.report_id and cw_pr.del_flag = '0'
+            left join cw_project_report_review cprr on cprr.report_id = cw_prnl.report_id
             left join sys_user su on su.id = cw_prnl.create_by_id and su.del_flag = '0'
             left join sys_user su1 on su1.id = cw_pr.signature_annotator1 and su1.del_flag = '0'
             left join sys_user su2 on su2.id = cw_pr.signature_annotator2 and su2.del_flag = '0'
@@ -602,6 +608,9 @@
         <if test="contract != null and contract != ''">
             contract = #{contract},
         </if>
+        <if test="entrustType != null and entrustType != ''">
+            entrust_type = #{entrustType},
+        </if>
         update_by_id = #{updateById},
         update_time = #{updateTime}
         where id = #{id} ;
@@ -722,4 +731,19 @@
         where cw_pa.report_id = #{reportId} and cw_pa.del_flag = 0
         order by cw_pa.audit_date desc,cw_pa.update_time desc
     </select>
+
+
+    <select id="findByEntrustType" resultType="com.jeeplus.finance.projectReportArchive.service.dto.CwProjectReportArchiveDTO">
+        select
+            a.number,
+            cw_prnl.report_no AS reportNo
+        from cw_project_report_archive a
+            left join cw_project_report_new_line cw_prnl on a.report_id = cw_prnl.report_id and cw_prnl.del_flag = '0'
+        where a.entrust_type = #{entrustType}
+            and a.del_flag = '0'
+            and a.status = '5'
+        order by
+            a.update_time DESC
+            limit 1
+    </select>
 </mapper>

+ 46 - 3
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReportArchive/service/CwProjectReportArchiveService.java

@@ -14,9 +14,13 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.google.common.collect.Lists;
 import com.jeeplus.common.TokenProvider;
 import com.jeeplus.core.query.QueryWrapperGenerator;
+import com.jeeplus.finance.invoice.domain.CwFinanceInvoice;
 import com.jeeplus.finance.projectRecords.domain.CwProjectRecords;
 import com.jeeplus.finance.projectRecords.mapper.CwProjectRecordsMapper;
+import com.jeeplus.finance.projectReport.domain.CwProjectInfoData;
+import com.jeeplus.finance.projectReport.domain.CwProjectReport;
 import com.jeeplus.finance.projectReport.mapper.CwProjectInfoMapper;
+import com.jeeplus.finance.projectReport.mapper.CwProjectReportMapper;
 import com.jeeplus.finance.projectReportArchive.domain.CwProjectReportArchive;
 import com.jeeplus.finance.projectReportArchive.domain.CwProjectReportArchiveFile;
 import com.jeeplus.finance.projectReportArchive.mapper.CwProjectReportArchiveFileMapper;
@@ -29,10 +33,12 @@ import com.jeeplus.finance.projectReportArchive.service.dto.WorkAttachmentArchiv
 import com.jeeplus.finance.projectReportArchive.service.mapstruct.CwProjectReportArchiveWrapper;
 import com.jeeplus.flowable.feign.IFlowableApi;
 import com.jeeplus.sys.domain.WorkAttachmentInfo;
+import com.jeeplus.sys.feign.IDictApi;
 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.springframework.beans.BeanUtils;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -55,14 +61,17 @@ public class CwProjectReportArchiveService extends ServiceImpl<CwProjectReportAr
     private CwProjectReportArchiveFileMapper cwProjectReportArchiveFileMapper;
     @Resource
     private CwProjectRecordsMapper cwProjectRecordsMapper;
+    @Resource
+    private CwProjectReportMapper cwProjectReportMapper;
+
+    @Resource
+    private CwProjectInfoMapper cwProjectInfoMapper;
 //    @Resource
 //    private OssService ossService;
 //    @Resource
 //    private OssServiceMapper ossServiceMapper;
 //    @Resource
 //    private UserMapper userMapper;
-    @Resource
-    private CwProjectInfoMapper cwProjectInfoMapper;
 //    @Resource
 //    private SerialnumTplService serialnumTplService;
     @Resource
@@ -332,6 +341,13 @@ public class CwProjectReportArchiveService extends ServiceImpl<CwProjectReportAr
     public CwProjectReportArchiveDTO queryById(String id) {
         CwProjectReportArchiveDTO d = cwProjectReportArchiveMapper.queryById(id);
         if (null != d){
+            //根据报告复核的proinsid获取二级复核
+            String cprrProcInsId = d.getCprrProcInsId();
+            if(StringUtils.isNotBlank(cprrProcInsId)){
+                Map map = SpringUtil.getBean(IFlowableApi.class).historicTaskList2(cprrProcInsId);
+                String secondAuditName = map.get("secondAuditName").toString();
+                d.setSecondAuditName(secondAuditName);
+            }
             List<WorkAttachmentArchiveDto> fileList = Lists.newArrayList();
             // 查询附件信息
             List<WorkAttachmentArchiveDto> dtos = cwProjectReportArchiveMapper.findDtos(id);
@@ -390,8 +406,20 @@ public class CwProjectReportArchiveService extends ServiceImpl<CwProjectReportAr
         if(StringUtils.isNotBlank(cwProjectReportArchiveDTO.getContract())){
             cwProjectReportArchive.setContract(cwProjectReportArchiveDTO.getContract());
         }
+        if(StringUtils.isNotBlank(cwProjectReportArchiveDTO.getEntrustType())){
+            cwProjectReportArchive.setEntrustType(cwProjectReportArchiveDTO.getEntrustType());
+        }
 
-
+        String signatureAnnotator1 = cwProjectReportArchiveDTO.getSignatureAnnotator1();
+        String signatureAnnotator2 = cwProjectReportArchiveDTO.getSignatureAnnotator2();
+        //修改签字注师
+        if(StringUtils.isNotBlank(signatureAnnotator1) && StringUtils.isNotBlank(signatureAnnotator2) && StringUtils.isNotBlank(cwProjectReportArchiveDTO.getReportId())){
+            CwProjectReport cwProjectReport = new CwProjectReport();
+            cwProjectReport.setSignatureAnnotator1(signatureAnnotator1);
+            cwProjectReport.setSignatureAnnotator2(signatureAnnotator2);
+            cwProjectReport.setId(cwProjectReportArchiveDTO.getReportId());
+            cwProjectReportMapper.updateById(cwProjectReport);
+        }
         if(StringUtils.isNotBlank(cwProjectReportArchive.getId())){ //修改
             cwProjectReportArchiveMapper.updateInfoById(cwProjectReportArchive);
         }else{  //新增
@@ -710,4 +738,19 @@ public class CwProjectReportArchiveService extends ServiceImpl<CwProjectReportAr
         return list;
     }
 
+
+    /**
+     * 根据委托项目类型查询最新盒号和报告文号
+     * @param entrustType
+     * @return
+     */
+    public CwProjectReportArchiveDTO findByEntrustType(String entrustType) {
+        if (StringUtils.isNotBlank(entrustType)){
+            CwProjectReportArchiveDTO cwProjectReportArchiveDTO = cwProjectReportArchiveMapper.findByEntrustType(entrustType);
+                return cwProjectReportArchiveDTO;
+        }
+        return null;
+    }
+
+
 }

+ 32 - 1
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReportArchive/service/dto/CwProjectReportArchiveDTO.java

@@ -99,13 +99,18 @@ public class CwProjectReportArchiveDTO extends BaseDTO {
     /**
      * 项目创建人
      */
-    private String projectCreateName;
+    private String projectManager;
 
     /**
      * 业务类型
      */
     private String businessType;
 
+    /**
+     * 委托项目类型
+     */
+    private String entrustType;
+
 
     /**
      * 审定金额(不含税/元)
@@ -295,6 +300,17 @@ public class CwProjectReportArchiveDTO extends BaseDTO {
     private String signatureAnnotator2Name;
 
     /**
+     * 签字注师1id
+     */
+    private String signatureAnnotator1;
+
+    /**
+     * 签字注师2id
+     */
+    private String signatureAnnotator2;
+
+
+    /**
      * 归档状态
      */
     @Excel(name = "归档状态",width = 25,orderNum = "11")
@@ -363,6 +379,21 @@ public class CwProjectReportArchiveDTO extends BaseDTO {
      */
     private String userName;
 
+    /**
+     * 二级复核
+     */
+    private String secondAuditName;
+
+    /**
+     * 项目经理1
+     */
+    private String projectMaster;
+
+    /**
+     * 项目经理2
+     */
+    private String realHeader;
+
 
     private static final long serialVersionUID = 1L;
 

+ 46 - 40
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReportArchive/service/dto/CwProjectReportArchiveExportDTO.java

@@ -24,17 +24,16 @@ public class CwProjectReportArchiveExportDTO extends BaseDTO {
 
     @Excel(name = "序号", orderNum = "0") // orderNum 控制列顺序
     private Integer index;
-    /**
-     * 业务类型
-     */
+
+
     @ExcelProperty(value = "委托项目类型")
     @Excel(name = "委托项目类型",width = 25,orderNum = "1")
-    private String businessType;
+    private String entrustType;
 
     /**
      * 项目创建人
      */
-    @Excel(name = "项目负责人",width = 25,orderNum = "2")
+    @Excel(name = "项目现场负责人",width = 25,orderNum = "2")
     private String projectCreateName;
 
     /**
@@ -44,9 +43,15 @@ public class CwProjectReportArchiveExportDTO extends BaseDTO {
     private String reportNo;
 
     /**
+     * 被审计单位
+     */
+    @Excel(name = "被审计单位",width = 25,orderNum = "4")
+    private String auditedUnitsName;
+
+    /**
      * 项目名称
      */
-    @Excel(name = "项目名称",width = 25,orderNum = "4")
+    @Excel(name = "项目名称",width = 25,orderNum = "5")
     private String projectName;
 
 
@@ -55,14 +60,14 @@ public class CwProjectReportArchiveExportDTO extends BaseDTO {
      */
     @DateTimeFormat(pattern = "yyyy-MM-dd")
     @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "报告日期",exportFormat = "yyyy/MM/dd",width = 25,orderNum = "5")
+    @Excel(name = "报告日期",exportFormat = "yyyy/MM/dd",width = 25,orderNum = "6")
     private Date reportDate;
 
 
     /**
      * 二级复核
      */
-    @Excel(name = "二级复核",width = 25,orderNum = "6")
+    @Excel(name = "二级复核",width = 25,orderNum = "7")
     private String secondAuditName;
 
     /**
@@ -76,45 +81,61 @@ public class CwProjectReportArchiveExportDTO extends BaseDTO {
      */
     @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")
+    @Excel(name = "归档时间",exportFormat = "yyyy/MM/dd",width = 25,orderNum = "8")
     private Date auditDate;
     /**
      * 签字注师1
      */
-    @Excel(name = "签字注师1",width = 25,orderNum = "8")
+    @Excel(name = "签字注师1",width = 25,orderNum = "9")
     private String signatureAnnotator1Name;
 
     /**
      * 签字注师2
      */
-    @Excel(name = "签字注师2",width = 25,orderNum = "9")
+    @Excel(name = "签字注师2",width = 25,orderNum = "10")
     private String signatureAnnotator2Name;
 
     /**
-     * 审核备注
+     * 合同
      */
-    @Excel(name = "备注",width = 25,orderNum = "10")
-    private String approveRemarks;
+    @Excel(name = "报告册数",width = 25,orderNum = "11")
+    private String reportNum;
 
     /**
      * 合同
      */
-    @Excel(name = "合同",width = 25,orderNum = "11")
+    @Excel(name = "底稿册数",width = 25,orderNum = "12")
+    private String papersNum;
+
+    /**
+     * 合同
+     */
+    @Excel(name = "合同",width = 25,orderNum = "13")
     private String contract;
 
+    /**
+     * 案卷号
+     */
+    @Excel(name = "盒号",width = 25,orderNum = "14")
+    private String number;
 
     /**
      * 审定金额(不含税/元)
      */
-    @Excel(name = "审定金额(不含税/元)",width = 25,orderNum = "12")
+    @Excel(name = "审定金额(不含税/元)",width = 25,orderNum = "15")
     private String approvedNoIncludingTax;
 
     /**
      * 审定金额(含税/元)
      */
-    @Excel(name = "审定金额(含税/元)",width = 25,orderNum = "13")
+    @Excel(name = "审定金额(含税/元)",width = 25,orderNum = "16")
     private String approvedIncludingTax;
 
+    /**
+     * 审核备注
+     */
+    @Excel(name = "备注",width = 25,orderNum = "17")
+    private String approveRemarks;
 
     private String taskBorrowId;
 
@@ -135,31 +156,21 @@ public class CwProjectReportArchiveExportDTO extends BaseDTO {
 
     public static final String BIZ_CODE = "15";
 
-    /**
-     * 项目id
-     */
-    private String projectId;
 
     /**
-     * 档案名称
+     * 项目经理2
      */
-//    @Excel(name = "档案名称",width = 25,orderNum = "0")
-    private String name;
+    private String realHeaderName;
 
     /**
-     * 被审计单位
-     */
-    private String auditedUnits;
-
-    /**
-     * 报告册数
+     * 项目id
      */
-    private String reportNum;
+    private String projectId;
 
     /**
-     * 底稿册数
+     * 档案名称
      */
-    private String papersNum;
+    private String name;
 
     /**
      * 档案年度
@@ -167,11 +178,6 @@ public class CwProjectReportArchiveExportDTO extends BaseDTO {
     private String year;
 
     /**
-     * 案卷号
-     */
-    private String number;
-
-    /**
      * 确认案卷号
      */
     private String isNumber;
@@ -250,9 +256,9 @@ public class CwProjectReportArchiveExportDTO extends BaseDTO {
     private List<CwProjectReportArchiveReportDTO> cwProjectReportArchiveReportDTOList;
 
     /**
-     * 被审计单位名称
+     * 被审计单位
      */
-    private String auditedUnitsName;
+    private String auditedUnits;
 
     /**
      * 归档时间区间