Преглед на файлове

添加报告关联以及发票关联

lizhenhao преди 2 години
родител
ревизия
8aa9a42e25

+ 14 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/invoice/controller/CwFinanceInvoiceController.java

@@ -279,4 +279,18 @@ public class CwFinanceInvoiceController {
         return ResponseEntity.ok(cwFinanceDTO);
     }
 
+    /**
+     * 根据客户id查询项目关联发票
+     * @param clientId
+     * @param cwFinanceInvoiceDTO
+     * @return
+     * @throws Exception
+     */
+    @GetMapping("getIdByClientId")
+    @ApiOperation(value = "根据客户id查询项目关联发票")
+    public ResponseEntity<List<CwFinanceInvoiceDTO>> getIdByClientId(String clientId,CwFinanceInvoiceDTO cwFinanceInvoiceDTO) throws Exception {
+        List<CwFinanceInvoiceDTO> cwFinanceDTO = cwFinanceInvoiceService.getIdByClientId(clientId, cwFinanceInvoiceDTO);
+        return ResponseEntity.ok(cwFinanceDTO);
+    }
+
 }

+ 2 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/invoice/mapper/CwFinanceInvoiceMapper.java

@@ -24,6 +24,8 @@ public interface CwFinanceInvoiceMapper extends BaseMapper<CwFinanceInvoice> {
     public List<CwFinanceInvoiceDTO> getByIds(@Param(Constants.WRAPPER) QueryWrapper<CwFinanceInvoice> queryWrapper);
 
     public List<String> getIdByContractId(@Param("id") String id);
+
+    public List<String> getIdByClientId(@Param("id") String id);
 }
 
 

+ 7 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/invoice/mapper/xml/CwFinanceInvoiceMapper.xml

@@ -270,4 +270,11 @@
         and contract_id = #{id}
         AND fi.del_flag = '0') a
     </select>
+
+    <select id="getIdByClientId" resultType="string">
+        select
+            cw_fi.id
+        from cw_finance_invoice cw_fi
+        where cw_fi.del_flag = '0' and cw_fi.billing_workplace_real_id = #{id}
+    </select>
 </mapper>

+ 16 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/invoice/service/CwFinanceInvoiceService.java

@@ -517,4 +517,20 @@ public class CwFinanceInvoiceService extends ServiceImpl<CwFinanceInvoiceMapper,
         }
         return new ArrayList<>();
     }
+
+    public List<CwFinanceInvoiceDTO> getIdByClientId(String clientId,CwFinanceInvoiceDTO cwFinanceInvoiceDTO) throws Exception{
+        if(StringUtils.isNotBlank(clientId)){
+            List<String> idByClientId = cwFinanceInvoiceMapper.getIdByClientId(clientId);
+            if (CollectionUtil.isNotEmpty(idByClientId)){
+                QueryWrapper<CwFinanceInvoice> queryWrapper = QueryWrapperGenerator.buildQueryCondition ( CwFinanceInvoiceWrapper.INSTANCE.toEntity(cwFinanceInvoiceDTO), CwFinanceInvoice.class );
+                queryWrapper.in("fi.id", idByClientId);
+                queryWrapper.eq("fi.del_flag","0");
+                queryWrapper.eq("fi.status","5"); // 发票申请流程已通过
+                queryWrapper.orderByDesc("fi.create_date");
+                queryWrapper.eq("fi.invalid_status","0"); // 未作废
+                return cwFinanceInvoiceMapper.getByIds(queryWrapper);
+            }
+        }
+        return new ArrayList<>();
+    }
 }

+ 44 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/controller/CwProjectReportController.java

@@ -13,6 +13,8 @@ import com.jeeplus.flowable.service.FlowTaskService;
 import com.jeeplus.sys.constant.enums.LogTypeEnum;
 import com.jeeplus.sys.utils.DictUtils;
 import com.jeeplus.sys.utils.UserUtils;
