This commit is contained in:
linfso 2024-06-17 22:34:05 +08:00
parent 41c711db45
commit d2b2d62ead
2 changed files with 39 additions and 3 deletions

View File

@ -591,7 +591,6 @@ public class EmisBaseService {
}
else{
throw new EmisBizError(EmisBizErrorType.FAIL, "费用增减类型错误!");
}
// 变动后余额

View File

@ -788,18 +788,55 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
}
}
// 判断网点余额-运单金额 是否足够,如果不够则不允许下单
EmisSiteAccount emisSiteAccount=getSiteAccountBySiteCode(emisWaybillSave.getSendSiteCode());
if(emisSiteAccount==null){
throw new EmisBizError(EmisBizErrorType.FAIL,"网点结算账户不存在,请先开结算账户");
}
BigDecimal curMoney=emisSiteAccount.getCurMoney();
BigDecimal closeMoney=emisSiteAccount.getCloseMoney();
BigDecimal newCurMoney=curMoney.subtract(emisWaybillSave.getFreight());
if(newCurMoney.compareTo(closeMoney)==-1){
throw new EmisBizError(EmisBizErrorType.FAIL,"网点余额不足,请充值");
}
// 公共计算部分
calcWayBillCommonInfo(emisWaybillSave,true);
//补齐数据
emisWaybillSave.preInsert();
emisWaybillMapper.insertEmisWaybill(emisWaybillSave);
// 新增运单结算信息
// 增加结算账户额度,插入明细数据
EmisSiteSettleRecord emisSiteSettleRecord=new EmisSiteSettleRecord();
emisSiteSettleRecord.setAccCode(emisSiteAccount.getAccCode());
emisSiteSettleRecord.setBillCode(emisWaybillSave.getBillCode());
emisSiteSettleRecord.setRecPayType("2"); // 应付
emisSiteSettleRecord.setSettleType("003");// 运输费用
emisSiteSettleRecord.setSettleName("预付款-充值");
emisSiteSettleRecord.setCurMoney(emisWaybillSave.getFreight());
emisSiteSettleRecord.setCurConfirmMoney(emisWaybillSave.getFreight());
emisSiteSettleRecord.setChangeType("2"); // 减少
emisSiteSettleRecord.setCurrency("CNY");
emisSiteSettleRecord.setChangeDate(new Date());
emisSiteSettleRecord.setSiteCode(emisWaybillSave.getSendSiteCode());
emisSiteSettleRecord.setSourceType("pc");
emisSiteSettleRecord.setOperataDate(new Date());
emisSiteSettleRecord.setFinanceDate(new Date());
emisSiteSettleRecord.setBlCenter("1");
emisSiteSettleRecord.setCenterCode(getCurrentUser().getOwnerSiteCode());
emisSiteSettleRecord.setCenterManCode(getCurrentUser().getEmpCode());
emisSiteSettleRecord.setBlChargeFee("1");
addSiteSettleRecord(emisSiteSettleRecord);
// 扣减子单
emisElectronicSitePagService.realMatchSubBill(emisWaybillSave.getSendSiteCode(),"T7080",emisWaybillSave.getParcelQty());
// 产生主键插入其他数据
// 插入费用
List<EmisWaybillFeeitem> feeitemList=emisWaybillSave.getFeeitemList();