md
This commit is contained in:
parent
76fd13e3cd
commit
3e8a3dc7ec
@ -88,6 +88,9 @@ public class EmisCommonController extends EmisBaseController
|
||||
@Autowired
|
||||
private IEmisSettlePayRecordService emisSettlePayRecordService;
|
||||
|
||||
@Autowired
|
||||
private IEmisSettleBillService emisSettleBillService;
|
||||
|
||||
|
||||
|
||||
@Autowired
|
||||
@ -942,7 +945,7 @@ public class EmisCommonController extends EmisBaseController
|
||||
@RequestMapping("/reCalcSettleBillInvoiceStatus")
|
||||
public void reCalcSettleBillInvoiceStatus(String settleBillNo) {
|
||||
try{
|
||||
emisSettleInvoiceRecordService.reCalcSettleBillInvoiceStatus(settleBillNo);
|
||||
emisSettleBillService.reCalcSettleBillInvoiceStatus(settleBillNo);
|
||||
}
|
||||
catch (Exception ex){
|
||||
ex.printStackTrace();
|
||||
@ -957,7 +960,7 @@ public class EmisCommonController extends EmisBaseController
|
||||
@RequestMapping("/reCalcSettleBillPayStatus")
|
||||
public void reCalcSettleBillPayStatus(String settleBillNo) {
|
||||
try{
|
||||
emisSettlePayRecordService.reCalcSettleBillPayStatus(settleBillNo);
|
||||
emisSettleBillService.reCalcSettleBillPayStatus(settleBillNo);
|
||||
}
|
||||
catch (Exception ex){
|
||||
ex.printStackTrace();
|
||||
|
||||
@ -317,6 +317,8 @@ public class EmisSettleBillController extends BaseController
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 站点确认账单
|
||||
*/
|
||||
|
||||
@ -273,7 +273,12 @@ public class EmisSettleSubBillController extends EmisBaseController
|
||||
if(!StringUtils.isEmpty(old.getSettleBillNo())) {
|
||||
EmisSettleBill oldSettleBill=emisSettleBillService.selectEmisSettleBillBySettleBillNo(old.getSettleBillNo());
|
||||
if(oldSettleBill!=null) {
|
||||
// 重新计算账单费用,计算开票状态,计算收款状态
|
||||
emisSettleBillService.reCalcSettleBillFee(oldSettleBill);
|
||||
|
||||
emisSettleBillService.reCalcSettleBillInvoiceStatus(old.getSettleBillNo());
|
||||
|
||||
emisSettleBillService.reCalcSettleBillPayStatus(old.getSettleBillNo());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -107,4 +107,20 @@ public interface IEmisSettleBillService extends IDataAuditService
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteEmisSettleBillById(Long id) throws EmisBizError;
|
||||
|
||||
|
||||
/**
|
||||
* 重新计算账单开票状态
|
||||
* @param settleBillNo
|
||||
* @return
|
||||
*/
|
||||
|
||||
public int reCalcSettleBillInvoiceStatus(String settleBillNo);
|
||||
|
||||
/**
|
||||
* 重算账单收款状态
|
||||
* @param settleBillNo
|
||||
* @return
|
||||
*/
|
||||
public int reCalcSettleBillPayStatus(String settleBillNo);
|
||||
}
|
||||
|
||||
@ -89,13 +89,7 @@ public interface IEmisSettleInvoiceRecordService
|
||||
|
||||
public int auditCenterPass(EmisSettleInvoiceRecord inputObj) throws EmisBizError;
|
||||
|
||||
/**
|
||||
* 重新计算账单开票状态
|
||||
* @param settleBillNo
|
||||
* @return
|
||||
*/
|
||||
|
||||
public int reCalcSettleBillInvoiceStatus(String settleBillNo);
|
||||
|
||||
|
||||
|
||||
|
||||
@ -78,10 +78,5 @@ public interface IEmisSettlePayRecordService
|
||||
public int deleteEmisSettlePayRecordById(Long id);
|
||||
|
||||
|
||||
/**
|
||||
* 重新计算收款状态
|
||||
* @param settleBillNo
|
||||
* @return
|
||||
*/
|
||||
public int reCalcSettleBillPayStatus(String settleBillNo);
|
||||
|
||||
}
|
||||
|
||||
@ -11,29 +11,25 @@
|
||||
package com.xdadan.erp.emis.service.impl;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Calendar;
|
||||
import java.util.Collection;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.xdadan.erp.common.core.domain.AjaxResult;
|
||||
import com.xdadan.erp.common.utils.DateUtils;
|
||||
import com.xdadan.erp.common.utils.StringUtils;
|
||||
import com.xdadan.erp.emis.domain.EmisCustomerUser;
|
||||
import com.xdadan.erp.emis.domain.EmisSettleInvoiceRel;
|
||||
import com.xdadan.erp.emis.domain.EmisSettleSubBill;
|
||||
import com.xdadan.erp.emis.domain.*;
|
||||
import com.xdadan.erp.emis.domain.enumtype.EmisBizErrorType;
|
||||
import com.xdadan.erp.emis.domain.exception.EmisBizError;
|
||||
import com.xdadan.erp.emis.domain.stat.BillPayStatInfo;
|
||||
import com.xdadan.erp.emis.domain.stat.OpenBillStatInfo;
|
||||
import com.xdadan.erp.emis.mapper.EmisSettleSubBillMapper;
|
||||
import com.xdadan.erp.emis.mapper.*;
|
||||
import com.xdadan.erp.emis.service.EmisBaseService;
|
||||
import com.xdadan.erp.emis.utils.WaybillHelper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.xdadan.erp.emis.domain.EmisSettleBill;
|
||||
import com.xdadan.erp.emis.mapper.EmisSettleBillMapper;
|
||||
import com.xdadan.erp.emis.service.IEmisSettleBillService;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@ -43,6 +39,8 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
* @author linfso
|
||||
* @date 2024-07-03 18:54:51
|
||||
*/
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisSettleBillService
|
||||
{
|
||||
@ -52,6 +50,15 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS
|
||||
@Autowired
|
||||
private EmisSettleSubBillMapper emisSettleSubBillMapper;
|
||||
|
||||
@Autowired
|
||||
private EmisSettleInvoiceRelMapper emisSettleInvoiceRelMapper;
|
||||
|
||||
@Autowired
|
||||
private EmisSettlePayRecordMapper emisSettlePayRecordMapper;
|
||||
|
||||
@Autowired
|
||||
private EmisSettlePayRelMapper emisSettlePayRelMapper;
|
||||
|
||||
/**
|
||||
* 获取稽核数据
|
||||
* @param id
|
||||
@ -456,6 +463,174 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS
|
||||
return emisSettleBillMapper.updateEmisSettleBill(emisSettleBill);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 打开票标记
|
||||
* @param settleBillNo
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public int reCalcSettleBillInvoiceStatus(String settleBillNo){
|
||||
|
||||
EmisSettleBill oldBill = getSettleBillBySettleBillNo(settleBillNo);
|
||||
|
||||
if(oldBill==null){
|
||||
log.error("reCalcSettleBillInvoiceStatus==>账单不存在:"+settleBillNo);
|
||||
return 0;
|
||||
}
|
||||
|
||||
BigDecimal totalMoney = BigDecimal.ZERO;
|
||||
// 获取运单已经开票记录 // 查询关联的运单表
|
||||
List<Map> listRel=emisSettleInvoiceRelMapper.selectHasOpenInvoiceMapList(settleBillNo);
|
||||
if(!CollectionUtils.isEmpty(listRel)) {
|
||||
for(Map item:listRel){
|
||||
BigDecimal sumMoney = BigDecimal.valueOf(Double.valueOf(item.get("sumMoney").toString()));
|
||||
totalMoney = totalMoney.add(sumMoney);
|
||||
}
|
||||
}
|
||||
|
||||
log.error("==>reCalcSettleBillInvoiceStatus:totalMoney={},recMoney={},recMoney-totalMoney:{}",totalMoney,oldBill.getRecMoney());
|
||||
log.error("==>reCalcSettleBillInvoiceStatus:recMoney-totalMoney:{}",oldBill.getRecMoney().compareTo(totalMoney));
|
||||
|
||||
EmisSettleBill newBill = new EmisSettleBill();
|
||||
newBill.setId(oldBill.getId());
|
||||
|
||||
if(BigDecimal.ZERO.compareTo(totalMoney)==0){
|
||||
newBill.setOpenBillStatus("0");
|
||||
}else {
|
||||
if (oldBill.getRecMoney().compareTo(totalMoney) > 0) {
|
||||
newBill.setOpenBillStatus("2");
|
||||
} else {
|
||||
newBill.setOpenBillStatus("1");
|
||||
}
|
||||
}
|
||||
|
||||
// 更新账单开票状态
|
||||
emisSettleBillMapper.updateEmisSettleBill(newBill);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 重算账单收款状态
|
||||
* @param settleBillNo
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public int reCalcSettleBillPayStatus(String settleBillNo){
|
||||
|
||||
EmisSettleBill oldBill =getSettleBillBySettleBillNo(settleBillNo);
|
||||
// 获取收款记录
|
||||
List<EmisSettlePayRecord> payRecordList=emisSettlePayRecordMapper.selectSettlePayRecordListBySettleBillNo(settleBillNo);
|
||||
|
||||
// 全部收款金额
|
||||
BigDecimal totalAllPayMoney = BigDecimal.ZERO;
|
||||
|
||||
// 计算已收款金额
|
||||
BigDecimal totalPayMoney = BigDecimal.ZERO;
|
||||
|
||||
// 抵扣金额
|
||||
BigDecimal satisfyMoney = BigDecimal.ZERO;
|
||||
/* allowance_money */
|
||||
BigDecimal allowanceMoney = BigDecimal.ZERO;
|
||||
/* deduction_money */
|
||||
BigDecimal deductionMoney = BigDecimal.ZERO;
|
||||
/* other_money */
|
||||
BigDecimal otherMoney = BigDecimal.ZERO;
|
||||
|
||||
// refund_money
|
||||
BigDecimal refundMoney = BigDecimal.ZERO;
|
||||
|
||||
log.debug("reCalcSettleBillPayStatus===>应收:{}",oldBill.getRecMoney());
|
||||
|
||||
for(EmisSettlePayRecord item:payRecordList){
|
||||
|
||||
if("1".equals(item.getRecType())) {
|
||||
totalPayMoney = totalPayMoney.add(item.getPayMoney());
|
||||
satisfyMoney = satisfyMoney.add(item.getSatisfyMoney() == null ? BigDecimal.ZERO : item.getSatisfyMoney());
|
||||
allowanceMoney = allowanceMoney.add(item.getAllowanceMoney() == null ? BigDecimal.ZERO : item.getAllowanceMoney());
|
||||
deductionMoney = deductionMoney.add(item.getDeductionMoney() == null ? BigDecimal.ZERO : item.getDeductionMoney());
|
||||
otherMoney = otherMoney.add(item.getOtherMoney() == null ? BigDecimal.ZERO : item.getOtherMoney());
|
||||
}
|
||||
else if("2".equals(item.getRecType())) {
|
||||
refundMoney = refundMoney.add(item.getRefundMoney() == null ? BigDecimal.ZERO : item.getRefundMoney());
|
||||
}
|
||||
}
|
||||
|
||||
// 总应收金额
|
||||
log.debug("reCalcSettleBillPayStatus===>totalPayMoney:{},satisfyMoney:{},allowanceMoney:{},deductionMoney:{},otherMoney:{}"
|
||||
,totalPayMoney,satisfyMoney,allowanceMoney,allowanceMoney,deductionMoney,otherMoney);
|
||||
|
||||
// 收款金额-退款金额
|
||||
totalAllPayMoney=totalAllPayMoney
|
||||
.add(totalPayMoney)
|
||||
.add(satisfyMoney)
|
||||
.add(allowanceMoney)
|
||||
.add(deductionMoney)
|
||||
.add(otherMoney)
|
||||
.subtract(refundMoney);
|
||||
|
||||
EmisSettleBill newBill = new EmisSettleBill();
|
||||
newBill.setId(oldBill.getId());
|
||||
newBill.setRecedMoney(totalPayMoney);
|
||||
newBill.setSatisfyMoney(satisfyMoney);
|
||||
newBill.setAllowanceMoney(allowanceMoney);
|
||||
newBill.setOtherMoney(otherMoney);
|
||||
// 退款金额
|
||||
newBill.setRefundMoney(refundMoney);
|
||||
|
||||
// 更新账单收款状态 收款金额
|
||||
int rstDif=totalAllPayMoney.compareTo(oldBill.getRecMoney());
|
||||
log.debug("reCalcSettleBillPayStatus===>收款金额:{},应收:{}",totalAllPayMoney,oldBill.getRecMoney());
|
||||
if( totalAllPayMoney.compareTo(BigDecimal.ZERO) == 0 ){
|
||||
newBill.setPaymentStatus("0");
|
||||
}else{
|
||||
if( rstDif >= 0 ){
|
||||
// 已收款
|
||||
newBill.setPaymentStatus("1");
|
||||
emisSettleBillMapper.updateEmisSettleBill(newBill);
|
||||
}
|
||||
else{
|
||||
// 部分收款
|
||||
newBill.setPaymentStatus("2");
|
||||
emisSettleBillMapper.updateEmisSettleBill(newBill);
|
||||
}
|
||||
}
|
||||
emisSettleBillMapper.updateEmisSettleBill(newBill);
|
||||
|
||||
// 更新运单的收款状态
|
||||
if(totalAllPayMoney.compareTo(BigDecimal.ZERO) > 0){
|
||||
BigDecimal totalMoney = BigDecimal.ZERO;
|
||||
// 更新运单收款记录
|
||||
List<Map> listRel=emisSettlePayRelMapper.selectHasPayMapList(settleBillNo);
|
||||
if(!CollectionUtils.isEmpty(listRel)) {
|
||||
for(Map item:listRel){
|
||||
|
||||
String billNo= MapUtils.getString(item,"billNo",null);
|
||||
if(org.apache.commons.lang3.StringUtils.isEmpty(billNo)){
|
||||
continue;
|
||||
}
|
||||
EmisSettleSubBill subBill = emisSettleSubBillMapper.selectSettleSubBillBySubBillNo(billNo);
|
||||
BigDecimal sumMoney = BigDecimal.valueOf(Double.valueOf(item.get("sumMoney").toString()));
|
||||
totalMoney = totalMoney.add(sumMoney);
|
||||
|
||||
EmisWaybill emisWaybill = new EmisWaybill();
|
||||
emisWaybill.setBillCode(subBill.getBillCode());
|
||||
if(totalMoney.compareTo(subBill.getBillFee())>=0) {
|
||||
emisWaybill.setPaymentStatus("1");
|
||||
}else{
|
||||
emisWaybill.setPaymentStatus("2");
|
||||
}
|
||||
emisWaybillMapper.updatePayedStatus(emisWaybill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 修改结算总账单
|
||||
*
|
||||
|
||||
@ -22,6 +22,7 @@ import com.xdadan.erp.emis.mapper.EmisSettleBillMapper;
|
||||
import com.xdadan.erp.emis.mapper.EmisSettleInvoiceRelMapper;
|
||||
import com.xdadan.erp.emis.mapper.EmisSettleSubBillMapper;
|
||||
import com.xdadan.erp.emis.service.EmisBaseService;
|
||||
import com.xdadan.erp.emis.service.IEmisSettleBillService;
|
||||
import com.xdadan.erp.emis.utils.WaybillHelper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
@ -57,6 +58,9 @@ public class EmisSettleInvoiceRecordServiceImpl extends EmisBaseService implemen
|
||||
@Autowired
|
||||
private EmisSettleInvoiceRelMapper emisSettleInvoiceRelMapper;
|
||||
|
||||
@Autowired
|
||||
private IEmisSettleBillService emisSettleBillService;
|
||||
|
||||
|
||||
/**
|
||||
* 查询开票记录表
|
||||
@ -179,58 +183,13 @@ public class EmisSettleInvoiceRecordServiceImpl extends EmisBaseService implemen
|
||||
// 重算账单已开票金额
|
||||
for(int i=0;i<settBillNoArr.length;i++) {
|
||||
String billNo=settBillNoArr[i];
|
||||
reCalcSettleBillInvoiceStatus(billNo);
|
||||
emisSettleBillService.reCalcSettleBillInvoiceStatus(billNo);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* 打开票标记
|
||||
* @param settleBillNo
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public int reCalcSettleBillInvoiceStatus(String settleBillNo){
|
||||
|
||||
EmisSettleBill oldBill = getSettleBillBySettleBillNo(settleBillNo);
|
||||
|
||||
if(oldBill==null){
|
||||
log.error("reCalcSettleBillInvoiceStatus==>账单不存在:"+settleBillNo);
|
||||
return 0;
|
||||
}
|
||||
|
||||
BigDecimal totalMoney = BigDecimal.ZERO;
|
||||
// 获取运单已经开票记录 // 查询关联的运单表
|
||||
List<Map> listRel=emisSettleInvoiceRelMapper.selectHasOpenInvoiceMapList(settleBillNo);
|
||||
if(!CollectionUtils.isEmpty(listRel)) {
|
||||
for(Map item:listRel){
|
||||
BigDecimal sumMoney = BigDecimal.valueOf(Double.valueOf(item.get("sumMoney").toString()));
|
||||
totalMoney = totalMoney.add(sumMoney);
|
||||
}
|
||||
}
|
||||
|
||||
log.error("==>reCalcSettleBillInvoiceStatus:totalMoney={},recMoney={},recMoney-totalMoney:{}",totalMoney,oldBill.getRecMoney());
|
||||
log.error("==>reCalcSettleBillInvoiceStatus:recMoney-totalMoney:{}",oldBill.getRecMoney().compareTo(totalMoney));
|
||||
|
||||
EmisSettleBill newBill = new EmisSettleBill();
|
||||
newBill.setId(oldBill.getId());
|
||||
|
||||
if(BigDecimal.ZERO.compareTo(totalMoney)==0){
|
||||
newBill.setOpenBillStatus("0");
|
||||
}else {
|
||||
if (oldBill.getRecMoney().compareTo(totalMoney) > 0) {
|
||||
newBill.setOpenBillStatus("2");
|
||||
} else {
|
||||
newBill.setOpenBillStatus("1");
|
||||
}
|
||||
}
|
||||
|
||||
// 更新账单开票状态
|
||||
emisSettleBillMapper.updateEmisSettleBill(newBill);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改开票记录表
|
||||
@ -298,7 +257,7 @@ public class EmisSettleInvoiceRecordServiceImpl extends EmisBaseService implemen
|
||||
// 重新计算开票状态
|
||||
String[] settleBillArr=emisSettleInvoiceRecord.getSettleBillNo().split(",");
|
||||
for(int i=0;i<settleBillArr.length;i++){
|
||||
reCalcSettleBillInvoiceStatus(settleBillArr[i]);
|
||||
emisSettleBillService.reCalcSettleBillInvoiceStatus(settleBillArr[i]);
|
||||
}
|
||||
|
||||
return 1;
|
||||
@ -333,7 +292,7 @@ public class EmisSettleInvoiceRecordServiceImpl extends EmisBaseService implemen
|
||||
// 重新计算开票状态
|
||||
String[] settleBillArr=emisSettleInvoiceRecord.getSettleBillNo().split(",");
|
||||
for(int i=0;i<settleBillArr.length;i++){
|
||||
reCalcSettleBillInvoiceStatus(settleBillArr[i]);
|
||||
emisSettleBillService.reCalcSettleBillInvoiceStatus(settleBillArr[i]);
|
||||
}
|
||||
|
||||
return 1;
|
||||
|
||||
@ -21,6 +21,7 @@ import com.xdadan.erp.emis.mapper.EmisSettleBillMapper;
|
||||
import com.xdadan.erp.emis.mapper.EmisSettlePayRelMapper;
|
||||
import com.xdadan.erp.emis.mapper.EmisSettleSubBillMapper;
|
||||
import com.xdadan.erp.emis.service.EmisBaseService;
|
||||
import com.xdadan.erp.emis.service.IEmisSettleBillService;
|
||||
import com.xdadan.erp.emis.utils.WaybillHelper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
@ -53,6 +54,9 @@ public class EmisSettlePayRecordServiceImpl extends EmisBaseService implements I
|
||||
@Autowired
|
||||
private EmisSettleSubBillMapper emisSettleSubBillMapper;
|
||||
|
||||
@Autowired
|
||||
private IEmisSettleBillService emisSettleBillService;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
@ -144,128 +148,12 @@ public class EmisSettlePayRecordServiceImpl extends EmisBaseService implements I
|
||||
emisSettlePayRecordMapper.insertEmisSettlePayRecord(emisSettlePayRecord);
|
||||
|
||||
// 重新计算账单收款信息
|
||||
reCalcSettleBillPayStatus(emisSettlePayRecord.getSettleBillNo());
|
||||
emisSettleBillService.reCalcSettleBillPayStatus(emisSettlePayRecord.getSettleBillNo());
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* 重算账单收款金额
|
||||
* @param settleBillNo
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public int reCalcSettleBillPayStatus(String settleBillNo){
|
||||
|
||||
EmisSettleBill oldBill =getSettleBillBySettleBillNo(settleBillNo);
|
||||
// 获取收款记录
|
||||
List<EmisSettlePayRecord> payRecordList=emisSettlePayRecordMapper.selectSettlePayRecordListBySettleBillNo(settleBillNo);
|
||||
|
||||
// 全部收款金额
|
||||
BigDecimal totalAllPayMoney = BigDecimal.ZERO;
|
||||
|
||||
// 计算已收款金额
|
||||
BigDecimal totalPayMoney = BigDecimal.ZERO;
|
||||
|
||||
// 抵扣金额
|
||||
BigDecimal satisfyMoney = BigDecimal.ZERO;
|
||||
/* allowance_money */
|
||||
BigDecimal allowanceMoney = BigDecimal.ZERO;
|
||||
/* deduction_money */
|
||||
BigDecimal deductionMoney = BigDecimal.ZERO;
|
||||
/* other_money */
|
||||
BigDecimal otherMoney = BigDecimal.ZERO;
|
||||
|
||||
// refund_money
|
||||
BigDecimal refundMoney = BigDecimal.ZERO;
|
||||
|
||||
log.debug("reCalcSettleBillPayStatus===>应收:{}",oldBill.getRecMoney());
|
||||
|
||||
for(EmisSettlePayRecord item:payRecordList){
|
||||
|
||||
if("1".equals(item.getRecType())) {
|
||||
totalPayMoney = totalPayMoney.add(item.getPayMoney());
|
||||
satisfyMoney = satisfyMoney.add(item.getSatisfyMoney() == null ? BigDecimal.ZERO : item.getSatisfyMoney());
|
||||
allowanceMoney = allowanceMoney.add(item.getAllowanceMoney() == null ? BigDecimal.ZERO : item.getAllowanceMoney());
|
||||
deductionMoney = deductionMoney.add(item.getDeductionMoney() == null ? BigDecimal.ZERO : item.getDeductionMoney());
|
||||
otherMoney = otherMoney.add(item.getOtherMoney() == null ? BigDecimal.ZERO : item.getOtherMoney());
|
||||
}
|
||||
else if("2".equals(item.getRecType())) {
|
||||
refundMoney = refundMoney.add(item.getRefundMoney() == null ? BigDecimal.ZERO : item.getRefundMoney());
|
||||
}
|
||||
}
|
||||
|
||||
// 总应收金额
|
||||
log.debug("reCalcSettleBillPayStatus===>totalPayMoney:{},satisfyMoney:{},allowanceMoney:{},deductionMoney:{},otherMoney:{}"
|
||||
,totalPayMoney,satisfyMoney,allowanceMoney,allowanceMoney,deductionMoney,otherMoney);
|
||||
|
||||
// 收款金额-退款金额
|
||||
totalAllPayMoney=totalAllPayMoney
|
||||
.add(totalPayMoney)
|
||||
.add(satisfyMoney)
|
||||
.add(allowanceMoney)
|
||||
.add(deductionMoney)
|
||||
.add(otherMoney)
|
||||
.subtract(refundMoney);
|
||||
|
||||
EmisSettleBill newBill = new EmisSettleBill();
|
||||
newBill.setId(oldBill.getId());
|
||||
newBill.setRecedMoney(totalPayMoney);
|
||||
newBill.setSatisfyMoney(satisfyMoney);
|
||||
newBill.setAllowanceMoney(allowanceMoney);
|
||||
newBill.setOtherMoney(otherMoney);
|
||||
// 退款金额
|
||||
newBill.setRefundMoney(refundMoney);
|
||||
|
||||
// 更新账单收款状态 收款金额
|
||||
int rstDif=totalAllPayMoney.compareTo(oldBill.getRecMoney());
|
||||
log.debug("reCalcSettleBillPayStatus===>收款金额:{},应收:{}",totalAllPayMoney,oldBill.getRecMoney());
|
||||
if( totalAllPayMoney.compareTo(BigDecimal.ZERO) == 0 ){
|
||||
newBill.setPaymentStatus("0");
|
||||
}else{
|
||||
if( rstDif >= 0 ){
|
||||
// 已收款
|
||||
newBill.setPaymentStatus("1");
|
||||
emisSettleBillMapper.updateEmisSettleBill(newBill);
|
||||
}
|
||||
else{
|
||||
// 部分收款
|
||||
newBill.setPaymentStatus("2");
|
||||
emisSettleBillMapper.updateEmisSettleBill(newBill);
|
||||
}
|
||||
}
|
||||
emisSettleBillMapper.updateEmisSettleBill(newBill);
|
||||
|
||||
// 更新运单的收款状态
|
||||
if(totalAllPayMoney.compareTo(BigDecimal.ZERO) > 0){
|
||||
BigDecimal totalMoney = BigDecimal.ZERO;
|
||||
// 更新运单收款记录
|
||||
List<Map> listRel=emisSettlePayRelMapper.selectHasPayMapList(settleBillNo);
|
||||
if(!CollectionUtils.isEmpty(listRel)) {
|
||||
for(Map item:listRel){
|
||||
|
||||
String billNo= MapUtils.getString(item,"billNo",null);
|
||||
if(StringUtils.isEmpty(billNo)){
|
||||
continue;
|
||||
}
|
||||
EmisSettleSubBill subBill = emisSettleSubBillMapper.selectSettleSubBillBySubBillNo(billNo);
|
||||
BigDecimal sumMoney = BigDecimal.valueOf(Double.valueOf(item.get("sumMoney").toString()));
|
||||
totalMoney = totalMoney.add(sumMoney);
|
||||
|
||||
EmisWaybill emisWaybill = new EmisWaybill();
|
||||
emisWaybill.setBillCode(subBill.getBillCode());
|
||||
if(totalMoney.compareTo(subBill.getBillFee())>=0) {
|
||||
emisWaybill.setPaymentStatus("1");
|
||||
}else{
|
||||
emisWaybill.setPaymentStatus("2");
|
||||
}
|
||||
emisWaybillMapper.updatePayedStatus(emisWaybill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改账单收退款记录
|
||||
|
||||
@ -3455,19 +3455,10 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
// Snowflake snowflake = IdUtil.getSnowflake(0, 0);
|
||||
// Long orderId = snowflake.nextId();
|
||||
// String orderSn = "TO" + orderId.toString();
|
||||
// System.out.println(orderSn);
|
||||
String calcExp="100+(w-1)*52";
|
||||
String calcExprStr=calcExp.replaceAll("w","28")
|
||||
.replaceAll("s","0")
|
||||
.replaceAll("d","0");
|
||||
System.out.println(calcExprStr);
|
||||
double volumeWeight=0.8 * (1000000 / Double.valueOf(4000));
|
||||
|
||||
System.out.println(volumeWeight);
|
||||
|
||||
// log.info("计算公式:"+calcExprStr+",重量:"+emisWaybill.getSettlementWeight());
|
||||
double fee = Double.valueOf(AviatorEvaluator.execute(calcExprStr).toString());
|
||||
System.out.println(fee);
|
||||
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user