From 94a1a69ee168a77e32acd2e18ee5a19727835a6e Mon Sep 17 00:00:00 2001
From: zhoujj <1549112868@qq.com>
Date: Fri, 20 Dec 2024 16:04:34 +0800
Subject: [PATCH] =?UTF-8?q?rev=20=E6=9B=B4=E6=96=B0=E5=B7=A5=E5=8D=95?=
=?UTF-8?q?=E5=92=8C=E6=89=93=E5=8D=B0=E6=9C=BA=E9=A9=B1=E5=8A=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
acs/nladmin-system/nlsso-server/pom.xml | 30 +-
.../CartonLabelingMachineDeviceDriver.java | 327 ++++++++++++++----
.../common/mnt/websocket/SendPrintSocket.java | 4 +
.../system/service/tickets/dto/Tickets.java | 4 +
.../service/tickets/dto/TicketsDto.java | 2 +
.../tickets/impl/TicketsServiceImpl.java | 38 +-
acs/nladmin-ui/src/views/acs/order/index.vue | 80 ++++-
.../src/views/acs/order/template.vue | 22 +-
8 files changed, 404 insertions(+), 103 deletions(-)
diff --git a/acs/nladmin-system/nlsso-server/pom.xml b/acs/nladmin-system/nlsso-server/pom.xml
index 5f28977..4f4c653 100644
--- a/acs/nladmin-system/nlsso-server/pom.xml
+++ b/acs/nladmin-system/nlsso-server/pom.xml
@@ -49,7 +49,18 @@
tlog-all-spring-boot-starter
1.5.0
-
+
+
+ commons-httpclient
+ commons-httpclient
+ 3.1
+
+
+ org.freemarker
+ freemarker
+ 2.3.32
+ compile
+
org.fusesource.jansi
@@ -69,6 +80,23 @@
ojdbc5
11.2.0.4
+
+ com.github.magese
+ ik-analyzer
+ ${lucene.version}
+
+
+
+ com.github.oshi
+ oshi-core
+ 5.0.1
+
+
+
+ com.github.whvcse
+ easy-captcha
+ 1.6.2
+
diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/conveyor/carton_labeling_machine/CartonLabelingMachineDeviceDriver.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/conveyor/carton_labeling_machine/CartonLabelingMachineDeviceDriver.java
index e911c73..12a9100 100644
--- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/conveyor/carton_labeling_machine/CartonLabelingMachineDeviceDriver.java
+++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/conveyor/carton_labeling_machine/CartonLabelingMachineDeviceDriver.java
@@ -153,8 +153,8 @@ public class CartonLabelingMachineDeviceDriver extends AbstractOpcDeviceDriver i
status = this.itemProtocol.getStatus();
error = this.itemProtocol.getError();
move = this.itemProtocol.getMove();
- weight=this.itemProtocol.getWeight();
- if(mode != last_mode){
+ weight = this.itemProtocol.getWeight();
+ if (mode != last_mode) {
requireSucess = false;
}
} catch (Exception var17) {
@@ -179,8 +179,114 @@ public class CartonLabelingMachineDeviceDriver extends AbstractOpcDeviceDriver i
if (mode == 8 && move == 1 && !requireSucess) {
//TODO:将贴标信息下发,并反馈200
- JSONObject template= ticketsMapper.template();
+ JSONObject template = ticketsMapper.template();
String jsonString = template.toString();
+ Tickets tickets = ticketsMapper.ticket();
+ //客户
+ String customer = tickets.getCustomer();
+ //纸箱装瓶数量
+ String carton_qty = tickets.getCarton_qty();
+ //计划数量
+ String planned_quantity = tickets.getPlanned_quantity();
+ //晶科每罐重量
+ String bottle_weight=null;
+ Integer bottle_weight1=0;
+ //当前纸箱完成数量
+ String fcarton_number = tickets.getFcarton_number();
+ Integer fcarton_number1 = Integer.parseInt(fcarton_number);
+ Integer planned_quantity1 = Integer.parseInt(planned_quantity);
+ Integer carton_qty1=Integer.parseInt(carton_qty);
+// Float carton_qty1 = Float.parseFloat(carton_qty);
+ //总纸箱数
+ Integer sum_carton1 = (planned_quantity1+carton_qty1-1)/carton_qty1;
+ //总纸箱数(Integer)
+ //纸箱号
+ String carton_number = tickets.getCarton_number();
+ //瓶盖号
+ String bottle_number = tickets.getBottle_number();
+ //物料条码(瓶盖数据去掉后四位)
+ String material_number = null;
+ //纸箱前18位
+ String first_number = null;
+ //纸箱后2位
+ String last_number = null;
+ String zx1= "";
+ String zx2= "";
+ Integer last_number1 = 0;
+ //当前箱数
+ Integer real_carton = fcarton_number1;
+ if (customer.contains("晶科")) {
+ bottle_weight=tickets.getBottle_weight();
+ //
+ String last_number5="";
+ bottle_weight1=Integer.parseInt(bottle_weight);
+ //物料条码(瓶盖数据去掉后四位)
+ material_number = bottle_number.substring(0, 19);
+ first_number = carton_number.substring(0, 18);
+ zx1=carton_number.substring(18, 20);
+ zx2=carton_number.substring(20, 31);
+ last_number = carton_number.substring(31, 33);
+ last_number1 = Integer.parseInt(last_number);
+ last_number1 = last_number1 - fcarton_number1;
+ log.info("当前纸箱尾数{}",last_number1);
+ if (last_number1 > 9) {
+ last_number5 = String.valueOf(last_number1);
+ } else {
+ last_number5 = "0" + String.valueOf(last_number1);
+ }
+ last_number=last_number5;
+ }
+ //晶澳纸箱数据
+ String janumber = "";
+ if (customer.contains("晶澳")) {
+ //纸箱前16位
+ first_number = carton_number.substring(0, 16);
+ //纸箱后3位
+ last_number = carton_number.substring(16, 19);
+ if (fcarton_number1 == 0) {
+ Integer sum_number = sum_carton1 * carton_qty1;
+ Integer last1_number1 = carton_qty1 - (sum_number - planned_quantity1);
+
+// Integer last1_number1 = Integer.valueOf(String.valueOf(last1_number));
+ for (Integer i = 0; i < last1_number1; i++) {
+ Integer last_number2 = 0;
+ last_number2 = Integer.parseInt(last_number);
+ String last_number3 = String.valueOf(last_number2);
+ if (last_number2 > 100) {
+ last_number2 = (last_number2 - carton_qty1*1) + i+2;
+ last_number3 = String.valueOf(last_number2);
+ last_number3 = last_number3 + String.valueOf(last_number2) + ",2;";
+ janumber=janumber+first_number+last_number3;
+ } else if (last_number2 > 10) {
+ last_number2 = (last_number2 - carton_qty1*1) + i+2;
+ last_number3 = last_number3 + "0" + String.valueOf(last_number2) + ",2;";
+ janumber=janumber+first_number+last_number3;
+ } else if (last_number2 > 0) {
+ last_number2 = (last_number2 - carton_qty1*1) + i+2;
+ last_number3 = last_number3 + "00" + String.valueOf(last_number2) + ",2;";
+ janumber=janumber+first_number+last_number3;
+ }
+ }
+ } else {
+ for (Integer i = 0; i < carton_qty1; i++) {
+ Integer last_number2 = Integer.parseInt(last_number);
+ last_number2=(sum_carton1-real_carton-1)*10+i+1;
+ String last_number3 = String.valueOf(last_number2);
+ if (last_number2 > 100) {
+ last_number3 = last_number3 + String.valueOf(last_number2) + ",2;";
+ janumber=janumber+first_number+last_number3;
+ }else if (last_number2 > 10) {
+ last_number3 = last_number3 + "0" + String.valueOf(last_number2) + ",2;";
+ janumber=janumber+first_number+last_number3;
+ } else if (last_number2 > 0) {
+ last_number3 = last_number3 + "00" + String.valueOf(last_number2) + ",2;";
+ janumber=janumber+first_number+last_number3;
+ }
+ }
+ }
+ }
+// String sum_carton1=String.valueOf(sum_carton);
+// String real_carton1=String.valueOf(real_carton);
ObjectMapper objectMapper = new ObjectMapper();
// 解析外部 JSON 字符串,获取 "template" 字段的值
JsonNode rootNode = objectMapper.readTree(jsonString);
@@ -197,29 +303,74 @@ public class CartonLabelingMachineDeviceDriver extends AbstractOpcDeviceDriver i
for (int i = 0; i < printElements.size(); i++) {
JSONObject printElement = printElements.getJSONObject(i);
JSONObject options = printElement.getJSONObject("options");
- if(options.containsKey("testData")){
- if(options.get("testData").equals("date")){
+ if (options.containsKey("testData")) {
+ if (options.get("testData").equals("date")) {
LocalDate currentDate = LocalDate.now();
- options.put("title","日期: "+currentDate);
- printElement.put("options",options);
+ options.put("title", "日期: " + currentDate);
+ printElement.put("options", options);
}
- if(options.get("testData").equals("weight")){
- options.put("title","重量: "+weight+"kg");
- printElement.put("options",options);
+ if (options.get("testData").equals("weight")) {
+ options.put("title", "重量: " + weight + "kg");
+ printElement.put("options", options);
}
- if(options.get("testData").equals("time")){
+ if (options.get("testData").equals("number")) {
+ real_carton=real_carton+1;
+ options.put("title", sum_carton1 + "——" + real_carton);
+ printElement.put("options", options);
+ }
+ if (options.get("testData").equals("纸箱号")) {
+ log.info("纸箱号{}{}", first_number, last_number);
+ String number="";
+ if(fcarton_number1==0){
+ number = first_number + zx1+zx2+last_number;
+ }else{
+ number = first_number +bottle_weight1*carton_qty1 +zx2+last_number;
+ }
+ options.put("title", number);
+ options.put("testData", number);
+ printElement.put("options", options);
+ }
+ if (options.get("testData").equals("晶澳纸箱号")) {
+ log.info("晶澳纸箱号{}{}",janumber);
+ String number = janumber;
+ options.put("testData", number);
+ printElement.put("options", options);
+ }
+ if (options.get("testData").equals("物料号")) {
+ log.info("物料号{}", material_number);
+ options.put("title", material_number);
+ options.put("testData", material_number);
+ printElement.put("options", options);
+ }
+ if (options.get("testData").equals("time")) {
LocalTime currentTime = LocalTime.now();
- options.put("title","时间: "+ currentTime.getHour() + ":" + currentTime.getMinute() + ":" + currentTime.getSecond());
- printElement.put("options",options);
+ String minute="";
+ String second="";
+ if(currentTime.getMinute()<10){
+ minute="0"+currentTime.getMinute();
+ }else{
+ minute=String.valueOf(currentTime.getMinute());
+ }
+ if(currentTime.getSecond()<10){
+ second="0"+currentTime.getSecond();
+ }else{
+ second=String.valueOf(currentTime.getSecond());
+ }
+ options.put("title", "时间: " + currentTime.getHour() + ":" + minute + ":" + second);
+ printElement.put("options", options);
}
- }else{
+ } else {
continue;
}
}
jsonObject.put("type", 2);
- requireSucess=true;
+ requireSucess = true;
log.info("纸箱打印数据: " + jsonObject.toString());
- SendPrintSocket.sendPrint(jsonObject.toString());
+ Integer fcarton_number2 = fcarton_number1 + 1;
+ String fcarton_number3 = String.valueOf(fcarton_number2);
+ tickets.setFcarton_number(fcarton_number3);
+ ticketsMapper.updateById(tickets);
+ SendPrintSocket.sendPrint(jsonObject.toString());
Map map = new HashMap();
map.put("to_command", 200);
this.writing(map);
@@ -228,70 +379,98 @@ public class CartonLabelingMachineDeviceDriver extends AbstractOpcDeviceDriver i
}
if (mode == 7 && move == 1 && !requireSucess) {
//TODO:将贴标信息下发,并反馈200
- JSONObject template= ticketsMapper.template1();
- Tickets tickets=ticketsMapper.ticket();
- String bottle_number=tickets.getBottle_number();
- String fbottle_number=tickets.getFbottle_number();
- Integer fbottle_number1=Integer.parseInt(fbottle_number);
- String psletters = bottle_number.substring(0,18);
- String psdigits = bottle_number.substring(18,23);
- Integer psdigits1=Integer.parseInt(psdigits)-fbottle_number1;
- String jsonString = template.toString();
- ObjectMapper objectMapper = new ObjectMapper();
- // 解析外部 JSON 字符串,获取 "template" 字段的值
- JsonNode rootNode = objectMapper.readTree(jsonString);
- String templateJson = rootNode.get("template").asText();
- // 解析嵌套的 "template" 字符串为 JSON 对象
- JsonNode templateNode = objectMapper.readTree(templateJson);
- // 输出 panels 数据
- JSONObject jsonObject = JSONObject.parseObject(templateNode.toString());
- // 获取 panels 数组
- JSONArray panels = jsonObject.getJSONArray("panels");
- JSONObject panel = panels.getJSONObject(0);
- // 获取 printElements 数组
- JSONArray printElements = panel.getJSONArray("printElements");
- for (int i = 0; i < printElements.size(); i++) {
- JSONObject printElement = printElements.getJSONObject(i);
- JSONObject options = printElement.getJSONObject("options");
- if(options.containsKey("testData")){
- if(options.get("title").equals("二维码")){
- String number1=psletters+psdigits1;
- options.put("testData",number1);
- printElement.put("options",options);
- }
- else if(options.get("testData").equals("瓶号")){
- String number1=psletters+psdigits1;
- options.put("title",number1);
- printElement.put("options",options);
+ JSONObject template = ticketsMapper.template1();
+ Tickets tickets = ticketsMapper.ticket();
+ String customer = tickets.getCustomer();
+ String bottle_number = tickets.getBottle_number();
+ String fbottle_number = tickets.getFbottle_number();
+ Integer fbottle_number1 = Integer.parseInt(fbottle_number);
+ String plan_qty=tickets.getPlanned_quantity();
+ Integer plan_qty1=Integer.parseInt(plan_qty);
+ String psletters = null;
+ String psdigits = null;
+ Integer psdigits1 = 0;
+ if (customer.contains("晶科")) {
+ psletters = bottle_number.substring(0, 18);
+ psdigits = bottle_number.substring(18, 23);
+ psdigits1 = Integer.parseInt(psdigits) - fbottle_number1;
+
+ }
+ if (customer.contains("晶澳")) {
+ psletters = bottle_number.substring(0, bottle_number.length()-5);
+ psdigits = bottle_number.substring(bottle_number.length()-5, bottle_number.length()-2);
+ if (Integer.parseInt(psdigits) >= 100) {
+ psdigits1 = Integer.parseInt(psdigits) - fbottle_number1-plan_qty1;
+ psdigits = String.valueOf(psdigits1);
+ } else if (Integer.parseInt(psdigits) >= 10) {
+ psdigits1 = Integer.parseInt(psdigits) - fbottle_number1-plan_qty1;
+ psdigits = "0" + String.valueOf(psdigits1);
+ } else if (Integer.parseInt(psdigits) >= 0) {
+ psdigits1 = Integer.parseInt(psdigits) - fbottle_number1-plan_qty1;
+ psdigits = "00" + String.valueOf(psdigits1);
+ }
+ }
+ String jsonString = template.toString();
+ ObjectMapper objectMapper = new ObjectMapper();
+ // 解析外部 JSON 字符串,获取 "template" 字段的值
+ JsonNode rootNode = objectMapper.readTree(jsonString);
+ String templateJson = rootNode.get("template").asText();
+ // 解析嵌套的 "template" 字符串为 JSON 对象
+ JsonNode templateNode = objectMapper.readTree(templateJson);
+ // 输出 panels 数据
+ JSONObject jsonObject = JSONObject.parseObject(templateNode.toString());
+ // 获取 panels 数组
+ JSONArray panels = jsonObject.getJSONArray("panels");
+ JSONObject panel = panels.getJSONObject(0);
+ // 获取 printElements 数组
+ JSONArray printElements = panel.getJSONArray("printElements");
+ for (int i = 0; i < printElements.size(); i++) {
+ JSONObject printElement = printElements.getJSONObject(i);
+ JSONObject options = printElement.getJSONObject("options");
+ if (options.containsKey("testData")) {
+ if (options.get("title").equals("晶科二维码")) {
+ String number1 = psletters + psdigits1;
+ options.put("testData", number1);
+ options.put("title", "");
+ printElement.put("options", options);
+ } else if (options.get("testData").equals("瓶号")) {
+ String number1 = psletters + psdigits1;
+ options.put("title", number1);
+ printElement.put("options", options);
+ } else if (options.get("testData").equals("晶澳瓶号")) {
+ String number1 = psletters + psdigits;
+ options.put("testData", number1 + ",2");
+ printElement.put("options", options);
+ }
+ } else {
+ continue;
}
- }else{
- continue;
}
+ jsonObject.put("type", 1);
+ requireSucess = true;
+ // 输出 panels 数据
+ SendPrintSocket.sendPrint(jsonObject.toString());
+ log.info("瓶盖打印数据: " + jsonObject.toString());
+ fbottle_number1 = fbottle_number1 + 1;
+ String fbottle_number2 = String.valueOf(fbottle_number1);
+ tickets.setFbottle_number(fbottle_number2);
+ ticketsMapper.updateById(tickets);
+ Map map = new HashMap();
+ map.put("to_command", 200);
+ map.put("to_message", "");
+ this.writing(map);
+ } else {
+ message = "无请求";
}
- jsonObject.put("type", 1);
- requireSucess=true;
- fbottle_number1=fbottle_number1+1;
- String fbottle_number2=String.valueOf(fbottle_number1);
- // 输出 panels 数据
- SendPrintSocket.sendPrint(jsonObject.toString());
- log.info("瓶盖打印数据: " + jsonObject.toString());
- tickets.setFbottle_number(fbottle_number2);
- ticketsMapper.updateById(tickets);
- Map map = new HashMap();
- map.put("to_command", 200);
- map.put("to_message","");
- this.writing(map);
- } else {
- message = "无请求";
}
+
+ last_mode = mode;
+ last_error = error;
+ last_move = move;
+ last_task = task;
+ last_weight = weight;
}
- last_mode = mode;
- last_error = error;
- last_move = move;
- last_task = task;
- last_weight = weight;
- }
public boolean exe_error() {
diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/common/mnt/websocket/SendPrintSocket.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/common/mnt/websocket/SendPrintSocket.java
index 1a961b5..092cf8e 100644
--- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/common/mnt/websocket/SendPrintSocket.java
+++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/common/mnt/websocket/SendPrintSocket.java
@@ -17,6 +17,7 @@ package org.nl.common.mnt.websocket;
import com.alibaba.fastjson.JSON;
import lombok.extern.slf4j.Slf4j;
+import org.nl.common.exception.BadRequestException;
import org.springframework.stereotype.Component;
import javax.websocket.*;
@@ -100,6 +101,9 @@ public class SendPrintSocket {
ex.printStackTrace();
}
}
+// else {
+// throw new BadRequestException("当前打印系统未连接");
+// }
}
}
diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/tickets/dto/Tickets.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/tickets/dto/Tickets.java
index 145f292..3d8cf57 100644
--- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/tickets/dto/Tickets.java
+++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/tickets/dto/Tickets.java
@@ -49,6 +49,10 @@ public class Tickets {
* 计划数量
*/
private String planned_quantity;
+ /**
+ * 晶科每罐重量
+ */
+ private String bottle_weight;
/**
* 计划开始时间
*/
diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/tickets/dto/TicketsDto.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/tickets/dto/TicketsDto.java
index 437edf9..484df76 100644
--- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/tickets/dto/TicketsDto.java
+++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/tickets/dto/TicketsDto.java
@@ -50,4 +50,6 @@ public class TicketsDto {
private String fbatch_number;
private String fcarton_number;
+
+ private String bottle_weight;
}
diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/tickets/impl/TicketsServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/tickets/impl/TicketsServiceImpl.java
index 72f52f3..9fdf0ae 100644
--- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/tickets/impl/TicketsServiceImpl.java
+++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/tickets/impl/TicketsServiceImpl.java
@@ -68,7 +68,7 @@ public class TicketsServiceImpl extends ServiceImpl impl
.eq("is_delete","1");
wrapper.gt(ObjectUtil.isNotEmpty(param.get("start_time")),"start_time",param.get("start_time"))
.le(ObjectUtil.isNotEmpty(param.get("end_time")),"end_time",param.get("end_time"));
- wrapper.orderByAsc("create_time");
+ wrapper.orderByDesc("create_time");
Page page1 = this.page(new Page<>(page.getPage() + 1, page.getSize()), wrapper);
return page1;
}
@@ -100,6 +100,14 @@ public class TicketsServiceImpl extends ServiceImpl impl
String small_model=(String)param.get("small_model");
String bottle_board=(String)param.get("bottle_board");
String carton_board=(String)param.get("carton_board");
+ if(customer.contains("晶科")){
+ if(bottle_number.length()!=23){
+ throw new BadRequestException("瓶盖号不对");
+ }
+ if(carton_number.length()!=33){
+ throw new BadRequestException("纸箱号不对");
+ }
+ }
Tickets tickets = BeanUtil.copyProperties(param, Tickets.class);
// DateTime parse = DateUtil.parse(tickets.getStart_time());
// DateTime startTime = parse.setTimeZone(TimeZone.getTimeZone(ZoneId.of("Asia/Shanghai")));
@@ -116,33 +124,26 @@ public class TicketsServiceImpl extends ServiceImpl impl
tickets.setFbottle_number("0");
tickets.setFcarton_number("0");
ticketsMapper.insert(tickets);
-// if(StrUtil.isNotBlank(device_code)){
-// Device device = deviceAppService.findDeviceByCode(device_code);
-// if(ObjectUtil.isEmpty(device))throw new BadRequestException("请在系统参数中添加设备");
-// if(device.getDeviceDriver() instanceof PrimaryDeviceConveyorDeviceDriver){
-// PrimaryDeviceConveyorDeviceDriver primary = (PrimaryDeviceConveyorDeviceDriver) device.getDeviceDriver();
-// Map map = new LinkedHashMap<>();
-// map.put("to_order_No", ticket_id);
-// map.put("to_command",100);
-// primary.writing(map);
-// log.info("工单下发成功工单号{}",ticket_id);
-// }
-// }
}
}
@Override
public void submits(Tickets entity) {
Tickets tickets=ticketsMapper.selectById(entity.getTicket_id());
+ Tickets tickets1=ticketsMapper.ticket();
if(entity.getTicket_status().equals("1")){
throw new BadRequestException("当前工单已经下发");
}
+ if(tickets1!=null){
+ throw new BadRequestException("当前已经有正在生产的工单请先结束在下发");
+ }
Device device = deviceAppService.findDeviceByCode("ZPLC");
if(device.getDeviceDriver() instanceof PrimaryDeviceConveyorDeviceDriver) {
PrimaryDeviceConveyorDeviceDriver primary = (PrimaryDeviceConveyorDeviceDriver) device.getDeviceDriver();
Map map = new LinkedHashMap<>();
map.put("to_order_No", entity.getTicket_id());
map.put("to_ice",entity.getIs_ice());
- if(StrUtil.isBlank(entity.getBottle_number())){
+ map.put("to_qty",entity.getPlanned_quantity());
+ if(StrUtil.isBlank(entity.getBottle_board())){
map.put("is_printbottle",0);
}else{
map.put("is_printbottle",1);
@@ -161,6 +162,15 @@ public class TicketsServiceImpl extends ServiceImpl impl
if(!entity.getTicket_status().equals("1")){
throw new BadRequestException("当前工单状态不是已开工");
}
+ Device device = deviceAppService.findDeviceByCode("ZPLC");
+ if(device.getDeviceDriver() instanceof PrimaryDeviceConveyorDeviceDriver) {
+ PrimaryDeviceConveyorDeviceDriver primary = (PrimaryDeviceConveyorDeviceDriver) device.getDeviceDriver();
+ Map map = new LinkedHashMap<>();
+ map.put("to_order_No",0);
+ map.put("to_command",101);
+ primary.writing(map);
+ log.info("工单完成");
+ }
Tickets tickets=ticketsMapper.selectById(entity.getTicket_id());
tickets.setTicket_status("2");
tickets.setActual_end_time(DateUtil.now());
diff --git a/acs/nladmin-ui/src/views/acs/order/index.vue b/acs/nladmin-ui/src/views/acs/order/index.vue
index 447a5e4..b59ca84 100644
--- a/acs/nladmin-ui/src/views/acs/order/index.vue
+++ b/acs/nladmin-ui/src/views/acs/order/index.vue
@@ -84,17 +84,50 @@
-
+
-
-
+
+
+
+
+
+
+ {{ item.template_name }}
+ {{ item.bottle_board }}
+
+
-
+
+
+ {{ item.template_name }}
+ {{ item.carton_board }}
+
+
@@ -137,13 +170,13 @@
-
+
-
+
@@ -175,9 +208,9 @@
-
+
-
+
@@ -235,6 +268,7 @@ import deviceCrud from '@/api/acs/device/device'
import routeCurd from '@/api/acs/route/routePlan'
import { getDicts } from '@/views/system/dict/dict'
import MaterialDialog from '@/views/acs/order/MaterialDialog.vue'
+import template from '@/api/acs/order/template'
export default {
name: 'Tickets',
components: { MaterialDialog,pagination, crudOperation, rrOperation },
@@ -261,6 +295,7 @@ export default {
materialList: [],
statusList: [],
routeList: [],
+
flag: 1,
materialDialog: false,
fullscreenLoading: false,
@@ -276,6 +311,8 @@ export default {
toYList: [],
toZList: [],
operate: [],
+ templateList: [],
+ templateList1: [],
start_flag: false,
end_flag: false,
permission: {
@@ -291,11 +328,14 @@ export default {
form: {
ticket_id: null,
batch_number: null,
+ bottle_weight: null,
device_code: null,
production_orders: null,
production_materials: null,
planned_quantity: null,
bottle_number: null,
+ templateList: [],
+ templateList1: [],
carton_number: null,
carton_form: null,
carton_qty: null,
@@ -312,6 +352,7 @@ export default {
form1: {
ticket_id: null,
batch_number: null,
+ bottle_weight: null,
device_code: null,
production_orders: null,
production_materials: null,
@@ -382,6 +423,12 @@ export default {
deviceCrud.selectDeviceList().then(data => {
this.deviceList = data
})
+ template.getTemplateList().then(data => {
+ this.templateList = data
+ })
+ template.getTemplateList1().then(data => {
+ this.templateList1 = data
+ })
routeCurd.selectList().then(data => {
this.routeList = data
})
@@ -403,6 +450,17 @@ export default {
updateIsIce1() {
this.form1.weight_ok = this.concatenatedValue1
},
+ // getTemplateList() {
+ // console.log("111");
+ // template.getTemplateList().then(data => {
+ // this.templateList = data
+ // })
+ // },
+ // getTemplateList1() {
+ // template.getTemplateList1().then(data => {
+ // this.templateList1 = data
+ // })
+ // },
getMaterial(flag) {
this.materialDialog = true
this.flag = flag
@@ -431,9 +489,10 @@ export default {
this.form.production_materials=row.production_materials
this.form.large_model=row.large_model
this.form.small_model=row.small_model
- this.form.planned_quantity=row.weight
+ this.form.planned_quantity=row.sum_qty
this.form.bottle_number=row.bottle_number
this.form.carton_number=row.carton_number
+ this.form.carton_qty=row.carton_qty
}
},
handleDateTimeChange() {
@@ -513,6 +572,7 @@ export default {
ticket_id: null,
device_code: null,
batch_number: null,
+ bottle_weight: null,
production_orders: null,
production_materials: null,
planned_quantity: null,
@@ -527,6 +587,8 @@ export default {
customer: null,
is_ice: null,
is_labeling: null,
+ templateList: [],
+ templateList1: [],
weight_ok: null,
ticket_status: null
}
diff --git a/acs/nladmin-ui/src/views/acs/order/template.vue b/acs/nladmin-ui/src/views/acs/order/template.vue
index 28e3da4..e45030a 100644
--- a/acs/nladmin-ui/src/views/acs/order/template.vue
+++ b/acs/nladmin-ui/src/views/acs/order/template.vue
@@ -39,7 +39,7 @@
v-model="templateId"
filterable
placeholder="请选择瓶盖模板"
- style="width: 150px;"
+ style="width: 250px;"
@change="getTemplateById"
>
{
+ try {
+ this.hiprintTemplate.update(JSON.parse(res.template))
+ } catch (e) {
+ this.$message.error(`更新失败: ${e}`)
+ }
+ })
+ // }
+ },
otherPaper() {
this.hiprintTemplate.setPaper(this.paperWidth, this.paperHeight)