md
This commit is contained in:
parent
5b3cd388ea
commit
bd54ba7f99
@ -237,28 +237,12 @@ public class EmisBaseService {
|
||||
if(!CollectionUtils.isEmpty(listCreditCustomer)){
|
||||
EmisCreditCustomer item0=listCreditCustomer.get(0);
|
||||
BigDecimal preBalance=item0.getCreditMoney().subtract(item0.getUseMoney());
|
||||
|
||||
if(emisWaybill.getFreight().compareTo(preBalance) == 1 ){
|
||||
// 提示异常
|
||||
throw new EmisBizError(EmisBizErrorType.FAIL, "超出信用额度");
|
||||
}else{
|
||||
|
||||
// 当前余额,变动后余额,变动金额
|
||||
BigDecimal backBalance=preBalance.subtract(emisWaybill.getFreight());
|
||||
// 加入额度占用
|
||||
BigDecimal changeMoney=emisWaybill.getFreight();
|
||||
|
||||
// 扣减额度,插入扣额度数据明细
|
||||
EmisCreditCustomerRecord itemRecord=new EmisCreditCustomerRecord();
|
||||
itemRecord.setAccCode(item0.getAccCode());
|
||||
itemRecord.setCustomerCode(item0.getCustomerCode());
|
||||
itemRecord.setBillCode(emisWaybill.getBillCode());
|
||||
itemRecord.setPreBalance(preBalance);
|
||||
itemRecord.setChangeMoney(emisWaybill.getFreight());
|
||||
itemRecord.setChangeType("2");
|
||||
itemRecord.setBackBalance(backBalance);
|
||||
emisCreditCustomerRecordMapper.insertEmisCreditCustomerRecord(itemRecord);
|
||||
|
||||
// 更新使用额度
|
||||
emisCreditCustomerMapper.changeBalance(item0.getAccCode(),changeMoney);
|
||||
}
|
||||
}
|
||||
@ -280,22 +264,8 @@ public class EmisBaseService {
|
||||
// 提示异常
|
||||
throw new EmisBizError(EmisBizErrorType.FAIL, "超出信用额度");
|
||||
}else{
|
||||
|
||||
// 当前余额,变动后余额,变动金额
|
||||
BigDecimal backBalance=preBalance.subtract(emisWaybill.getFreight());
|
||||
BigDecimal changeMoney=emisWaybill.getFreight();
|
||||
// 扣减额度,插入扣额度数据明细
|
||||
EmisCreditSalesmenRecord itemRecord=new EmisCreditSalesmenRecord();
|
||||
itemRecord.setAccCode(item0.getAccCode());
|
||||
itemRecord.setSalesmen(item0.getSalesmen());
|
||||
itemRecord.setBillCode(emisWaybill.getBillCode());
|
||||
itemRecord.setPreBalance(preBalance);
|
||||
itemRecord.setChangeMoney(emisWaybill.getFreight());
|
||||
itemRecord.setChangeType("2");
|
||||
itemRecord.setBackBalance(backBalance);
|
||||
emisCreditSalesmenRecordMapper.insertEmisCreditSalesmenRecord(itemRecord);
|
||||
|
||||
// 更新余额
|
||||
BigDecimal changeMoney=emisWaybill.getFreight();
|
||||
emisCreditSalesmenMapper.changeBalance(item0.getAccCode(),changeMoney);
|
||||
}
|
||||
}
|
||||
@ -303,36 +273,101 @@ public class EmisBaseService {
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除运单使用信用额度
|
||||
* @param emisWaybill
|
||||
* 重新计算使用信用额度
|
||||
* @param oldBill
|
||||
* @param newBill
|
||||
*/
|
||||
public void deleteUseQuotaCredit(EmisWaybill emisWaybill) throws EmisBizError {
|
||||
// 根据运单查询使用记录,删除以前的记录插入新的记录
|
||||
// 删除月结使用
|
||||
EmisCreditCustomerRecord queryCreditCustomerRecord=new EmisCreditCustomerRecord();
|
||||
queryCreditCustomerRecord.setBillCode(emisWaybill.getBillCode());
|
||||
queryCreditCustomerRecord.setChangeType("2");
|
||||
List<EmisCreditCustomerRecord> listCreditCustomerRecord=emisCreditCustomerRecordMapper.selectEmisCreditCustomerRecordList(queryCreditCustomerRecord);
|
||||
if(!CollectionUtils.isEmpty(listCreditCustomerRecord)){
|
||||
for (EmisCreditCustomerRecord item:listCreditCustomerRecord) {
|
||||
// 恢复额度
|
||||
emisCreditCustomerMapper.changeBalance(item.getAccCode(),BigDecimal.ZERO.subtract(item.getChangeMoney()));
|
||||
// 删除记录
|
||||
emisCreditCustomerRecordMapper.deleteEmisCreditCustomerRecordById(item.getId());
|
||||
public void adjustUseQuotaCredit(EmisWaybill oldBill,EmisWaybill newBill) throws EmisBizError {
|
||||
|
||||
// 更新旧的统计
|
||||
if(oldBill!=null) {
|
||||
String oldPaymentType = oldBill.getPaymentType();
|
||||
if ("2".equals(oldPaymentType)
|
||||
|| "4".equals(oldPaymentType)
|
||||
|| "5".equals(oldPaymentType)
|
||||
) {
|
||||
EmisCreditCustomer queryCreditCustomer = new EmisCreditCustomer();
|
||||
queryCreditCustomer.setMonthlyPayCode(oldBill.getCustNo());
|
||||
queryCreditCustomer.getParams().put("sendDate", oldBill.getSendDate());
|
||||
queryCreditCustomer.setTransType(oldBill.getTransType());
|
||||
List<EmisCreditCustomer> listCreditCustomer = emisCreditCustomerMapper.selectEmisCreditCustomerList(queryCreditCustomer);
|
||||
|
||||
if (!CollectionUtils.isEmpty(listCreditCustomer)) {
|
||||
EmisCreditCustomer item0 = listCreditCustomer.get(0);
|
||||
// 获取已使用金额
|
||||
BigDecimal useMoney = emisCreditCustomerMapper.getUseMoney(item0);
|
||||
|
||||
EmisCreditCustomer upd = new EmisCreditCustomer();
|
||||
upd.setId(item0.getId());
|
||||
upd.setUseMoney(useMoney);
|
||||
emisCreditCustomerMapper.updateEmisCreditCustomer(upd);
|
||||
}
|
||||
} else if ("1".equals(oldPaymentType) || "3".equals(oldPaymentType)) {
|
||||
// 现金额度占用
|
||||
EmisCreditSalesmen queryCreditSalesmen = new EmisCreditSalesmen();
|
||||
queryCreditSalesmen.setSalesmen(oldBill.getSalesmen());
|
||||
queryCreditSalesmen.getParams().put("sendDate", oldBill.getSendDate());
|
||||
queryCreditSalesmen.setTransType(oldBill.getTransType());
|
||||
queryCreditSalesmen.setBlOpen("1");
|
||||
List<EmisCreditSalesmen> listCreditSalesmen = emisCreditSalesmenMapper.selectEmisCreditSalesmenList(queryCreditSalesmen);
|
||||
|
||||
if (!CollectionUtils.isEmpty(listCreditSalesmen)) {
|
||||
EmisCreditSalesmen item0 = listCreditSalesmen.get(0);
|
||||
// 获取已使用金额
|
||||
BigDecimal useMoney = emisCreditSalesmenMapper.getUseMoney(item0);
|
||||
|
||||
EmisCreditSalesmen upd = new EmisCreditSalesmen();
|
||||
upd.setId(item0.getId());
|
||||
upd.setUseMoney(useMoney);
|
||||
emisCreditSalesmenMapper.updateEmisCreditSalesmen(upd);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 删除现金使用
|
||||
EmisCreditSalesmenRecord queryCreditSalesmenRecord=new EmisCreditSalesmenRecord();
|
||||
queryCreditSalesmenRecord.setBillCode(emisWaybill.getBillCode());
|
||||
queryCreditSalesmenRecord.setChangeType("2");
|
||||
List<EmisCreditSalesmenRecord> listCreditSalesmenRecord=emisCreditSalesmenRecordMapper.selectEmisCreditSalesmenRecordList(queryCreditSalesmenRecord);
|
||||
if(!CollectionUtils.isEmpty(listCreditSalesmenRecord)){
|
||||
for (EmisCreditSalesmenRecord item:listCreditSalesmenRecord) {
|
||||
// 恢复额度
|
||||
emisCreditSalesmenMapper.changeBalance(item.getAccCode(),BigDecimal.ZERO.subtract(item.getChangeMoney()));
|
||||
// 删除记录
|
||||
emisCreditSalesmenRecordMapper.deleteEmisCreditSalesmenRecordById(item.getId());
|
||||
// 更新新的统计
|
||||
if(newBill!=null) {
|
||||
String newPaymentType = newBill.getPaymentType();
|
||||
if ("2".equals(newPaymentType)
|
||||
|| "4".equals(newPaymentType)
|
||||
|| "5".equals(newPaymentType)
|
||||
) {
|
||||
EmisCreditCustomer queryCreditCustomer = new EmisCreditCustomer();
|
||||
queryCreditCustomer.setMonthlyPayCode(newBill.getCustNo());
|
||||
queryCreditCustomer.getParams().put("sendDate", newBill.getSendDate());
|
||||
queryCreditCustomer.setTransType(newBill.getTransType());
|
||||
List<EmisCreditCustomer> listCreditCustomer = emisCreditCustomerMapper.selectEmisCreditCustomerList(queryCreditCustomer);
|
||||
|
||||
if (!CollectionUtils.isEmpty(listCreditCustomer)) {
|
||||
EmisCreditCustomer item0 = listCreditCustomer.get(0);
|
||||
// 获取已使用金额
|
||||
BigDecimal useMoney = emisCreditCustomerMapper.getUseMoney(item0);
|
||||
|
||||
EmisCreditCustomer upd = new EmisCreditCustomer();
|
||||
upd.setId(item0.getId());
|
||||
upd.setUseMoney(useMoney);
|
||||
emisCreditCustomerMapper.updateEmisCreditCustomer(upd);
|
||||
}
|
||||
} else if ("1".equals(newPaymentType) || "3".equals(newPaymentType)) {
|
||||
// 现金额度占用
|
||||
EmisCreditSalesmen queryCreditSalesmen = new EmisCreditSalesmen();
|
||||
queryCreditSalesmen.setSalesmen(newBill.getSalesmen());
|
||||
queryCreditSalesmen.getParams().put("sendDate", newBill.getSendDate());
|
||||
queryCreditSalesmen.setTransType(newBill.getTransType());
|
||||
queryCreditSalesmen.setBlOpen("1");
|
||||
List<EmisCreditSalesmen> listCreditSalesmen = emisCreditSalesmenMapper.selectEmisCreditSalesmenList(queryCreditSalesmen);
|
||||
|
||||
if (!CollectionUtils.isEmpty(listCreditSalesmen)) {
|
||||
EmisCreditSalesmen item0 = listCreditSalesmen.get(0);
|
||||
// 获取已使用金额
|
||||
BigDecimal useMoney = emisCreditSalesmenMapper.getUseMoney(item0);
|
||||
|
||||
EmisCreditSalesmen upd = new EmisCreditSalesmen();
|
||||
upd.setId(item0.getId());
|
||||
upd.setUseMoney(useMoney);
|
||||
emisCreditSalesmenMapper.updateEmisCreditSalesmen(upd);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1408,11 +1408,9 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
||||
confirmOrder(emisWaybillOld,emisWaybillSave);
|
||||
|
||||
}else {
|
||||
|
||||
// if(OrderStatus.INIT.statusCode.equals(emisWaybillOld.getOrderStatus())){
|
||||
// throw new EmisBizError(EmisBizErrorType.BILL_LOCK, "未接单,不允许修改");
|
||||
// }
|
||||
|
||||
// 检查是否已锁单
|
||||
checkDBBillIsLock(emisWaybillOld);
|
||||
|
||||
@ -1424,16 +1422,14 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
||||
// 修改运单
|
||||
reUpdateWayBill(emisWaybillOld, emisWaybillSave);
|
||||
|
||||
// 信用额度计算
|
||||
adjustUseQuotaCredit(emisWaybillOld,emisWaybillSave);
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 下单接口Oms
|
||||
* @param emisWaybillSave
|
||||
@ -3150,6 +3146,16 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
// 运单立即重新出账
|
||||
try {
|
||||
// 出账
|
||||
redoGenerateBill(emisWaybillSave.getBillCode());
|
||||
// 重新计算提成
|
||||
emisCommissionProfitService.reCalcProfitByBillCode(emisWaybillSave.getBillCode());
|
||||
|
||||
}catch (Exception ex){
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user