update 打包合同关联的项目金额需要设置为0

update 把24年打包项目中,关联项目的待确收金额设置为0
This commit is contained in:
lijiarao
2024-04-19 10:43:00 +08:00
parent 4f0bc334c5
commit 42e1413104
4 changed files with 36 additions and 7 deletions
@@ -631,6 +631,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
projectOutput.setId(p.getId());
// 合同选择了打包
if(Objects.equals(payIncomeContract.getPack(), PackCommon.PACKAGING1)){
payPackCompanyProjectService.setAmountReceivableZero(p.getProjectId(),p.getProjectType()+"");
// 获取项目负责人,发送消息
if(StringUtils.isEmpty(principalId)){
return;
@@ -348,4 +348,13 @@ public class PayPackCompanyProjectController extends JeroController<PayPackCompa
return super.importExcel(request, response, PayPackCompanyProject.class);
}
/**
* 处理24年历史数据
*/
@PostMapping(value = "/updateHistory")
public Result<?> updateHistory() {
payPackCompanyProjectService.updateHistory();
return Result.OK();
}
}
@@ -41,6 +41,9 @@ public interface IPayPackCompanyProjectService extends IService<PayPackCompanyPr
* @Exception
*/
void addPayPackCompanyProject(PayPackCompanyProject payPackCompanyProject);
void setAmountReceivableZero(String projectId, String projectType);
/**
* @Description 取消打包
* @Author lqt
@@ -88,4 +91,6 @@ public interface IPayPackCompanyProjectService extends IService<PayPackCompanyPr
* @Exception
*/
List<PayProjectExcel> getExportXls(List<String> list,String companyId);
void updateHistory();
}
@@ -3,8 +3,6 @@ package com.jero.pack.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.api.vo.Result;
import com.jero.common.common.RoleCommon;
import com.jero.common.dto.SendMessageDTO;
import com.jero.common.enums.ManagementMessageEnums;
import com.jero.common.exception.JeroBootException;
@@ -33,8 +31,6 @@ import com.jero.pack.service.IPayPackCompanyProjectService;
import com.jero.pack.service.IPayPackCompanyService;
import com.jero.pack.vo.PayPackCompanyProjectInput;
import com.jero.pack.vo.PayProjectExcel;
import com.jero.payment.mapper.PayPaymentRecordMapper;
import com.jero.payment.service.IPayPaymentRecordService;
import com.jero.project.common.PayProjectCommon;
import com.jero.project.entity.PayCommonProject;
import com.jero.project.entity.PayWorkingGroupSubItem;
@@ -45,12 +41,12 @@ import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
/**
* @Description: pay_pack_company_project
@@ -192,14 +188,15 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
private void setAmountReceivableZero(List<PayPackCompanyProject> listPayPackCompanyProject) {
listPayPackCompanyProject.forEach(p -> {
setAmountReceivable(p.getProjectId(), String.valueOf(p.getProjectType()));
setAmountReceivableZero(p.getProjectId(), String.valueOf(p.getProjectType()));
});
}
/**
* 根据项目id和项目类型将具体项目的待确收金额改为0
*/
private void setAmountReceivable(String projectId, String projectType){
@Override
public void setAmountReceivableZero(String projectId, String projectType){
switch (projectType){
// 普通项目
case PayIncomeContractCommon.PROJECT_TYPE1:
@@ -378,4 +375,21 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
public List<PayProjectExcel> getExportXls(List<String> list,String companyId) {
return payPackCompanyProjectMapper.getExportXls(list,companyId);
}
@Override
public void updateHistory() {
LambdaQueryWrapper<PayPackCompany> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayPackCompany::getPackYear,"2024");
List<PayPackCompany> packCompanyList = payPackCompanyService.list(wrapper);
List<String> packCompanyIdList = packCompanyList.stream().map(PayPackCompany::getId).collect(Collectors.toList());
LambdaQueryWrapper<PayPackCompanyProject> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.in(PayPackCompanyProject::getPackId,packCompanyIdList);
List<PayPackCompanyProject> list = this.list(wrapper1);
for (PayPackCompanyProject project : list) {
setAmountReceivableZero(project.getProjectId(),project.getProjectType()+"");
}
}
}