md
This commit is contained in:
parent
20f53510df
commit
2ce65bdd3e
@ -28,74 +28,73 @@ public enum ScanType {
|
|||||||
// -1 问题件
|
// -1 问题件
|
||||||
//-------------------------
|
//-------------------------
|
||||||
/*
|
/*
|
||||||
10 揽收扫描
|
10 揽收扫描
|
||||||
20 发件扫描
|
20 发件扫描
|
||||||
30 到件扫描
|
30 到件扫描
|
||||||
40 派件扫描
|
40 派件扫描
|
||||||
50 签收扫描
|
50 签收扫描
|
||||||
51 签收异常
|
51 签收异常
|
||||||
52 拒收
|
52 拒收
|
||||||
60 退回件
|
60 退回件
|
||||||
70 留仓扫描
|
70 留仓扫描
|
||||||
80 转单扫描
|
80 转单扫描
|
||||||
-1 问题件
|
-1 问题件
|
||||||
100 入库扫描
|
100 入库扫描
|
||||||
101 出库扫描
|
101 出库扫描
|
||||||
200 合包扫描
|
200 合包扫描
|
||||||
201 拆包扫描
|
201 拆包扫描
|
||||||
301 装车扫描
|
301 装车扫描
|
||||||
302 卸车扫描
|
302 卸车扫描
|
||||||
700 报关扫描
|
700 报关扫描
|
||||||
701 报关放行
|
701 报关放行
|
||||||
702 清关失败
|
702 清关失败
|
||||||
800 清关扫描
|
800 清关扫描
|
||||||
801 清关放行
|
801 清关放行
|
||||||
802 清关失败
|
802 清关失败
|
||||||
999 其它
|
999 其它
|
||||||
*/
|
*/
|
||||||
|
|
||||||
INIT(0,"创建成功"),
|
INIT("0","创建成功"),
|
||||||
|
|
||||||
GOT(10,"揽件扫描"),
|
GOT("10","揽件扫描"),
|
||||||
|
|
||||||
DEPARTURE(20,"发件扫描"),
|
DEPARTURE("20","发件扫描"),
|
||||||
|
|
||||||
ARRIVAL(30,"到件扫描"),
|
ARRIVAL("30","到件扫描"),
|
||||||
|
|
||||||
SENT(40,"派送扫描"),
|
SENT("40","派送扫描"),
|
||||||
|
|
||||||
SIGNED(50,"签收扫描"),
|
SIGNED("50","签收扫描"),
|
||||||
SIGNFAIL(51,"签收异常"),
|
SIGNFAIL("51","签收异常"),
|
||||||
REJECTION(52,"拒收"),
|
REJECTION("52","拒收"),
|
||||||
|
|
||||||
RETURN(60,"退回件"),
|
RETURN("60","退回件"),
|
||||||
|
|
||||||
HOLD(70,"留仓"),
|
HOLD("70","留仓"),
|
||||||
|
|
||||||
TRANSFER(80,"转单"),
|
TRANSFER("80","转单"),
|
||||||
|
|
||||||
ISSUE(-1,"问题件"),
|
|
||||||
|
|
||||||
|
ISSUE("-1","问题件"),
|
||||||
|
|
||||||
// ----------------
|
// ----------------
|
||||||
INBOUND(100,"入库扫描"),
|
INBOUND("100","入库扫描"),
|
||||||
OUTBOUND(101,"出库扫描"),
|
OUTBOUND("101","出库扫描"),
|
||||||
|
|
||||||
CO_PACKING(200,"合包扫描"),
|
CO_PACKING("200","合包扫描"),
|
||||||
UN_PACKING(201,"拆包扫描"),
|
UN_PACKING("201","拆包扫描"),
|
||||||
|
|
||||||
LOADING(301,"装车扫描"),
|
LOADING("301","装车扫描"),
|
||||||
UN_LOADING(302,"卸车扫描"),
|
UN_LOADING("302","卸车扫描"),
|
||||||
|
|
||||||
DECLEARE(700,"报关扫描"),
|
DECLEARE("700","报关扫描"),
|
||||||
DECLEARE_SUCCESS(701,"报关放行"),
|
DECLEARE_SUCCESS("701","报关放行"),
|
||||||
DECLEARE_FAIL(702,"报关失败"),
|
DECLEARE_FAIL("702","报关失败"),
|
||||||
|
|
||||||
CLEARANCE(800,"清关开始"),
|
CLEARANCE("800","清关开始"),
|
||||||
CLEARANCE_SUCCESS(801,"清关放行"),
|
CLEARANCE_SUCCESS("801","清关放行"),
|
||||||
CLEARANCE_FAIL(802,"清关失败"),
|
CLEARANCE_FAIL("802","清关失败"),
|
||||||
|
|
||||||
OTHER(999,"其他"),
|
OTHER("999","其他"),
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -121,10 +120,10 @@ public enum ScanType {
|
|||||||
// TRANSFER("转单"),
|
// TRANSFER("转单"),
|
||||||
;
|
;
|
||||||
|
|
||||||
private Integer opCode;
|
public String opCode;
|
||||||
private String opName;
|
public String opName;
|
||||||
|
|
||||||
ScanType(Integer opCode,String opName) {
|
ScanType(String opCode,String opName) {
|
||||||
this.opCode = opCode;
|
this.opCode = opCode;
|
||||||
this.opName = opName;
|
this.opName = opName;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -135,143 +135,7 @@ public class EmisBaseService {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<ScanResultItem> checkCanScan(String scanType,Map<String,Object> scanDataItem){
|
|
||||||
|
|
||||||
List<ScanResultItem> 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<ScanResultItem> doScan(String scanType,Map<String,Object> scanDataItem){
|
|
||||||
|
|
||||||
List<ScanResultItem> 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;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -10,15 +10,23 @@
|
|||||||
|
|
||||||
package com.xdadan.erp.emis.service.impl;
|
package com.xdadan.erp.emis.service.impl;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
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.exception.EmisBizError;
|
||||||
import com.xdadan.erp.emis.domain.vo.scan.ScanInfo;
|
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.ScanResult;
|
||||||
import com.xdadan.erp.emis.domain.vo.scan.ScanResultItem;
|
import com.xdadan.erp.emis.domain.vo.scan.ScanResultItem;
|
||||||
import com.xdadan.erp.emis.service.EmisBaseService;
|
import com.xdadan.erp.emis.service.EmisBaseService;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.xdadan.erp.emis.domain.EmisTmsScanRecord;
|
import com.xdadan.erp.emis.domain.EmisTmsScanRecord;
|
||||||
@ -110,6 +118,143 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public List<ScanResultItem> doScanCheck(String scanType,Map<String,Object> scanDataItem){
|
||||||
|
|
||||||
|
List<ScanResultItem> 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<ScanResultItem> doScan(String scanType,Map<String,Object> scanDataItem){
|
||||||
|
|
||||||
|
List<ScanResultItem> 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<String,Object> 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
|
@Override
|
||||||
public ScanResult scan(ScanInfo scanInfo) throws EmisBizError{
|
public ScanResult scan(ScanInfo scanInfo) throws EmisBizError{
|
||||||
|
|
||||||
@ -125,7 +270,7 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
|||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
for (Map<String,Object> item: scanInfo.getScanData()) {
|
for (Map<String,Object> item: scanInfo.getScanData()) {
|
||||||
List<ScanResultItem> itemCheckList=checkCanScan(scanInfo.getScanType(),item);
|
List<ScanResultItem> itemCheckList=doScanCheck(scanInfo.getScanType(),item);
|
||||||
resultList.addAll(itemCheckList);
|
resultList.addAll(itemCheckList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user