diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/mapper/xml/ProjectDetailMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/common/mapper/xml/ProjectDetailMapper.xml index 39f44d71..b1c18672 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/mapper/xml/ProjectDetailMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/mapper/xml/ProjectDetailMapper.xml @@ -13,8 +13,7 @@ UNION ALL - select gsub.id,g.working_group_project, gsub.charge_use, g.principal_id_a,g.principal_name_a,gsub.contacts_temporary_id_one,gsub.contacts_temporary_name_one,gsub.charge_company_temporary_name,gsub.receivable_amount,gsub.paid_amount,gsub.need_invoice,gsub.pack,gsub.in_account,gsub.make_invoice,gsub.mail,gsub.create_time,2,'','',gsub.remarks,gsub.contract_num,gsub.charge_company_temporary_id,gsub.charge_way, - (select GROUP_CONCAT(file_id) from pay_distribution_record where project_id=gsub.id) as files + select gsub.id,g.working_group_project, gsub.charge_use, g.principal_id_a,g.principal_name_a,gsub.contacts_temporary_id_one,gsub.contacts_temporary_name_one,gsub.charge_company_temporary_name,gsub.receivable_amount,gsub.paid_amount,gsub.need_invoice,gsub.pack,gsub.in_account,gsub.make_invoice,gsub.mail,gsub.create_time,2,'','',gsub.remarks,gsub.contract_num,gsub.charge_company_temporary_id,gsub.charge_way,'' from pay_working_group g inner join pay_working_group_subitem gsub on g.id = gsub.working_group_id diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ProjectDetailServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ProjectDetailServiceImpl.java index 235d295a..19805a3d 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ProjectDetailServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ProjectDetailServiceImpl.java @@ -125,7 +125,7 @@ public class ProjectDetailServiceImpl implements ProjectDetailService { projectDetailVO.setPack_dictText(sysBaseAPI.translateDict("yn",String.valueOf(payCommonProject.getPack()))); } // 标协会员,直接查询企业,联系人 - if(Objects.equals(payCommonProject.getProjectType(), ProjectCommon.PROJECT_TYPE5)){ + if(Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE5)){ PayCompanyManagement payCompanyManagement = payCompanyManagementService.getById(payCommonProject.getChargeCompanyTemporaryId()); if(Objects.isNull(payCompanyManagement)){ throw new JeroBootException("企业不存在!"); @@ -207,13 +207,19 @@ public class ProjectDetailServiceImpl implements ProjectDetailService { if(Objects.isNull(payCommonProject)){ throw new JeroBootException("项目不存在!"); } + if(Objects.isNull(payCommonProject.getReceivableAmount())){ + payCommonProject.setReceivableAmount(new BigDecimal("0.00")); + } + if(Objects.isNull(payCommonProject.getPaidAmount())){ + payCommonProject.setPaidAmount(new BigDecimal("0.00")); + } // 应收金额没有变更 && 验证来款方式没有变更 - if(receivableAmount.compareTo(payCommonProject.getReceivableAmount()) == 0 && needInvoice == payCommonProject.getNeedInvoice()){ + if(receivableAmount.compareTo(payCommonProject.getReceivableAmount()) == 0 && needInvoice.equals(payCommonProject.getNeedInvoice())){ return null; } // 验证来款方式,有变更,按照变更处理 - if(needInvoice != payCommonProject.getNeedInvoice()){ + if(!needInvoice.equals(payCommonProject.getNeedInvoice())){ payCommonProject.setNeedInvoice(needInvoice); } ProjectStatusVO projectStatusVO = new ProjectStatusVO(); @@ -229,8 +235,8 @@ public class ProjectDetailServiceImpl implements ProjectDetailService { if(!CollectionUtils.isEmpty(listPayMailBillProject)){ BigDecimal b = listPayMailBillProject.stream().map(PayMailBillProject::getInvoiceAmount).reduce(BigDecimal.ZERO,BigDecimal::add); invoice = invoice.add(b); - if(receivableAmount.compareTo(invoice) == -1){ - throw new JeroBootException("应收金额不能小于开票金额!"); + if(receivableAmount.compareTo(invoice) < 0){ + throw new JeroBootException("应收金额不可小于实收金额,请先修改实际来款后再来修改!"); } List list = listPayMailBillProject.stream().map(PayMailBillProject::getBillId).collect(Collectors.toList()); LambdaQueryWrapper queryPayMailBill = new LambdaQueryWrapper<>(); @@ -249,8 +255,8 @@ public class ProjectDetailServiceImpl implements ProjectDetailService { projectStatusVO.setInAccount(ProjectCommon.IN_ACCOUNT0); } // 0 < 实收金额 && 实收金额 < 应收金额 = 2 - if(payCommonProject.getPaidAmount().compareTo(new BigDecimal("0.00")) == 1 - && payCommonProject.getPaidAmount().compareTo(receivableAmount) ==-1){ + if(payCommonProject.getPaidAmount().compareTo(new BigDecimal("0.00")) > 0 + && payCommonProject.getPaidAmount().compareTo(receivableAmount) < 0){ projectStatusVO.setInAccount(ProjectCommon.IN_ACCOUNT2); } // 开票 @@ -258,16 +264,16 @@ public class ProjectDetailServiceImpl implements ProjectDetailService { if(Objects.equals(payCommonProject.getNeedInvoice(),ProjectCommon.NEED_INVOICE0)){ projectStatusVO.setMakeInvoice(ProjectCommon.MAKE_INVOICE0); }else{ - // 开票金额 = 0 || 开票金额 = 到账金额 = 1 - if(invoice.compareTo(new BigDecimal("0.00")) == 0 || invoice.compareTo(payCommonProject.getPaidAmount()) == 0){ + // 开票金额 = 应收金额 || 开票金额 = 到账金额 = 1 + if(invoice.compareTo(receivableAmount) == 0 || invoice.compareTo(payCommonProject.getPaidAmount()) == 0){ projectStatusVO.setMakeInvoice(ProjectCommon.MAKE_INVOICE1); } - // 开票金额 = 应收金额 = 0 - if(invoice.compareTo(receivableAmount) == 0){ + // 开票金额 = 0 = 0 + if(invoice.compareTo(new BigDecimal("0.00")) == 0){ projectStatusVO.setMakeInvoice(ProjectCommon.MAKE_INVOICE0); } // 开票金额 > 0 && 开票金额 < 实收金额 = 2 - if(invoice.compareTo(new BigDecimal("0.00")) == 1 && invoice.compareTo(payCommonProject.getPaidAmount()) == -1){ + if(invoice.compareTo(new BigDecimal("0.00")) > 0 && invoice.compareTo(payCommonProject.getPaidAmount()) < 0){ projectStatusVO.setMakeInvoice(ProjectCommon.MAKE_INVOICE2); } } 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 9604b542..6e42c235 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 @@ -147,21 +147,21 @@ public class PayIncomeContractServiceImpl extends ServiceImpl queryPayPackCompany = new LambdaQueryWrapper<>(); - queryPayPackCompany.eq(PayPackCompany::getCompanyId,payIncomeContract.getSignedCompanyId()); - queryPayPackCompany.eq(PayPackCompany::getPackYear,payIncomeContract.getPackYear()); - List listPayPackCompany = payPackCompanyService.list(queryPayPackCompany); - //不存在打包企业 添加打包企业 - if(CollectionUtils.isEmpty(listPayPackCompany)){ - PayPackCompany payPackCompanyData = new PayPackCompany(); - payPackCompanyData.setCompanyId(payIncomeContract.getSignedCompanyId()); - payPackCompanyData.setCompanyContactId(payIncomeContract.getSignedContactsId()); - payPackCompanyData.setPackYear(payIncomeContract.getPackYear()); - payPackCompanyData.setPackContactId(payIncomeContract.getSignedContactsId()); - payPackCompanyService.addPayPackCompany(payPackCompanyData); - } - } +// if(Objects.equals(payIncomeContract.getPack(),PayIncomeContractCommon.PACK1)){ +// LambdaQueryWrapper queryPayPackCompany = new LambdaQueryWrapper<>(); +// queryPayPackCompany.eq(PayPackCompany::getCompanyId,payIncomeContract.getSignedCompanyId()); +// queryPayPackCompany.eq(PayPackCompany::getPackYear,payIncomeContract.getPackYear()); +// List listPayPackCompany = payPackCompanyService.list(queryPayPackCompany); +// //不存在打包企业 添加打包企业 +// if(CollectionUtils.isEmpty(listPayPackCompany)){ +// PayPackCompany payPackCompanyData = new PayPackCompany(); +// payPackCompanyData.setCompanyId(payIncomeContract.getSignedCompanyId()); +// payPackCompanyData.setCompanyContactId(payIncomeContract.getSignedContactsId()); +// payPackCompanyData.setPackYear(payIncomeContract.getPackYear()); +// payPackCompanyData.setPackContactId(payIncomeContract.getSignedContactsId()); +// payPackCompanyService.addPayPackCompany(payPackCompanyData); +// } +// } return payIncomeContract; } @@ -385,6 +385,17 @@ public class PayIncomeContractServiceImpl extends ServiceImpl update = new LambdaUpdateWrapper<>(); + update.eq(PayCommonProject::getId,payCommonProject.getId()); + update.set(PayCommonProject::getPack,PayProjectCommon.PACKAGING1); + payCommonProjectService.update(update); + } + } } } @@ -153,12 +158,10 @@ public class PayCommonProjectServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(PayWorkingGroupSubItem::getWorkingGroupId,payWorkingGroupSubItem.getWorkingGroupId()); queryWrapper.eq(PayWorkingGroupSubItem::getChargeCompanyId,payWorkingGroupSubItem.getChargeCompanyId()); - // queryWrapper.eq(PayWorkingGroupSubItem::getContactsIdOne,payWorkingGroupSubItem.getContactsIdOne()); PayWorkingGroupSubItem payWorkingGroupSubItemNew = payWorkingGroupSubItemService.getOne(queryWrapper); // 企业和联系人同时存在,则校验不通过 if(!Objects.isNull(payWorkingGroupSubItemNew)) { @@ -132,29 +129,31 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl update = new LambdaUpdateWrapper<>(); + update.eq(PayWorkingGroupSubItem::getId,payWorkingGroupSubItem.getId()); + update.set(PayWorkingGroupSubItem::getPack,PayProjectCommon.PACKAGING1); + payWorkingGroupSubItemService.update(update); + } + } } + } @Override @@ -172,7 +171,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl { - setPayWorkingGroupSubItem(p); - }); + list.forEach(this::setPayWorkingGroupSubItem); // 更新数据 payWorkingGroupSubItemService.saveBatch(list); } @@ -512,7 +508,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl