diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/WmsToAcsController.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/WmsToAcsController.java index 581ec4f23..a8b3c735d 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/WmsToAcsController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/WmsToAcsController.java @@ -104,5 +104,26 @@ public class WmsToAcsController { return new ResponseEntity<>(wmsToAcsService.putPlusPullAction(jo), HttpStatus.OK); } + @PostMapping("/unLock") + @Log(value = "给ACS下发修立库点位解锁", isInterfaceLog = true, interfaceLogType = InterfaceLogType.LMS_TO_ACS) + @ApiOperation("给ACS下发修立库点位解锁") + public ResponseEntity unLock(@RequestBody JSONObject jo) { + return new ResponseEntity<>(wmsToAcsService.unLock(jo), HttpStatus.OK); + } + + @PostMapping("/queryDeviceInfo") + @Log(value = "LMS向acs请求设备信息", isInterfaceLog = true, interfaceLogType = InterfaceLogType.LMS_TO_ACS) + @ApiOperation("LMS向acs请求设备信息") + public ResponseEntity queryDeviceInfo(@RequestBody JSONObject jo) { + return new ResponseEntity<>(wmsToAcsService.queryDeviceInfo(jo), HttpStatus.OK); + } + + @PostMapping("/sendAgvChargeTask") + @Log(value = "LMS下发AGV充电任务", isInterfaceLog = true, interfaceLogType = InterfaceLogType.LMS_TO_ACS) + @ApiOperation("LMS下发AGV充电任务") + public ResponseEntity sendAgvChargeTask(@RequestBody JSONObject jo) { + return new ResponseEntity<>(wmsToAcsService.sendAgvChargeTask(jo), HttpStatus.OK); + } + } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/WmsToAcsService.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/WmsToAcsService.java index f46dc9c35..b3718c660 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/WmsToAcsService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/WmsToAcsService.java @@ -77,5 +77,24 @@ public interface WmsToAcsService { */ JSONObject putPlusPullAction(JSONObject jo); + /** + * 给ACS下发修立库点位解锁 + * @param jo / + * @return JSONObject + */ + JSONObject unLock(JSONObject jo); + /** + * lms向acs请求设备信息 + * @param jo / + * @return JSONObject + */ + JSONObject queryDeviceInfo(JSONObject jo); + + /** + * LMS下发AGV充电任务 + * @param jo / + * @return JSONObject + */ + JSONObject sendAgvChargeTask(JSONObject jo); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java index f7564cf53..60c10324f 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java @@ -111,4 +111,225 @@ public class WmsToAcsServiceImpl implements WmsToAcsService { return result; } + @Override + public JSONObject unLock(JSONObject whereJson) { + String api = "api/wms/unLock"; + //判断是否连接ACS系统 + String isConnect = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_connect_acs").getValue(); + JSONObject result = new JSONObject(); + if (StrUtil.equals("0", isConnect)) { + result.put("status", HttpStatus.OK.value()); + result.put("message", "下发成功,但未连接ACS!"); + result.put("data", new JSONObject()); + return result; + } + + //ACS地址:127.0.0.1:8010 + String acsUrl = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("acs_url").getValue(); + + String url = acsUrl + api; + try { + String resultMsg = HttpRequest.post(url) + .body(String.valueOf(whereJson)) + .execute().body(); + result = JSONObject.parseObject(resultMsg); + + } catch (Exception e) { + String msg = e.getMessage(); + //ConnectException: Connection refused: connect + //网络不通 + System.out.println(msg); + result.put("status", HttpStatus.BAD_REQUEST); + result.put("message", "网络不通,操作失败!"); + result.put("data", new JSONObject()); + } + //acs抛异常这里 + if (!StrUtil.equals(result.getString("status"), "200")) { + throw new BadRequestException("解锁失败:"+result.getString("message")); + } + return result; + } + + /* + 对应车间: + A1车间对应车号:2,3 + A2车间对应车号: + A3车间对应车号: + A4车间对应车号: + LK车间对应车号:1 + */ + @Override + public JSONObject queryDeviceInfo(JSONObject whereJson) { + String api = "api/wms/queryDeviceInfo"; + //判断是否连接ACS系统 + String isConnect = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_connect_acs").getValue(); + JSONObject result = new JSONObject(); + if (StrUtil.equals("0", isConnect)) { + result.put("status", HttpStatus.OK.value()); + result.put("message", "下发成功,但未连接ACS!"); + result.put("data", new JSONArray()); + + /* // 测试数据 + JSONArray data = result.getJSONArray("data"); + JSONObject a = new JSONObject(); + a.put("electricity", "86"); + a.put("status_name", "空闲"); + a.put("car_no", "1"); + a.put("task_code", ""); + a.put("fault", ""); + data.add(a); + + JSONObject b = new JSONObject(); + b.put("electricity", "13"); + b.put("status_name", "执行中"); + b.put("car_no", "2"); + b.put("task_code", "000001"); + b.put("fault", "取货失败"); + data.add(b); + + JSONObject c = new JSONObject(); + c.put("electricity", "100"); + c.put("status_name", "充电中"); + c.put("car_no", "3"); + c.put("task_code", "000002"); + c.put("fault", ""); + data.add(c); + + JSONObject nowJson = new JSONObject(); // 返回数据 + JSONArray ArrA1 = new JSONArray(); // A1车间 + JSONArray ArrLk = new JSONArray(); // LK车间 + + for (int i = 0; i < data.size(); i++) { + JSONObject json = data.getJSONObject(i); + + if ("2,3".contains(json.getString("car_no"))) { + ArrA1.add(json); + } + if ("1".contains(json.getString("car_no"))) { + ArrLk.add(json); + } + } + nowJson.put("jsonA1",ArrA1); + nowJson.put("jsonLK",ArrLk); + result.put("data", nowJson);*/ + + return result; + } + + //ACS地址:127.0.0.1:8010 + String acsUrl = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("acs_url").getValue(); + + String url = acsUrl + api; + try { + String resultMsg = HttpRequest.post(url) + .body(String.valueOf(whereJson)) + .execute().body(); + result = JSONObject.parseObject(resultMsg); + + // 重新组织数据 + JSONArray data = result.getJSONArray("data"); + + JSONObject nowJson = new JSONObject(); // 返回数据 + JSONArray ArrA1 = new JSONArray(); // A1车间 + JSONArray ArrLk = new JSONArray(); // LK车间 + + for (int i = 0; i < data.size(); i++) { + JSONObject json = data.getJSONObject(i); + + if ("2,3".contains(json.getString("car_no"))) { + ArrA1.add(json); + } + if ("1".contains(json.getString("car_no"))) { + ArrLk.add(json); + } + } + nowJson.put("jsonA1",ArrA1); + nowJson.put("jsonLK",ArrLk); + result.put("data", nowJson); + + } catch (Exception e) { + String msg = e.getMessage(); + //ConnectException: Connection refused: connect + //网络不通 + System.out.println(msg); + result.put("status", HttpStatus.BAD_REQUEST); + result.put("message", "网络不通,操作失败!"); + result.put("data", new JSONArray()); + } + //acs抛异常这里 + if (!StrUtil.equals(result.getString("status"), "200")) { + throw new BadRequestException("查询失败:"+result.getString("message")); + } + return result; + } + + /* + 对应系统: + 车号1对应系统:1 + 车号2、3对应系统:2 + */ + @Override + public JSONObject sendAgvChargeTask(JSONObject whereJson) { + String api = "api/wms/sendAgvChargeTask"; + //判断是否连接ACS系统 + String isConnect = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_connect_acs").getValue(); + JSONObject result = new JSONObject(); + if (StrUtil.equals("0", isConnect)) { + result.put("status", HttpStatus.OK.value()); + result.put("message", "下发成功,但未连接ACS!"); + result.put("data", new JSONObject()); + + /* // 测试数据 + String car_no = whereJson.getString("car_no"); + + JSONObject jsonParam = new JSONObject(); + if ("2,3".contains(car_no)) { + jsonParam.put("avg_system", "2"); + jsonParam.put("car_no", car_no); + } else if ("1".contains(car_no)) { + jsonParam.put("avg_system", "1"); + jsonParam.put("car_no", car_no); + }*/ + + return result; + } + + //ACS地址:127.0.0.1:8010 + String acsUrl = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("acs_url").getValue(); + + String url = acsUrl + api; + + // 判断此此号属于哪个系统 + String car_no = whereJson.getString("car_no"); + + JSONObject jsonParam = new JSONObject(); + if ("2,3".contains(car_no)) { + jsonParam.put("avg_system", "2"); + jsonParam.put("car_no", car_no); + } else if ("1".contains(car_no)) { + jsonParam.put("avg_system", "1"); + jsonParam.put("car_no", car_no); + } + + try { + String resultMsg = HttpRequest.post(url) + .body(String.valueOf(jsonParam)) + .execute().body(); + result = JSONObject.parseObject(resultMsg); + + } catch (Exception e) { + String msg = e.getMessage(); + //网络不通 + System.out.println(msg); + result.put("status", HttpStatus.BAD_REQUEST); + result.put("message", "网络不通,操作失败!"); + result.put("data", new JSONObject()); + } + //acs抛异常这里 + if (!StrUtil.equals(result.getString("status"), "200")) { + throw new BadRequestException("下发失败:"+result.getString("message")); + } + return result; + } + } diff --git a/lms/nladmin-ui/src/assets/images/home_agv.png b/lms/nladmin-ui/src/assets/images/home_agv.png new file mode 100644 index 000000000..d73781d86 Binary files /dev/null and b/lms/nladmin-ui/src/assets/images/home_agv.png differ diff --git a/lms/nladmin-ui/src/views/wms/agvrush/charge/BarChart.vue b/lms/nladmin-ui/src/views/wms/agvrush/charge/BarChart.vue new file mode 100644 index 000000000..3007a8f35 --- /dev/null +++ b/lms/nladmin-ui/src/views/wms/agvrush/charge/BarChart.vue @@ -0,0 +1,110 @@ + + + diff --git a/lms/nladmin-ui/src/views/wms/agvrush/charge/chargeQuery.js b/lms/nladmin-ui/src/views/wms/agvrush/charge/chargeQuery.js new file mode 100644 index 000000000..c182eee0c --- /dev/null +++ b/lms/nladmin-ui/src/views/wms/agvrush/charge/chargeQuery.js @@ -0,0 +1,17 @@ +import request from '@/utils/request' + +export function queryDeviceInfo(data) { // 获取设备信息 + return request({ + url: 'api/wms/task/queryDeviceInfo', + method: 'post', + data: data + }) +} + +export function sendAgvChargeTask(data) { // 下发AGV充电任务 + return request({ + url: 'api/wms/task/sendAgvChargeTask', + method: 'post', + data: data + }) +} diff --git a/lms/nladmin-ui/src/views/wms/agvrush/charge/index.vue b/lms/nladmin-ui/src/views/wms/agvrush/charge/index.vue new file mode 100644 index 000000000..5addd0224 --- /dev/null +++ b/lms/nladmin-ui/src/views/wms/agvrush/charge/index.vue @@ -0,0 +1,201 @@ + + + + + diff --git a/lms/nladmin-ui/src/views/wms/sendout/outone/index.vue b/lms/nladmin-ui/src/views/wms/sendout/outone/index.vue index f7a2d070b..aa65a3386 100644 --- a/lms/nladmin-ui/src/views/wms/sendout/outone/index.vue +++ b/lms/nladmin-ui/src/views/wms/sendout/outone/index.vue @@ -138,7 +138,6 @@ export default { // 展开显示设备信息 todo: 1 if (data.data.type !== 'pro-rect' && data.data.type !== 'pro-circle' && data.data.type !== 'triangle' && data.data.type !== 'rect-radius') { if (data.data.properties.struct_id) { - debugger this.moveShow(data.data) // 传递节点数据,用来获取id做比对 this.dialogDeviceMsgVisible = true this.struct_id = data.data.properties.struct_id // ?暂时没用