add: 添加一期内包间异常卷反馈LMS,LMS查询RGV状态接口

This commit is contained in:
yanps
2025-02-25 17:22:52 +08:00
parent 9f2d9b3063
commit 3386dfab4d
5 changed files with 110 additions and 25 deletions

View File

@@ -37,6 +37,7 @@ import org.nl.modules.system.service.ParamService;
import org.nl.modules.system.service.impl.ParamServiceImpl;
import org.nl.modules.wql.util.SpringContextHolder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import java.util.*;
@@ -616,16 +617,22 @@ public class IndoorManipulatorDeviceDriver extends AbstractOpcDeviceDriver imple
//异常气胀轴反馈
if (action == 9) {
try {
instructionService.cancel(inst1.getInstruction_id());
logServer.deviceExecuteLog(this.device_code, "", "", "取消指令完成");
TaskDto byTaskCode = taskserver.findByTaskCode(inst1.getTask_code());
taskserver.cancel(byTaskCode.getTask_id());
logServer.deviceExecuteLog(this.device_code, "", "", "取消任务完成");
Map<String, Object> map = new LinkedHashMap<>();
map.put("to_command", "9");
this.writing(map);
feedbackSucess = true;
message = "异常气胀轴任务取消成功";
String task_code = inst1.getTask_code();
applyManipulatorActionRequest.setType("10");
applyManipulatorActionRequest.setTask_code1(task_code);
applyManipulatorActionResponse = acsToWmsService.applyManipulatorActionRequest(applyManipulatorActionRequest);
if(applyManipulatorActionResponse.getstatus() == HttpStatus.OK.value()) {
instructionService.cancel(inst1.getInstruction_id());
logServer.deviceExecuteLog(this.device_code, "", "", "取消指令完成");
TaskDto byTaskCode = taskserver.findByTaskCode(inst1.getTask_code());
taskserver.cancel(byTaskCode.getTask_id());
logServer.deviceExecuteLog(this.device_code, "", "", "取消任务完成");
Map<String, Object> map = new LinkedHashMap<>();
map.put("to_command", "9");
this.writing(map);
feedbackSucess = true;
message = "异常气胀轴任务取消成功";
}
} catch (Exception e) {
message = "取消任务或指令失败,失败原因"+ e.getMessage();
feedbackSucess = false;
@@ -1105,8 +1112,6 @@ public class IndoorManipulatorDeviceDriver extends AbstractOpcDeviceDriver imple
rgv1 = (RgvDeviceDriver) agv1.getDeviceDriver();
rgv2 = (RgvDeviceDriver) agv2.getDeviceDriver();
if ((rgv1.getMode() == 2 && rgv1.getMove1() == 1 && rgv1.getMove2() == 0) || (rgv2.getMode() == 2 && rgv2.getMove1() == 1 && rgv2.getMove2() == 0)) {
/*logServer.deviceExecuteLog(device_code, "", "", "mode1" + rgv1.getMode() + "mode2" +
rgv2.getMode() + "rgv1的move2" + rgv1.getMove2() + "rgv2的move2" + rgv2.getMove2());*/
return true;
} else {
notCreateInstMessage = "rgv信号不符合";

View File

@@ -14,6 +14,8 @@ public class ApplyManipulatorActionRequest extends BaseRequest {
* 6-套轴申请
* 7-套轴完成
* 8-拔轴完成
* 9-反馈重量
* 10-反馈异常子卷
*/
private String type;

View File

@@ -19,6 +19,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
/**
* @author ludj
* @date 2021-07-21
@@ -40,7 +42,7 @@ public class WmsToAcsController {
@PostMapping("/unLock")
@Log(value = "解锁立库点位",isInterfaceLog = true,interfaceLogType= InterfaceLogType.LMS_TO_ACS)
@SaIgnore
public ResponseEntity<Object> unLock(@RequestBody String whereJson) {
return new ResponseEntity<>(wmstoacsService.unLock(whereJson), HttpStatus.OK);
@@ -48,7 +50,7 @@ public class WmsToAcsController {
@PostMapping("/cancelTask")
@Log(value = "WMS取消任务",isInterfaceLog = true,interfaceLogType= InterfaceLogType.LMS_TO_ACS)
@SaIgnore
public ResponseEntity<Object> cancelFromWms(@RequestBody String whereJson) throws Exception {
return new ResponseEntity<>(wmstoacsService.cancelFromWms(whereJson), HttpStatus.OK);
@@ -56,7 +58,7 @@ public class WmsToAcsController {
@PostMapping("/updateDeviceGoodsFromWms")
@Log(value = "WMS修改点位状态",isInterfaceLog = true,interfaceLogType= InterfaceLogType.LMS_TO_ACS)
@SaIgnore
public ResponseEntity<Object> updateDeviceGoodsFromWms(@RequestBody String whereJson) {
return new ResponseEntity<>(wmstoacsService.updateDeviceGoodsFromWms(whereJson), HttpStatus.OK);
@@ -64,7 +66,7 @@ public class WmsToAcsController {
@PostMapping("/areaControl")
@Log(value = "区域控制",isInterfaceLog = true,interfaceLogType= InterfaceLogType.LMS_TO_ACS)
@SaIgnore
public ResponseEntity<Object> areaControl(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(wmstoacsService.areaControl(whereJson), HttpStatus.OK);
@@ -79,7 +81,7 @@ public class WmsToAcsController {
@PostMapping("/querydevice")
// @Log(value = "WMS查询设备状态",isInterfaceLog = true,interfaceLogType= InterfaceLogType.LMS_TO_ACS)
@SaIgnore
public ResponseEntity<Object> queryDevice(@RequestBody String whereJson) throws Exception {
return new ResponseEntity<>(wmstoacsService.queryDevice(whereJson), HttpStatus.OK);
@@ -87,7 +89,7 @@ public class WmsToAcsController {
@PostMapping("/queryDeviceDBValue")
@Log(value = "WMS查询设备DB值",isInterfaceLog = true,interfaceLogType= InterfaceLogType.LMS_TO_ACS)
@SaIgnore
public ResponseEntity<Object> queryDeviceDBValue(@RequestBody String whereJson){
return new ResponseEntity<>(wmstoacsService.queryDeviceDBValue(whereJson), HttpStatus.OK);
@@ -96,7 +98,7 @@ public class WmsToAcsController {
@PostMapping("/putPlusPullAction")
@Log(value = "WMS下发插拔轴动作",isInterfaceLog = true,interfaceLogType= InterfaceLogType.LMS_TO_ACS)
@SaIgnore
public ResponseEntity<Object> putPlusPullAction(@RequestBody String whereJson){
return new ResponseEntity<>(wmstoacsService.putPlusPullAction(whereJson), HttpStatus.OK);
@@ -104,7 +106,6 @@ public class WmsToAcsController {
@PostMapping("/updateTask")
@Log(value = "WMS更新任务点位状态",isInterfaceLog = true,interfaceLogType= InterfaceLogType.LMS_TO_ACS)
@SaIgnore
public ResponseEntity<Object> updateTask(@RequestBody String whereJson){
return new ResponseEntity<>(wmstoacsService.updateTask(whereJson), HttpStatus.OK);
@@ -112,7 +113,7 @@ public class WmsToAcsController {
@PostMapping("/sendAgvChargeTask")
@Log(value = "LMS下发agv充电任务",isInterfaceLog = true,interfaceLogType= InterfaceLogType.LMS_TO_ACS)
@SaIgnore
public ResponseEntity<Object> sendAgvChargeTask(@RequestBody JSONObject param){
return new ResponseEntity<>(wmstoacsService.sendAgvChargeTask(param), HttpStatus.OK);
@@ -120,7 +121,7 @@ public class WmsToAcsController {
@PostMapping("/queryDeviceInfo")
@Log(value = "查询agv车辆信息",isInterfaceLog = true,interfaceLogType= InterfaceLogType.LMS_TO_ACS)
@SaIgnore
public ResponseEntity<Object> queryDeviceInfo(@RequestBody JSONObject param){
return new ResponseEntity<>(wmstoacsService.queryDeviceInfo(param), HttpStatus.OK);
@@ -128,7 +129,7 @@ public class WmsToAcsController {
@PostMapping("/syncfaultInfo")
@Log(value = "LMS同步报警码信息",isInterfaceLog = true,interfaceLogType= InterfaceLogType.LMS_TO_ACS)
@SaIgnore
public ResponseEntity<Object> syncfaultInfo(){
return new ResponseEntity<>(wmstoacsService.syncfaultInfo(), HttpStatus.OK);
@@ -136,7 +137,7 @@ public class WmsToAcsController {
@PostMapping("/realTimefaultInfo")
@Log(value = "查询所有设备报警信息",isInterfaceLog = true,interfaceLogType= InterfaceLogType.LMS_TO_ACS)
@SaIgnore
public ResponseEntity<Object> realTimefaultInfo(@RequestBody JSONObject param){
return new ResponseEntity<>(wmstoacsService.realTimefaultInfo(param), HttpStatus.OK);
@@ -144,9 +145,16 @@ public class WmsToAcsController {
@PostMapping("/paperTubeAction")
@Log(value = "下发纸管库动作",isInterfaceLog = true,interfaceLogType= InterfaceLogType.LMS_TO_ACS)
@SaIgnore
public ResponseEntity<Object> paperTubeAction(@RequestBody JSONObject param){
return new ResponseEntity<>(wmstoacsService.paperTubeAction(param), HttpStatus.OK);
}
@PostMapping("/queryRGVStatus")
@Log(value = "WMS查询RGV状态",isInterfaceLog = true,interfaceLogType= InterfaceLogType.LMS_TO_ACS)
@SaIgnore
public ResponseEntity<Object> queryRGVStatus(@RequestBody JSONObject jsonObject){
return new ResponseEntity<>(wmstoacsService.queryRGVStatus(jsonObject),HttpStatus.OK);
}
}

View File

@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject;
import org.nl.acs.ext.wms.data.CancelTaskResponse;
import org.nl.acs.ext.wms.data.CreateTaskResponse;
import org.nl.acs.ext.wms.data.PutActionResponse;
import org.springframework.http.ResponseEntity;
import java.util.Map;
@@ -110,4 +111,16 @@ public interface WmsToAcsService {
Map<String, Object> paperTubeAction(JSONObject param);
/**
* 查询RGV状态
* @param whereJson
* @return
*/
Map<String, Object> queryRGVStatus(JSONObject jsonObject);
}

View File

@@ -74,6 +74,7 @@ import org.nl.modules.wql.util.SpringContextHolder;
import org.slf4j.MDC;
import org.springframework.context.ApplicationContext;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
@@ -1431,4 +1432,60 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
return resp;
}
@Override
public Map<String, Object> queryRGVStatus(JSONObject jsonObject) {
log.info("paperTubeAction--------------:输入参数" + jsonObject.toString());
JSONObject resp = new JSONObject();
if (StrUtil.isEmpty(jsonObject.getString("device_code"))) {
resp.put("status", 400);
resp.put("message", "未传递设备号:" + jsonObject.getString("device_code") + "无法查询设备状态信息");
log.info("paperTubeAction--------------:输出参数" + resp.toString());
return resp;
}
String device_code = jsonObject.getString("device_code");
Device deviceByCode = deviceAppService.findDeviceByCode(device_code);
if (ObjectUtil.isEmpty(deviceByCode)) {
resp.put("status", 400);
resp.put("message", "设备:" + device_code + "不存在");
log.info("paperTubeAction--------------:输出参数" + resp.toString());
return resp;
}
StandardOrdinarySiteDeviceDriver standardOrdinarySiteDeviceDriver;
RgvDeviceDriver rgv1;
RgvDeviceDriver rgv2;
if (deviceByCode.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) {
standardOrdinarySiteDeviceDriver = (StandardOrdinarySiteDeviceDriver) deviceByCode.getDeviceDriver();
List<String> linkDeviceCode = standardOrdinarySiteDeviceDriver.getExtraDeviceCodes("link_device_code");
if (linkDeviceCode.size() > 1) {
Device agv1 = deviceAppService.findDeviceByCode(linkDeviceCode.get(0));
Device agv2 = deviceAppService.findDeviceByCode(linkDeviceCode.get(1));
if (agv1.getDeviceDriver() instanceof RgvDeviceDriver && agv2.getDeviceDriver() instanceof RgvDeviceDriver) {
rgv1 = (RgvDeviceDriver) agv1.getDeviceDriver();
rgv2 = (RgvDeviceDriver) agv2.getDeviceDriver();
if ((rgv1.getMode() == 2 && rgv1.getMove1() == 1 && rgv1.getMove2() == 0) && (rgv2.getMode() == 2 && rgv2.getMove1() == 1 && rgv2.getMove2() == 0)) {
resp.put("status", 200);
resp.put("qty", 2);
log.info("paperTubeAction--------------:输出参数" + resp.toString());
return resp;
} else if ((rgv1.getMode() == 2 && rgv1.getMove1() == 1 && rgv1.getMove2() == 0) || (rgv2.getMode() == 2 && rgv2.getMove1() == 1 && rgv2.getMove2() == 0)) {
resp.put("status", 200);
resp.put("qty", 1);
log.info("paperTubeAction--------------:输出参数" + resp.toString());
return resp;
} else {
resp.put("status", 201);
resp.put("message", "设备:" + device_code + "信号不满足,mode:" + rgv1.getMode() + ",move1:" + rgv1.getMove1() + ",move2:" + rgv1.getMove2()
+ ",mode:" + rgv2.getMode() + ",move1:" + rgv2.getMove1() + ",move2:" + rgv2.getMove2());
log.info("paperTubeAction--------------:输出参数" + resp.toString());
return resp;
}
}
}
}
resp.put("status", 400);
resp.put("message", "设备:" + device_code + "驱动不符");
log.info("paperTubeAction--------------:输出参数" + resp.toString());
return resp;
}
}