Commit b83261ff LN

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

1 个父辈 d5ae6f06
...@@ -234,4 +234,6 @@ public class Constants { ...@@ -234,4 +234,6 @@ public class Constants {
* NG料信息 * NG料信息
*/ */
public static final String CACHE_ML_NGREELMAP ="CACHE_ML_NGREELMAP"; 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; ...@@ -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.message.util.DeviceMessageUtil;
import com.neotel.smfcore.core.system.bean.MesInfoDto; import com.neotel.smfcore.core.system.bean.MesInfoDto;
import com.neotel.smfcore.core.system.util.EquipStatusUtil; import com.neotel.smfcore.core.system.util.EquipStatusUtil;
import com.neotel.smfcore.custom.micron1551.util.Micron1551DataCache;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map; import java.util.Map;
@Service @Service
@Slf4j @Slf4j
public class BaseEquipHandler implements IEquipmentHandler { public class BaseEquipHandler implements IEquipmentHandler {
@Autowired
private Micron1551DataCache micron1551DataCache;
@Override @Override
public EquipStatusBean handleClientRequest(EquipStatusBean statusBean, HttpServletRequest request) { public EquipStatusBean handleClientRequest(EquipStatusBean statusBean, HttpServletRequest request) {
statusBean.setClientIp(request.getRemoteHost()); statusBean.setClientIp(request.getRemoteHost());
...@@ -94,6 +100,12 @@ public class BaseEquipHandler implements IEquipmentHandler { ...@@ -94,6 +100,12 @@ public class BaseEquipHandler implements IEquipmentHandler {
Map<String,String> addOP=EquipStatusUtil.getAndRemoveOp(statusBean.getCid()); Map<String,String> addOP=EquipStatusUtil.getAndRemoveOp(statusBean.getCid());
statusBean.addOp(addOP); 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); DeviceStateDurationUtil.onEquipStatusUpdate(statusBean);
} catch (Exception e) { } catch (Exception e) {
log.error("客户端故障消息处理出错", e); log.error("客户端故障消息处理出错", e);
......
package com.neotel.smfcore.custom.micron1551.controller; package com.neotel.smfcore.custom.micron1551.controller;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.neotel.smfcore.common.bean.ResultBean;
import com.neotel.smfcore.common.exception.ValidateException; import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.core.device.util.DataCache; import com.neotel.smfcore.core.device.util.DataCache;
import com.neotel.smfcore.core.equipment.bean.EquipStatusBean; import com.neotel.smfcore.core.equipment.bean.EquipStatusBean;
...@@ -134,4 +135,29 @@ public class ML5SDeviceController { ...@@ -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; ...@@ -51,7 +51,7 @@ import javax.servlet.http.HttpServletRequest;
import java.util.*; import java.util.*;
@Api(tags = "1551 设备接口") @Api(tags = "1551 设备接口")
@RestController("/rest/micron1551") @RestController("")
@Slf4j @Slf4j
public class Micron1551DeviceController { public class Micron1551DeviceController {
...@@ -82,7 +82,7 @@ public class Micron1551DeviceController { ...@@ -82,7 +82,7 @@ public class Micron1551DeviceController {
private Micron1551DataCache micron1551DataCache; private Micron1551DataCache micron1551DataCache;
@ApiOperation("ML5S扫码后获取库位号") @ApiOperation("ML5S扫码后获取库位号")
@PostMapping(value = "/emptyPosForPutin") @PostMapping(value = "/rest/micron1551/emptyPosForPutin")
@ResponseBody @ResponseBody
@AnonymousAccess @AnonymousAccess
public Map<String, Object> ml5sEmptyPosForPutin(HttpServletRequest request) { public Map<String, Object> ml5sEmptyPosForPutin(HttpServletRequest request) {
...@@ -738,7 +738,7 @@ public class Micron1551DeviceController { ...@@ -738,7 +738,7 @@ public class Micron1551DeviceController {
// code=其他值时错误,尺寸也没有 // code=其他值时错误,尺寸也没有
@ApiOperation("ML5O获取料盘目的地") @ApiOperation("ML5O获取料盘目的地")
@PostMapping(value = "/getTargetLine") @PostMapping(value = "/rest/micron1551/getTargetLine")
@ResponseBody @ResponseBody
@AnonymousAccess @AnonymousAccess
public ResultBean getTargetLine(HttpServletRequest request) { public ResultBean getTargetLine(HttpServletRequest request) {
...@@ -821,7 +821,7 @@ public class Micron1551DeviceController { ...@@ -821,7 +821,7 @@ public class Micron1551DeviceController {
@ApiOperation("获取条码尺寸") @ApiOperation("获取条码尺寸")
@PostMapping(value = "/getSize") @PostMapping(value = "/rest/micron1551/getSize")
@ResponseBody @ResponseBody
@AnonymousAccess @AnonymousAccess
public ResultBean getSize(HttpServletRequest request) { public ResultBean getSize(HttpServletRequest request) {
...@@ -870,7 +870,7 @@ public class Micron1551DeviceController { ...@@ -870,7 +870,7 @@ public class Micron1551DeviceController {
@ApiOperation("上传一个NG料 ") @ApiOperation("上传一个NG料 ")
@PostMapping(value = "/uploadNgReel") @PostMapping(value = "/rest/micron1551/uploadNgReel")
@ResponseBody @ResponseBody
@AnonymousAccess @AnonymousAccess
public ResultBean uploadNgReel(@RequestBody Object param, HttpServletRequest request) { public ResultBean uploadNgReel(@RequestBody Object param, HttpServletRequest request) {
...@@ -888,7 +888,7 @@ public class Micron1551DeviceController { ...@@ -888,7 +888,7 @@ public class Micron1551DeviceController {
} }
@ApiOperation("清空指定NG的NG料,参数 ngPos:1=左侧,2=右侧 ") @ApiOperation("清空指定NG的NG料,参数 ngPos:1=左侧,2=右侧 ")
@PostMapping(value = "/clearNgPos") @PostMapping(value = "/rest/micron1551/clearNgPos")
@ResponseBody @ResponseBody
@AnonymousAccess @AnonymousAccess
public ResultBean clearNgPos( HttpServletRequest request) { public ResultBean clearNgPos( HttpServletRequest request) {
......
...@@ -72,4 +72,40 @@ public class Micron1551DataCache { ...@@ -72,4 +72,40 @@ public class Micron1551DataCache {
public static String NgType_ML5S2="ML5SNG2"; public static String NgType_ML5S2="ML5SNG2";
public static String NgType_ML5O1="ML5ONG1"; public static String NgType_ML5O1="ML5ONG1";
public static String NgType_ML5O2="ML5ONG2"; 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!