fix 87782 资料网员--会员项目--封锁后会员单位部分信息还是更新了

This commit is contained in:
lijiarao
2024-07-31 16:36:16 +08:00
parent d350140fd6
commit 9f019b3c43
6 changed files with 70 additions and 67 deletions
@@ -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<PayCompanyManag
private SendMessageService sendMessageService;
@Resource
private Environment env;
@Resource
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
@Resource
private TbMemberProjectSubitemMapper tbMemberProjectSubitemMapper;
@Resource
private AnnualDataLockingService annualDataLockingService;
@Override
public void addMeeting(PayCompanyManagement payCompanyManagement) {
@@ -748,107 +758,72 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl<PayCompanyManag
updatePayContactsManagement.eq(PayContactsManagement::getCompanyId,payCompanyManagement.getId());
updatePayContactsManagement.set(PayContactsManagement::getCompanyName,payCompanyManagement.getCompanyName());
payContactsManagementService.update(updatePayContactsManagement);
int thisYear = DateUtil.thisYear();
List<String> allYear = annualDataLockingService.getAllYear();
//需要更新的临时企业id
List<String> companyTemporaryIdList = new ArrayList<>();
// 更新普通项目
LambdaQueryWrapper<PayCommonProject> 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<PayCommonProject> list = payCommonProjectService.list(quaryPayCommonProject);
List<String> collect = list.stream().map(PayCommonProject::getChargeCompanyTemporaryId).collect(Collectors.toList());
List<String> idList = list.stream().map(PayCommonProject::getId).collect(Collectors.toList());
companyTemporaryIdList.addAll(collect);
if (!collect.isEmpty()){
if (!idList.isEmpty()){
LambdaUpdateWrapper<PayCommonProject> updatePayCommonProject = new LambdaUpdateWrapper<>();
updatePayCommonProject.in(PayCommonProject::getChargeCompanyTemporaryId,collect);
updatePayCommonProject.in(PayCommonProject::getId,idList);
updatePayCommonProject.set(PayCommonProject::getChargeCompanyTemporaryName,payCompanyManagement.getCompanyName());
payCommonProjectService.update(updatePayCommonProject);
}
// 更新工作组
QueryWrapper<PayWorkingGroupSubItem> 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<PayWorkingGroupSubItem> workingGroupSubItemList = payWorkingGroupSubItemService.queryList(queryPayWorkingGroupSubItem);
List<String> collect1 = workingGroupSubItemList.stream().map(PayWorkingGroupSubItem::getChargeCompanyTemporaryId).collect(Collectors.toList());
List<String> idList1 = workingGroupSubItemList.stream().map(PayWorkingGroupSubItem::getId).collect(Collectors.toList());
companyTemporaryIdList.addAll(collect1);
if (!collect1.isEmpty()){
if (!idList1.isEmpty()){
LambdaUpdateWrapper<PayWorkingGroupSubItem> updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>();
updatePayWorkingGroupSubItem.in(PayWorkingGroupSubItem::getChargeCompanyId,collect1);
updatePayWorkingGroupSubItem.in(PayWorkingGroupSubItem::getId,idList1);
updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getChargeCompanyTemporaryName,payCompanyManagement.getCompanyName());
payWorkingGroupSubItemService.update(updatePayWorkingGroupSubItem);
}
// 更新会员
QueryWrapper<PayMemberProjectSubitem> 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<PayMemberProjectSubitem> payMemberProjectSubitems = memberProjectSubitemService.queryPageListCompany(queryPayMemberProjectSubitem);
List<String> collect2 = payMemberProjectSubitems.stream().map(PayMemberProjectSubitem::getCompanyTemporaryId).collect(Collectors.toList());
List<String> idList2 = payMemberProjectSubitems.stream().map(PayMemberProjectSubitem::getId).collect(Collectors.toList());
companyTemporaryIdList.addAll(collect2);
if (!collect2.isEmpty()){
if (!idList2.isEmpty()){
LambdaUpdateWrapper<PayMemberProjectSubitem> updatePayMemberProjectSubitem = new LambdaUpdateWrapper<>();
updatePayMemberProjectSubitem.in(PayMemberProjectSubitem::getCompanyId,payCompanyManagement.getId());
updatePayMemberProjectSubitem.in(PayMemberProjectSubitem::getId,idList2);
updatePayMemberProjectSubitem.set(PayMemberProjectSubitem::getCompanyName,payCompanyManagement.getCompanyName());
memberProjectSubitemService.update(updatePayMemberProjectSubitem);
}
// 更新标协会员
QueryWrapper<TbMemberProjectSubitem> queryTbMemberProjectSubitem = new QueryWrapper<>();
queryTbMemberProjectSubitem.notIn("tmp.year",allYear);
queryTbMemberProjectSubitem.lambda().eq(TbMemberProjectSubitem::getCompanyId,payCompanyManagement.getId());
List<TbMemberProjectSubitem> tbMemberProjectSubitems = tbMemberProjectSubitemMapper.queryListCompanyYear(queryTbMemberProjectSubitem);
List<String> collect3 = tbMemberProjectSubitems.stream().map(TbMemberProjectSubitem::getCompanyTemporaryId).collect(Collectors.toList());
List<String> idList3 = tbMemberProjectSubitems.stream().map(TbMemberProjectSubitem::getId).collect(Collectors.toList());
companyTemporaryIdList.addAll(collect3);
if (!idList3.isEmpty()){
LambdaUpdateWrapper<TbMemberProjectSubitem> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.in(TbMemberProjectSubitem::getId,idList3);
updateWrapper.set(TbMemberProjectSubitem::getCompanyName,payCompanyManagement.getCompanyName());
tbMemberProjectSubitemService.update(updateWrapper);
}
// 更新临时数据
if (!companyTemporaryIdList.isEmpty()) {
LambdaUpdateWrapper<PayCompanyManagementTemporary> updatePayCompanyManagementTemporary = new LambdaUpdateWrapper<>();
@@ -63,4 +63,6 @@ public interface TbMemberProjectSubitemMapper extends BaseMapper<TbMemberProject
List<TbMemberProjectSubitem> getAllYearInfoByCompanyId(@Param("companyId") String companyId);
List<TbMemberProjectSubitem> listByYear(@Param("year") String year);
List<TbMemberProjectSubitem> queryListCompanyYear(@Param(Constants.WRAPPER) QueryWrapper<TbMemberProjectSubitem> queryTbMemberProjectSubitem);
}
@@ -204,4 +204,11 @@
LEFT JOIN tb_member_project tmp on tmp.id = tmps.project_id
where tmp.year = #{year}
</select>
<select id="queryListCompanyYear" resultMap="TbMemberProjectSubitemResultMap">
select tmps.*
from tb_member_project_subitem tmps
LEFT JOIN tb_member_project tmp on tmp.id = tmps.project_id
${ew.customSqlSegment}
</select>
</mapper>
@@ -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> {
AnnualDataLocking countByYear(@Param("year")String year);
List<String> getYear();
}
@@ -26,4 +26,10 @@
</if>
</where>
</select>
<!--auto generated by MybatisCodeHelper on 2024-07-31-->
<select id="getYear" resultType="java.lang.String">
select `year`
from pay_annual_data_locking
</select>
</mapper>
@@ -386,6 +386,14 @@ public class AnnualDataLockingService extends ServiceImpl<AnnualDataLockingMappe
return CollectionUtil.distinct(companyIdList1);
}
/**
* 查询所有锁定年份
* @return
*/
public List<String> getAllYear(){
return baseMapper.getYear();
}
/**
* 查询年份是否存在
*/