添加邮寄信息

This commit is contained in:
baozhipeng
2021-09-22 18:06:50 +08:00
parent af183ecac0
commit e83e9b3f56
@@ -5,6 +5,7 @@ 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.ProjectCommon;
import com.jero.common.exception.JeroBootException;
import com.jero.common.util.AuthenticationUtils;
import com.jero.common.util.PasswordUtil;
@@ -19,17 +20,23 @@ import com.jero.mail.mapper.PayMailBillMapper;
import com.jero.mail.mapper.PayMailBillProjectMapper;
import com.jero.mail.service.IPayMailBillProjectService;
import com.jero.mail.service.IPayMailBillService;
import com.jero.meeting.entity.PayMeeting;
import com.jero.meeting.entity.PayMeetingSituation;
import com.jero.meeting.mapper.PayMeetingMapper;
import com.jero.meeting.mapper.PayMeetingSituationMapper;
import com.jero.member.entity.PayMemberProject;
import com.jero.member.entity.PayMemberProjectSubitem;
import com.jero.member.entity.TbMemberProject;
import com.jero.member.entity.TbMemberProjectSubitem;
import com.jero.member.mapper.PayMemberProjectMapper;
import com.jero.member.mapper.PayMemberProjectSubitemMapper;
import com.jero.member.mapper.TbMemberProjectMapper;
import com.jero.member.mapper.TbMemberProjectSubitemMapper;
import com.jero.project.entity.PayCommonProject;
import com.jero.project.entity.PayWorkingGroup;
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 org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@@ -60,10 +67,16 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
@Resource
private PayWorkingGroupSubItemMapper payWorkingGroupSubItemMapper;
@Resource
private PayWorkingGroupMapper payWorkingGroupMapper;
@Resource
private PayMeetingSituationMapper payMeetingSituationMapper;
@Resource
private PayMeetingMapper payMeetingMapper;
@Resource
private PayMemberProjectSubitemMapper payMemberProjectSubitemMapper;
@Resource
private PayMemberProjectMapper payMemberProjectMapper;
@Resource
private TbMemberProjectSubitemMapper tbMemberProjectSubitemMapper;
@Resource
private TbMemberProjectMapper tbMemberProjectMapper;
@@ -122,14 +135,13 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
}
}
for(int i=0; i<bmpList.size();i++){
bmpList.get(i).setBillId(payMailBill.getId());
//更新项目表开票状态,逗号拼接邮寄信息
getMakeInvoice(bmpList.get(i),payMailBill,i,bmpList.size());
}
//新增票据邮寄表
payMailBillInsert(payMailBill);
for(PayMailBillProject bmp : bmpList){
bmp.setBillId(payMailBill.getId());
//更新项目表开票状态
getMakeInvoice(bmp);
}
//批量插入票据关联项目表
payMailBillProjectService.saveBatch(bmpList);
@@ -339,20 +351,22 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
PayContactsManagement contact= payContactsManagementMapper.selectById(payMailBill.getContactId());
payMailBill.setContactName(contact.getName());
payMailBill.setContactMobile(contact.getPhone());
payMailBill.setPostStatus(ProjectCommon.POST_STATUS0);
//邮政编码是空代表单个开票,联系人信息需要自己查
if(StringUtils.isBlank(payMailBill.getPostalCode())){
payMailBill.setPostalCode(contact.getPostalCode());
payMailBill.setContactAddress(contact.getContactAddress());
}
payMailBillService.save(payMailBill);
}
/**
* 更新项目表开票状态
* 更新项目表开票状态,逗号拼接邮寄信息
* @return
*/
private void getMakeInvoice(PayMailBillProject payMailBillProject) {
private void getMakeInvoice(PayMailBillProject payMailBillProject,PayMailBillVO payMailBill,int i,int size) {
int makeInvoice=4;
BigDecimal amountReceivable=new BigDecimal("0");//应收金额
Integer needInvoice = 0;//是否需要发票
@@ -374,6 +388,18 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
}
//之前开票总额+本次开票金额
invoiceAmount = oldInvoiceAmount.add(invoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
//逗号拼接邮寄信息
if(i==size-1){
payMailBill.setProjectName(payCommonProject.getChargeProject());
payMailBill.setChargeCompanyName(payCommonProject.getChargeCompanyTemporaryName());
payMailBill.setPrincipalName(payCommonProject.getPrincipalName());
payMailBill.setPrincipalId(payCommonProject.getPrincipalId());
}else{
payMailBill.setProjectName(payCommonProject.getChargeProject()+",");
payMailBill.setChargeCompanyName(payCommonProject.getChargeCompanyTemporaryName()+",");
payMailBill.setPrincipalName(payCommonProject.getPrincipalName()+",");
payMailBill.setPrincipalId(payCommonProject.getPrincipalId()+",");
}
break;
// 工作组项目
case PayIncomeContractCommon.PROJECT_TYPE2:
@@ -386,6 +412,21 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
}
//之前开票总额+本次开票金额
invoiceAmount = oldInvoiceAmount.add(invoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
//查父表
PayWorkingGroup payWorkingGroup = payWorkingGroupMapper.selectById(workingGroup.getWorkingGroupId());
//逗号拼接邮寄信息
if(i==size-1){
payMailBill.setProjectName(workingGroup.getChargeProject());
payMailBill.setChargeCompanyName(workingGroup.getChargeCompanyTemporaryName());
payMailBill.setPrincipalName(payWorkingGroup.getPrincipalNameA());
payMailBill.setPrincipalId(payWorkingGroup.getPrincipalIdA());
}else {
payMailBill.setProjectName(workingGroup.getChargeProject() + ",");
payMailBill.setChargeCompanyName(workingGroup.getChargeCompanyTemporaryName() + ",");
payMailBill.setPrincipalName(payWorkingGroup.getPrincipalNameA() + ",");
payMailBill.setPrincipalId(payWorkingGroup.getPrincipalIdA() + ",");
}
break;
//会议项目
case PayIncomeContractCommon.PROJECT_TYPE3:
@@ -398,6 +439,21 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
}
//之前开票总额+本次开票金额
invoiceAmount = oldInvoiceAmount.add(invoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
//查父表
PayMeeting payMeeting = payMeetingMapper.selectById(meeting.getMeetingId());
//逗号拼接邮寄信息
if(i==size-1){
payMailBill.setProjectName(payMeeting.getMeetingName());
payMailBill.setChargeCompanyName(meeting.getCompanyName());
payMailBill.setPrincipalName(payMeeting.getDirectorName());
payMailBill.setPrincipalId(payMeeting.getDirectorId());
}else {
payMailBill.setProjectName(payMeeting.getMeetingName() + ",");
payMailBill.setChargeCompanyName(meeting.getCompanyName() + ",");
payMailBill.setPrincipalName(payMeeting.getDirectorName() + ",");
payMailBill.setPrincipalId(payMeeting.getDirectorId() + ",");
}
break;
//会员项目
case PayIncomeContractCommon.PROJECT_TYPE4:
@@ -410,6 +466,21 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
}
//之前开票总额+本次开票金额
invoiceAmount = oldInvoiceAmount.add(invoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
//查父表
PayMemberProject payMemberProject = payMemberProjectMapper.selectById(memberProject.getProjectId());
//逗号拼接邮寄信息
if(i==size-1){
payMailBill.setProjectName(payMemberProject.getProjectName());
payMailBill.setChargeCompanyName(memberProject.getCompanyName());
payMailBill.setPrincipalName(payMemberProject.getDirectorName());
payMailBill.setPrincipalId(payMemberProject.getDirectorId());
}else {
payMailBill.setProjectName(payMemberProject.getProjectName() + ",");
payMailBill.setChargeCompanyName(memberProject.getCompanyName() + ",");
payMailBill.setPrincipalName(payMemberProject.getDirectorName() + ",");
payMailBill.setPrincipalId(payMemberProject.getDirectorId() + ",");
}
break;
//标协会员
case PayIncomeContractCommon.PROJECT_TYPE5:
@@ -422,6 +493,17 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
}
//之前开票总额+本次开票金额
invoiceAmount = oldInvoiceAmount.add(invoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
//查父表
TbMemberProject tbProject = tbMemberProjectMapper.selectById(tbMemberProject.getProjectId());
//逗号拼接邮寄信息
if(i==size-1){
payMailBill.setProjectName(tbProject.getProjectName());
payMailBill.setChargeCompanyName(tbMemberProject.getCompanyName());
}else {
payMailBill.setProjectName(tbProject.getProjectName() + ",");
payMailBill.setChargeCompanyName(tbMemberProject.getCompanyName() + ",");
}
break;
default:
break;