From 916a9fed4b93fd7bcdd61531b9805ead0d2e225e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= <18222067976@163.com> Date: Fri, 10 Sep 2021 18:42:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=93=E5=8C=85=E5=85=B3=E8=81=94=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/PayPackCompanyProjectMapper.java | 15 ++++++++ .../xml/PayPackCompanyProjectMapper.xml | 7 ++++ .../IPayPackCompanyProjectService.java | 11 ++++++ .../PayPackCompanyProjectServiceImpl.java | 6 +++ .../PayCommonProjectController.java | 18 ++++++++- .../controller/PayWorkingGroupController.java | 38 +++++++++++++++++-- .../mapper/xml/PayWorkingGroupMapper.xml | 6 ++- .../jero/project/vo/PayWorkingGroupVO.java | 8 ++++ 8 files changed, 101 insertions(+), 8 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/PayPackCompanyProjectMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/PayPackCompanyProjectMapper.java index a88b48ee..697faac1 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/PayPackCompanyProjectMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/PayPackCompanyProjectMapper.java @@ -2,6 +2,7 @@ package com.jero.pack.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.jero.pack.common.PackCommon; import com.jero.pack.entity.PayPackCompanyProject; import com.jero.pack.vo.PayPackCompanyProjectInput; import com.jero.project.entity.PayCommonProject; @@ -35,4 +36,18 @@ public interface PayPackCompanyProjectMapper extends BaseMapper queryPackListAll(PayPackCompanyProjectInput input); + + /** + * @Description 筛选符合打包年份的项目 + * @Author lqt + * @Date 2021/9/10 + * @Param companyId 企业id + * @Param projectType 项目类型 + * @Param year 年份 + * @Return + * @Exception + */ + List queryPackToYear(@Param("companyId") String companyId,@Param("projectType") String projectType, + @Param("year") String year,@Param("come") Integer come); + } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyProjectMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyProjectMapper.xml index 6749e3ba..056dca3e 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyProjectMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyProjectMapper.xml @@ -203,4 +203,11 @@ ORDER BY create_time desc + \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/IPayPackCompanyProjectService.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/IPayPackCompanyProjectService.java index 3f2b4fc1..aef4e585 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/IPayPackCompanyProjectService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/IPayPackCompanyProjectService.java @@ -40,4 +40,15 @@ public interface IPayPackCompanyProjectService extends IService queryPackToYear(String companyId,String projectType,String year); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyProjectServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyProjectServiceImpl.java index 573f6aa4..4bc7cbb1 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyProjectServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyProjectServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.api.vo.Result; import com.jero.common.exception.JeroBootException; +import com.jero.pack.common.PackCommon; import com.jero.pack.entity.PayPackCompany; import com.jero.pack.entity.PayPackCompanyProject; import com.jero.pack.mapper.PayPackCompanyProjectMapper; @@ -85,4 +86,9 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl queryPackToYear(String companyId,String projectType,String year) { + return payPackCompanyProjectMapper.queryPackToYear(companyId,projectType,year, PackCommon.COME2); + } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java index bebf187b..c584fcb2 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java @@ -25,6 +25,7 @@ import com.jero.contract.service.IPayIncomeContractAssociatedService; import com.jero.contract.service.IPayIncomeContractService; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.service.ISysUserService; +import com.jero.pack.service.IPayPackCompanyProjectService; import com.jero.pack.service.IPayPackCompanyService; import com.jero.project.common.PayProjectCommon; import com.jero.project.entity.PayWorkingGroup; @@ -67,6 +68,8 @@ public class PayCommonProjectController extends JeroController list = payCommonProjectService.list(queryWrapper); List listNew = new ArrayList<>(); List listPayCommonProjectOutputNew = new ArrayList<>(); + + if(!CollectionUtils.isEmpty(list)){ - // todo 缺少更具合同打包状态筛选打包年份数据 + // 查询打包年份的打包企业 + List listProject = new ArrayList<>(); + if(Objects.equals(payIncomeContract.getPack(),PayProjectCommon.PACKAGING1)){ + listProject = payPackCompanyProjectService.queryPackToYear(payIncomeContract.getSignedCompanyId(),PayProjectCommon.PROJECT_TYPE1,payIncomeContract.getPackYear()); + } List listProjectId = list.stream().map(PayCommonProject::getId).collect(Collectors.toList()); // 获取已经关联合同的普通项目 LambdaQueryWrapper queryPayIncomeContractAssociated = new LambdaQueryWrapper<>(); @@ -151,12 +160,17 @@ public class PayCommonProjectController extends JeroController finalListProjectId = listProjectIdNew; + List finalListProject = listProject; listNew.forEach(p->{ - // 没有关联合同 if(!CollectionUtils.isEmpty(finalListProjectId) && finalListProjectId.contains(p.getId())){ return; } + // 去掉已打包&&打包年份不一致的数据 + if(!CollectionUtils.isEmpty(finalListProject) && Objects.equals(p.getPack(),PayProjectCommon.PACKAGING1) + && finalListProject.contains(p.getId())){ + return; + } if(!Objects.isNull(p.getChargeUse())){ p.setChargeUse_dictText(sysBaseAPI.translateDict("payment_charge_use",String.valueOf(p.getChargeUse()))); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupController.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupController.java index d507d81e..38b567f3 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupController.java @@ -1,6 +1,7 @@ package com.jero.project.controller; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Objects; @@ -16,8 +17,11 @@ import com.jero.common.exception.JeroBootException; import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.query.QueryGenerator; import com.jero.common.util.ValidUtil; +import com.jero.contract.entity.PayIncomeContract; import com.jero.contract.entity.PayIncomeContractAssociated; import com.jero.contract.service.IPayIncomeContractAssociatedService; +import com.jero.contract.service.IPayIncomeContractService; +import com.jero.pack.service.IPayPackCompanyProjectService; import com.jero.project.common.PayProjectCommon; import com.jero.project.vo.PayWorkingGroupPayment; import com.jero.project.vo.PayWorkingGroupVO; @@ -55,6 +59,10 @@ public class PayWorkingGroupController extends JeroController queryListByCompany(@RequestParam(name = "companyId") String companyId, + @RequestParam(name = "contractId") String contractId, @RequestParam(name = "workingGroupProject",required = false) String workingGroupProject, @RequestParam(name = "year",required = false) String year) { if(StringUtils.isBlank(companyId)){ return Result.error("企业id不能为空!"); } - List list = payWorkingGroupService.queryListByCompany(companyId,workingGroupProject,year, PayProjectCommon.PROJECT_TYPE2); - if(!CollectionUtils.isEmpty(list)){ - setPayWorkingGroupSubItem(list); + PayIncomeContract payIncomeContract = payIncomeContractService.getById(contractId); + if(Objects.isNull(payIncomeContract)){ + return Result.error("合同不存在!"); } - return Result.OK(list); + List list = payWorkingGroupService.queryListByCompany(companyId,workingGroupProject,year, PayProjectCommon.PROJECT_TYPE2); + List listNew = new ArrayList<>(); + if(!CollectionUtils.isEmpty(list)){ + // 查询打包年份的打包企业 + List listProject = new ArrayList<>(); + if(Objects.equals(payIncomeContract.getPack(),PayProjectCommon.PACKAGING1)){ + listProject = payPackCompanyProjectService.queryPackToYear(payIncomeContract.getSignedCompanyId(),PayProjectCommon.PROJECT_TYPE1,payIncomeContract.getPackYear()); + } + List finalListProject = listProject; + list.forEach(p->{ + // 去掉已打包&&打包年份不一致的数据 + if(!CollectionUtils.isEmpty(finalListProject) && Objects.equals(p.getPack(),PayProjectCommon.PACKAGING1) + && finalListProject.contains(p.getId())){ + return; + } + listNew.add(p); + }); + } + if(!CollectionUtils.isEmpty(listNew)){ + setPayWorkingGroupSubItem(listNew); + } + return Result.OK(listNew); } /** diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml index 6f98fd84..756d96af 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml @@ -60,13 +60,15 @@ pwg.create_by AS createBy, pwg.create_time AS createTime, pwg.update_by AS updateBy, - pwg.update_time AS updateTime + pwg.update_time AS updateTime, + pwgs.pack, + pwgs.id AS proejctId FROM pay_working_group_subitem pwgs LEFT JOIN pay_working_group pwg ON pwg.id = pwgs.working_group_id WHERE pwg.id is not null AND pwg.id !='' AND pwgs.charge_company_id = #{companyId} AND pwgs.id NOT IN (SELECT project_id FROM pay_income_contract_associated WHERE project_type=#{projectType}) - AND pwg.working_group_project LIKE concat('%',concat(#{workingGroupProject},'%')) + AND pwg.working_group_project LIKE concat('%',concat(#{workingGroupProject},'%')) AND pwg.year = #{year} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/vo/PayWorkingGroupVO.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/vo/PayWorkingGroupVO.java index 5155e824..8eee8c06 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/vo/PayWorkingGroupVO.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/vo/PayWorkingGroupVO.java @@ -11,4 +11,12 @@ import java.io.Serializable; @EqualsAndHashCode(callSuper = false) public class PayWorkingGroupVO extends PayWorkingGroup implements Serializable { private PayWorkingGroupPayment obj; + /** + * 打包(1:是,0:否) + */ + private String pack; + /** + * 项目id + */ + private String projectId; }