md
This commit is contained in:
parent
20f53510df
commit
2ce65bdd3e
@ -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;
|
||||
}
|
||||
|
||||
@ -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;
|
||||
|
||||
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<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
|
||||
public ScanResult scan(ScanInfo scanInfo) throws EmisBizError{
|
||||
|
||||
@ -125,7 +270,7 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
}
|
||||
else{
|
||||
for (Map<String,Object> item: scanInfo.getScanData()) {
|
||||
List<ScanResultItem> itemCheckList=checkCanScan(scanInfo.getScanType(),item);
|
||||
List<ScanResultItem> itemCheckList=doScanCheck(scanInfo.getScanType(),item);
|
||||
resultList.addAll(itemCheckList);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user