From 8dfec1d7f7f75fdd3df9b419f551edaa3677dc67 Mon Sep 17 00:00:00 2001 From: "USER-20220102CG\\noblelift" <546428999@qq.com> Date: Sat, 4 Jun 2022 17:55:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../HaiLiangCoatingDeviceDriver.java | 42 +++++++- .../HaiLiangFeedingDeviceDriver.java | 46 +++++++++ .../HaiLiangFeedingTrunkDeviceDriver.java | 75 ++++++++++++++- .../HaiLiangLabelingDeviceDriver.java | 48 ++++++++- .../HaiLiangLetteringDeviceDriver.java | 91 +++++++++++++++++- .../HaiLiangRiskingDeviceDriver.java | 40 +++++++- .../HaiLiangStrappingDeviceDriver.java | 41 +++++++- .../org/nl/acs/log/service/LogServer.java | 14 +++ .../nl/acs/log/service/dto/DeviceLogDto.java | 24 +++++ .../acs/log/service/impl/LogServerImpl.java | 46 +++++++++ .../service/ProduceshiftorderService.java | 11 ++- .../dto/ProduceshiftorderdetailDto.java | 2 +- .../impl/ProduceshiftorderServiceImpl.java | 43 +++++++-- .../ProduceshiftorderdetailServiceImpl.java | 6 +- .../org/nl/acs/order/service/wql/order.xls | Bin 196608 -> 197120 bytes .../main/resources/config/application-dev.yml | 2 + .../resources/config/application-prod.yml | 72 +++++++++----- 17 files changed, 552 insertions(+), 51 deletions(-) create mode 100644 nladmin-system/src/main/java/org/nl/acs/log/service/dto/DeviceLogDto.java diff --git a/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_coating/HaiLiangCoatingDeviceDriver.java b/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_coating/HaiLiangCoatingDeviceDriver.java index 6f2a18c..3019ef5 100644 --- a/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_coating/HaiLiangCoatingDeviceDriver.java +++ b/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_coating/HaiLiangCoatingDeviceDriver.java @@ -7,6 +7,7 @@ import org.nl.acs.device.device_driver.standard_inspect.ReadUtil; import org.nl.acs.device_driver.DeviceDriver; import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver; import org.nl.acs.device_driver.driver.ExecutableDeviceDriver; +import org.nl.acs.log.service.LogServer; import org.nl.acs.opc.Device; import org.nl.acs.order.service.ProduceshiftorderService; import org.nl.acs.order.service.ProduceshiftorderdetailService; @@ -40,15 +41,24 @@ public class HaiLiangCoatingDeviceDriver extends AbstractOpcDeviceDriver impleme @Autowired ProduceshiftorderdetailService produceshiftorderdetailService = SpringContextHolder.getBean(ProduceshiftorderdetailService.class); + @Autowired + LogServer logServer = SpringContextHolder.getBean(LogServer.class); + String device_code; int mode = 0; int last_mode = 0; int error = 0; + int last_error = 0; int move = 0; int order = 0; + int last_order = 0; int order_detail = 0; + int last_order_detail = 0; int detail_qty = 0; + int last_detail_qty = 0; int detail_qualified_qty = 0; + int last_detail_qualified_qty = 0; + boolean requireSucess = false; @@ -70,8 +80,30 @@ public class HaiLiangCoatingDeviceDriver extends AbstractOpcDeviceDriver impleme //当前工单明细号上料合格数量 detail_qualified_qty = this.itemProtocol.getDetail_qualified_qty(); if (mode != last_mode) { + logServer.deviceLog(this.device_code,"mode" ,String.valueOf(mode)); + logServer.deviceLogToacs(this.device_code,"","","信号mode:" + last_mode + "->" + mode); this.setRequireSucess(false); } + if (error != last_error) { + logServer.deviceLog(this.device_code,"error" ,String.valueOf(error)); + logServer.deviceLogToacs(this.device_code,"","","信号error:" + last_error + "->" + error); + } + if (order != last_order) { + logServer.deviceLog(this.device_code,"order" ,String.valueOf(order)); + logServer.deviceLogToacs(this.device_code,"","","信号order:" + last_order + "->" + order); + } + if (order_detail != last_order_detail) { + logServer.deviceLog(this.device_code,"order_detail" ,String.valueOf(order_detail)); + logServer.deviceLogToacs(this.device_code,"","","信号mode:" + last_order_detail + "->" + order_detail); + } + if (detail_qty != last_detail_qty) { + logServer.deviceLog(this.device_code,"detail_qty" ,String.valueOf(detail_qty)); + logServer.deviceLogToacs(this.device_code,"","","信号detail_qty:" + last_detail_qty + "->" + detail_qty); + } + if (detail_qualified_qty != last_detail_qualified_qty) { + logServer.deviceLog(this.device_code,"detail_qualified_qty" ,String.valueOf(detail_qualified_qty)); + logServer.deviceLogToacs(this.device_code,"","","信号detail_qualified_qty:" + last_detail_qualified_qty + "->" + detail_qualified_qty); + } } catch (Exception var17) { return; } @@ -95,13 +127,13 @@ public class HaiLiangCoatingDeviceDriver extends AbstractOpcDeviceDriver impleme case 2: break; case 4: - //上料完成 + //裹膜完成 if(!requireSucess && order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0){ update_detail(String.valueOf(order),String.valueOf(order_detail),"01"); } break; case 5: - //强制上料完成 + //强制裹膜完成 if(!requireSucess && order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0 ) { update_detail(String.valueOf(order),String.valueOf(order_detail),"02"); } @@ -109,6 +141,12 @@ public class HaiLiangCoatingDeviceDriver extends AbstractOpcDeviceDriver impleme } } last_mode = mode; + last_mode = mode; + last_error = error; + last_order = order; + last_order_detail = order_detail; + last_detail_qty = detail_qty; + last_detail_qualified_qty = detail_qualified_qty; } public synchronized boolean update_detail(String order, String order_detail,String status) { diff --git a/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_feeding/HaiLiangFeedingDeviceDriver.java b/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_feeding/HaiLiangFeedingDeviceDriver.java index cbd32ad..028eac4 100644 --- a/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_feeding/HaiLiangFeedingDeviceDriver.java +++ b/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_feeding/HaiLiangFeedingDeviceDriver.java @@ -1,5 +1,6 @@ package org.nl.acs.device_driver.hailiang.hailiang_feeding; +import cn.hutool.core.util.StrUtil; import lombok.Data; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -8,10 +9,12 @@ import org.nl.acs.device_driver.DeviceDriver; import org.nl.acs.device_driver.RouteableDeviceDriver; import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver; import org.nl.acs.device_driver.driver.ExecutableDeviceDriver; +import org.nl.acs.log.service.LogServer; import org.nl.acs.opc.Device; import org.nl.acs.order.service.ProduceshiftorderService; import org.nl.acs.order.service.ProduceshiftorderdetailService; import org.nl.acs.order.service.dto.ProduceshiftorderdetailDto; +import org.nl.exception.BadRequestException; import org.nl.utils.SpringContextHolder; import org.openscada.opc.lib.da.Server; import org.springframework.beans.factory.annotation.Autowired; @@ -40,15 +43,24 @@ public class HaiLiangFeedingDeviceDriver extends AbstractOpcDeviceDriver impleme @Autowired ProduceshiftorderdetailService produceshiftorderdetailService = SpringContextHolder.getBean(ProduceshiftorderdetailService.class); + + @Autowired + LogServer logServer = SpringContextHolder.getBean(LogServer.class); + String device_code; int mode = 0; int last_mode = 0; int error = 0; + int last_error = 0; int move = 0; int order = 0; + int last_order = 0; int order_detail = 0; + int last_order_detail = 0; int detail_qty = 0; + int last_detail_qty = 0; int detail_qualified_qty = 0; + int last_detail_qualified_qty = 0; boolean requireSucess = false; @@ -69,8 +81,30 @@ public class HaiLiangFeedingDeviceDriver extends AbstractOpcDeviceDriver impleme //当前工单明细号上料合格数量 detail_qualified_qty = this.itemProtocol.getDetail_qualified_qty(); if (mode != last_mode) { + logServer.deviceLog(this.device_code,"mode" ,String.valueOf(mode)); + logServer.deviceLogToacs(this.device_code,"","","信号mode:" + last_mode + "->" + mode); this.setRequireSucess(false); } + if (error != last_error) { + logServer.deviceLog(this.device_code,"error" ,String.valueOf(error)); + logServer.deviceLogToacs(this.device_code,"","","信号error:" + last_error + "->" + error); + } + if (order != last_order) { + logServer.deviceLog(this.device_code,"order" ,String.valueOf(order)); + logServer.deviceLogToacs(this.device_code,"","","信号order:" + last_order + "->" + order); + } + if (order_detail != last_order_detail) { + logServer.deviceLog(this.device_code,"order_detail" ,String.valueOf(order_detail)); + logServer.deviceLogToacs(this.device_code,"","","信号mode:" + last_order_detail + "->" + order_detail); + } + if (detail_qty != last_detail_qty) { + logServer.deviceLog(this.device_code,"detail_qty" ,String.valueOf(detail_qty)); + logServer.deviceLogToacs(this.device_code,"","","信号detail_qty:" + last_detail_qty + "->" + detail_qty); + } + if (detail_qualified_qty != last_detail_qualified_qty) { + logServer.deviceLog(this.device_code,"detail_qualified_qty" ,String.valueOf(detail_qualified_qty)); + logServer.deviceLogToacs(this.device_code,"","","信号detail_qualified_qty:" + last_detail_qualified_qty + "->" + detail_qualified_qty); + } } catch (Exception var17) { return; } @@ -108,6 +142,13 @@ public class HaiLiangFeedingDeviceDriver extends AbstractOpcDeviceDriver impleme } } last_mode = mode; + last_mode = mode; + last_error = error; + last_order = order; + last_order_detail = order_detail; + last_detail_qty = detail_qty; + last_detail_qualified_qty = detail_qualified_qty; + } @@ -119,10 +160,15 @@ public class HaiLiangFeedingDeviceDriver extends AbstractOpcDeviceDriver impleme } else { this.detail_time = date; ProduceshiftorderdetailDto dto = produceshiftorderdetailService.findOrderDetailFromCache(String.valueOf(order), String.valueOf(order_detail)); + if(!StrUtil.equals(dto.getOrder_detail_qty(),String.valueOf(detail_qualified_qty)) ){ + logServer.deviceLogToacs(this.device_code,"","","工单明细上料完成,上料合格数量与订单数量不一致"); + throw new BadRequestException("工单明细上料完成,上料合格数量与订单数量不一致!"); + } dto.setFeeding_finished(status); dto.setFeeding_finish_time(date.toString()); produceshiftorderdetailService.update(dto); writing(itemProtocol.item_to_command,String.valueOf(mode)); + requireSucess = true; return true; } } diff --git a/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_feeding_trunk/HaiLiangFeedingTrunkDeviceDriver.java b/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_feeding_trunk/HaiLiangFeedingTrunkDeviceDriver.java index 6039e15..8c29c2d 100644 --- a/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_feeding_trunk/HaiLiangFeedingTrunkDeviceDriver.java +++ b/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_feeding_trunk/HaiLiangFeedingTrunkDeviceDriver.java @@ -1,6 +1,7 @@ package org.nl.acs.device_driver.hailiang.hailiang_feeding_trunk; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import lombok.Data; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -8,6 +9,7 @@ import org.nl.acs.device.device_driver.standard_inspect.ReadUtil; import org.nl.acs.device_driver.DeviceDriver; import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver; import org.nl.acs.device_driver.driver.ExecutableDeviceDriver; +import org.nl.acs.log.service.LogServer; import org.nl.acs.opc.Device; import org.nl.acs.order.service.ProduceshiftorderService; import org.nl.acs.order.service.ProduceshiftorderdetailService; @@ -37,6 +39,9 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im @Autowired ProduceshiftorderdetailService produceshiftorderdetailService = SpringContextHolder.getBean(ProduceshiftorderdetailService.class); + @Autowired + LogServer logServer = SpringContextHolder.getBean(LogServer.class); + @Override public Device getDevice() { return this.device; @@ -51,6 +56,7 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im int order_detail = 0; int last_mode = 0; int last_order = order; + int last_order_detail = order_detail; int ready = 0; int pause = 0; int clear = 0; @@ -117,8 +123,26 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im if (mode != last_mode) { this.setRequireSucess(false); + logServer.deviceLog(this.device_code,"mode" ,String.valueOf(mode)); + logServer.deviceLogToacs(this.device_code,"","","信号mode:" + last_mode + "->" + mode); } + if(order != last_order) + { + if(order != 0){ + update_order_status(String.valueOf(order),"02"); + } + logServer.deviceLog(this.device_code,"order" ,String.valueOf(order)); + logServer.deviceLogToacs(this.device_code,"","","信号order:" + last_order + "->" + order); + } + if(order_detail != last_order_detail) + { + if(order_detail != 0){ + update_orderdetail_status(String.valueOf(order),String.valueOf(order_detail),"01"); + } + logServer.deviceLog(this.device_code,"order_detail" ,String.valueOf(order_detail)); + logServer.deviceLogToacs(this.device_code,"","","信号order_detail:" + last_order_detail + "->" + order_detail); + } try{ if(order >0 && order_detail>0){ update_detail(String.valueOf(order),String.valueOf(order_detail)); @@ -165,6 +189,7 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im } last_mode = mode; last_order = order; + last_order_detail = order_detail; } public synchronized boolean update_detail(String order, String order_detail) throws Exception { @@ -181,7 +206,7 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im //上料数量 dto.setPresent_feeding_number(String.valueOf(detail_feeding_qty)); //上料合格数量 - dto.setFeeding_qualified_qty(String.valueOf(detail_feeding_qualified_qty)); + dto.setFeeding_qualified_number(String.valueOf(detail_feeding_qualified_qty)); //当前工单明细号刻字数量 dto.setPresent_lettering_number(String.valueOf(detail_lettering_qty)); //当前工单明细号刻字合格数量 @@ -203,6 +228,46 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im } } + public synchronized boolean update_orderdetail_status(String order,String order_detail,String status) throws Exception { + Date date = new Date(); + if (date.getTime() - this.detail_time_out < (long) this.detail_time_out) { + log.trace("触发时间因为小于{}毫秒,而被无视", this.detail_time_out); + return false; + } else { + this.detail_time= date; + ProduceshiftorderdetailDto dto = produceshiftorderdetailService.findOrderDetailFromCache(String.valueOf(order),String.valueOf(order_detail)); + if(ObjectUtil.isEmpty(dto)){ + return false; + } + if(!StrUtil.equals(dto.getOrder_detail_status(),status)){ + dto.setOrder_detail_status("01"); + produceshiftorderdetailService.update(dto); + } + return true; + } + } + + public synchronized boolean update_order_status(String order,String status) throws Exception { + Date date = new Date(); + if (date.getTime() - this.detail_time_out < (long) this.detail_time_out) { + log.trace("触发时间因为小于{}毫秒,而被无视", this.detail_time_out); + return false; + } else { + this.detail_time= date; + ProduceshiftorderDto dto = produceshiftorderService.findOrderByOrderCodeFromCache(String.valueOf(order)); + if(ObjectUtil.isEmpty(dto)){ + return false; + } + //02是已下发 + if(!StrUtil.equals(dto.getOrder_status(),status) && StrUtil.equals(dto.getOrder_status(),"02") ){ + dto.setOrder_status("03"); + produceshiftorderService.autoupdate(dto); + } + return true; + } + } + + public boolean apply_order() throws Exception { ProduceshiftorderDto dto = produceshiftorderService.apply_order(); if(ObjectUtil.isEmpty(dto)){ @@ -239,8 +304,8 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im writing(ItemProtocol.item_to_is_lettering,is_lettering); writing(ItemProtocol.item_to_command,String.valueOf(mode)); - dto.setOrder_status("02"); - produceshiftorderService.update(dto); + dto.setOrder_status("03"); + produceshiftorderService.autoupdate(dto); requireSucess = true; return true; @@ -277,8 +342,8 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im writing(ItemProtocol.item_to_coating_qty,strap_pack_number); writing(ItemProtocol.item_to_labeling_qty,strap_pack_number); writing(ItemProtocol.item_to_command,String.valueOf(mode)); - dto.setOrder_detail_status("01"); - produceshiftorderdetailService.update(dto); +// dto.setOrder_detail_status("01"); +// produceshiftorderdetailService.update(dto); send_letter_flag = false; send_letter_flag_back = false; requireSucess = true; diff --git a/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_labeling/HaiLiangLabelingDeviceDriver.java b/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_labeling/HaiLiangLabelingDeviceDriver.java index 4e07efd..06c3168 100644 --- a/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_labeling/HaiLiangLabelingDeviceDriver.java +++ b/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_labeling/HaiLiangLabelingDeviceDriver.java @@ -1,5 +1,6 @@ package org.nl.acs.device_driver.hailiang.hailiang_labeling; +import cn.hutool.core.util.StrUtil; import lombok.Data; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -7,10 +8,12 @@ import org.nl.acs.device.device_driver.standard_inspect.ReadUtil; import org.nl.acs.device_driver.DeviceDriver; import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver; import org.nl.acs.device_driver.driver.ExecutableDeviceDriver; +import org.nl.acs.log.service.LogServer; import org.nl.acs.opc.Device; import org.nl.acs.order.service.ProduceshiftorderService; import org.nl.acs.order.service.ProduceshiftorderdetailService; import org.nl.acs.order.service.dto.ProduceshiftorderdetailDto; +import org.nl.exception.BadRequestException; import org.nl.utils.SpringContextHolder; import org.openscada.opc.lib.da.Server; import org.springframework.beans.factory.annotation.Autowired; @@ -39,15 +42,23 @@ public class HaiLiangLabelingDeviceDriver extends AbstractOpcDeviceDriver implem @Autowired ProduceshiftorderdetailService produceshiftorderdetailService = SpringContextHolder.getBean(ProduceshiftorderdetailService.class); + @Autowired + LogServer logServer = SpringContextHolder.getBean(LogServer.class); + String device_code; int mode = 0; int last_mode = 0; int error = 0; + int last_error = 0; int move = 0; int order = 0; + int last_order = 0; int order_detail = 0; + int last_order_detail = 0; int detail_qty = 0; + int last_detail_qty = 0; int detail_qualified_qty = 0; + int last_detail_qualified_qty = 0; boolean requireSucess = false; @@ -68,8 +79,30 @@ public class HaiLiangLabelingDeviceDriver extends AbstractOpcDeviceDriver implem //当前工单明细号上料合格数量 detail_qualified_qty = this.itemProtocol.getDetail_qualified_qty(); if (mode != last_mode) { + logServer.deviceLog(this.device_code,"mode" ,String.valueOf(mode)); + logServer.deviceLogToacs(this.device_code,"","","信号mode:" + last_mode + "->" + mode); this.setRequireSucess(false); } + if (error != last_error) { + logServer.deviceLog(this.device_code,"error" ,String.valueOf(error)); + logServer.deviceLogToacs(this.device_code,"","","信号error:" + last_error + "->" + error); + } + if (order != last_order) { + logServer.deviceLog(this.device_code,"order" ,String.valueOf(order)); + logServer.deviceLogToacs(this.device_code,"","","信号order:" + last_order + "->" + order); + } + if (order_detail != last_order_detail) { + logServer.deviceLog(this.device_code,"order_detail" ,String.valueOf(order_detail)); + logServer.deviceLogToacs(this.device_code,"","","信号mode:" + last_order_detail + "->" + order_detail); + } + if (detail_qty != last_detail_qty) { + logServer.deviceLog(this.device_code,"detail_qty" ,String.valueOf(detail_qty)); + logServer.deviceLogToacs(this.device_code,"","","信号detail_qty:" + last_detail_qty + "->" + detail_qty); + } + if (detail_qualified_qty != last_detail_qualified_qty) { + logServer.deviceLog(this.device_code,"detail_qualified_qty" ,String.valueOf(detail_qualified_qty)); + logServer.deviceLogToacs(this.device_code,"","","信号detail_qualified_qty:" + last_detail_qualified_qty + "->" + detail_qualified_qty); + } } catch (Exception var17) { return; } @@ -93,13 +126,13 @@ public class HaiLiangLabelingDeviceDriver extends AbstractOpcDeviceDriver implem case 2: break; case 4: - //上料完成 + //贴标完成 if(!requireSucess && order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0){ update_detail(String.valueOf(order),String.valueOf(order_detail),"01"); } break; case 5: - //强制上料完成 + //强制贴标完成 if(!requireSucess && order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0 ) { update_detail(String.valueOf(order),String.valueOf(order_detail),"02"); } @@ -107,6 +140,12 @@ public class HaiLiangLabelingDeviceDriver extends AbstractOpcDeviceDriver implem } } last_mode = mode; + last_mode = mode; + last_error = error; + last_order = order; + last_order_detail = order_detail; + last_detail_qty = detail_qty; + last_detail_qualified_qty = detail_qualified_qty; } @@ -118,10 +157,15 @@ public class HaiLiangLabelingDeviceDriver extends AbstractOpcDeviceDriver implem } else { this.detail_time = date; ProduceshiftorderdetailDto dto = produceshiftorderdetailService.findOrderDetailFromCache(String.valueOf(order), String.valueOf(order_detail)); + if(!StrUtil.equals(dto.getWraping_number(),String.valueOf(detail_qualified_qty)) ){ + logServer.deviceLogToacs(this.device_code,"","","工单明细贴标完成,贴标合格数量与订单数量不一致"); + throw new BadRequestException("工单明细贴标完成,贴标合格数量与订单数量不一致!"); + } dto.setLabeling_finished(status); dto.setLabeling_finish_time(date.toString()); produceshiftorderdetailService.update(dto); writing(itemProtocol.item_to_command,String.valueOf(mode)); + requireSucess = true; return true; } } diff --git a/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_lettering/HaiLiangLetteringDeviceDriver.java b/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_lettering/HaiLiangLetteringDeviceDriver.java index ef85336..fa4e2a9 100644 --- a/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_lettering/HaiLiangLetteringDeviceDriver.java +++ b/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_lettering/HaiLiangLetteringDeviceDriver.java @@ -1,16 +1,21 @@ package org.nl.acs.device_driver.hailiang.hailiang_lettering; +import cn.hutool.core.util.ObjectUtil; import lombok.Data; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.nl.acs.config.AcsConfig; +import org.nl.acs.config.server.AcsConfigService; import org.nl.acs.device.device_driver.standard_inspect.ReadUtil; import org.nl.acs.device_driver.DeviceDriver; import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver; import org.nl.acs.device_driver.driver.ExecutableDeviceDriver; +import org.nl.acs.log.service.LogServer; import org.nl.acs.opc.Device; import org.nl.acs.order.service.ProduceshiftorderService; import org.nl.acs.order.service.ProduceshiftorderdetailService; import org.nl.acs.order.service.dto.ProduceshiftorderdetailDto; +import org.nl.exception.BadRequestException; import org.nl.utils.SpringContextHolder; import org.openscada.opc.lib.da.Server; import org.springframework.beans.factory.annotation.Autowired; @@ -34,21 +39,38 @@ public class HaiLiangLetteringDeviceDriver extends AbstractOpcDeviceDriver imple @Autowired ProduceshiftorderdetailService produceshiftorderdetailService = SpringContextHolder.getBean(ProduceshiftorderdetailService.class); + @Autowired + LogServer logServer = SpringContextHolder.getBean(LogServer.class); + + @Autowired + AcsConfigService acsConfigService = SpringContextHolder.getBean(AcsConfigService.class); + String device_code; int mode = 0; int last_mode = 0; int error = 0; + int last_error = 0; int move = 0; int order = 0; + int last_order = 0; int order_detail = 0; + int last_order_detail = 0; int detail_qty = 0; + int last_detail_qty = 0; int detail_qualified_qty = 0; + int last_detail_qualified_qty = 0; + boolean requireSucess = false; private Date detail_time = new Date(); private int detail_time_out = 3000; + Process printProcess; + String printName = "HP LaserJet Pro MFP M225-M226 PCL 6"; + String printurl = ""; + + @Override public Device getDevice() { return this.device; @@ -68,8 +90,30 @@ public class HaiLiangLetteringDeviceDriver extends AbstractOpcDeviceDriver imple //当前工单明细号上料合格数量 detail_qualified_qty = this.itemProtocol.getDetail_qualified_qty(); if (mode != last_mode) { + logServer.deviceLog(this.device_code,"mode" ,String.valueOf(mode)); + logServer.deviceLogToacs(this.device_code,"","","信号mode:" + last_mode + "->" + mode); this.setRequireSucess(false); } + if (error != last_error) { + logServer.deviceLog(this.device_code,"error" ,String.valueOf(error)); + logServer.deviceLogToacs(this.device_code,"","","信号error:" + last_error + "->" + error); + } + if (order != last_order) { + logServer.deviceLog(this.device_code,"order" ,String.valueOf(order)); + logServer.deviceLogToacs(this.device_code,"","","信号order:" + last_order + "->" + order); + } + if (order_detail != last_order_detail) { + logServer.deviceLog(this.device_code,"order_detail" ,String.valueOf(order_detail)); + logServer.deviceLogToacs(this.device_code,"","","信号mode:" + last_order_detail + "->" + order_detail); + } + if (detail_qty != last_detail_qty) { + logServer.deviceLog(this.device_code,"detail_qty" ,String.valueOf(detail_qty)); + logServer.deviceLogToacs(this.device_code,"","","信号detail_qty:" + last_detail_qty + "->" + detail_qty); + } + if (detail_qualified_qty != last_detail_qualified_qty) { + logServer.deviceLog(this.device_code,"detail_qualified_qty" ,String.valueOf(detail_qualified_qty)); + logServer.deviceLogToacs(this.device_code,"","","信号detail_qualified_qty:" + last_detail_qualified_qty + "->" + detail_qualified_qty); + } } catch (Exception var17) { return; } @@ -92,14 +136,20 @@ public class HaiLiangLetteringDeviceDriver extends AbstractOpcDeviceDriver imple break; case 2: break; + case 3: + //申请贴标 + if(!requireSucess && order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0){ + printMessage(String.valueOf(order),String.valueOf(order_detail),String.valueOf(detail_qualified_qty)); + } + break; case 4: - //上料完成 + //贴标完成 if(!requireSucess && order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0){ update_detail(String.valueOf(order),String.valueOf(order_detail),"01"); } break; case 5: - //强制上料完成 + //强制贴标完成 if(!requireSucess && order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0 ) { update_detail(String.valueOf(order),String.valueOf(order_detail),"02"); } @@ -107,6 +157,12 @@ public class HaiLiangLetteringDeviceDriver extends AbstractOpcDeviceDriver imple } } last_mode = mode; + last_mode = mode; + last_error = error; + last_order = order; + last_order_detail = order_detail; + last_detail_qty = detail_qty; + last_detail_qualified_qty = detail_qualified_qty; } @@ -125,6 +181,37 @@ public class HaiLiangLetteringDeviceDriver extends AbstractOpcDeviceDriver imple return true; } } + public synchronized boolean printMessage(String order, String order_detail,String qty) { + Date date = new Date(); + if (date.getTime() - this.detail_time_out < (long) this.detail_time_out) { + log.trace("触发时间因为小于{}毫秒,而被无视", this.detail_time_out); + return false; + } else { + this.detail_time = date; + ProduceshiftorderdetailDto dto = produceshiftorderdetailService.findOrderDetailFromCache(String.valueOf(order), String.valueOf(order_detail)); + if(ObjectUtil.isEmpty(dto)){ + throw new BadRequestException("未找到可下发工单明细!"); + } + String template = dto.getLabeling_template(); + printName = acsConfigService.findConfigFromCache().get(AcsConfig.PRINTNAME); + printurl = acsConfigService.findConfigFromCache().get(AcsConfig.PRINTURL); + + try + { + printProcess = Runtime + .getRuntime() + .exec(new String[] { + printurl, "PrinterName=" + printName, + "LabelName=Label.ct", "Text5="+ "111","Text6="+"222","Text7="+"333","Text8="+"444"}); + } + catch (Exception e) + { + System.out.println("aaa"); + } + return true; + } + } + public void writing(String param, String value) { String to_param = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code() diff --git a/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_risking/HaiLiangRiskingDeviceDriver.java b/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_risking/HaiLiangRiskingDeviceDriver.java index 721270d..ef378ea 100644 --- a/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_risking/HaiLiangRiskingDeviceDriver.java +++ b/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_risking/HaiLiangRiskingDeviceDriver.java @@ -7,6 +7,7 @@ import org.nl.acs.device.device_driver.standard_inspect.ReadUtil; import org.nl.acs.device_driver.DeviceDriver; import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver; import org.nl.acs.device_driver.driver.ExecutableDeviceDriver; +import org.nl.acs.log.service.LogServer; import org.nl.acs.opc.Device; import org.nl.acs.order.service.ProduceshiftorderService; import org.nl.acs.order.service.ProduceshiftorderdetailService; @@ -35,15 +36,24 @@ public class HaiLiangRiskingDeviceDriver extends AbstractOpcDeviceDriver impleme @Autowired ProduceshiftorderdetailService produceshiftorderdetailService = SpringContextHolder.getBean(ProduceshiftorderdetailService.class); + @Autowired + LogServer logServer = SpringContextHolder.getBean(LogServer.class); + String device_code; int mode = 0; int last_mode = 0; int error = 0; + int last_error = 0; int move = 0; int order = 0; + int last_order = 0; int order_detail = 0; + int last_order_detail = 0; int detail_qty = 0; + int last_detail_qty = 0; int detail_qualified_qty = 0; + int last_detail_qualified_qty = 0; + boolean requireSucess = false; @@ -70,8 +80,30 @@ public class HaiLiangRiskingDeviceDriver extends AbstractOpcDeviceDriver impleme //当前工单明细号上料合格数量 detail_qualified_qty = this.itemProtocol.getDetail_qualified_qty(); if (mode != last_mode) { + logServer.deviceLog(this.device_code,"mode" ,String.valueOf(mode)); + logServer.deviceLogToacs(this.device_code,"","","信号mode:" + last_mode + "->" + mode); this.setRequireSucess(false); } + if (error != last_error) { + logServer.deviceLog(this.device_code,"error" ,String.valueOf(error)); + logServer.deviceLogToacs(this.device_code,"","","信号error:" + last_error + "->" + error); + } + if (order != last_order) { + logServer.deviceLog(this.device_code,"order" ,String.valueOf(order)); + logServer.deviceLogToacs(this.device_code,"","","信号order:" + last_order + "->" + order); + } + if (order_detail != last_order_detail) { + logServer.deviceLog(this.device_code,"order_detail" ,String.valueOf(order_detail)); + logServer.deviceLogToacs(this.device_code,"","","信号mode:" + last_order_detail + "->" + order_detail); + } + if (detail_qty != last_detail_qty) { + logServer.deviceLog(this.device_code,"detail_qty" ,String.valueOf(detail_qty)); + logServer.deviceLogToacs(this.device_code,"","","信号detail_qty:" + last_detail_qty + "->" + detail_qty); + } + if (detail_qualified_qty != last_detail_qualified_qty) { + logServer.deviceLog(this.device_code,"detail_qualified_qty" ,String.valueOf(detail_qualified_qty)); + logServer.deviceLogToacs(this.device_code,"","","信号detail_qualified_qty:" + last_detail_qualified_qty + "->" + detail_qualified_qty); + } } catch (Exception var17) { return; } @@ -95,7 +127,7 @@ public class HaiLiangRiskingDeviceDriver extends AbstractOpcDeviceDriver impleme case 2: break; case 4: - //上料完成 + //套冒完成 if(!requireSucess && order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0){ update_detail(String.valueOf(order),String.valueOf(order_detail),"01"); } @@ -109,6 +141,12 @@ public class HaiLiangRiskingDeviceDriver extends AbstractOpcDeviceDriver impleme } } last_mode = mode; + last_mode = mode; + last_error = error; + last_order = order; + last_order_detail = order_detail; + last_detail_qty = detail_qty; + last_detail_qualified_qty = detail_qualified_qty; } diff --git a/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_strapping/HaiLiangStrappingDeviceDriver.java b/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_strapping/HaiLiangStrappingDeviceDriver.java index 1c65764..3ea0895 100644 --- a/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_strapping/HaiLiangStrappingDeviceDriver.java +++ b/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_strapping/HaiLiangStrappingDeviceDriver.java @@ -7,6 +7,7 @@ import org.nl.acs.device.device_driver.standard_inspect.ReadUtil; import org.nl.acs.device_driver.DeviceDriver; import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver; import org.nl.acs.device_driver.driver.ExecutableDeviceDriver; +import org.nl.acs.log.service.LogServer; import org.nl.acs.opc.Device; import org.nl.acs.order.service.ProduceshiftorderService; import org.nl.acs.order.service.ProduceshiftorderdetailService; @@ -39,15 +40,23 @@ public class HaiLiangStrappingDeviceDriver extends AbstractOpcDeviceDriver imple @Autowired ProduceshiftorderdetailService produceshiftorderdetailService = SpringContextHolder.getBean(ProduceshiftorderdetailService.class); + @Autowired + LogServer logServer = SpringContextHolder.getBean(LogServer.class); + String device_code; int mode = 0; int last_mode = 0; int error = 0; + int last_error = 0; int move = 0; int order = 0; + int last_order = 0; int order_detail = 0; + int last_order_detail = 0; int detail_qty = 0; + int last_detail_qty = 0; int detail_qualified_qty = 0; + int last_detail_qualified_qty = 0; boolean requireSucess = false; @@ -69,8 +78,30 @@ public class HaiLiangStrappingDeviceDriver extends AbstractOpcDeviceDriver imple //当前工单明细号上料合格数量 detail_qualified_qty = this.itemProtocol.getDetail_qualified_qty(); if (mode != last_mode) { + logServer.deviceLog(this.device_code,"mode" ,String.valueOf(mode)); + logServer.deviceLogToacs(this.device_code,"","","信号mode:" + last_mode + "->" + mode); this.setRequireSucess(false); } + if (error != last_error) { + logServer.deviceLog(this.device_code,"error" ,String.valueOf(error)); + logServer.deviceLogToacs(this.device_code,"","","信号error:" + last_error + "->" + error); + } + if (order != last_order) { + logServer.deviceLog(this.device_code,"order" ,String.valueOf(order)); + logServer.deviceLogToacs(this.device_code,"","","信号order:" + last_order + "->" + order); + } + if (order_detail != last_order_detail) { + logServer.deviceLog(this.device_code,"order_detail" ,String.valueOf(order_detail)); + logServer.deviceLogToacs(this.device_code,"","","信号mode:" + last_order_detail + "->" + order_detail); + } + if (detail_qty != last_detail_qty) { + logServer.deviceLog(this.device_code,"detail_qty" ,String.valueOf(detail_qty)); + logServer.deviceLogToacs(this.device_code,"","","信号detail_qty:" + last_detail_qty + "->" + detail_qty); + } + if (detail_qualified_qty != last_detail_qualified_qty) { + logServer.deviceLog(this.device_code,"detail_qualified_qty" ,String.valueOf(detail_qualified_qty)); + logServer.deviceLogToacs(this.device_code,"","","信号detail_qualified_qty:" + last_detail_qualified_qty + "->" + detail_qualified_qty); + } } catch (Exception var17) { return; } @@ -94,13 +125,13 @@ public class HaiLiangStrappingDeviceDriver extends AbstractOpcDeviceDriver imple case 2: break; case 4: - //上料完成 + //捆扎完成 if(!requireSucess && order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0){ update_detail(String.valueOf(order),String.valueOf(order_detail),"01"); } break; case 5: - //强制上料完成 + //强制捆扎完成 if(!requireSucess && order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0 ) { update_detail(String.valueOf(order),String.valueOf(order_detail),"02"); } @@ -108,6 +139,12 @@ public class HaiLiangStrappingDeviceDriver extends AbstractOpcDeviceDriver imple } } last_mode = mode; + last_mode = mode; + last_error = error; + last_order = order; + last_order_detail = order_detail; + last_detail_qty = detail_qty; + last_detail_qualified_qty = detail_qualified_qty; } public synchronized boolean update_detail(String order, String order_detail,String status) { diff --git a/nladmin-system/src/main/java/org/nl/acs/log/service/LogServer.java b/nladmin-system/src/main/java/org/nl/acs/log/service/LogServer.java index b2539e5..88f3467 100644 --- a/nladmin-system/src/main/java/org/nl/acs/log/service/LogServer.java +++ b/nladmin-system/src/main/java/org/nl/acs/log/service/LogServer.java @@ -33,4 +33,18 @@ public interface LogServer { * @param vehicle_code 载具号 */ void log(String task_code, String method, String type, String requestParam, String responseParam, String status_code, String requestUrl, String vehicle_code); + + /** + * @param device_code 设备编号 + * @param key plc信号 + * @param value plc信号值 + */ + void deviceLog(String device_code, String key, String value); + + /** + * @param device_code 设备编号 + * @param vehicle_code 载具号 + * @param inst_code 指令号 + */ + void deviceLogToacs(String device_code, String vehicle_code, String inst_code, String message); } diff --git a/nladmin-system/src/main/java/org/nl/acs/log/service/dto/DeviceLogDto.java b/nladmin-system/src/main/java/org/nl/acs/log/service/dto/DeviceLogDto.java new file mode 100644 index 0000000..ee811ae --- /dev/null +++ b/nladmin-system/src/main/java/org/nl/acs/log/service/dto/DeviceLogDto.java @@ -0,0 +1,24 @@ +package org.nl.acs.log.service.dto; + + +import lombok.Data; + +@Data +public class DeviceLogDto { + + /* 日志标识 */ + private String log_uuid; + + /* 设备编码 */ + private String device_code; + + /* plc信号标识 */ + private String key; + + /* plc信号值 */ + private String value; + + /* 修改时间 YYYY-MM-DD hh:mm:ss */ + private String update_time; + +} diff --git a/nladmin-system/src/main/java/org/nl/acs/log/service/impl/LogServerImpl.java b/nladmin-system/src/main/java/org/nl/acs/log/service/impl/LogServerImpl.java index 2700bc6..91c4c21 100644 --- a/nladmin-system/src/main/java/org/nl/acs/log/service/impl/LogServerImpl.java +++ b/nladmin-system/src/main/java/org/nl/acs/log/service/impl/LogServerImpl.java @@ -3,11 +3,13 @@ package org.nl.acs.log.service.impl; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.acs.log.service.LogServer; +import org.nl.acs.log.service.dto.DeviceLogDto; import org.nl.acs.log.service.dto.LogDto; import org.nl.utils.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -16,6 +18,7 @@ import org.springframework.data.domain.Sort; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; +import org.springframework.data.mongodb.core.query.Update; import org.springframework.stereotype.Service; import java.util.List; @@ -87,4 +90,47 @@ public class LogServerImpl implements LogServer { mongoTemplate.save(logDto,"interface_log"); } + @Override + public void deviceLog(String device_code,String key, String value) { + String now = DateUtil.now(); + + DeviceLogDto dto; + Query query = new Query(Criteria + .where("device_code").is(device_code) + .and("key").is(key) + ); + List deviceList = mongoTemplate.find(query, DeviceLogDto.class,"device_log"); + if (ObjectUtil.isEmpty(deviceList)) { + JSONObject json = new JSONObject(); + json.put("device_code",device_code); + json.put("key",key); + json.put("value",value); + json.put("update_time",now); + mongoTemplate.save(json,"device_log"); + } else { + for (int i = 0; i < deviceList.size(); i++) { + dto = deviceList.get(i); + Update update = new Update(); + update.set("device_code",dto.getDevice_code()); + update.set("key",dto.getKey()); + update.set("value",value); + update.set("update_time",now); + mongoTemplate.upsert(query, update, "device_log"); + } + } + } + + @Override + public void deviceLogToacs(String device_code, String vehicle_code, String inst_code, String message) { + String now = DateUtil.now(); + + JSONObject json = new JSONObject(); + json.put("vehicle_code",vehicle_code); + json.put("inst_code",inst_code); + json.put("message",message); + json.put("create_time",now); + + mongoTemplate.save(json,device_code); + } + } diff --git a/nladmin-system/src/main/java/org/nl/acs/order/service/ProduceshiftorderService.java b/nladmin-system/src/main/java/org/nl/acs/order/service/ProduceshiftorderService.java index 0a275c8..8474282 100644 --- a/nladmin-system/src/main/java/org/nl/acs/order/service/ProduceshiftorderService.java +++ b/nladmin-system/src/main/java/org/nl/acs/order/service/ProduceshiftorderService.java @@ -95,6 +95,13 @@ public interface ProduceshiftorderService { void update(ProduceshiftorderDto dto); + /** + * 编辑 + * + * @param dto / + */ + void autoupdate(ProduceshiftorderDto dto); + /** * 编辑 * @@ -197,9 +204,9 @@ public interface ProduceshiftorderService { JSONArray getDtl(Map whereJson); - ProduceshiftorderDto findOrderByOrderCodeFromCache(String order_id); + ProduceshiftorderDto findOrderByOrderCodeFromCache(String order_code); - ProduceshiftorderDto findOrderByOrderIdFromCache(String order_code); + ProduceshiftorderDto findOrderByOrderIdFromCache(String order_id); diff --git a/nladmin-system/src/main/java/org/nl/acs/order/service/dto/ProduceshiftorderdetailDto.java b/nladmin-system/src/main/java/org/nl/acs/order/service/dto/ProduceshiftorderdetailDto.java index fbfe358..4e7681d 100644 --- a/nladmin-system/src/main/java/org/nl/acs/order/service/dto/ProduceshiftorderdetailDto.java +++ b/nladmin-system/src/main/java/org/nl/acs/order/service/dto/ProduceshiftorderdetailDto.java @@ -135,7 +135,7 @@ public class ProduceshiftorderdetailDto implements Serializable { private String present_feeding_number; /** 上料合格数量 */ - private String feeding_qualified_qty; + private String feeding_qualified_number; /** 上料开始时间 */ private String feeding_start_time; diff --git a/nladmin-system/src/main/java/org/nl/acs/order/service/impl/ProduceshiftorderServiceImpl.java b/nladmin-system/src/main/java/org/nl/acs/order/service/impl/ProduceshiftorderServiceImpl.java index 97491cd..88be139 100644 --- a/nladmin-system/src/main/java/org/nl/acs/order/service/impl/ProduceshiftorderServiceImpl.java +++ b/nladmin-system/src/main/java/org/nl/acs/order/service/impl/ProduceshiftorderServiceImpl.java @@ -112,7 +112,6 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A newja.add(jo); } json.put("content", newja); - System.out.println("json:" + json); return json; } @@ -241,7 +240,7 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A orderDto.setIs_risking("1"); orderDto.setIs_strapping("1"); orderDto.setIs_unbundling("1"); - + orderDto.setFeeding_mouth("3"); for(int i=0; i iterator = order.iterator(); + while (iterator.hasNext()) { + ProduceshiftorderDto produceshiftorderDto = iterator.next(); + if (produceshiftorderDto.getOrder_id().equals(dto.getOrder_id())) { + iterator.remove(); + } } + if (!StrUtil.equals(dto.getOrder_id(), "07") || !StrUtil.equals(dto.getOrder_id(), "08")) { + order.add(dto); + } + } + + @Override + public void autoupdate(ProduceshiftorderDto dto) { + ProduceshiftorderDto entity = this.findById(dto.getOrder_id()); + if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!"); String currentUsername = SecurityUtils.getCurrentUsername(); String now = DateUtil.now(); dto.setUpdate_time(now); @@ -750,7 +774,7 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A @Override public Map querySorting(Map whereJson, Pageable page) { WQLObject wo = WQLObject.getWQLObject("acs_produceshiftorder"); - String where = "1=1 and (order_status !='00' or order_status !='04' or order_status !='05' ) and is_deleted= '0'"; + String where = "1=1 and (order_status !='00' and order_status !='07' and order_status !='08' ) and is_deleted= '0'"; ResultBean rb = wo.pagequery(WqlUtil.getHttpContext(page), where, "order_id desc"); final JSONObject json = rb.pageResult(); JSONArray newja = new JSONArray(); @@ -781,8 +805,8 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A new_jo.put("type", "orderDteail"); new_jo.put("is_flag", "0"); - new_jo.put("feeding_qty", orderDteail_jo.getString("feeding_qty")); - new_jo.put("feeding_qualified_qty", orderDteail_jo.getString("feeding_qualified_qty")); + new_jo.put("present_feeding_number", orderDteail_jo.getString("present_feeding_number")); + new_jo.put("feeding_qualified_number", orderDteail_jo.getString("feeding_qualified_number")); new_jo.put("present_lettering_number", orderDteail_jo.getString("present_lettering_number")); new_jo.put("qualified_lettering_number", orderDteail_jo.getString("qualified_lettering_number")); new_jo.put("present_sleeveing_number", orderDteail_jo.getString("present_sleeveing_number")); @@ -792,6 +816,12 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A new_jo.put("present_wraping_number", orderDteail_jo.getString("present_wraping_number")); new_jo.put("qualified_wraping_number", orderDteail_jo.getString("qualified_wraping_number")); new_jo.put("present_labeling_number", orderDteail_jo.getString("present_labeling_number")); + new_jo.put("feeding_finished", orderDteail_jo.getString("feeding_finished")); + new_jo.put("lettering_finished", orderDteail_jo.getString("lettering_finished")); + new_jo.put("sleeveing_finished", orderDteail_jo.getString("sleeveing_finished")); + new_jo.put("strap_finished", orderDteail_jo.getString("strap_finished")); + new_jo.put("wraping_finished", orderDteail_jo.getString("wraping_finished")); + new_jo.put("labeling_finished", orderDteail_jo.getString("labeling_finished")); children.add(new_jo); } @@ -803,7 +833,6 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A newja.add(jo); } json.put("content", newja); - System.out.println("json:" + json); return json; } diff --git a/nladmin-system/src/main/java/org/nl/acs/order/service/impl/ProduceshiftorderdetailServiceImpl.java b/nladmin-system/src/main/java/org/nl/acs/order/service/impl/ProduceshiftorderdetailServiceImpl.java index c41f851..31144b9 100644 --- a/nladmin-system/src/main/java/org/nl/acs/order/service/impl/ProduceshiftorderdetailServiceImpl.java +++ b/nladmin-system/src/main/java/org/nl/acs/order/service/impl/ProduceshiftorderdetailServiceImpl.java @@ -173,7 +173,7 @@ public class ProduceshiftorderdetailServiceImpl implements Produceshiftorderdeta map.put("物料长度", produceshiftorderdetail.getLength()); map.put("工单明细状态", produceshiftorderdetail.getOrder_detail_status()); map.put("上料数量", produceshiftorderdetail.getFeeding_qty()); - map.put("上料合格数量", produceshiftorderdetail.getFeeding_qualified_qty()); + map.put("上料合格数量", produceshiftorderdetail.getFeeding_qualified_number()); map.put("上料开始时间", produceshiftorderdetail.getFeeding_start_time()); map.put("上料完成时间", produceshiftorderdetail.getFeeding_finish_time()); map.put("刻字合格数量", produceshiftorderdetail.getQualified_lettering_number()); @@ -183,8 +183,8 @@ public class ProduceshiftorderdetailServiceImpl implements Produceshiftorderdeta map.put("套冒合格数量", produceshiftorderdetail.getQualified_sleeveing_number()); map.put("套冒开始时间", produceshiftorderdetail.getSleeveing_start_time()); map.put("套冒完成时间", produceshiftorderdetail.getSleeveing_finish_time()); - map.put("捆扎开始时间", produceshiftorderdetail.getStarp_start_time()); - map.put("捆扎完成时间", produceshiftorderdetail.getStarp_finish_time()); + map.put("捆扎开始时间", produceshiftorderdetail.getStrap_start_time()); + map.put("捆扎完成时间", produceshiftorderdetail.getStrap_finish_time()); map.put("裹膜数量", produceshiftorderdetail.getWraping_number()); map.put("当前裹膜数量", produceshiftorderdetail.getPresent_wraping_number()); map.put("裹膜合格数量", produceshiftorderdetail.getQualified_wraping_number()); diff --git a/nladmin-system/src/main/java/org/nl/acs/order/service/wql/order.xls b/nladmin-system/src/main/java/org/nl/acs/order/service/wql/order.xls index 0394b6f40a562a9b4c8a01bdae423aa10f7a7bec..315f8bf5a411fcd868c6937ea6b07fd5ab526006 100644 GIT binary patch delta 12603 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

