فهرست منبع

会计归档管理给归档管理员(樊莉)添加会计和苏州分公司数据区分限制

徐滕 1 هفته پیش
والد
کامیت
fb32447c7e
11فایلهای تغییر یافته به همراه90 افزوده شده و 19 حذف شده
  1. 1 1
      jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/workContract/controller/WorkContractController.java
  2. 14 1
      jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/workContract/domain/WorkContractInfo.java
  3. 19 10
      jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/workContract/mapper/xml/WorkContractInfoMapper.xml
  4. 14 3
      jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/workContract/service/WorkContractService.java
  5. 2 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectRecords/mapper/xml/CwProjectRecordsMapper.xml
  6. 5 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectRecords/service/dto/CwProjectRecordsDTO.java
  7. 3 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/domain/CwProjectReportData.java
  8. 6 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/service/CwProjectReportService.java
  9. 4 4
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReportArchive/mapper/xml/CwProjectReportArchiveMapper.xml
  10. 17 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReportArchive/service/CwProjectReportArchiveService.java
  11. 5 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReportArchive/service/dto/CwProjectReportArchiveDTO.java

+ 1 - 1
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/workContract/controller/WorkContractController.java

@@ -53,7 +53,7 @@ public class WorkContractController {
         if(StringUtils.isNotBlank(workClientInfo.getCancelStatus())){
             workContractInfoQueryWrapper.eq("wcc.status",workClientInfo.getCancelStatus());
         }
-        IPage<WorkContractInfo> list = workContractService.list(page, workContractInfoQueryWrapper, clientName, contractDates, contractAmounts, statusList, status,contractType);
+        IPage<WorkContractInfo> list = workContractService.list(page, workContractInfoQueryWrapper, clientName, contractDates, contractAmounts, statusList, status,contractType, workClientInfo.getReportNo());
         return ResponseEntity.ok (list);
     }
 

+ 14 - 1
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/workContract/domain/WorkContractInfo.java

@@ -231,6 +231,19 @@ public class WorkContractInfo extends BaseEntity {
      * 合同关联的报告号
      */
     @TableField(exist = false)
-    private List<String> reportNo;
+    private List<String> reportNoList;
+
+
+    /**
+     * 合同关联的报告号
+     */
+    @TableField(exist = false)
+    private String reportNo;
+
+    /**
+     * 合同关联的报告号
+     */
+    @TableField(exist = false)
+    private String reportNos;
 
 }

+ 19 - 10
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/workContract/mapper/xml/WorkContractInfoMapper.xml

@@ -44,20 +44,29 @@
 			a.create_by_id as create_id,
 			d.filed_type,
 			e.ID_ as task_filed_id,
-			g.ID_ as task_borrow_id
+			g.ID_ as task_borrow_id,
+			-- 核心:拼接所有报告号,自动去重+逗号分隔
+			GROUP_CONCAT(DISTINCT prn.report_no SEPARATOR ',') AS reportNos
 		FROM
 			work_contract_info a
-			LEFT JOIN sys_user c ON a.create_by_id = c.id
-			LEFT JOIN act_ru_task b ON a.proc_ins_id = b.PROC_INST_ID_
-			LEFT JOIN work_contract_file d ON a.id = d.contract_info_id and d.del_flag = 0
-			LEFT JOIN act_ru_task e ON d.proc_ins_id = e.PROC_INST_ID_
-			LEFT JOIN work_contract_borrow f ON a.id = f.contract_info_id
-			LEFT JOIN act_ru_task g ON f.proc_ins_id = g.PROC_INST_ID_
-			LEFT JOIN work_contract_cancel wcc ON a.id = wcc.contract_info_id and wcc.del_flag = 0
-			LEFT JOIN act_ru_task artCan ON wcc.proc_ins_id = artCan.PROC_INST_ID_
+				LEFT JOIN sys_user c ON a.create_by_id = c.id
+				LEFT JOIN act_ru_task b ON a.proc_ins_id = b.PROC_INST_ID_
+				LEFT JOIN work_contract_file d ON a.id = d.contract_info_id and d.del_flag = 0
+				LEFT JOIN act_ru_task e ON d.proc_ins_id = e.PROC_INST_ID_
+				LEFT JOIN work_contract_borrow f ON a.id = f.contract_info_id
+				LEFT JOIN act_ru_task g ON f.proc_ins_id = g.PROC_INST_ID_
+				LEFT JOIN work_contract_cancel wcc ON a.id = wcc.contract_info_id and wcc.del_flag = 0
+				LEFT JOIN act_ru_task artCan ON wcc.proc_ins_id = artCan.PROC_INST_ID_
 
