From 3a1263e72b389baaa378891074eff69d1ee9a69c Mon Sep 17 00:00:00 2001
From: "USER-20220102CG\\noblelift" <546428999@qq.com>
Date: Wed, 1 Jun 2022 14:25:25 +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

---
 .../HaiLiangFeedingDeviceDriver.java          |  97 +-----------------
 .../HaiLiangFeedingTrunkDeviceDriver.java     |  95 ++++++++++++++++-
 .../hailiang_feeding_trunk/ItemProtocol.java  |   7 ++
 .../ProduceshiftorderdetailService.java       |   2 +
 .../dto/ProduceshiftorderdetailDto.java       |  29 +++++-
 .../impl/ProduceshiftorderServiceImpl.java    |  15 ++-
 .../ProduceshiftorderdetailServiceImpl.java   |  23 +++--
 .../org/nl/acs/order/service/impl/Test.java   |  29 ++++++
 .../org/nl/acs/order/service/wql/order.xls    | Bin 191488 -> 231424 bytes
 9 files changed, 186 insertions(+), 111 deletions(-)
 create mode 100644 nladmin-system/src/main/java/org/nl/acs/order/service/impl/Test.java

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 31aeada..3f7792d 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
@@ -33,101 +33,8 @@ public class HaiLiangFeedingDeviceDriver extends AbstractOpcDeviceDriver impleme
 
     @Override
     public void execute() {
-//        String message = null;
-//        try {
-//            device_code = this.getDeviceCode();
-//            mode = this.itemProtocol.getMode();
-//            error = this.itemProtocol.getError();
-//            move = this.itemProtocol.getMove();
-//            task = this.itemProtocol.getTask();
-//            action = this.itemProtocol.getAction();
-//            ioaction = this.itemProtocol.getIoAction();
-//            height = this.itemProtocol.getHeight();
-//            operation_type = this.itemProtocol.getOperation_type();
-//            direction = this.itemProtocol.getDirection();
-//            hasGoods = this.itemProtocol.getMove();
-//
-//            if (mode != last_mode) {
-//                this.setRequireSucess(false);
-//            }
-//            if (move != last_move) {
-//                if (move == 0) {
-//                    thingToNothing();
-//                }
-//            }
-//            if (error != last_error) {
-//            }
-//            if (mode == 2 && move != 0 && task > 0) {
-//                //inst_message
-//                inst = instructionService.findByCodeFromCache(String.valueOf(task));
-//                if (inst != null) {
-//                    inst_message = "指令号:" + inst.getInstruction_code() + " " + inst.getStart_point_code() + "->" + inst.getNext_point_code() + "  载具号:" + inst.getVehicle_code();
-//                    if (StrUtil.equals(inst.getInstruction_status(), "0") && StrUtil.equals(this.getDeviceCode(), inst.getStart_device_code())) {
-//                        inst.setInstruction_status("1");
-//                        instructionService.update(inst);
-//                    }
-//                    if (StrUtil.equals(inst.getInstruction_status(), "1") && StrUtil.equals(this.getDeviceCode(), inst.getNext_device_code())) {
-//                        finish_instruction();
-//                    }
-//                }
-//            }
-//
-//            if (getBarcode() != null) {
-//
-//            }
-//        } catch (Exception var17) {
-//            return;
-//        }
-//        if (!this.itemProtocol.getIsonline()) {
-//            this.setIsonline(false);
-//            this.setIserror(true);
-//            message = "信号量同步异常";
-//            //未联机
-//        } else if (mode == 0) {
-//            this.setIsonline(false);
-//            this.setIserror(true);
-//            message = "未联机";
-//            //有报警
-//        } else if (error != 0) {
-//            this.setIsonline(false);
-//            this.setIserror(true);
-//            message = "有报警";
-//            //无报警
-//        } else {
-//            this.setIsonline(true);
-//            this.setIserror(false);
-//            message = "";
-//            Instruction instruction = null;
-//            List toInstructions;
-//            switch (mode) {
-//                case 1:
-//                    log.debug("设备运转模式:等待工作");
-//                    break;
-//                case 2:
-//                    //申请任务
-//                    if (hasGoods > 0 && !StrUtil.isEmpty(barcode()) && height > 0 && !requireSucess) {
-//                        instruction_require(barcode());
-//                    }
-//                    if (hasGoods > 0 && !StrUtil.isEmpty(barcode()) && height > 0 && !applySucess) {
-//                        instruction_apply(barcode());
-//                    }
-//            }
-//            switch (flag) {
-//                //取货完成
-//                case 1:
-//                    writing(2);
-//                    break;
-//                //放货完成
-//                case 2:
-//                    writing(3);
-//                    break;
-//
-//            }
-//        }
-//        last_mode = mode;
-//        last_error = error;
-//        last_move = move;
-//        last_task = task;
+
+
     }
 
 
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 d06d964..3d4f0ac 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
@@ -18,6 +18,7 @@ import org.nl.utils.SpringContextHolder;
 import org.openscada.opc.lib.da.Server;
 import org.springframework.beans.factory.annotation.Autowired;
 