+import com.jeeplus.test.cw.invoice.service.dto.CwFinanceInvoiceDTO;
+import com.jeeplus.test.cw.projectReport.domain.CwProjectReport;
 import com.jeeplus.test.cw.projectReport.domain.CwProjectReportData;
 import com.jeeplus.test.cw.projectReport.domain.CwProjectReportSignature;
 import com.jeeplus.test.cw.projectReport.mapper.ProjectReportWorkAttachmentMapper;
@@ -327,4 +329,46 @@ public class CwProjectReportController {
         Map<String, Object> signatureTypeById = projectReportService.getSignatureTypeById(id, signatureType);
         return ResponseEntity.ok (signatureTypeById);
     }
+
+    /**
+     * 根据客户id查询关联报告
+     * @param clientId
+     * @param cwProjectReport
+     * @return
+     * @throws Exception
+     */
+    @GetMapping("getIdByClientId")
+    @ApiOperation(value = "根据客户id查询关联报告")
+    public ResponseEntity<List<CwProjectReport>> getIdByClientId(String clientId, CwProjectReport cwProjectReport) throws Exception {
+        List<CwProjectReport> cwProjectReportList = projectReportService.getIdByClientId(clientId, cwProjectReport);
+        return ResponseEntity.ok(cwProjectReportList);
+    }
+
+    /**
+     * 根据项目id查询关联报告
+     * @param projectId
+     * @param cwProjectReport
+     * @return
+     * @throws Exception
+     */
+    @GetMapping("getIdByProjectId")
+    @ApiOperation(value = "根据项目id查询关联报告")
+    public ResponseEntity<List<CwProjectReport>> getIdByProjectId(String projectId, CwProjectReport cwProjectReport) throws Exception {
+        List<CwProjectReport> cwProjectReportList = projectReportService.getIdByProjectId(projectId, cwProjectReport);
+        return ResponseEntity.ok(cwProjectReportList);
+    }
+
+    /**
+     * 根据合同id查询关联报告
+     * @param contractId
+     * @param cwProjectReport
+     * @return
+     * @throws Exception
+     */
+    @GetMapping("getIdByContractId")
+    @ApiOperation(value = "根据合同id查询关联报告")
+    public ResponseEntity<List<CwProjectReport>> getIdByContractId(String contractId, CwProjectReport cwProjectReport) throws Exception {
+        List<CwProjectReport> cwProjectReportList = projectReportService.getIdByContractId(contractId, cwProjectReport);
+        return ResponseEntity.ok(cwProjectReportList);
+    }
 }

+ 7 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/domain/CwProjectReport.java

@@ -182,4 +182,11 @@ public class CwProjectReport extends BaseEntity {
      */
     @TableField(exist = false)
     private String reportNo;
+
+    /**
+     * 所属部门
+     */
+    @TableField(exist = false)
+    private String officeName;
+
 }

+ 8 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/mapper/CwProjectReportMapper.java

@@ -114,4 +114,12 @@ public interface CwProjectReportMapper extends BaseMapper<CwProjectReport> {
      * @param cwProjectReportFile
      */
     void insertProjectReportFile(CwProjectReportFile cwProjectReportFile);
+
+    List<String> getIdByProjectId(@Param("id") String id);
+
+    List<String> getIdByClientId(@Param("id") String id);
+
+    List<String> getIdByContractId(@Param("id") String id);
+
+    List<CwProjectReport> getByIds(@Param(Constants.WRAPPER) QueryWrapper<CwProjectReport> queryWrapper);
 }

+ 49 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/mapper/xml/CwProjectReportMapper.xml

@@ -350,4 +350,53 @@
        #{fileAffiliation}
         )
     </insert>
