From ccfc0317f90aaebe8d607febf2992d10db67c235 Mon Sep 17 00:00:00 2001 From: linfso Date: Mon, 29 Jul 2024 00:04:47 +0800 Subject: [PATCH] md --- .../erp/web/emis/EmisWaybillController.java | 62 +++++++++++++++++++ .../erp/emis/mapper/EmisWaybillMapper.java | 3 + .../erp/emis/service/IEmisWaybillService.java | 8 +++ .../service/impl/EmisWaybillServiceImpl.java | 25 ++++++++ .../resources/mapper/EmisWaybillMapper.xml | 12 +++- 5 files changed, 109 insertions(+), 1 deletion(-) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java index 351b3fc5b..656f902cc 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java @@ -232,6 +232,68 @@ public class EmisWaybillController extends EmisBaseController } } + @Log(title = "指派网点", businessType = BusinessType.UPDATE) + @PostMapping(value = "/assignSendSite") + public AjaxResult assignSendSite(@Valid @RequestBody WaybillOrder waybillOrder) + { + try { + + if(StringUtils.isEmpty(waybillOrder.getOrderSn()) ){ + return AjaxResult.error("订单号不能为空"); + } + + EmisWaybill emisWaybill = new EmisWaybill(); + emisWaybill.setOrderSn(waybillOrder.getOrderSn()); + emisWaybill.setSendSiteCode(waybillOrder.getSendSiteCode()); + emisWaybillService.assignSendSite(emisWaybill); + + return AjaxResult.success("指派成功"); + }catch(EmisBizError ex){ + ex.printStackTrace(); + return AjaxResult.error("("+ex.getErrorCode()+")"+ex.getMessage()); + } + catch (Exception ex){ + ex.printStackTrace(); + // 返回子定义异常 + if(ex instanceof EmisBizError){ + return AjaxResult.error(ex.getMessage(),((EmisBizError)ex).getErrorCode()); + } + + return AjaxResult.error("服务器异常,联系客服"); + } + } + + @Log(title = "指派业务员", businessType = BusinessType.UPDATE) + @PostMapping(value = "/assignTakeMan") + public AjaxResult assignTakeMan(@Valid @RequestBody WaybillOrder waybillOrder) + { + try { + + if(StringUtils.isEmpty(waybillOrder.getOrderSn()) ){ + return AjaxResult.error("订单号不能为空"); + } + + EmisWaybill emisWaybill = new EmisWaybill(); + emisWaybill.setOrderSn(waybillOrder.getOrderSn()); + emisWaybill.setTakePieceEmployeeCode(waybillOrder.getTakePieceEmployeeCode()); + emisWaybillService.assignTakeMan(emisWaybill); + + return AjaxResult.success("指派成功"); + }catch(EmisBizError ex){ + ex.printStackTrace(); + return AjaxResult.error("("+ex.getErrorCode()+")"+ex.getMessage()); + } + catch (Exception ex){ + ex.printStackTrace(); + // 返回子定义异常 + if(ex instanceof EmisBizError){ + return AjaxResult.error(ex.getMessage(),((EmisBizError)ex).getErrorCode()); + } + + return AjaxResult.error("服务器异常,联系客服"); + } + } + /** * 导出进仓单模板 diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWaybillMapper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWaybillMapper.java index 678d826a3..bbcf2b9a2 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWaybillMapper.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWaybillMapper.java @@ -121,6 +121,9 @@ public interface EmisWaybillMapper extends BaseMapper // 分配业务员-取件员 public int assignTakeMan(EmisWaybill emisWaybill); + // 分配网点 + public int assignSendSite(EmisWaybill emisWaybill); + // 取消订单 public int cancelOrder(EmisWaybill emisWaybill); 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 837967297..f99c6ae62 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 @@ -144,6 +144,14 @@ public interface IEmisWaybillService */ public void confirmOrder(EmisWaybill oldEmisWaybill,EmisWaybill emisWaybillSave) throws EmisBizError; + /** + * 指派网点 + * @param emisWaybill + * @return + * @throws EmisBizError + */ + public int assignSendSite(EmisWaybill emisWaybill)throws EmisBizError; + /** * 指派业务员 * @param emisWaybill 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 c20ba209c..35f170fc7 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 @@ -920,6 +920,31 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb } + /** + * 指派网点 + * @param emisWaybill + * @return + * @throws EmisBizError + */ + @Override + public int assignSendSite(EmisWaybill emisWaybill) throws EmisBizError{ + + EmisWaybill emisWaybillOld = this.selectEmisWaybillByOrderSn(emisWaybill.getOrderSn()); + if(emisWaybillOld==null){ + throw new EmisBizError(EmisBizErrorType.NOT_EXISTS,"订单不存在"); + } + + if(OrderStatus.CANCEL.statusCode.equals(emisWaybillOld.getOrderStatus())){ + throw new EmisBizError(EmisBizErrorType.FAIL,"订单已取消"); + } + + if(StringUtils.isEmpty(emisWaybillOld.getSendSiteCode())){ + throw new EmisBizError(EmisBizErrorType.FAIL,"指派网点不能为空"); + } + + return emisWaybillMapper.assignSendSite(emisWaybill); + } + /** * 计算运单公共信息 OMS * @param emisWaybillSave diff --git a/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml b/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml index 530896f6e..d568d5002 100644 --- a/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml @@ -2291,7 +2291,16 @@ update emis_waybill set - order_status = 1 + order_status = '1' + ,update_by = #{updateBy} + ,update_site = #{updateSite} + where order_sn=#{orderSn} + + + + + update emis_waybill set + send_site_code = #{sendSiteCode} ,update_by = #{updateBy} ,update_site = #{updateSite} where order_sn=#{orderSn} @@ -2300,6 +2309,7 @@ update emis_waybill set + order_status = '3', take_piece_employee_code = #{takePieceEmployeeCode} ,update_by = #{updateBy} ,update_site = #{updateSite}