+import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -53,9 +54,27 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im
     int ready = 0;
     int pause = 0;
     int clear = 0;
+    int order_feeding_qty = 0;
+    int detail_feeding_qty = 0;
+    int detail_feeding_qualified_qty = 0;
+    int detail_lettering_qty = 0;
+    int detail_lettering_qualified_qty = 0;
+    int detail_risking_qualified_qty = 0;
+    int detail_risking_qty = 0;
+    int detail_strapping_qty = 0;
+    int detail_strapping_oneqty = 0;
+    int detail_coating_qty = 0;
+    int labeling_order = 0;
+    int detail_labeling_qualified_qty = 0;
+    int detail_labeling_qty = 0;
+
+
     Boolean send_letter_flag_back = false;
     Boolean send_letter_flag = false;
 
+    private Date detail_time = new Date();
+    private int detail_time_out = 3000;
+
     @Override
     public void execute() throws Exception {
         String message = null;
@@ -67,12 +86,44 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im
             order_detail = this.itemProtocol.getOrder_detail();
             ready = this.itemProtocol.getReady();
             pause = this.itemProtocol.getPause();
-            clear = this.itemProtocol.getPause();
+            clear = this.itemProtocol.getClear();
+
+            //当前工单明细号上料数量
+            order_feeding_qty = this.itemProtocol.getDetail_feeding_qty();
+            detail_feeding_qty = this.itemProtocol.getDetail_feeding_qty();
+            //当前工单明细号上料合格数量
+            detail_feeding_qualified_qty = this.itemProtocol.getDetail_feeding_qualified_qty();
+            //当前工单明细号刻字数量
+            detail_lettering_qty = this.itemProtocol.getDetail_lettering_qty();
+            //当前工单明细号刻字合格数量
+            detail_lettering_qualified_qty = this.itemProtocol.getDetail_lettering_qualified_qty();
+            //当前工单明细号套冒合格数
+            detail_risking_qualified_qty = this.itemProtocol.getDetail_risking_qualified_qty();
+            //当前工单明细号套冒数
+            detail_risking_qty = this.itemProtocol.getDetail_risking_qty();
+            //当前工单明细号捆扎包数
+            detail_strapping_qty = this.itemProtocol.getDetail_strapping_qty();
+            //当前工单明细号捆扎根数
+            detail_strapping_oneqty = this.itemProtocol.getDetail_strapping_oneqty();
+            //当前工单明细号裹膜数
+            detail_coating_qty =this.itemProtocol.getDetail_coating_qty();
+            //当前贴标工单明细号
+            labeling_order = this.itemProtocol.getLabeling_order();
+            //当前贴标工单明细号贴标合格数
+            detail_labeling_qualified_qty = this.itemProtocol.getDetail_strapping_qty();
+            //当前贴标工单明细号贴标数
+            detail_labeling_qty = this.itemProtocol.getDetail_labeling_qty();
+
 
             if (mode != last_mode) {
                 this.setRequireSucess(false);
             }
 
+            if(order >0 && order_detail>0){
+                update_detail(String.valueOf(order),String.valueOf(order_detail));
+            }
+
+
         } catch (Exception var17) {
             return;
         }
@@ -112,6 +163,39 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im
         last_order = order;
     }
 
