This commit is contained in:
linfso 2024-07-08 05:32:24 +08:00
parent e932422896
commit f0f7d74254
2 changed files with 63 additions and 2 deletions

View File

@ -864,6 +864,66 @@ public class EmisBaseService {
}
/**
* 增加财务中心结算记录
* @param emisSiteSettleRecord
*/
public void addCenterSettleRecord(EmisSiteSettleRecord emisSiteSettleRecord) throws EmisBizError {
String lockKey="LOCK:CENTERACCOUNT:CHANGE-"+emisSiteSettleRecord.getAccCode();
// 加锁操作
redissonService.lock(lockKey,300);
try {
// 调整账户总余额
EmisSiteAccount emisSiteAccount = getSiteAccountBySiteCode(emisSiteSettleRecord.getSiteCode());
if (emisSiteAccount == null) {
throw new EmisBizError(EmisBizErrorType.FAIL, "网点账户不存在,请先建立网点账户");
}
BigDecimal curMoney=emisSiteAccount.getCurMoney();
BigDecimal confirmMoney=emisSiteAccount.getConfirmMoney();
// 变动前余额
emisSiteSettleRecord.setPreBalance(curMoney);
emisSiteSettleRecord.setPreConfirmBalance(confirmMoney);
// 总账户变动
// 增加
if("1".equals(emisSiteSettleRecord.getChangeType())){
curMoney=curMoney.add(emisSiteSettleRecord.getCurMoney());
confirmMoney=confirmMoney.add(emisSiteSettleRecord.getCurConfirmMoney());
}
// 减少
else if("2".equals(emisSiteSettleRecord.getChangeType())){
curMoney=curMoney.subtract(emisSiteSettleRecord.getCurMoney());
confirmMoney=confirmMoney.subtract(emisSiteSettleRecord.getCurConfirmMoney());
}
else{
throw new EmisBizError(EmisBizErrorType.FAIL, "费用增减类型错误!");
}
// 变动后余额
emisSiteSettleRecord.setBackBalance(curMoney);
emisSiteSettleRecord.setBackConfirmBalance(confirmMoney);
emisSiteSettleRecord.setDataFrom(WaybillHelper.getDataFrom());
// 插入明细记录
emisSiteSettleRecordMapper.insertEmisSiteSettleRecord(emisSiteSettleRecord);
// 调整总账户余额
emisSiteAccount.setCurMoney(curMoney);
emisSiteAccount.setConfirmMoney(confirmMoney);
emisSiteAccountMapper.updateSiteAccountBalance(emisSiteAccount);
}catch(Exception ex){
ex.printStackTrace();
}
redissonService.unlock(lockKey);
}
/**
* 更新打印状态
* @param billCode

View File

@ -747,6 +747,9 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
emisWaybillSave.setDestinationCenterCode(destSite.getParentSiteCode());
}
// 初始 派件网点=目的网点
emisWaybillSave.setDispatchSiteCode(emisWaybillSave.getDispatchUnderlingSiteName());
// 目的地名称
EmisDestination destination=getDestinationByCode(emisWaybillSave.getDestinationCode());
@ -1110,8 +1113,6 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
Map<String,Object> scanDateItem = new HashMap<>();
scanDateItem.put("billCode",emisWaybillSave.getBillCode());
// scanDateItem.put("scanSiteCode",emisWaybillSave.getSendSiteCode());
// scanDateItem.put("scanManCode",dispatchOrSendManCode);
scanDateItem.put("dispatchOrSendManCode",dispatchOrSendManCode);
scanDateItem.put("scanDate", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS,emisWaybillSave.getSendDate()));
scanDateItem.put("scanWeight", "0.0");