&R&qyPw{?UMdigJ?|+E@u==4T z$3Ayo9he^1?tRYQa)VokL0){t>R7nh!ZBOFxida(kJ(~_+-5EQ{l@O3gip@fQw!0Q=zdIDo{&|~nz(uU(9qO52V&)i@zD*5kANC9U zp8_hgjrIMN`WhhEJHJxzP`;(?%)3+`W!=kOx=Vc^sMR2L&OK@u`C|e$^f$_%8Z?j9 zkn%=m`@6qU*96$DedZ%dMybQY!<7-L2&FRc`BQ2wiA|4*lFGtm%3xJUTyU)Z1bMtF zN~#W5E8|pguuULmU|{=Se^75?CQvADZ~l`yOIe_i-rQbIz$_Pewm1JxHH-fb3GGW# delta 12384 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 F{ttMdY@YxC diff --git a/nladmin-system/src/main/resources/config/application-dev.yml b/nladmin-system/src/main/resources/config/application-dev.yml index 72fdc56..ad6a5e3 100644 --- a/nladmin-system/src/main/resources/config/application-dev.yml +++ b/nladmin-system/src/main/resources/config/application-dev.yml @@ -9,9 +9,11 @@ spring: db-type: com.alibaba.druid.pool.DruidDataSource driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.81.252}:${DB_PORT:3306}/${DB_NAME:hl_zgbz_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true + #url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:hl_zgbz_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true username: ${DB_USER:root} #password: ${DB_PWD:P@ssw0rd} password: ${DB_PWD:Root.123456} + #password: ${DB_PWD:123456} # 初始连接数 initial-size: 5 # 最小连接数 diff --git a/nladmin-system/src/main/resources/config/application-prod.yml b/nladmin-system/src/main/resources/config/application-prod.yml index cfb77a3..d8634c1 100644 --- a/nladmin-system/src/main/resources/config/application-prod.yml +++ b/nladmin-system/src/main/resources/config/application-prod.yml @@ -8,8 +8,11 @@ spring: druid: db-type: com.alibaba.druid.pool.DruidDataSource driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy - url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:ch_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true + #url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.81.252}:${DB_PORT:3306}/${DB_NAME:hl_zgbz_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true + url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:hl_zgbz_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true username: ${DB_USER:root} + #password: ${DB_PWD:P@ssw0rd} + #password: ${DB_PWD:Root.123456} password: ${DB_PWD:123456} # 初始连接数 initial-size: 5 @@ -17,8 +20,12 @@ spring: min-idle: 15 # 最大连接数 max-active: 30 + # 是否自动回收超时连接 + remove-abandoned: true + # 超时时间(以秒数为单位) + remove-abandoned-timeout: 180 # 获取连接超时时间 - max-wait: 5000 + max-wait: 3000 # 连接有效性检测时间 time-between-eviction-runs-millis: 60000 # 连接在池中最小生存的时间 @@ -38,11 +45,8 @@ spring: enabled: true stat-view-servlet: enabled: true - # 控制台管理用户名和密码 url-pattern: /druid/* reset-enable: false - login-username: admin - login-password: 123456 filter: stat: enabled: true @@ -52,12 +56,12 @@ spring: merge-sql: true wall: config: - multi-statement-allow: true + multi-statement-alagvslow: true data: mongodb: host: 127.0.0.1 port: 27017 - database: logdb + database: nlacs redis: #数据库索引 database: ${REDIS_DB:0} @@ -84,7 +88,7 @@ login: heigth: 36 # 内容长度 length: 2 - # 字体名称,为空则使用默认字体,如遇到线上乱码,设置其他字体即可 + # 字体名称,为空则使用默认字体 font-name: # 字体大小 font-size: 25 @@ -96,36 +100,29 @@ jwt: token-start-with: Bearer # 必须使用最少88位的Base64对该令牌进行编码 base64-secret: ZmQ0ZGI5NjQ0MDQwY2I4MjMxY2Y3ZmI3MjdhN2ZmMjNhODViOTg1ZGE0NTBjMGM4NDA5NzYxMjdjOWMwYWRmZTBlZjlhNGY3ZTg4Y2U3YTE1ODVkZDU5Y2Y3OGYwZWE1NzUzNWQ2YjFjZDc0NGMxZWU2MmQ3MjY1NzJmNTE0MzI= - # 令牌过期时间 此处单位/毫秒 ,默认2小时,可在此网站生成 https://www.convertworld.com/zh-hans/time/milliseconds.html - token-validity-in-seconds: 7200000 + # 令牌过期时间 此处单位/毫秒 ,默认4小时,可在此网站生成 https://www.convertworld.com/zh-hans/time/milliseconds.html + token-validity-in-seconds: 14400000 # 在线用户key online-key: online-token- # 验证码 code-key: code-key- - # token 续期检查时间范围(默认30分钟,单位默认毫秒),在token即将过期的一段时间内用户操作了,则给用户的token续期 + # token 续期检查时间范围(默认30分钟,单位毫秒),在token即将过期的一段时间内用户操作了,则给用户的token续期 detect: 1800000 - # 续期时间范围,默认 1小时,这里单位毫秒 + # 续期时间范围,默认1小时,单位毫秒 renew: 3600000 -# IP 本地解析 -ip: - local-parsing: true - #是否允许生成代码,生产环境设置为false generator: - enabled: false - -#如果生产环境要开启swagger,需要配置请求地址 -#springfox: -# documentation: -# swagger: -# v2: -# host: # 接口域名或外网ip + enabled: true #是否开启 swagger-ui swagger: enabled: true +# IP 本地解析 +ip: + local-parsing: true + # 文件存储路径 file: mac: @@ -140,3 +137,30 @@ file: # 文件大小 /M maxSize: 100 avatarMaxSize: 5 + + + +jetcache: + defaultCacheType: LOCAL + statIntervalMinutes: 15 + areaInCacheName: false + hiddenPackages: com.yb + local: + default: + type: caffeine + limit: 100 + keyConvertor: fastjson + expireAfterWriteInMillis: 60000 + remote: + default: + type: redis.lettuce + keyConvertor: fastjson + valueEncoder: kryo + valueDecoder: kryo + poolConfig: + minIdle: 5 + maxIdle: 200 + maxTotal: 1000 + uri: + - redis://127.0.0.1:6379 +