From f0fbf693458058e39d63fa7406309fb78713bc52 Mon Sep 17 00:00:00 2001 From: gengby <858962040@qq.com> Date: Wed, 3 Aug 2022 21:49:31 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../acs/service/impl/AcsToWmsServiceImpl.java | 14 ++--- .../wms/ext/bigScreen/wql/QDEVICE_SCREEN.wql | 14 ++--- .../HailiangEngravingMachineDeviceDriver.java | 13 ++-- .../HailiangPackerStationDeviceDriver.java | 14 +++-- .../HailiangSpecialDeviceDriver.java | 12 ++-- .../wms/service/impl/AcsToWmsServiceImpl.java | 60 +++++++++++-------- .../impl/ProduceshiftorderServiceImpl.java | 27 ++++++++- 7 files changed, 96 insertions(+), 58 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index f26f76f4..fd2a38a7 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -139,7 +139,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { JSONObject map = new JSONObject(); map.put("produceorder_id", ext_order_id); map.put("order_status", "04"); - map.put("update_optid", 1111111111); + map.put("update_optid", 1001001); map.put("device_id", ""); map.put("update_optname", "acs"); map.put("update_time", now); @@ -164,7 +164,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { String device_id = device_json.getString("device_id"); WQLObject wo_status = WQLObject.getWQLObject("PDM_BI_DeviceRunStatusRecord"); JSONObject status_json = wo_status.query("device_id = '" + device_id + "' and (end_time is null or end_time = '' )").uniqueResult(0); - if (ObjectUtil.isNotEmpty(status_json)){ + if (ObjectUtil.isNotEmpty(status_json)) { status_json.put("end_time", start_time); wo_status.update(status_json); } @@ -173,10 +173,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { map.put("device_id", device_id); map.put("status_type", status_type); map.put("start_time", start_time); - if (error_code > 0 && error_code < 50){ - map.put("err_status_id",error_code); - } else if (error_code > 50){ - map.put("err_status_id", error_code - 50); + if (error_code > 0) { + map.put("err_status_id", error_code); } else { map.put("err_status_id", null); } @@ -195,8 +193,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { String real_qty = param.getString("real_qty"); WQLObject wo = WQLObject.getWQLObject("mps_bd_produceshiftorder"); JSONObject map = new JSONObject(); - map.put("real_qty",real_qty); - wo.update(map,"produceorder_code = '"+order_code+"'"); + map.put("real_qty", real_qty); + wo.update(map, "produceorder_code = '" + order_code + "' and order_status != '04'"); JSONObject result = new JSONObject(); result.put("status", HttpStatus.OK.value()); result.put("message", "设备状态反馈成功"); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/bigScreen/wql/QDEVICE_SCREEN.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/bigScreen/wql/QDEVICE_SCREEN.wql index 476ef6b6..8fce62bf 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/bigScreen/wql/QDEVICE_SCREEN.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/bigScreen/wql/QDEVICE_SCREEN.wql @@ -200,17 +200,17 @@ IF 输入.flag = "9" QUERY SELECT DISTINCT - device.device_id + device.device_id FROM - pdm_bi_device device - LEFT JOIN mps_bd_produceshiftorder shift ON shift.device_id = device.device_id - LEFT JOIN pdm_bi_devicerunstatusrecord run ON run.device_id = device.device_id + pdm_bi_device device + INNER JOIN mps_bd_produceshiftorder shift ON shift.device_id = device.device_id + INNER JOIN pdm_bi_devicerunstatusrecord run ON run.device_id = device.device_id AND IFNULL(run.end_time,'') ='' WHERE - shift.is_delete = '0' + shift.is_delete = '0' AND - shift.order_status <> '04' + shift.order_status <> '04' AND - (run.status_type <> '05' OR (run.status_type = '05' AND IFNULL(run.end_time,'') <> '') OR run.status_type IS NULL) + run.status_type <> '05' OPTION 输入.workprocedure_id <> "" device.workprocedure_id = 输入.workprocedure_id ENDOPTION diff --git a/wcs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/hailiang_one/hailiang_engraving_machine/HailiangEngravingMachineDeviceDriver.java b/wcs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/hailiang_one/hailiang_engraving_machine/HailiangEngravingMachineDeviceDriver.java index 64098a86..0ac9e699 100644 --- a/wcs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/hailiang_one/hailiang_engraving_machine/HailiangEngravingMachineDeviceDriver.java +++ b/wcs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/hailiang_one/hailiang_engraving_machine/HailiangEngravingMachineDeviceDriver.java @@ -280,14 +280,16 @@ public class HailiangEngravingMachineDeviceDriver extends AbstractOpcDeviceDrive if (order_now != last_order_now) { logServer.deviceLog(this.device_code,"order_now" ,String.valueOf(order_now)); logServer.deviceLogToacs(this.device_code,"","","信号order_now:" + last_order_now + "->" + order_now); + if (mode == 1 && order > 0){ + JSONObject map = new JSONObject(); + map.put("order",order); + map.put("real_qty",order_now); + acsToWmsService.feedOrderRealQty(map); + } } if (one_now != last_one_now) { logServer.deviceLog(this.device_code,"one_now" ,String.valueOf(one_now)); logServer.deviceLogToacs(this.device_code,"","","信号one_now:" + last_one_now + "->" + one_now); - JSONObject map = new JSONObject(); - map.put("order",order); - map.put("real_qty",order_now); - acsToWmsService.feedOrderRealQty(map); } if (task != last_task) { logServer.deviceLog(this.device_code,"task" ,String.valueOf(task)); @@ -317,7 +319,7 @@ public class HailiangEngravingMachineDeviceDriver extends AbstractOpcDeviceDrive synchronized (this){ long now_feedTime = System.currentTimeMillis(); - if (now_feedTime - last_feedDeviceStatusTime >= 10000){ + if (now_feedTime - last_feedDeviceStatusTime >= 5000){ heartbeat = this.itemProtocol.getItem_heartbeat(); if (heartbeat == last_heartbeat){ status_type = 01; @@ -390,6 +392,7 @@ public class HailiangEngravingMachineDeviceDriver extends AbstractOpcDeviceDrive produceshiftorderService.updateByOrderCode(dto); this.writing("to_confirm_finished","1"); this.writing("to_clear","1"); + this.writing("to_order", "0"); this.writing("to_pause","1"); logServer.deviceLogToacs(this.device_code,"","",device_code+":,任务确认完成,电器信号写入成功"); }else { diff --git a/wcs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/hailiang_one/hailiang_packer_station/HailiangPackerStationDeviceDriver.java b/wcs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/hailiang_one/hailiang_packer_station/HailiangPackerStationDeviceDriver.java index 5a84b27c..5f0d44e0 100644 --- a/wcs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/hailiang_one/hailiang_packer_station/HailiangPackerStationDeviceDriver.java +++ b/wcs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/hailiang_one/hailiang_packer_station/HailiangPackerStationDeviceDriver.java @@ -236,11 +236,12 @@ public class HailiangPackerStationDeviceDriver extends AbstractOpcDeviceDriver i if (order_now != last_order_now) { logServer.deviceLog(this.device_code, "order_now", String.valueOf(order_now)); logServer.deviceLogToacs(this.device_code, "", "", "信号order_now:" + last_order_now + "->" + order_now); - JSONObject map = new JSONObject(); - map.put("order",order); - map.put("real_qty",order_now); - acsToWmsService.feedOrderRealQty(map); - System.out.println(device_code + "当前数量:" + order_now); + if (mode == 1 && order > 0){ + JSONObject map = new JSONObject(); + map.put("order",order); + map.put("real_qty",order_now); + acsToWmsService.feedOrderRealQty(map); + } } /* if (open_ready_time != last_open_ready_time) { @@ -262,7 +263,7 @@ public class HailiangPackerStationDeviceDriver extends AbstractOpcDeviceDriver i synchronized (this){ long now_feedTime = System.currentTimeMillis(); - if (now_feedTime - last_feedDeviceStatusTime >= 10000){ + if (now_feedTime - last_feedDeviceStatusTime >= 5000){ heartbeat = this.itemProtocol.getItem_heartbeat(); if (heartbeat == last_heartbeat){ status_type = 01; @@ -338,6 +339,7 @@ public class HailiangPackerStationDeviceDriver extends AbstractOpcDeviceDriver i this.writing("to_confirm_finished", "1"); this.writing("to_clear", "1"); this.writing("to_pause", "1"); + this.writing("to_order", "0"); logServer.deviceLogToacs(this.device_code, "", "", device_code + ":,任务确认完成,电器信号写入成功"); } diff --git a/wcs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/hailiang_one/hailiang_special_device/HailiangSpecialDeviceDriver.java b/wcs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/hailiang_one/hailiang_special_device/HailiangSpecialDeviceDriver.java index d668e1e0..0426286b 100644 --- a/wcs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/hailiang_one/hailiang_special_device/HailiangSpecialDeviceDriver.java +++ b/wcs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/hailiang_one/hailiang_special_device/HailiangSpecialDeviceDriver.java @@ -313,10 +313,11 @@ public class HailiangSpecialDeviceDriver extends AbstractOpcDeviceDriver impleme logServer.deviceLog(this.device_code,"now_order_prod_num" ,String.valueOf(now_order_prod_num)); logServer.deviceLogToacs(this.device_code,"","","信号now_order_prod_num:" + last_now_order_prod_num + "->" + now_order_prod_num); JSONObject map = new JSONObject(); - map.put("order",order); - map.put("real_qty",now_order_prod_num); - acsToWmsService.feedOrderRealQty(map); - System.out.println(device_code + "当前数量:" + now_order_prod_num); + if (mode == 1 && order > 0){ + map.put("order",order); + map.put("real_qty",now_order_prod_num); + acsToWmsService.feedOrderRealQty(map); + } } if (full_number != last_full_number) { logServer.deviceLog(this.device_code,"full_number" ,String.valueOf(full_number)); @@ -352,7 +353,7 @@ public class HailiangSpecialDeviceDriver extends AbstractOpcDeviceDriver impleme } synchronized (this){ long now_feedTime = System.currentTimeMillis(); - if (now_feedTime - last_feedDeviceStatusTime >= 10000){ + if (now_feedTime - last_feedDeviceStatusTime >= 5000){ heartbeat = this.itemProtocol.getHeartbeat(); if (heartbeat == last_heartbeat){ status_type = 01; @@ -427,6 +428,7 @@ public class HailiangSpecialDeviceDriver extends AbstractOpcDeviceDriver impleme produceshiftorderService.updateByOrderCode(dto); this.writing("to_confirm_finished","1"); this.writing("to_clear","1"); + this.writing("to_order", "0"); this.writing("to_pause","1"); } else { logServer.deviceLogToacs(this.device_code,"","",device_code+":,order_finish>"+ finish +",last_finish>"+last_finish); diff --git a/wcs/hd/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java b/wcs/hd/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java index ea9aad21..41d24d02 100644 --- a/wcs/hd/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java +++ b/wcs/hd/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java @@ -1,6 +1,7 @@ package org.nl.acs.ext.wms.service.impl; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; @@ -15,6 +16,8 @@ import org.nl.acs.device.address.service.dto.AddressDto; import org.nl.acs.device.service.DeviceService; import org.nl.acs.ext.wms.service.AcsToWmsService; import org.nl.acs.log.service.LogServer; +import org.nl.acs.order.service.ProduceshiftorderService; +import org.nl.acs.order.service.dto.ProduceshiftorderDto; import org.nl.acs.task.service.TaskService; import org.nl.acs.task.service.dto.TaskDto; import org.nl.exception.BadRequestException; @@ -31,6 +34,8 @@ import java.util.Map; @RequiredArgsConstructor @Slf4j public class AcsToWmsServiceImpl implements AcsToWmsService { + @Autowired + ProduceshiftorderService produceshiftorderService; @Autowired AcsConfigService acsConfigService; @@ -579,31 +584,38 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { @Override public HttpResponse feedOrderRealQty(JSONObject param) { if (StrUtil.equals(acsConfigService.findConfigFromCache().get(AcsConfig.HASWMS).toString(), "1")) { - String wmsUrl = acsConfigService.findConfigFromCache().get(AcsConfig.WMSURL); - // TODO 还没向地址表中添加 feedDeviceStatusType - AddressDto addressDto = addressService.findByCode("feedOrderRealQty"); - String methods_url = addressDto.getMethods_url(); - String url = wmsUrl + methods_url; - HttpResponse result = null; - log.info("feedOrderRealQty----请求参数{}", param); - try { - result = HttpRequest.post(url) - .body(String.valueOf(param)) - .execute(); - String type = ""; - if (result.getStatus() == 200) { - type = "info"; - } else { - type = "error"; - } - logServer.log("", "feedOrderRealQty", type, param.toString(), result.body(), String.valueOf(result.getStatus()), url, ""); - log.info("feedOrderRealQty----返回参数{}", result); - } catch (Exception e) { - String msg = e.getMessage(); - //网络不通 - System.out.println(msg); + String order_code = param.getString("order"); + ProduceshiftorderDto produceshiftorderDto = produceshiftorderService.findByCode(order_code); + if (ObjectUtil.isEmpty(produceshiftorderDto)){ + return null; + } + if (!produceshiftorderDto.getOrder_status().equals("2") || !produceshiftorderDto.getOrder_status().equals("3")){ + String wmsUrl = acsConfigService.findConfigFromCache().get(AcsConfig.WMSURL); + // TODO 还没向地址表中添加 feedDeviceStatusType + AddressDto addressDto = addressService.findByCode("feedOrderRealQty"); + String methods_url = addressDto.getMethods_url(); + String url = wmsUrl + methods_url; + HttpResponse result = null; + log.info("feedOrderRealQty----请求参数{}", param); + try { + result = HttpRequest.post(url) + .body(String.valueOf(param)) + .execute(); + String type = ""; + if (result.getStatus() == 200) { + type = "info"; + } else { + type = "error"; + } + logServer.log("", "feedOrderRealQty", type, param.toString(), result.body(), String.valueOf(result.getStatus()), url, ""); + log.info("feedOrderRealQty----返回参数{}", result); + } catch (Exception e) { + String msg = e.getMessage(); + //网络不通 + System.out.println(msg); + } + return result; } - return result; } return null; } diff --git a/wcs/hd/nladmin-system/src/main/java/org/nl/acs/order/service/impl/ProduceshiftorderServiceImpl.java b/wcs/hd/nladmin-system/src/main/java/org/nl/acs/order/service/impl/ProduceshiftorderServiceImpl.java index 33da0c4a..56189b5c 100644 --- a/wcs/hd/nladmin-system/src/main/java/org/nl/acs/order/service/impl/ProduceshiftorderServiceImpl.java +++ b/wcs/hd/nladmin-system/src/main/java/org/nl/acs/order/service/impl/ProduceshiftorderServiceImpl.java @@ -6,6 +6,7 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import lombok.RequiredArgsConstructor; import org.nl.acs.device.service.DeviceExtraService; +import org.nl.acs.device_driver.basedriver.hailiang_one.hailiang_cleaning_machine_storage_station.HailiangCleaningMachineStorageStationDeviceDriver; import org.nl.acs.device_driver.basedriver.hailiang_one.hailiang_engraving_machine.HailiangEngravingMachineDeviceDriver; import org.nl.acs.device_driver.basedriver.hailiang_one.hailiang_packer_station.HailiangPackerStationDeviceDriver; import org.nl.acs.device_driver.basedriver.hailiang_one.hailiang_smart_plc_test.HailiangSmartplcTestDeviceDriver; @@ -49,7 +50,7 @@ import lombok.extern.slf4j.Slf4j; @Slf4j public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, ApplicationAutoInitial { - private final org.nl.acs.opc.DeviceAppService DeviceAppService; + private final org.nl.acs.opc.DeviceAppService deviceAppService; private final DeviceExtraService deviceExtraService; List order = new ArrayList(); @@ -110,7 +111,7 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A @Transactional(rollbackFor = Exception.class) public void create(ProduceshiftorderDto dto) { WQLObject wo = WQLObject.getWQLObject("acs_produceshiftorder"); - Device device = DeviceAppService.findDeviceByCode(dto.getDevice_code()); + Device device = deviceAppService.findDeviceByCode(dto.getDevice_code()); if (ObjectUtil.isEmpty(device)) { throw new BadRequestException("未找到对应设备:" + dto.getDevice_code()); } @@ -228,6 +229,23 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A if (StrUtil.equals(dto.getOrder_status(), "0") || StrUtil.equals(dto.getOrder_status(), "1")) { order.add(dto); } + if (StrUtil.equals(dto.getOrder_status(), "3")){ + String device_code = dto.getDevice_code(); + Device device = deviceAppService.findDeviceByCode(device_code); + HailiangEngravingMachineDeviceDriver hailiangEngravingMachineDeviceDriver; + HailiangPackerStationDeviceDriver hailiangPackerStationDeviceDriver; + HailiangSpecialDeviceDriver hailiangSpecialDeviceDriver; + if (device.getDeviceDriver() instanceof HailiangSpecialDeviceDriver){ + hailiangSpecialDeviceDriver = (HailiangSpecialDeviceDriver) device.getDeviceDriver(); + hailiangSpecialDeviceDriver.writing("to_order","0"); + } else if (device.getDeviceDriver() instanceof HailiangPackerStationDeviceDriver){ + hailiangPackerStationDeviceDriver = (HailiangPackerStationDeviceDriver) device.getDeviceDriver(); + hailiangPackerStationDeviceDriver.writing("to_order","0"); + } else if (device.getDeviceDriver() instanceof HailiangEngravingMachineDeviceDriver){ + hailiangEngravingMachineDeviceDriver = (HailiangEngravingMachineDeviceDriver) device.getDeviceDriver(); + hailiangEngravingMachineDeviceDriver.writing("to_order","0"); + } + } } @Override @@ -308,21 +326,24 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A param.put("type", "2"); acsToWmsService.feedbackOrderStatus(param); } - Device device = DeviceAppService.findDeviceByCode(param.getString("device_code")); + Device device = deviceAppService.findDeviceByCode(param.getString("device_code")); HailiangSpecialDeviceDriver hailiangSpecialDeviceDriver; HailiangPackerStationDeviceDriver hailiangPackerStationDeviceDriver; HailiangEngravingMachineDeviceDriver hailiangEngravingMachineDeviceDriver; if (device.getDeviceDriver() instanceof HailiangSpecialDeviceDriver) { hailiangSpecialDeviceDriver = (HailiangSpecialDeviceDriver) device.getDeviceDriver(); hailiangSpecialDeviceDriver.writing("to_order_compel_finished", "1"); + hailiangSpecialDeviceDriver.writing("to_order", "0"); } if (device.getDeviceDriver() instanceof HailiangPackerStationDeviceDriver) { hailiangPackerStationDeviceDriver = (HailiangPackerStationDeviceDriver) device.getDeviceDriver(); hailiangPackerStationDeviceDriver.writing("to_order_compel_finished", "1"); + hailiangPackerStationDeviceDriver.writing("to_order", "0"); } if (device.getDeviceDriver() instanceof HailiangEngravingMachineDeviceDriver) { hailiangEngravingMachineDeviceDriver = (HailiangEngravingMachineDeviceDriver) device.getDeviceDriver(); hailiangEngravingMachineDeviceDriver.writing("to_order_compel_finished", "1"); + hailiangEngravingMachineDeviceDriver.writing("to_order", "0"); } JSONObject map = new JSONObject(); map.put("order_id", order_id); From 7cb9051a207ec1d41ccca783f3d944c19f14292f Mon Sep 17 00:00:00 2001 From: gengby <858962040@qq.com> Date: Thu, 4 Aug 2022 19:47:16 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../acs/service/impl/AcsToWmsServiceImpl.java | 2 + .../mps/service/dto/ProduceshiftorderDto.java | 2 + .../impl/ProduceshiftorderServiceImpl.java | 70 +++++-- .../org/nl/wms/mps/wql/MPS_PRODUCEDURE001.wql | 5 +- .../src/views/wms/mps/produce/AddDialog.vue | 38 +++- mes/qd/src/views/wms/mps/produce/index.vue | 191 ++++++++++++------ .../ItemProtocol.java | 2 +- .../ItemProtocol.java | 2 +- .../HailiangEngravingMachineDeviceDriver.java | 2 +- .../ItemProtocol.java | 2 +- .../HailiangPackerStationDeviceDriver.java | 2 +- .../hailiang_packer_station/ItemProtocol.java | 2 +- .../HailiangSpecialDeviceDriver.java | 2 +- .../hailiang_special_device/ItemProtocol.java | 2 +- .../ItemProtocol.java | 2 +- .../ItemProtocol.java | 2 +- .../ItemProtocol.java | 2 +- .../ItemProtocol.java | 2 +- 18 files changed, 228 insertions(+), 104 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index fd2a38a7..8c915cdc 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -167,6 +167,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { if (ObjectUtil.isNotEmpty(status_json)) { status_json.put("end_time", start_time); wo_status.update(status_json); + log.warn("上一次设备状态结束时间修改成功:{}",device_code); } JSONObject map = new JSONObject(); map.put("record_id", IdUtil.getSnowflake(1, 1).nextId()); @@ -179,6 +180,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { map.put("err_status_id", null); } wo_status.insert(map); + log.warn("设备状态新增成功{}",device_code); } JSONObject result = new JSONObject(); result.put("status", HttpStatus.OK.value()); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/mps/service/dto/ProduceshiftorderDto.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/mps/service/dto/ProduceshiftorderDto.java index 7445e363..06f65c9c 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/mps/service/dto/ProduceshiftorderDto.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/mps/service/dto/ProduceshiftorderDto.java @@ -102,4 +102,6 @@ public class ProduceshiftorderDto implements Serializable { private Long device_id; private Long sale_id; + + private Integer orderNum; } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/mps/service/impl/ProduceshiftorderServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/mps/service/impl/ProduceshiftorderServiceImpl.java index 385659c7..f92f7ce5 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/mps/service/impl/ProduceshiftorderServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/mps/service/impl/ProduceshiftorderServiceImpl.java @@ -13,6 +13,8 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.exception.BadRequestException; import org.nl.modules.security.service.dto.JwtUserDto; +import org.nl.modules.system.service.UserService; +import org.nl.modules.system.service.dto.UserDto; import org.nl.modules.system.util.CodeUtil; import org.nl.utils.SecurityUtils; import org.nl.wms.basedata.master.service.ClassstandardService; @@ -22,6 +24,7 @@ import org.nl.wms.mps.service.dto.ProduceshiftorderDto; import org.nl.wql.WQL; import org.nl.wql.core.bean.WQLObject; import org.nl.wql.util.WqlUtil; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -42,6 +45,9 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService { private final ClassstandardService classstandardService; private final WmsToAcsService wmsToAcsService; + @Autowired + UserService userService; + @Override public Map queryAll(Map whereJson, Pageable page) { String produceorder_code = MapUtil.getStr(whereJson, "produceorder_code"); @@ -83,7 +89,24 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService { if (StrUtil.isNotEmpty(sale_id)) { map.put("sale_id", "%" + sale_id + "%"); } + WQLObject wo = WQLObject.getWQLObject("mps_bd_macoperaterecord"); JSONObject jsonObject = WQL.getWO("MPS_PRODUCEDURE001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "ShiftOrder.update_time desc"); + JSONArray jsonArray = jsonObject.getJSONArray("content"); + for (int i = 0; i < jsonArray.size(); i++) { + JSONObject arrayJSONObject = jsonArray.getJSONObject(i); + String produceorder_id = arrayJSONObject.getString("produceorder_id"); + JSONArray resultJSONArray = wo.query("produceorder_id = '" + produceorder_id + "'", "operatetime_start desc").getResultJSONArray(0); + if (ObjectUtil.isNotEmpty(resultJSONArray)){ + JSONObject resultJSONArrayJSONObject = resultJSONArray.getJSONObject(0); + String jockey_id = resultJSONArrayJSONObject.getString("jockey_id"); + UserDto user = userService.findById(Long.valueOf(jockey_id)); + String nick_name = ""; + if (ObjectUtil.isNotEmpty(user)){ + nick_name = user.getNickName(); + } + arrayJSONObject.put("jockey_name",nick_name); + } + } return jsonObject; } @@ -118,28 +141,31 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService { @Override @Transactional(rollbackFor = Exception.class) public void create(ProduceshiftorderDto dto) { - Long currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getNickName(); - String now = DateUtil.now(); - JwtUserDto currentUser = (JwtUserDto) SecurityUtils.getCurrentUser(); - Long deptId = currentUser.getDeptId(); - String newCode = CodeUtil.getNewCode("PDM_SHIFTORDER"); - dto.setProduce_date(dto.getProduce_date().substring(0,10)); - dto.setProduceorder_id(IdUtil.getSnowflake(1, 1).nextId()); - dto.setProduceorder_code(newCode); - dto.setProducedeviceorder_code(newCode); - dto.setOrder_status("00"); - dto.setCreate_id(currentUserId); - dto.setCreate_name(nickName); - dto.setUpdate_optid(currentUserId); - dto.setUpdate_optname(nickName); - dto.setUpdate_time(now); - dto.setCreate_time(now); - WQLObject wo = WQLObject.getWQLObject("mps_bd_produceshiftorder"); - JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); - json.put("sysdeptid", deptId); - json.put("syscompanyid", deptId); - wo.insert(json); + Integer orderNum = dto.getOrderNum(); + for (Integer i = 0; i < orderNum; i++) { + Long currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getNickName(); + String now = DateUtil.now(); + JwtUserDto currentUser = (JwtUserDto) SecurityUtils.getCurrentUser(); + Long deptId = currentUser.getDeptId(); + String newCode = CodeUtil.getNewCode("PDM_SHIFTORDER"); + dto.setProduce_date(dto.getProduce_date().substring(0,10)); + dto.setProduceorder_id(IdUtil.getSnowflake(1, 1).nextId()); + dto.setProduceorder_code(newCode); + dto.setProducedeviceorder_code(newCode); + dto.setOrder_status("00"); + dto.setCreate_id(currentUserId); + dto.setCreate_name(nickName); + dto.setUpdate_optid(currentUserId); + dto.setUpdate_optname(nickName); + dto.setUpdate_time(now); + dto.setCreate_time(now); + WQLObject wo = WQLObject.getWQLObject("mps_bd_produceshiftorder"); + JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); + json.put("sysdeptid", deptId); + json.put("syscompanyid", deptId); + wo.insert(json); + } } @Override diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/mps/wql/MPS_PRODUCEDURE001.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/mps/wql/MPS_PRODUCEDURE001.wql index dba05de2..43930318 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/mps/wql/MPS_PRODUCEDURE001.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/mps/wql/MPS_PRODUCEDURE001.wql @@ -63,9 +63,12 @@ WorkProcedure.workprocedure_code, WorkProcedure.workprocedure_name, classstandard.class_id, - classstandard.class_name + classstandard.class_name, + device.device_code, + device.device_name FROM MPS_BD_ProduceShiftOrder ShiftOrder + left join pdm_bi_device device on ShiftOrder.device_id = device.device_id LEFT JOIN md_me_materialbase material ON material.material_id = ShiftOrder.material_id LEFT JOIN PDM_BI_WorkProcedure WorkProcedure ON WorkProcedure.workprocedure_id = ShiftOrder.workprocedure_id LEFT JOIN md_pb_classstandard classstandard ON classstandard.class_id = material.product_series diff --git a/mes/qd/src/views/wms/mps/produce/AddDialog.vue b/mes/qd/src/views/wms/mps/produce/AddDialog.vue index 72b506bb..db929409 100644 --- a/mes/qd/src/views/wms/mps/produce/AddDialog.vue +++ b/mes/qd/src/views/wms/mps/produce/AddDialog.vue @@ -119,6 +119,16 @@ /> + + + + + + - + @@ -150,8 +150,8 @@ type="success" icon="el-icon-position" size="mini" - :disabled="is_disabled(crud.selections.length,crud.selections[0])" - @click="submits(crud.selections[0])" + :disabled="is_disabled(crud.selections)" + @click="submits(crud.selections)" > 下发 @@ -203,10 +203,10 @@ - + - + - + - + - + - + - + {{ item.label }} +                         + + +