+
+    <select id="getIdByProjectId" resultType="string">
+        select
+            cw_pr.id
+        from cw_project_report cw_pr
+        where cw_pr.del_flag = '0' and cw_pr.project_id = #{id}
+    </select>
+
+    <select id="getIdByClientId" resultType="string">
+        select
+            cw_pr.id
+        from cw_project_report cw_pr
+        inner join cw_project_report_new_line cw_prnl on cw_prnl.report_id = cw_pr.id and cw_prnl.del_flag = '0'
+        where cw_pr.del_flag = '0' and cw_prnl.served_unit_id = #{id}
+    </select>
+
+    <select id="getIdByContractId" resultType="string">
+        select
+            cw_pr.id
+        from cw_project_report cw_pr
+        where cw_pr.del_flag = '0' and cw_pr.project_id in (
+            select
+                cw_pr.id
+            from cw_work_contract_info cw_wci
+            inner join cw_project_records cw_pr on cw_wci.id = cw_pr.contract_id and cw_pr.del_flag = '0'
+            where cw_wci.del_flag = '0' and cw_wci.id = #{id}
+        )
+    </select>
+
+    <select id="getByIds" resultType="com.jeeplus.test.cw.projectReport.domain.CwProjectReport">
+        select
+        cw_pr.id,
+        cw_pr.project_id,
+        cw_prnl.report_no,
+        cw_pr.office_id,
+        cw_pr.create_date,
+        cw_pro.project_number,
+        cw_pro.project_name,
+        so.name as office_name,
+        su1.name as project_master_name,
+        su.name as createName
+        from cw_project_report cw_pr
+        inner join cw_project_records cw_pro on cw_pro.id = cw_pr.project_id and cw_pro.del_flag = '0'
+        inner join cw_project_report_new_line cw_prnl on cw_prnl.report_id = cw_pr.id and cw_prnl.del_flag = '0'
+        left join sys_user su1 on cw_pro.project_master_id = su1.id and su1.del_flag = '0'
+        left join sys_office so on so.id = cw_pr.office_id and so.del_flag = '0'
+        left join sys_user su on cw_pr.create_by = su.id and su.del_flag = '0'
+        ${ew.customSqlSegment}
+    </select>
 </mapper>

+ 81 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/service/CwProjectReportService.java

@@ -24,6 +24,9 @@ import com.jeeplus.sys.utils.StringUtils;
 import com.jeeplus.sys.utils.UserUtils;
 import com.jeeplus.test.cw.common.flowable.dto.CommitParamDTO;
 import com.jeeplus.test.cw.contractRegistration.domain.ContractInfo;
+import com.jeeplus.test.cw.invoice.domain.CwFinanceInvoice;
+import com.jeeplus.test.cw.invoice.service.dto.CwFinanceInvoiceDTO;
+import com.jeeplus.test.cw.invoice.service.mapstruct.CwFinanceInvoiceWrapper;
 import com.jeeplus.test.cw.projectRecords.domain.CwProjectRecords;
 import com.jeeplus.test.cw.projectRecords.service.dto.CwProjectRecordsDTO;
 import com.jeeplus.test.cw.projectRecords.service.mapstruct.CwProjectRecordsWrapper;
@@ -1114,4 +1117,82 @@ public class CwProjectReportService extends ServiceImpl<CwProjectReportMapper, C
     public void insertProjectReportFile(CwProjectReportFile cwProjectReportFile){
         reportMapper.insertProjectReportFile(cwProjectReportFile);
     }
