Commit b83261ff LN

lp增加从smf配置目的地功能

1 个父辈 d5ae6f06
......@@ -234,4 +234,6 @@ public class Constants {
* NG料信息
*/
public static final String CACHE_ML_NGREELMAP ="CACHE_ML_NGREELMAP";
public static final String CACHE_ML_LPTTARGETUP="CACHE_ML_LPTTARGETUP";
}
......@@ -10,15 +10,21 @@ import com.neotel.smfcore.core.equipment.handler.IEquipmentHandler;
import com.neotel.smfcore.core.message.util.DeviceMessageUtil;
import com.neotel.smfcore.core.system.bean.MesInfoDto;
import com.neotel.smfcore.core.system.util.EquipStatusUtil;
import com.neotel.smfcore.custom.micron1551.util.Micron1551DataCache;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
@Service
@Slf4j
public class BaseEquipHandler implements IEquipmentHandler {
@Autowired
private Micron1551DataCache micron1551DataCache;
@Override
public EquipStatusBean handleClientRequest(EquipStatusBean statusBean, HttpServletRequest request) {
statusBean.setClientIp(request.getRemoteHost());
......@@ -94,6 +100,12 @@ public class BaseEquipHandler implements IEquipmentHandler {
Map<String,String> addOP=EquipStatusUtil.getAndRemoveOp(statusBean.getCid());
statusBean.addOp(addOP);
if(statusBean.getType().equals(EquipmentType.ML5S.name())){
List<String> LP1TP=micron1551DataCache.getLPTargetPos("LP1");
List<String> LP2TP=micron1551DataCache.getLPTargetPos("LP2");
statusBean.getData().put("LP1TP",LP1TP);
statusBean.getData().put("LP2TP",LP2TP);
}
DeviceStateDurationUtil.onEquipStatusUpdate(statusBean);
} catch (Exception e) {
log.error("客户端故障消息处理出错", e);
......
package com.neotel.smfcore.custom.micron1551.controller;
import cn.hutool.core.util.ObjectUtil;
import com.neotel.smfcore.common.bean.ResultBean;
import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.core.device.util.DataCache;
import com.neotel.smfcore.core.equipment.bean.EquipStatusBean;
......@@ -134,4 +135,29 @@ public class ML5SDeviceController {
@ApiOperation("更改LP出料口信息")
@GetMapping("updateLPTarget")
@PreAuthorize("@el.check('equipmentView:info')")
public ResultBean updateLPTarget(String lpName, String targetName, HttpServletRequest servletRequest){
if(ObjectUtil.isEmpty(lpName)||ObjectUtil.isEmpty(targetName)){
return ResultBean.newOkResult("smfcore.micron.operationFailure","操作失败");
}
List<String> list = new ArrayList<>(Arrays.asList(targetName.split(",")));
micron1551DataCache.updateTargetPos(lpName,list);
return ResultBean.newOkResult("ok");
}
@ApiOperation("获取LP出料口信息")
@GetMapping("getLPTarget")
@PreAuthorize("@el.check('equipmentView:info')")
public ResultBean updateLPTarget(String lpName,HttpServletRequest servletRequest){
if(ObjectUtil.isEmpty(lpName) ){
return ResultBean.newOkResult("smfcore.micron.operationFailure","操作失败");
}
List<String> list = micron1551DataCache.getLPTargetPos(lpName);
return ResultBean.newOkResult(list);
}
}
......@@ -51,7 +51,7 @@ import javax.servlet.http.HttpServletRequest;
import java.util.*;
@Api(tags = "1551 设备接口")
@RestController("/rest/micron1551")
@RestController("")
@Slf4j
public class Micron1551DeviceController {
......@@ -82,7 +82,7 @@ public class Micron1551DeviceController {
private Micron1551DataCache micron1551DataCache;
@ApiOperation("ML5S扫码后获取库位号")
@PostMapping(value = "/emptyPosForPutin")
@PostMapping(value = "/rest/micron1551/emptyPosForPutin")
@ResponseBody
@AnonymousAccess
public Map<String, Object> ml5sEmptyPosForPutin(HttpServletRequest request) {
......@@ -738,7 +738,7 @@ public class Micron1551DeviceController {
// code=其他值时错误,尺寸也没有
@ApiOperation("ML5O获取料盘目的地")
@PostMapping(value = "/getTargetLine")
@PostMapping(value = "/rest/micron1551/getTargetLine")
@ResponseBody
@AnonymousAccess
public ResultBean getTargetLine(HttpServletRequest request) {
......@@ -821,7 +821,7 @@ public class Micron1551DeviceController {
@ApiOperation("获取条码尺寸")
@PostMapping(value = "/getSize")
@PostMapping(value = "/rest/micron1551/getSize")
@ResponseBody
@AnonymousAccess
public ResultBean getSize(HttpServletRequest request) {
......@@ -870,7 +870,7 @@ public class Micron1551DeviceController {
@ApiOperation("上传一个NG料 ")
@PostMapping(value = "/uploadNgReel")
@PostMapping(value = "/rest/micron1551/uploadNgReel")
@ResponseBody
@AnonymousAccess
public ResultBean uploadNgReel(@RequestBody Object param, HttpServletRequest request) {
......@@ -888,7 +888,7 @@ public class Micron1551DeviceController {
}
@ApiOperation("清空指定NG的NG料,参数 ngPos:1=左侧,2=右侧 ")
@PostMapping(value = "/clearNgPos")
@PostMapping(value = "/rest/micron1551/clearNgPos")
@ResponseBody
@AnonymousAccess
public ResultBean clearNgPos( HttpServletRequest request) {
......
......@@ -72,4 +72,40 @@ public class Micron1551DataCache {
public static String NgType_ML5S2="ML5SNG2";
public static String NgType_ML5O1="ML5ONG1";
public static String NgType_ML5O2="ML5ONG2";
public Map<String,List<String>> targetPosMap=null;
public void updateTargetPos(String LPName,List<String> targetPosList) {
if (targetPosMap == null) {
//第一次获取,从数据库加载
targetPosMap = dataCache.getCache(Constants.CACHE_ML_LPTTARGETUP);
if (targetPosMap == null) {
targetPosMap = new HashMap<>();
}
}
targetPosMap.put(LPName, targetPosList);
//更新到数据库
dataCache.updateCache(Constants.CACHE_ML_LPTTARGETUP, targetPosMap);
log.info("updateTargetPos ,lp=" + LPName + ", targetPos=" + String.join(",", targetPosList));
}
public List<String> getLPTargetPos(String LPName){
if (targetPosMap == null) {
//第一次获取,从数据库加载
targetPosMap = dataCache.getCache(Constants.CACHE_ML_LPTTARGETUP);
if (targetPosMap == null) {
targetPosMap = new HashMap<>();
}
}
List<String> list= targetPosMap.getOrDefault(LPName,new ArrayList<>());
return list;
}
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!