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 ce2576a30..60b35afaf 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 @@ -28,74 +28,73 @@ public enum ScanType { // -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 其它 + 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,"创建成功"), + INIT("0","创建成功"), - GOT(10,"揽件扫描"), + GOT("10","揽件扫描"), - DEPARTURE(20,"发件扫描"), + DEPARTURE("20","发件扫描"), - ARRIVAL(30,"到件扫描"), + ARRIVAL("30","到件扫描"), - SENT(40,"派送扫描"), + SENT("40","派送扫描"), - SIGNED(50,"签收扫描"), - SIGNFAIL(51,"签收异常"), - REJECTION(52,"拒收"), + SIGNED("50","签收扫描"), + SIGNFAIL("51","签收异常"), + REJECTION("52","拒收"), - RETURN(60,"退回件"), + RETURN("60","退回件"), - HOLD(70,"留仓"), + HOLD("70","留仓"), - TRANSFER(80,"转单"), - - ISSUE(-1,"问题件"), + TRANSFER("80","转单"), + ISSUE("-1","问题件"), // ---------------- - INBOUND(100,"入库扫描"), - OUTBOUND(101,"出库扫描"), + INBOUND("100","入库扫描"), + OUTBOUND("101","出库扫描"), - CO_PACKING(200,"合包扫描"), - UN_PACKING(201,"拆包扫描"), + CO_PACKING("200","合包扫描"), + UN_PACKING("201","拆包扫描"), - LOADING(301,"装车扫描"), - UN_LOADING(302,"卸车扫描"), + LOADING("301","装车扫描"), + UN_LOADING("302","卸车扫描"), - DECLEARE(700,"报关扫描"), - DECLEARE_SUCCESS(701,"报关放行"), - DECLEARE_FAIL(702,"报关失败"), + DECLEARE("700","报关扫描"), + DECLEARE_SUCCESS("701","报关放行"), + DECLEARE_FAIL("702","报关失败"), - CLEARANCE(800,"清关开始"), - CLEARANCE_SUCCESS(801,"清关放行"), - CLEARANCE_FAIL(802,"清关失败"), + CLEARANCE("800","清关开始"), + CLEARANCE_SUCCESS("801","清关放行"), + CLEARANCE_FAIL("802","清关失败"), - OTHER(999,"其他"), + OTHER("999","其他"), @@ -121,10 +120,10 @@ public enum ScanType { // TRANSFER("转单"), ; - private Integer opCode; - private String opName; + public String opCode; + public String opName; - ScanType(Integer opCode,String opName) { + ScanType(String 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 0a6a5d1d6..5daa4f3ff 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 @@ -135,143 +135,7 @@ public class EmisBaseService { } - public List checkCanScan(String scanType,Map scanDataItem){ - List itemList = new ArrayList<>(); - String billCode = (String)scanDataItem.get("billCode"); - if(StringUtils.isEmpty(billCode)){ - ScanResultItem scanResultItem = new ScanResultItem(); - scanResultItem.setBillCode(billCode); - scanResultItem.setResult("fail"); - scanResultItem.setMessage("billCode为空"); - itemList.add(scanResultItem); - return itemList; - } - - // 开始检查数据 - String[] billCodeArr = billCode.split(","); - for (String billCodeItem:billCodeArr) { - ScanResultItem scanResultItem = new ScanResultItem(); - scanResultItem.setBillCode(billCode); - // 检查区间 - scanResultItem.setResult("success"); - scanResultItem.setMessage("允许操作"); - - // 检查操作员 - if(ScanType.ACCEPT.name().equals(scanType)){ - - } - - itemList.add(scanResultItem); - - } - - return itemList; - } - - /** - * 扫描操作 - * @param scanType - * @param scanDataItem - * @return - */ - public List doScan(String scanType,Map scanDataItem){ - - List itemList = new ArrayList<>(); - String billCode = (String)scanDataItem.get("billCode"); - if(StringUtils.isEmpty(billCode)){ - ScanResultItem scanResultItem = new ScanResultItem(); - scanResultItem.setBillCode(billCode); - scanResultItem.setResult("fail"); - scanResultItem.setMessage("billCode为空"); - itemList.add(scanResultItem); - return itemList; - } - - // 开始检查数据 - String[] billCodeArr = billCode.split(","); - String scanDateStr = (String)scanDataItem.get("scanDate"); - String scanWeightStr = (String)scanDataItem.get("scanWeight"); - String dispatchOrSendManCode = (String)scanDataItem.get("dispatchOrSendManCode"); - - Date scanDate = DateUtils.parseDate(scanDateStr);; - if(scanDate ==null){ - scanDate = new Date(); - } - - double scanWeight = 0.0D; - if(!StringUtils.isEmpty(scanWeightStr)){ - scanWeight= Double.valueOf(scanWeightStr); - } - - 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)){ - - - if(scanSite!=null){ - emisTmsScanRecord.setScanSitePhone(scanSite.getPhone()); - } - - emisTmsScanRecord.setWeight(BigDecimal.valueOf(scanWeight)); - - emisTmsScanRecord.setDispatchOrSendManCode(dispatchOrSendManCode); - SysUser emUser=getEmisStaffByCode(dispatchOrSendManCode); - if(emUser!=null){ - emisTmsScanRecord.setDispatchOrSendMan(emUser.getEmpName()); - emisTmsScanRecord.setDispatchOrSendManPhone(emUser.getPhonenumber()); - } - -// emisTmsScanRecord.setSignDate(ObjectB.getSignDate()); -// emisTmsScanRecord.setSignMan(ObjectB.getSignMan()); -// emisTmsScanRecord.setSignSite(ObjectB.getSignSite()); -// emisTmsScanRecord.setSignSiteCode(ObjectB.getSignSiteCode()); - emisTmsScanRecord.setRecordMan(getCurrentUser().getEmpName()); - emisTmsScanRecord.setRecordManCode(getCurrentUser().getEmpCode()); - emisTmsScanRecord.setRecordManPhone(getCurrentUser().getPhonenumber()); - emisTmsScanRecord.setRecordSiteCode(getCurrentUser().getOwnerSiteCode()); -// emisTmsScanRecord.setTruckMan(ObjectB.getTruckMan()); -// emisTmsScanRecord.setTruckCode(ObjectB.getTruckCode()); - emisTmsScanRecord.setDataFrom("pc"); -// emisTmsScanRecord.setPicUrl(ObjectB.getPicUrl()); - emisTmsScanRecord.setStatus("1"); - - emisTmsScanRecord.preInsert(); - - emisTmsScanRecordMapper.insertEmisTmsScanRecord(emisTmsScanRecord); - - } - - itemList.add(scanResultItem); - - } - - return itemList; - } /** diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsScanRecordServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsScanRecordServiceImpl.java index 16956e2d3..700f6bb92 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsScanRecordServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsScanRecordServiceImpl.java @@ -10,15 +10,23 @@ package com.xdadan.erp.emis.service.impl; +import java.math.BigDecimal; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Map; +import com.xdadan.erp.common.core.domain.entity.SysUser; +import com.xdadan.erp.common.utils.DateUtils; +import com.xdadan.erp.emis.domain.EmisSite; +import com.xdadan.erp.emis.domain.EmisWaybill; +import com.xdadan.erp.emis.domain.enumtype.ScanType; import com.xdadan.erp.emis.domain.exception.EmisBizError; import com.xdadan.erp.emis.domain.vo.scan.ScanInfo; import com.xdadan.erp.emis.domain.vo.scan.ScanResult; import com.xdadan.erp.emis.domain.vo.scan.ScanResultItem; import com.xdadan.erp.emis.service.EmisBaseService; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.xdadan.erp.emis.domain.EmisTmsScanRecord; @@ -110,6 +118,143 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm } + public List doScanCheck(String scanType,Map scanDataItem){ + + List itemList = new ArrayList<>(); + String billCode = (String)scanDataItem.get("billCode"); + if(StringUtils.isEmpty(billCode)){ + ScanResultItem scanResultItem = new ScanResultItem(); + scanResultItem.setBillCode(billCode); + scanResultItem.setResult("fail"); + scanResultItem.setMessage("billCode为空"); + itemList.add(scanResultItem); + return itemList; + } + + // 开始检查数据 + String[] billCodeArr = billCode.split(","); + for (String billCodeItem:billCodeArr) { + ScanResultItem scanResultItem = new ScanResultItem(); + scanResultItem.setBillCode(billCode); + // 检查区间 + scanResultItem.setResult("success"); + scanResultItem.setMessage("允许操作"); + + + itemList.add(scanResultItem); + + } + + return itemList; + } + + + + /** + * 扫描操作 + * @param scanType + * @param scanDataItem + * @return + */ + public List doScan(String scanType,Map scanDataItem){ + + List itemList = new ArrayList<>(); + String billCodeInStr = (String)scanDataItem.get("billCode"); + if(StringUtils.isEmpty(billCodeInStr)){ + ScanResultItem scanResultItem = new ScanResultItem(); + scanResultItem.setBillCode(billCodeInStr); + scanResultItem.setResult("fail"); + scanResultItem.setMessage("billCode为空"); + itemList.add(scanResultItem); + return itemList; + } + + // 开始检查数据 + String[] billCodeArr = billCodeInStr.split(","); + String scanDateStr = (String)scanDataItem.get("scanDate"); + + Date scanDate = DateUtils.parseDate(scanDateStr);; + if(scanDate ==null){ + scanDate = new Date(); + } + + + for (String billCode:billCodeArr) { + + ScanResultItem scanResultItem = new ScanResultItem(); + scanResultItem.setBillCode(billCode); + // 检查数据 + + EmisWaybill emisWaybill = getWaybillByBillCode(billCode); + if(emisWaybill==null){ + scanResultItem.setResult("fail"); + scanResultItem.setMessage("运单号不存在"); + itemList.add(scanResultItem); + continue; + } + + + + 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()); + } + + ScanType opCodeType = ScanType.valueOf(scanType); + if(ScanType.GOT.opCode.equals(scanType)){ + setScanGot(emisTmsScanRecord,scanDataItem); + } + + + emisTmsScanRecord.setRecordMan(getCurrentUser().getEmpName()); + emisTmsScanRecord.setRecordManCode(getCurrentUser().getEmpCode()); + emisTmsScanRecord.setRecordManPhone(getCurrentUser().getPhonenumber()); + emisTmsScanRecord.setRecordSiteCode(getCurrentUser().getOwnerSiteCode()); + emisTmsScanRecord.setDataFrom("pc"); + emisTmsScanRecord.setStatus("1"); + emisTmsScanRecord.preInsert(); + emisTmsScanRecordMapper.insertEmisTmsScanRecord(emisTmsScanRecord); + + scanResultItem.setResult("success"); + scanResultItem.setMessage("操作成功"); + itemList.add(scanResultItem); + + } + + return itemList; + } + + private void setScanGot(EmisTmsScanRecord emisTmsScanRecord,Map scanDataItem){ + + String scanWeightStr = (String)scanDataItem.get("scanWeight"); + String dispatchOrSendManCode = (String)scanDataItem.get("dispatchOrSendManCode"); + + double scanWeight = 0.0D; + if(!StringUtils.isEmpty(scanWeightStr)){ + scanWeight= Double.valueOf(scanWeightStr); + } + + emisTmsScanRecord.setWeight(BigDecimal.valueOf(scanWeight)); + emisTmsScanRecord.setDispatchOrSendManCode(dispatchOrSendManCode); + SysUser emUser=getEmisStaffByCode(dispatchOrSendManCode); + if(emUser!=null){ + emisTmsScanRecord.setDispatchOrSendMan(emUser.getEmpName()); + emisTmsScanRecord.setDispatchOrSendManPhone(emUser.getPhonenumber()); + } + } + @Override public ScanResult scan(ScanInfo scanInfo) throws EmisBizError{ @@ -125,7 +270,7 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm } else{ for (Map item: scanInfo.getScanData()) { - List itemCheckList=checkCanScan(scanInfo.getScanType(),item); + List itemCheckList=doScanCheck(scanInfo.getScanType(),item); resultList.addAll(itemCheckList); } }