update 年度数据锁定

This commit is contained in:
lijiarao
2024-07-27 17:14:05 +08:00
parent c7e9a9b231
commit bf9793bc4d
12 changed files with 389 additions and 35 deletions
+8
View File
@@ -219,3 +219,11 @@ alter table pay_company_management_temporary
add year varchar(4) null comment '数据锁定年份';
alter table pay_contacts_management_temporary
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;
@@ -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,
@@ -274,15 +274,14 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
queryPayWorkingGroupSubItemContacts.orderByAsc(PayWorkingGroupSubItemContacts::getOrderNum);
List<PayWorkingGroupSubItemContacts> listPayWorkingGroupSubItemContacts = payWorkingGroupSubItemContactsService.list(queryPayWorkingGroupSubItemContacts);
if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItemContacts)){
List<String> listIds = listPayWorkingGroupSubItemContacts.stream().map(PayWorkingGroupSubItemContacts::getContactsTemporaryId).collect(Collectors.toList());
List<PayContactsManagementTemporary> payContactsManagementTemporaryList = payContactsManagementTemporaryService.listByIds(listIds);
if(!CollectionUtils.isEmpty(payContactsManagementTemporaryList)){
//List<String> listIds = listPayWorkingGroupSubItemContacts.stream().map(PayWorkingGroupSubItemContacts::getContactsTemporaryId).collect(Collectors.toList());
//List<PayContactsManagementTemporary> payContactsManagementTemporaryList = payContactsManagementTemporaryService.listByIds(listIds);
if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItemContacts)){
listPayWorkingGroupSubItemContacts.forEach(p->{
List<PayContactsManagementTemporary> 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())));
@@ -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 = "邮箱")
@@ -56,4 +56,6 @@ public interface PayPackCompanyMapper extends BaseMapper<PayPackCompany> {
String getConfirmAmountMoney(@Param("payPackCompany") PayPackCompany payPackCompany);
String getComeAllMoney(@Param("payPackCompany") PayPackCompany payPackCompany);
List<PayPackCompany> listByYear(@Param("year") String year);
}
@@ -109,5 +109,8 @@
</where>
</select>
<select id="listByYear" resultType="com.jero.pack.entity.PayPackCompany">
select * from pay_pack_company
where pack_year = #{year}
</select>
</mapper>
@@ -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;
@@ -16,9 +22,15 @@ public interface PayWorkingGroupSubItemContactsMapper extends BaseMapper<PayWork
/**
* 根据成员id获得主联系人
*/
String getMasterContactsId(@Param("workingGroupSubId")String workingGroupSubId);
String getMasterContactsId(@Param("workingGroupSubId") String workingGroupSubId);
List<PayWorkingGroupSubItemContacts> getSubItemContacts(@Param("workingGroupSubId")String workingGroupSubId);
List<PayWorkingGroupSubItemContacts> getSubItemContacts(@Param("workingGroupSubId") String workingGroupSubId);
default List<PayWorkingGroupSubItemContacts> listByWorkingGroupSubIdIn(Collection<String> workingGroupSubIdCollection) {
LambdaQueryWrapper<PayWorkingGroupSubItemContacts> myQuery = Wrappers.lambdaQuery(PayWorkingGroupSubItemContacts.class);
myQuery.in(PayWorkingGroupSubItemContacts::getWorkingGroupSubId, workingGroupSubIdCollection);
return selectList(myQuery);
}
}
@@ -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<AnnualDataLockingMappe
@Resource
private PayCommonProjectMapper payCommonProjectMapper;
@Resource
private PayWorkingGroupSubItemMapper payWorkingGroupSubItemMapper;
private IPayWorkingGroupSubItemService workingGroupSubItemService;
@Resource
private IPayWorkingGroupSubItemContactsService workingGroupSubItemContactsService;
@Resource
private PayWorkingGroupMapper payWorkingGroupMapper;
@Resource
private PayWorkingGroupSubItemMapper payWorkingGroupSubItemMapper;
@Resource
private PayWorkingGroupSubItemContactsMapper workingGroupSubItemContactsMapper;
@Resource
private PayMeetingSituationMapper meetingSituationMapper;
@Resource
@@ -76,14 +83,22 @@ public class AnnualDataLockingService extends ServiceImpl<AnnualDataLockingMappe
@Resource
private ISysBaseAPI sysBaseAPI;
@Resource
private IPayCommonProjectService commonProjectService;
@Resource
private IPayMemberProjectService payMemberProjectService;
@Resource
private IPayMemberProjectSubitemService memberProjectSubitemService;
@Resource
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
@Resource
private PayMeetingMapper meetingMapper;
@Resource
private IPayMeetingSituationService meetingSituationService;
@Resource
private IPayPackCompanyService packCompanyService;
@Resource
private PayPackCompanyMapper packCompanyMapper;
@Resource
private IPayCompanyManagementTemporaryService companyTemporaryService;
@Resource
private IPayContactsManagementTemporaryService contactsTemporaryService;
@@ -94,12 +109,15 @@ public class AnnualDataLockingService extends ServiceImpl<AnnualDataLockingMappe
//第一步先获取所有企业和联系人
List<PayMeetingSituation> meetingSituations = meetingSituationMapper.listByYear(year);
List<PayWorkingGroupSubItem> workingGroupSubItems = payWorkingGroupSubItemMapper.listByYear(year);
List<String> workingGroupSubIdList = workingGroupSubItems.stream().map(PayWorkingGroupSubItem::getId).distinct().collect(Collectors.toList());
List<PayWorkingGroupSubItemContacts> workingGroupSubItemContacts = workingGroupSubItemContactsMapper.listByWorkingGroupSubIdIn(workingGroupSubIdList);
List<PayCommonProject> payCommonProjects = payCommonProjectMapper.listByYear(year);
List<PayMemberProjectSubitem> memberProjectSubitems = payMemberProjectSubitemMapper.listByYear(year);
List<TbMemberProjectSubitem> tbMemberProjectSubitems = tbMemberProjectSubitemMapper.listByYear(year);
List<PayPackCompany> packCompanyList = packCompanyMapper.listByYear(year);
//获得去重后的所有企业和联系人(联系人和邮寄联系人)
ArrayList<String> distinctCompanyIdList = getDistinctCompanyIdList(meetingSituations, workingGroupSubItems, payCommonProjects, memberProjectSubitems, tbMemberProjectSubitems);
ArrayList<String> distinctContactIdList = getDistinctContactIdList(meetingSituations, workingGroupSubItems, payCommonProjects, memberProjectSubitems, tbMemberProjectSubitems);
ArrayList<String> distinctCompanyIdList = getDistinctCompanyIdList(meetingSituations, workingGroupSubItems, payCommonProjects, memberProjectSubitems, tbMemberProjectSubitems,packCompanyList);
ArrayList<String> distinctContactIdList = getDistinctContactIdList(meetingSituations, workingGroupSubItems, workingGroupSubItemContacts, payCommonProjects, memberProjectSubitems, tbMemberProjectSubitems,packCompanyList);
//生成企业和联系人临时数据
List<PayCompanyManagementTemporary> companyTemporaryList = companyTemporaryService.insertList(distinctCompanyIdList,year);
Map<String, PayCompanyManagementTemporary> companyTemporaryMap = CollStreamUtil.toIdentityMap(companyTemporaryList, PayCompanyManagementTemporary::getCompanyId);
@@ -136,52 +154,221 @@ public class AnnualDataLockingService extends ServiceImpl<AnnualDataLockingMappe
updateMeetingSituationList.add(update);
}
meetingSituationService.updateBatchById(updateMeetingSituationList);
//工作组项目
for (PayWorkingGroupSubItem workingGroupSubItem : workingGroupSubItems) {
//工作组项目
List<PayWorkingGroupSubItem> 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<PayWorkingGroupSubItemContacts> 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<PayCommonProject> 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<PayMemberProjectSubitem> 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<TbMemberProjectSubitem> 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<PayPackCompany> 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<String> getDistinctContactIdList(List<PayMeetingSituation> meetingSituations, List<PayWorkingGroupSubItem> workingGroupSubItems, List<PayCommonProject> payCommonProjects, List<PayMemberProjectSubitem> memberProjectSubitems, List<TbMemberProjectSubitem> tbMemberProjectSubitems) {
private ArrayList<String> getDistinctContactIdList(List<PayMeetingSituation> meetingSituations, List<PayWorkingGroupSubItem> workingGroupSubItems, List<PayWorkingGroupSubItemContacts> workingGroupSubItemContacts, List<PayCommonProject> payCommonProjects, List<PayMemberProjectSubitem> memberProjectSubitems, List<TbMemberProjectSubitem> tbMemberProjectSubitems, List<PayPackCompany> packCompanys) {
//获得所有联系人id
List<String> contactIdList1 = meetingSituations.stream().map(PayMeetingSituation::getCompanyContactId).distinct().collect(Collectors.toList());
List<String> contactIdList2 = workingGroupSubItems.stream().map(PayWorkingGroupSubItem::getContactsIdOne).distinct().collect(Collectors.toList());
List<String> contactIdList2 = workingGroupSubItemContacts.stream().map(PayWorkingGroupSubItemContacts::getContactsId).distinct().collect(Collectors.toList());
List<String> contactIdList3 = payCommonProjects.stream().map(PayCommonProject::getContactsId).distinct().collect(Collectors.toList());
List<String> contactIdList4 = memberProjectSubitems.stream().map(PayMemberProjectSubitem::getCompanyContactId).distinct().collect(Collectors.toList());
List<String> contactIdList5 = tbMemberProjectSubitems.stream().map(TbMemberProjectSubitem::getLiaisonManId).distinct().collect(Collectors.toList());
List<String> 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<String> postContactIdList1 = meetingSituations.stream().map(PayMeetingSituation::getPostContactId).distinct().collect(Collectors.toList());
List<String> postContactIdList2 = workingGroupSubItems.stream().map(PayWorkingGroupSubItem::getMailContactsId).distinct().collect(Collectors.toList());
List<String> postContactIdList3 = payCommonProjects.stream().map(PayCommonProject::getMailContactsId).distinct().collect(Collectors.toList());
List<String> postContactIdList4 = memberProjectSubitems.stream().map(PayMemberProjectSubitem::getPostContactId).distinct().collect(Collectors.toList());
List<String> postContactIdList5 = tbMemberProjectSubitems.stream().map(TbMemberProjectSubitem::getPostContactId).distinct().collect(Collectors.toList());
List<String> 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<String> getDistinctCompanyIdList(List<PayMeetingSituation> meetingSituations, List<PayWorkingGroupSubItem> workingGroupSubItems, List<PayCommonProject> payCommonProjects, List<PayMemberProjectSubitem> memberProjectSubitems, List<TbMemberProjectSubitem> tbMemberProjectSubitems) {
private ArrayList<String> getDistinctCompanyIdList(List<PayMeetingSituation> meetingSituations, List<PayWorkingGroupSubItem> workingGroupSubItems, List<PayCommonProject> payCommonProjects, List<PayMemberProjectSubitem> memberProjectSubitems, List<TbMemberProjectSubitem> tbMemberProjectSubitems, List<PayPackCompany> packCompanys) {
//获取所有企业id
List<String> companyIdList1 = meetingSituations.stream().map(PayMeetingSituation::getCompanyId).distinct().collect(Collectors.toList());
List<String> companyIdList2 = workingGroupSubItems.stream().map(PayWorkingGroupSubItem::getChargeCompanyId).distinct().collect(Collectors.toList());
List<String> companyIdList3 = payCommonProjects.stream().map(PayCommonProject::getChargeCompanyId).distinct().collect(Collectors.toList());
List<String> companyIdList4 = memberProjectSubitems.stream().map(PayMemberProjectSubitem::getCompanyId).distinct().collect(Collectors.toList());
List<String> companyIdList5 = tbMemberProjectSubitems.stream().map(TbMemberProjectSubitem::getCompanyId).distinct().collect(Collectors.toList());
List<String> 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<AnnualDataLockingMappe
this.updateById(annualDataLocking);
}
@CacheEvict(value="annualDataLocking", allEntries=true)
public void deleteById(String id) {
AnnualDataLocking annualDataLocking = this.getById(id);
this.removeById(id);
String year = annualDataLocking.getYear();
//会议项目
List<PayMeetingSituation> updateMeetingSituationList = new ArrayList<>();
List<PayMeetingSituation> meetingSituations = meetingSituationMapper.listByYear(year);
for (PayMeetingSituation meetingSituation : meetingSituations) {
String companyId = meetingSituation.getCompanyId();
@@ -223,11 +412,119 @@ public class AnnualDataLockingService extends ServiceImpl<AnnualDataLockingMappe
String postContactId = meetingSituation.getPostContactId();
//更新临时表id
PayMeetingSituation update = new PayMeetingSituation();
update.setId(meetingSituation.getId());
update.setCompanyTemporaryId(companyId);
update.setCompanyContactTemporaryId(companyContactId);
update.setPostContactTemporaryId(postContactId);
meetingSituationMapper.updateById(update);
updateMeetingSituationList.add(update);
}
meetingSituationService.updateBatchById(updateMeetingSituationList);
//工作组项目
List<PayWorkingGroupSubItem> updateWorkingGroupSubItemList = new ArrayList<>();
List<PayWorkingGroupSubItem> 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<PayWorkingGroupSubItemContacts> updateWorkingGroupSubItemContacts = new ArrayList<>();
List<String> workingGroupSubIdList = workingGroupSubItems.stream().map(PayWorkingGroupSubItem::getId).distinct().collect(Collectors.toList());
List<PayWorkingGroupSubItemContacts> 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<PayCommonProject> updatePayCommonProjects = new ArrayList<>();
List<PayCommonProject> 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<PayMemberProjectSubitem> updateMemberProjectSubitems = new ArrayList<>();
List<PayMemberProjectSubitem> 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<TbMemberProjectSubitem> updateTbMemberProjectSubitems = new ArrayList<>();
List<TbMemberProjectSubitem> 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<PayPackCompany> updatePackCompanyList = new ArrayList<>();
List<PayPackCompany> 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<String> idList) {
@@ -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<PayCompa
List<PayCompanyManagementTemporary> insertList(List<String> companyIdList, String year);
PayCompanyManagementTemporary getByAllTable(String companyId, String companyTemporaryId);
PayCompanyManagementTemporary getById(String id);
}
@@ -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<PayCom
payCompanyManagementTemporary.setCreateTime(null);
payCompanyManagementTemporary.setUpdateBy(null);
payCompanyManagementTemporary.setUpdateTime(null);
payCompanyManagementTemporary.setId(null);
payCompanyManagementTemporaryService.save(payCompanyManagementTemporary);
//payCompanyManagementTemporary.setId(null);
//payCompanyManagementTemporaryService.save(payCompanyManagementTemporary);
return payCompanyManagementTemporary;
}
@@ -105,4 +104,21 @@ public class PayCompanyManagementTemporaryServiceImpl extends ServiceImpl<PayCom
}
return temporary;
}
@Override
public PayCompanyManagementTemporary getById(String id) {
PayCompanyManagementTemporary temporary;
temporary = baseMapper.selectById(id);
if (temporary == null){
PayCompanyManagement payCompanyManagement = payCompanyManagementService.getById(id);
if(Objects.equals(payCompanyManagement.getStatus(), PayCompanyManagementTemporaryCommon.STATUS2)){
payCompanyManagement.setCompanyName(payCompanyManagement.getCompanyName() + PayCompanyManagementTemporaryCommon.CHECK);
}
String str = JSONObject.toJSONString(payCompanyManagement);
temporary = JSON.parseObject(str, PayCompanyManagementTemporary.class);
}
return temporary;
}
}
@@ -53,12 +53,12 @@ public class PayContactsManagementTemporaryServiceImpl extends ServiceImpl<PayCo
}
PayContactsManagementTemporary payContactsManagementTemporary = JSON.parseObject(str,PayContactsManagementTemporary.class);
payContactsManagementTemporary.setContactId(payContactsManagementTemporary.getId());
payContactsManagementTemporary.setId(null);
//payContactsManagementTemporary.setId(null);
payContactsManagementTemporary.setCreateBy(null);
payContactsManagementTemporary.setCreateTime(null);
payContactsManagementTemporary.setUpdateBy(null);
payContactsManagementTemporary.setUpdateTime(null);
payContactsManagementTemporaryService.save(payContactsManagementTemporary);
//payContactsManagementTemporaryService.save(payContactsManagementTemporary);
return payContactsManagementTemporary;
}
@@ -141,7 +141,7 @@ spring:
# username: root
# password: hzwlsoft.com
# driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:p6spy:mysql://lijiarao.cn:3306/income_payments_prod?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
url: jdbc:p6spy:mysql://lijiarao.cn:3306/income_payments_prod?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true
username: root
password: 704670af746903fa
driver-class-name: com.p6spy.engine.spy.P6SpyDriver