+
+    public List<CwProjectReport> getIdByProjectId(String projectId, CwProjectReport cwProjectReport) throws Exception{
+        if(StringUtils.isNotBlank(projectId)){
+            List<String> idByProjectId = reportMapper.getIdByProjectId(projectId);
+            if (CollectionUtil.isNotEmpty(idByProjectId)){
+                QueryWrapper<CwProjectReport> queryWrapper = new QueryWrapper<>();
+                if (ObjectUtil.isNotEmpty(cwProjectReport)) {
+                    if (StringUtils.isNotBlank(cwProjectReport.getReportNo())) {
+                        queryWrapper.like("cw_prnl.report_no", cwProjectReport.getReportNo());
+                    }
+                    if (StringUtils.isNotBlank(cwProjectReport.getProjectName())) {
+                        queryWrapper.like("cw_pro.project_name", cwProjectReport.getProjectName());
+                    }
+                    if (StringUtils.isNotBlank(cwProjectReport.getProjectNumber())) {
+                        queryWrapper.like("cw_pro.project_number", cwProjectReport.getProjectNumber());
+                    }
+                }
+                queryWrapper.in("cw_pr.id", idByProjectId);
+                queryWrapper.eq("cw_pr.del_flag","0");
+                queryWrapper.eq("cw_pr.status","5"); // 报告申请流程已通过
+                queryWrapper.orderByDesc("cw_pr.create_date");
+                return reportMapper.getByIds(queryWrapper);
+            }
+        }
+        return new ArrayList<>();
+    }
+
+    public List<CwProjectReport> getIdByClientId(String clientId, CwProjectReport cwProjectReport) throws Exception{
+        if(StringUtils.isNotBlank(clientId)){
+            List<String> idByClientId = reportMapper.getIdByClientId(clientId);
+            if (CollectionUtil.isNotEmpty(idByClientId)){
+                QueryWrapper<CwProjectReport> queryWrapper = new QueryWrapper<>();
+                if (ObjectUtil.isNotEmpty(cwProjectReport)) {
+                    if (StringUtils.isNotBlank(cwProjectReport.getReportNo())) {
+                        queryWrapper.like("cw_prnl.report_no", cwProjectReport.getReportNo());
+                    }
+                    if (StringUtils.isNotBlank(cwProjectReport.getProjectName())) {
+                        queryWrapper.like("cw_pro.project_name", cwProjectReport.getProjectName());
+                    }
+                    if (StringUtils.isNotBlank(cwProjectReport.getProjectNumber())) {
+                        queryWrapper.like("cw_pro.project_number", cwProjectReport.getProjectNumber());
+                    }
+                }
+                queryWrapper.in("cw_pr.id", idByClientId);
+                queryWrapper.eq("cw_pr.del_flag","0");
+                queryWrapper.eq("cw_pr.status","5"); // 报告申请流程已通过
+                queryWrapper.orderByDesc("cw_pr.create_date");
+                return reportMapper.getByIds(queryWrapper);
+            }
+        }
+        return new ArrayList<>();
+    }
+
+    public List<CwProjectReport> getIdByContractId(String contractId, CwProjectReport cwProjectReport) throws Exception{
+        if(StringUtils.isNotBlank(contractId)){
+            List<String> idByContractId = reportMapper.getIdByContractId(contractId);
+            if (CollectionUtil.isNotEmpty(idByContractId)){
+                QueryWrapper<CwProjectReport> queryWrapper = new QueryWrapper<>();
+                if (ObjectUtil.isNotEmpty(cwProjectReport)) {
+                    if (StringUtils.isNotBlank(cwProjectReport.getReportNo())) {
+                        queryWrapper.like("cw_prnl.report_no", cwProjectReport.getReportNo());
+                    }
+                    if (StringUtils.isNotBlank(cwProjectReport.getProjectName())) {
+                        queryWrapper.like("cw_pro.project_name", cwProjectReport.getProjectName());
+                    }
+                    if (StringUtils.isNotBlank(cwProjectReport.getProjectNumber())) {
+                        queryWrapper.like("cw_pro.project_number", cwProjectReport.getProjectNumber());
+                    }
+                }
+                queryWrapper.in("cw_pr.id", idByContractId);
+                queryWrapper.eq("cw_pr.del_flag","0");
+                queryWrapper.eq("cw_pr.status","5"); // 报告申请流程已通过
+                queryWrapper.orderByDesc("cw_pr.create_date");
+                return reportMapper.getByIds(queryWrapper);
+            }
+        }
+        return new ArrayList<>();
+    }
 }