Merge remote-tracking branch 'origin/master'
This commit is contained in:
-2
@@ -14,6 +14,4 @@ import java.math.BigDecimal;
|
||||
*/
|
||||
public interface PayMailBillProjectMapper extends BaseMapper<PayMailBillProject> {
|
||||
|
||||
// 开票总额
|
||||
BigDecimal sumInvoiceAmount(@Param("projectId") String projectId);
|
||||
}
|
||||
|
||||
-6
@@ -2,10 +2,4 @@
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.mail.mapper.PayMailBillProjectMapper">
|
||||
|
||||
<!-- 开票总额-->
|
||||
<select id="sumInvoiceAmount" resultType="Decimal">
|
||||
select sum(invoice_amount)
|
||||
from pay_mail_bill_project
|
||||
where project_id= #{projectId}
|
||||
</select>
|
||||
</mapper>
|
||||
+39
-24
@@ -140,7 +140,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
payMailBillProjectService.save(payMailBillProject);
|
||||
|
||||
// 更新项目表开票状态
|
||||
getMakeInvoice(projectIdArray[i],projectTypeArray[i]);
|
||||
getMakeInvoice(payMailBillProject);
|
||||
}
|
||||
return Result.OK("添加成功!");
|
||||
}
|
||||
@@ -153,9 +153,9 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
for (int i = 0; i < projectTypeArray.length; i++) {
|
||||
|
||||
//之前开票总额
|
||||
BigDecimal oldInvoiceAmount = payMailBillProjectMapper.sumInvoiceAmount(projectIdArray[i]);
|
||||
//加上本次开票金额
|
||||
BigDecimal invoiceAmount = oldInvoiceAmount.add(new BigDecimal(invoiceAmountArrays[i])).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
BigDecimal oldInvoiceAmount=new BigDecimal("0");
|
||||
//之前开票总额+本次开票金额
|
||||
BigDecimal invoiceAmount=new BigDecimal("0");
|
||||
|
||||
switch (projectTypeArray[i]) {
|
||||
|
||||
@@ -169,6 +169,9 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
if (!standardCompanyId.equals(payCommonProject.getChargeCompanyId())) {
|
||||
return "打包开票只能是同一个企业";
|
||||
}
|
||||
oldInvoiceAmount = payCommonProject.getInvoiceAmount();
|
||||
//之前开票总额+本次开票金额
|
||||
invoiceAmount = oldInvoiceAmount.add(new BigDecimal(invoiceAmountArrays[i])).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//开票总额>应收
|
||||
if(invoiceAmount.compareTo(payCommonProject.getReceivableAmount()) == 1){
|
||||
return "开票金额大于当前欠未开票金额,输入有误!";
|
||||
@@ -184,6 +187,9 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
if (!standardCompanyId.equals(workingGroup.getChargeCompanyId())) {
|
||||
return "打包开票只能是同一个企业";
|
||||
}
|
||||
oldInvoiceAmount = workingGroup.getInvoiceAmount();
|
||||
//之前开票总额+本次开票金额
|
||||
invoiceAmount = oldInvoiceAmount.add(new BigDecimal(invoiceAmountArrays[i])).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//开票总额>应收
|
||||
if(invoiceAmount.compareTo(workingGroup.getReceivableAmount()) == 1){
|
||||
return "开票金额大于当前欠未开票金额,输入有误!";
|
||||
@@ -199,6 +205,9 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
if (!standardCompanyId.equals(meeting.getCompanyId())) {
|
||||
return "打包开票只能是同一个企业";
|
||||
}
|
||||
oldInvoiceAmount = meeting.getInvoiceAmount();
|
||||
//之前开票总额+本次开票金额
|
||||
invoiceAmount = oldInvoiceAmount.add(new BigDecimal(invoiceAmountArrays[i])).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//开票总额>应收
|
||||
if(invoiceAmount.compareTo(meeting.getAmountReceivable()) == 1){
|
||||
return "开票金额大于当前欠未开票金额,输入有误!";
|
||||
@@ -214,6 +223,9 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
if (!standardCompanyId.equals(memberProject.getCompanyId())) {
|
||||
return "打包开票只能是同一个企业";
|
||||
}
|
||||
oldInvoiceAmount = memberProject.getInvoiceAmount();
|
||||
//之前开票总额+本次开票金额
|
||||
invoiceAmount = oldInvoiceAmount.add(new BigDecimal(invoiceAmountArrays[i])).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//开票总额>应收
|
||||
if(invoiceAmount.compareTo(memberProject.getAmountReceivable()) == 1){
|
||||
return "开票金额大于当前欠未开票金额,输入有误!";
|
||||
@@ -229,6 +241,9 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
if (!standardCompanyId.equals(tbMemberProject.getCompanyId())) {
|
||||
return "打包开票只能是同一个企业";
|
||||
}
|
||||
oldInvoiceAmount = tbMemberProject.getInvoiceAmount();
|
||||
//之前开票总额+本次开票金额
|
||||
invoiceAmount = oldInvoiceAmount.add(new BigDecimal(invoiceAmountArrays[i])).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//开票总额>应收
|
||||
if(invoiceAmount.compareTo(tbMemberProject.getAmountReceivable()) == 1){
|
||||
return "开票金额大于当前欠未开票金额,输入有误!";
|
||||
@@ -243,54 +258,54 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
|
||||
/**
|
||||
* 更新项目表开票状态
|
||||
* @param projectId
|
||||
* @param projectType
|
||||
* @return
|
||||
*/
|
||||
private void getMakeInvoice(String projectId, String projectType) {
|
||||
private void getMakeInvoice(PayMailBillProject payMailBillProject) {
|
||||
Integer makeInvoice=4;
|
||||
BigDecimal amountReceivable=new BigDecimal("0");//应收金额
|
||||
Integer needInvoice = 0;//是否需要发票
|
||||
switch (projectType) {
|
||||
BigDecimal invoiceAmount=new BigDecimal("0");//开票金额
|
||||
switch (payMailBillProject.getProjectType().toString()) {
|
||||
|
||||
// 普通项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE1:
|
||||
PayCommonProject payCommonProject = payCommonProjectMapper.selectById(projectId);
|
||||
PayCommonProject payCommonProject = payCommonProjectMapper.selectById(payMailBillProject.getProjectId());
|
||||
amountReceivable = payCommonProject.getReceivableAmount();//应收
|
||||
needInvoice = payCommonProject.getNeedInvoice();//是否需要发票
|
||||
invoiceAmount = payCommonProject.getInvoiceAmount();//开票金额
|
||||
break;
|
||||
// 工作组项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE2:
|
||||
PayWorkingGroupSubItem workingGroup = payWorkingGroupSubItemMapper.selectById(projectId);
|
||||
PayWorkingGroupSubItem workingGroup = payWorkingGroupSubItemMapper.selectById(payMailBillProject.getProjectId());
|
||||
amountReceivable = workingGroup.getReceivableAmount();//应收
|
||||
needInvoice = workingGroup.getNeedInvoice();//是否需要发票
|
||||
invoiceAmount = workingGroup.getInvoiceAmount();//开票金额
|
||||
break;
|
||||
//会议项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE3:
|
||||
PayMeetingSituation meeting = payMeetingSituationMapper.selectById(projectId);
|
||||
PayMeetingSituation meeting = payMeetingSituationMapper.selectById(payMailBillProject.getProjectId());
|
||||
amountReceivable = meeting.getAmountReceivable();//应收
|
||||
needInvoice = meeting.getNeedInvoice();//是否需要发票
|
||||
invoiceAmount = meeting.getInvoiceAmount();//开票金额
|
||||
break;
|
||||
//会员项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE4:
|
||||
PayMemberProjectSubitem memberProject = payMemberProjectSubitemMapper.selectById(projectId);
|
||||
PayMemberProjectSubitem memberProject = payMemberProjectSubitemMapper.selectById(payMailBillProject.getProjectId());
|
||||
amountReceivable = memberProject.getAmountReceivable();//应收
|
||||
needInvoice = memberProject.getNeedInvoice();//是否需要发票
|
||||
invoiceAmount = memberProject.getInvoiceAmount();//开票金额
|
||||
break;
|
||||
//标协会员
|
||||
case PayIncomeContractCommon.PROJECT_TYPE5:
|
||||
TbMemberProjectSubitem tbMemberProject = tbMemberProjectSubitemMapper.selectById(projectId);
|
||||
TbMemberProjectSubitem tbMemberProject = tbMemberProjectSubitemMapper.selectById(payMailBillProject.getProjectId());
|
||||
amountReceivable = tbMemberProject.getAmountReceivable();//应收
|
||||
needInvoice = tbMemberProject.getInvoiceRequirements();//是否需要发票
|
||||
invoiceAmount = tbMemberProject.getInvoiceAmount();//开票金额
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
// 开票总额
|
||||
BigDecimal invoiceAmount = payMailBillProjectMapper.sumInvoiceAmount(projectId);
|
||||
if(invoiceAmount==null){
|
||||
invoiceAmount =new BigDecimal("0");
|
||||
}
|
||||
|
||||
if(amountReceivable==null){
|
||||
amountReceivable =new BigDecimal("0");
|
||||
}
|
||||
@@ -315,39 +330,39 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
}
|
||||
|
||||
//更新项目表开票状态
|
||||
switch (projectType) {
|
||||
switch (payMailBillProject.getProjectType().toString()) {
|
||||
// 普通项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE1:
|
||||
PayCommonProject newCommon = new PayCommonProject();
|
||||
newCommon.setId(projectId);
|
||||
newCommon.setId(payMailBillProject.getProjectId());
|
||||
newCommon.setMakeInvoice(makeInvoice);
|
||||
payCommonProjectMapper.updateById(newCommon);
|
||||
break;
|
||||
// 工作组项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE2:
|
||||
PayWorkingGroupSubItem newWorkingGroup = new PayWorkingGroupSubItem();
|
||||
newWorkingGroup.setId(projectId);
|
||||
newWorkingGroup.setId(payMailBillProject.getProjectId());
|
||||
newWorkingGroup.setMakeInvoice(makeInvoice);
|
||||
payWorkingGroupSubItemMapper.updateById(newWorkingGroup);
|
||||
break;
|
||||
//会议项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE3:
|
||||
PayMeetingSituation newMeeting = new PayMeetingSituation();
|
||||
newMeeting.setId(projectId);
|
||||
newMeeting.setId(payMailBillProject.getProjectId());
|
||||
newMeeting.setMakeInvoice(makeInvoice);
|
||||
payMeetingSituationMapper.updateById(newMeeting);
|
||||
break;
|
||||
//会员项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE4:
|
||||
PayMemberProjectSubitem newMemberProject = new PayMemberProjectSubitem();
|
||||
newMemberProject.setId(projectId);
|
||||
newMemberProject.setId(payMailBillProject.getProjectId());
|
||||
newMemberProject.setMakeInvoice(makeInvoice);
|
||||
payMemberProjectSubitemMapper.updateById(newMemberProject);
|
||||
break;
|
||||
//标协会员
|
||||
case PayIncomeContractCommon.PROJECT_TYPE5:
|
||||
TbMemberProjectSubitem newTbMemberProject = new TbMemberProjectSubitem();
|
||||
newTbMemberProject.setId(projectId);
|
||||
newTbMemberProject.setId(payMailBillProject.getProjectId());
|
||||
newTbMemberProject.setMakeInvoice(makeInvoice);
|
||||
tbMemberProjectSubitemMapper.updateById(newTbMemberProject);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user