Commit 9bf711a7 sunke

入库验证接口重构

1 个父辈 206ff21c
......@@ -149,7 +149,7 @@ public class SmfApi {
/**
* 条码解析之后到API验证是否可以入库
*/
public Barcode canPutInAfterResolve(Barcode barcode) throws ValidateException{
public Barcode canPutInAfterResolve(CodeValidateParam params, Barcode barcode) throws ValidateException{
if(barcode == null){
return null;
}
......@@ -157,7 +157,7 @@ public class SmfApi {
for (ISmfApiListener apiListener : apiListenerList) {
if(apiListener.isForThisApi(apiName)){
try{
Barcode responseBarcode = apiListener.canPutIn(inCheckUrl, barcode);
Barcode responseBarcode = apiListener.canPutInAfterResolve(inCheckUrl, params, barcode);
if(responseBarcode != null){
return responseBarcode;
}
......
package com.neotel.smfcore.core.api.bean;
import com.neotel.smfcore.core.storage.service.po.Storage;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
@Data
@AllArgsConstructor
public class CodeValidateParam implements Serializable {
public CodeValidateParam(String loginUser, String groupId, String storageId, String code, String token) {
this.loginUser = loginUser;
this.groupId = groupId;
this.storageId = storageId;
this.code = code;
this.token = token;
}
private String loginUser;
private String groupId;
private String storageId;
private List<Storage> storageList = new ArrayList<>();
private String code;
private String token;
}
......@@ -60,7 +60,7 @@ public abstract class BaseSmfApiListener implements ISmfApiListener {
}
@Override
public Barcode canPutIn(String inCheckUrl, Barcode barcode) throws ValidateException {
public Barcode canPutInAfterResolve(String inCheckUrl, CodeValidateParam params, Barcode barcode) throws ValidateException {
return null;
}
......
......@@ -92,7 +92,7 @@ public class DefaultSmfApiListener extends BaseSmfApiListener {
// }
@Override
public Barcode canPutIn(String inCheckUrl, Barcode barcode) throws ValidateException {
public Barcode canPutInAfterResolve(String inCheckUrl, CodeValidateParam params, Barcode barcode) throws ValidateException {
Map<String,Object> paramMap = new HashMap<>();
paramMap.put("reelId",barcode.getBarcode());
paramMap.put("fullCode",barcode.getFullCode());
......
......@@ -24,10 +24,11 @@ public interface ISmfApiListener {
*/
void outTaskStatusChange(String outNotifyUrl, DataLog task);
/**
* 是否可入库验证
*/
Barcode canPutIn(String inCheckUrl, Barcode barcode) throws ValidateException;
Barcode canPutInAfterResolve(String inCheckUrl, CodeValidateParam params, Barcode barcode) throws ValidateException;
/**
* 入库扫条码后在解析之前进行验证
......
......@@ -252,7 +252,7 @@ public class BaseDeviceHandler implements IDeviceHandler {
barcodeSave = codeResolve.resolveOneValideBarcode(codeStr,type);
}
//从API验证
Barcode apiBarcode = smfApi.canPutInAfterResolve(barcodeSave);
Barcode apiBarcode = smfApi.canPutInAfterResolve(params, barcodeSave);
if(apiBarcode != null){
barcodeSave = apiBarcode;
}
......
......@@ -103,7 +103,7 @@ public class NLPShelfHandler extends BaseDeviceHandler {
}
//从API验证
Barcode verResult = smfApi.canPutInAfterResolve(barcodeSave);
Barcode verResult = smfApi.canPutInAfterResolve(params, barcodeSave);
if (verResult != null) {
barcodeSave = verResult;
......
......@@ -361,7 +361,7 @@ public class NLShelfHandler extends BaseDeviceHandler {
String barcodeStr = "=1x1=" + code;
barcode = codeResolve.resolveOneValideBarcode(barcodeStr);
}
barcode = smfApi.canPutInAfterResolve(barcode);
barcode = smfApi.canPutInAfterResolve(params, barcode);
if(barcode == null){
throw new ValidateException("smfcore.error.barcode.invalid", "{0}不是有效的条码",new String[]{code});
}
......
......@@ -115,7 +115,7 @@ public class DeviceController {
barcodeSave = codeResolve.resolveOneValideBarcode(params.getCode());
}
//从API验证
Barcode barcodeFromApi = smfApi.canPutInAfterResolve(barcodeSave);
Barcode barcodeFromApi = smfApi.canPutInAfterResolve(params, barcodeSave);
if (barcodeFromApi != null) {
barcodeSave = barcodeFromApi;
......@@ -178,6 +178,7 @@ public class DeviceController {
} else {
try {
CodeValidateParam params = new CodeValidateParam("","","",code,"");
params.setStorageList(storageList);
Barcode barcode = resolveBarcodeFromApi(params);
if(barcode==null) {
throw new ValidateException("smfcore.error.barcode.invalid", "{0}不是有效的条码", new String[]{code});
......
......@@ -21,6 +21,7 @@ import com.neotel.smfcore.core.kanban.rest.bean.mapstruct.BoxTaskMapper;
import com.neotel.smfcore.core.kanban.rest.bean.query.BoxTaskQueryCriter;
import com.neotel.smfcore.core.message.util.DeviceMessageUtil;
import com.neotel.smfcore.core.msd.bean.MSDSettiings;
import com.neotel.smfcore.core.order.enums.LITEORDER_STATUS;
import com.neotel.smfcore.core.storage.service.manager.IStoragePosManager;
import com.neotel.smfcore.core.storage.service.po.Storage;
import com.neotel.smfcore.core.storage.service.po.StoragePos;
......@@ -75,6 +76,7 @@ public class HumitureController {
Float maxHumidity = msdSettiings.getMaxHumidity();
Query query = QueryHelp.getQuery(criteria);
query.with(Sort.by(Sort.Direction.ASC, "id"));
query.addCriteria(Criteria.where("temperature").gt(0));
PageData<Humiture> humitureList = humitureManager.findByPage(query,pageable);
HumitureDto restultDto = new HumitureDto();
restultDto.setMaxHumidity(maxHumidity);
......
......@@ -169,10 +169,15 @@ public class SpBoxHandler extends BaseDeviceHandler {
protected StatusBean putInBoxSp(Storage storage, StatusBean statusBean) {
try {
String codeStr = statusBean.getCode();
CodeValidateParam params = new CodeValidateParam("",storage.getGroupId(),storage.getId(),codeStr,"");
Barcode barcode = smfApi.canPutInBeforeResolve(params);
if(barcode == null){
barcode = codeResolve.resolveOneValideBarcode(codeStr);
}
Barcode barcodeSave = codeResolve.resolveOneValideBarcode(codeStr);
//从API验证
barcodeSave = smfApi.canPutInAfterResolve(barcodeSave);
barcodeSave = smfApi.canPutInAfterResolve(params, barcodeSave);
if (barcodeSave == null) {
barcodeSave = codeResolve.resolveOneValideBarcode(codeStr);
}
......
......@@ -18,6 +18,7 @@ import com.neotel.smfcore.core.system.rest.bean.query.TaskQueryCondition;
import com.neotel.smfcore.core.system.service.manager.IDataLogManager;
import com.neotel.smfcore.core.system.service.po.DataLog;
import com.neotel.smfcore.core.system.util.TaskService;
import com.neotel.smfcore.security.annotation.AnonymousAccess;
import com.neotel.smfcore.security.annotation.AnonymousDeleteMapping;
import com.neotel.smfcore.security.annotation.AnonymousGetMapping;
import com.neotel.smfcore.security.service.manager.IUserManager;
......@@ -92,6 +93,7 @@ public class TaskController {
@ApiOperation("查询出入库日志")
@GetMapping("/history")
@PreAuthorize("@el.check('taskLog')")
@AnonymousAccess
public PageData<TaskDto> query(TaskQueryCondition criteria, Pageable pageable) {
Query query = getQuery(criteria);
PageData<DataLog> taskList = dataLogManager.findByPage(query, pageable);
......
......@@ -4,6 +4,7 @@ import com.google.common.collect.Lists;
import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.common.utils.HttpHelper;
import com.neotel.smfcore.common.utils.JsonUtil;
import com.neotel.smfcore.core.api.bean.CodeValidateParam;
import com.neotel.smfcore.core.api.listener.BaseSmfApiListener;
import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.order.service.manager.ILiteOrderItemManager;
......@@ -67,7 +68,7 @@ public class AdvantechApi extends BaseSmfApiListener {
* CHECK:OK 可以存料,FAIL 不可存料"
*/
@Override
public Barcode canPutIn(String inCheckUrl, Barcode barcode) throws ValidateException {
public Barcode canPutInAfterResolve(String inCheckUrl, CodeValidateParam params, Barcode barcode) throws ValidateException {
Map<String,Object> paramMap = new HashMap<>();
paramMap.put("webServiceType","AKMU1");
String paramStr = "<root><METHOD ID='MMS_CL.LTCheckReel001'/><REELS>"+ barcode.getBarcode()+"</REELS></root>";
......
......@@ -31,7 +31,7 @@ public class HellaApiHandler extends BaseSmfApiListener {
}
@Override
public Barcode canPutIn(String inCheckUrl, Barcode barcode) throws ValidateException {
public Barcode canPutInAfterResolve(String inCheckUrl, CodeValidateParam params, Barcode barcode) throws ValidateException {
if (!HellaTcpClient.isEnable()) {
return null;
}
......
......@@ -244,7 +244,7 @@ public class NeotelApi extends BaseSmfApiListener {
* @throws ValidateException
*/
@Override
public Barcode canPutIn(String inCheckUrl, Barcode barcode) throws ValidateException {
public Barcode canPutInAfterResolve(String inCheckUrl, CodeValidateParam params, Barcode barcode) throws ValidateException {
log.info("{}类型为:{}", barcode.getBarcode(), barcode.getType());
if (COMPONENT_TYPE.COMPONENT != barcode.getType()) {
return null;
......
......@@ -7,6 +7,7 @@ import com.google.common.collect.Maps;
import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.common.utils.HttpHelper;
import com.neotel.smfcore.common.utils.StorageConstants;
import com.neotel.smfcore.core.api.bean.CodeValidateParam;
import com.neotel.smfcore.core.api.listener.BaseSmfApiListener;
import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.device.enums.OP;
......@@ -374,7 +375,7 @@ public class PanaApiController extends BaseSmfApiListener {
@Override
public Barcode canPutIn(String incheckUrl, Barcode barcode) throws ValidateException {
public Barcode canPutInAfterResolve(String inCheckUrl, CodeValidateParam codeParams, Barcode barcode) throws ValidateException {
String requestReelUrl = getRequestReelUrl();
try {
if(!Strings.isNullOrEmpty(requestReelUrl)){
......
......@@ -5,6 +5,7 @@ import com.neotel.smfcore.common.utils.DateUtil;
import com.neotel.smfcore.common.utils.HttpHelper;
import com.neotel.smfcore.common.utils.JsonUtil;
import com.neotel.smfcore.core.api.bean.ApiResult;
import com.neotel.smfcore.core.api.bean.CodeValidateParam;
import com.neotel.smfcore.core.api.listener.BaseSmfApiListener;
import com.neotel.smfcore.core.barcode.service.manager.IComponentManager;
import com.neotel.smfcore.core.barcode.service.po.Barcode;
......@@ -138,7 +139,7 @@ public class TianTongApi extends BaseSmfApiListener {
* @throws ValidateException
*/
@Override
public Barcode canPutIn(String inCheckUrl, Barcode barcode) throws ValidateException {
public Barcode canPutInAfterResolve(String inCheckUrl, CodeValidateParam params, Barcode barcode) throws ValidateException {
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("RID", barcode.getBarcode());
paramMap.put("MTRL_ID", barcode.getPartNumber());
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!