来款开票
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
package com.jero.mail;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.jero.mail.entity.PayMailBill;
|
||||
import com.jero.mail.entity.PayMailBillProject;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
@@ -21,4 +23,9 @@ public class PayMailBillVO extends PayMailBill {
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
List<PayMailBillProject> bmpList;
|
||||
|
||||
/**邮寄票据关联项目表id*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "bmpId")
|
||||
private java.lang.String bmpId;
|
||||
}
|
||||
|
||||
+1
-1
@@ -31,7 +31,7 @@ public interface PayMailBillMapper extends BaseMapper<PayMailBill> {
|
||||
*/
|
||||
List<PayMailBill> selectCommonProjectMailBillVO(@Param("projectId") String projectId);
|
||||
|
||||
List<PayMailBill> selectInvoicingStage(@Param("projectId")String projectId);
|
||||
List<PayMailBillVO> selectInvoicingStage(@Param("projectId")String projectId);
|
||||
|
||||
/**
|
||||
* @Description 查询月份邮寄数量
|
||||
|
||||
+2
-2
@@ -43,8 +43,8 @@
|
||||
WHERE pmb.id IN (SELECT bill_id FROM pay_mail_bill_project WHERE project_id=#{projectId})
|
||||
</select>
|
||||
|
||||
<select id="selectInvoicingStage" resultType="com.jero.mail.entity.PayMailBill">
|
||||
select pmb.project_name,pmbp.invoice_amount,pmb.bill_no,pmb.bill_date,pmbp.remark
|
||||
<select id="selectInvoicingStage" resultType="com.jero.mail.PayMailBillVO">
|
||||
select pmb.id as id,pmbp.id as bmpId,pmb.project_name,pmbp.invoice_amount,pmb.bill_no,pmb.bill_date,pmbp.remark
|
||||
from pay_mail_bill pmb
|
||||
inner JOIN pay_mail_bill_project pmbp on pmb.id = pmbp.bill_id
|
||||
where pmbp.project_id=#{projectId}
|
||||
|
||||
+9
-1
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.mail.PayMailBillVO;
|
||||
import com.jero.mail.entity.PayMailBill;
|
||||
import com.jero.payment.entity.PayPaymentRecord;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -33,7 +34,7 @@ public interface IPayMailBillService extends IService<PayMailBill> {
|
||||
* @param projectId
|
||||
* @return
|
||||
*/
|
||||
List<PayMailBill> selectInvoicingStage(String projectId);
|
||||
List<PayMailBillVO> selectInvoicingStage(String projectId);
|
||||
|
||||
/**
|
||||
* 添加开票
|
||||
@@ -42,6 +43,13 @@ public interface IPayMailBillService extends IService<PayMailBill> {
|
||||
*/
|
||||
Result<?> addPayBill(PayMailBillVO payMailBill);
|
||||
|
||||
/**
|
||||
* 编辑开票
|
||||
* @param payMailBillVo
|
||||
* @return
|
||||
*/
|
||||
Result<?> editPayBill(PayMailBillVO payMailBillVo);
|
||||
|
||||
/**
|
||||
* 推送邮寄数据到会员系统
|
||||
* @param payMailBill
|
||||
|
||||
+189
-6
@@ -21,6 +21,7 @@ import com.jero.mail.entity.BillingInfo;
|
||||
import com.jero.mail.entity.PayMailBill;
|
||||
import com.jero.mail.entity.PayMailBillProject;
|
||||
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;
|
||||
@@ -35,6 +36,7 @@ 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.payment.entity.PayPaymentRecord;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
import com.jero.project.entity.PayWorkingGroup;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItem;
|
||||
@@ -88,7 +90,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
@Resource
|
||||
private PayMailBillMapper payMailBillMapper;
|
||||
@Resource
|
||||
private IPayContactsManagementService payContactsManagementService;
|
||||
private PayMailBillProjectMapper payMailBillProjectMapper;
|
||||
|
||||
@Override
|
||||
public List<PayMailBill> selectMailBillVO(String projectId) {
|
||||
@@ -109,7 +111,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PayMailBill> selectInvoicingStage(String projectId) {
|
||||
public List<PayMailBillVO> selectInvoicingStage(String projectId) {
|
||||
|
||||
return payMailBillMapper.selectInvoicingStage(projectId);
|
||||
}
|
||||
@@ -124,7 +126,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
//票据关联项目表
|
||||
List<PayMailBillProject> bmpList = payMailBill.getBmpList();
|
||||
|
||||
//校验不同项目是否属于同一个公司
|
||||
//校验不同项目是否属于同一个公司,开票金额是否大于当前欠未开票金额
|
||||
String res = checkCompanyProject(bmpList);
|
||||
if (!"success".equals(res)) {
|
||||
return Result.error(res);
|
||||
@@ -158,7 +160,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
for(int i=0; i<bmpList.size();i++){
|
||||
getMakeInvoice(bmpList.get(i),
|
||||
projectName,chargeCompanyName,principalName,principalId,
|
||||
i,bmpList.size());
|
||||
i);
|
||||
}
|
||||
payMailBill.setProjectName(projectName.toString());
|
||||
payMailBill.setChargeCompanyName(chargeCompanyName.toString());
|
||||
@@ -264,7 +266,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
}
|
||||
|
||||
|
||||
//校验不同项目是否属于同一个公司
|
||||
//校验不同项目是否属于同一个公司,开票金额是否大于当前欠未开票金额
|
||||
private String checkCompanyProject(List<PayMailBillProject> bmpList) {
|
||||
String standardCompanyId = null;//基准公司id
|
||||
|
||||
@@ -414,7 +416,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
*/
|
||||
private void getMakeInvoice(PayMailBillProject payMailBillProject,
|
||||
StringBuilder projectName,StringBuilder chargeCompanyName,StringBuilder principalName,StringBuilder principalId,
|
||||
int i,int size) {
|
||||
int i) {
|
||||
int makeInvoice=4;
|
||||
BigDecimal amountReceivable=new BigDecimal("0");//应收金额
|
||||
Integer needInvoice = 0;//是否需要发票
|
||||
@@ -628,4 +630,185 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param payMailBillVo 这里的开票金额invoiceAmount,其实是payMailBillProject里的开票金额
|
||||
* @return
|
||||
*/
|
||||
public Result<?> editPayBill(PayMailBillVO payMailBillVo){
|
||||
//查出没编辑之前的开票记录
|
||||
PayMailBillProject oldBmp = payMailBillProjectMapper.selectById(payMailBillVo.getBmpId());
|
||||
//校验开票金额是否大于当前欠未开票金额
|
||||
String res = editCheckCompanyProject(payMailBillVo,oldBmp);
|
||||
if (!"success".equals(res)) {
|
||||
return Result.error(res);
|
||||
}
|
||||
|
||||
//更新票据邮寄表
|
||||
payMailBillMapper.updateById(payMailBillVo);
|
||||
|
||||
//更新票据关联项目表
|
||||
PayMailBillProject payMailBillProject = new PayMailBillProject();
|
||||
payMailBillProject.setId(payMailBillVo.getBmpId());
|
||||
payMailBillProject.setInvoiceAmount(payMailBillVo.getInvoiceAmount());
|
||||
payMailBillProject.setRemark(payMailBillVo.getRemark());
|
||||
payMailBillProjectService.updateById(payMailBillProject);
|
||||
|
||||
return Result.OK("更新成功!");
|
||||
}
|
||||
|
||||
//编辑时开票金额是否大于当前欠未开票金额
|
||||
private String editCheckCompanyProject(PayMailBillVO bm,PayMailBillProject oldBmp) {
|
||||
|
||||
int makeInvoice=4;
|
||||
BigDecimal amountReceivable=new BigDecimal("0");//应收金额
|
||||
Integer needInvoice = 0;//是否需要发票
|
||||
|
||||
//之前开票总额-编辑之前的开票金额=原始开票总额
|
||||
BigDecimal oldInvoiceAmount ;
|
||||
//原始开票总额+本次开票金额
|
||||
BigDecimal invoiceAmount=new BigDecimal("0");
|
||||
|
||||
switch (oldBmp.getProjectType().toString()) {
|
||||
// 普通项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE1:
|
||||
PayCommonProject payCommonProject = payCommonProjectMapper.selectById(oldBmp.getProjectId());
|
||||
amountReceivable = payCommonProject.getReceivableAmount();//应收
|
||||
needInvoice = payCommonProject.getNeedInvoice();//是否需要发票
|
||||
|
||||
//之前开票总额-编辑之前的开票金额
|
||||
oldInvoiceAmount = payCommonProject.getInvoiceAmount().subtract(oldBmp.getInvoiceAmount()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
if(oldInvoiceAmount==null){
|
||||
oldInvoiceAmount= new BigDecimal("0");
|
||||
}
|
||||
//原始开票总额+本次开票金额
|
||||
invoiceAmount = oldInvoiceAmount.add(bm.getInvoiceAmount()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//开票总额>应收
|
||||
if(invoiceAmount.compareTo(payCommonProject.getReceivableAmount()) == 1){
|
||||
return "开票金额大于当前欠未开票金额,输入有误!";
|
||||
}
|
||||
break;
|
||||
// 工作组项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE2:
|
||||
PayWorkingGroupSubItem workingGroup = payWorkingGroupSubItemMapper.selectById(oldBmp.getProjectId());
|
||||
amountReceivable = workingGroup.getReceivableAmount();//应收
|
||||
needInvoice = workingGroup.getNeedInvoice();//是否需要发票
|
||||
|
||||
//之前开票总额-编辑之前的开票金额
|
||||
oldInvoiceAmount = workingGroup.getInvoiceAmount().subtract(oldBmp.getInvoiceAmount()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
if(oldInvoiceAmount==null){
|
||||
oldInvoiceAmount= new BigDecimal("0");
|
||||
}
|
||||
//原始开票总额+本次开票金额
|
||||
invoiceAmount = oldInvoiceAmount.add(bm.getInvoiceAmount()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//开票总额>应收
|
||||
if(invoiceAmount.compareTo(workingGroup.getReceivableAmount()) == 1){
|
||||
return "开票金额大于当前欠未开票金额,输入有误!";
|
||||
}
|
||||
break;
|
||||
//会议项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE3:
|
||||
PayMeetingSituation meeting = payMeetingSituationMapper.selectById(oldBmp.getProjectId());
|
||||
amountReceivable = meeting.getAmountReceivable();//应收
|
||||
needInvoice = meeting.getNeedInvoice();//是否需要发票
|
||||
|
||||
//之前开票总额-编辑之前的开票金额
|
||||
oldInvoiceAmount = meeting.getInvoiceAmount().subtract(oldBmp.getInvoiceAmount()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
if(oldInvoiceAmount==null){
|
||||
oldInvoiceAmount= new BigDecimal("0");
|
||||
}
|
||||
//原始开票总额+本次开票金额
|
||||
invoiceAmount = oldInvoiceAmount.add(bm.getInvoiceAmount()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//开票总额>应收
|
||||
if(invoiceAmount.compareTo(meeting.getAmountReceivable()) == 1){
|
||||
return "开票金额大于当前欠未开票金额,输入有误!";
|
||||
}
|
||||
break;
|
||||
//会员项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE4:
|
||||
PayMemberProjectSubitem memberProject = payMemberProjectSubitemMapper.selectById(oldBmp.getProjectId());
|
||||
amountReceivable = memberProject.getAmountReceivable();//应收
|
||||
needInvoice = memberProject.getNeedInvoice();//是否需要发票
|
||||
|
||||
//之前开票总额-编辑之前的开票金额
|
||||
oldInvoiceAmount = memberProject.getInvoiceAmount().subtract(oldBmp.getInvoiceAmount()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
if(oldInvoiceAmount==null){
|
||||
oldInvoiceAmount= new BigDecimal("0");
|
||||
}
|
||||
//原始开票总额+本次开票金额
|
||||
invoiceAmount = oldInvoiceAmount.add(bm.getInvoiceAmount()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//开票总额>应收
|
||||
if(invoiceAmount.compareTo(memberProject.getAmountReceivable()) == 1){
|
||||
return "开票金额大于当前欠未开票金额,输入有误!";
|
||||
}
|
||||
break;
|
||||
//标协会员
|
||||
case PayIncomeContractCommon.PROJECT_TYPE5:
|
||||
return "标协会员类型不可编辑!";
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if(amountReceivable==null){
|
||||
amountReceivable =new BigDecimal("0");
|
||||
}
|
||||
|
||||
BigDecimal zero =new BigDecimal("0");
|
||||
|
||||
//应收=0 || 不需要开票
|
||||
if(amountReceivable.compareTo(zero)==0 || needInvoice.equals(0)){
|
||||
makeInvoice= 3;
|
||||
}
|
||||
//应收>开票总额 && 开票总额!=0
|
||||
if(amountReceivable.compareTo(invoiceAmount) == 1 && !(invoiceAmount.compareTo(zero) == 0)){
|
||||
makeInvoice= 2;
|
||||
}
|
||||
//开票总额>=应收
|
||||
if(invoiceAmount.compareTo(amountReceivable) > -1){
|
||||
makeInvoice= 1;
|
||||
}
|
||||
//开票总额为0
|
||||
if(invoiceAmount.compareTo(zero)==0){
|
||||
makeInvoice= 0;
|
||||
}
|
||||
|
||||
//更新项目表开票状态
|
||||
switch (oldBmp.getProjectType().toString()) {
|
||||
// 普通项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE1:
|
||||
PayCommonProject newCommon = new PayCommonProject();
|
||||
newCommon.setId(oldBmp.getProjectId());
|
||||
newCommon.setMakeInvoice(makeInvoice);
|
||||
newCommon.setInvoiceAmount(invoiceAmount);
|
||||
payCommonProjectMapper.updateById(newCommon);
|
||||
break;
|
||||
// 工作组项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE2:
|
||||
PayWorkingGroupSubItem newWorkingGroup = new PayWorkingGroupSubItem();
|
||||
newWorkingGroup.setId(oldBmp.getProjectId());
|
||||
newWorkingGroup.setMakeInvoice(makeInvoice);
|
||||
newWorkingGroup.setInvoiceAmount(invoiceAmount);
|
||||
payWorkingGroupSubItemMapper.updateById(newWorkingGroup);
|
||||
break;
|
||||
//会议项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE3:
|
||||
PayMeetingSituation newMeeting = new PayMeetingSituation();
|
||||
newMeeting.setId(oldBmp.getProjectId());
|
||||
newMeeting.setMakeInvoice(makeInvoice);
|
||||
newMeeting.setInvoiceAmount(invoiceAmount);
|
||||
payMeetingSituationMapper.updateById(newMeeting);
|
||||
break;
|
||||
//会员项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE4:
|
||||
PayMemberProjectSubitem newMemberProject = new PayMemberProjectSubitem();
|
||||
newMemberProject.setId(oldBmp.getProjectId());
|
||||
newMemberProject.setMakeInvoice(makeInvoice);
|
||||
newMemberProject.setInvoiceAmount(invoiceAmount);
|
||||
payMemberProjectSubitemMapper.updateById(newMemberProject);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return "success";
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -134,7 +134,7 @@ public class PayPaymentRecordController extends JeroController<PayPaymentRecord,
|
||||
@ApiOperation(value="编辑来款", notes="编辑来款")
|
||||
@PostMapping(value = "/editAmountReceived")
|
||||
public Result<?> editAmountReceived(@RequestBody PayPaymentRecord payPaymentRecord) {
|
||||
payPaymentRecordService.updateById(payPaymentRecord);
|
||||
payPaymentRecordService.editAmountReceived(payPaymentRecord);
|
||||
return Result.OK("编辑成功!");
|
||||
}
|
||||
|
||||
@@ -164,8 +164,8 @@ public class PayPaymentRecordController extends JeroController<PayPaymentRecord,
|
||||
*/
|
||||
@ApiOperation(value="编辑开票", notes="编辑开票")
|
||||
@PostMapping(value = "/editPayBill")
|
||||
public Result<?> editPayBill(@RequestBody PayMailBill payMailBill) {
|
||||
payMailBillService.updateById(payMailBill);
|
||||
public Result<?> editPayBill(@RequestBody PayMailBillVO payMailBillVo) {
|
||||
payMailBillService.editPayBill(payMailBillVo);
|
||||
return Result.OK("编辑成功!");
|
||||
}
|
||||
|
||||
|
||||
+5
@@ -47,6 +47,11 @@ public interface IPayPaymentRecordService extends IService<PayPaymentRecord> {
|
||||
*/
|
||||
Result<?> standardsAddAR(String tbPaymentId,PayPaymentRecord payPaymentRecord);
|
||||
|
||||
/**
|
||||
* 编辑来款
|
||||
* @param payPaymentRecord
|
||||
*/
|
||||
void editAmountReceived(PayPaymentRecord payPaymentRecord);
|
||||
/**
|
||||
* 导出
|
||||
* @param request
|
||||
|
||||
+110
-5
@@ -84,7 +84,6 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
/**
|
||||
* 添加来款记录
|
||||
*/
|
||||
// @Transactional
|
||||
@Override
|
||||
public void addAmountReceived(List<PayPaymentRecord> list){
|
||||
List<TbCheckVo> typr5List = new ArrayList<>();
|
||||
@@ -92,10 +91,8 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
addOneAmountReceived(payPaymentRecord,typr5List);
|
||||
|
||||
}
|
||||
|
||||
//推送到会员端
|
||||
if(typr5List !=null && typr5List.size()>0){
|
||||
// HashMap<String, Object> paramMap = new HashMap<>();
|
||||
// paramMap.put("voList",typr5List);
|
||||
AuthenticationUtils.post("/paymentInfo/incomingPaymentCheck",null,typr5List);
|
||||
}
|
||||
}
|
||||
@@ -322,7 +319,7 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
paidAmount = new BigDecimal("0");
|
||||
}
|
||||
//欠款
|
||||
BigDecimal debt = receivableAmount.subtract(paidAmount);
|
||||
BigDecimal debt = receivableAmount.subtract(paidAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
|
||||
if(amountReceived.compareTo(debt) == 1){
|
||||
//本次到账金额大于欠款
|
||||
@@ -382,6 +379,114 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑来款
|
||||
* @param payPaymentRecord
|
||||
*/
|
||||
@Override
|
||||
public void editAmountReceived(PayPaymentRecord payPaymentRecord){
|
||||
//查出没编辑之前的来款记录
|
||||
PayPaymentRecord oldRecord = payPaymentRecordMapper.selectById(payPaymentRecord);
|
||||
|
||||
BigDecimal receivableAmount;
|
||||
Boolean isAdd;
|
||||
BigDecimal newPaidAmount;
|
||||
BigDecimal paidAmount;
|
||||
Integer inAccount;
|
||||
|
||||
switch (String.valueOf(payPaymentRecord.getProjectType())){
|
||||
// 普通项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE1:
|
||||
PayCommonProject payCommonProject = payCommonProjectMapper.selectById(payPaymentRecord.getProjectId());
|
||||
|
||||
receivableAmount = payCommonProject.getReceivableAmount();//应收
|
||||
paidAmount=payCommonProject.getPaidAmount().subtract(oldRecord.getAmountReceived()).setScale(2, BigDecimal.ROUND_HALF_UP);//实收-上次来款
|
||||
//是否还能再添加来款
|
||||
isAdd = isAdd(receivableAmount,paidAmount, payPaymentRecord.getAmountReceived());
|
||||
if(isAdd){
|
||||
newPaidAmount =addPaidAmount(paidAmount,payPaymentRecord.getAmountReceived());//累加实收
|
||||
inAccount = getInAccount(receivableAmount, newPaidAmount);//到账状态
|
||||
|
||||
//更新主列表
|
||||
payCommonProject.setPaidAmount(newPaidAmount);
|
||||
payCommonProject.setInAccount(inAccount);
|
||||
payCommonProjectMapper.updateById(payCommonProject);
|
||||
}else{
|
||||
throw new JeroBootException("到账金额大于当前欠款金额,不可提交!");
|
||||
}
|
||||
break;
|
||||
// 工作组项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE2:
|
||||
PayWorkingGroupSubItem payWorking = payWorkingGroupSubItemMapper.selectById(payPaymentRecord.getProjectId());
|
||||
|
||||
receivableAmount = payWorking.getReceivableAmount();//应收
|
||||
paidAmount=payWorking.getPaidAmount().subtract(oldRecord.getAmountReceived()).setScale(2, BigDecimal.ROUND_HALF_UP);//实收-上次来款
|
||||
|
||||
//是否还能再添加来款
|
||||
isAdd = isAdd(receivableAmount,paidAmount, payPaymentRecord.getAmountReceived());
|
||||
if(isAdd){
|
||||
newPaidAmount =addPaidAmount(paidAmount,payPaymentRecord.getAmountReceived());//累加实收
|
||||
inAccount = getInAccount(receivableAmount, newPaidAmount);//到账状态
|
||||
|
||||
//更新主列表
|
||||
payWorking.setPaidAmount(newPaidAmount);
|
||||
payWorking.setInAccount(inAccount);
|
||||
payWorkingGroupSubItemMapper.updateById(payWorking);
|
||||
}else{
|
||||
throw new JeroBootException("到账金额大于当前欠款金额,不可提交!");
|
||||
}
|
||||
break;
|
||||
//会议项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE3:
|
||||
PayMeetingSituation meeting = payMeetingSituationMapper.selectById(payPaymentRecord.getProjectId());
|
||||
|
||||
receivableAmount = meeting.getAmountReceivable();//应收
|
||||
paidAmount=meeting.getPaidAmount().subtract(oldRecord.getAmountReceived()).setScale(2, BigDecimal.ROUND_HALF_UP);//实收-上次来款
|
||||
|
||||
//是否还能再添加来款
|
||||
isAdd = isAdd(receivableAmount,paidAmount, payPaymentRecord.getAmountReceived());
|
||||
if(isAdd){
|
||||
newPaidAmount =addPaidAmount(paidAmount,payPaymentRecord.getAmountReceived());//累加实收
|
||||
inAccount = getInAccount(receivableAmount, newPaidAmount);//到账状态
|
||||
|
||||
//更新主列表
|
||||
meeting.setPaidAmount(newPaidAmount);
|
||||
meeting.setInAccount(inAccount);
|
||||
payMeetingSituationMapper.updateById(meeting);
|
||||
}else{
|
||||
throw new JeroBootException("到账金额大于当前欠款金额,不可提交!");
|
||||
}
|
||||
break;
|
||||
//会员项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE4:
|
||||
PayMemberProjectSubitem member = payMemberProjectSubitemMapper.selectById(payPaymentRecord.getProjectId());
|
||||
|
||||
receivableAmount = member.getAmountReceivable();//应收
|
||||
paidAmount=member.getPaidAmount().subtract(oldRecord.getAmountReceived()).setScale(2, BigDecimal.ROUND_HALF_UP);//实收-上次来款
|
||||
|
||||
//是否还能再添加来款
|
||||
isAdd = isAdd(receivableAmount, paidAmount,payPaymentRecord.getAmountReceived());
|
||||
if(isAdd){
|
||||
newPaidAmount =addPaidAmount(paidAmount,payPaymentRecord.getAmountReceived());//累加实收
|
||||
inAccount = getInAccount(receivableAmount, newPaidAmount);//到账状态
|
||||
|
||||
//更新主列表
|
||||
member.setPaidAmount(newPaidAmount);
|
||||
member.setInAccount(inAccount);
|
||||
payMemberProjectSubitemMapper.updateById(member);
|
||||
|
||||
}else{
|
||||
throw new JeroBootException("到账金额大于当前欠款金额,不可提交!");
|
||||
}
|
||||
break;
|
||||
//标协会员
|
||||
case PayIncomeContractCommon.PROJECT_TYPE5:
|
||||
throw new JeroBootException("标协会员类型不可编辑!");
|
||||
default:break;
|
||||
}
|
||||
payPaymentRecordMapper.updateById(payPaymentRecord);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出
|
||||
* @param request
|
||||
|
||||
Reference in New Issue
Block a user