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