Merge pull request 'demand: 运单录入/运单修改/运单批量录入/网点费用申请:目的国、产品信息、寄件国家地区信息需要和起始网点一致, 报价计算逻辑改为根据始发网点计算' (#120) from develop into master

Reviewed-on: http://git.xdadan.loc/tanex/emis-service/pulls/120
This commit is contained in:
heyu 2025-07-15 16:08:36 +08:00
commit 1a9adcc5c8
3 changed files with 18 additions and 3 deletions

View File

@ -146,6 +146,10 @@ public interface IEmisWaybillService extends IDataAuditService
public int realSubmitOrder(EmisWaybill emisWaybill) throws EmisBizError;
public void checkCountry(EmisWaybill emisWaybill) throws EmisBizError;
/**
* OMS下单
* @param emisWaybill

View File

@ -134,6 +134,8 @@ public class EmisWaybillAjustApplyServiceImpl extends EmisBaseService implements
// 检查月结客户首次签约日期,首次签约之前开的不允许修改
checkFirstSigningDay(emisWaybillOld, getEmisWaybillNewFromJson(emisWaybillAjustApply));
emisWaybillService.checkCountry(getEmisWaybillNewFromJson(emisWaybillAjustApply));
// 检查月结/现金客户额度
// bug:1657 调整后逻辑:单证部同事 员工表标识“单证专属”岗位登记的网点费用申请,不用判断 现金额度和月结客户额度
boolean isDZZS=checkIsDZZS(emisWaybillAjustApply.getApplyManCode());

View File

@ -3287,13 +3287,17 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
}
}
private void checkCountry(EmisWaybill emisWaybillSave) throws EmisBizError {
public void checkCountry(EmisWaybill emisWaybillSave) throws EmisBizError {
EmisTransLine emisTransLine = new EmisTransLine();
emisTransLine.setLineCode(emisWaybillSave.getTransLineType());
List<EmisTransLine> emisTransLines = emisTransLineMapper.selectEmisTransLineList(emisTransLine);
if(CollectionUtil.isEmpty(emisTransLines)){
EmisSite siteByCode = getSiteByCode(emisWaybillSave.getStartSiteCode());
if(CollectionUtil.isEmpty(emisTransLines)||Objects.isNull(siteByCode)){
return;
}
if(!siteByCode.getCountryCode().equals(emisTransLines.get(0).getFromCountry())){
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR, "始发网点与所选线路不匹配" );
}
if(emisWaybillSave.getSendCountry().equals(emisTransLines.get(0).getFromCountry())){
return;
}
@ -3511,6 +3515,7 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
checkFeeWaybill.setTotalVolume(emisWaybillSave.getTotalVolume());
checkFeeWaybill.setSendSiteCode(emisWaybillSave.getSendSiteCode());
checkFeeWaybill.setStartSiteCode(emisWaybillSave.getStartSiteCode());
checkFeeWaybill.setDispatchUnderlingSiteCode(emisWaybillSave.getDispatchUnderlingSiteCode());
checkFeeWaybill.setCustomsClear(emisWaybillSave.getCustomsClear());
checkFeeWaybill.setCustomsEclaration(emisWaybillSave.getCustomsEclaration());
@ -3899,9 +3904,13 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
emisWaybill.setSendDate(new Date());
}
if (StringUtils.isBlank(emisWaybill.getStartSiteCode())) {
emisWaybill.setStartSiteCode(emisWaybill.getSendSiteCode());
}
// bug: 1704 按照运单号开单日期去报价表抓取对应的报价进行计算
List<EmisQuotePrice> emisQuotePriceList=getValidQuotePriceList(emisWaybill.getTransLineType(),emisWaybill.getProductType(),
emisWaybill.getSendSiteCode(),emisWaybill.getDispatchUnderlingSiteCode(),
emisWaybill.getStartSiteCode(),emisWaybill.getDispatchUnderlingSiteCode(),
emisWaybill.getCalcFeeType(),emisWaybill.getCustomerCode(),emisWaybill.getCustNo(),emisWaybill.getSendDate()
);