From 04ddb8bb2717881a0fecbf9e72a6069c36b527c4 Mon Sep 17 00:00:00 2001 From: linfso Date: Fri, 20 Dec 2024 12:59:14 +0800 Subject: [PATCH] md --- .../erp/emis/service/IEmisWaybillService.java | 2 + .../service/impl/EmisWaybillServiceImpl.java | 60 ++++++++++++++++++- .../mapper/EmisExchangeRateMapper.xml | 4 +- 3 files changed, 62 insertions(+), 4 deletions(-) diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWaybillService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWaybillService.java index 2737b0224..cc31c3b0f 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWaybillService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWaybillService.java @@ -106,6 +106,8 @@ public interface IEmisWaybillService extends IDataAuditService */ public int draftSubmitOrder(EmisWaybill emisWaybill,boolean isOms) throws EmisBizError; + public int draftSubmitOrderByOms(EmisWaybill emisWaybill,boolean isOms) throws EmisBizError; + public int realMatchOrderApi(EmisWaybill emisWaybillSave) throws EmisBizError; diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java index 6fa0916e2..3d76db46c 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java @@ -373,6 +373,62 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb return 1; } + /** + * OMS 草稿方式批量下单 + * @param emisWaybillSave + * @param isOms + * @return + * @throws EmisBizError + */ + @Override + @Transactional + public int draftSubmitOrderByOms(EmisWaybill emisWaybillSave,boolean isOms) throws EmisBizError { + + // 如果没有单号就生成单号,如果有单号需要判断是否重复 + if( !StringUtils.isEmpty(emisWaybillSave.getBillCode()) ) { + + String billCode=WaybillHelper.formatQueryValue(emisWaybillSave.getBillCode()); + emisWaybillSave.setBillCode(billCode); + + boolean isExists = this.checkWaybillIsExists(emisWaybillSave.getBillCode()); + if (isExists) { + throw new EmisBizError(EmisBizErrorType.EXISTS, "运单号重复"); + } + } + + // 转换草稿数据到真实数据 + cvtWaybillDraftToReal(emisWaybillSave,isOms); + + String sendSiteCode=null; + // 生成运单 + if(!isOms){ + sendSiteCode=SecurityUtils.getLoginUser().getUser().getOwnerSiteCode(); + emisWaybillSave.setSendSiteCode(sendSiteCode); + }else{ + sendSiteCode=emisWaybillSave.getSendSiteCode(); + emisWaybillSave.setSendSiteCode(sendSiteCode); + } + + if(StringUtils.isEmpty(sendSiteCode)){ + throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1, "寄件地址不在网点服务区"); + } + + if(StringUtils.isEmpty(emisWaybillSave.getBillCode()) ) { + // 生成新的运单号 + String waybillNo = emisElectronicSitePagService.realMatchWaybill(sendSiteCode, "T7080"); + emisWaybillSave.setBillCode(waybillNo); + } + + // 开始下单 + if(!isOms) { + addNewWaybill(emisWaybillSave); + }else{ + addNewWaybillByOms(emisWaybillSave); + } + + return 1; + } + /** * API下单方式 * @param emisWaybillSave @@ -2754,10 +2810,10 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb userEmpCode=emisWaybillSave.getTakePieceEmployeeCode(); } if(!StringUtils.isEmpty(userEmpCode)) { - sendNoticeToEmpUser(userEmpCode, title, title, "d24/orderManagement/UserOrderList"); + sendNoticeToEmpUser(userEmpCode, title, title, "/d24/orderManagement/UserOrderList"); } else{ - sendNoticeToSite(emisWaybillSave.getSendSiteCode(), title, title, "d24/orderManagement/UserOrderList"); + sendNoticeToSite(emisWaybillSave.getSendSiteCode(), title, title, "/d24/orderManagement/UserOrderList"); } } diff --git a/emis-biz/src/main/resources/mapper/EmisExchangeRateMapper.xml b/emis-biz/src/main/resources/mapper/EmisExchangeRateMapper.xml index 146377772..4d2d0c989 100644 --- a/emis-biz/src/main/resources/mapper/EmisExchangeRateMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisExchangeRateMapper.xml @@ -49,9 +49,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and currency = #{currency} and dest_currency = #{destCurrency} and ( - (start_date #{startDate} and #{startDate} end_date ) + ( start_date #{startDate} and #{startDate} end_date ) or - (start_date #{endDate} and #{endDate} end_date ) + ( start_date #{endDate} and #{endDate} end_date ) ) limit 1