+				-- 关联项目和报告号表
+				LEFT JOIN program_project_list_info ppli
+						  ON ppli.contract_id = a.id AND ppli.del_flag = 0
+				LEFT JOIN program_report_no prn
+						  ON prn.program_id = ppli.id AND prn.del_flag = 0
 
-		${ew.customSqlSegment}
+			${ew.customSqlSegment}
+		-- 按合同ID分组
+		GROUP BY a.id
 		ORDER BY a.update_time DESC
 	</select>
 

+ 14 - 3
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/workContract/service/WorkContractService.java

@@ -68,7 +68,7 @@ public class WorkContractService {
      * @param
      * @return
      */
-    public IPage<WorkContractInfo> list(Page<WorkContractInfo> page, QueryWrapper<WorkContractInfo> queryWrapper, String clientName, String[] contractDates, String[] contractAmounts,String statusList,String status,String contractType) {
+    public IPage<WorkContractInfo> list(Page<WorkContractInfo> page, QueryWrapper<WorkContractInfo> queryWrapper, String clientName, String[] contractDates, String[] contractAmounts,String statusList,String status,String contractType, String reportNo) {
         queryWrapper.eq("a.del_flag","0");
         if (contractDates != null) {
             queryWrapper.between("a.contract_date", contractDates[0], contractDates[1]);
@@ -97,6 +97,17 @@ public class WorkContractService {
                 queryWrapper.like("a.status", status);
             }
         }
+
+        if (StringUtils.isNotBlank(reportNo)) {
+            // 模糊查询报告号(包含该字符串即可)
+            queryWrapper.inSql("a.id",
+                    "SELECT wci.id FROM work_contract_info wci " +
+                            "LEFT JOIN program_project_list_info ppli ON ppli.contract_id = wci.id AND ppli.del_flag=0 " +
+                            "LEFT JOIN program_report_no prn ON prn.program_id = ppli.id AND prn.del_flag=0 " +
+                            "WHERE prn.report_no LIKE '%" + reportNo + "%'"
+            );
+        }
+
         IPage<WorkContractInfo> pageList = workContractInfoMapper.findPageList(page, queryWrapper);
         pageList.getRecords().stream().forEach(i -> {
             // 合同登记
@@ -119,10 +130,10 @@ public class WorkContractService {
             }
 
             //查询合同关联报告号
-            List<String> reportNoList = workContractInfoMapper.getReportNoByContractId(i.getId());
+            /*List<String> reportNoList = workContractInfoMapper.getReportNoByContractId(i.getId());
             if (reportNoList != null && !reportNoList.isEmpty()) {
                 i.setReportNo(reportNoList);
-            }
+            }*/
 
         });
         return pageList;

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

@@ -497,6 +497,7 @@
         su.name as user_name,
         su2.name as project_master_name,
         su3.name as real_header_name,
+        su4.name as projectExecutorName,
         cw_wci.contract_name,
         cw_wci.contract_amount,
         cw_wci.contract_num,
@@ -508,6 +509,7 @@
         left join sys_user su on su.id = a.create_by_id and su.del_flag = '0'
         left join sys_user su2 on su2.id = a.project_master_id and su2.del_flag = '0'
         left join sys_user su3 on su3.id = a.real_header and su3.del_flag = '0'
+        left join sys_user su4 on su4.id = a.project_executor and su4.del_flag = '0'
         left join cw_work_contract_info cw_wci on cw_wci.id = a.contract_id and cw_wci.del_flag = '0'
         left join cw_work_client_base cw_wcb on cw_wci.client_contacts = cw_wcb.id and cw_wcb.del_flag = '0'
         left join cw_project_business_type cw_pbt on cw_pbt.id = a.business_type and cw_pbt.del_flag = '0'

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

@@ -125,6 +125,11 @@ public class CwProjectRecordsDTO extends BaseDTO {
     private String projectExecutor;
 
     /**
+     * 项目实际执行人
+     */
+    private String projectExecutorName;
+
+    /**
      * 项目实际可执行人的id集合
      */
     private String projectOperators;

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

@@ -187,6 +187,9 @@ public class CwProjectReportData extends BaseDTO {
     @TableField(exist = false)
     private String[] createDates;
 
+    @TableField(exist = false)
+    private String[] sealDates;
+
     /**
      * 签章documentId
      */

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

@@ -719,6 +719,12 @@ public class CwProjectReportService extends ServiceImpl<CwProjectReportMapper, C
         if (StringUtils.isNotEmpty(projectReportData.getServedUnitName())) {
             queryWrapper.like("cwcb.name", projectReportData.getServedUnitName());
         }
+        //7、盖章时间(区间)
+        String[] sealDates = projectReportData.getSealDates();
+        if (sealDates != null) {
+
+            queryWrapper.between("cw_rev.audit_time", sealDates[0], sealDates[1]);
+        }
         //6、审计收费
         String[] contractAmounts = projectReportData.getContractAmounts();
         if (contractAmounts != null) {

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

@@ -300,8 +300,8 @@
         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 sys_user su on su.id = cw_pa.create_by_id
+        left join sys_office so on so.id = su.office_id
         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'
@@ -837,8 +837,8 @@
         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 sys_user su on su.id = cw_pa.create_by_id
+        left join sys_office so on so.id = su.office_id
         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'

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

@@ -192,6 +192,14 @@ public class CwProjectReportArchiveService extends ServiceImpl<CwProjectReportAr
                 if (StringUtils.isNotBlank(cwProjectReportArchiveDTO.getReportNo())) {
                     queryWrapper.like("cw_prnl.report_no",cwProjectReportArchiveDTO.getReportNo());
                 }
+                // 报告文号
+                if (StringUtils.isNotBlank(cwProjectReportArchiveDTO.getSubordinateCompany())) {
+                    if ("10003".equals(cwProjectReportArchiveDTO.getSubordinateCompany())) {
+                        queryWrapper.notLike("so.parent_ids","1703668499751649282");
+                    }else if ("10006".equals(cwProjectReportArchiveDTO.getSubordinateCompany())) {
+                        queryWrapper.like("so.parent_ids","1703668499751649282");
+                    }
+                }
 
             }
         }
@@ -877,6 +885,15 @@ public class CwProjectReportArchiveService extends ServiceImpl<CwProjectReportAr
                     queryWrapper.like("cw_prnl.report_no",cwProjectReportArchiveDTO.getReportNo());
                 }
 
+                // 报告文号
+                if (StringUtils.isNotBlank(cwProjectReportArchiveDTO.getSubordinateCompany())) {
+                    if ("10003".equals(cwProjectReportArchiveDTO.getSubordinateCompany())) {
+                        queryWrapper.notLike("so.parent_ids","1703668499751649282");
+                    }else if ("10006".equals(cwProjectReportArchiveDTO.getSubordinateCompany())) {
+                        queryWrapper.like("so.parent_ids","1703668499751649282");
+                    }
+                }
+
             }
         }
         String isBmzr = "0";

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

@@ -461,6 +461,11 @@ public class CwProjectReportArchiveDTO extends BaseDTO {
     private String projectExecutor;
 
     /**
+     * 报告所属公司
+     */
+    private String subordinateCompany;
+
+    /**
      * 项目实际操作人员对老项目的可操作性判断
      */
     private Boolean projectExecutorFlag;