Merge pull request 'develop' (#204) from develop into master

Reviewed-on: http://git.xdadan.loc/tanex/emis-service/pulls/204
This commit is contained in:
heyu 2025-10-21 16:48:28 +08:00
commit b3dbcf31a5
3 changed files with 35 additions and 1 deletions

View File

@ -443,7 +443,7 @@ public class EmisWaybillController extends EmisBaseController
emisWaybillService.realSubmitOrder(emisWaybillSave);
JSONObject jObjOut = new JSONObject();
jObjOut.put("billCode", waybillOrder.getBillCode());
jObjOut.put("billCode", emisWaybillSave.getBillCode());
// jObjOut.put("prodName", waybillOrder.getProductType());
return AjaxResult.success("下单成功", jObjOut);

View File

@ -4975,6 +4975,8 @@ public class EmisBaseService {
miss.setCreateBy("system");
miss.setCreateTime(now);
miss.setCreateSite("88888");
miss.setStartSiteCode(waybill.getStartSiteCode());
miss.setNextSiteCode(waybill.getDestinationCode());
return miss;
}

View File

@ -3169,6 +3169,9 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
*/
private void addNewWaybill(EmisWaybill emisWaybillSave) throws EmisBizError {
// 当寄件国家为0095或0855时,去除billCode和billCodeSub中的第一个T
modifyBillCode(emisWaybillSave);
// 获取运单号,判断是不是子单已存在
boolean isExists = checkWaybillIsExists(emisWaybillSave.getBillCode());
if(isExists){
@ -3354,6 +3357,32 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
}
}
private static void modifyBillCode(EmisWaybill emisWaybillSave) {
if ("0095".equals(emisWaybillSave.getSendCountry()) || "0855".equals(emisWaybillSave.getSendCountry())) {
// 处理主单号,去除第一个T
if (emisWaybillSave.getBillCode() != null && emisWaybillSave.getBillCode().startsWith("T")) {
emisWaybillSave.setBillCode(emisWaybillSave.getBillCode().substring(1));
}
// 处理子单号,对每个用逗号分隔的单号去除第一个T
if (emisWaybillSave.getBillCodeSub() != null && !emisWaybillSave.getBillCodeSub().isEmpty()) {
String[] subBillCodes = emisWaybillSave.getBillCodeSub().split(",");
StringBuilder processedSubBillCodes = new StringBuilder();
for (int i = 0; i < subBillCodes.length; i++) {
String subBillCode = subBillCodes[i].trim();
if (subBillCode.startsWith("T")) {
subBillCode = subBillCode.substring(1);
}
if (i > 0) {
processedSubBillCodes.append(",");
}
processedSubBillCodes.append(subBillCode);
}
emisWaybillSave.setBillCodeSub(processedSubBillCodes.toString());
}
}
}
public void checkCountry(EmisWaybill emisWaybillSave) throws EmisBizError {
EmisTransLine emisTransLine = new EmisTransLine();
emisTransLine.setLineCode(emisWaybillSave.getTransLineType());
@ -3416,6 +3445,9 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
*/
private void addNewWaybillByOms(EmisWaybill emisWaybillSave) throws EmisBizError {
// 当寄件国家为0095或0855时,去除billCode和billCodeSub中的第一个T
modifyBillCode(emisWaybillSave);
// 设定为客户下单,下单时间为当前时间
this.resetOmsWaybillData(emisWaybillSave);