Commit 9cc55175 sunke

料架取消任务时关灯

西门子接口验证修改
1 个父辈 6bc63691
......@@ -247,7 +247,7 @@ public class StatusBean {
public void addOp(Map<String, String> opMap){
if(opMap != null && !opMap.isEmpty()){
for (Map.Entry<String, String> op : opMap.entrySet()) {
data.put(op.getKey(), op.getValue());
addData(op.getKey(), op.getValue());
}
}
}
......
......@@ -59,6 +59,16 @@ public class NLMShelfHandler extends BaseDeviceHandler {
Map<String, List<DataLog>> outMap = new HashMap<>();
if (statusBean != null) {
String cid = statusBean.getCid();
List<DataLog> finishedTasks = taskService.getFinishedTasks();
for (DataLog finishedTask : finishedTasks) {
if(finishedTask.getCid().equals(cid) && finishedTask.isCheckOutTask() && finishedTask.isCancel()){
//取消的任务,需要关灯
taskService.removeFinishedTask(finishedTask);
statusBean.addData("close",finishedTask.getPosName());
}
}
Map<String, String> opMap = DevicesStatusUtil.getAndRemoveOp(statusBean.getCid());
statusBean.addOp(opMap);
}
......
......@@ -94,7 +94,6 @@ public class NLPShelfHandler extends BaseDeviceHandler{
}
}
Barcode barcodeSave = smfApi.resolveBarcode(new CodeValidateParam( loginUser,groupId,storageId,code,token));
if(barcodeSave == null){
barcodeSave = smfApi.canPutInBeforeResolve(code);
......@@ -104,14 +103,6 @@ public class NLPShelfHandler extends BaseDeviceHandler{
barcodeSave = codeResolve.resolveOneValideBarcode("=1x1="+code);
}
Date expireDate = barcodeSave.getExpireDate();
if (expireDate != null) {
if (System.currentTimeMillis() > expireDate.getTime()) {
throw new ValidateException("smfcore.error.barcode.expired", "物料已过期,无法入库.");
}
}
//从API验证
Barcode verResult = smfApi.canPutInAfterResolve(barcodeSave);
......@@ -128,6 +119,14 @@ public class NLPShelfHandler extends BaseDeviceHandler{
return ResultBean.newErrorResult(1, "smfcore.error.barcode.noValidCode", "无效的条码");
}
Date expireDate = barcode.getExpireDate();
if (expireDate != null) {
if (System.currentTimeMillis() > expireDate.getTime()) {
throw new ValidateException("smfcore.error.barcode.expired", "物料已过期,无法入库.");
}
}
String pn = barcode.getPartNumber();
String reelId = barcode.getBarcode();
String num = barcode.getAmount() + "";
......@@ -180,6 +179,22 @@ public class NLPShelfHandler extends BaseDeviceHandler{
handleMsg(statusBean);
statusBean = saveAlarmAndHumidity(statusBean);
if (statusBean != null) {
String cid = statusBean.getCid();
List<DataLog> finishedTasks = taskService.getFinishedTasks();
for (DataLog finishedTask : finishedTasks) {
if(finishedTask.getCid().equals(cid) && finishedTask.isCheckOutTask() && finishedTask.isCancel()){
//取消的任务,需要关灯
taskService.removeFinishedTask(finishedTask);
statusBean.addData("close",finishedTask.getPosName());
}
}
Map<String, String> opMap = DevicesStatusUtil.getAndRemoveOp(statusBean.getCid());
statusBean.addOp(opMap);
}
OrderSetting orderSetting = dataCache.getOrderSetting();
boolean openZhiYin = orderSetting.getShelfLightType().equals(1);
Map<String, List<DataLog>> outMap = new HashMap<>();
......@@ -223,8 +238,7 @@ public class NLPShelfHandler extends BaseDeviceHandler{
}
List<DataLog> dataLogs = getLightGuideTask(outMap);
for (DataLog task :
dataLogs) {
for (DataLog task : dataLogs) {
statusBean.addData("open", task.getPosName() + "=" + ORDER_COLOR.fromRgb(task.getLightColor()).name());
}
......
......@@ -67,6 +67,17 @@ public class NLShelfHandler extends BaseDeviceHandler {
Map<String, List<DataLog>> outMap = new HashMap<>();
if (statusBean != null) {
String cid = statusBean.getCid();
List<DataLog> finishedTasks = taskService.getFinishedTasks();
for (DataLog finishedTask : finishedTasks) {
if(finishedTask.getCid().equals(cid) && finishedTask.isCheckOutTask() && finishedTask.isCancel()){
//取消的任务,需要关灯
taskService.removeFinishedTask(finishedTask);
statusBean.addData("close",finishedTask.getPosName());
}
}
Map<String, String> opMap = DevicesStatusUtil.getAndRemoveOp(statusBean.getCid());
statusBean.addOp(opMap);
}
......@@ -99,8 +110,7 @@ public class NLShelfHandler extends BaseDeviceHandler {
}
List<DataLog> dataLogs = getLightGuideTask(outMap);
for (DataLog task :
dataLogs) {
for (DataLog task : dataLogs) {
statusBean.addData("open", task.getPosName() + "=" + ORDER_COLOR.fromRgb(task.getLightColor()).name());
}
return statusBean;
......
......@@ -55,7 +55,7 @@ public class DataLog extends BasePo implements Serializable {
/**
* 所属料仓
*/
private String storageName;
private String storageName = "";
/**
* 料仓 cid
*/
......
......@@ -133,7 +133,6 @@ public class SiemensApi extends BaseSmfApiListener {
try {
Collection<CodeBean> codeBeans = codeResolve.resolveCodeStr(codeStr, COMPONENT_TYPE.COMPONENT);
for (CodeBean codebean : codeBeans) {
if (codebean.hasReelSizeInfo()) {
LotCheckInfo info = lotCheckIn(codebean.getCodeStr(),inCheckUrl);
if (info != null && info.isStatus() && ObjectUtil.isNotEmpty(info.getPartnum()) && ObjectUtil.isNotEmpty(info.getQuantity())) {
//查找元器件是否存在
......@@ -143,8 +142,8 @@ public class SiemensApi extends BaseSmfApiListener {
component = new com.neotel.smfcore.core.barcode.service.po.Component();
component.setPartNumber(info.getPartnum());
component.setAmount(info.getQuantity());
component.setHeight(codebean.getReelHeight());
component.setPlateSize(codebean.getReelWidth());
component.setHeight(1);
component.setPlateSize(1);
component = componentManager.saveComponent(component);
log.info("siemensCheckCode 新增 元器件:[" + component.getPartNumber() + "][" + component.getAmount() + "][" + component.getPlateSize() + "]X[" + component.getHeight() + "]");
} else if (component.getAmount() != info.getQuantity()) {
......@@ -175,10 +174,8 @@ public class SiemensApi extends BaseSmfApiListener {
}
return barcode;
}
}
}
throw new ValidateException("siemens.barcode.failed","SIEMENS条码验证失败");
throw new ValidateException("siemens.barcode.failed","SIEMENS验证条码["+codeStr+"]失败");
} catch (Exception ex) {
log.info("siemensCheckCode 验证条码 [" + codeStr + "] 出错:", ex);
throw new ValidateException("siemens.barcode.error","SIEMENS条码验证出错:" + ex.getMessage());
......@@ -208,7 +205,7 @@ public class SiemensApi extends BaseSmfApiListener {
}
}
} catch (Exception e) {
log.error("Siemens[" + url + "]:料盘[" + lot + "][" + action + "]出错:", e);
log.error("Siemens[" + url + "]:料盘[" + lot + "][" + action + "]出错:" + e.getMessage());
}
return null;
// {
......
......@@ -27,30 +27,28 @@ public class LotCheckInfo implements Serializable {
public static LotCheckInfo toObj(String lotId,String result) {
try {
Map<String, Object> map = JsonUtil.toMap(result);
if (map.containsKey("Status")) {
boolean s = Boolean.parseBoolean(map.get("Status").toString());
Object statusStr = map.containsKey("Status");
if (statusStr != null) {
boolean s = Boolean.parseBoolean(statusStr.toString());
LotCheckInfo lotCheckInfo = new LotCheckInfo();
lotCheckInfo.setStatus(s);
lotCheckInfo.setLotId(lotId);
if (map.containsKey("Message")) {
lotCheckInfo.setMessage(map.get("Message").toString());
Object messageStr = map.get("Message");
if (messageStr != null) {
lotCheckInfo.setMessage(messageStr.toString());
}
if (map.containsKey("Code")) {
lotCheckInfo.setCode(map.get("Code").toString());
Object codeStr = map.get("Code");
if (codeStr != null) {
lotCheckInfo.setCode(codeStr.toString());
}
if (map.containsKey("partnum")) {
Object partnum = map.get("partnum");
if(partnum != null){
lotCheckInfo.setPartnum(partnum.toString());
}
}
if (map.containsKey("quantity")) {
Object quantity = map.get("quantity");
if(quantity != null){
lotCheckInfo.setQuantity(Integer.parseInt(quantity.toString()));
}
}
return lotCheckInfo;
}
} catch (Exception ex) {
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!