update 年度数据锁定
This commit is contained in:
+3
@@ -23,4 +23,7 @@ public interface PayMemberProjectSubitemMapper extends BaseMapper<PayMemberProje
|
||||
List<PayMemberProjectSubitem> queryPageListCompany(@Param(Constants.WRAPPER) QueryWrapper<PayMemberProjectSubitem> queryWrapper);
|
||||
|
||||
IPage<PayMemberProjectSubitem> getPage(Page<PayMemberProjectSubitem> page, @Param(Constants.WRAPPER) QueryWrapper<PayMemberProjectSubitem> queryWrapper);
|
||||
|
||||
|
||||
List<PayMemberProjectSubitem> listByYear(@Param("year") String year);
|
||||
}
|
||||
|
||||
+2
@@ -61,4 +61,6 @@ public interface TbMemberProjectSubitemMapper extends BaseMapper<TbMemberProject
|
||||
IPage<TbMemberProjectSubitem> pageAllMemberName(Page<TbMemberProjectSubitem> page);
|
||||
|
||||
List<TbMemberProjectSubitem> getAllYearInfoByCompanyId(@Param("companyId") String companyId);
|
||||
|
||||
List<TbMemberProjectSubitem> listByYear(@Param("year") String year);
|
||||
}
|
||||
|
||||
+7
@@ -90,4 +90,11 @@
|
||||
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="listByYear" resultType="com.jero.member.entity.PayMemberProjectSubitem">
|
||||
select pmps.*
|
||||
from pay_member_project_subitem pmps
|
||||
left join pay_member_project pmp on pmps.project_id = pmp.id
|
||||
where pmp.particular_year = #{year}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
+7
@@ -169,4 +169,11 @@
|
||||
tmps.company_id = #{companyId}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="listByYear" resultType="com.jero.member.entity.TbMemberProjectSubitem">
|
||||
select tmps.*,tmp.year
|
||||
from tb_member_project_subitem tmps
|
||||
LEFT JOIN tb_member_project tmp on tmp.id = tmps.project_id
|
||||
where tmp.year = #{year}
|
||||
</select>
|
||||
</mapper>
|
||||
+16
-7
@@ -1,4 +1,7 @@
|
||||
package com.jero.project.mapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
@@ -13,14 +16,14 @@ import java.util.List;
|
||||
/**
|
||||
* @Description: pay_common_project
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2021-08-27
|
||||
* @Date: 2021-08-27
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface PayCommonProjectMapper extends BaseMapper<PayCommonProject> {
|
||||
/**
|
||||
* @Description 分页查询
|
||||
* @Author lqt
|
||||
* @Date 2021/8/27
|
||||
* @Author lqt
|
||||
* @Date 2021/8/27
|
||||
* @Param paymentDate 来款年份
|
||||
* @Return
|
||||
* @Exception
|
||||
@@ -31,16 +34,22 @@ public interface PayCommonProjectMapper extends BaseMapper<PayCommonProject> {
|
||||
|
||||
/**
|
||||
* @Description 收入合同-列表
|
||||
* @Author lqt
|
||||
* @Date 2021/10/18
|
||||
* @Param queryWrapper
|
||||
* @Author lqt
|
||||
* @Date 2021/10/18
|
||||
* @Param queryWrapper
|
||||
* @Param projectType 项目类型
|
||||
* @Param pack 打包状态
|
||||
* @Param packYear 打包年份
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
List<PayCommonProject> queryListByCompany(@Param(Constants.WRAPPER) QueryWrapper<PayCommonProject> queryWrapper,@Param("projectType") String projectType,@Param("pack") Integer pack,@Param("packYear") String packYear);
|
||||
List<PayCommonProject> queryListByCompany(@Param(Constants.WRAPPER) QueryWrapper<PayCommonProject> queryWrapper, @Param("projectType") String projectType, @Param("pack") Integer pack, @Param("packYear") String packYear);
|
||||
|
||||
default List<PayCommonProject> listByYear(String year) {
|
||||
LambdaQueryWrapper<PayCommonProject> myQuery = Wrappers.lambdaQuery(PayCommonProject.class);
|
||||
myQuery.eq(PayCommonProject::getYear, year);
|
||||
return selectList(myQuery);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
+2
@@ -64,4 +64,6 @@ public interface PayWorkingGroupSubItemMapper extends BaseMapper<PayWorkingGroup
|
||||
IPage<PayWorkingGroupSubItem> publishReminderList(Page<PayWorkingGroupSubItem> page, @Param("payWorkingGroupSubItem") PayWorkingGroupSubItem payWorkingGroupSubItem);
|
||||
|
||||
List<PayWorkingGroupSubItem> queryList(@Param(Constants.WRAPPER) QueryWrapper<PayWorkingGroupSubItem> queryPayWorkingGroupSubItem);
|
||||
|
||||
List<PayWorkingGroupSubItem> listByYear(@Param("year") String year);
|
||||
}
|
||||
|
||||
+6
@@ -389,4 +389,10 @@
|
||||
left join pay_working_group pwg ON pwgs.working_group_id = pwg.id
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="listByYear" resultType="com.jero.project.entity.PayWorkingGroupSubItem">
|
||||
select pwgs.* from pay_working_group_subitem pwgs
|
||||
left join pay_working_group pwg ON pwgs.working_group_id = pwg.id
|
||||
where pwg.year = #{year}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
+61
-8
@@ -12,12 +12,16 @@ import com.jero.meeting.entity.PayMeetingSituation;
|
||||
import com.jero.meeting.mapper.PayMeetingMapper;
|
||||
import com.jero.meeting.mapper.PayMeetingSituationMapper;
|
||||
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.ITbMemberProjectSubitemService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
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;
|
||||
@@ -27,6 +31,7 @@ import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
|
||||
import com.jero.temporary.service.IPayContactsManagementTemporaryService;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.cache.annotation.CacheEvict;
|
||||
import org.springframework.cache.annotation.Cacheable;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -69,8 +74,6 @@ public class AnnualDataLockingService extends ServiceImpl<AnnualDataLockingMappe
|
||||
@Resource
|
||||
private TbMemberProjectSubitemMapper tbMemberProjectSubitemMapper;
|
||||
@Resource
|
||||
private TbCertificatePaymentMapper certificatePaymentMapper;
|
||||
@Resource
|
||||
private ISysBaseAPI sysBaseAPI;
|
||||
@Resource
|
||||
private IPayMemberProjectService payMemberProjectService;
|
||||
@@ -90,13 +93,15 @@ public class AnnualDataLockingService extends ServiceImpl<AnnualDataLockingMappe
|
||||
String year = annualDataLocking.getYear();
|
||||
//第一步先获取所有企业和联系人
|
||||
List<PayMeetingSituation> meetingSituations = meetingSituationMapper.listByYear(year);
|
||||
List<String> meetingSituationsCompanyIdList = meetingSituations.stream().map(PayMeetingSituation::getCompanyId).distinct().collect(Collectors.toList());
|
||||
List<String> meetingSituationsContactIdList = meetingSituations.stream().map(PayMeetingSituation::getCompanyContactId).distinct().collect(Collectors.toList());
|
||||
List<String> meetingSituationsPostContactIdList = meetingSituations.stream().map(PayMeetingSituation::getPostContactId).distinct().collect(Collectors.toList());
|
||||
meetingSituationsContactIdList.addAll(meetingSituationsPostContactIdList);
|
||||
ArrayList<String> distinctContactIdList = CollectionUtil.distinct(meetingSituationsContactIdList);
|
||||
List<PayWorkingGroupSubItem> workingGroupSubItems = payWorkingGroupSubItemMapper.listByYear(year);
|
||||
List<PayCommonProject> payCommonProjects = payCommonProjectMapper.listByYear(year);
|
||||
List<PayMemberProjectSubitem> memberProjectSubitems = payMemberProjectSubitemMapper.listByYear(year);
|
||||
List<TbMemberProjectSubitem> tbMemberProjectSubitems = tbMemberProjectSubitemMapper.listByYear(year);
|
||||
//获得去重后的所有企业和联系人(联系人和邮寄联系人)
|
||||
ArrayList<String> distinctCompanyIdList = getDistinctCompanyIdList(meetingSituations, workingGroupSubItems, payCommonProjects, memberProjectSubitems, tbMemberProjectSubitems);
|
||||
ArrayList<String> distinctContactIdList = getDistinctContactIdList(meetingSituations, workingGroupSubItems, payCommonProjects, memberProjectSubitems, tbMemberProjectSubitems);
|
||||
//生成企业和联系人临时数据
|
||||
List<PayCompanyManagementTemporary> companyTemporaryList = companyTemporaryService.insertList(meetingSituationsCompanyIdList,year);
|
||||
List<PayCompanyManagementTemporary> companyTemporaryList = companyTemporaryService.insertList(distinctCompanyIdList,year);
|
||||
Map<String, PayCompanyManagementTemporary> companyTemporaryMap = CollStreamUtil.toIdentityMap(companyTemporaryList, PayCompanyManagementTemporary::getCompanyId);
|
||||
List<PayContactsManagementTemporary> contactsTemporaryList = contactsTemporaryService.insertList(distinctContactIdList,year);
|
||||
Map<String, PayContactsManagementTemporary> contactsTemporaryMap = CollStreamUtil.toIdentityMap(contactsTemporaryList, PayContactsManagementTemporary::getContactId);
|
||||
@@ -131,6 +136,54 @@ public class AnnualDataLockingService extends ServiceImpl<AnnualDataLockingMappe
|
||||
updateMeetingSituationList.add(update);
|
||||
}
|
||||
meetingSituationService.updateBatchById(updateMeetingSituationList);
|
||||
//工作组项目
|
||||
for (PayWorkingGroupSubItem workingGroupSubItem : workingGroupSubItems) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private ArrayList<String> getDistinctContactIdList(List<PayMeetingSituation> meetingSituations, List<PayWorkingGroupSubItem> workingGroupSubItems, List<PayCommonProject> payCommonProjects, List<PayMemberProjectSubitem> memberProjectSubitems, List<TbMemberProjectSubitem> tbMemberProjectSubitems) {
|
||||
//获得所有联系人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> 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());
|
||||
contactIdList1.addAll(contactIdList2);
|
||||
contactIdList1.addAll(contactIdList3);
|
||||
contactIdList1.addAll(contactIdList4);
|
||||
contactIdList1.addAll(contactIdList5);
|
||||
//获得所有邮寄联系人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());
|
||||
contactIdList1.addAll(postContactIdList1);
|
||||
contactIdList1.addAll(postContactIdList2);
|
||||
contactIdList1.addAll(postContactIdList3);
|
||||
contactIdList1.addAll(postContactIdList4);
|
||||
contactIdList1.addAll(postContactIdList5);
|
||||
//联系人和邮寄联系人合并后去重
|
||||
return CollectionUtil.distinct(contactIdList1);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private ArrayList<String> getDistinctCompanyIdList(List<PayMeetingSituation> meetingSituations, List<PayWorkingGroupSubItem> workingGroupSubItems, List<PayCommonProject> payCommonProjects, List<PayMemberProjectSubitem> memberProjectSubitems, List<TbMemberProjectSubitem> tbMemberProjectSubitems) {
|
||||
//获取所有企业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());
|
||||
companyIdList1.addAll(companyIdList2);
|
||||
companyIdList1.addAll(companyIdList3);
|
||||
companyIdList1.addAll(companyIdList4);
|
||||
companyIdList1.addAll(companyIdList5);
|
||||
//去重
|
||||
return CollectionUtil.distinct(companyIdList1);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user