This commit is contained in:
linfso 2025-01-09 10:48:33 +08:00
parent 0a4aa00c07
commit 0b2adf4983
2 changed files with 40 additions and 3 deletions

View File

@ -162,6 +162,14 @@ public interface IEmisWaybillService extends IDataAuditService
*/
public int cancelOrder(EmisWaybill emisWaybill) throws EmisBizError;
/**
* 取消订单 OMS
* @param emisWaybill
* @return
* @throws EmisBizError
*/
public int cancelOrderByOms(EmisWaybill emisWaybill) throws EmisBizError;
/**
* 确认订单

View File

@ -1425,9 +1425,38 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
}
// 非当前网点不允许接其他网点的运单
// if(!emisWaybillOld.getSendSiteCode().equals(getCurrentUser().getOwnerSiteCode())){
// throw new EmisBizError(EmisBizErrorType.FAIL,"非当前网点运单,不允许操作!");
// }
if(!emisWaybillOld.getSendSiteCode().equals(getCurrentUser().getOwnerSiteCode())){
throw new EmisBizError(EmisBizErrorType.FAIL,"非当前网点运单,不允许操作!");
}
emisWaybill.setBillCode(emisWaybillOld.getBillCode());
return emisWaybillMapper.cancelOrder(emisWaybill);
}
/**
* 取消订单 by OMS
* @param emisWaybill
* @return
* @throws EmisBizError
*/
@Override
public int cancelOrderByOms(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(!WaybillStatus.INIT.statusCode.equals(emisWaybillOld.getWaybillStatus())){
throw new EmisBizError(EmisBizErrorType.FAIL,"已揽收,不允许取消");
}
emisWaybill.setBillCode(emisWaybillOld.getBillCode());
return emisWaybillMapper.cancelOrder(emisWaybill);