From 9f019b3c438928eff907c59b71fc67f3c65db065 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Wed, 31 Jul 2024 16:36:16 +0800 Subject: [PATCH] =?UTF-8?q?fix=2087782=20=E8=B5=84=E6=96=99=E7=BD=91?= =?UTF-8?q?=E5=91=98--=E4=BC=9A=E5=91=98=E9=A1=B9=E7=9B=AE--=E5=B0=81?= =?UTF-8?q?=E9=94=81=E5=90=8E=E4=BC=9A=E5=91=98=E5=8D=95=E4=BD=8D=E9=83=A8?= =?UTF-8?q?=E5=88=86=E4=BF=A1=E6=81=AF=E8=BF=98=E6=98=AF=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PayCompanyManagementServiceImpl.java | 109 +++++++----------- .../mapper/TbMemberProjectSubitemMapper.java | 2 + .../xml/TbMemberProjectSubitemMapper.xml | 7 ++ .../mapper/AnnualDataLockingMapper.java | 5 + .../mapper/xml/AnnualDataLockingMapper.xml | 6 + .../service/AnnualDataLockingService.java | 8 ++ 6 files changed, 70 insertions(+), 67 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayCompanyManagementServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayCompanyManagementServiceImpl.java index 4576dcc5..b4d082d1 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayCompanyManagementServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayCompanyManagementServiceImpl.java @@ -33,13 +33,17 @@ import com.jero.company.vo.UpdateInvoicePram; import com.jero.contract.entity.PayIncomeContract; import com.jero.contract.service.IPayIncomeContractService; import com.jero.member.entity.PayMemberProjectSubitem; +import com.jero.member.entity.TbMemberProjectSubitem; +import com.jero.member.mapper.TbMemberProjectSubitemMapper; import com.jero.member.service.IPayMemberProjectSubitemService; +import com.jero.member.service.ITbMemberProjectSubitemService; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.service.ISysUserService; import com.jero.pack.entity.PayPackCompany; import com.jero.pack.service.IPayPackCompanyService; import com.jero.project.entity.PayCommonProject; import com.jero.project.entity.PayWorkingGroupSubItem; +import com.jero.project.service.AnnualDataLockingService; import com.jero.project.service.IPayCommonProjectService; import com.jero.project.service.IPayWorkingGroupSubItemService; import com.jero.temporary.entity.PayCompanyManagementTemporary; @@ -93,6 +97,12 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl allYear = annualDataLockingService.getAllYear(); //需要更新的临时企业id List companyTemporaryIdList = new ArrayList<>(); // 更新普通项目 LambdaQueryWrapper quaryPayCommonProject = new LambdaQueryWrapper<>(); quaryPayCommonProject.eq(PayCommonProject::getChargeCompanyId,payCompanyManagement.getId()); - quaryPayCommonProject.eq(PayCommonProject::getYear,thisYear); - quaryPayCommonProject.and( - a -> { - a.eq(PayCommonProject::getPaidAmount, BigDecimal.ZERO) - .or() - .isNull(PayCommonProject::getPaidAmount); - }); - quaryPayCommonProject.and( - a -> { - a.eq(PayCommonProject::getInvoiceAmount, BigDecimal.ZERO) - .or() - .isNull(PayCommonProject::getInvoiceAmount); - }); - quaryPayCommonProject.and( - a -> { - a.eq(PayCommonProject::getConfirmAmount, BigDecimal.ZERO) - .or() - .isNull(PayCommonProject::getConfirmAmount); - }); + quaryPayCommonProject.notIn(PayCommonProject::getYear,allYear); + List list = payCommonProjectService.list(quaryPayCommonProject); List collect = list.stream().map(PayCommonProject::getChargeCompanyTemporaryId).collect(Collectors.toList()); + List idList = list.stream().map(PayCommonProject::getId).collect(Collectors.toList()); companyTemporaryIdList.addAll(collect); - if (!collect.isEmpty()){ + if (!idList.isEmpty()){ LambdaUpdateWrapper updatePayCommonProject = new LambdaUpdateWrapper<>(); - updatePayCommonProject.in(PayCommonProject::getChargeCompanyTemporaryId,collect); + updatePayCommonProject.in(PayCommonProject::getId,idList); updatePayCommonProject.set(PayCommonProject::getChargeCompanyTemporaryName,payCompanyManagement.getCompanyName()); payCommonProjectService.update(updatePayCommonProject); } // 更新工作组 QueryWrapper queryPayWorkingGroupSubItem = new QueryWrapper<>(); - queryPayWorkingGroupSubItem.eq("pwg.year",thisYear); - queryPayWorkingGroupSubItem.lambda().eq(PayWorkingGroupSubItem::getChargeCompanyId,payCompanyManagement.getId()) - .and( - a -> { - a.eq(PayWorkingGroupSubItem::getPaidAmount, BigDecimal.ZERO) - .or() - .isNull(PayWorkingGroupSubItem::getPaidAmount); - }) - .and( - a -> { - a.eq(PayWorkingGroupSubItem::getInvoiceAmount, BigDecimal.ZERO) - .or() - .isNull(PayWorkingGroupSubItem::getInvoiceAmount); - }) - .and( - a -> { - a.eq(PayWorkingGroupSubItem::getConfirmAmount, BigDecimal.ZERO) - .or() - .isNull(PayWorkingGroupSubItem::getConfirmAmount); - }); + queryPayWorkingGroupSubItem.notIn("pwg.year",allYear); + queryPayWorkingGroupSubItem.lambda().eq(PayWorkingGroupSubItem::getChargeCompanyId,payCompanyManagement.getId()); + List workingGroupSubItemList = payWorkingGroupSubItemService.queryList(queryPayWorkingGroupSubItem); List collect1 = workingGroupSubItemList.stream().map(PayWorkingGroupSubItem::getChargeCompanyTemporaryId).collect(Collectors.toList()); + List idList1 = workingGroupSubItemList.stream().map(PayWorkingGroupSubItem::getId).collect(Collectors.toList()); companyTemporaryIdList.addAll(collect1); - if (!collect1.isEmpty()){ + if (!idList1.isEmpty()){ LambdaUpdateWrapper updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>(); - updatePayWorkingGroupSubItem.in(PayWorkingGroupSubItem::getChargeCompanyId,collect1); + updatePayWorkingGroupSubItem.in(PayWorkingGroupSubItem::getId,idList1); updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getChargeCompanyTemporaryName,payCompanyManagement.getCompanyName()); payWorkingGroupSubItemService.update(updatePayWorkingGroupSubItem); } // 更新会员 QueryWrapper queryPayMemberProjectSubitem = new QueryWrapper<>(); - queryPayMemberProjectSubitem.eq("pmp.particular_year",thisYear); - queryPayMemberProjectSubitem.lambda().eq(PayMemberProjectSubitem::getCompanyId,payCompanyManagement.getId()) - .and( - a -> { - a.eq(PayMemberProjectSubitem::getPaidAmount, BigDecimal.ZERO) - .or() - .isNull(PayMemberProjectSubitem::getPaidAmount); - }) - .and( - a -> { - a.eq(PayMemberProjectSubitem::getInvoiceAmount, BigDecimal.ZERO) - .or() - .isNull(PayMemberProjectSubitem::getInvoiceAmount); - }) - .and( - a -> { - a.eq(PayMemberProjectSubitem::getConfirmAmount, BigDecimal.ZERO) - .or() - .isNull(PayMemberProjectSubitem::getConfirmAmount); - }); + queryPayMemberProjectSubitem.notIn("pmp.particular_year",allYear) ; + queryPayMemberProjectSubitem.lambda().eq(PayMemberProjectSubitem::getCompanyId,payCompanyManagement.getId()); + List payMemberProjectSubitems = memberProjectSubitemService.queryPageListCompany(queryPayMemberProjectSubitem); List collect2 = payMemberProjectSubitems.stream().map(PayMemberProjectSubitem::getCompanyTemporaryId).collect(Collectors.toList()); + List idList2 = payMemberProjectSubitems.stream().map(PayMemberProjectSubitem::getId).collect(Collectors.toList()); companyTemporaryIdList.addAll(collect2); - if (!collect2.isEmpty()){ + if (!idList2.isEmpty()){ LambdaUpdateWrapper updatePayMemberProjectSubitem = new LambdaUpdateWrapper<>(); - updatePayMemberProjectSubitem.in(PayMemberProjectSubitem::getCompanyId,payCompanyManagement.getId()); + updatePayMemberProjectSubitem.in(PayMemberProjectSubitem::getId,idList2); updatePayMemberProjectSubitem.set(PayMemberProjectSubitem::getCompanyName,payCompanyManagement.getCompanyName()); memberProjectSubitemService.update(updatePayMemberProjectSubitem); } + // 更新标协会员 + QueryWrapper queryTbMemberProjectSubitem = new QueryWrapper<>(); + queryTbMemberProjectSubitem.notIn("tmp.year",allYear); + queryTbMemberProjectSubitem.lambda().eq(TbMemberProjectSubitem::getCompanyId,payCompanyManagement.getId()); - + List tbMemberProjectSubitems = tbMemberProjectSubitemMapper.queryListCompanyYear(queryTbMemberProjectSubitem); + List collect3 = tbMemberProjectSubitems.stream().map(TbMemberProjectSubitem::getCompanyTemporaryId).collect(Collectors.toList()); + List idList3 = tbMemberProjectSubitems.stream().map(TbMemberProjectSubitem::getId).collect(Collectors.toList()); + companyTemporaryIdList.addAll(collect3); + if (!idList3.isEmpty()){ + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.in(TbMemberProjectSubitem::getId,idList3); + updateWrapper.set(TbMemberProjectSubitem::getCompanyName,payCompanyManagement.getCompanyName()); + tbMemberProjectSubitemService.update(updateWrapper); + } // 更新临时数据 if (!companyTemporaryIdList.isEmpty()) { LambdaUpdateWrapper updatePayCompanyManagementTemporary = new LambdaUpdateWrapper<>(); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/member/mapper/TbMemberProjectSubitemMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/member/mapper/TbMemberProjectSubitemMapper.java index 45899468..563dad3e 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/member/mapper/TbMemberProjectSubitemMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/member/mapper/TbMemberProjectSubitemMapper.java @@ -63,4 +63,6 @@ public interface TbMemberProjectSubitemMapper extends BaseMapper getAllYearInfoByCompanyId(@Param("companyId") String companyId); List listByYear(@Param("year") String year); + + List queryListCompanyYear(@Param(Constants.WRAPPER) QueryWrapper queryTbMemberProjectSubitem); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/member/mapper/xml/TbMemberProjectSubitemMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/member/mapper/xml/TbMemberProjectSubitemMapper.xml index e687f393..5801f0c9 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/member/mapper/xml/TbMemberProjectSubitemMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/member/mapper/xml/TbMemberProjectSubitemMapper.xml @@ -204,4 +204,11 @@ LEFT JOIN tb_member_project tmp on tmp.id = tmps.project_id where tmp.year = #{year} + + \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/AnnualDataLockingMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/AnnualDataLockingMapper.java index 1147feb7..bbf03d88 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/AnnualDataLockingMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/AnnualDataLockingMapper.java @@ -1,9 +1,12 @@ package com.jero.project.mapper; +import java.util.List; import org.apache.ibatis.annotations.Param; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.jero.project.entity.AnnualDataLocking; +import java.time.Year; + /** * *@author liJiaRao @@ -12,5 +15,7 @@ import com.jero.project.entity.AnnualDataLocking; public interface AnnualDataLockingMapper extends BaseMapper { AnnualDataLocking countByYear(@Param("year")String year); + List getYear(); + } \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/AnnualDataLockingMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/AnnualDataLockingMapper.xml index 34b4a4bd..f903e833 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/AnnualDataLockingMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/AnnualDataLockingMapper.xml @@ -26,4 +26,10 @@ + + + \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/AnnualDataLockingService.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/AnnualDataLockingService.java index 05e6d181..7724d9bb 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/AnnualDataLockingService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/AnnualDataLockingService.java @@ -386,6 +386,14 @@ public class AnnualDataLockingService extends ServiceImpl getAllYear(){ + return baseMapper.getYear(); + } + /** * 查询年份是否存在 */