From bf9793bc4dd1699a20ba7254e1f5145e3a61b211 Mon Sep 17 00:00:00 2001 From: lijiarao <136157943@qq.com> Date: Sat, 27 Jul 2024 17:14:05 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E5=B9=B4=E5=BA=A6=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E9=94=81=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/24年6月变更.sql | 10 +- .../common/mapper/xml/ProjectDetailMapper.xml | 6 +- .../impl/ProjectDetailServiceImpl.java | 13 +- .../member/entity/TbMemberProjectSubitem.java | 14 + .../pack/mapper/PayPackCompanyMapper.java | 2 + .../pack/mapper/xml/PayPackCompanyMapper.xml | 5 +- .../PayWorkingGroupSubItemContactsMapper.java | 18 +- .../service/AnnualDataLockingService.java | 325 +++++++++++++++++- ...IPayCompanyManagementTemporaryService.java | 3 + ...CompanyManagementTemporaryServiceImpl.java | 22 +- ...ontactsManagementTemporaryServiceImpl.java | 4 +- .../src/main/resources/application-dev.yml | 2 +- 12 files changed, 389 insertions(+), 35 deletions(-) diff --git a/db/24年6月变更.sql b/db/24年6月变更.sql index baf69ca8..903fe03b 100644 --- a/db/24年6月变更.sql +++ b/db/24年6月变更.sql @@ -218,4 +218,12 @@ alter table pay_contacts_management_temporary comment '联系人管理临时表' alter table pay_company_management_temporary add year varchar(4) null comment '数据锁定年份'; alter table pay_contacts_management_temporary - add year varchar(4) null comment '数据锁定年份'; \ No newline at end of file + add year varchar(4) null comment '数据锁定年份'; +# 标协会员项目增加临时id +alter table tb_member_project_subitem + add company_temporary_id varchar(50) null comment '企业临时id' after company_id, + add company_contact_temporary_id varchar(50) null comment '企业联系人临时id' after liaison_man_id, + add post_contact_temporary_id varchar(150) null comment '邮寄联系人临时id' after post_contact_id; +# 标协会员项目增加临时id +alter table pay_pack_company + add mail_contact_temporary_id varchar(150) null comment '邮寄联系人临时id' after mail_contacts_id; \ No newline at end of file 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 bca65204..e8c81344 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 @@ -102,7 +102,7 @@ c.company_contact_temporary_id as contacts_temporary_id, c.company_contact_name as contacts_temporary_name, c.company_id as charge_company_id, - c.company_id as charge_company_temporary_id, + c.company_temporary_id as charge_company_temporary_id, c.company_name as charge_company_temporary_name, c.amount_receivable as receivable_amount, c.paid_amount as paid_amount, @@ -189,10 +189,10 @@ tmember.director_id as principal_id, su.realname as principal_name, c.liaison_man_id as contacts_id, - c.liaison_man_id as contacts_temporary_id, + c.company_contact_temporary_id as contacts_temporary_id, c.liaison_man as contacts_temporary_name, c.company_id as charge_company_id, - c.company_id as charge_company_temporary_id, + c.company_temporary_id as charge_company_temporary_id, c.company_name as charge_company_temporary_name, c.amount_receivable as receivable_amount, c.paid_amount as paid_amount, 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 efb5475e..3dac76e0 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 @@ -274,15 +274,14 @@ public class ProjectDetailServiceImpl implements ProjectDetailService { queryPayWorkingGroupSubItemContacts.orderByAsc(PayWorkingGroupSubItemContacts::getOrderNum); List listPayWorkingGroupSubItemContacts = payWorkingGroupSubItemContactsService.list(queryPayWorkingGroupSubItemContacts); if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItemContacts)){ - List listIds = listPayWorkingGroupSubItemContacts.stream().map(PayWorkingGroupSubItemContacts::getContactsTemporaryId).collect(Collectors.toList()); - List payContactsManagementTemporaryList = payContactsManagementTemporaryService.listByIds(listIds); - if(!CollectionUtils.isEmpty(payContactsManagementTemporaryList)){ + //List listIds = listPayWorkingGroupSubItemContacts.stream().map(PayWorkingGroupSubItemContacts::getContactsTemporaryId).collect(Collectors.toList()); + //List payContactsManagementTemporaryList = payContactsManagementTemporaryService.listByIds(listIds); + if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItemContacts)){ listPayWorkingGroupSubItemContacts.forEach(p->{ - List listNew = payContactsManagementTemporaryList.stream().filter(o->Objects.equals(o.getId(),p.getContactsTemporaryId())).collect(Collectors.toList()); - if(CollectionUtils.isEmpty(listNew)){ - return; + PayContactsManagementTemporary payContactsManagementTemporary = payContactsManagementTemporaryService.getByAllTable(p.getContactsId(),p.getContactsTemporaryId()); + if(Objects.isNull(payContactsManagementTemporary)){ + throw new JeroBootException("联系人不存在!"); } - PayContactsManagementTemporary payContactsManagementTemporary = listNew.get(0); p.setGender(payContactsManagementTemporary.getGender()); if(!Objects.isNull(payContactsManagementTemporary.getGender())){ p.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(payContactsManagementTemporary.getGender()))); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/member/entity/TbMemberProjectSubitem.java b/jero-boot-incoming-payment/src/main/java/com/jero/member/entity/TbMemberProjectSubitem.java index 4d51a800..f8eb3f8f 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/member/entity/TbMemberProjectSubitem.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/member/entity/TbMemberProjectSubitem.java @@ -78,6 +78,10 @@ public class TbMemberProjectSubitem implements Serializable { @Excel(name = "会员单位", width = 15, dictTable = "pay_company_management", dicText = "company_name", dicCode = "id") @Dict(dictTable = "pay_company_management", dicText = "company_name", dicCode = "id") private String companyId; + /** + * 企业临时id + */ + private String companyTemporaryId; /**会员单位*/ @ApiModelProperty(value = "会员单位") @@ -100,6 +104,11 @@ public class TbMemberProjectSubitem implements Serializable { @Dict(dictTable = "pay_contacts_management", dicText = "name", dicCode = "id") private String liaisonManId; + /** + * 企业联系人临时id + */ + private String companyContactTemporaryId; + /**联系人*/ @ApiModelProperty(value = "联系人") private String liaisonMan; @@ -111,6 +120,11 @@ public class TbMemberProjectSubitem implements Serializable { @Excel(name = "邮寄联系人", width = 15, dictTable = "pay_contacts_management", dicText = "name", dicCode = "id") private String postContactId; + /** + * 邮寄联系人临时id + */ + private String postContactTemporaryId; + /**邮箱*/ @Excel(name = "邮箱", width = 20,exportConvert = true) @ApiModelProperty(value = "邮箱") diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/PayPackCompanyMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/PayPackCompanyMapper.java index 83dc2410..44cb16d9 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/PayPackCompanyMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/PayPackCompanyMapper.java @@ -56,4 +56,6 @@ public interface PayPackCompanyMapper extends BaseMapper { String getConfirmAmountMoney(@Param("payPackCompany") PayPackCompany payPackCompany); String getComeAllMoney(@Param("payPackCompany") PayPackCompany payPackCompany); + + List listByYear(@Param("year") String year); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyMapper.xml index a6980d04..92871515 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyMapper.xml @@ -109,5 +109,8 @@ - + \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupSubItemContactsMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupSubItemContactsMapper.java index c08ad170..3b26f3bc 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupSubItemContactsMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupSubItemContactsMapper.java @@ -1,5 +1,11 @@ package com.jero.project.mapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import java.util.Collection; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; + import org.apache.ibatis.annotations.Param; + import java.util.List; @@ -9,16 +15,22 @@ import com.jero.project.entity.PayWorkingGroupSubItemContacts; /** * @Description: pay_working_group_subitem_contacts * @Author: jeecg-boot - * @Date: 2022-04-19 + * @Date: 2022-04-19 * @Version: V1.0 */ public interface PayWorkingGroupSubItemContactsMapper extends BaseMapper { /** * 根据成员id获得主联系人 */ - String getMasterContactsId(@Param("workingGroupSubId")String workingGroupSubId); + String getMasterContactsId(@Param("workingGroupSubId") String workingGroupSubId); - List getSubItemContacts(@Param("workingGroupSubId")String workingGroupSubId); + List getSubItemContacts(@Param("workingGroupSubId") String workingGroupSubId); + + default List listByWorkingGroupSubIdIn(Collection workingGroupSubIdCollection) { + LambdaQueryWrapper myQuery = Wrappers.lambdaQuery(PayWorkingGroupSubItemContacts.class); + myQuery.in(PayWorkingGroupSubItemContacts::getWorkingGroupSubId, workingGroupSubIdCollection); + return selectList(myQuery); + } } 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 5ea468b9..787a3178 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 @@ -3,7 +3,6 @@ package com.jero.project.service; import cn.hutool.core.collection.CollStreamUtil; import cn.hutool.core.collection.CollectionUtil; import com.jero.common.common.RoleCommon; -import com.jero.common.constant.CacheConstant; import com.jero.common.exception.JeroBootException; import com.jero.common.service.ProjectDetailService; import com.jero.common.system.api.ISysBaseAPI; @@ -15,16 +14,19 @@ import com.jero.meeting.service.IPayMeetingSituationService; import com.jero.member.entity.PayMemberProjectSubitem; import com.jero.member.entity.TbMemberProjectSubitem; import com.jero.member.mapper.PayMemberProjectSubitemMapper; -import com.jero.member.mapper.TbCertificatePaymentMapper; import com.jero.member.mapper.TbMemberProjectSubitemMapper; import com.jero.member.service.IPayMemberProjectService; +import com.jero.member.service.IPayMemberProjectSubitemService; import com.jero.member.service.ITbMemberProjectSubitemService; import com.jero.modules.system.service.ISysUserService; +import com.jero.pack.entity.PayPackCompany; +import com.jero.pack.mapper.PayPackCompanyMapper; +import com.jero.pack.service.IPayPackCompanyProjectService; +import com.jero.pack.service.IPayPackCompanyService; import com.jero.project.entity.PayCommonProject; import com.jero.project.entity.PayWorkingGroupSubItem; -import com.jero.project.mapper.PayCommonProjectMapper; -import com.jero.project.mapper.PayWorkingGroupMapper; -import com.jero.project.mapper.PayWorkingGroupSubItemMapper; +import com.jero.project.entity.PayWorkingGroupSubItemContacts; +import com.jero.project.mapper.*; import com.jero.temporary.entity.PayCompanyManagementTemporary; import com.jero.temporary.entity.PayContactsManagementTemporary; import com.jero.temporary.service.IPayCompanyManagementTemporaryService; @@ -37,13 +39,11 @@ import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.stream.Collectors; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.jero.project.mapper.AnnualDataLockingMapper; import com.jero.project.entity.AnnualDataLocking; import org.springframework.transaction.annotation.Transactional; @@ -64,9 +64,16 @@ public class AnnualDataLockingService extends ServiceImpl meetingSituations = meetingSituationMapper.listByYear(year); List workingGroupSubItems = payWorkingGroupSubItemMapper.listByYear(year); + List workingGroupSubIdList = workingGroupSubItems.stream().map(PayWorkingGroupSubItem::getId).distinct().collect(Collectors.toList()); + List workingGroupSubItemContacts = workingGroupSubItemContactsMapper.listByWorkingGroupSubIdIn(workingGroupSubIdList); List payCommonProjects = payCommonProjectMapper.listByYear(year); List memberProjectSubitems = payMemberProjectSubitemMapper.listByYear(year); List tbMemberProjectSubitems = tbMemberProjectSubitemMapper.listByYear(year); + List packCompanyList = packCompanyMapper.listByYear(year); //获得去重后的所有企业和联系人(联系人和邮寄联系人) - ArrayList distinctCompanyIdList = getDistinctCompanyIdList(meetingSituations, workingGroupSubItems, payCommonProjects, memberProjectSubitems, tbMemberProjectSubitems); - ArrayList distinctContactIdList = getDistinctContactIdList(meetingSituations, workingGroupSubItems, payCommonProjects, memberProjectSubitems, tbMemberProjectSubitems); + ArrayList distinctCompanyIdList = getDistinctCompanyIdList(meetingSituations, workingGroupSubItems, payCommonProjects, memberProjectSubitems, tbMemberProjectSubitems,packCompanyList); + ArrayList distinctContactIdList = getDistinctContactIdList(meetingSituations, workingGroupSubItems, workingGroupSubItemContacts, payCommonProjects, memberProjectSubitems, tbMemberProjectSubitems,packCompanyList); //生成企业和联系人临时数据 List companyTemporaryList = companyTemporaryService.insertList(distinctCompanyIdList,year); Map companyTemporaryMap = CollStreamUtil.toIdentityMap(companyTemporaryList, PayCompanyManagementTemporary::getCompanyId); @@ -136,52 +154,221 @@ public class AnnualDataLockingService extends ServiceImpl updateWorkingGroupSubItemList = new ArrayList<>(); for (PayWorkingGroupSubItem workingGroupSubItem : workingGroupSubItems) { + String companyId = workingGroupSubItem.getChargeCompanyId(); + String postContactId = workingGroupSubItem.getMailContactsId(); + //获得临时表id + companyTemporaryMap.get(companyId); + PayCompanyManagementTemporary companyTemporary = companyTemporaryMap.get(companyId); + if (companyTemporary == null){ + continue; + } + //更新临时表id + PayWorkingGroupSubItem update = new PayWorkingGroupSubItem(); + update.setId(workingGroupSubItem.getId()); + update.setChargeCompanyTemporaryId(companyTemporary.getId()); + if (StringUtils.isNotBlank(postContactId)){ + PayContactsManagementTemporary contactsTemporary1 = contactsTemporaryMap.get(postContactId); + if (contactsTemporary1 != null){ + update.setMailContactsTemporaryId(contactsTemporary1.getId()); + } + } + updateWorkingGroupSubItemList.add(update); } + workingGroupSubItemService.updateBatchById(updateWorkingGroupSubItemList); + //工作组成员联系人 + List updateWorkingGroupSubItemContacts = new ArrayList<>(); + for (PayWorkingGroupSubItemContacts contacts : workingGroupSubItemContacts) { + String contactsId = contacts.getContactsId(); + + PayContactsManagementTemporary contactsTemporary = contactsTemporaryMap.get(contactsId); + if (contactsTemporary == null){ + continue; + } + //更新临时表id + PayWorkingGroupSubItemContacts update = new PayWorkingGroupSubItemContacts(); + update.setId(contacts.getId()); + update.setContactsTemporaryId(contactsTemporary.getId()); + updateWorkingGroupSubItemContacts.add(update); + } + workingGroupSubItemContactsService.updateBatchById(updateWorkingGroupSubItemContacts); + + //普通项目 + List updatePayCommonProjects = new ArrayList<>(); + for (PayCommonProject commonProject : payCommonProjects) { + String companyId = commonProject.getChargeCompanyId(); + String companyContactId = commonProject.getContactsId(); + String postContactId = commonProject.getMailContactsId(); + //获得临时表id + companyTemporaryMap.get(companyId); + PayCompanyManagementTemporary companyTemporary = companyTemporaryMap.get(companyId); + if (companyTemporary == null){ + continue; + } + PayContactsManagementTemporary contactsTemporary = contactsTemporaryMap.get(companyContactId); + if (contactsTemporary == null){ + continue; + } + //更新临时表id + PayCommonProject update = new PayCommonProject(); + update.setId(commonProject.getId()); + if (StringUtils.isNotBlank(postContactId)){ + PayContactsManagementTemporary contactsTemporary1 = contactsTemporaryMap.get(postContactId); + if (contactsTemporary1 != null){ + update.setMailContactsId(contactsTemporary1.getId()); + } + } + update.setChargeCompanyTemporaryId(companyTemporary.getId()); + update.setContactsTemporaryId(contactsTemporary.getId()); + updatePayCommonProjects.add(update); + } + commonProjectService.updateBatchById(updatePayCommonProjects); + + //会员项目 + List updateMemberProjectSubitems = new ArrayList<>(); + for (PayMemberProjectSubitem memberProjectSubitem : memberProjectSubitems) { + String companyId = memberProjectSubitem.getCompanyId(); + String companyContactId = memberProjectSubitem.getCompanyContactId(); + String postContactId = memberProjectSubitem.getPostContactId(); + //获得临时表id + companyTemporaryMap.get(companyId); + PayCompanyManagementTemporary companyTemporary = companyTemporaryMap.get(companyId); + if (companyTemporary == null){ + continue; + } + PayContactsManagementTemporary contactsTemporary = contactsTemporaryMap.get(companyContactId); + if (contactsTemporary == null){ + continue; + } + //更新临时表id + PayMemberProjectSubitem update = new PayMemberProjectSubitem(); + update.setId(memberProjectSubitem.getId()); + if (StringUtils.isNotBlank(postContactId)){ + PayContactsManagementTemporary contactsTemporary1 = contactsTemporaryMap.get(postContactId); + if (contactsTemporary1 != null){ + update.setPostContactTemporaryId(contactsTemporary1.getId()); + } + } + update.setCompanyTemporaryId(companyTemporary.getId()); + update.setCompanyContactTemporaryId(contactsTemporary.getId()); + updateMemberProjectSubitems.add(update); + } + memberProjectSubitemService.updateBatchById(updateMemberProjectSubitems); + + //标协会员项目 + List updateTbMemberProjectSubitems = new ArrayList<>(); + for (TbMemberProjectSubitem tbMemberProjectSubitem : tbMemberProjectSubitems) { + String companyId = tbMemberProjectSubitem.getCompanyId(); + String companyContactId = tbMemberProjectSubitem.getLiaisonManId(); + String postContactId = tbMemberProjectSubitem.getPostContactId(); + //获得临时表id + companyTemporaryMap.get(companyId); + PayCompanyManagementTemporary companyTemporary = companyTemporaryMap.get(companyId); + if (companyTemporary == null){ + continue; + } + PayContactsManagementTemporary contactsTemporary = contactsTemporaryMap.get(companyContactId); + if (contactsTemporary == null){ + continue; + } + //更新临时表id + TbMemberProjectSubitem update = new TbMemberProjectSubitem(); + update.setId(tbMemberProjectSubitem.getId()); + if (StringUtils.isNotBlank(postContactId)){ + PayContactsManagementTemporary contactsTemporary1 = contactsTemporaryMap.get(postContactId); + if (contactsTemporary1 != null){ + update.setPostContactTemporaryId(contactsTemporary1.getId()); + } + } + update.setCompanyTemporaryId(companyTemporary.getId()); + update.setCompanyContactTemporaryId(contactsTemporary.getId()); + updateTbMemberProjectSubitems.add(update); + } + tbMemberProjectSubitemService.updateBatchById(updateTbMemberProjectSubitems); + + //打包项目 + List updatePackCompanyList = new ArrayList<>(); + for (PayPackCompany packCompany : packCompanyList) { + String companyId = packCompany.getCompanyId(); + String companyContactId = packCompany.getCompanyContactId(); + String postContactId = packCompany.getMailContactsId(); + //获得临时表id + companyTemporaryMap.get(companyId); + PayCompanyManagementTemporary companyTemporary = companyTemporaryMap.get(companyId); + if (companyTemporary == null){ + continue; + } + PayContactsManagementTemporary contactsTemporary = contactsTemporaryMap.get(companyContactId); + if (contactsTemporary == null){ + continue; + } + //更新临时表id + PayPackCompany update = new PayPackCompany(); + update.setId(packCompany.getId()); + if (StringUtils.isNotBlank(postContactId)){ + PayContactsManagementTemporary contactsTemporary1 = contactsTemporaryMap.get(postContactId); + if (contactsTemporary1 != null){ + update.setMailContactsId(contactsTemporary1.getId()); + } + } + update.setCompanyTemporaryId(companyTemporary.getId()); + update.setCompanyContactTemporaryId(contactsTemporary.getId()); + updatePackCompanyList.add(update); + } + packCompanyService.updateBatchById(updatePackCompanyList); } @NotNull - private ArrayList getDistinctContactIdList(List meetingSituations, List workingGroupSubItems, List payCommonProjects, List memberProjectSubitems, List tbMemberProjectSubitems) { + private ArrayList getDistinctContactIdList(List meetingSituations, List workingGroupSubItems, List workingGroupSubItemContacts, List payCommonProjects, List memberProjectSubitems, List tbMemberProjectSubitems, List packCompanys) { //获得所有联系人id List contactIdList1 = meetingSituations.stream().map(PayMeetingSituation::getCompanyContactId).distinct().collect(Collectors.toList()); - List contactIdList2 = workingGroupSubItems.stream().map(PayWorkingGroupSubItem::getContactsIdOne).distinct().collect(Collectors.toList()); + List contactIdList2 = workingGroupSubItemContacts.stream().map(PayWorkingGroupSubItemContacts::getContactsId).distinct().collect(Collectors.toList()); List contactIdList3 = payCommonProjects.stream().map(PayCommonProject::getContactsId).distinct().collect(Collectors.toList()); List contactIdList4 = memberProjectSubitems.stream().map(PayMemberProjectSubitem::getCompanyContactId).distinct().collect(Collectors.toList()); List contactIdList5 = tbMemberProjectSubitems.stream().map(TbMemberProjectSubitem::getLiaisonManId).distinct().collect(Collectors.toList()); + List contactIdList6 = packCompanys.stream().map(PayPackCompany::getCompanyContactId).distinct().collect(Collectors.toList()); contactIdList1.addAll(contactIdList2); contactIdList1.addAll(contactIdList3); contactIdList1.addAll(contactIdList4); contactIdList1.addAll(contactIdList5); + contactIdList1.addAll(contactIdList6); //获得所有邮寄联系人id List postContactIdList1 = meetingSituations.stream().map(PayMeetingSituation::getPostContactId).distinct().collect(Collectors.toList()); List postContactIdList2 = workingGroupSubItems.stream().map(PayWorkingGroupSubItem::getMailContactsId).distinct().collect(Collectors.toList()); List postContactIdList3 = payCommonProjects.stream().map(PayCommonProject::getMailContactsId).distinct().collect(Collectors.toList()); List postContactIdList4 = memberProjectSubitems.stream().map(PayMemberProjectSubitem::getPostContactId).distinct().collect(Collectors.toList()); List postContactIdList5 = tbMemberProjectSubitems.stream().map(TbMemberProjectSubitem::getPostContactId).distinct().collect(Collectors.toList()); + List postContactIdList6 = packCompanys.stream().map(PayPackCompany::getMailContactsId).distinct().collect(Collectors.toList()); contactIdList1.addAll(postContactIdList1); contactIdList1.addAll(postContactIdList2); contactIdList1.addAll(postContactIdList3); contactIdList1.addAll(postContactIdList4); contactIdList1.addAll(postContactIdList5); + contactIdList1.addAll(postContactIdList6); //联系人和邮寄联系人合并后去重 return CollectionUtil.distinct(contactIdList1); } @NotNull - private ArrayList getDistinctCompanyIdList(List meetingSituations, List workingGroupSubItems, List payCommonProjects, List memberProjectSubitems, List tbMemberProjectSubitems) { + private ArrayList getDistinctCompanyIdList(List meetingSituations, List workingGroupSubItems, List payCommonProjects, List memberProjectSubitems, List tbMemberProjectSubitems, List packCompanys) { //获取所有企业id List companyIdList1 = meetingSituations.stream().map(PayMeetingSituation::getCompanyId).distinct().collect(Collectors.toList()); List companyIdList2 = workingGroupSubItems.stream().map(PayWorkingGroupSubItem::getChargeCompanyId).distinct().collect(Collectors.toList()); List companyIdList3 = payCommonProjects.stream().map(PayCommonProject::getChargeCompanyId).distinct().collect(Collectors.toList()); List companyIdList4 = memberProjectSubitems.stream().map(PayMemberProjectSubitem::getCompanyId).distinct().collect(Collectors.toList()); List companyIdList5 = tbMemberProjectSubitems.stream().map(TbMemberProjectSubitem::getCompanyId).distinct().collect(Collectors.toList()); + List companyIdList6 = packCompanys.stream().map(PayPackCompany::getCompanyId).distinct().collect(Collectors.toList()); + companyIdList1.addAll(companyIdList2); companyIdList1.addAll(companyIdList3); companyIdList1.addAll(companyIdList4); companyIdList1.addAll(companyIdList5); + companyIdList1.addAll(companyIdList6); //去重 return CollectionUtil.distinct(companyIdList1); } @@ -210,12 +397,14 @@ public class AnnualDataLockingService extends ServiceImpl updateMeetingSituationList = new ArrayList<>(); List meetingSituations = meetingSituationMapper.listByYear(year); for (PayMeetingSituation meetingSituation : meetingSituations) { String companyId = meetingSituation.getCompanyId(); @@ -223,11 +412,119 @@ public class AnnualDataLockingService extends ServiceImpl updateWorkingGroupSubItemList = new ArrayList<>(); + List workingGroupSubItems = payWorkingGroupSubItemMapper.listByYear(year); + for (PayWorkingGroupSubItem workingGroupSubItem : workingGroupSubItems) { + String companyId = workingGroupSubItem.getChargeCompanyId(); + String postContactId = workingGroupSubItem.getMailContactsId(); + //更新临时表id + PayWorkingGroupSubItem update = new PayWorkingGroupSubItem(); + update.setId(workingGroupSubItem.getId()); + update.setChargeCompanyTemporaryId(companyId); + update.setMailContactsTemporaryId(postContactId); + + updateWorkingGroupSubItemList.add(update); + } + workingGroupSubItemService.updateBatchById(updateWorkingGroupSubItemList); + + //工作组成员联系人 + List updateWorkingGroupSubItemContacts = new ArrayList<>(); + List workingGroupSubIdList = workingGroupSubItems.stream().map(PayWorkingGroupSubItem::getId).distinct().collect(Collectors.toList()); + List workingGroupSubItemContacts = workingGroupSubItemContactsMapper.listByWorkingGroupSubIdIn(workingGroupSubIdList); + for (PayWorkingGroupSubItemContacts contacts : workingGroupSubItemContacts) { + String contactsId = contacts.getContactsId(); + + //更新临时表id + PayWorkingGroupSubItemContacts update = new PayWorkingGroupSubItemContacts(); + update.setId(contacts.getId()); + update.setContactsTemporaryId(contactsId); + updateWorkingGroupSubItemContacts.add(update); + } + workingGroupSubItemContactsService.updateBatchById(updateWorkingGroupSubItemContacts); + + //普通项目 + List updatePayCommonProjects = new ArrayList<>(); + List payCommonProjects = payCommonProjectMapper.listByYear(year); + for (PayCommonProject commonProject : payCommonProjects) { + String companyId = commonProject.getChargeCompanyId(); + String companyContactId = commonProject.getContactsId(); + String postContactId = commonProject.getMailContactsId(); + + //更新临时表id + PayCommonProject update = new PayCommonProject(); + update.setId(commonProject.getId()); + update.setChargeCompanyTemporaryId(companyId); + update.setContactsTemporaryId(companyContactId); + update.setMailContactsTemporaryId(postContactId); + + updatePayCommonProjects.add(update); + } + commonProjectService.updateBatchById(updatePayCommonProjects); + + //会员项目 + List updateMemberProjectSubitems = new ArrayList<>(); + List memberProjectSubitems = payMemberProjectSubitemMapper.listByYear(year); + for (PayMemberProjectSubitem memberProjectSubitem : memberProjectSubitems) { + String companyId = memberProjectSubitem.getCompanyId(); + String companyContactId = memberProjectSubitem.getCompanyContactId(); + String postContactId = memberProjectSubitem.getPostContactId(); + + //更新临时表id + PayMemberProjectSubitem update = new PayMemberProjectSubitem(); + update.setId(memberProjectSubitem.getId()); + update.setCompanyTemporaryId(companyId); + update.setCompanyContactTemporaryId(companyContactId); + update.setPostContactTemporaryId(postContactId); + + updateMemberProjectSubitems.add(update); + } + memberProjectSubitemService.updateBatchById(updateMemberProjectSubitems); + + //标协会员项目 + List updateTbMemberProjectSubitems = new ArrayList<>(); + List tbMemberProjectSubitems = tbMemberProjectSubitemMapper.listByYear(year); + for (TbMemberProjectSubitem tbMemberProjectSubitem : tbMemberProjectSubitems) { + String companyId = tbMemberProjectSubitem.getCompanyId(); + String companyContactId = tbMemberProjectSubitem.getLiaisonManId(); + String postContactId = tbMemberProjectSubitem.getPostContactId(); + //更新临时表id + TbMemberProjectSubitem update = new TbMemberProjectSubitem(); + update.setId(tbMemberProjectSubitem.getId()); + update.setCompanyTemporaryId(companyId); + update.setCompanyContactTemporaryId(companyContactId); + update.setPostContactTemporaryId(postContactId); + + updateTbMemberProjectSubitems.add(update); + } + tbMemberProjectSubitemService.updateBatchById(updateTbMemberProjectSubitems); + + //打包项目 + List updatePackCompanyList = new ArrayList<>(); + List packCompanyList = packCompanyMapper.listByYear(year); + for (PayPackCompany packCompany : packCompanyList) { + String companyId = packCompany.getCompanyId(); + String companyContactId = packCompany.getCompanyContactId(); + String postContactId = packCompany.getMailContactsId(); + + //更新临时表id + PayPackCompany update = new PayPackCompany(); + update.setId(packCompany.getId()); + update.setMailContactsId(postContactId); + update.setCompanyTemporaryId(companyId); + update.setCompanyContactTemporaryId(companyContactId); + updatePackCompanyList.add(update); + } + packCompanyService.updateBatchById(updatePackCompanyList); + } public void deleteByIds(List idList) { diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/temporary/service/IPayCompanyManagementTemporaryService.java b/jero-boot-incoming-payment/src/main/java/com/jero/temporary/service/IPayCompanyManagementTemporaryService.java index c572139c..b9b15aba 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/temporary/service/IPayCompanyManagementTemporaryService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/temporary/service/IPayCompanyManagementTemporaryService.java @@ -4,6 +4,7 @@ package com.jero.temporary.service; import com.baomidou.mybatisplus.extension.service.IService; import com.jero.temporary.entity.PayCompanyManagementTemporary; +import java.io.Serializable; import java.util.List; /** @@ -27,4 +28,6 @@ public interface IPayCompanyManagementTemporaryService extends IService insertList(List companyIdList, String year); PayCompanyManagementTemporary getByAllTable(String companyId, String companyTemporaryId); + + PayCompanyManagementTemporary getById(String id); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/temporary/service/impl/PayCompanyManagementTemporaryServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/temporary/service/impl/PayCompanyManagementTemporaryServiceImpl.java index ff8cc2c6..9bf3dd62 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/temporary/service/impl/PayCompanyManagementTemporaryServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/temporary/service/impl/PayCompanyManagementTemporaryServiceImpl.java @@ -12,7 +12,6 @@ import com.jero.temporary.mapper.PayCompanyManagementTemporaryMapper; import com.jero.temporary.service.IPayCompanyManagementTemporaryService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Service; import java.util.ArrayList; @@ -60,8 +59,8 @@ public class PayCompanyManagementTemporaryServiceImpl extends ServiceImpl