From f4711db7b5c7024fa26eb3ef9b6bb1bb481692f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=B1=9F=E7=8E=AE?= Date: Thu, 12 Jan 2023 15:27:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=89=8D=E7=AB=AF=E4=BF=AE=E6=94=B9=20?= =?UTF-8?q?=E6=9C=BA=E6=A2=B0=E6=89=8B=E5=8F=8C=E5=B7=A5=E4=BD=8D=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=AE=8C=E6=88=90=E4=BF=AE=E6=94=B9=20=E5=B7=A5?= =?UTF-8?q?=E5=8D=95=E5=8F=8D=E9=A6=88mes=E4=BF=AE=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E5=8F=82=E6=95=B0=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../HfGantryManipulatorDeviceDriver.java | 40 ++++++++-------- .../hf_two_rgv/HfTwoRGVDeviceDriver.java | 48 +++++++++---------- .../acs/service/impl/AcsToWmsServiceImpl.java | 24 ++++++---- .../service/impl/WorkorderServiceImpl.java | 20 +++++++- .../callMaterial/YljCallMaterialTask.java | 6 +++ .../src/views/wms/pdm/workerorder/index.vue | 6 --- .../src/views/wms/st/ysa/inventory.vue | 22 +++++---- 7 files changed, 96 insertions(+), 70 deletions(-) diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/hongfeng/hf_manipulator/HfGantryManipulatorDeviceDriver.java b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/hongfeng/hf_manipulator/HfGantryManipulatorDeviceDriver.java index 3e26576..cf7a3b4 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/hongfeng/hf_manipulator/HfGantryManipulatorDeviceDriver.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/hongfeng/hf_manipulator/HfGantryManipulatorDeviceDriver.java @@ -214,26 +214,26 @@ public class HfGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver imp if (StrUtil.equals(inst2.getInstruction_status(), "1")) { this.finish_instruction(inst2); //获取当前工单数量 - TaskDto taskDto = taskserver.findByCode(inst2.getTask_code()); - if (ObjectUtil.isNotEmpty(taskDto)) { - if (StrUtil.isNotEmpty(taskDto.getExt_task_id())) { - String next_device_code = inst2.getNext_device_code(); - Device device = appService.findDeviceByCode(next_device_code); - HfStationDeviceDriver hfStationDeviceDriver; - String current_num = ""; - if (device.getDeviceDriver() instanceof HfStationDeviceDriver) { - hfStationDeviceDriver = (HfStationDeviceDriver) device.getDeviceDriver(); - current_num = String.valueOf(hfStationDeviceDriver.getCurrent_order_num()); - } - JSONArray array = new JSONArray(); - JSONObject map = new JSONObject(); - map.put("task_id", taskDto.getExt_task_id()); - map.put("task_status", "2"); - map.put("material_num", current_num); - array.add(map); - acsToWmsService.feedbackTaskStatusToWms(array); - } - } +// TaskDto taskDto = taskserver.findByCode(inst2.getTask_code()); +// if (ObjectUtil.isNotEmpty(taskDto)) { +// if (StrUtil.isNotEmpty(taskDto.getExt_task_id())) { +// String next_device_code = inst2.getNext_device_code(); +// Device device = appService.findDeviceByCode(next_device_code); +// HfStationDeviceDriver hfStationDeviceDriver; +// String current_num = ""; +// if (device.getDeviceDriver() instanceof HfStationDeviceDriver) { +// hfStationDeviceDriver = (HfStationDeviceDriver) device.getDeviceDriver(); +// current_num = String.valueOf(hfStationDeviceDriver.getCurrent_order_num()); +// } +// JSONArray array = new JSONArray(); +// JSONObject map = new JSONObject(); +// map.put("task_id", taskDto.getExt_task_id()); +// map.put("task_status", "2"); +// map.put("material_num", current_num); +// array.add(map); +// acsToWmsService.feedbackTaskStatusToWms(array); +// } +// } logServer.deviceInfo("反馈电气信号", this.getDevice_code(), "机械手任务完成,开始反馈电气信号"); this.writing("to_onset", "0"); this.writing("to_target", "0"); diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/hongfeng/hf_two_rgv/HfTwoRGVDeviceDriver.java b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/hongfeng/hf_two_rgv/HfTwoRGVDeviceDriver.java index 4b13174..a873b65 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/hongfeng/hf_two_rgv/HfTwoRGVDeviceDriver.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/hongfeng/hf_two_rgv/HfTwoRGVDeviceDriver.java @@ -206,18 +206,18 @@ public class HfTwoRGVDeviceDriver extends AbstractOpcDeviceDriver implements Dev if (inst1 != null) { if (StrUtil.equals(inst1.getInstruction_status(), "1")) { finish_instruction(inst1); - JSONArray array = new JSONArray(); - TaskDto taskDto = taskserver.findByCode(inst1.getTask_code()); - if (ObjectUtil.isNotEmpty(taskDto)) { - if (StrUtil.isNotEmpty(taskDto.getExt_task_id())) { - JSONObject map = new JSONObject(); - map.put("task_id", taskDto.getExt_task_id()); - map.put("task_status", "2"); - map.put("finished_type", "1"); - array.add(map); - acsToWmsService.feedbackTaskStatusToWms(array); - } - } +// JSONArray array = new JSONArray(); +// TaskDto taskDto = taskserver.findByCode(inst1.getTask_code()); +// if (ObjectUtil.isNotEmpty(taskDto)) { +// if (StrUtil.isNotEmpty(taskDto.getExt_task_id())) { +// JSONObject map = new JSONObject(); +// map.put("task_id", taskDto.getExt_task_id()); +// map.put("task_status", "2"); +// map.put("finished_type", "1"); +// array.add(map); +// acsToWmsService.feedbackTaskStatusToWms(array); +// } +// } logServer.deviceInfo("反馈电气信号", this.getDevice_code(), "RGV前工位任务完成,开始反馈电气信号"); this.writing("to_command1", "0"); this.writing("to_onset1", "0"); @@ -249,18 +249,18 @@ public class HfTwoRGVDeviceDriver extends AbstractOpcDeviceDriver implements Dev if (inst2 != null) { if (StrUtil.equals(inst2.getInstruction_status(), "1")) { finish_instruction(inst2); - JSONArray array = new JSONArray(); - TaskDto taskDto = taskserver.findByCode(inst2.getTask_code()); - if (ObjectUtil.isNotEmpty(taskDto)) { - if (StrUtil.isNotEmpty(taskDto.getExt_task_id())) { - JSONObject map = new JSONObject(); - map.put("task_id", taskDto.getExt_task_id()); - map.put("task_status", "2"); - map.put("finished_type", "1"); - array.add(map); - acsToWmsService.feedbackTaskStatusToWms(array); - } - } +// JSONArray array = new JSONArray(); +// TaskDto taskDto = taskserver.findByCode(inst2.getTask_code()); +// if (ObjectUtil.isNotEmpty(taskDto)) { +// if (StrUtil.isNotEmpty(taskDto.getExt_task_id())) { +// JSONObject map = new JSONObject(); +// map.put("task_id", taskDto.getExt_task_id()); +// map.put("task_status", "2"); +// map.put("finished_type", "1"); +// array.add(map); +// acsToWmsService.feedbackTaskStatusToWms(array); +// } +// } logServer.deviceInfo("反馈电气信号", this.getDevice_code(), "RGV后工位任务完成,开始反馈电气信号"); this.writing("to_command2", "0"); this.writing("to_onset2", "0"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 722712b..8d94b90 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -12,6 +12,7 @@ import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.common.utils.RedisUtils; import org.nl.modules.system.service.ParamService; +import org.nl.modules.system.service.dto.ParamDto; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; import org.nl.wms.basedata.service.MaterialbaseService; @@ -169,16 +170,19 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { message = "操作成功!"; // 操作成功后向 MES 反馈 -// JSONObject param = new JSONObject(); -// param.put("material_code", materialbaseService.findById(jsonObject1.getLong("material_id")).getMaterial_code()); -// param.put("workorder_code", jsonObject1.getString("workorder_code")); -// param.put("workorder_qty", jsonObject1.getString("plan_qty")); -// param.put("device_code", deviceService.findByCode(jsonObject1.getString("device_code")).getExtend_code()); -// String workorder_uri = paramService.findByCode("mes_url").getValue() + "api/mes/materialIvt"; -// HttpRequest -// .post(workorder_uri) -// .body(param.toJSONString()) -// .execute(); + ParamDto has_mes = paramService.findByCode("has_mes"); + if (ObjectUtil.isNotEmpty(has_mes) && StrUtil.equals(has_mes.getValue(), "1")) { + JSONObject param = new JSONObject(); + param.put("material_code", materialbaseService.findById(jsonObject1.getLong("material_id")).getMaterial_code()); + param.put("workorder_code", jsonObject1.getString("workorder_code")); + param.put("workorder_qty", jsonObject1.getString("plan_qty")); + param.put("device_code", deviceService.findByCode(jsonObject1.getString("device_code")).getExtend_code()); + String workorder_uri = paramService.findByCode("mes_url").getValue() + "api/mes/materialIvt"; + HttpRequest + .post(workorder_uri) + .body(param.toJSONString()) + .execute(); + } } catch (Exception e) { status = "400"; message = "操作失败!"; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkorderServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkorderServiceImpl.java index d06a721..8a8fc19 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkorderServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkorderServiceImpl.java @@ -19,6 +19,7 @@ import org.nl.modules.common.utils.SecurityUtils; import org.nl.modules.common.utils.dto.CurrentUser; import org.nl.modules.system.service.ParamService; +import org.nl.modules.system.service.dto.ParamDto; import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; @@ -28,6 +29,7 @@ import org.nl.wms.basedata.service.ClassstandardService; import org.nl.wms.basedata.service.MaterialbaseService; import org.nl.wms.basedata.service.dto.MaterialbaseDto; import org.nl.wms.ext.acs.service.WmsToAcsService; +import org.nl.wms.pdm.service.DeviceService; import org.nl.wms.pdm.service.WorkordeService; import org.nl.wms.pdm.service.dto.WorkorderDto; @@ -53,6 +55,7 @@ public class WorkorderServiceImpl implements WorkordeService { private final WmsToAcsService wmsToAcsService; private final MaterialbaseService materialbaseService; private final ParamService paramService; + private final DeviceService deviceService; @Override public Map queryAll(Map whereJson, Pageable page) { @@ -422,7 +425,7 @@ public class WorkorderServiceImpl implements WorkordeService { array.add(map); Map resp = wmsToAcsService.orderStatusUpdate(array); if (StrUtil.equals(String.valueOf(resp.get("status")), "200")) { - JSONObject produceorderMap = new JSONObject(); + JSONObject produceorderMap = JSONObject.parseObject(JSONObject.toJSONString(this.findById(Long.valueOf(workorder_id)))); produceorderMap.put("workorder_id", workorder_id); produceorderMap.put("order_status", "5"); produceorderMap.put("update_optid", currentUserId); @@ -430,6 +433,21 @@ public class WorkorderServiceImpl implements WorkordeService { produceorderMap.put("update_time", now); produceorderMap.put("realproduceend_date", now); wo.update(produceorderMap); + + // 操作成功后向 MES 反馈 + ParamDto has_mes = paramService.findByCode("has_mes"); + if (ObjectUtil.isNotEmpty(has_mes) && StrUtil.equals(has_mes.getValue(), "1")) { + JSONObject mes_param = new JSONObject(); + mes_param.put("material_code", materialbaseService.findById(produceorderMap.getLong("material_id")).getMaterial_code()); + mes_param.put("workorder_code", produceorderMap.getString("workorder_code")); + mes_param.put("workorder_qty", produceorderMap.getString("plan_qty")); + mes_param.put("device_code", deviceService.findByCode(produceorderMap.getString("device_code")).getExtend_code()); + String workorder_uri = paramService.findByCode("mes_url").getValue() + "api/mes/materialIvt"; + HttpRequest + .post(workorder_uri) + .body(mes_param.toJSONString()) + .execute(); + } } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/YljCallMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/YljCallMaterialTask.java index faeb955..f8d6f4a 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/YljCallMaterialTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/YljCallMaterialTask.java @@ -9,6 +9,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; +import org.nl.modules.common.utils.RedisUtils; import org.nl.modules.common.utils.SecurityUtils; import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; @@ -88,6 +89,11 @@ public class YljCallMaterialTask extends AbstractAcsTask { return; } + String vehicle_code = taskObj.getString("vehicle_code"); + RedisUtils redisUtils = SpringContextHolder.getBean(RedisUtils.class); + redisUtils.del(vehicle_code); + redisUtils.del(vehicle_code + "-ivt_qty"); + // 更改任务状态为完成 taskObj.put("task_status", TaskStatusEnum.FINISHED.getCode()); taskObj.put("update_optname", "acs"); diff --git a/lms/nladmin-ui/src/views/wms/pdm/workerorder/index.vue b/lms/nladmin-ui/src/views/wms/pdm/workerorder/index.vue index b1c2bbc..118b7de 100644 --- a/lms/nladmin-ui/src/views/wms/pdm/workerorder/index.vue +++ b/lms/nladmin-ui/src/views/wms/pdm/workerorder/index.vue @@ -353,7 +353,6 @@ start-placeholder="开始日期" end-placeholder="结束日期" :default-value="default_date_show" - :picker-options="disabled_time" /> @@ -453,11 +452,6 @@ export default { show_sync_dialog: false, sync_time: '', default_date_show: '', - disabled_time: { - disabledDate(time) { - return time.getTime() > Date.now() // 可选历史天、可选当前天、不可选未来天 - } - }, rules: { // produceorder_code: [ // { required: true, message: '生产班次工单编号不能为空', trigger: 'blur' } diff --git a/lms/nladmin-ui/src/views/wms/st/ysa/inventory.vue b/lms/nladmin-ui/src/views/wms/st/ysa/inventory.vue index 8a6aaa9..3e80337 100644 --- a/lms/nladmin-ui/src/views/wms/st/ysa/inventory.vue +++ b/lms/nladmin-ui/src/views/wms/st/ysa/inventory.vue @@ -32,12 +32,13 @@ > - + - + - + @@ -141,6 +144,7 @@ > @@ -157,6 +161,7 @@ > @@ -208,14 +213,14 @@ - - - + + + - + @@ -234,7 +239,6 @@ import crudStructivt from '../structivt' import CRUD, { crud, form, header, presenter } from '@crud/crud' import rrOperation from '@crud/RR.operation' import crudOperation from '@crud/CRUD.operation' -import udOperation from '@crud/UD.operation' import pagination from '@crud/Pagination' import crudPoint from '@/api/wms/sch/point' import MaterDtl from '@/views/wms/pub/MaterDialog' @@ -270,7 +274,7 @@ const defaultForm = { } export default { name: 'Inventory', - components: { pagination, crudOperation, rrOperation, udOperation, MaterDtl }, + components: { pagination, crudOperation, rrOperation, MaterDtl }, dicts: ['sch_point_status', 'vehicle_type', 'is_used', 'd_lock_type'], mixins: [presenter(), header(), form(defaultForm), crud()], cruds() {