feat: 打包后对应项目的待确收金额变为0
This commit is contained in:
+85
-13
@@ -15,6 +15,14 @@ import com.jero.common.service.SendMessageService;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.PasswordUtil;
|
||||
import com.jero.contract.common.PayIncomeContractCommon;
|
||||
import com.jero.meeting.entity.PayMeetingSituation;
|
||||
import com.jero.meeting.mapper.PayMeetingSituationMapper;
|
||||
import com.jero.member.entity.PayMemberProjectSubitem;
|
||||
import com.jero.member.entity.TbCertificatePayment;
|
||||
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.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.pack.common.PackCommon;
|
||||
@@ -25,8 +33,13 @@ 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;
|
||||
import com.jero.project.mapper.PayCommonProjectMapper;
|
||||
import com.jero.project.mapper.PayWorkingGroupSubItemMapper;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
@@ -36,6 +49,7 @@ import org.springframework.transaction.annotation.Isolation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
@@ -63,6 +77,18 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
|
||||
private SendMessageService sendMessageService;
|
||||
@Resource
|
||||
private ProjectDetailService projectDetailService;
|
||||
@Resource
|
||||
private PayCommonProjectMapper payCommonProjectMapper;
|
||||
@Resource
|
||||
private PayWorkingGroupSubItemMapper payWorkingGroupSubItemMapper;
|
||||
@Resource
|
||||
private PayMeetingSituationMapper payMeetingSituationMapper;
|
||||
@Resource
|
||||
private PayMemberProjectSubitemMapper payMemberProjectSubitemMapper;
|
||||
@Resource
|
||||
private TbMemberProjectSubitemMapper tbMemberProjectSubitemMapper;
|
||||
@Resource
|
||||
private TbCertificatePaymentMapper certificatePaymentMapper;
|
||||
|
||||
|
||||
@Override
|
||||
@@ -116,8 +142,6 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
|
||||
LambdaQueryWrapper<PayPackCompanyProject> query = new LambdaQueryWrapper<>();
|
||||
query.in(PayPackCompanyProject::getProjectId, Arrays.asList(payPackCompanyProject.getProjectIds()));
|
||||
List<PayPackCompanyProject> listPayPackCompanyProjectNew = payPackCompanyProjectService.list(query);
|
||||
// TODO 将对应的project的待确收金额设为0
|
||||
|
||||
if(!CollectionUtils.isEmpty(listPayPackCompanyProjectNew)){
|
||||
throw new JeroBootException("项目已被打包!");
|
||||
}
|
||||
@@ -127,6 +151,8 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
|
||||
projectPackService.updateProjectStatus(p.getProjectId(),String.valueOf(p.getProjectType()),String.valueOf(PackCommon.PACKAGING1),payPackCompanyProject.getPackId());
|
||||
});
|
||||
payPackCompanyProjectService.saveBatch(listPayPackCompanyProject);
|
||||
// 将对应的project的待确收金额设为0
|
||||
setAmountReceivableZero(listPayPackCompanyProject);
|
||||
}
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
// 获取项目负责人,发送消息
|
||||
@@ -164,28 +190,74 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
|
||||
}
|
||||
}
|
||||
|
||||
private void setAmountReceivableZero(List<PayPackCompanyProject> listPayPackCompanyProject) {
|
||||
listPayPackCompanyProject.forEach(p -> {
|
||||
setAmountReceivable(p.getProjectId(), String.valueOf(p.getProjectType()));
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据项目id和项目类型将具体项目的待确收金额改为0
|
||||
*/
|
||||
private void setAmountReceivable(String projectId, String projectType){
|
||||
switch (projectType){
|
||||
case PayProjectCommon.PROJECT_TYPE1:
|
||||
|
||||
// 普通项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE1:
|
||||
PayCommonProject payCommonProject = payCommonProjectMapper.selectById(projectId);
|
||||
if (payCommonProject == null) {
|
||||
throw new JeroBootException("项目不存在");
|
||||
}
|
||||
payCommonProject.setReceivableAmount(new BigDecimal(0));
|
||||
payCommonProjectMapper.updateById(payCommonProject);
|
||||
break;
|
||||
case PayProjectCommon.PROJECT_TYPE2:
|
||||
|
||||
// 工作组项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE2:
|
||||
PayWorkingGroupSubItem payWorking = payWorkingGroupSubItemMapper.selectById(projectId);
|
||||
if (payWorking == null) {
|
||||
throw new JeroBootException("项目不存在");
|
||||
}
|
||||
payWorking.setReceivableAmount(new BigDecimal(0));
|
||||
payWorkingGroupSubItemMapper.updateById(payWorking);
|
||||
break;
|
||||
case PayProjectCommon.PROJECT_TYPE3:
|
||||
|
||||
//会议项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE3:
|
||||
PayMeetingSituation meeting = payMeetingSituationMapper.selectById(projectId);
|
||||
if (meeting == null) {
|
||||
throw new JeroBootException("项目不存在");
|
||||
}
|
||||
meeting.setAmountReceivable(new BigDecimal(0));
|
||||
payMeetingSituationMapper.updateById(meeting);
|
||||
break;
|
||||
case PayProjectCommon.PROJECT_TYPE4:
|
||||
|
||||
//会员项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE4:
|
||||
PayMemberProjectSubitem member = payMemberProjectSubitemMapper.selectById(projectId);
|
||||
if (member == null) {
|
||||
throw new JeroBootException("项目不存在");
|
||||
}
|
||||
member.setAmountReceivable(new BigDecimal(0));
|
||||
payMemberProjectSubitemMapper.updateById(member);
|
||||
break;
|
||||
case PayProjectCommon.PROJECT_TYPE5:
|
||||
|
||||
//标协会员
|
||||
case PayIncomeContractCommon.PROJECT_TYPE5:
|
||||
TbMemberProjectSubitem tbMember = tbMemberProjectSubitemMapper.selectById(projectId);
|
||||
if (tbMember == null) {
|
||||
throw new JeroBootException("项目不存在");
|
||||
}
|
||||
tbMember.setAmountReceivable(new BigDecimal(0));
|
||||
tbMemberProjectSubitemMapper.updateById(tbMember);
|
||||
break;
|
||||
//标协证书
|
||||
case PayIncomeContractCommon.PROJECT_TYPE6:
|
||||
TbCertificatePayment tbMemberCertificate = certificatePaymentMapper.selectById(projectId);
|
||||
if (tbMemberCertificate == null) {
|
||||
throw new JeroBootException("项目不存在");
|
||||
}
|
||||
// 获取待确收金额
|
||||
tbMemberCertificate.setAmountReceivable(new BigDecimal(0));
|
||||
certificatePaymentMapper.updateById(tbMemberCertificate);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
throw new JeroBootException("项目类型错误");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user