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 0017c78c3..339318653 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 @@ -5,15 +5,15 @@ import lombok.Getter; @Getter public enum EmisBizErrorType { - PARAM_ERROR1("E0001", "参数不完整"), - CALC_FEE_ERROR("E0001", "运费计算错误"), - CALC_WEIGHT_ERROR("E0002", "重量计算错误"), - CALC_QUOTE_ERROR("E3002", "报价未配置"), + PARAM_ERROR1("E001", "参数不完整"), + CALC_FEE_ERROR("E002", "运费计算错误"), + CALC_WEIGHT_ERROR("E003", "重量计算错误"), + CALC_QUOTE_ERROR("E004", "报价未配置"), - - BILL_LOCK("E9001", "已锁账,不允许修改"), + BILL_LOCK("E901", "已锁账,不允许修改"), + NOT_EXISTS("E902","运单不存在"), SUCCESS("0000", "成功"), FAIL("9999", "失败"), diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/enumtype/ScanType.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/enumtype/ScanType.java index 5ef7e9ed4..ce2576a30 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/enumtype/ScanType.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/enumtype/ScanType.java @@ -2,32 +2,130 @@ package com.xdadan.erp.emis.domain.enumtype; public enum ScanType { - ACCEPT("收件扫描"), - GOT("揽件扫描"), - ARRIVAL("入中转"), - DEPARTURE("出中转"), - SENT("派件中"), - INBOUND("第三方代收入库"), - OUTBOUND("第三方代收快递员取出"), - SIGNED("已签收"), - SIGNFAIL("签收失败"), - RETURN("退回件"), - ISSUE("问题件"), - REJECTION("拒收"), - OTHER("其他"), - OVERSEA_IN("入库扫描"), - OVERSEA_OUT("出库扫描"), - CLEARANCE_START("清关开始"), - CLEARANCE_FINISH("清关结束"), - CLEARANCE_FAIL("清关失败"), - OVERSEA_ARRIVAL("干线到达"), - OVERSEA_DEPARTURE("干线离开"), - TRANSFER("转单"), +// 1 收件 +// 2 发件 +// 3 到件 +// 4 派件 +// 5 客户签收 +// 10 订单创建成功 +// 100 等待派送 +// 150 仓库入库 +// 180 干线集包 +// 190 仓库出口 +// 200 干线揽收成功 +// 220 干线航班起飞 +// 221 干线海运出港 +// 222 干线车辆出发 +// 230 干线航班落地 +// 231 干线船舶到港 +// 232 干线车辆到达 +// 330 清关提货 +// 360 清关中 +// 370 清关放行 +// 415 运输中 +// 430 海外签收 +// 730 退货完成 +// -1 问题件 +//------------------------- + /* +10 揽收扫描 +20 发件扫描 +30 到件扫描 +40 派件扫描 +50 签收扫描 +51 签收异常 +52 拒收 +60 退回件 +70 留仓扫描 +80 转单扫描 +-1 问题件 +100 入库扫描 +101 出库扫描 +200 合包扫描 +201 拆包扫描 +301 装车扫描 +302 卸车扫描 +700 报关扫描 +701 报关放行 +702 清关失败 +800 清关扫描 +801 清关放行 +802 清关失败 +999 其它 + */ + + INIT(0,"创建成功"), + + GOT(10,"揽件扫描"), + + DEPARTURE(20,"发件扫描"), + + ARRIVAL(30,"到件扫描"), + + SENT(40,"派送扫描"), + + SIGNED(50,"签收扫描"), + SIGNFAIL(51,"签收异常"), + REJECTION(52,"拒收"), + + RETURN(60,"退回件"), + + HOLD(70,"留仓"), + + TRANSFER(80,"转单"), + + ISSUE(-1,"问题件"), + + +// ---------------- + INBOUND(100,"入库扫描"), + OUTBOUND(101,"出库扫描"), + + CO_PACKING(200,"合包扫描"), + UN_PACKING(201,"拆包扫描"), + + LOADING(301,"装车扫描"), + UN_LOADING(302,"卸车扫描"), + + DECLEARE(700,"报关扫描"), + DECLEARE_SUCCESS(701,"报关放行"), + DECLEARE_FAIL(702,"报关失败"), + + CLEARANCE(800,"清关开始"), + CLEARANCE_SUCCESS(801,"清关放行"), + CLEARANCE_FAIL(802,"清关失败"), + + OTHER(999,"其他"), + + + +// OVERSEA_IN("海外入库扫描"), +// OVERSEA_OUT("海外出库扫描"), + +// ARRIVAL("入中转"), +// DEPARTURE("出中转"), +// SENT("派件中"), + +// SIGNED("已签收"), +// SIGNFAIL("签收失败"), +// RETURN("退回件"), +// ISSUE("问题件"), +// REJECTION("拒收"), +// OTHER("其他"), +// +// CLEARANCE_START("清关开始"), +// CLEARANCE_FINISH("清关结束"), +// CLEARANCE_FAIL("清关失败"), +// OVERSEA_ARRIVAL("干线到达"), +// OVERSEA_DEPARTURE("干线离开"), +// TRANSFER("转单"), ; - private String label; + private Integer opCode; + private String opName; - ScanType(String label) { - this.label = label; + ScanType(Integer opCode,String opName) { + this.opCode = opCode; + this.opName = opName; } } 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 c340acd25..0a6a5d1d6 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 @@ -17,7 +17,9 @@ package com.xdadan.erp.emis.service; import com.xdadan.erp.common.utils.DateUtils; import com.xdadan.erp.common.utils.SecurityUtils; import com.xdadan.erp.emis.domain.*; + import com.xdadan.erp.emis.domain.enumtype.EmisBizErrorType; import com.xdadan.erp.emis.domain.enumtype.ScanType; + import com.xdadan.erp.emis.domain.exception.EmisBizError; import com.xdadan.erp.emis.domain.vo.WaybillOrder; import com.xdadan.erp.emis.domain.vo.scan.ScanResultItem; import com.xdadan.erp.emis.mapper.*; @@ -95,6 +97,16 @@ public class EmisBaseService { return SecurityUtils.getLoginUser().getUser(); } + + public EmisWaybill getWaybillByBillCode(String billCode){ + if(!StringUtils.isEmpty(billCode)){ + return null; + } + + return emisWaybillMapper.selectEmisWaybillByBillCode(billCode); + } + + public EmisSite getSiteByCode(String siteCode){ EmisSite querySite = new EmisSite(); querySite.setSiteCode(siteCode); @@ -110,6 +122,19 @@ public class EmisBaseService { return sysUserMapper.selectUserByUserName(empCode); } + + private void checkWabillCanScan(String scanType,EmisWaybill waybill) throws EmisBizError{ + + if(waybill == null){ + throw new EmisBizError(EmisBizErrorType.NOT_EXISTS,"运单不存在"); + } + +// if(waybill.getWaybillStatus()){ +// +// } + + } + public List checkCanScan(String scanType,Map scanDataItem){ List itemList = new ArrayList<>(); @@ -182,25 +207,32 @@ public class EmisBaseService { for (String billCodeItem:billCodeArr) { ScanResultItem scanResultItem = new ScanResultItem(); scanResultItem.setBillCode(billCode); - // 检查区间 + // 检查数据 + + EmisWaybill emisWaybill = getWaybillByBillCode(billCode); + + scanResultItem.setResult("success"); scanResultItem.setMessage("允许操作"); + + EmisTmsScanRecord emisTmsScanRecord=new EmisTmsScanRecord(); + + emisTmsScanRecord.setBillCode(billCode); + emisTmsScanRecord.setScanType(scanType); + emisTmsScanRecord.setScanDate(scanDate); + emisTmsScanRecord.setScanManCode(getCurrentUser().getEmpCode()); + emisTmsScanRecord.setScanManPhone(getCurrentUser().getPhonenumber()); + emisTmsScanRecord.setScanMan(getCurrentUser().getEmpName()); + emisTmsScanRecord.setScanSite(getCurrentUser().getOwnerSiteName()); + emisTmsScanRecord.setScanSiteCode(getCurrentUser().getOwnerSiteCode()); + + EmisSite scanSite=getSiteByCode(emisTmsScanRecord.getScanSiteCode()); + // 检查操作员 if(ScanType.ACCEPT.name().equals(scanType)){ - EmisTmsScanRecord emisTmsScanRecord=new EmisTmsScanRecord(); - emisTmsScanRecord.setBillCode(billCode); - emisTmsScanRecord.setScanType(scanType); - emisTmsScanRecord.setScanDate(scanDate); - emisTmsScanRecord.setScanManCode(getCurrentUser().getEmpCode()); - emisTmsScanRecord.setScanManPhone(getCurrentUser().getPhonenumber()); - emisTmsScanRecord.setScanMan(getCurrentUser().getEmpName()); - emisTmsScanRecord.setScanSite(getCurrentUser().getOwnerSiteName()); - emisTmsScanRecord.setScanSiteCode(getCurrentUser().getOwnerSiteCode()); - - EmisSite scanSite=getSiteByCode(emisTmsScanRecord.getScanSiteCode()); if(scanSite!=null){ emisTmsScanRecord.setScanSitePhone(scanSite.getPhone()); } diff --git a/emis-biz/src/main/resources/mapper/EmisSiteMapper.xml b/emis-biz/src/main/resources/mapper/EmisSiteMapper.xml index 4a5f39621..82e1cda69 100644 --- a/emis-biz/src/main/resources/mapper/EmisSiteMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisSiteMapper.xml @@ -294,8 +294,6 @@ and create_site like concat('%', #{createSite}, '%') and update_site like concat('%', #{updateSite}, '%') - - @@ -312,6 +310,12 @@ + + + AND ( site_code like concat(#{searchValue}, '%') or site_name like concat(#{searchValue}, '%') ) + + + order by order_num desc