From 7e6628f7c7b121451d99e916cde5722eaddc8a70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= <18222067976@163.com> Date: Thu, 9 Sep 2021 10:36:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=99=AE=E9=80=9A=E9=A1=B9=E7=9B=AE=E9=80=9A?= =?UTF-8?q?=E8=BF=87=E5=90=88=E5=90=8C=E7=BC=96=E5=8F=B7=E5=8F=8D=E5=90=91?= =?UTF-8?q?=E5=85=B3=E8=81=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/PayIncomeContractCommon.java | 10 ++-- .../contract/entity/PayIncomeContract.java | 4 +- .../service/IPayIncomeContractService.java | 20 +++++++ .../impl/PayIncomeContractServiceImpl.java | 52 +++++++++++++++++ .../PayCommonProjectController.java | 2 - .../impl/PayCommonProjectServiceImpl.java | 56 +++++++++++++------ 6 files changed, 118 insertions(+), 26 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/common/PayIncomeContractCommon.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/common/PayIncomeContractCommon.java index b515636b..7fa5782d 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/common/PayIncomeContractCommon.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/common/PayIncomeContractCommon.java @@ -2,23 +2,23 @@ package com.jero.contract.common; public class PayIncomeContractCommon { /** - * 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已归档) + * 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已存档) */ public final static Integer STATUS1 = 1; /** - * 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已归档) + * 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已存档) */ public final static Integer STATUS2 = 2; /** - * 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已归档) + * 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已存档) */ public final static Integer STATUS3 = 3; /** - * 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已归档) + * 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已存档) */ public final static Integer STATUS4 = 4; /** - * 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已归档) + * 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已存档) */ public final static Integer STATUS5 = 5; /** diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PayIncomeContract.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PayIncomeContract.java index 5f3aabaa..0bd7ac1a 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PayIncomeContract.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PayIncomeContract.java @@ -174,8 +174,8 @@ public class PayIncomeContract implements Serializable { @ApiModelProperty(value = "打包年份") private java.lang.String packYear; /**合同状态(1:草稿,2:已通过,3:未通过,4:已归档)*/ - @Excel(name = "合同状态(1:草稿,2:已通过,3:未通过,4:已归档)", width = 15) - @ApiModelProperty(value = "合同状态(1:草稿,2:已通过,3:未通过,4:已归档)") + @Excel(name = "合同状态(1:草稿,2:已通过,3:未通过,4:已存档)", width = 15) + @ApiModelProperty(value = "合同状态(1:草稿,2:已通过,3:未通过,4:已存档)") @Dict(dicCode = "revenue_contract_status") private java.lang.Integer status; /**创建人*/ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPayIncomeContractService.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPayIncomeContractService.java index 47fa8d9b..e7c20fe4 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPayIncomeContractService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPayIncomeContractService.java @@ -131,4 +131,24 @@ public interface IPayIncomeContractService extends IService { * @Exception */ PayIncomeContract checkContractNum(String contractNum); + /** + * @Description 校验项目是否已关联合同 + * @Author lqt + * @Date 2021/9/9 + * @Param projectId 项目id + * @Return + * @Exception + */ + PayIncomeContract checkPayIncomeContractAssociated(String projectId); + /** + * @Description 校验合同编号是否存在,存在即关联合同 + * @Author lqt + * @Date 2021/9/9 + * @Param contractNum 合同编号 + * @Param companyId 企业id + * @Param projectId 项目id + * @Return + * @Exception + */ + PayIncomeContract setPayIncomeContractAssociated(String contractNum,String companyId,String projectId); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java index e27d4e6e..01d5cf86 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java @@ -23,6 +23,7 @@ import com.jero.contract.vo.PayIncomeContractOutput; import com.jero.contract.vo.ProjectOutput; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.service.ISysUserService; +import com.jero.project.common.PayProjectCommon; import com.jero.project.entity.PayCommonProject; import com.jero.project.entity.PayWorkingGroup; import com.jero.project.entity.PayWorkingGroupSubItem; @@ -621,4 +622,55 @@ public class PayIncomeContractServiceImpl extends ServiceImpl queryPayIncomeContractAssociated = new LambdaQueryWrapper<>(); + queryPayIncomeContractAssociated.eq(PayIncomeContractAssociated::getProjectId,projectId); + List listPayIncomeContractAssociated = payIncomeContractAssociatedService.list(queryPayIncomeContractAssociated); + if(!CollectionUtils.isEmpty(listPayIncomeContractAssociated)){ + PayIncomeContract payIncomeContract = payIncomeContractService.getById(listPayIncomeContractAssociated.get(0).getContractId()); + // 关联合同不存在,去掉关联 + if(Objects.isNull(payIncomeContract)){ + payIncomeContractAssociatedService.removeById(listPayIncomeContractAssociated.get(0).getId()); + return null; + }else{ + return payIncomeContract; + } + }else{ + return null; + } + } + + @Override + public PayIncomeContract setPayIncomeContractAssociated(String contractNum, String companyId, String projectId) { + if(StringUtils.isAllBlank(contractNum,companyId,projectId)){ + throw new JeroBootException("合同编号、企业di、项目id不能为空!"); + } + PayIncomeContract payIncomeContract = payIncomeContractService.checkContractNum(contractNum); + // 能关联上合同 + if(!Objects.isNull(payIncomeContract)){ + if(Objects.equals(payIncomeContract.getStatus(),PayIncomeContractCommon.STATUS2)){ + throw new JeroBootException("关联合同状态为待审核不可以进行关联!"); + } + if(Objects.equals(payIncomeContract.getStatus(),PayIncomeContractCommon.STATUS3)){ + throw new JeroBootException("关联合同状态为已通过不可以进行关联!"); + } + if(Objects.equals(payIncomeContract.getStatus(),PayIncomeContractCommon.STATUS5)){ + throw new JeroBootException("关联合同状态为已存档不可以进行关联!"); + } + + if(!Objects.equals(payIncomeContract.getSignedCompanyId(),companyId)){ + throw new JeroBootException("关联合同中签订单位与项目中来款企业不匹配!"); + } + PayIncomeContractAssociated payIncomeContractAssociated = new PayIncomeContractAssociated(); + payIncomeContractAssociated.setContractId(payIncomeContract.getId()); + payIncomeContractAssociated.setProjectType(Integer.parseInt(PayProjectCommon.PROJECT_TYPE1)); + payIncomeContractAssociated.setProjectId(projectId); + payIncomeContractAssociatedService.save(payIncomeContractAssociated); + return payIncomeContract; + } + return null; + } } 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 90fba7aa..00d97ead 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 @@ -137,8 +137,6 @@ public class PayCommonProjectController extends JeroController listNew = new ArrayList<>(); List listPayCommonProjectOutputNew = new ArrayList<>(); if(!CollectionUtils.isEmpty(list)){ - // todo 获取打包项目对比数据 - // payPackCompanyService.list(); List listProjectId = list.stream().map(PayCommonProject::getId).collect(Collectors.toList()); // 获取已经关联合同的普通项目 LambdaQueryWrapper queryPayIncomeContractAssociated = new LambdaQueryWrapper<>(); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayCommonProjectServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayCommonProjectServiceImpl.java index e60c0594..5f588942 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayCommonProjectServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayCommonProjectServiceImpl.java @@ -1,6 +1,7 @@ package com.jero.project.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.api.vo.Result; @@ -67,13 +68,14 @@ public class PayCommonProjectServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(PayCommonProject::getChargeProject,payCommonProject.getChargeProject()); PayCommonProject payCommonProjectNew = payCommonProjectService.getOne(queryWrapper); - // 来款项目存在,并且编辑id与查询不同,则校验不通过 + // 来款项目存在,则校验不通过 if(!Objects.isNull(payCommonProjectNew)) { throw new JeroBootException("来款项目已存在!"); } @@ -88,23 +90,29 @@ public class PayCommonProjectServiceImpl extends ServiceImpl update = new LambdaUpdateWrapper<>(); + update.eq(PayCommonProject::getId,payCommonProject.getId()); + update.set(PayCommonProject::getPack,PayProjectCommon.PACKAGING1); + payCommonProjectService.update(update); + // todo 缺少添加打包功能 } } @Override @Transactional public void editPayCommonProject(PayCommonProject payCommonProject) { + PayCommonProject payCommonProjectOld = payCommonProjectService.getById(payCommonProject); + if(Objects.isNull(payCommonProjectOld)){ + throw new JeroBootException("项目不存在!"); + } try { // 编辑保存前再次校验来款项目是否存在 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); @@ -118,16 +126,30 @@ public class PayCommonProjectServiceImpl extends ServiceImpl update = new LambdaUpdateWrapper<>(); + update.eq(PayCommonProject::getId,payCommonProjectOld.getId()); + update.set(PayCommonProject::getPack,PayProjectCommon.PACKAGING1); + payCommonProjectService.update(update); + // todo 缺少添加打包功能 + } + setPayCommonProject(payCommonProject); // 先删除临时表企业信息,联系人信息,邮寄联系人信息 - PayCommonProject payCommonProjectOld = payCommonProjectService.getById(payCommonProject.getId()); - if(Objects.isNull(payCommonProjectOld)){ - throw new JeroBootException("来款项目不存在!"); - } payCompanyManagementTemporaryService.removeById(payCommonProjectOld.getChargeCompanyId()); payContactsManagementTemporaryService.removeByIds(Arrays.asList(payCommonProjectOld.getContactsId(),payCommonProjectOld.getMailContactsId())); payCommonProjectService.updateById(payCommonProject);