1
This commit is contained in:
27
acs/produceshiftorderdetail.js
Normal file
27
acs/produceshiftorderdetail.js
Normal file
@@ -0,0 +1,27 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function add(data) {
|
||||
return request({
|
||||
url: 'api/produceshiftorderdetail',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function del(ids) {
|
||||
return request({
|
||||
url: 'api/produceshiftorderdetail/',
|
||||
method: 'delete',
|
||||
data: ids
|
||||
})
|
||||
}
|
||||
|
||||
export function edit(data) {
|
||||
return request({
|
||||
url: 'api/produceshiftorderdetail',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export default { add, edit, del }
|
||||
@@ -19,13 +19,6 @@
|
||||
<elasticsearch.version>7.6.1</elasticsearch.version>
|
||||
</properties>
|
||||
<dependencies>
|
||||
|
||||
<dependency>
|
||||
<groupId>net.logstash.logback</groupId>
|
||||
<artifactId>logstash-logback-encoder</artifactId>
|
||||
<version>6.6</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Excel打印-->
|
||||
<dependency>
|
||||
<groupId>e-iceblue</groupId>
|
||||
@@ -33,23 +26,31 @@
|
||||
<version>3.11.2</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>net.logstash.logback</groupId>
|
||||
<artifactId>logstash-logback-encoder</artifactId>
|
||||
<version>6.6</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.mongodb</groupId>
|
||||
<artifactId>mongo-java-driver</artifactId>
|
||||
<version>3.4.2</version>
|
||||
</dependency>
|
||||
<!--
|
||||
<dependency>
|
||||
<groupId>ch.qos.logback</groupId>
|
||||
<artifactId>logback-core</artifactId>
|
||||
<version>1.1.11</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ch.qos.logback</groupId>
|
||||
<artifactId>logback-classic</artifactId>
|
||||
<version>1.1.11</version>
|
||||
</dependency>
|
||||
-->
|
||||
<!--
|
||||
<dependency>
|
||||
<groupId>ch.qos.logback</groupId>
|
||||
<artifactId>logback-core</artifactId>
|
||||
<version>1.1.11</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ch.qos.logback</groupId>
|
||||
<artifactId>logback-classic</artifactId>
|
||||
<version>1.1.11</version>
|
||||
</dependency>
|
||||
-->
|
||||
|
||||
|
||||
|
||||
@@ -70,14 +71,6 @@
|
||||
<artifactId>spring-boot-starter-data-mongodb</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- ip地址解析-->
|
||||
<dependency>
|
||||
<groupId>net.dreamlu</groupId>
|
||||
<artifactId>mica-ip2region</artifactId>
|
||||
<version>2.5.6</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.openscada.utgard</groupId>
|
||||
<artifactId>org.openscada.opc.lib</artifactId>
|
||||
@@ -270,6 +263,7 @@
|
||||
<artifactId>exec-maven-plugin</artifactId>
|
||||
<version>1.6.0</version>
|
||||
<!-- <executions>-->
|
||||
|
||||
<!-- <execution>-->
|
||||
<!-- <goals>-->
|
||||
<!-- <goal>java</goal>-->
|
||||
@@ -310,25 +304,26 @@
|
||||
</testResources>-->
|
||||
</build>
|
||||
|
||||
<!-- <repositories>
|
||||
<repository>
|
||||
<id>public</id>
|
||||
<name>aliyun nexus</name>
|
||||
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
|
||||
<releases>
|
||||
<enabled>true</enabled>
|
||||
</releases>
|
||||
</repository>
|
||||
</repositories>-->
|
||||
|
||||
<!--<repository>
|
||||
<id>nexus</id>
|
||||
<name>aliyun nexus</name>
|
||||
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
|
||||
<releases>
|
||||
<enabled>true</enabled>
|
||||
</releases>
|
||||
</repository>
|
||||
</repositories>-->
|
||||
<repositories>
|
||||
<repository>
|
||||
<!-- Maven 自带的中央仓库使用的Id为central 如果其他的仓库声明也是用该Id
|
||||
就会覆盖中央仓库的配置 --> <id>mvnrepository</id>
|
||||
<name>mvnrepository</name>
|
||||
<url>http://www.mvnrepository.com/</url>
|
||||
<layout>default</layout>
|
||||
<releases>
|
||||
<enabled>true</enabled>
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>false</enabled>
|
||||
</snapshots>
|
||||
</repository>
|
||||
|
||||
<repository>
|
||||
<id>com.e-iceblue</id>
|
||||
<url>http://repo.e-iceblue.cn/repository/maven-public/</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
</project>
|
||||
|
||||
|
||||
@@ -13,6 +13,7 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.acs.config.server.AcsConfigService;
|
||||
import org.nl.acs.device.device_driver.standard_inspect.ItemDto;
|
||||
import org.nl.acs.device.device_driver.standard_inspect.ReadUtil;
|
||||
import org.nl.acs.device.service.*;
|
||||
import org.nl.acs.device.service.dto.*;
|
||||
@@ -1170,14 +1171,14 @@ public class DeviceServiceImpl implements DeviceService, ApplicationAutoInitial
|
||||
|
||||
//根据设备驱动定义获取OPC读写数据
|
||||
DeviceDriverDefination deviceDriverDefination = deviceDriverDefinationAppService.getDeviceDriverDefination(driver_code);
|
||||
OpcDeviceDriverDefination opcDeviceDriverDefination = null;
|
||||
if (deviceDriverDefination instanceof OpcDeviceDriverDefination) {
|
||||
OpcDeviceDriverDefination opcDeviceDriverDefination = (OpcDeviceDriverDefination) deviceDriverDefination;
|
||||
opcDeviceDriverDefination = (OpcDeviceDriverDefination) deviceDriverDefination;
|
||||
//处理DB读和写属性
|
||||
result.put("rs", opcDeviceDriverDefination.getReadableItemDtos());
|
||||
result.put("ws", opcDeviceDriverDefination.getWriteableItemDtos());
|
||||
}
|
||||
|
||||
|
||||
JSONArray arr = WQLObject.getWQLObject("acs_device_extra").query("filed_type ='01' and device_id = '" + device_id + "'").getResultJSONArray(0);
|
||||
|
||||
for (int i = 0; i < arr.size(); i++) {
|
||||
@@ -1194,7 +1195,7 @@ public class DeviceServiceImpl implements DeviceService, ApplicationAutoInitial
|
||||
result.put("form", extraObj);
|
||||
|
||||
|
||||
JSONObject json = (JSONObject) JSONObject.toJSON(dto);
|
||||
JSONObject json = (JSONObject) JSONObject.toJSON(dto);
|
||||
|
||||
|
||||
String opc_id = dto.getOpc_server_id();
|
||||
@@ -1224,35 +1225,111 @@ public class DeviceServiceImpl implements DeviceService, ApplicationAutoInitial
|
||||
//设备扩展表【acs_device_extra】
|
||||
JSONArray rs = WQLObject.getWQLObject("acs_device_extra").query("filed_type='02' and device_id = '" + device_id + "'", "order_seq").getResultJSONArray(0);
|
||||
JSONArray r_arry = new JSONArray();
|
||||
for (int i = 0; i < rs.size(); i++) {
|
||||
JSONObject robj = new JSONObject();
|
||||
robj.put("code", rs.getJSONObject(i).getString("extra_code"));
|
||||
robj.put("name", rs.getJSONObject(i).getString("remark"));
|
||||
robj.put("db", rs.getJSONObject(i).getString("extra_name"));
|
||||
r_arry.add(robj);
|
||||
//先获取模板
|
||||
if(ObjectUtil.isNotEmpty(opcDeviceDriverDefination)){
|
||||
List<ItemDto> readableItemDtos = opcDeviceDriverDefination.getReadableItemDtos();
|
||||
List<JSONObject> readableItemJsons = new ArrayList<>();
|
||||
for (int i = 0; i < readableItemDtos.size(); i++) {
|
||||
ItemDto itemDto = readableItemDtos.get(i);
|
||||
JSONObject readableItemJson = new JSONObject();
|
||||
readableItemJson.put("code",itemDto.getCode());
|
||||
readableItemJson.put("name",itemDto.getName());
|
||||
// readableItemJson.put("db",itemDto.getDb());
|
||||
readableItemJsons.add(readableItemJson);
|
||||
}
|
||||
for (int i = 0; i < rs.size(); i++) {
|
||||
JSONObject robj = new JSONObject();
|
||||
String extra_code = rs.getJSONObject(i).getString("extra_code");
|
||||
final String[] split = extra_code.split("\\.");
|
||||
String code = split[split.length - 1];
|
||||
robj.put("code", code);
|
||||
robj.put("name", rs.getJSONObject(i).getString("remark"));
|
||||
if (readableItemJsons.contains(robj)){
|
||||
robj.put("code", rs.getJSONObject(i).getString("extra_code"));
|
||||
robj.put("db", rs.getJSONObject(i).getString("extra_name"));
|
||||
r_arry.add(robj);
|
||||
}
|
||||
}
|
||||
List<JSONObject> rarry = new ArrayList<>();
|
||||
for (int i = 0; i < r_arry.size(); i++) {
|
||||
JSONObject rJson = r_arry.getJSONObject(i);
|
||||
String code = rJson.getString("code");
|
||||
String[] split = code.split("\\.");
|
||||
code = split[split.length - 1];
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("code", code);
|
||||
jsonObject.put("name",rJson.getString("name"));
|
||||
rarry.add(jsonObject);
|
||||
}
|
||||
for (int i = 0; i < readableItemDtos.size(); i++) {
|
||||
ItemDto itemDto = readableItemDtos.get(i);
|
||||
JSONObject readableItemJson = new JSONObject();
|
||||
readableItemJson.put("code",itemDto.getCode());
|
||||
readableItemJson.put("name",itemDto.getName());
|
||||
if (!rarry.contains(readableItemJson)){
|
||||
readableItemJson.put("db",itemDto.getDb());
|
||||
r_arry.add(readableItemJson);
|
||||
}
|
||||
}
|
||||
JSONArray ws = WQLObject.getWQLObject("acs_device_extra").query("filed_type='03' and device_id = '" + device_id + "'", "order_seq").getResultJSONArray(0);
|
||||
JSONArray w_arry = new JSONArray();
|
||||
List<ItemDto> writeableItemDtos = opcDeviceDriverDefination.getWriteableItemDtos();
|
||||
List<JSONObject> writeableItemJsons = new ArrayList<>();
|
||||
for (int i = 0; i < writeableItemDtos.size(); i++) {
|
||||
ItemDto itemDto = writeableItemDtos.get(i);
|
||||
JSONObject writeableItemJson = new JSONObject();
|
||||
writeableItemJson.put("code",itemDto.getCode());
|
||||
writeableItemJson.put("name",itemDto.getName());
|
||||
//writeableItemJson.put("db",itemDto.getDb());
|
||||
writeableItemJsons.add(writeableItemJson);
|
||||
}
|
||||
for (int i = 0; i < ws.size(); i++) {
|
||||
String extra_code = ws.getJSONObject(i).getString("extra_code");
|
||||
final String[] split = extra_code.split("\\.");
|
||||
String code = split[split.length - 1];
|
||||
JSONObject robj = new JSONObject();
|
||||
robj.put("code", code);
|
||||
robj.put("name", ws.getJSONObject(i).getString("remark"));
|
||||
if (writeableItemJsons.contains(robj)){
|
||||
robj.put("code", ws.getJSONObject(i).getString("extra_code"));
|
||||
robj.put("db", ws.getJSONObject(i).getString("extra_name"));
|
||||
w_arry.add(robj);
|
||||
}
|
||||
}
|
||||
List<JSONObject> warry = new ArrayList<>();
|
||||
for (int i = 0; i < w_arry.size(); i++) {
|
||||
JSONObject wJson = w_arry.getJSONObject(i);
|
||||
String code = wJson.getString("code");
|
||||
String[] split = code.split("\\.");
|
||||
code = split[split.length - 1];
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("code",code);
|
||||
jsonObject.put("name",wJson.getString("name"));
|
||||
warry.add(jsonObject);
|
||||
}
|
||||
for (int i = 0; i < writeableItemDtos.size(); i++) {
|
||||
ItemDto itemDto = writeableItemDtos.get(i);
|
||||
JSONObject writeableItemJson = new JSONObject();
|
||||
writeableItemJson.put("code",itemDto.getCode());
|
||||
writeableItemJson.put("name",itemDto.getName());
|
||||
if (!warry.contains(writeableItemJson)){
|
||||
writeableItemJson.put("db",itemDto.getDb());
|
||||
w_arry.add(writeableItemJson);
|
||||
}
|
||||
}
|
||||
if (!r_arry.isEmpty()) {
|
||||
result.put("rs", r_arry);
|
||||
}
|
||||
if (!w_arry.isEmpty()) {
|
||||
result.put("ws", w_arry);
|
||||
}
|
||||
}
|
||||
|
||||
JSONArray ws = WQLObject.getWQLObject("acs_device_extra").query("filed_type='03' and device_id = '" + device_id + "'", "order_seq").getResultJSONArray(0);
|
||||
JSONArray w_arry = new JSONArray();
|
||||
for (int i = 0; i < ws.size(); i++) {
|
||||
JSONObject robj = new JSONObject();
|
||||
robj.put("code", ws.getJSONObject(i).getString("extra_code"));
|
||||
robj.put("name", ws.getJSONObject(i).getString("remark"));
|
||||
robj.put("db", ws.getJSONObject(i).getString("extra_name"));
|
||||
w_arry.add(robj);
|
||||
}
|
||||
|
||||
if (!r_arry.isEmpty()) {
|
||||
result.put("rs", r_arry);
|
||||
}
|
||||
if (!w_arry.isEmpty()) {
|
||||
result.put("ws", w_arry);
|
||||
}
|
||||
|
||||
} else {
|
||||
//处理DB读和写属性
|
||||
/* result.put("rs", ReadUtil.getReadableItemDtos());
|
||||
result.put("ws", ReadUtil.getWriteableItemDtos());*/
|
||||
// result.put("rs", ReadUtil.getReadableItemDtos());
|
||||
// result.put("ws", ReadUtil.getWriteableItemDtos());
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -205,7 +205,7 @@ public class HaiLiangFeedingDeviceDriver extends AbstractOpcDeviceDriver impleme
|
||||
// }
|
||||
dto.setFeeding_finished(status);
|
||||
String now = DateUtil.now();
|
||||
dto.setFeeding_finish_time(now);
|
||||
dto.setFeeding_end_time(now);
|
||||
produceshiftorderdetailService.update(dto);
|
||||
writing(itemProtocol.item_to_command,String.valueOf(mode));
|
||||
requireSucess = true;
|
||||
|
||||
@@ -64,7 +64,6 @@ public class HaiLiangFeedingTrunkDefination implements OpcDeviceDriverDefination
|
||||
list.add(new ItemDto(ItemProtocol.item_last_order_detail, "上次完成工单明细号", "DB600.D14"));
|
||||
list.add(new ItemDto(ItemProtocol.item_order_feeding_qty, "当前工单上料数量", "DB600.D18"));
|
||||
list.add(new ItemDto(ItemProtocol.item_detail_feeding_qty, "当前工单明细号上料数量", "DB600.D22"));
|
||||
list.add(new ItemDto(ItemProtocol.item_detail_feeding_qualified_qty, "当前工单明细号上料合格数量", "DB600.D122"));
|
||||
list.add(new ItemDto(ItemProtocol.item_detail_lettering_qty, "当前工单明细号刻字数量", "DB600.D26"));
|
||||
list.add(new ItemDto(ItemProtocol.item_detail_lettering_qualified_qty, "当前工单明细号刻字合格数量", "DB600.D30"));
|
||||
list.add(new ItemDto(ItemProtocol.item_detail_risking_qualified_qty, "当前工单明细号套冒合格数", "DB600.D34"));
|
||||
@@ -72,7 +71,7 @@ public class HaiLiangFeedingTrunkDefination implements OpcDeviceDriverDefination
|
||||
list.add(new ItemDto(ItemProtocol.item_detail_strapping_qty, "当前工单明细号捆扎包数", "DB600.D42"));
|
||||
list.add(new ItemDto(ItemProtocol.item_detail_strapping_oneqty, "当前工单明细号捆扎根数", "DB600.D46"));
|
||||
list.add(new ItemDto(ItemProtocol.item_detail_coating_qty, "当前工单明细号裹膜数", "DB600.D50"));
|
||||
list.add(new ItemDto(ItemProtocol.item_labeling_order, "当前贴标工单明细号", "DB600.D54"));
|
||||
list.add(new ItemDto(ItemProtocol.item_labeling_order_detail, "当前贴标工单明细号", "DB600.D54"));
|
||||
list.add(new ItemDto(ItemProtocol.item_detail_labeling_qualified_qty, "当前工单明细号刻字数量", "DB600.D58"));
|
||||
list.add(new ItemDto(ItemProtocol.item_detail_labeling_qty, "当前贴标工单明细号贴标数", "DB600.D62"));
|
||||
list.add(new ItemDto(ItemProtocol.item_ready, "设备就绪", "DB600.D66"));
|
||||
@@ -89,6 +88,10 @@ public class HaiLiangFeedingTrunkDefination implements OpcDeviceDriverDefination
|
||||
list.add(new ItemDto(ItemProtocol.item_lettering_frequency, "刻字频率", "DB600.D110"));
|
||||
list.add(new ItemDto(ItemProtocol.item_one_speed, "捆扎裹膜贴标段输送速度", "DB600.REAL114"));
|
||||
list.add(new ItemDto(ItemProtocol.item_coating_frequency, "裹膜机频率", "DB600.D118"));
|
||||
list.add(new ItemDto(ItemProtocol.item_detail_feeding_qualified_qty, "当前工单明细号上料合格数量", "DB600.D122"));
|
||||
list.add(new ItemDto(ItemProtocol.item_detail_coating_qualified_qty, "当前工单明细号裹膜合格数量", "DB600.D126"));
|
||||
list.add(new ItemDto(ItemProtocol.item_strapping_order_detail, "捆扎工单明细号", "DB600.D130"));
|
||||
list.add(new ItemDto(ItemProtocol.item_order_feeding_finish, "工单上料完成", "DB600.D134"));
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im
|
||||
int detail_strapping_qty = 0;
|
||||
int detail_strapping_oneqty = 0;
|
||||
int detail_coating_qty = 0;
|
||||
int labeling_order = 0;
|
||||
int labeling_order_detail = 0;
|
||||
int detail_labeling_qualified_qty = 0;
|
||||
int detail_labeling_qty = 0;
|
||||
Float line_speed = 0.0f;
|
||||
@@ -81,6 +81,8 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im
|
||||
int lettering_frequency = 0;
|
||||
Float one_speed = 0.0f;
|
||||
int coating_frequency = 0;
|
||||
int strapping_order_detail =0;
|
||||
int order_feeding_finish = 0;
|
||||
|
||||
int last_mode = 0;
|
||||
int last_error = 0;
|
||||
@@ -101,7 +103,7 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im
|
||||
int last_detail_strapping_qty = 0;
|
||||
int last_detail_strapping_oneqty = 0;
|
||||
int last_detail_coating_qty = 0;
|
||||
int last_labeling_order = 0;
|
||||
int last_labeling_order_detail = 0;
|
||||
int last_detail_labeling_qualified_qty = 0;
|
||||
int last_detail_labeling_qty = 0;
|
||||
Float last_line_speed = 0.0f;
|
||||
@@ -115,6 +117,8 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im
|
||||
int last_lettering_frequency = 0;
|
||||
Float last_one_speed = 0.0f;
|
||||
int last_coating_frequency = 0;
|
||||
int last_strapping_order_detail =0;
|
||||
int last_order_feeding_finish =0;
|
||||
|
||||
Boolean send_letter_flag_back = false;
|
||||
Boolean send_letter_flag = false;
|
||||
@@ -156,7 +160,9 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im
|
||||
//当前工单明细号裹膜数
|
||||
detail_coating_qty =this.itemProtocol.getDetail_coating_qty();
|
||||
//当前贴标工单明细号
|
||||
labeling_order = this.itemProtocol.getLabeling_order();
|
||||
labeling_order_detail = this.itemProtocol.getLabeling_order_detail();
|
||||
//捆扎明细
|
||||
strapping_order_detail = this.itemProtocol.getStrapping_order_detail();
|
||||
//当前贴标工单明细号贴标合格数
|
||||
detail_labeling_qualified_qty = this.itemProtocol.getDetail_strapping_qty();
|
||||
//当前贴标工单明细号贴标数
|
||||
@@ -172,6 +178,9 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im
|
||||
lettering_frequency = this.itemProtocol.getLettering_frequency();
|
||||
one_speed = this.itemProtocol.getOne_speed();
|
||||
coating_frequency = this.itemProtocol.getCoating_frequency();
|
||||
strapping_order_detail = this.itemProtocol.getStrapping_order_detail();
|
||||
order_feeding_finish = this.itemProtocol.getOrder_feeding_finish();
|
||||
|
||||
|
||||
if (mode != last_mode) {
|
||||
this.setRequireSucess(false);
|
||||
@@ -281,10 +290,10 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im
|
||||
logServer.deviceLogToacs(this.device_code,"","","信号detail_coating_qty:" + last_detail_coating_qty + "->" + detail_coating_qty);
|
||||
}
|
||||
|
||||
if(labeling_order != last_labeling_order)
|
||||
if(labeling_order_detail != last_labeling_order_detail)
|
||||
{
|
||||
logServer.deviceLog(this.device_code,"labeling_order" ,String.valueOf(labeling_order));
|
||||
logServer.deviceLogToacs(this.device_code,"","","信号labeling_order:" + last_labeling_order + "->" + labeling_order);
|
||||
logServer.deviceLog(this.device_code,"labeling_order" ,String.valueOf(labeling_order_detail));
|
||||
logServer.deviceLogToacs(this.device_code,"","","信号labeling_order:" + last_labeling_order_detail + "->" + labeling_order_detail);
|
||||
}
|
||||
|
||||
if(detail_labeling_qualified_qty != last_detail_labeling_qualified_qty)
|
||||
@@ -358,11 +367,36 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im
|
||||
logServer.deviceLog(this.device_code,"coating_frequency" ,String.valueOf(coating_frequency));
|
||||
logServer.deviceLogToacs(this.device_code,"","","信号coating_frequency:" + last_coating_frequency + "->" + coating_frequency);
|
||||
}
|
||||
if(strapping_order_detail != last_strapping_order_detail)
|
||||
{
|
||||
logServer.deviceLog(this.device_code,"strapping_order_detail" ,String.valueOf(strapping_order_detail));
|
||||
logServer.deviceLogToacs(this.device_code,"","","信号strapping_order_detail:" + last_strapping_order_detail+ "->" + strapping_order_detail);
|
||||
}
|
||||
if(order_feeding_finish != last_order_feeding_finish)
|
||||
{
|
||||
logServer.deviceLog(this.device_code,"order_feeding_finish" ,String.valueOf(order_feeding_finish));
|
||||
logServer.deviceLogToacs(this.device_code,"","","信号order_feeding_finish:" + last_order_feeding_finish+ "->" + order_feeding_finish);
|
||||
}
|
||||
|
||||
try{
|
||||
if(order >0 && order_detail>0){
|
||||
update_detail(String.valueOf(order),String.valueOf(order_detail));
|
||||
}
|
||||
|
||||
//上料明细更新
|
||||
if(order >0 && order_detail>0){
|
||||
update_detail(String.valueOf(order),String.valueOf(order_detail));
|
||||
}
|
||||
|
||||
//贴标明细更新
|
||||
if(order >0 && labeling_order_detail>0){
|
||||
update_labeling_detail(String.valueOf(order),String.valueOf(labeling_order_detail));
|
||||
}
|
||||
|
||||
//捆扎明细更新
|
||||
if(order >0 && strapping_order_detail>0){
|
||||
update_strapping_detail(String.valueOf(order),String.valueOf(strapping_order_detail));
|
||||
}
|
||||
}
|
||||
catch (Exception e){
|
||||
|
||||
@@ -389,7 +423,7 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im
|
||||
break;
|
||||
case 2:
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
//申请工单
|
||||
if(!requireSucess) {
|
||||
if( ready == 1 && order ==0 && order_detail ==0 ){
|
||||
@@ -403,7 +437,7 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im
|
||||
}
|
||||
|
||||
break;
|
||||
case 4:
|
||||
case 5:
|
||||
//申请工单明细
|
||||
if(!requireSucess) {
|
||||
if( ready == 1 && order != 0 ) {
|
||||
@@ -435,7 +469,7 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im
|
||||
last_detail_strapping_qty = detail_strapping_qty;
|
||||
last_detail_strapping_oneqty = detail_strapping_oneqty;
|
||||
last_detail_coating_qty = detail_coating_qty;
|
||||
last_labeling_order = labeling_order;
|
||||
last_labeling_order_detail = labeling_order_detail;
|
||||
last_detail_labeling_qualified_qty = detail_labeling_qualified_qty;
|
||||
last_detail_labeling_qty = detail_labeling_qty;
|
||||
last_line_speed = line_speed;
|
||||
@@ -451,6 +485,45 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im
|
||||
last_coating_frequency = coating_frequency;
|
||||
}
|
||||
|
||||
|
||||
public synchronized boolean update_strapping_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));
|
||||
if(ObjectUtil.isEmpty(dto)){
|
||||
return false;
|
||||
}
|
||||
dto.setPresent_labeling_number(String.valueOf(detail_labeling_qty));
|
||||
dto.setQualified_lettering_number(String.valueOf(detail_labeling_qualified_qty));
|
||||
produceshiftorderdetailService.update(dto);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public synchronized boolean update_labeling_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));
|
||||
if(ObjectUtil.isEmpty(dto)){
|
||||
return false;
|
||||
}
|
||||
dto.setPresent_labeling_number(String.valueOf(detail_labeling_qty));
|
||||
dto.setQualified_lettering_number(String.valueOf(detail_labeling_qualified_qty));
|
||||
produceshiftorderdetailService.update(dto);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
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) {
|
||||
@@ -458,6 +531,7 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im
|
||||
return false;
|
||||
} else {
|
||||
this.detail_time= date;
|
||||
|
||||
ProduceshiftorderdetailDto dto = produceshiftorderdetailService.findOrderDetailFromCache(String.valueOf(order),String.valueOf(order_detail));
|
||||
if(ObjectUtil.isEmpty(dto)){
|
||||
return false;
|
||||
@@ -474,14 +548,14 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im
|
||||
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);
|
||||
|
||||
// //当前捆扎包数
|
||||
// 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));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -537,36 +611,23 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im
|
||||
throw new BadRequestException("未找到可下发工单!");
|
||||
}
|
||||
String order = dto.getOrder_code();
|
||||
//是否刻字
|
||||
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();
|
||||
String jackup_num = dto.getJackup_num();
|
||||
logServer.deviceLogToacs(this.device_code,"","","申请工单号成功,order:"+order);
|
||||
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);
|
||||
writing(ItemProtocol.item_to_jackup_num,jackup_num);
|
||||
writing(ItemProtocol.item_to_length,length);
|
||||
writing(ItemProtocol.item_to_is_labeling,is_labeling);
|
||||
writing(ItemProtocol.item_to_is_risking,is_risking);
|
||||
writing(ItemProtocol.item_to_is_strapping,is_strapping);
|
||||
writing(ItemProtocol.item_to_is_coating,is_coating);
|
||||
writing(ItemProtocol.item_to_is_lettering,is_lettering);
|
||||
writing(ItemProtocol.item_to_command,String.valueOf(mode));
|
||||
|
||||
dto.setOrder_status("02");
|
||||
produceshiftorderService.autoupdate(dto);
|
||||
|
||||
@@ -576,13 +637,14 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im
|
||||
|
||||
public boolean apply_orderDetail(int order) throws Exception {
|
||||
ProduceshiftorderdetailDto dto = produceshiftorderdetailService.apply_orderDetail(String.valueOf(order));
|
||||
ProduceshiftorderDto orderdto = produceshiftorderService.findOrderByOrderCodeFromCache(String.valueOf(order));
|
||||
if(ObjectUtil.isEmpty(dto)){
|
||||
logServer.deviceLogToacs(this.device_code,"","","apply_orderDetail 未找到可下发工单明细!");
|
||||
throw new BadRequestException("未找到可下发工单明细!");
|
||||
}
|
||||
String orderDetail = dto.getOrder_detail_code();
|
||||
//上料数量
|
||||
String feeding_qty = dto.getFeeding_qty();
|
||||
String feeding_qty = dto.getOrder_detail_qty();
|
||||
//捆扎包数
|
||||
String strap_pack_number = dto.getStrap_pack_number();
|
||||
//每捆数量
|
||||
@@ -593,6 +655,18 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im
|
||||
String str = dto.getLabeling_message();
|
||||
//判断是否最后一个客户
|
||||
boolean last_detail = produceshiftorderdetailService.isLastOrderDetail(String.valueOf(order));
|
||||
//套冒颜色
|
||||
String color = dto.getColor_type();
|
||||
//是否刻字
|
||||
String is_lettering = orderdto.getIs_lettering();
|
||||
//是否套冒
|
||||
String is_risking = orderdto.getIs_risking();
|
||||
//是否捆扎
|
||||
String is_strapping = orderdto.getIs_strapping();
|
||||
//是否裹膜
|
||||
String is_coating = orderdto.getIs_coating();
|
||||
//是否贴标
|
||||
String is_labeling = orderdto.getIs_labeling();
|
||||
//下发激光刻字信息
|
||||
//判断下发刻字成功
|
||||
if(!send_letter_flag){
|
||||
@@ -613,10 +687,15 @@ 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_lastone_strapping_qty,strap_tailint_number);
|
||||
|
||||
writing(ItemProtocol.item_to_is_labeling,is_labeling);
|
||||
writing(ItemProtocol.item_to_is_risking,is_risking);
|
||||
writing(ItemProtocol.item_to_is_strapping,is_strapping);
|
||||
writing(ItemProtocol.item_to_is_coating,is_coating);
|
||||
writing(ItemProtocol.item_to_is_lettering,is_lettering);
|
||||
writing(ItemProtocol.item_to_color,color);
|
||||
writing(ItemProtocol.item_to_command,String.valueOf(mode));
|
||||
|
||||
dto.setOrder_detail_status("01");
|
||||
dto.setOrder_detail_status("02");
|
||||
produceshiftorderdetailService.update(dto);
|
||||
send_letter_flag = false;
|
||||
send_letter_flag_back = false;
|
||||
|
||||
@@ -36,7 +36,7 @@ public class ItemProtocol {
|
||||
//当前工单明细号裹膜数
|
||||
public static String item_detail_coating_qty = "detail_coating_qty";
|
||||
//当前贴标工单明细号
|
||||
public static String item_labeling_order = "labeling_order";
|
||||
public static String item_labeling_order_detail = "labeling_order_detail";
|
||||
//当前贴标工单明细号贴标合格数
|
||||
public static String item_detail_labeling_qualified_qty = "detail_labeling_qualified_qty";
|
||||
//当前贴标工单明细号贴标数
|
||||
@@ -56,6 +56,11 @@ public class ItemProtocol {
|
||||
public static String item_lettering_frequency = "lettering_frequency";
|
||||
public static String item_one_speed = "one_speed";
|
||||
public static String item_coating_frequency = "coating_frequency";
|
||||
public static String item_detail_coating_qualified_qty = "detail_coating_qualified_qty";
|
||||
public static String item_strapping_order_detail = "strapping_order_detail";
|
||||
public static String item_order_feeding_finish = "order_feeding_finish";
|
||||
|
||||
|
||||
|
||||
|
||||
public static String item_to_heartbeat = "to_heartbeat";
|
||||
@@ -89,6 +94,9 @@ public class ItemProtocol {
|
||||
public static String item_to_lettering_frequency = "to_lettering_frequency";
|
||||
public static String item_to_one_speed = "to_one_speed";
|
||||
public static String item_to_coating_frequency = "to_coating_frequency";
|
||||
public static String item_to_jackup_num = "to_jackup_num";
|
||||
public static String item_to_color = "to_color";
|
||||
|
||||
|
||||
private HaiLiangFeedingTrunkDeviceDriver driver;
|
||||
|
||||
@@ -161,8 +169,8 @@ public class ItemProtocol {
|
||||
return this.getOpcIntegerValue(item_detail_coating_qty);
|
||||
}
|
||||
|
||||
public int getLabeling_order() {
|
||||
return this.getOpcIntegerValue(item_labeling_order);
|
||||
public int getLabeling_order_detail() {
|
||||
return this.getOpcIntegerValue(item_labeling_order_detail);
|
||||
}
|
||||
|
||||
public int getDetail_labeling_qualified_qty() {
|
||||
@@ -181,6 +189,13 @@ public class ItemProtocol {
|
||||
return this.getOpcIntegerValue(item_clear);
|
||||
}
|
||||
|
||||
public int getStrapping_order_detail() {
|
||||
return this.getOpcIntegerValue(item_strapping_order_detail);
|
||||
}
|
||||
|
||||
public int getOrder_feeding_finish() {
|
||||
return this.getOpcIntegerValue(item_order_feeding_finish);
|
||||
}
|
||||
|
||||
|
||||
public Float getLine_speed() {
|
||||
@@ -227,6 +242,12 @@ public class ItemProtocol {
|
||||
return this.getOpcIntegerValue(item_coating_frequency);
|
||||
}
|
||||
|
||||
public int getDetail_coating_qualified_qty() {
|
||||
return this.getOpcIntegerValue(item_detail_coating_qualified_qty);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public int getPause() {
|
||||
return this.getOpcIntegerValue(item_pause);
|
||||
}
|
||||
@@ -399,7 +420,6 @@ public class ItemProtocol {
|
||||
list.add(new ItemDto(item_last_order_detail, "上次完成工单明细号", "DB600.D14"));
|
||||
list.add(new ItemDto(item_order_feeding_qty, "当前工单上料数量", "DB600.D18"));
|
||||
list.add(new ItemDto(item_detail_feeding_qty, "当前工单明细号上料数量", "DB600.D22"));
|
||||
list.add(new ItemDto(item_detail_feeding_qualified_qty, "当前工单明细号上料合格数量", "DB600.D122"));
|
||||
list.add(new ItemDto(item_detail_lettering_qty, "当前工单明细号刻字数量", "DB600.D26"));
|
||||
list.add(new ItemDto(item_detail_lettering_qualified_qty, "当前工单明细号刻字合格数量", "DB600.D30"));
|
||||
list.add(new ItemDto(item_detail_risking_qualified_qty, "当前工单明细号套冒合格数", "DB600.D34"));
|
||||
@@ -407,7 +427,7 @@ public class ItemProtocol {
|
||||
list.add(new ItemDto(item_detail_strapping_qty, "当前工单明细号捆扎包数", "DB600.D42"));
|
||||
list.add(new ItemDto(item_detail_strapping_oneqty, "当前工单明细号捆扎根数", "DB600.D46"));
|
||||
list.add(new ItemDto(item_detail_coating_qty, "当前工单明细号裹膜数", "DB600.D50"));
|
||||
list.add(new ItemDto(item_labeling_order, "当前贴标工单明细号", "DB600.D54"));
|
||||
list.add(new ItemDto(item_labeling_order_detail, "当前贴标工单明细号", "DB600.D54"));
|
||||
list.add(new ItemDto(item_detail_labeling_qualified_qty, "当前工单明细号刻字数量", "DB600.D58"));
|
||||
list.add(new ItemDto(item_detail_labeling_qty, "当前贴标工单明细号贴标数", "DB600.D62"));
|
||||
list.add(new ItemDto(item_ready, "设备就绪", "DB600.D66"));
|
||||
@@ -424,6 +444,12 @@ public class ItemProtocol {
|
||||
list.add(new ItemDto(item_lettering_frequency, "刻字频率", "DB600.D110"));
|
||||
list.add(new ItemDto(item_one_speed, "捆扎裹膜贴标段输送速度", "DB600.REAL114"));
|
||||
list.add(new ItemDto(item_coating_frequency, "裹膜机频率", "DB600.D118"));
|
||||
list.add(new ItemDto(item_detail_feeding_qualified_qty, "当前工单明细号上料合格数量", "DB600.D122"));
|
||||
list.add(new ItemDto(item_detail_coating_qualified_qty, "当前工单明细号裹膜合格数量", "DB600.D126"));
|
||||
list.add(new ItemDto(item_strapping_order_detail, "捆扎工单明细号", "DB600.D130"));
|
||||
list.add(new ItemDto(item_order_feeding_finish, "工单上料完成", "DB600.D134"));
|
||||
|
||||
|
||||
|
||||
return list;
|
||||
}
|
||||
@@ -461,6 +487,8 @@ public class ItemProtocol {
|
||||
list.add(new ItemDto(item_to_lettering_frequency, "刻字频率", "DB610.D110"));
|
||||
list.add(new ItemDto(item_to_one_speed, "捆扎裹膜贴标段输送速度", "DB610.REAL114"));
|
||||
list.add(new ItemDto(item_to_coating_frequency, "裹膜机频率", "DB610.D118"));
|
||||
list.add(new ItemDto(item_to_jackup_num, "套冒合格后顶升数", "DB610.W122"));
|
||||
list.add(new ItemDto(item_to_color, "套冒颜色", "DB610.W124"));
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
@@ -60,10 +60,12 @@ public class HaiLiangLabelingDefination implements OpcDeviceDriverDefination {
|
||||
list.add(new ItemDto(ItemProtocol.item_mode, "工作模式", "DB606.W2", Boolean.valueOf(true)));
|
||||
list.add(new ItemDto(ItemProtocol.item_move, "光电信号", "DB606.W4"));
|
||||
list.add(new ItemDto(ItemProtocol.item_error, "故障信号", "DB606.W6"));
|
||||
list.add(new ItemDto(ItemProtocol.item_order, "当前执行工单号", "DB606.D8"));
|
||||
list.add(new ItemDto(ItemProtocol.item_order_detail, "当前工单明细号", "DB606.D12"));
|
||||
list.add(new ItemDto(ItemProtocol.item_detail_qty, "当前工单实时上料数量", "DB606.D16"));
|
||||
list.add(new ItemDto(ItemProtocol.item_detail_qualified_qty, "当前工单明细号合格数量", "DB606.D20"));
|
||||
list.add(new ItemDto(ItemProtocol.item_order, "工单号", "DB606.D8"));
|
||||
list.add(new ItemDto(ItemProtocol.item_order_detail, "工单明细号", "DB606.D12"));
|
||||
list.add(new ItemDto(ItemProtocol.item_detail_qty, "明细总捆数", "DB606.D16"));
|
||||
list.add(new ItemDto(ItemProtocol.item_detail_qualified_qty, "合格捆数量", "DB606.D20"));
|
||||
list.add(new ItemDto(ItemProtocol.item_one_qty, "当前捆根数", "DB606.D24"));
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ package org.nl.acs.device_driver.hailiang.hailiang_labeling;
|
||||
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.Data;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -12,13 +13,13 @@ 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.LabelingTemplateService;
|
||||
import org.nl.acs.order.service.ProduceshiftorderService;
|
||||
import org.nl.acs.order.service.ProduceshiftorderdetailService;
|
||||
import org.nl.acs.order.service.dto.ProduceshiftorderDto;
|
||||
import org.nl.acs.order.service.dto.ProduceshiftorderdetailDto;
|
||||
import org.nl.exception.BadRequestException;
|
||||
import org.nl.utils.SpringContextHolder;
|
||||
import org.nl.wql.WQL;
|
||||
import org.openscada.opc.lib.da.Server;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
@@ -49,8 +50,8 @@ public class HaiLiangLabelingDeviceDriver extends AbstractOpcDeviceDriver implem
|
||||
@Autowired
|
||||
LogServer logServer = SpringContextHolder.getBean(LogServer.class);
|
||||
|
||||
@Autowired
|
||||
LabelingTemplateService labelingTemplateService = SpringContextHolder.getBean(LabelingTemplateService.class);
|
||||
// @Autowired
|
||||
// LabelingTemplateService labelingTemplateService = SpringContextHolder.getBean(LabelingTemplateService.class);
|
||||
|
||||
String device_code;
|
||||
int mode = 0;
|
||||
@@ -65,8 +66,13 @@ public class HaiLiangLabelingDeviceDriver extends AbstractOpcDeviceDriver implem
|
||||
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;
|
||||
int detail_qualified_qty;
|
||||
int last_detail_qualified_qty;
|
||||
int labeling_index;
|
||||
int last_labeling_index;
|
||||
int one_qty = 0;
|
||||
int last_one_qty = 0;
|
||||
|
||||
|
||||
boolean requireSucess = false;
|
||||
|
||||
@@ -84,10 +90,10 @@ public class HaiLiangLabelingDeviceDriver extends AbstractOpcDeviceDriver implem
|
||||
error = this.itemProtocol.getError();
|
||||
order = this.itemProtocol.getOrder();
|
||||
order_detail = this.itemProtocol.getOrder_detail();
|
||||
//当前工单明细号上料数量
|
||||
detail_qty = this.itemProtocol.getDetail_qty();
|
||||
//当前工单明细号上料合格数量
|
||||
detail_qualified_qty = this.itemProtocol.getDetail_qualified_qty();
|
||||
one_qty = this.itemProtocol.getOne_qty();
|
||||
|
||||
if (mode != last_mode) {
|
||||
logServer.deviceLog(this.device_code,"mode" ,String.valueOf(mode));
|
||||
logServer.deviceLogToacs(this.device_code,"","","信号mode:" + last_mode + "->" + mode);
|
||||
@@ -116,8 +122,13 @@ public class HaiLiangLabelingDeviceDriver extends AbstractOpcDeviceDriver implem
|
||||
}
|
||||
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);
|
||||
logServer.deviceLogToacs(this.device_code,"","","detail_qualified_qty:" + last_detail_qualified_qty + "->" + detail_qualified_qty);
|
||||
}
|
||||
if (one_qty != last_one_qty) {
|
||||
logServer.deviceLog(this.device_code,"finish_status" ,String.valueOf(one_qty));
|
||||
logServer.deviceLogToacs(this.device_code,"","","信号one_qty:" + last_one_qty + "->" + one_qty);
|
||||
}
|
||||
|
||||
} catch (Exception var17) {
|
||||
return;
|
||||
}
|
||||
@@ -140,16 +151,17 @@ public class HaiLiangLabelingDeviceDriver extends AbstractOpcDeviceDriver implem
|
||||
break;
|
||||
case 2:
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
//申请贴标
|
||||
if(!requireSucess){
|
||||
if(order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0){
|
||||
if(order > 0 && order_detail > 0 && detail_qty>0 ){
|
||||
logServer.deviceLogToacs(this.device_code,"","",device_code+":申请贴标,mode:"+mode+",requireSucess:" + requireSucess + ",order:" + order +",order_detail:"
|
||||
+order_detail+",detail_qty:"+detail_qty+",detail_qualified_qty:"+detail_qualified_qty);
|
||||
+order_detail+",detail_qty:"+detail_qty);
|
||||
logServer.deviceLogToacs(this.device_code,"","","申请贴标");
|
||||
apply_labeling_message(String.valueOf(order),String.valueOf(order_detail),String.valueOf(detail_qty));
|
||||
} else {
|
||||
logServer.deviceLogToacs(this.device_code,"","",device_code+":申请贴标失败,mode:"+mode+",requireSucess:" + requireSucess + ",order:" + order +",order_detail:"
|
||||
+order_detail+",detail_qty:"+detail_qty+",detail_qualified_qty:"+detail_qualified_qty);
|
||||
+order_detail+",detail_qty:"+detail_qty);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -157,13 +169,13 @@ public class HaiLiangLabelingDeviceDriver extends AbstractOpcDeviceDriver implem
|
||||
case 5:
|
||||
//贴标完成
|
||||
if(!requireSucess){
|
||||
if(order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0){
|
||||
if(order > 0 && order_detail > 0 && detail_qty>0 ){
|
||||
logServer.deviceLogToacs(this.device_code,"","",device_code+":申请贴标完成,mode:"+mode+",requireSucess:" + requireSucess + ",order:" + order +",order_detail:"
|
||||
+order_detail+",detail_qty:"+detail_qty+",detail_qualified_qty:"+detail_qualified_qty);
|
||||
+order_detail+",detail_qty:"+detail_qty);
|
||||
update_detail(String.valueOf(order),String.valueOf(order_detail),"01");
|
||||
} else {
|
||||
logServer.deviceLogToacs(this.device_code,"","",device_code+":申请贴标完成失败,mode:"+mode+",requireSucess:" + requireSucess + ",order:" + order +",order_detail:"
|
||||
+order_detail+",detail_qty:"+detail_qty+",detail_qualified_qty:"+detail_qualified_qty);
|
||||
+order_detail+",detail_qty:"+detail_qty);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -171,13 +183,13 @@ public class HaiLiangLabelingDeviceDriver extends AbstractOpcDeviceDriver implem
|
||||
case 6:
|
||||
//强制贴标完成
|
||||
if(!requireSucess){
|
||||
if( order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0 ) {
|
||||
if( order > 0 && order_detail > 0 && detail_qty>0) {
|
||||
logServer.deviceLogToacs(this.device_code,"","",device_code+":申请强制贴标完成,mode:"+mode+",requireSucess:" + requireSucess + ",order:" + order +",order_detail:"
|
||||
+order_detail+",detail_qty:"+detail_qty+",detail_qualified_qty:"+detail_qualified_qty);
|
||||
+order_detail+",detail_qty:"+detail_qty);
|
||||
update_detail(String.valueOf(order),String.valueOf(order_detail),"02");
|
||||
} else {
|
||||
logServer.deviceLogToacs(this.device_code,"","",device_code+":申请强制贴标完成失败,mode:"+mode+",requireSucess:" + requireSucess + ",order:" + order +",order_detail:"
|
||||
+order_detail+",detail_qty:"+detail_qty+",detail_qualified_qty:"+detail_qualified_qty);
|
||||
+order_detail+",detail_qty:"+detail_qty);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -217,7 +229,6 @@ public class HaiLiangLabelingDeviceDriver extends AbstractOpcDeviceDriver implem
|
||||
last_order = order;
|
||||
last_order_detail = order_detail;
|
||||
last_detail_qty = detail_qty;
|
||||
last_detail_qualified_qty = detail_qualified_qty;
|
||||
}
|
||||
|
||||
|
||||
@@ -236,6 +247,7 @@ public class HaiLiangLabelingDeviceDriver extends AbstractOpcDeviceDriver implem
|
||||
dto.setLabeling_finished(status);
|
||||
String now = DateUtil.now();
|
||||
dto.setLabeling_finish_time(now);
|
||||
dto.setOrder_detail_status("08");
|
||||
produceshiftorderdetailService.update(dto);
|
||||
writing(itemProtocol.item_to_command,String.valueOf(mode));
|
||||
requireSucess = true;
|
||||
@@ -273,24 +285,50 @@ public class HaiLiangLabelingDeviceDriver extends AbstractOpcDeviceDriver implem
|
||||
log.trace("触发时间因为小于{}毫秒,而被无视", this.detail_time_out);
|
||||
return false;
|
||||
} else {
|
||||
if (date.getTime() - this.detail_time_out < (long) this.detail_time_out) {
|
||||
log.trace("触发时间因为小于{}毫秒,而被无视", this.detail_time_out);
|
||||
return false;
|
||||
this.detail_time = date;
|
||||
ProduceshiftorderDto dto = produceshiftorderService.findOrderByOrderCodeFromCache(String.valueOf(order));
|
||||
ProduceshiftorderdetailDto detaildto = produceshiftorderdetailService.findOrderDetailFromCache(String.valueOf(order), String.valueOf(order_detail));
|
||||
if(ObjectUtil.isEmpty(dto)){
|
||||
throw new BadRequestException("未找到可下发工单明细!");
|
||||
}
|
||||
Boolean flag = false;
|
||||
// 2.根据明细template_id 找到对应的模板
|
||||
JSONObject jsonStor = WQL.getWO("QPRODUCESHIFTORDER").addParam("flag", "3").addParam("storage_id", detaildto.getTemplate_id()).process().uniqueResult(0);
|
||||
|
||||
//labelingTemplateService.printMessage(dto,qty);
|
||||
String path = jsonStor.getString("path");
|
||||
String pathName = "E:\\work\\"+jsonStor.getString("name")+ jsonStor.getString("storage_id") + ".xlsx";
|
||||
|
||||
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("order_id",dto.getOrder_id());
|
||||
jo.put("template_id",detaildto.getTemplate_id());
|
||||
jo.put("path",path);
|
||||
jo.put("url",pathName);
|
||||
jo.put("alloy",dto.getAlloy());
|
||||
jo.put("temper",dto.getTemper());
|
||||
jo.put("material_spec",dto.getMaterial_spec());
|
||||
jo.put("number",String.valueOf(one_qty));
|
||||
jo.put("outer_diameter",dto.getOuter_diameter());
|
||||
jo.put("standard",detaildto.getStandard());
|
||||
jo.put("batch",detaildto.getBatch());
|
||||
jo.put("prod_date",detaildto.getProd_date());
|
||||
jo.put("present_strap_pack_number",String.valueOf(labeling_index));
|
||||
jo.put("inspector",detaildto.getInspector());
|
||||
jo.put("mg_weight",detaildto.getMg_weight());
|
||||
//打印纸张大小
|
||||
jo.put("page_length","600");
|
||||
jo.put("page_height","400");
|
||||
logServer.deviceLogToacs(this.device_code,"","","申请贴标接口信息:"+jo.toString());
|
||||
|
||||
flag = produceshiftorderService.print(jo);
|
||||
if(flag){
|
||||
logServer.deviceLogToacs(this.device_code,"","","下发贴标信息成功");
|
||||
writing(itemProtocol.item_to_command,String.valueOf(mode));
|
||||
requireSucess = true;
|
||||
return true;
|
||||
} else {
|
||||
this.detail_time = date;
|
||||
ProduceshiftorderdetailDto dto = produceshiftorderdetailService.findOrderDetailFromCache(String.valueOf(order), String.valueOf(order_detail));
|
||||
if(ObjectUtil.isEmpty(dto)){
|
||||
throw new BadRequestException("未找到可下发工单明细!");
|
||||
}
|
||||
Boolean flag = labelingTemplateService.printMessage(dto,qty);
|
||||
if(flag){
|
||||
logServer.deviceLogToacs(this.device_code,"","","下发贴标信息成功");
|
||||
writing(itemProtocol.item_to_command,String.valueOf(mode));
|
||||
requireSucess = true;
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,8 +14,11 @@ public class ItemProtocol {
|
||||
public static String item_error = "error";
|
||||
public static String item_order = "order";
|
||||
public static String item_order_detail = "order_detail";
|
||||
public static String item_labeling_index = "labeling_index";
|
||||
public static String item_labeling_index_number = "labeling_index_number";
|
||||
public static String item_detail_qty = "detail_qty";
|
||||
public static String item_detail_qualified_qty = "detail_qualified_qty";
|
||||
public static String item_one_qty = "one_qty";
|
||||
public static String item_to_command = "to_command";
|
||||
|
||||
|
||||
@@ -53,6 +56,14 @@ public class ItemProtocol {
|
||||
return this.getOpcIntegerValue(item_detail_qualified_qty);
|
||||
}
|
||||
|
||||
public int getLabeling_index() {
|
||||
return this.getOpcIntegerValue(item_labeling_index);
|
||||
}
|
||||
|
||||
public int getOne_qty() {
|
||||
return this.getOpcIntegerValue(item_one_qty);
|
||||
}
|
||||
|
||||
public int getToCommand() {
|
||||
return this.getOpcIntegerValue(item_to_command);
|
||||
}
|
||||
@@ -75,10 +86,11 @@ public class ItemProtocol {
|
||||
list.add(new ItemDto(item_mode, "工作模式", "DB606.W2", Boolean.valueOf(true)));
|
||||
list.add(new ItemDto(item_move, "光电信号", "DB606.W4"));
|
||||
list.add(new ItemDto(item_error, "故障信号", "DB606.W6"));
|
||||
list.add(new ItemDto(item_order, "当前执行工单号", "DB606.D8"));
|
||||
list.add(new ItemDto(item_order_detail, "当前工单明细号", "DB606.D12"));
|
||||
list.add(new ItemDto(item_detail_qty, "当前工单实时上料数量", "DB606.D16"));
|
||||
list.add(new ItemDto(item_detail_qualified_qty, "当前工单明细号合格数量", "DB606.D20"));
|
||||
list.add(new ItemDto(ItemProtocol.item_order, "工单号", "DB606.D8"));
|
||||
list.add(new ItemDto(ItemProtocol.item_order_detail, "工单明细号", "DB606.D12"));
|
||||
list.add(new ItemDto(ItemProtocol.item_detail_qty, "实时捆数量", "DB606.D16"));
|
||||
list.add(new ItemDto(ItemProtocol.item_detail_qualified_qty, "合格捆数量", "DB606.D20"));
|
||||
list.add(new ItemDto(ItemProtocol.item_one_qty, "当前捆根数", "DB606.D24"));
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
@@ -64,8 +64,8 @@ public class HaiLiangStrappingDefination implements OpcDeviceDriverDefination {
|
||||
list.add(new ItemDto(ItemProtocol.item_order_detail, "当前工单明细号", "DB604.D12"));
|
||||
list.add(new ItemDto(ItemProtocol.item_detail_qty, "当前工单实时上料数量", "DB604.D16"));
|
||||
list.add(new ItemDto(ItemProtocol.item_detail_qualified_qty, "当前工单明细号合格数量", "DB604.D20"));
|
||||
list.add(new ItemDto(ItemProtocol.item_cache_qty, "当前缓存数量", "DB604.D24"));
|
||||
list.add(new ItemDto(ItemProtocol.item_qty, "当前捆扎数量", "DB604.D28"));
|
||||
list.add(new ItemDto(ItemProtocol.item_qty, "当前捆扎数量", "DB604.D24"));
|
||||
list.add(new ItemDto(ItemProtocol.item_status, "当前捆扎数量", "DB604.D28"));
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
@@ -63,6 +63,10 @@ public class HaiLiangStrappingDeviceDriver extends AbstractOpcDeviceDriver imple
|
||||
int last_cache_qty = 0;
|
||||
int qty = 0;
|
||||
int last_qty = 0;
|
||||
int status = 0;
|
||||
int last_status = 0;
|
||||
|
||||
|
||||
|
||||
boolean requireSucess = false;
|
||||
|
||||
@@ -83,7 +87,7 @@ public class HaiLiangStrappingDeviceDriver extends AbstractOpcDeviceDriver imple
|
||||
detail_qty = this.itemProtocol.getDetail_qty();
|
||||
//当前工单明细号上料合格数量
|
||||
detail_qualified_qty = this.itemProtocol.getDetail_qualified_qty();
|
||||
cache_qty = this.itemProtocol.getCache_qty();
|
||||
status = this.itemProtocol.getStatus();
|
||||
qty = this.itemProtocol.getQty();
|
||||
|
||||
if (mode != last_mode) {
|
||||
@@ -116,9 +120,9 @@ public class HaiLiangStrappingDeviceDriver extends AbstractOpcDeviceDriver imple
|
||||
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);
|
||||
}
|
||||
if (cache_qty != last_cache_qty) {
|
||||
logServer.deviceLog(this.device_code,"cache_qty" ,String.valueOf(cache_qty));
|
||||
logServer.deviceLogToacs(this.device_code,"","","信号cache_qty:" + last_cache_qty + "->" + cache_qty);
|
||||
if (status != last_status) {
|
||||
logServer.deviceLog(this.device_code,"status" ,String.valueOf(cache_qty));
|
||||
logServer.deviceLogToacs(this.device_code,"","","信号status:" + last_status + "->" + status);
|
||||
}
|
||||
if (qty != last_qty) {
|
||||
logServer.deviceLog(this.device_code,"qty" ,String.valueOf(qty));
|
||||
@@ -182,7 +186,7 @@ public class HaiLiangStrappingDeviceDriver extends AbstractOpcDeviceDriver imple
|
||||
last_order_detail = order_detail;
|
||||
last_detail_qty = detail_qty;
|
||||
last_detail_qualified_qty = detail_qualified_qty;
|
||||
last_cache_qty = cache_qty;
|
||||
last_status = status;
|
||||
last_qty = qty;
|
||||
}
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ public class ItemProtocol {
|
||||
public static String item_order_detail = "order_detail";
|
||||
public static String item_detail_qty = "detail_qty";
|
||||
public static String item_detail_qualified_qty = "detail_qualified_qty";
|
||||
public static String item_cache_qty = "cache_qty";
|
||||
public static String item_status = "status";
|
||||
public static String item_qty = "qty";
|
||||
public static String item_to_command = "to_command";
|
||||
|
||||
@@ -59,8 +59,8 @@ public class ItemProtocol {
|
||||
return this.getOpcIntegerValue(item_detail_qualified_qty);
|
||||
}
|
||||
|
||||
public int getCache_qty() {
|
||||
return this.getOpcIntegerValue(item_cache_qty);
|
||||
public int getStatus() {
|
||||
return this.getOpcIntegerValue(item_status);
|
||||
}
|
||||
|
||||
public int getQty() {
|
||||
@@ -94,8 +94,8 @@ public class ItemProtocol {
|
||||
list.add(new ItemDto(item_order_detail, "当前工单明细号", "DB604.D12"));
|
||||
list.add(new ItemDto(item_detail_qty, "当前工单实时上料数量", "DB604.D16"));
|
||||
list.add(new ItemDto(item_detail_qualified_qty, "当前工单明细号合格数量", "DB604.D20"));
|
||||
list.add(new ItemDto(item_cache_qty, "当前缓存数量", "DB604.D24"));
|
||||
list.add(new ItemDto(item_qty, "当前捆扎数量", "DB604.D28"));
|
||||
list.add(new ItemDto(item_qty, "当前捆扎数量", "DB604.D24"));
|
||||
list.add(new ItemDto(item_status, "状态", "DB604.D28"));
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
@@ -150,22 +150,7 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
|
||||
jo.put("remark", remark);
|
||||
jo.put("params", params);
|
||||
jo.put("task_type", StrUtil.isEmpty(task_type) ? 1 : Integer.parseInt(task_type));
|
||||
// 如果是无光电的设备 指令完成变更起点、终点状态
|
||||
JSONObject startjo = new JSONObject();
|
||||
startjo.put("device_code", start_device_code);
|
||||
startjo.put("hasGoodStatus", "2");
|
||||
startjo.put("material_type", "");
|
||||
startjo.put("batch", "");
|
||||
startjo.put("islock", "false");
|
||||
DeviceService.changeDeviceStatus(startjo);
|
||||
|
||||
JSONObject nextjo = new JSONObject();
|
||||
nextjo.put("device_code", next_device_code);
|
||||
nextjo.put("hasGoodStatus", "0");
|
||||
nextjo.put("material_type", "");
|
||||
nextjo.put("batch", "");
|
||||
nextjo.put("islock", "false");
|
||||
DeviceService.changeDeviceStatus(nextjo);
|
||||
TaskDto task_dto = jo.toJavaObject(TaskDto.class);
|
||||
try {
|
||||
TaskService.create(task_dto);
|
||||
|
||||
@@ -132,6 +132,23 @@ public class ProduceshiftorderController {
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Log("下发刻字信息")
|
||||
@ApiOperation("下发刻字信息")
|
||||
@PostMapping(value = "/send_letteringMess")
|
||||
public ResponseEntity<Object> send_letteringMess(@Validated @RequestBody Map whereJson) throws IOException {
|
||||
produceshiftorderService.send_letteringMess(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Log("下发贴标信息")
|
||||
@ApiOperation("下发贴标信息")
|
||||
@PostMapping(value = "/send_labelingMess")
|
||||
public ResponseEntity<Object> send_labelingMess(@Validated @RequestBody Map whereJson) {
|
||||
produceshiftorderService.send_labelingMess(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
@Log("清料")
|
||||
@ApiOperation("清料")
|
||||
@PostMapping(value = "/clear")
|
||||
@@ -195,6 +212,14 @@ public class ProduceshiftorderController {
|
||||
return new ResponseEntity<>(produceshiftorderService.selectTemplateList(),HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Log("查询套冒颜色")
|
||||
@ApiOperation("查询套冒颜色")
|
||||
@GetMapping("/selectColortypeList")
|
||||
public ResponseEntity<Object> selectColortypeList() {
|
||||
return new ResponseEntity<>(produceshiftorderService.selectColortypeList(),HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
@Log("上传Excel模板")
|
||||
@ApiOperation("上传Excel模板")
|
||||
@PostMapping({"/pictures"})
|
||||
|
||||
@@ -148,6 +148,11 @@ public interface ProduceshiftorderService {
|
||||
*/
|
||||
void stop();
|
||||
|
||||
//下发刻字信息
|
||||
void send_letteringMess(Map where) throws IOException;
|
||||
|
||||
//下发贴标信息
|
||||
void send_labelingMess(Map where);
|
||||
|
||||
|
||||
/**
|
||||
@@ -228,9 +233,13 @@ public interface ProduceshiftorderService {
|
||||
*/
|
||||
JSONArray selectTemplateList();
|
||||
|
||||
JSONArray selectColortypeList();
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 打印
|
||||
* @param whereJson
|
||||
*/
|
||||
void print(JSONObject whereJson);
|
||||
Boolean print(JSONObject whereJson);
|
||||
}
|
||||
|
||||
@@ -97,5 +97,10 @@ public class ProduceshiftorderDto implements Serializable {
|
||||
|
||||
private String temper;
|
||||
|
||||
/**
|
||||
* 顶升数
|
||||
*/
|
||||
private String jackup_num;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -12,15 +12,6 @@ import java.io.Serializable;
|
||||
@Data
|
||||
public class ProduceshiftorderdetailDto implements Serializable {
|
||||
|
||||
/** 工单明细标识 */
|
||||
private String order_detail_id;
|
||||
|
||||
/** 工单明细编码 */
|
||||
private String order_detail_code;
|
||||
|
||||
/** 工单明细类型 */
|
||||
private String order_detail_type;
|
||||
|
||||
/** 优先级 */
|
||||
private String priority;
|
||||
|
||||
@@ -36,43 +27,21 @@ public class ProduceshiftorderdetailDto implements Serializable {
|
||||
/** 工单数量 */
|
||||
private String order_qty;
|
||||
|
||||
/** 工单明细数量 */
|
||||
private String order_detail_qty;
|
||||
|
||||
/** 捆扎包数 */
|
||||
private String strap_pack_number;
|
||||
|
||||
/** 当前捆扎包数 */
|
||||
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;
|
||||
|
||||
/** 图标后刻字信息 */
|
||||
private String lettering_message2;
|
||||
|
||||
|
||||
/** 当前刻字数量 */
|
||||
private String present_lettering_number;
|
||||
|
||||
|
||||
|
||||
/** 贴标模板 */
|
||||
private String labeling_template;
|
||||
|
||||
|
||||
/** 贴标信息 */
|
||||
private String labeling_message;
|
||||
|
||||
@@ -115,39 +84,20 @@ public class ProduceshiftorderdetailDto implements Serializable {
|
||||
/** 外径 */
|
||||
private String outer_diameter;
|
||||
|
||||
/** 壁厚 */
|
||||
private String wall_thickness;
|
||||
|
||||
/** 物料长度 */
|
||||
private String length;
|
||||
|
||||
/** 工单明细状态 */
|
||||
//00-就绪、01-分拣中
|
||||
//02-下发工单明细暂停 03-工单明细暂停
|
||||
//04-下发强制完成 05-强制完成
|
||||
//06-自动完成
|
||||
private String order_detail_status;
|
||||
|
||||
/** 上料数量 */
|
||||
private String feeding_qty;
|
||||
|
||||
/** 当前上料数量 */
|
||||
private String present_feeding_number;
|
||||
|
||||
/** 上料合格数量 */
|
||||
private String feeding_qualified_number;
|
||||
|
||||
/** 上料开始时间 */
|
||||
private String feeding_start_time;
|
||||
|
||||
/** 上料完成时间 */
|
||||
private String feeding_finish_time;
|
||||
|
||||
/** 上料完成 */
|
||||
private String feeding_finished;
|
||||
|
||||
/** 刻字合格数量 */
|
||||
private String qualified_lettering_number;
|
||||
private String feeding_end_time;
|
||||
|
||||
/** 刻字开始时间 */
|
||||
private String lettering_start_time;
|
||||
@@ -155,33 +105,15 @@ public class ProduceshiftorderdetailDto implements Serializable {
|
||||
/** 刻字完成时间 */
|
||||
private String lettering_finish_time;
|
||||
|
||||
/** 刻字完成 */
|
||||
private String lettering_finished;
|
||||
|
||||
/** 当前套冒数量 */
|
||||
private String present_sleeveing_number;
|
||||
|
||||
/** 套冒合格数量 */
|
||||
private String qualified_sleeveing_number;
|
||||
|
||||
/** 套冒完成 */
|
||||
private String sleeveing_finished;
|
||||
|
||||
/** 套冒开始时间 */
|
||||
private String sleeveing_start_time;
|
||||
|
||||
/** 套冒完成时间 */
|
||||
private String sleeveing_finish_time;
|
||||
|
||||
/** 捆扎开始时间 */
|
||||
private String strap_start_time;
|
||||
|
||||
/** 捆扎完成时间 */
|
||||
private String strap_finish_time;
|
||||
|
||||
/** 捆扎完成 */
|
||||
private String strap_finished;
|
||||
|
||||
/** 裹膜数量 */
|
||||
private String wraping_number;
|
||||
|
||||
@@ -197,26 +129,29 @@ public class ProduceshiftorderdetailDto implements Serializable {
|
||||
/** 裹膜完成时间 */
|
||||
private String wraping_finish_time;
|
||||
|
||||
/** 裹膜完成 */
|
||||
private String wraping_finished;
|
||||
|
||||
/** 贴标开始时间 */
|
||||
private String labeling_start_time;
|
||||
|
||||
/** 贴标完成时间 */
|
||||
private String labeling_finish_time;
|
||||
|
||||
/** 贴标完成 */
|
||||
private String labeling_finished;
|
||||
|
||||
/** 开始时间 */
|
||||
private String start_time;
|
||||
|
||||
/** 结束时间 */
|
||||
private String end_time;
|
||||
|
||||
/** 模板id */
|
||||
private String template_id;
|
||||
/** 工单明细标识 */
|
||||
private String order_detail_id;
|
||||
|
||||
/** 工单明细编码 */
|
||||
private String order_detail_code;
|
||||
|
||||
/** 工单明细类型 */
|
||||
private String order_detail_type;
|
||||
|
||||
/** 壁厚 */
|
||||
private String wall_thickness;
|
||||
|
||||
/** 执行标准 */
|
||||
private String standard;
|
||||
@@ -232,4 +167,71 @@ public class ProduceshiftorderdetailDto implements Serializable {
|
||||
|
||||
/** 米克重 */
|
||||
private String mg_weight;
|
||||
|
||||
/** 工单明细数量 */
|
||||
private String order_detail_qty;
|
||||
|
||||
/** 图标类型 */
|
||||
private String lettering_icon;
|
||||
|
||||
/** 图标后刻字信息 */
|
||||
private String lettering_message2;
|
||||
|
||||
/** 当前上料数量 */
|
||||
private String present_feeding_number;
|
||||
|
||||
/** 上料合格数量 */
|
||||
private String feeding_qualified_number;
|
||||
|
||||
/** 当前刻字数量 */
|
||||
private String present_lettering_number;
|
||||
|
||||
/** 刻字合格数量 */
|
||||
private String qualified_lettering_number;
|
||||
|
||||
/** 当前套冒数量 */
|
||||
private String present_sleeveing_number;
|
||||
|
||||
/** 捆扎合格包数 */
|
||||
private String qualified_strap_pack_number;
|
||||
|
||||
/** 当前捆扎数量 */
|
||||
private String present_strap_number;
|
||||
|
||||
/** 捆扎开始时间 */
|
||||
private String strap_start_time;
|
||||
|
||||
/** 捆扎完成时间 */
|
||||
private String strap_finish_time;
|
||||
|
||||
/** 贴标模板 */
|
||||
private String labeling_template;
|
||||
|
||||
/** 贴标合格数量 */
|
||||
private String qualified_labeling_number;
|
||||
|
||||
/** 上料完成 */
|
||||
private String feeding_finished;
|
||||
|
||||
/** 刻字完成 */
|
||||
private String lettering_finished;
|
||||
|
||||
/** 套冒完成 */
|
||||
private String sleeveing_finished;
|
||||
|
||||
/** 裹膜完成 */
|
||||
private String wraping_finished;
|
||||
|
||||
/** 捆扎完成 */
|
||||
private String strap_finished;
|
||||
|
||||
/** 贴标完成 */
|
||||
private String labeling_finished;
|
||||
|
||||
/** 模板id */
|
||||
private String template_id;
|
||||
|
||||
/** 颜色 */
|
||||
private String color_type;
|
||||
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ import com.spire.xls.Workbook;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.acs.device_driver.hailiang.hailiang_feeding_trunk.HaiLiangFeedingTrunkDeviceDriver;
|
||||
import org.nl.acs.device_driver.hailiang.hailiang_labeling.HaiLiangLabelingDeviceDriver;
|
||||
import org.nl.acs.opc.DeviceAppService;
|
||||
import org.nl.acs.order.service.ProduceshiftorderService;
|
||||
import org.nl.acs.order.service.ProduceshiftorderdetailService;
|
||||
@@ -226,12 +227,20 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
||||
if (ObjectUtil.isEmpty(tableData)){
|
||||
throw new BadRequestException("客户信息不可为空!");
|
||||
}
|
||||
String jackup_num = "";
|
||||
if(Double.valueOf(outer_diameter) < 34.93){
|
||||
jackup_num = "5";
|
||||
} else {
|
||||
jackup_num = "2";
|
||||
}
|
||||
|
||||
String order_code = CodeUtil.getNewCode("ORDER_NO");
|
||||
String order_id = IdUtil.simpleUUID();
|
||||
orderDto.setMaterial_code(material_code);
|
||||
orderDto.setMaterial_name(material_name);
|
||||
orderDto.setMaterial_spec(material_spec);
|
||||
orderDto.setMaterial_uuid(material_id);
|
||||
orderDto.setJackup_num(jackup_num);
|
||||
orderDto.setLength(length);
|
||||
orderDto.setOuter_diameter(outer_diameter);
|
||||
orderDto.setWall_thickness(wall_thickness);
|
||||
@@ -532,7 +541,7 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
||||
if(haiLiangFeedingTrunkDeviceDriver.getPause() == 1 ){
|
||||
throw new BadRequestException("设备已处于暂停状态,无法下发暂停!");
|
||||
}
|
||||
haiLiangFeedingTrunkDeviceDriver.writing("item_to_pause","1");
|
||||
haiLiangFeedingTrunkDeviceDriver.writing("to_pause","1");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -548,7 +557,7 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
||||
if(haiLiangFeedingTrunkDeviceDriver.getPause() == 0 ){
|
||||
throw new BadRequestException("设备已处于恢复状态,无法下发恢复!");
|
||||
}
|
||||
haiLiangFeedingTrunkDeviceDriver.writing("item_to_pause","0");
|
||||
haiLiangFeedingTrunkDeviceDriver.writing("to_pause","0");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -562,13 +571,76 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
||||
if(haiLiangFeedingTrunkDeviceDriver.getMode() !=2){
|
||||
throw new BadRequestException("设备未联机,无法下发恢复!");
|
||||
}
|
||||
if(haiLiangFeedingTrunkDeviceDriver.getPause() == 0 ){
|
||||
throw new BadRequestException("设备已处于恢复状态,无法下发恢复!");
|
||||
}
|
||||
haiLiangFeedingTrunkDeviceDriver.writing("item_to_pause","0");
|
||||
|
||||
haiLiangFeedingTrunkDeviceDriver.writing("to_pause","1");
|
||||
}
|
||||
}
|
||||
|
||||
//下发刻字信息
|
||||
@Override
|
||||
public void send_letteringMess(Map where) throws IOException {
|
||||
String order_code = where.get("parent_order_code").toString();
|
||||
String deatail_code = where.get("order_code").toString();
|
||||
ProduceshiftorderdetailDto dto = produceshiftorderdetailService.findOrderDetailFromCache(order_code,deatail_code);
|
||||
if(ObjectUtil.isEmpty(dto)){
|
||||
throw new BadRequestException("未找到对应工单明细!");
|
||||
|
||||
}
|
||||
produceshiftorderdetailService.sendLetteringMess(dto);
|
||||
|
||||
}
|
||||
|
||||
//下发贴标信息
|
||||
@Override
|
||||
public void send_labelingMess(Map where) {
|
||||
String order_code = where.get("parent_order_code").toString();
|
||||
String deatail_code = where.get("order_code").toString();
|
||||
ProduceshiftorderDto dto = findOrderByOrderCodeFromCache(order_code);
|
||||
ProduceshiftorderdetailDto detaildto = produceshiftorderdetailService.findOrderDetailFromCache(order_code,deatail_code);
|
||||
if(ObjectUtil.isEmpty(detaildto)){
|
||||
throw new BadRequestException("未找到对应工单明细!");
|
||||
|
||||
}
|
||||
// 2.根据明细template_id 找到对应的模板
|
||||
JSONObject jsonStor = WQL.getWO("QPRODUCESHIFTORDER").addParam("flag", "3").addParam("storage_id", detaildto.getTemplate_id()).process().uniqueResult(0);
|
||||
|
||||
//labelingTemplateService.printMessage(dto,qty);
|
||||
String path = jsonStor.getString("path");
|
||||
String pathName = "E:\\work\\"+jsonStor.getString("name")+ jsonStor.getString("storage_id") + ".xlsx";
|
||||
|
||||
HaiLiangLabelingDeviceDriver haiLiangLabelingDeviceDriver;
|
||||
int one_qty = 0;
|
||||
int labeling_index = 0;
|
||||
|
||||
List<HaiLiangLabelingDeviceDriver> deviceAll = deviceAppService.findDeviceDriver(HaiLiangLabelingDeviceDriver.class);
|
||||
if (deviceAll.get(0) instanceof HaiLiangLabelingDeviceDriver) {
|
||||
haiLiangLabelingDeviceDriver = (HaiLiangLabelingDeviceDriver) deviceAll.get(0);
|
||||
one_qty = haiLiangLabelingDeviceDriver.getOne_qty();
|
||||
labeling_index = haiLiangLabelingDeviceDriver.getLabeling_index();
|
||||
}
|
||||
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("order_id",dto.getOrder_id());
|
||||
jo.put("template_id",detaildto.getTemplate_id());
|
||||
jo.put("path",path);
|
||||
jo.put("url",pathName);
|
||||
jo.put("alloy",dto.getAlloy());
|
||||
jo.put("temper",dto.getTemper());
|
||||
jo.put("material_spec",dto.getMaterial_spec());
|
||||
jo.put("number",String.valueOf(one_qty));
|
||||
jo.put("outer_diameter",dto.getOuter_diameter());
|
||||
jo.put("standard",detaildto.getStandard());
|
||||
jo.put("batch",detaildto.getBatch());
|
||||
jo.put("prod_date",detaildto.getProd_date());
|
||||
jo.put("present_strap_pack_number",String.valueOf(labeling_index));
|
||||
jo.put("inspector",detaildto.getInspector());
|
||||
jo.put("mg_weight",detaildto.getMg_weight());
|
||||
//打印纸张大小
|
||||
jo.put("page_length","50");
|
||||
jo.put("page_height","40");
|
||||
print(jo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clear() {
|
||||
HaiLiangFeedingTrunkDeviceDriver haiLiangFeedingTrunkDeviceDriver;
|
||||
@@ -581,7 +653,10 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
||||
if(haiLiangFeedingTrunkDeviceDriver.getClear() == 1 ){
|
||||
throw new BadRequestException("设备已处于清料状态,无法下发清料!");
|
||||
}
|
||||
haiLiangFeedingTrunkDeviceDriver.writing("item_to_clear","1");
|
||||
if(haiLiangFeedingTrunkDeviceDriver.getOrder_feeding_finish() == 0 ){
|
||||
throw new BadRequestException("设备未上料完成,无法下发清料!");
|
||||
}
|
||||
haiLiangFeedingTrunkDeviceDriver.writing("to_clear","1");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -597,27 +672,32 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
||||
if(haiLiangFeedingTrunkDeviceDriver.getPause() != 0 ){
|
||||
throw new BadRequestException("设备已处于暂停状态,无法下发暂停!");
|
||||
}
|
||||
haiLiangFeedingTrunkDeviceDriver.writing("item_to_pause","0");
|
||||
haiLiangFeedingTrunkDeviceDriver.writing("to_pause","0");
|
||||
}
|
||||
}
|
||||
|
||||
//强制完成
|
||||
@Override
|
||||
public void order_force_complete(Map whereJson) {
|
||||
String order = whereJson.get("order_code").toString();
|
||||
ProduceshiftorderDto orderdto = findOrderByOrderCodeFromCache(order);
|
||||
if(ObjectUtil.isEmpty(orderdto)){
|
||||
throw new BadRequestException("未找到对应工单!");
|
||||
}
|
||||
orderdto.setOrder_status("06");
|
||||
HaiLiangFeedingTrunkDeviceDriver haiLiangFeedingTrunkDeviceDriver;
|
||||
List<HaiLiangFeedingTrunkDeviceDriver> deviceAll = deviceAppService.findDeviceDriver(HaiLiangFeedingTrunkDeviceDriver.class);
|
||||
if (deviceAll.get(0) instanceof HaiLiangFeedingTrunkDeviceDriver) {
|
||||
haiLiangFeedingTrunkDeviceDriver = (HaiLiangFeedingTrunkDeviceDriver) deviceAll.get(0);
|
||||
if(haiLiangFeedingTrunkDeviceDriver.getMode() !=2){
|
||||
throw new BadRequestException("设备未联机,无法下发暂停!");
|
||||
}
|
||||
if(haiLiangFeedingTrunkDeviceDriver.getOrder() == 0 ){
|
||||
throw new BadRequestException("设备已处于恢复状态,无法下发恢复!");
|
||||
}
|
||||
haiLiangFeedingTrunkDeviceDriver.writing("item_to_pause","0");
|
||||
// if(haiLiangFeedingTrunkDeviceDriver.getMode() !=2){
|
||||
// throw new BadRequestException("设备未联机,无法下发暂停!");
|
||||
// }
|
||||
haiLiangFeedingTrunkDeviceDriver.writing("to_order_complete","1");
|
||||
}
|
||||
update(orderdto);
|
||||
}
|
||||
|
||||
|
||||
//工单明细暂停
|
||||
@Override
|
||||
public void detail_pause(Map whereJson) {
|
||||
String is_flag = MapUtil.getStr(whereJson, "is_flag");
|
||||
@@ -649,25 +729,27 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
||||
if(haiLiangFeedingTrunkDeviceDriver.getPause() == 1 ){
|
||||
throw new BadRequestException("设备已处于暂停状态,无法下发!");
|
||||
}
|
||||
haiLiangFeedingTrunkDeviceDriver.writing("item_to_pause","0");
|
||||
haiLiangFeedingTrunkDeviceDriver.writing("to_pause","0");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void detail_force_complete(Map whereJson) {
|
||||
String order = whereJson.get("parent_order_code").toString();
|
||||
String detail = whereJson.get("order_code").toString();
|
||||
ProduceshiftorderdetailDto detaildto = produceshiftorderdetailService.findOrderDetailFromCache(order,detail);
|
||||
if(ObjectUtil.isEmpty(detaildto)){
|
||||
throw new BadRequestException("未找到对应工单明细!");
|
||||
}
|
||||
detaildto.setOrder_detail_status("04");
|
||||
HaiLiangFeedingTrunkDeviceDriver haiLiangFeedingTrunkDeviceDriver;
|
||||
List<HaiLiangFeedingTrunkDeviceDriver> deviceAll = deviceAppService.findDeviceDriver(HaiLiangFeedingTrunkDeviceDriver.class);
|
||||
if (deviceAll.get(0) instanceof HaiLiangFeedingTrunkDeviceDriver) {
|
||||
haiLiangFeedingTrunkDeviceDriver = (HaiLiangFeedingTrunkDeviceDriver) deviceAll.get(0);
|
||||
if(haiLiangFeedingTrunkDeviceDriver.getMode() !=2){
|
||||
throw new BadRequestException("设备联机,无法下发暂停!");
|
||||
}
|
||||
if(haiLiangFeedingTrunkDeviceDriver.getPause() == 0 ){
|
||||
throw new BadRequestException("设备已处于恢复状态,无法下发恢复!");
|
||||
}
|
||||
haiLiangFeedingTrunkDeviceDriver.writing("item_to_pause","0");
|
||||
haiLiangFeedingTrunkDeviceDriver.writing("to_order_detail_complete","1");
|
||||
}
|
||||
produceshiftorderdetailService.update(detaildto);
|
||||
}
|
||||
|
||||
|
||||
@@ -868,14 +950,31 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("template_id", obj.getString("template_id"));
|
||||
json.put("template_code", obj.getString("template_code"));
|
||||
json.put("template_name", obj.getString("template_name"));
|
||||
json.put("template_name", obj.getString("template_name"));
|
||||
result.add(json);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public JSONArray selectColortypeList() {
|
||||
//贴标模板表【acs_labeling_template】
|
||||
JSONArray arr = WQLObject.getWQLObject("sys_dict_detail").query("is_delete= '0' AND is_used= '1' and name='color_type'","dict_sort asc").getResultJSONArray(0);
|
||||
JSONArray result = new JSONArray();
|
||||
for (int i = 0; i < arr.size(); i++) {
|
||||
JSONObject obj = arr.getJSONObject(i);
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("id", obj.getString("id"));
|
||||
json.put("label", obj.getString("label"));
|
||||
json.put("value", obj.getString("value"));
|
||||
result.add(json);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void print(JSONObject whereJson) {
|
||||
public Boolean print(JSONObject whereJson) {
|
||||
String order_id = whereJson.getString("order_id");
|
||||
String template_id = whereJson.getString("template_id");
|
||||
|
||||
@@ -929,7 +1028,9 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
||||
printerJob.print();
|
||||
} catch (PrinterException e) {
|
||||
e.printStackTrace();
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -176,7 +176,7 @@ public class ProduceshiftorderdetailServiceImpl implements Produceshiftorderdeta
|
||||
map.put("上料数量", produceshiftorderdetail.getFeeding_qty());
|
||||
map.put("上料合格数量", produceshiftorderdetail.getFeeding_qualified_number());
|
||||
map.put("上料开始时间", produceshiftorderdetail.getFeeding_start_time());
|
||||
map.put("上料完成时间", produceshiftorderdetail.getFeeding_finish_time());
|
||||
map.put("上料完成时间", produceshiftorderdetail.getFeeding_end_time());
|
||||
map.put("刻字合格数量", produceshiftorderdetail.getQualified_lettering_number());
|
||||
map.put("刻字开始时间", produceshiftorderdetail.getLettering_start_time());
|
||||
map.put("刻字完成时间", produceshiftorderdetail.getLettering_finish_time());
|
||||
@@ -206,7 +206,7 @@ public class ProduceshiftorderdetailServiceImpl implements Produceshiftorderdeta
|
||||
}
|
||||
|
||||
public synchronized void reload() {
|
||||
this.detail = this.queryAllOrderDteail(" (order_detail_status != '05' and order_detail_status != '06' and order_detail_status != '07') and is_deleted =0");
|
||||
this.detail = this.queryAllOrderDteail(" (order_detail_status != '05' and order_detail_status != '06' and order_detail_status != '07') and is_deleted =0 order by order_detail_code");
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -249,10 +249,17 @@ public class ProduceshiftorderdetailServiceImpl implements Produceshiftorderdeta
|
||||
String msg1 = dto.getLettering_message();
|
||||
String msg2 = dto.getLettering_message2();
|
||||
String icon = dto.getLettering_icon();
|
||||
message = msg1 + msg2;
|
||||
if(StrUtil.equals(icon,"1")){
|
||||
icon = "<";
|
||||
} else if (StrUtil.equals(icon,"2")) {
|
||||
icon = ">";
|
||||
} else {
|
||||
icon = "";
|
||||
}
|
||||
message = msg1 + icon + msg2;
|
||||
//清缓存
|
||||
try {
|
||||
LetteringSocketConnectionAutoRun.write("BUFFERCLEAR" + "\r\n");
|
||||
// LetteringSocketConnectionAutoRun.write("BUFFERCLEAR" + "\r\n");
|
||||
String yh = "\"";
|
||||
String strInst = "SETTEXT " + "S1" + " " + yh + message + yh + "\r\n"; //2个变量
|
||||
LetteringSocketConnectionAutoRun.write(strInst + "\r\n");
|
||||
|
||||
@@ -5,8 +5,7 @@ public class Test {
|
||||
public static void main(String[] args) {
|
||||
|
||||
Process printProcess;
|
||||
String printName ="HP LaserJet Pro MFP M225-M226 PCL 6";
|
||||
|
||||
String printName ="Zebra ZE500-4 RH (300 dpi)";
|
||||
try
|
||||
{
|
||||
printProcess = Runtime
|
||||
@@ -14,7 +13,7 @@ public class Test {
|
||||
.exec(new String[] {
|
||||
"C:\\Users\\noblelift\\Desktop\\条码标签设计软件和打印程序\\BarcodePrint\\BarcodePrint.exe",
|
||||
"PrinterName=" + printName,
|
||||
"LabelName=Label.ct", "Text5="+ "111","Text6="+"222","Text7="+"333","Text8="+"444"});
|
||||
"LabelName=Label1.ct", "Text1="+ "12211","Text2="+"23422","Text3="+"3533","Text4="+"6444"});
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -22,6 +21,7 @@ public class Test {
|
||||
|
||||
}
|
||||
|
||||
//System.out.println(17%15);
|
||||
|
||||
}
|
||||
|
||||
|
||||
Binary file not shown.
@@ -940,18 +940,25 @@ public class StageActorServiceImpl implements StageActorService {
|
||||
haiLiangFeedingTrunkDeviceDriver = (HaiLiangFeedingTrunkDeviceDriver) device.getDeviceDriver();
|
||||
if (haiLiangFeedingTrunkDeviceDriver.getMode() == 0) {
|
||||
mode = "未联机";
|
||||
jo.put("isOnline", false);
|
||||
} else if (haiLiangFeedingTrunkDeviceDriver.getMode() == 1) {
|
||||
mode = "单机";
|
||||
jo.put("isOnline", false);
|
||||
} else if (haiLiangFeedingTrunkDeviceDriver.getMode() == 2) {
|
||||
mode = "联机";
|
||||
jo.put("isOnline", true);
|
||||
} else if (haiLiangFeedingTrunkDeviceDriver.getMode() == 3) {
|
||||
mode = "工作中";
|
||||
jo.put("isOnline", true);
|
||||
} else if (haiLiangFeedingTrunkDeviceDriver.getMode() == 4) {
|
||||
mode = "申请工单";
|
||||
jo.put("isOnline", true);
|
||||
} else if (haiLiangFeedingTrunkDeviceDriver.getMode() == 5) {
|
||||
mode = "申请工单明细号";
|
||||
jo.put("isOnline", true);
|
||||
} else if (haiLiangFeedingTrunkDeviceDriver.getMode() == 6) {
|
||||
mode = "急停";
|
||||
jo.put("isOnline", true);
|
||||
}
|
||||
obj.put("device_name", haiLiangFeedingTrunkDeviceDriver.getDevice().getDevice_name());
|
||||
jo.put("mode", mode);
|
||||
@@ -969,7 +976,7 @@ public class StageActorServiceImpl implements StageActorService {
|
||||
jo.put("detail_strapping_qty", haiLiangFeedingTrunkDeviceDriver.getDetail_strapping_qty());
|
||||
jo.put("detail_strapping_oneqty", haiLiangFeedingTrunkDeviceDriver.getDetail_strapping_oneqty());
|
||||
jo.put("detail_coating_qty", haiLiangFeedingTrunkDeviceDriver.getDetail_coating_qty());
|
||||
jo.put("labeling_order", haiLiangFeedingTrunkDeviceDriver.getLabeling_order());
|
||||
jo.put("labeling_order_detail", haiLiangFeedingTrunkDeviceDriver.getLabeling_order_detail());
|
||||
jo.put("detail_labeling_qualified_qty", haiLiangFeedingTrunkDeviceDriver.getDetail_labeling_qualified_qty());
|
||||
jo.put("detail_labeling_qty", haiLiangFeedingTrunkDeviceDriver.getDetail_labeling_qty());
|
||||
jo.put("ready", haiLiangFeedingTrunkDeviceDriver.getReady());
|
||||
@@ -992,16 +999,22 @@ public class StageActorServiceImpl implements StageActorService {
|
||||
haiLiangFeedingDeviceDriver = (HaiLiangFeedingDeviceDriver) device.getDeviceDriver();
|
||||
if (haiLiangFeedingDeviceDriver.getMode() == 0) {
|
||||
mode = "未联机";
|
||||
jo.put("isOnline", false);
|
||||
} else if (haiLiangFeedingDeviceDriver.getMode() == 1) {
|
||||
mode = "单机";
|
||||
jo.put("isOnline", false);
|
||||
} else if (haiLiangFeedingDeviceDriver.getMode() == 2) {
|
||||
mode = "联机";
|
||||
jo.put("isOnline", true);
|
||||
} else if (haiLiangFeedingDeviceDriver.getMode() == 3) {
|
||||
mode = "工作中";
|
||||
jo.put("isOnline", true);
|
||||
} else if (haiLiangFeedingDeviceDriver.getMode() == 4) {
|
||||
mode = "上料完成";
|
||||
jo.put("isOnline", true);
|
||||
} else if (haiLiangFeedingDeviceDriver.getMode() == 5) {
|
||||
mode = "强制上料完成";
|
||||
jo.put("isOnline", true);
|
||||
}
|
||||
if (haiLiangFeedingDeviceDriver.getMove() == 0) {
|
||||
move = "无货";
|
||||
@@ -1024,16 +1037,22 @@ public class StageActorServiceImpl implements StageActorService {
|
||||
haiLiangLetteringDeviceDriver = (HaiLiangLetteringDeviceDriver) device.getDeviceDriver();
|
||||
if (haiLiangLetteringDeviceDriver.getMode() == 0) {
|
||||
mode = "未联机";
|
||||
jo.put("isOnline", false);
|
||||
} else if (haiLiangLetteringDeviceDriver.getMode() == 1) {
|
||||
mode = "单机";
|
||||
jo.put("isOnline", false);
|
||||
} else if (haiLiangLetteringDeviceDriver.getMode() == 2) {
|
||||
mode = "联机";
|
||||
jo.put("isOnline", true);
|
||||
} else if (haiLiangLetteringDeviceDriver.getMode() == 3) {
|
||||
mode = "工作中";
|
||||
jo.put("isOnline", true);
|
||||
} else if (haiLiangLetteringDeviceDriver.getMode() == 4) {
|
||||
mode = "刻字完成";
|
||||
jo.put("isOnline", true);
|
||||
} else if (haiLiangLetteringDeviceDriver.getMode() == 5) {
|
||||
mode = "强制刻字完成";
|
||||
jo.put("isOnline", true);
|
||||
}
|
||||
if (haiLiangLetteringDeviceDriver.getMove() == 0) {
|
||||
move = "无货";
|
||||
@@ -1054,16 +1073,22 @@ public class StageActorServiceImpl implements StageActorService {
|
||||
haiLiangRiskingDeviceDriver = (HaiLiangRiskingDeviceDriver) device.getDeviceDriver();
|
||||
if (haiLiangRiskingDeviceDriver.getMode() == 0) {
|
||||
mode = "未联机";
|
||||
jo.put("isOnline", false);
|
||||
} else if (haiLiangRiskingDeviceDriver.getMode() == 1) {
|
||||
mode = "单机";
|
||||
jo.put("isOnline", false);
|
||||
} else if (haiLiangRiskingDeviceDriver.getMode() == 2) {
|
||||
mode = "联机";
|
||||
jo.put("isOnline", true);
|
||||
} else if (haiLiangRiskingDeviceDriver.getMode() == 3) {
|
||||
mode = "工作中";
|
||||
jo.put("isOnline", true);
|
||||
} else if (haiLiangRiskingDeviceDriver.getMode() == 4) {
|
||||
mode = "套冒完成";
|
||||
jo.put("isOnline", true);
|
||||
} else if (haiLiangRiskingDeviceDriver.getMode() == 5) {
|
||||
mode = "强制套冒完成";
|
||||
jo.put("isOnline", true);
|
||||
}
|
||||
if (haiLiangRiskingDeviceDriver.getMove() == 0) {
|
||||
move = "无货";
|
||||
@@ -1169,7 +1194,6 @@ public class StageActorServiceImpl implements StageActorService {
|
||||
jo.put("order", haiLiangLabelingDeviceDriver.getOrder());
|
||||
jo.put("order_detail", haiLiangLabelingDeviceDriver.getOrder_detail());
|
||||
jo.put("detail_qty", haiLiangLabelingDeviceDriver.getDetail_qty());
|
||||
jo.put("detail_qualified_qty", haiLiangLabelingDeviceDriver.getDetail_qualified_qty());
|
||||
}
|
||||
obj.put("data", jo);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.nl.start.auto.run;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.sf.json.JSONObject;
|
||||
import org.nl.acs.config.AcsConfig;
|
||||
import org.nl.acs.config.server.AcsConfigService;
|
||||
import org.nl.acs.config.server.impl.AcsConfigServiceImpl;
|
||||
@@ -76,7 +77,8 @@ public class LetteringSocketConnectionAutoRun extends AbstractAutoRunnable {
|
||||
// if (StrUtil.equals(bs.toString(), "MSG 3")) {
|
||||
//
|
||||
// }
|
||||
if (StrUtil.equals(bs.toString(), "OK")) {
|
||||
// if (StrUtil.equals(bs.toString(), "OK")) {
|
||||
if(bs.toString().contains("OK")){
|
||||
HaiLiangFeedingTrunkDeviceDriver haiLiangFeedingTrunkDeviceDriver;
|
||||
List<HaiLiangFeedingTrunkDeviceDriver> deviceAll = deviceAppService.findDeviceDriver(HaiLiangFeedingTrunkDeviceDriver.class);
|
||||
if (deviceAll.get(0) instanceof HaiLiangFeedingTrunkDeviceDriver) {
|
||||
@@ -148,6 +150,10 @@ public class LetteringSocketConnectionAutoRun extends AbstractAutoRunnable {
|
||||
|
||||
|
||||
public static void main(String[] args) throws UnsupportedEncodingException {
|
||||
byte[] bytes = "你".getBytes("utf-8");
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("x",10.0);
|
||||
jo.put("y",3.0);
|
||||
jo.put("angle",0);
|
||||
System.out.println(bytesToHexString(stringToByte(jo.toString())));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,12 +8,12 @@ spring:
|
||||
druid:
|
||||
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
|
||||
#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:192.168.1.90}:${DB_PORT:3306}/${DB_NAME:hl_zgbz_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true
|
||||
username: ${DB_USER:root}
|
||||
#password: ${DB_PWD:P@ssw0rd}
|
||||
password: ${DB_PWD:Root.123456}
|
||||
#password: ${DB_PWD:123456}
|
||||
#password: ${DB_PWD:Root.123456}
|
||||
password: ${DB_PWD:123456}
|
||||
# 初始连接数
|
||||
initial-size: 5
|
||||
# 最小连接数
|
||||
|
||||
@@ -83,6 +83,21 @@ export function order_pause(data) {
|
||||
})
|
||||
}
|
||||
|
||||
export function send_letteringMess(data) {
|
||||
return request({
|
||||
url: 'api/produceshiftorder/send_letteringMess',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function send_labelingMess(data) {
|
||||
return request({
|
||||
url: 'api/produceshiftorder/send_labelingMess',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
export function order_force_complete(data) {
|
||||
return request({
|
||||
url: 'api/produceshiftorder/order_force_complete',
|
||||
@@ -114,6 +129,13 @@ export function selectTemplateList() {
|
||||
})
|
||||
}
|
||||
|
||||
export function selectColortypeList() {
|
||||
return request({
|
||||
url: 'api/produceshiftorder/selectColortypeList',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function reload() {
|
||||
return request({
|
||||
url: 'api/produceshiftorder/reload',
|
||||
@@ -122,4 +144,4 @@ export function reload() {
|
||||
}
|
||||
|
||||
export default { add, edit, del, importExcel, getDtl, send, device_pause, device_restore, clear, stop, order_pause, order_force_complete, detail_pause, detail_force_complete,
|
||||
selectTemplateList, reload }
|
||||
selectTemplateList, selectColortypeList, reload, send_letteringMess, send_labelingMess }
|
||||
|
||||
@@ -94,16 +94,16 @@
|
||||
:header-cell-style="{background:'#f5f7fa',color:'#606266'}"
|
||||
>
|
||||
<el-table-column type="index" label="序号" width="55" align="center" />
|
||||
<el-table-column prop="customer_code" label="客户编码" align="center">
|
||||
<template scope="scope">
|
||||
<el-input v-show="!scope.row.edit" v-model="scope.row.cust_code" size="mini">
|
||||
<el-table-column prop="customer_code" label="客户编码" width="150" align="center">
|
||||
<template scope="scope" >
|
||||
<el-input v-show="!scope.row.edit" v-model="scope.row.cust_code" width="100" size="mini">
|
||||
<el-button slot="append" icon="el-icon-plus" @click="queryCustomer(scope.$index, scope.row)" />
|
||||
</el-input>
|
||||
<span v-show="!scope.row.edit && mater_btn">{{ scope.row.custcode }}</span>
|
||||
<span v-show="scope.row.edit">{{ scope.row.cust_code }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="customer_name" label="客户名称" align="center">
|
||||
<el-table-column prop="customer_name" label="客户名称" width="100" align="center">
|
||||
<template scope="scope">
|
||||
<el-input v-show="!scope.row.edit" v-model="scope.row.cust_name" size="mini" />
|
||||
<span v-show="scope.row.edit">{{ scope.row.cust_name }}</span>
|
||||
@@ -145,13 +145,13 @@
|
||||
<span v-show="scope.row.edit">{{ scope.row.mg_weight }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="lettering_message" label="图标前刻字信息" align="center">
|
||||
<el-table-column prop="lettering_message" width="100" label="图标前刻字信息" align="center">
|
||||
<template scope="scope">
|
||||
<el-input v-show="!scope.row.edit" v-model="scope.row.lettering_message" size="mini" />
|
||||
<span v-show="scope.row.edit">{{ scope.row.lettering_message }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="lettering_icon" label="刻字图标" align="center">
|
||||
<el-table-column prop="lettering_icon" label="刻字图标" width="120" align="center">
|
||||
<template scope="scope">
|
||||
<el-select
|
||||
v-model="scope.row.lettering_icon"
|
||||
@@ -167,34 +167,50 @@
|
||||
</el-select>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="lettering_message2" label="图标后刻字信息" align="center">
|
||||
<el-table-column prop="lettering_message2" width="100" label="图标后刻字信息" align="center">
|
||||
<template scope="scope">
|
||||
<el-input v-show="!scope.row.edit" v-model="scope.row.lettering_message2" size="mini" />
|
||||
<span v-show="scope.row.edit">{{ scope.row.lettering_message2 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="color_type" label="套冒颜色" align="center">
|
||||
<template scope="scope">
|
||||
<el-select
|
||||
v-model="scope.row.color_type"
|
||||
clearable
|
||||
class="filter-item"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in colortypeList"
|
||||
:key="item.id"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="strap_number" label="捆扎每包数量" align="center">
|
||||
<template scope="scope">
|
||||
<el-input v-show="!scope.row.edit" v-model="scope.row.strap_number" size="mini" />
|
||||
<span v-show="scope.row.edit">{{ scope.row.strap_number }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="labeling_template" label="贴标模板" align="center">
|
||||
<template scope="scope">
|
||||
<el-select
|
||||
v-model="scope.row.labeling_template"
|
||||
clearable
|
||||
class="filter-item"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in templateList"
|
||||
:key="item.template_id"
|
||||
:label="item.template_name"
|
||||
:value="item.template_code"
|
||||
/>
|
||||
</el-select>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column prop="labeling_template" label="贴标模板" align="center">-->
|
||||
<!-- <template scope="scope">-->
|
||||
<!-- <el-select-->
|
||||
<!-- v-model="scope.row.labeling_template"-->
|
||||
<!-- clearable-->
|
||||
<!-- class="filter-item"-->
|
||||
<!-- >-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="item in templateList"-->
|
||||
<!-- :key="item.template_id"-->
|
||||
<!-- :label="item.template_name"-->
|
||||
<!-- :value="item.template_code"-->
|
||||
<!-- />-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<!-- <el-table-column prop="priority" label="优先级" align="center">-->
|
||||
<!-- <template scope="scope">-->
|
||||
<!-- <el-input v-show="!scope.row.edit" v-model="scope.row.priority" size="mini" />-->
|
||||
@@ -293,6 +309,7 @@ import { getToken } from '@/utils/auth'
|
||||
import { mapGetters } from 'vuex'
|
||||
import CustomerDtl from '@/views/acs/order/CustomerDialog'
|
||||
import CRUD, { crud, form } from '@crud/crud'
|
||||
import { get } from '@/api/system/dictDetail'
|
||||
const defaultForm = { tableData: [], order_code: null, material_code: null, material_spec: null,
|
||||
outer_diameter: null, wall_thickness: null, detail_count: 0 }
|
||||
|
||||
@@ -328,6 +345,7 @@ export default {
|
||||
dtlJson: null,
|
||||
dtlIndex: null,
|
||||
dtlShow: false,
|
||||
colortypeList: [],
|
||||
templateList: [],
|
||||
opendtlParam: null,
|
||||
bill_btn: false,
|
||||
@@ -384,6 +402,10 @@ export default {
|
||||
debugger
|
||||
crudProduceshiftorder.selectTemplateList().then(data => {
|
||||
this.templateList = data
|
||||
}),
|
||||
// 获取区域类型
|
||||
get('color_type').then(data => {
|
||||
this.colortypeList = data.content
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
|
||||
@@ -44,17 +44,28 @@
|
||||
>
|
||||
清料
|
||||
</el-button>
|
||||
<!-- <el-button-->
|
||||
<!-- slot="right"-->
|
||||
<!-- class="filter-item"-->
|
||||
<!-- type="success"-->
|
||||
<!-- icon="el-icon-position"-->
|
||||
<!-- :disabled="crud.selections.length !== 1"-->
|
||||
<!-- size="mini"-->
|
||||
<!-- @click="order_pause"-->
|
||||
<!-- >-->
|
||||
<!-- 工单暂停-->
|
||||
<!-- </el-button>-->
|
||||
<el-button
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
type="success"
|
||||
icon="el-icon-position"
|
||||
:disabled="crud.selections.length !== 1"
|
||||
size="mini"
|
||||
@click="send_letteringMess(crud.selections)"
|
||||
>
|
||||
手动下发刻字信息
|
||||
</el-button>
|
||||
<el-button
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
type="success"
|
||||
icon="el-icon-position"
|
||||
:disabled="crud.selections.length !== 1"
|
||||
size="mini"
|
||||
@click="send_labelingMess(crud.selections)"
|
||||
>
|
||||
手动下发贴标信息
|
||||
</el-button>
|
||||
</crudOperation>
|
||||
<!--表格渲染-->
|
||||
<el-table
|
||||
@@ -113,6 +124,8 @@
|
||||
<el-table-column prop="present_strap_number" label="当前捆扎数" />
|
||||
<el-table-column prop="present_wraping_number" label="当前裹膜数量" />
|
||||
<el-table-column prop="qualified_wraping_number" label="当前裹膜合格数量" />
|
||||
<el-table-column prop="present_labeling_number" label="当前贴标数量" />
|
||||
<!-- <el-table-column prop="qualified_wraping_number" label="当前贴标合格数量" />-->
|
||||
<el-table-column prop="feeding_finished" label="上料完成" >
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.feeding_finished==='0' && scope.row.is_flag ==='0' ">否</span>
|
||||
@@ -159,9 +172,9 @@
|
||||
<el-table-column prop="create_time" label="创建时间" />
|
||||
<el-table-column label="操作" width="200px" align="center" fixed="right">
|
||||
<template slot-scope="scope">
|
||||
<el-button v-if="scope.row.is_flag ==='1'" type="text" size="small" @click="handleClick(scope.row,'1')">暂停工单</el-button>
|
||||
<!-- <el-button v-if="scope.row.is_flag ==='1'" type="text" size="small" @click="handleClick(scope.row,'1')">暂停工单</el-button>-->
|
||||
<el-button v-if="scope.row.is_flag ==='1'" type="text" size="small" @click="handleClick(scope.row,'2')">强制完成工单</el-button>
|
||||
<el-button v-if="scope.row.is_flag ==='0'" type="text" size="small" @click="handleClick(scope.row,'3')">暂停明细</el-button>
|
||||
<!-- <el-button v-if="scope.row.is_flag ==='0'" type="text" size="small" @click="handleClick(scope.row,'3')">暂停明细</el-button>-->
|
||||
<el-button v-if="scope.row.is_flag ==='0'" type="text" size="small" @click="handleClick(scope.row,'4')">强制完成明细</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -401,6 +414,24 @@ export default {
|
||||
console.log(err.response.data.message)
|
||||
})
|
||||
},
|
||||
send_letteringMess(data) {
|
||||
debugger
|
||||
crudProduceshiftorder.send_letteringMess(data[0]).then(res => {
|
||||
this.crud.toQuery()
|
||||
this.crud.notify('下发成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||
}).catch(err => {
|
||||
console.log(err.response.data.message)
|
||||
})
|
||||
},
|
||||
send_labelingMess(data) {
|
||||
debugger
|
||||
crudProduceshiftorder.send_labelingMess(data[0]).then(res => {
|
||||
this.crud.toQuery()
|
||||
this.crud.notify('下发成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||
}).catch(err => {
|
||||
console.log(err.response.data.message)
|
||||
})
|
||||
},
|
||||
handleExceed(files, fileList) {
|
||||
this.$message.warning('当前限制只能选择 1 个文件')
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user