diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/enumtype/EmisBizErrorType.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/enumtype/EmisBizErrorType.java index b292a66b0..674ad7a6b 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/enumtype/EmisBizErrorType.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/enumtype/EmisBizErrorType.java @@ -10,7 +10,7 @@ public enum EmisBizErrorType { CALC_WEIGHT_ERROR("E003", "重量计算错误"), CALC_QUOTE_ERROR("E004", "报价未配置"), - BILL_LOCK("E901", "已锁账"), + BILL_LOCK("E901", "已锁定"), NOT_EXISTS("E902","不存在"), EXISTS("E903","已存在"), diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java index d2c036435..a35da3787 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java @@ -1184,11 +1184,11 @@ public class EmisBaseService { /** - * 判断是否锁账 + * 判断是否超时锁账 * @param emisWaybill * @return */ - public boolean isWaybillLock(EmisWaybill emisWaybill) { + public boolean isOutTimeLock(EmisWaybill emisWaybill) { // 判断运单状态,如果已锁账,则不允许修改 // 下单超过 24小时 // (1)当天开单的,次日9点前允许修改面单; 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 d3de86767..7098562cc 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 @@ -177,18 +177,23 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb EmisWaybill dbEmisWaybill = this.selectEmisWaybillByBillCode(billCode); if(dbEmisWaybill==null){ - return null; + throw new EmisBizError(EmisBizErrorType.NOT_EXISTS,"运单不存在"); } // 设置运单锁单指令 - boolean isLock=isWaybillLock(dbEmisWaybill); + boolean isLock=isOutTimeLock(dbEmisWaybill); if(isLock){ dbEmisWaybill.setLockFlag("T"); - dbEmisWaybill.setLockReason("超时不允许修改(TimeOut"); + dbEmisWaybill.setLockReason("不允许修改"); }else{ dbEmisWaybill.setLockFlag("F"); } + if("1".equals(dbEmisWaybill.getBlSign())){ + dbEmisWaybill.setLockFlag("T"); + dbEmisWaybill.setLockReason("已签收,不允许修改"); + } + // 收费项 // 查询收费项 EmisWaybillFeeitem queryFeeitem = new EmisWaybillFeeitem(); @@ -218,17 +223,23 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb EmisWaybill dbEmisWaybill = this.selectEmisWaybillByOrderSn(orderSn); if(dbEmisWaybill==null){ - return null; + throw new EmisBizError(EmisBizErrorType.NOT_EXISTS,"运单不存在"); } // 设置运单锁单指令 - boolean isLock=isWaybillLock(dbEmisWaybill); + boolean isLock=isOutTimeLock(dbEmisWaybill); if(isLock){ dbEmisWaybill.setLockFlag("T"); + dbEmisWaybill.setLockReason("不允许修改"); }else{ dbEmisWaybill.setLockFlag("F"); } + if("1".equals(dbEmisWaybill.getBlSign())){ + dbEmisWaybill.setLockFlag("T"); + dbEmisWaybill.setLockReason("已签收,不允许修改"); + } + // 收费项 // 查询收费项 EmisWaybillFeeitem queryFeeitem = new EmisWaybillFeeitem(); queryFeeitem.setWaybillId(dbEmisWaybill.getId()); @@ -246,10 +257,6 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb queryAttachment.setWaybillId(dbEmisWaybill.getId()); List dbAttachmentList=emisWaybillAttachmentMapper.selectEmisWaybillAttachmentList(queryAttachment); - - - - return WaybillOrder.toVo(dbEmisWaybill,dbCargoList,dbFeeItemList,dbAttachmentList); } @@ -292,9 +299,14 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb // return LocalTime.now().isAfter(localTime); if(emisWaybillOld!=null ) { - if (isWaybillLock(emisWaybillOld)) { - throw new EmisBizError(EmisBizErrorType.BILL_LOCK, "已锁账,不允许修改"); + if (isOutTimeLock(emisWaybillOld)) { + throw new EmisBizError(EmisBizErrorType.BILL_LOCK, "已超时,不允许修改"); } + + if ("1".equals(emisWaybillOld.getBlSign())) { + throw new EmisBizError(EmisBizErrorType.BILL_LOCK, "已签收,不允许修改"); + } + } // 新增 @@ -302,7 +314,6 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb addWayBill(emisWaybillSave); }else{ emisWaybillSave.setId(emisWaybillOld.getId()); - // 把历史发货日期带过来用于重新计算预估到到时间 emisWaybillSave.setSendDate(emisWaybillOld.getSendDate());