From 05f9858c40797e56e41e00a4e0ba4cc589740ea5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= <18222067976@163.com> Date: Wed, 8 Sep 2021 15:20:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B6=E5=85=A5=E5=90=88=E5=90=8C=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PayIncomeContractController.java | 89 ++++++++++++++++++- .../mapper/xml/PayIncomeContractMapper.xml | 2 +- .../service/IPayIncomeContractService.java | 9 ++ .../impl/PayIncomeContractServiceImpl.java | 20 +++++ .../com/jero/contract/vo/ProjectOutput.java | 2 +- .../jero/project/common/PayProjectCommon.java | 5 ++ .../PayCommonProjectController.java | 57 ++++++++++-- .../controller/PayWorkingGroupController.java | 6 +- .../PayWorkingGroupSubItemController.java | 23 ++++- .../jero/project/entity/PayCommonProject.java | 2 +- .../entity/PayWorkingGroupSubItem.java | 5 ++ .../service/IPayWorkingGroupService.java | 18 ++++ .../impl/PayCommonProjectServiceImpl.java | 16 +++- .../impl/PayWorkingGroupServiceImpl.java | 66 +++++++++++++- .../PayWorkingGroupSubItemServiceImpl.java | 17 +++- 15 files changed, 316 insertions(+), 21 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java index 85a9fb05..3c349907 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java @@ -20,6 +20,7 @@ import com.jero.contract.entity.PayIncomeContract; import com.jero.contract.entity.PayIncomeContractAssociated; import com.jero.contract.entity.PayIncomeContractAudit; import com.jero.contract.entity.PayIncomeContractInstallment; +import com.jero.contract.service.IPayIncomeContractAssociatedService; import com.jero.contract.service.IPayIncomeContractAuditService; import com.jero.contract.service.IPayIncomeContractInstallmentService; import com.jero.contract.service.IPayIncomeContractService; @@ -64,6 +65,9 @@ public class PayIncomeContractController extends JeroController getContractNum(@RequestParam(name="contractNum") String contractNum) { + if(StringUtils.isBlank(contractNum)){ + return Result.error("合同编号不能为空!"); + } + try { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(PayIncomeContract::getContractNum,contractNum); + PayIncomeContract payIncomeContract = payIncomeContractService.getOne(query); + if(!Objects.isNull(payIncomeContract)){ + return Result.OK("合同编号存在!"); + } + }catch (Exception e){ + log.error("普通项目管理-验证合同编号是否存在异常",e); + return Result.OK("合同编号存在!"); + } + return Result.error("合同编号不存在!"); + } + /** + * 验证合同名称是否存在 + * + * @param contractName 合同名称 + * @return + */ + @ApiOperation(value="收入合同-验证合同名称是否存在", notes="收入合同-验证合同名称是否存在") + @GetMapping(value = "/getContractName") + public Result getContractName(@RequestParam(name="contractName") String contractName) { + if(StringUtils.isBlank(contractName)){ + return Result.error("合同名称不能为空!"); + } + try { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(PayIncomeContract::getContractName,contractName); + PayIncomeContract payIncomeContract = payIncomeContractService.getOne(query); + if(!Objects.isNull(payIncomeContract)){ + return Result.OK("合同名称存在!"); + } + }catch (Exception e){ + log.error("普通项目管理-验证合同编号是否存在异常",e); + return Result.OK("合同名称存在!"); + } + return Result.error("合同名称不存在!"); + } + + /** + * 通过id查询该项目是否关联了合同 + * + * @param id 普通项目管理id + * @return + */ + @ApiOperation(value="收入合同-通过id查询该项目是否关联了合同", notes="收入合同-通过id查询该项目是否关联了合同") + @GetMapping(value = "/getContractById") + public Result getContractById(@RequestParam(name="id") String id) { + if(StringUtils.isBlank(id)){ + return Result.error("id不能为空!"); + } + try { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(PayIncomeContractAssociated::getProjectId,id); + PayIncomeContractAssociated payIncomeContractAssociated = payIncomeContractAssociatedService.getOne(query); + if(Objects.isNull(payIncomeContractAssociated)){ + return Result.OK("可以操作!"); + } + }catch (Exception e){ + log.error("普通项目管理-通过id查询该项目是否关联了合同异常",e); + return Result.error("已关联合同不可操作!"); + } + return Result.error("已关联合同不可操作!"); + } /** * 编辑 @@ -143,8 +224,8 @@ public class PayIncomeContractController extends JeroController list = payIncomeContractService.getAssociated(contractId); if(!CollectionUtils.isEmpty(list)){ list.forEach(p->{ - if(!StringUtils.isBlank(p.getChargeUse())){ - p.setChargeUse_dictText(sysBaseAPI.translateDict("payment_charge_use",p.getChargeUse())); + if(!Objects.isNull(p.getChargeUse())){ + p.setChargeUse_dictText(sysBaseAPI.translateDict("payment_charge_use",String.valueOf(p.getChargeUse()))); } }); } @@ -318,8 +399,8 @@ public class PayIncomeContractController extends JeroController{ - if(!StringUtils.isBlank(p.getChargeUse())){ - p.setChargeUse_dictText(sysBaseAPI.translateDict("payment_charge_use",p.getChargeUse())); + if(!Objects.isNull(p.getChargeUse())){ + p.setChargeUse_dictText(sysBaseAPI.translateDict("payment_charge_use",String.valueOf(p.getChargeUse()))); } }); payIncomeContractDetailOutput.setListProject(listProject); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/xml/PayIncomeContractMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/xml/PayIncomeContractMapper.xml index 94890de4..415bd3b2 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/xml/PayIncomeContractMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/xml/PayIncomeContractMapper.xml @@ -107,7 +107,7 @@ pwgs.id AS projectId, '2' AS projectType, pwg.working_group_project AS chargeProject, - '' AS chargeUse, + pwgs.charge_use AS chargeUse, pwgs.charge_company_temporary_name AS chargeCompanyName, pwgs.receivable_amount AS receivableAmount, pwgs.paid_amount AS paidAmount, 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 375534f8..3b5500aa 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 @@ -122,4 +122,13 @@ public interface IPayIncomeContractService extends IService { * @Exception */ void deletePayIncomeContractInputByIds(List ids); + /** + * @Description 校验合同编号是否存在 + * @Author lqt + * @Date 2021/9/8 + * @Param contractNum 合同编号 + * @Return + * @Exception + */ + void checkContractNum(String contractNum); } 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 eb597ceb..47372110 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 @@ -269,6 +269,9 @@ public class PayIncomeContractServiceImpl extends ServiceImpl updatePayCommonProject = new LambdaUpdateWrapper<>(); updatePayCommonProject.eq(PayCommonProject::getId,p.getProjectId()); + if(!StringUtils.isBlank(payCommonProject.getContractNum())){ + updatePayCommonProject.set(PayCommonProject::getContractNum,payIncomeContract.getContractNum()); + } updatePayCommonProject.set(PayCommonProject::getPack,PayIncomeContractCommon.PACK1); updatePayCommonProject.set(PayCommonProject::getUpdateBy,sysUser.getUsername()); updatePayCommonProject.set(PayCommonProject::getUpdateTime,new Date()); @@ -309,6 +312,9 @@ public class PayIncomeContractServiceImpl extends ServiceImpl updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>(); updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getUpdateBy,sysUser.getUsername()); updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getUpdateTime,new Date()); + if(!StringUtils.isBlank(listPayWorkingGroupSubItem.get(0).getContractNum())){ + updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getContractNum,payIncomeContract.getContractNum()); + } updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getPack,PayIncomeContractCommon.PACK1); updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getId,listPayWorkingGroupSubItem.get(0).getId()); payWorkingGroupSubItemService.update(updatePayWorkingGroupSubItem); @@ -600,4 +606,18 @@ public class PayIncomeContractServiceImpl extends ServiceImpl query = new LambdaQueryWrapper<>(); + query.eq(PayIncomeContract::getContractNum,contractNum); + List payIncomeContract = payIncomeContractService.list(query); + if(CollectionUtils.isEmpty(payIncomeContract)){ + throw new JeroBootException("合同编号不存在!"); + } + } + } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/vo/ProjectOutput.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/vo/ProjectOutput.java index 8a749414..edf02c84 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/vo/ProjectOutput.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/vo/ProjectOutput.java @@ -39,7 +39,7 @@ public class ProjectOutput implements Serializable { * 来款用途 */ @ApiModelProperty(value = "来款用途") - private String chargeUse; + private Integer chargeUse; /** * 来款用途 */ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/common/PayProjectCommon.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/common/PayProjectCommon.java index 0f5da1a6..8549cb30 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/common/PayProjectCommon.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/common/PayProjectCommon.java @@ -79,4 +79,9 @@ public class PayProjectCommon { * 项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目,5:标协会员项目) */ public final static String PROJECT_TYPE5 = "5"; + /** + * 来款用途 :1工作组是标准制定工作组经费 + */ + public final static Integer CHARGE_USE1 = 1; + } 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 1519f2f1..90fba7aa 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 @@ -23,6 +23,8 @@ 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.modules.system.entity.SysUser; +import com.jero.modules.system.service.ISysUserService; import com.jero.pack.service.IPayPackCompanyService; import com.jero.project.common.PayProjectCommon; import com.jero.project.entity.PayWorkingGroup; @@ -63,6 +65,8 @@ public class PayCommonProjectController extends JeroController listAll(PayCommonProject payCommonProject,String contractId,HttpServletRequest req) { - if(StringUtils.isBlank(payCommonProject.getChargeCompanyId())){ - return Result.error("企业id不能为空!"); - } + public Result listAll(PayCommonProject payCommonProject,String departId, String contractId,HttpServletRequest req) { PayIncomeContract payIncomeContract = payIncomeContractService.getById(contractId); if(Objects.isNull(payIncomeContract)){ return Result.error("合同不存在!"); } - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(payCommonProject, req.getParameterMap()); + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + if(StringUtils.isBlank(payCommonProject.getChargeCompanyId())){ + return Result.error("企业id不能为空!"); + }else{ + queryWrapper.eq(PayCommonProject::getChargeCompanyId,payCommonProject.getChargeCompanyId()); + } + // 负责人不为空 + if(!StringUtils.isBlank(payCommonProject.getPrincipalId())){ + queryWrapper.eq(PayCommonProject::getPrincipalId,payCommonProject.getPrincipalId()); + }else{ + // 科室不为空&&负责人为空,查询科室下的所有负责人 + if(!StringUtils.isBlank(departId)){ + LambdaQueryWrapper queryUserWrapper = new LambdaQueryWrapper<>(); + queryUserWrapper.eq(SysUser::getDepartIds,departId); + List pageList = sysUserService.list(queryUserWrapper); + if(!CollectionUtils.isEmpty(pageList)){ + List listUserId = pageList.stream().map(SysUser::getId).collect(Collectors.toList()); + queryWrapper.in(PayCommonProject::getPrincipalId,listUserId); + } + } + } + if(!StringUtils.isBlank(payCommonProject.getYear())){ + queryWrapper.eq(PayCommonProject::getYear,payCommonProject.getYear()); + } List list = payCommonProjectService.list(queryWrapper); List listNew = new ArrayList<>(); List listPayCommonProjectOutputNew = new ArrayList<>(); @@ -132,8 +158,8 @@ public class PayCommonProjectController extends JeroController query = new LambdaQueryWrapper<>(); + query.eq(PayIncomeContractAssociated::getProjectId,id); + PayIncomeContractAssociated payIncomeContractAssociated = payIncomeContractAssociatedService.getOne(query); + if(!Objects.isNull(payIncomeContractAssociated)){ + return Result.error("已关联合同不可删除!"); + } + }catch (Exception e){ + log.error("普通项目管理-批量删除异常",e); + return Result.error("已关联合同不可删除!"); + } payCommonProjectService.removeById(id); return Result.OK("删除成功!"); } @@ -211,6 +248,12 @@ public class PayCommonProjectController extends JeroController query = new LambdaQueryWrapper<>(); + query.in(PayIncomeContractAssociated::getProjectId,Arrays.asList(ids.split(","))); + List listPayIncomeContractAssociated = payIncomeContractAssociatedService.list(query); + if(!CollectionUtils.isEmpty(listPayIncomeContractAssociated)){ + return Result.error("已关联合同不可删除!"); + } this.payCommonProjectService.removeByIds(Arrays.asList(ids.split(","))); return Result.OK("批量删除成功!"); } 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 a27ab90a..398409d7 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 @@ -15,6 +15,8 @@ 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.PayIncomeContractAssociated; +import com.jero.contract.service.IPayIncomeContractAssociatedService; import com.jero.project.common.PayProjectCommon; import com.jero.project.vo.PayWorkingGroupPayment; import com.jero.project.vo.PayWorkingGroupVO; @@ -278,7 +280,7 @@ public class PayWorkingGroupController extends JeroController query = new LambdaQueryWrapper<>(); + query.eq(PayIncomeContractAssociated::getProjectId,id); + PayIncomeContractAssociated payIncomeContractAssociated = payIncomeContractAssociatedService.getOne(query); + if(!Objects.isNull(payIncomeContractAssociated)){ + return Result.error("已关联合同不可删除!"); + } + }catch (Exception e){ + log.error("普通项目管理-批量删除异常",e); + return Result.error("已关联合同不可删除!"); + } payWorkingGroupSubItemService.removeById(id); return Result.OK("删除成功!"); } @@ -138,7 +153,13 @@ public class PayWorkingGroupSubItemController extends JeroController query = new LambdaQueryWrapper<>(); + query.in(PayIncomeContractAssociated::getProjectId,Arrays.asList(ids.split(","))); + List listPayIncomeContractAssociated = payIncomeContractAssociatedService.list(query); + if(!CollectionUtils.isEmpty(listPayIncomeContractAssociated)){ + return Result.error("已关联合同不可删除!"); + } + payWorkingGroupSubItemService.removeByIds(Arrays.asList(ids.split(","))); return Result.OK("批量删除成功!"); } /** diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayCommonProject.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayCommonProject.java index bc962999..f2370fda 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayCommonProject.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayCommonProject.java @@ -78,7 +78,7 @@ public class PayCommonProject implements Serializable { @ApiModelProperty(value = "来款用途(字典表)") @Dict(dicCode = "payment_charge_use") @NotNull(message = "来款用途不能为空!") - private String chargeUse; + private Integer chargeUse; /**联系人id*/ @Excel(name = "联系人id", width = 15) @ApiModelProperty(value = "联系人id") diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java index a388157e..33227092 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java @@ -99,6 +99,11 @@ public class PayWorkingGroupSubItem implements Serializable { @ApiModelProperty(value = "实收金额(元)") @Max(value = 999999999,message = "实收金额(元)格式错误") private java.lang.Integer paidAmount; + /**来款用途(字典表)*/ + @Excel(name = "来款用途(字典表)", width = 15) + @ApiModelProperty(value = "来款用途(字典表)") + @Dict(dicCode = "payment_charge_use") + private Integer chargeUse; /**邮寄联系人id*/ @ApiModelProperty(value = "邮寄联系人id") @Size(max = 32,message = "邮寄联系人id长度不能大于32个字符") diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupService.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupService.java index 4ababf7c..a3700bf3 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupService.java @@ -42,4 +42,22 @@ public interface IPayWorkingGroupService extends IService { * @Exception */ List queryListByNotCompany(String companyId); + /** + * @Description 根据id删除 + * @Author lqt + * @Date 2021/9/8 + * @Param + * @Return + * @Exception + */ + void deleteById(String id); + /** + * @Description 批量删除 + * @Author lqt + * @Date 2021/9/8 + * @Param + * @Return + * @Exception + */ + void deleteByIds(List ids); } 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 a6dc62e7..b57ffb13 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 @@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.api.vo.Result; import com.jero.common.exception.JeroBootException; import com.jero.common.service.ProjectDetailService; +import com.jero.contract.entity.PayIncomeContract; +import com.jero.contract.service.IPayIncomeContractService; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.service.ISysUserService; import com.jero.project.common.PayProjectCommon; @@ -17,6 +19,8 @@ import com.jero.temporary.entity.PayContactsManagementTemporary; import com.jero.temporary.service.IPayCompanyManagementTemporaryService; import com.jero.temporary.service.IPayContactsManagementTemporaryService; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -25,6 +29,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.Arrays; +import java.util.List; import java.util.Objects; /** @@ -48,6 +53,8 @@ public class PayCommonProjectServiceImpl extends ServiceImpl implements IPayWorkingGroupService { - + @Autowired + private IPayWorkingGroupService payWorkingGroupService; + @Autowired + private IPayWorkingGroupSubItemService payWorkingGroupSubItemService; + @Autowired + private IPayIncomeContractAssociatedService payIncomeContractAssociatedService; @Resource private PayWorkingGroupMapper payWorkingGroupMapper; @Override @@ -39,4 +58,49 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl queryListByNotCompany(String companyId) { return payWorkingGroupMapper.queryListByNotCompany(companyId); } + + @Override + @Transactional + public void deleteById(String id) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(PayWorkingGroupSubItem::getWorkingGroupId,id); + List listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(query); + getPayIncomeContractAssociated(listPayWorkingGroupSubItem); + payWorkingGroupService.removeById(id); + LambdaUpdateWrapper updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>(); + updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getWorkingGroupId,id); + payWorkingGroupSubItemService.remove(updatePayWorkingGroupSubItem); + } + + @Override + @Transactional + public void deleteByIds(List ids) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.in(PayWorkingGroupSubItem::getWorkingGroupId, ids); + List listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(query); + getPayIncomeContractAssociated(listPayWorkingGroupSubItem); + payWorkingGroupService.removeByIds(ids); + LambdaUpdateWrapper updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>(); + updatePayWorkingGroupSubItem.in(PayWorkingGroupSubItem::getWorkingGroupId,ids); + payWorkingGroupSubItemService.remove(updatePayWorkingGroupSubItem); + } + /** + * @Description 校验是存在关联合同的项目 + * @Author lqt + * @Date 2021/9/8 + * @Param + * @Return + * @Exception + */ + private void getPayIncomeContractAssociated(List listPayWorkingGroupSubItem){ + if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItem)){ + List list = listPayWorkingGroupSubItem.stream().map(PayWorkingGroupSubItem::getId).collect(Collectors.toList()); + LambdaQueryWrapper queryPayIncomeContractAssociated = new LambdaQueryWrapper<>(); + queryPayIncomeContractAssociated.in(PayIncomeContractAssociated::getProjectId,list); + List listPayIncomeContractAssociated = payIncomeContractAssociatedService.list(queryPayIncomeContractAssociated); + if(!CollectionUtils.isEmpty(listPayIncomeContractAssociated)){ + throw new JeroBootException("已关联合同不可删除!"); + } + } + } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java index 142f611d..fce5471a 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java @@ -10,7 +10,10 @@ import com.jero.company.entity.PayCompanyManagement; import com.jero.company.entity.PayContactsManagement; import com.jero.company.service.IPayCompanyManagementService; import com.jero.company.service.IPayContactsManagementService; +import com.jero.contract.entity.PayIncomeContract; +import com.jero.contract.service.IPayIncomeContractService; import com.jero.project.common.PayProjectCommon; +import com.jero.project.entity.PayCommonProject; import com.jero.project.entity.PayWorkingGroup; import com.jero.project.service.IPayWorkingGroupService; import com.jero.project.service.IPayWorkingGroupSubItemService; @@ -68,6 +71,8 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl