md
This commit is contained in:
parent
da74e7a3c8
commit
d50784fb8d
@ -5,6 +5,19 @@ import lombok.Getter;
|
||||
@Getter
|
||||
public enum EmisBizErrorType {
|
||||
|
||||
/*
|
||||
0000:业务成功
|
||||
9999:业务失败
|
||||
|
||||
扫描错误错误对照:
|
||||
------------------
|
||||
E601:参数错误
|
||||
E602:运单不存在
|
||||
E603:已签收
|
||||
E604:重复扫描
|
||||
|
||||
*/
|
||||
|
||||
SUCCESS("0000", "成功"),
|
||||
FAIL("9999", "失败"),
|
||||
|
||||
@ -13,6 +26,18 @@ public enum EmisBizErrorType {
|
||||
CALC_WEIGHT_ERROR("E003", "重量计算错误"),
|
||||
CALC_QUOTE_ERROR("E004", "报价未配置"),
|
||||
|
||||
|
||||
// 面单 Not enough
|
||||
NOT_ENOUGH_PAG("E501","面单不足"),
|
||||
|
||||
// 扫描错误码
|
||||
SCAN_PARAM_ERROR("E601","参数错误"),
|
||||
SCAN_NO_EXISTS("E602","运单不存在"),
|
||||
SCAN_REPEAT("E603","重复扫描"),
|
||||
SCAN_NO_ALLOW("E604","不允许操作"),
|
||||
SCAN_HAS_SIGN("E605","已签收"),
|
||||
SCAN_HAS_PACK("E606","已组包"),
|
||||
|
||||
BILL_LOCK("E901", "已锁定"),
|
||||
NOT_EXISTS("E902","不存在"),
|
||||
EXISTS("E903","已存在"),
|
||||
@ -20,14 +45,14 @@ public enum EmisBizErrorType {
|
||||
PARSE_ADDRESS_ERROR("E980","地址解析错误"),
|
||||
|
||||
|
||||
// 面单 Not enough
|
||||
NOT_ENOUGH_PAG("E501","面单不足"),
|
||||
|
||||
|
||||
|
||||
SYS_EXCEPTION("9998", "系统异常"),
|
||||
;
|
||||
|
||||
private String errorCode;
|
||||
private String errorMessage;
|
||||
public String errorCode;
|
||||
public String errorMessage;
|
||||
|
||||
EmisBizErrorType(String errorCode, String errorMessage) {
|
||||
this.errorCode = errorCode;
|
||||
|
||||
@ -22,6 +22,7 @@ import java.util.Map;
|
||||
{
|
||||
"billCode": "T123",
|
||||
"result": "fail",
|
||||
"errorCode":"E903",
|
||||
"message": "不允许扫描:已签收"
|
||||
}
|
||||
]
|
||||
@ -34,6 +35,8 @@ public class ScanResultItem implements Serializable {
|
||||
|
||||
private String billCode;
|
||||
private String result;
|
||||
// 业务返回代码
|
||||
private String errorCode;
|
||||
private String message;
|
||||
|
||||
private Map<String,Object> data;
|
||||
|
||||
@ -147,7 +147,7 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
}
|
||||
|
||||
|
||||
public List<ScanResultItem> doScanCheck(String scanType,Map<String,Object> scanDataItem) throws EmisBizError {
|
||||
public List<ScanResultItem> doScanCheck(String scanType,Map<String,Object> scanDataItem) {
|
||||
|
||||
List<ScanResultItem> itemList = new ArrayList<>();
|
||||
|
||||
@ -158,9 +158,11 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
ScanResultItem scanResultItem = new ScanResultItem();
|
||||
scanResultItem.setBillCode(billCodeInStr);
|
||||
scanResultItem.setResult("fail");
|
||||
scanResultItem.setMessage("billCode为空");
|
||||
scanResultItem.setErrorCode(EmisBizErrorType.SCAN_PARAM_ERROR.errorCode);
|
||||
scanResultItem.setMessage("扫描单号必填");
|
||||
itemList.add(scanResultItem);
|
||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"扫描单号必填");
|
||||
return itemList;
|
||||
// throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"扫描单号必填");
|
||||
}
|
||||
|
||||
billCodeInStr=WaybillHelper.formatQueryValue(billCodeInStr);
|
||||
@ -170,11 +172,35 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
// 合包和拆包需单独处理
|
||||
if(ScanType.CO_PACKING.opCode.equals(scanType)){
|
||||
// 合包扫描
|
||||
return doPackScanCheck(itemList,billCodeArr,scanDataItem);
|
||||
try {
|
||||
return doPackScanCheck(itemList,billCodeArr,scanDataItem);
|
||||
}catch (EmisBizError emisBizError) {
|
||||
emisBizError.printStackTrace();
|
||||
// 返回原始数据返回
|
||||
ScanResultItem scanResultItem = new ScanResultItem();
|
||||
scanResultItem.setBillCode(billCodeInStr);
|
||||
scanResultItem.getData().putAll(scanDataItem);
|
||||
scanResultItem.setMessage(emisBizError.getMessage());
|
||||
scanResultItem.setErrorCode(emisBizError.getErrorCode());
|
||||
itemList.add(scanResultItem);
|
||||
return itemList;
|
||||
}
|
||||
}
|
||||
// 拆包
|
||||
else if(ScanType.UN_PACKING.opCode.equals(scanType)){
|
||||
return doUnPackScanCheck(itemList,billCodeArr,scanDataItem);
|
||||
try {
|
||||
return doUnPackScanCheck(itemList,billCodeArr,scanDataItem);
|
||||
} catch (EmisBizError emisBizError) {
|
||||
emisBizError.printStackTrace();
|
||||
// 返回原始数据返回
|
||||
ScanResultItem scanResultItem = new ScanResultItem();
|
||||
scanResultItem.setBillCode(billCodeInStr);
|
||||
scanResultItem.getData().putAll(scanDataItem);
|
||||
scanResultItem.setMessage(emisBizError.getMessage());
|
||||
scanResultItem.setErrorCode(emisBizError.getErrorCode());
|
||||
itemList.add(scanResultItem);
|
||||
return itemList;
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (String scanBillCode : billCodeArr) {
|
||||
@ -197,8 +223,10 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
if (!isExists) {
|
||||
scanResultItem.setResult("fail");
|
||||
scanResultItem.setMessage("运单号不存在");
|
||||
scanResultItem.setErrorCode(EmisBizErrorType.SCAN_NO_EXISTS.errorCode);
|
||||
itemList.add(scanResultItem);
|
||||
throw new EmisBizError(EmisBizErrorType.NOT_EXISTS, "运单号不存在");
|
||||
return itemList;
|
||||
// throw new EmisBizError(EmisBizErrorType.NOT_EXISTS, "运单号不存在");
|
||||
}
|
||||
|
||||
// 已签收不允许扫描
|
||||
@ -206,8 +234,10 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
if (isSign) {
|
||||
scanResultItem.setResult("fail");
|
||||
scanResultItem.setMessage("运单已签收");
|
||||
scanResultItem.setErrorCode(EmisBizErrorType.SCAN_HAS_SIGN.errorCode);
|
||||
itemList.add(scanResultItem);
|
||||
throw new EmisBizError(EmisBizErrorType.EXISTS, "运单已签收");
|
||||
return itemList;
|
||||
// throw new EmisBizError(EmisBizErrorType.EXISTS, "运单已签收");
|
||||
}
|
||||
|
||||
|
||||
@ -218,8 +248,10 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
String scanTypeLabel = DictUtils.getDictLabel("emis_scan_type", scanType);
|
||||
scanResultItem.setResult("fail");
|
||||
scanResultItem.setMessage(scanBillCode + "重复扫描["+scanTypeLabel+"]");
|
||||
scanResultItem.setErrorCode(EmisBizErrorType.SCAN_REPEAT.errorCode);
|
||||
itemList.add(scanResultItem);
|
||||
throw new EmisBizError(EmisBizErrorType.EXISTS, scanBillCode + "重复扫描["+scanTypeLabel+"]");
|
||||
return itemList;
|
||||
// throw new EmisBizError(EmisBizErrorType.EXISTS, scanBillCode + "重复扫描["+scanTypeLabel+"]");
|
||||
}
|
||||
|
||||
EmisWaybill emisWaybill = getWaybillByBillCode(mainBillCode);
|
||||
@ -229,7 +261,7 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
scanResultItem.getData().put("totalVolume", emisWaybill.getTotalVolume());
|
||||
scanResultItem.getData().put("parcelQty", emisWaybill.getParcelQty());
|
||||
|
||||
|
||||
scanResultItem.setErrorCode(EmisBizErrorType.SUCCESS.errorCode);
|
||||
scanResultItem.setResult("success");
|
||||
scanResultItem.setMessage("允许操作");
|
||||
|
||||
@ -248,7 +280,7 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
* @param scanDataItem
|
||||
* @return
|
||||
*/
|
||||
public List<ScanResultItem> doScan(String scanType,Map<String,Object> scanDataItem,String dataFrom) throws EmisBizError {
|
||||
public List<ScanResultItem> doScan(String scanType,Map<String,Object> scanDataItem) {
|
||||
|
||||
List<ScanResultItem> itemList = new ArrayList<>();
|
||||
|
||||
@ -262,17 +294,19 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
scanResultItem.setBillCode(billCodeInStr);
|
||||
scanResultItem.setResult("fail");
|
||||
scanResultItem.setMessage("scanDate为空");
|
||||
scanResultItem.setErrorCode(EmisBizErrorType.SCAN_PARAM_ERROR.errorCode);
|
||||
itemList.add(scanResultItem);
|
||||
throw new EmisBizError(EmisBizErrorType.NOT_EXISTS,"扫描时间必填");
|
||||
return itemList;
|
||||
}
|
||||
|
||||
if(StringUtils.isEmpty(billCodeInStr)){
|
||||
ScanResultItem scanResultItem = new ScanResultItem();
|
||||
scanResultItem.setBillCode(billCodeInStr);
|
||||
scanResultItem.setResult("fail");
|
||||
scanResultItem.setMessage("billCode为空");
|
||||
scanResultItem.setMessage("扫描单号为空");
|
||||
scanResultItem.setErrorCode(EmisBizErrorType.SCAN_PARAM_ERROR.errorCode);
|
||||
itemList.add(scanResultItem);
|
||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"扫描单号必填");
|
||||
return itemList;
|
||||
}
|
||||
|
||||
billCodeInStr=WaybillHelper.formatQueryValue(billCodeInStr);
|
||||
@ -288,15 +322,44 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
// 合包和拆包需单独处理
|
||||
if(ScanType.CO_PACKING.opCode.equals(scanType)){
|
||||
// 合包扫描
|
||||
return doPackScan(itemList,billCodeArr,scanDataItem,scanDate,dataFrom);
|
||||
try {
|
||||
return doPackScan(itemList,billCodeArr,scanDataItem,scanDate);
|
||||
} catch (EmisBizError emisBizError) {
|
||||
emisBizError.printStackTrace();
|
||||
// 返回原始数据返回
|
||||
ScanResultItem scanResultItem = new ScanResultItem();
|
||||
scanResultItem.setBillCode(billCodeInStr);
|
||||
scanResultItem.getData().putAll(scanDataItem);
|
||||
scanResultItem.setMessage(emisBizError.getMessage());
|
||||
scanResultItem.setErrorCode(emisBizError.getErrorCode());
|
||||
itemList.add(scanResultItem);
|
||||
return itemList;
|
||||
}
|
||||
}
|
||||
// 拆包
|
||||
else if(ScanType.UN_PACKING.opCode.equals(scanType)){
|
||||
return doUnPackScan(itemList,billCodeArr,scanDataItem,scanDate,dataFrom);
|
||||
try {
|
||||
return doUnPackScan(itemList,billCodeArr,scanDataItem,scanDate);
|
||||
} catch (EmisBizError emisBizError) {
|
||||
emisBizError.printStackTrace();
|
||||
// 返回原始数据返回
|
||||
ScanResultItem scanResultItem = new ScanResultItem();
|
||||
scanResultItem.setBillCode(billCodeInStr);
|
||||
scanResultItem.getData().putAll(scanDataItem);
|
||||
scanResultItem.setMessage(emisBizError.getMessage());
|
||||
scanResultItem.setErrorCode(emisBizError.getErrorCode());
|
||||
itemList.add(scanResultItem);
|
||||
return itemList;
|
||||
}
|
||||
}
|
||||
else {
|
||||
// 其他扫描方式
|
||||
for (String scanBillCode : billCodeArr) {
|
||||
|
||||
if(StringUtils.isEmpty(scanBillCode)){
|
||||
continue;
|
||||
}
|
||||
|
||||
// 返回原始数据返回
|
||||
ScanResultItem scanResultItem = new ScanResultItem();
|
||||
scanResultItem.setBillCode(scanBillCode);
|
||||
@ -309,8 +372,9 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
if (!isExists) {
|
||||
scanResultItem.setResult("fail");
|
||||
scanResultItem.setMessage("运单号不存在");
|
||||
scanResultItem.setErrorCode(EmisBizErrorType.SCAN_NO_EXISTS.errorCode);
|
||||
itemList.add(scanResultItem);
|
||||
throw new EmisBizError(EmisBizErrorType.NOT_EXISTS, "运单号不存在");
|
||||
return itemList;
|
||||
}
|
||||
|
||||
// 已签收不允许扫描
|
||||
@ -318,8 +382,9 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
if (isSign) {
|
||||
scanResultItem.setResult("fail");
|
||||
scanResultItem.setMessage("运单已签收");
|
||||
scanResultItem.setErrorCode(EmisBizErrorType.SCAN_HAS_SIGN.errorCode);
|
||||
itemList.add(scanResultItem);
|
||||
throw new EmisBizError(EmisBizErrorType.EXISTS, "运单已签收");
|
||||
return itemList;
|
||||
}
|
||||
|
||||
// 重复扫描
|
||||
@ -328,8 +393,9 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
if (scanCnt > 0) {
|
||||
scanResultItem.setResult("fail");
|
||||
scanResultItem.setMessage("重复扫描");
|
||||
scanResultItem.setErrorCode(EmisBizErrorType.SCAN_REPEAT.errorCode);
|
||||
itemList.add(scanResultItem);
|
||||
throw new EmisBizError(EmisBizErrorType.EXISTS, "重复扫描");
|
||||
return itemList;
|
||||
}
|
||||
|
||||
|
||||
@ -355,7 +421,15 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
emisTmsScanRecord.setScanDate(scanDate);
|
||||
|
||||
// 填充特殊数据
|
||||
this.fillScanDataByScanType(emisTmsScanRecord, emisWaybill, scanDataItem);
|
||||
try {
|
||||
this.fillScanDataByScanType(emisTmsScanRecord, emisWaybill, scanDataItem);
|
||||
} catch (EmisBizError emisBizError) {
|
||||
emisBizError.printStackTrace();
|
||||
scanResultItem.setMessage(emisBizError.getMessage());
|
||||
scanResultItem.setErrorCode(emisBizError.getErrorCode());
|
||||
itemList.add(scanResultItem);
|
||||
return itemList;
|
||||
}
|
||||
|
||||
// 返回数据
|
||||
scanResultItem.getData().put("billWeight", emisWaybill.getBillWeight());
|
||||
@ -366,6 +440,7 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
// 修改主运单状态
|
||||
this.changeWaybillStatus(mainBillCode, scanType);
|
||||
scanResultItem.setResult("success");
|
||||
scanResultItem.setErrorCode(EmisBizErrorType.SUCCESS.errorCode);
|
||||
scanResultItem.setMessage("操作成功");
|
||||
itemList.add(scanResultItem);
|
||||
}
|
||||
@ -391,8 +466,10 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
if (!isExists) {
|
||||
scanResultItem.setResult("fail");
|
||||
scanResultItem.setMessage("运单不存在");
|
||||
scanResultItem.setErrorCode(EmisBizErrorType.SCAN_NO_EXISTS.errorCode);
|
||||
itemList.add(scanResultItem);
|
||||
throw new EmisBizError(EmisBizErrorType.NOT_EXISTS, "运单不存在");
|
||||
return itemList;
|
||||
// throw new EmisBizError(EmisBizErrorType.NOT_EXISTS, "运单不存在");
|
||||
}
|
||||
|
||||
// 已签收不允许扫描
|
||||
@ -400,8 +477,9 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
if (isSign) {
|
||||
scanResultItem.setResult("fail");
|
||||
scanResultItem.setMessage("已签收");
|
||||
scanResultItem.setErrorCode(EmisBizErrorType.SCAN_HAS_SIGN.errorCode);
|
||||
itemList.add(scanResultItem);
|
||||
throw new EmisBizError(EmisBizErrorType.EXISTS, "已签收");
|
||||
return itemList;
|
||||
}
|
||||
|
||||
// 已组包,不允许再组包
|
||||
@ -409,8 +487,9 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
if (scanCnt > 0) {
|
||||
scanResultItem.setResult("fail");
|
||||
scanResultItem.setMessage("[" + scanBillCode + "]已组包");
|
||||
scanResultItem.setErrorCode(EmisBizErrorType.SCAN_HAS_PACK.errorCode);
|
||||
itemList.add(scanResultItem);
|
||||
throw new EmisBizError(EmisBizErrorType.EXISTS, "[" + scanBillCode + "]已组包");
|
||||
return itemList;
|
||||
}
|
||||
|
||||
// 获取订单数据
|
||||
@ -419,11 +498,19 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
if("0095".equals(emisWaybill.getReceiveCountry()) ){
|
||||
// 缅甸只允许主单
|
||||
if ( !mainBillCode.equals(scanBillCode) ) {
|
||||
throw new EmisBizError(EmisBizErrorType.EXISTS, "缅甸只允许主单");
|
||||
scanResultItem.setResult("fail");
|
||||
scanResultItem.setMessage("缅甸只允许主单");
|
||||
scanResultItem.setErrorCode(EmisBizErrorType.SCAN_NO_ALLOW.errorCode);
|
||||
itemList.add(scanResultItem);
|
||||
return itemList;
|
||||
}
|
||||
}else{
|
||||
if ( mainBillCode.equals(scanBillCode) ) {
|
||||
throw new EmisBizError(EmisBizErrorType.EXISTS, "主单不能组包");
|
||||
scanResultItem.setResult("fail");
|
||||
scanResultItem.setMessage("非缅甸主单不能组包");
|
||||
scanResultItem.setErrorCode(EmisBizErrorType.SCAN_NO_ALLOW.errorCode);
|
||||
itemList.add(scanResultItem);
|
||||
return itemList;
|
||||
}
|
||||
}
|
||||
|
||||
@ -432,6 +519,7 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
scanResultItem.getData().put("totalVolume", emisWaybill.getTotalVolume());
|
||||
scanResultItem.getData().put("parcelQty", emisWaybill.getParcelQty());
|
||||
scanResultItem.setResult("success");
|
||||
scanResultItem.setErrorCode(EmisBizErrorType.SUCCESS.errorCode);
|
||||
scanResultItem.setMessage("允许操作");
|
||||
itemList.add(scanResultItem);
|
||||
}
|
||||
@ -451,8 +539,9 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
if (scanCnt == 0) {
|
||||
scanResultItem.setResult("fail");
|
||||
scanResultItem.setMessage("未组包");
|
||||
scanResultItem.setErrorCode(EmisBizErrorType.SCAN_NO_ALLOW.errorCode);
|
||||
itemList.add(scanResultItem);
|
||||
throw new EmisBizError(EmisBizErrorType.EXISTS, "未组包");
|
||||
return itemList;
|
||||
}
|
||||
|
||||
scanResultItem.getData().put("billWeight", 0f);
|
||||
@ -465,7 +554,7 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
return itemList;
|
||||
}
|
||||
|
||||
public List<ScanResultItem> doPackScan(List<ScanResultItem> itemList,String[] billCodeArr,Map<String,Object> scanDataItem,Date scanDate,String dataFrom) throws EmisBizError {
|
||||
public List<ScanResultItem> doPackScan(List<ScanResultItem> itemList,String[] billCodeArr,Map<String,Object> scanDataItem,Date scanDate) throws EmisBizError {
|
||||
|
||||
// 检查数据 合包号,重量
|
||||
String packNo = MapUtils.getString(scanDataItem,"bagNo",null);
|
||||
@ -473,17 +562,17 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
|
||||
Map<String,Integer> mainBillMap = new HashMap<>();
|
||||
if(StringUtils.isAnyEmpty(packNo,scanWeightStr)) {
|
||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"合包号,合包重量不能为空");
|
||||
throw new EmisBizError(EmisBizErrorType.SCAN_PARAM_ERROR,"合包号,合包重量不能为空");
|
||||
}
|
||||
|
||||
BigDecimal scanWeight= BigDecimal.valueOf(Double.valueOf(scanWeightStr));
|
||||
if(scanWeight.compareTo(BigDecimal.ZERO)==0){
|
||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"合包重量不能为0");
|
||||
throw new EmisBizError(EmisBizErrorType.SCAN_PARAM_ERROR,"合包重量不能为0");
|
||||
}
|
||||
|
||||
String preOrNextStationCode = MapUtils.getString(scanDataItem,"preOrNextStationCode",null);
|
||||
if(StringUtils.isEmpty(preOrNextStationCode)) {
|
||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"下一站必填");
|
||||
throw new EmisBizError(EmisBizErrorType.SCAN_PARAM_ERROR,"下一站必填");
|
||||
}
|
||||
|
||||
// 判断是否必拆,不同国家必拆
|
||||
@ -503,8 +592,10 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
if (!isExists) {
|
||||
scanResultItem.setResult("fail");
|
||||
scanResultItem.setMessage("运单不存在");
|
||||
scanResultItem.setErrorCode(EmisBizErrorType.SCAN_NO_EXISTS.errorCode);
|
||||
itemList.add(scanResultItem);
|
||||
throw new EmisBizError(EmisBizErrorType.NOT_EXISTS, "运单不存在");
|
||||
return itemList;
|
||||
// throw new EmisBizError(EmisBizErrorType.SCAN_NO_EXISTS, "运单不存在");
|
||||
}
|
||||
|
||||
// 获取主单号
|
||||
@ -514,8 +605,10 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
if (isSign) {
|
||||
scanResultItem.setResult("fail");
|
||||
scanResultItem.setMessage("已签收");
|
||||
scanResultItem.setErrorCode(EmisBizErrorType.SCAN_HAS_SIGN.errorCode);
|
||||
itemList.add(scanResultItem);
|
||||
throw new EmisBizError(EmisBizErrorType.EXISTS, "已签收");
|
||||
return itemList;
|
||||
// throw new EmisBizError(EmisBizErrorType.SCAN_HAS_SIGN, "已签收");
|
||||
}
|
||||
|
||||
// 已组包,不允许再组包
|
||||
@ -523,8 +616,10 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
if (scanCnt > 0) {
|
||||
scanResultItem.setResult("fail");
|
||||
scanResultItem.setMessage("[" + scanBillCode + "]已组包");
|
||||
scanResultItem.setErrorCode(EmisBizErrorType.SCAN_NO_ALLOW.errorCode);
|
||||
itemList.add(scanResultItem);
|
||||
throw new EmisBizError(EmisBizErrorType.EXISTS, "[" + scanBillCode + "]已组包");
|
||||
return itemList;
|
||||
// throw new EmisBizError(EmisBizErrorType.SCAN_NO_ALLOW, "[" + scanBillCode + "]已组包");
|
||||
}
|
||||
|
||||
// 获取订单数据
|
||||
@ -533,11 +628,21 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
if("0095".equals(emisWaybill.getReceiveCountry()) ){
|
||||
// 缅甸只允许主单
|
||||
if (!mainBillCode.equals(scanBillCode)) {
|
||||
throw new EmisBizError(EmisBizErrorType.EXISTS, "缅甸只允许主单");
|
||||
scanResultItem.setResult("fail");
|
||||
scanResultItem.setMessage("缅甸只允许主单");
|
||||
scanResultItem.setErrorCode(EmisBizErrorType.SCAN_NO_ALLOW.errorCode);
|
||||
itemList.add(scanResultItem);
|
||||
return itemList;
|
||||
// throw new EmisBizError(EmisBizErrorType.SCAN_NO_ALLOW, "缅甸只允许主单");
|
||||
}
|
||||
}else{
|
||||
if (mainBillCode.equals(scanBillCode)) {
|
||||
throw new EmisBizError(EmisBizErrorType.EXISTS, "非缅甸只允许子单组包");
|
||||
scanResultItem.setResult("fail");
|
||||
scanResultItem.setMessage("非缅甸只允许子单组包");
|
||||
scanResultItem.setErrorCode(EmisBizErrorType.SCAN_NO_ALLOW.errorCode);
|
||||
itemList.add(scanResultItem);
|
||||
return itemList;
|
||||
// throw new EmisBizError(EmisBizErrorType.SCAN_NO_ALLOW, "非缅甸只允许子单组包");
|
||||
}
|
||||
}
|
||||
|
||||
@ -582,6 +687,7 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
scanResultItem.getData().put("totalVolume", emisWaybill.getTotalVolume());
|
||||
scanResultItem.getData().put("parcelQty", emisWaybill.getParcelQty());
|
||||
scanResultItem.setResult("success");
|
||||
scanResultItem.setErrorCode(EmisBizErrorType.SUCCESS.errorCode);
|
||||
scanResultItem.setMessage("操作成功");
|
||||
itemList.add(scanResultItem);
|
||||
if(!countryMap.containsKey(emisWaybill.getReceiveCountry())) {
|
||||
@ -617,7 +723,7 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
return itemList;
|
||||
}
|
||||
|
||||
public List<ScanResultItem> doUnPackScan(List<ScanResultItem> itemList,String[] billCodeArr,Map<String,Object> scanDataItem,Date scanDate,String dataFrom) throws EmisBizError {
|
||||
public List<ScanResultItem> doUnPackScan(List<ScanResultItem> itemList,String[] billCodeArr,Map<String,Object> scanDataItem,Date scanDate) throws EmisBizError {
|
||||
|
||||
String packNo=null;
|
||||
// 子单号处理
|
||||
@ -633,8 +739,9 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
if (emisTmsPackDtl == null) {
|
||||
scanResultItem.setResult("fail");
|
||||
scanResultItem.setMessage("未组包");
|
||||
scanResultItem.setErrorCode(EmisBizErrorType.NOT_EXISTS.errorCode);
|
||||
itemList.add(scanResultItem);
|
||||
throw new EmisBizError(EmisBizErrorType.NOT_EXISTS, "未组包");
|
||||
return itemList;
|
||||
}
|
||||
|
||||
packNo=emisTmsPackDtl.getPackNo();
|
||||
@ -757,7 +864,7 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
String preOrNextStationCode = MapUtils.getString(scanDataItem,"preOrNextStationCode",null);
|
||||
|
||||
if(StringUtils.isEmpty(preOrNextStationCode)) {
|
||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"下一站必填");
|
||||
throw new EmisBizError(EmisBizErrorType.SCAN_PARAM_ERROR,"下一站必填");
|
||||
}
|
||||
|
||||
|
||||
@ -816,7 +923,7 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
// 派送员
|
||||
String dispatchOrSendManCode = MapUtils.getString(scanDataItem,"dispatchOrSendManCode",null);
|
||||
if(StringUtils.isEmpty(dispatchOrSendManCode)) {
|
||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"派送员必填");
|
||||
throw new EmisBizError(EmisBizErrorType.SCAN_PARAM_ERROR,"派送员必填");
|
||||
}
|
||||
|
||||
emisTmsScanRecord.setDispatchOrSendManCode(dispatchOrSendManCode);
|
||||
@ -853,7 +960,7 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
String remark = MapUtils.getString(scanDataItem,"remark",null) ;
|
||||
|
||||
if(StringUtils.isEmpty(signMan)) {
|
||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"签收人必填");
|
||||
throw new EmisBizError(EmisBizErrorType.SCAN_PARAM_ERROR,"签收人必填");
|
||||
}
|
||||
|
||||
|
||||
@ -980,7 +1087,7 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
Float transferFee =MapUtils.getFloat(scanDataItem,"transferFee",null) ;
|
||||
|
||||
if(StringUtils.isAnyEmpty(transferCode,transferBillcode,destCity,transferDateStr)) {
|
||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"转件公司,转件单号,转件日期,目标城市必填");
|
||||
throw new EmisBizError(EmisBizErrorType.SCAN_PARAM_ERROR,"转件公司,转件单号,转件日期,目标城市必填");
|
||||
}
|
||||
|
||||
Date transferDate = null;
|
||||
@ -1048,7 +1155,7 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
String remark = MapUtils.getString(scanDataItem,"remark",null);
|
||||
|
||||
if(StringUtils.isAnyEmpty(problemType,notifySite,remark)) {
|
||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"问题类型,通知网点,问题原因必填");
|
||||
throw new EmisBizError(EmisBizErrorType.SCAN_PARAM_ERROR,"问题类型,通知网点,问题原因必填");
|
||||
}
|
||||
|
||||
// 需要记录大类及原因
|
||||
@ -1093,14 +1200,14 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
// "scanWeight": "0.2"
|
||||
|
||||
if(scanDataItem.get("carNo")==null) {
|
||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"车牌号不能为空");
|
||||
throw new EmisBizError(EmisBizErrorType.SCAN_PARAM_ERROR,"车牌号不能为空");
|
||||
}
|
||||
|
||||
String carNo = (String)scanDataItem.get("carNo");
|
||||
|
||||
String remark = (String)scanDataItem.get("remark");
|
||||
if(scanDataItem.get("preOrNextStationCode")==null) {
|
||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"下一站不能为空");
|
||||
throw new EmisBizError(EmisBizErrorType.SCAN_PARAM_ERROR,"下一站必填");
|
||||
}
|
||||
|
||||
String preOrNextStationCode = (String)scanDataItem.get("preOrNextStationCode");
|
||||
@ -1138,7 +1245,7 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
String preOrNextStationCode = (String)scanDataItem.get("preOrNextStationCode");
|
||||
|
||||
if(StringUtils.isEmpty(preOrNextStationCode)) {
|
||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"下一站必填");
|
||||
throw new EmisBizError(EmisBizErrorType.SCAN_PARAM_ERROR,"下一站必填");
|
||||
}
|
||||
|
||||
EmisSite site=getSiteByCode(preOrNextStationCode);
|
||||
@ -1159,7 +1266,7 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
String preOrNextStationCode = (String)scanDataItem.get("preOrNextStationCode");
|
||||
|
||||
if(StringUtils.isEmpty(preOrNextStationCode)) {
|
||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"下一站必填");
|
||||
throw new EmisBizError(EmisBizErrorType.SCAN_PARAM_ERROR,"下一站必填");
|
||||
}
|
||||
|
||||
EmisSite site=getSiteByCode(preOrNextStationCode);
|
||||
@ -1188,7 +1295,7 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
List<ScanResultItem> resultList = new ArrayList<>();
|
||||
if(scanInfo.getOpType()==2){
|
||||
for (Map<String,Object> item: scanInfo.getScanData()) {
|
||||
List<ScanResultItem> itemCheckList=doScan(scanInfo.getScanType(),item,scanInfo.getDataFrom());
|
||||
List<ScanResultItem> itemCheckList=doScan(scanInfo.getScanType(),item);
|
||||
resultList.addAll(itemCheckList);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user