+    public synchronized boolean update_detail(String order, String order_detail) 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));
+            //上料数量
+            dto.setPresent_feeding_number(String.valueOf(detail_feeding_qty));
+            //上料合格数量
+            dto.setFeeding_qualified_qty(String.valueOf(detail_feeding_qualified_qty));
+            //当前工单明细号刻字数量
+            dto.setPresent_lettering_number(String.valueOf(detail_lettering_qty));
+            //当前工单明细号刻字合格数量
+            dto.setQualified_lettering_number(String.valueOf(detail_lettering_qualified_qty));
+            //当前工单明细号套冒数
+            dto.setPresent_sleeveing_number(String.valueOf(detail_risking_qty));
+            //当前工单明细号套冒合格数
+            dto.setQualified_sleeveing_number(String.valueOf(detail_risking_qualified_qty));
+            //当前捆扎包数
+            dto.setPresent_strap_pack_number(String.valueOf(detail_strapping_qty));
+            //当前捆扎数
+            dto.setPresent_strap_number(String.valueOf(detail_strapping_oneqty));
+            //当前工单明细号裹膜数
+            dto.setPresent_wraping_number(String.valueOf(detail_coating_qty));
+
+            produceshiftorderdetailService.update(dto);
+
+            return true;
+        }
+    }
+
     public boolean apply_order() throws Exception {
         ProduceshiftorderDto dto = produceshiftorderService.apply_order();
         if(ObjectUtil.isEmpty(dto)){
@@ -122,18 +206,21 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im
         String is_lettering = dto.getIs_lettering();
         //是否套冒
         String is_risking = dto.getIs_risking();
-        //捆扎
+        //是否捆扎
         String is_strapping = dto.getIs_strapping();
-        //裹膜
+        //是否裹膜
         String is_coating =  dto.getIs_coating();
-        //贴标
+        //是否贴标
         String is_labeling = dto.getIs_labeling();
+        //选择上料口
+        String feeding_mouth = dto.getFeeding_mouth();
         String outer_diameter = dto.getOuter_diameter();
         String wall_thickness = dto.getWall_thickness();
         String length = dto.getLength();
         String qty = dto.getQty();
 
         writing(ItemProtocol.item_to_order,order);
+        writing(ItemProtocol.item_to_feeding_mouth,feeding_mouth);
         writing(ItemProtocol.item_to_order_feeding_qty,qty);
         writing(ItemProtocol.item_to_outer_diameter,outer_diameter);
         writing(ItemProtocol.item_to_wall_thickness,wall_thickness);
diff --git a/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_feeding_trunk/ItemProtocol.java b/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_feeding_trunk/ItemProtocol.java
index 3d44d48..d179b14 100644
--- a/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_feeding_trunk/ItemProtocol.java
+++ b/nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_feeding_trunk/ItemProtocol.java
@@ -18,6 +18,8 @@ public class ItemProtocol {
     public static String item_order_feeding_qty = "order_feeding_qty";
     //当前工单明细号上料数量
     public static String item_detail_feeding_qty = "detail_feeding_qty";
+    //当前工单明细号上料合格数量
+    public static String item_detail_feeding_qualified_qty = "detail_feeding_qualified_qty";
     //当前工单明细顺序号刻字数量
     public static String item_detail_lettering_qty = "detail_lettering_qty";
     //当前工单明细顺序号刻字合格数量
@@ -126,6 +128,10 @@ public class ItemProtocol {
         return this.getOpcIntegerValue(item_detail_feeding_qty);
     }
 
+    public int getDetail_feeding_qualified_qty() {
+        return this.getOpcIntegerValue(item_detail_feeding_qualified_qty);
+    }
+
     public int getDetail_lettering_qty() {
         return this.getOpcIntegerValue(item_detail_lettering_qty);
     }
@@ -371,6 +377,7 @@ public class ItemProtocol {
         list.add(new ItemDto(item_last_order_detail, "上次完成工单明细号", "DB600.D12"));
         list.add(new ItemDto(item_order_feeding_qty, "当前工单上料数量", "DB600.D16"));
         list.add(new ItemDto(item_detail_feeding_qty, "当前工单明细号上料数量", "DB600.D20"));
+        list.add(new ItemDto(item_detail_feeding_qualified_qty, "当前工单明细号上料合格数量", "DB600.D120"));
         list.add(new ItemDto(item_detail_lettering_qty, "当前工单明细号刻字数量", "DB600.D24"));
         list.add(new ItemDto(item_detail_lettering_qualified_qty, "当前工单明细号刻字合格数量", "DB600.D28"));
         list.add(new ItemDto(item_detail_risking_qualified_qty, "当前工单明细号套冒合格数", "DB600.D32"));
diff --git a/nladmin-system/src/main/java/org/nl/acs/order/service/ProduceshiftorderdetailService.java b/nladmin-system/src/main/java/org/nl/acs/order/service/ProduceshiftorderdetailService.java
index 8d94490..f3bddc9 100644
--- a/nladmin-system/src/main/java/org/nl/acs/order/service/ProduceshiftorderdetailService.java
+++ b/nladmin-system/src/main/java/org/nl/acs/order/service/ProduceshiftorderdetailService.java
@@ -76,6 +76,8 @@ public interface ProduceshiftorderdetailService {
 
     ProduceshiftorderdetailDto apply_orderDetail(String order);
 
+    ProduceshiftorderdetailDto findOrderDetailFromCache(String order,String detail);
+
     List<ProduceshiftorderdetailDto> findOrderDetailByOrderIdFromCache(String order_id);
 
     List<ProduceshiftorderdetailDto> findOrderDetailByOrderCodeFromCache(String order_code);
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 b8cfb6d..590d2da 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
@@ -45,17 +45,33 @@ public class ProduceshiftorderdetailDto implements Serializable {
     /** 当前捆扎包数 */
     private String present_strap_pack_number;
 
+    /** 当前捆扎数 */
+    private String present_strap_number;
+
     /** 每捆数量 */
     private String strap_number;
 
     /** 捆扎尾料数量 */
     private String strap_tailint_number;
 
-    /** 刻字信息 */
+    /** 图标前刻字信息 */
     private String lettering_message;
 
+    /** 刻字图标类型 */
+    private String lettering_icon_type;
+
+    /** 图标后刻字信息 */
+    private String lettering_message2;
+
+
     /** 当前刻字数量 */
-    private String present_lettering_numer;
+    private String present_lettering_number;
+
+
+
+    /** 贴标模板 */
+    private String labeling_template;
+
 
     /** 贴标信息 */
     private String labeling_message;
@@ -115,8 +131,11 @@ public class ProduceshiftorderdetailDto implements Serializable {
     /** 上料数量 */
     private String feeding_qty;
 
+    /** 当前上料数量 */
+    private String present_feeding_number;
+
     /** 上料合格数量 */
-    private String lettering_qualified_qty;
+    private String feeding_qualified_qty;
 
     /** 上料开始时间 */
     private String feeding_start_time;
@@ -125,7 +144,7 @@ public class ProduceshiftorderdetailDto implements Serializable {
     private String feeding_end_time;
 
     /** 刻字合格数量 */
-    private String qualified_lettering_numer;
+    private String qualified_lettering_number;
 
     /** 刻字开始时间 */
     private String lettering_start_time;
@@ -134,7 +153,7 @@ public class ProduceshiftorderdetailDto implements Serializable {
     private String lettering_finish_time;
 
     /** 当前套冒数量 */
-    private String present_sleeveing_numer;
+    private String present_sleeveing_number;
 
     /** 套冒合格数量 */
     private String qualified_sleeveing_number;
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 25a3392..2b0c89d 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
@@ -303,7 +303,7 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
                 iterator.remove();
             }
         }
-        if (StrUtil.equals(dto.getOrder_id(), "07") || StrUtil.equals(dto.getOrder_id(), "08")) {
+        if (!StrUtil.equals(dto.getOrder_id(), "07") || !StrUtil.equals(dto.getOrder_id(), "08")) {
             order.add(dto);
         }
     }
@@ -622,6 +622,19 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
                     new_jo.put("qty", orderDteail_jo.getString("order_detail_qty"));
                     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_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"));
+                    new_jo.put("qualified_sleeveing_number", orderDteail_jo.getString("qualified_sleeveing_number"));
+                    new_jo.put("present_strap_pack_number", orderDteail_jo.getString("present_strap_pack_number"));
+                    new_jo.put("present_strap_number", orderDteail_jo.getString("present_strap_number"));
+                    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"));
+
                     children.add(new_jo);
                 }
                 jo.put("children", children);
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 9d89141..b15b8db 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
@@ -121,7 +121,7 @@ public class ProduceshiftorderdetailServiceImpl implements Produceshiftorderdeta
                 iterator.remove();
             }
         }
-        if (StrUtil.equals(dto.getOrder_detail_status(), "07") || StrUtil.equals(dto.getOrder_detail_status(), "08")) {
+        if (!StrUtil.equals(dto.getOrder_detail_status(), "07") || !StrUtil.equals(dto.getOrder_detail_status(), "08")) {
             detail.add(dto);
         }
 
@@ -154,7 +154,7 @@ public class ProduceshiftorderdetailServiceImpl implements Produceshiftorderdeta
             map.put("每捆数量", produceshiftorderdetail.getStrap_number());
             map.put("捆扎尾料数量", produceshiftorderdetail.getStrap_tailint_number());
             map.put("刻字信息", produceshiftorderdetail.getLettering_message());
-            map.put("当前刻字数量", produceshiftorderdetail.getPresent_lettering_numer());
+            map.put("当前刻字数量", produceshiftorderdetail.getPresent_lettering_number());
             map.put("贴标信息", produceshiftorderdetail.getLabeling_message());
             map.put("当前贴标数量", produceshiftorderdetail.getPresent_labeling_number());
             map.put("创建者", produceshiftorderdetail.getCreate_by());
@@ -173,13 +173,13 @@ public class ProduceshiftorderdetailServiceImpl implements Produceshiftorderdeta
             map.put("物料长度", produceshiftorderdetail.getLength());
             map.put("工单明细状态", produceshiftorderdetail.getOrder_detail_status());
             map.put("上料数量", produceshiftorderdetail.getFeeding_qty());
-            map.put("上料合格数量", produceshiftorderdetail.getLettering_qualified_qty());
+            map.put("上料合格数量", produceshiftorderdetail.getFeeding_qualified_qty());
             map.put("上料开始时间", produceshiftorderdetail.getFeeding_start_time());
             map.put("上料完成时间", produceshiftorderdetail.getFeeding_end_time());
-            map.put("刻字合格数量", produceshiftorderdetail.getQualified_lettering_numer());
+            map.put("刻字合格数量", produceshiftorderdetail.getQualified_lettering_number());
             map.put("刻字开始时间", produceshiftorderdetail.getLettering_start_time());
             map.put("刻字完成时间", produceshiftorderdetail.getLettering_finish_time());
-            map.put("当前套冒数量", produceshiftorderdetail.getPresent_sleeveing_numer());
+            map.put("当前套冒数量", produceshiftorderdetail.getPresent_sleeveing_number());
             map.put("套冒合格数量", produceshiftorderdetail.getQualified_sleeveing_number());
             map.put("套冒开始时间", produceshiftorderdetail.getSleeveing_start_time());
             map.put("套冒完成时间", produceshiftorderdetail.getSleeveing_finish_time());
@@ -276,10 +276,21 @@ public class ProduceshiftorderdetailServiceImpl implements Produceshiftorderdeta
         if(ObjectUtil.isEmpty(order_detail)){
             throw new BadRequestException("未找到处于就绪状态的工单明细!");
         }
-
         return order_detail;
     }
 
+    @Override
+    public ProduceshiftorderdetailDto findOrderDetailFromCache(String order,String detail) {
+        Iterator var3 = this.detail.iterator();
+        while (var3.hasNext()) {
+            ProduceshiftorderdetailDto onedetail = (ProduceshiftorderdetailDto) var3.next();
+            if (StrUtil.equals(onedetail.getOrder_code(), order) && StrUtil.equals(onedetail.getOrder_detail_code(), detail) ) {
+                return onedetail;
+            }
+        }
+        return null;
+    }
+
     @Override
     public Boolean isLastOrderDetail(String order) {
         List<ProduceshiftorderdetailDto> list = new ArrayList<>();
diff --git a/nladmin-system/src/main/java/org/nl/acs/order/service/impl/Test.java b/nladmin-system/src/main/java/org/nl/acs/order/service/impl/Test.java
new file mode 100644
index 0000000..b7718ba
--- /dev/null
+++ b/nladmin-system/src/main/java/org/nl/acs/order/service/impl/Test.java
@@ -0,0 +1,29 @@
+package org.nl.acs.order.service.impl;
+
+public class Test {
+
+    public static void main(String[] args) {
+
+        Process printProcess;
+        String printName ="HP LaserJet Pro MFP M225-M226 PCL 6";
+
+        try
+        {
+            printProcess = Runtime
+                    .getRuntime()
+                    .exec(new String[] {
+                            "C:\\Users\\noblelift\\Desktop\\条码标签设计软件和打印程序\\BarcodePrint\\BarcodePrint.exe",
+                            "PrinterName=" + printName,
+                            "LabelName=Label.ct", "Text5="+ "111","Text6="+"222","Text7="+"333","Text8="+"444"});
+        }
+        catch (Exception e)
+        {
+            System.out.println("aaa");
+
+        }
+
+
+    }
+
+
+}
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 cc1c2fd128f807d5cb506d12e7f86589ec91f8c0..848ea71897b220ac18ac376d965f66661d7844c6 100644
GIT binary patch
delta 53799
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

delta 19595
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