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 findOrderDetailByOrderIdFromCache(String order_id); List 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 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 cc1c2fd..848ea71 100644 Binary files a/nladmin-system/src/main/java/org/nl/acs/order/service/wql/order.xls and b/nladmin-system/src/main/java/org/nl/acs/order/service/wql/order.xls differ