更新
This commit is contained in:
@@ -7,6 +7,7 @@ import org.nl.acs.device.device_driver.standard_inspect.ReadUtil;
|
|||||||
import org.nl.acs.device_driver.DeviceDriver;
|
import org.nl.acs.device_driver.DeviceDriver;
|
||||||
import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver;
|
import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver;
|
||||||
import org.nl.acs.device_driver.driver.ExecutableDeviceDriver;
|
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.opc.Device;
|
||||||
import org.nl.acs.order.service.ProduceshiftorderService;
|
import org.nl.acs.order.service.ProduceshiftorderService;
|
||||||
import org.nl.acs.order.service.ProduceshiftorderdetailService;
|
import org.nl.acs.order.service.ProduceshiftorderdetailService;
|
||||||
@@ -40,15 +41,24 @@ public class HaiLiangCoatingDeviceDriver extends AbstractOpcDeviceDriver impleme
|
|||||||
@Autowired
|
@Autowired
|
||||||
ProduceshiftorderdetailService produceshiftorderdetailService = SpringContextHolder.getBean(ProduceshiftorderdetailService.class);
|
ProduceshiftorderdetailService produceshiftorderdetailService = SpringContextHolder.getBean(ProduceshiftorderdetailService.class);
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
LogServer logServer = SpringContextHolder.getBean(LogServer.class);
|
||||||
|
|
||||||
String device_code;
|
String device_code;
|
||||||
int mode = 0;
|
int mode = 0;
|
||||||
int last_mode = 0;
|
int last_mode = 0;
|
||||||
int error = 0;
|
int error = 0;
|
||||||
|
int last_error = 0;
|
||||||
int move = 0;
|
int move = 0;
|
||||||
int order = 0;
|
int order = 0;
|
||||||
|
int last_order = 0;
|
||||||
int order_detail = 0;
|
int order_detail = 0;
|
||||||
|
int last_order_detail = 0;
|
||||||
int detail_qty = 0;
|
int detail_qty = 0;
|
||||||
|
int last_detail_qty = 0;
|
||||||
int detail_qualified_qty = 0;
|
int detail_qualified_qty = 0;
|
||||||
|
int last_detail_qualified_qty = 0;
|
||||||
|
|
||||||
|
|
||||||
boolean requireSucess = false;
|
boolean requireSucess = false;
|
||||||
|
|
||||||
@@ -70,8 +80,30 @@ public class HaiLiangCoatingDeviceDriver extends AbstractOpcDeviceDriver impleme
|
|||||||
//当前工单明细号上料合格数量
|
//当前工单明细号上料合格数量
|
||||||
detail_qualified_qty = this.itemProtocol.getDetail_qualified_qty();
|
detail_qualified_qty = this.itemProtocol.getDetail_qualified_qty();
|
||||||
if (mode != last_mode) {
|
if (mode != last_mode) {
|
||||||
|
logServer.deviceLog(this.device_code,"mode" ,String.valueOf(mode));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号mode:" + last_mode + "->" + mode);
|
||||||
this.setRequireSucess(false);
|
this.setRequireSucess(false);
|
||||||
}
|
}
|
||||||
|
if (error != last_error) {
|
||||||
|
logServer.deviceLog(this.device_code,"error" ,String.valueOf(error));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号error:" + last_error + "->" + error);
|
||||||
|
}
|
||||||
|
if (order != last_order) {
|
||||||
|
logServer.deviceLog(this.device_code,"order" ,String.valueOf(order));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号order:" + last_order + "->" + order);
|
||||||
|
}
|
||||||
|
if (order_detail != last_order_detail) {
|
||||||
|
logServer.deviceLog(this.device_code,"order_detail" ,String.valueOf(order_detail));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号mode:" + last_order_detail + "->" + order_detail);
|
||||||
|
}
|
||||||
|
if (detail_qty != last_detail_qty) {
|
||||||
|
logServer.deviceLog(this.device_code,"detail_qty" ,String.valueOf(detail_qty));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号detail_qty:" + last_detail_qty + "->" + detail_qty);
|
||||||
|
}
|
||||||
|
if (detail_qualified_qty != last_detail_qualified_qty) {
|
||||||
|
logServer.deviceLog(this.device_code,"detail_qualified_qty" ,String.valueOf(detail_qualified_qty));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号detail_qualified_qty:" + last_detail_qualified_qty + "->" + detail_qualified_qty);
|
||||||
|
}
|
||||||
} catch (Exception var17) {
|
} catch (Exception var17) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -95,13 +127,13 @@ public class HaiLiangCoatingDeviceDriver extends AbstractOpcDeviceDriver impleme
|
|||||||
case 2:
|
case 2:
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
//上料完成
|
//裹膜完成
|
||||||
if(!requireSucess && order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0){
|
if(!requireSucess && order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0){
|
||||||
update_detail(String.valueOf(order),String.valueOf(order_detail),"01");
|
update_detail(String.valueOf(order),String.valueOf(order_detail),"01");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
//强制上料完成
|
//强制裹膜完成
|
||||||
if(!requireSucess && order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0 ) {
|
if(!requireSucess && order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0 ) {
|
||||||
update_detail(String.valueOf(order),String.valueOf(order_detail),"02");
|
update_detail(String.valueOf(order),String.valueOf(order_detail),"02");
|
||||||
}
|
}
|
||||||
@@ -109,6 +141,12 @@ public class HaiLiangCoatingDeviceDriver extends AbstractOpcDeviceDriver impleme
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
last_mode = mode;
|
last_mode = mode;
|
||||||
|
last_mode = mode;
|
||||||
|
last_error = error;
|
||||||
|
last_order = order;
|
||||||
|
last_order_detail = order_detail;
|
||||||
|
last_detail_qty = detail_qty;
|
||||||
|
last_detail_qualified_qty = detail_qualified_qty;
|
||||||
}
|
}
|
||||||
|
|
||||||
public synchronized boolean update_detail(String order, String order_detail,String status) {
|
public synchronized boolean update_detail(String order, String order_detail,String status) {
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package org.nl.acs.device_driver.hailiang.hailiang_feeding;
|
package org.nl.acs.device_driver.hailiang.hailiang_feeding;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -8,10 +9,12 @@ import org.nl.acs.device_driver.DeviceDriver;
|
|||||||
import org.nl.acs.device_driver.RouteableDeviceDriver;
|
import org.nl.acs.device_driver.RouteableDeviceDriver;
|
||||||
import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver;
|
import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver;
|
||||||
import org.nl.acs.device_driver.driver.ExecutableDeviceDriver;
|
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.opc.Device;
|
||||||
import org.nl.acs.order.service.ProduceshiftorderService;
|
import org.nl.acs.order.service.ProduceshiftorderService;
|
||||||
import org.nl.acs.order.service.ProduceshiftorderdetailService;
|
import org.nl.acs.order.service.ProduceshiftorderdetailService;
|
||||||
import org.nl.acs.order.service.dto.ProduceshiftorderdetailDto;
|
import org.nl.acs.order.service.dto.ProduceshiftorderdetailDto;
|
||||||
|
import org.nl.exception.BadRequestException;
|
||||||
import org.nl.utils.SpringContextHolder;
|
import org.nl.utils.SpringContextHolder;
|
||||||
import org.openscada.opc.lib.da.Server;
|
import org.openscada.opc.lib.da.Server;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -40,15 +43,24 @@ public class HaiLiangFeedingDeviceDriver extends AbstractOpcDeviceDriver impleme
|
|||||||
@Autowired
|
@Autowired
|
||||||
ProduceshiftorderdetailService produceshiftorderdetailService = SpringContextHolder.getBean(ProduceshiftorderdetailService.class);
|
ProduceshiftorderdetailService produceshiftorderdetailService = SpringContextHolder.getBean(ProduceshiftorderdetailService.class);
|
||||||
|
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
LogServer logServer = SpringContextHolder.getBean(LogServer.class);
|
||||||
|
|
||||||
String device_code;
|
String device_code;
|
||||||
int mode = 0;
|
int mode = 0;
|
||||||
int last_mode = 0;
|
int last_mode = 0;
|
||||||
int error = 0;
|
int error = 0;
|
||||||
|
int last_error = 0;
|
||||||
int move = 0;
|
int move = 0;
|
||||||
int order = 0;
|
int order = 0;
|
||||||
|
int last_order = 0;
|
||||||
int order_detail = 0;
|
int order_detail = 0;
|
||||||
|
int last_order_detail = 0;
|
||||||
int detail_qty = 0;
|
int detail_qty = 0;
|
||||||
|
int last_detail_qty = 0;
|
||||||
int detail_qualified_qty = 0;
|
int detail_qualified_qty = 0;
|
||||||
|
int last_detail_qualified_qty = 0;
|
||||||
|
|
||||||
boolean requireSucess = false;
|
boolean requireSucess = false;
|
||||||
|
|
||||||
@@ -69,8 +81,30 @@ public class HaiLiangFeedingDeviceDriver extends AbstractOpcDeviceDriver impleme
|
|||||||
//当前工单明细号上料合格数量
|
//当前工单明细号上料合格数量
|
||||||
detail_qualified_qty = this.itemProtocol.getDetail_qualified_qty();
|
detail_qualified_qty = this.itemProtocol.getDetail_qualified_qty();
|
||||||
if (mode != last_mode) {
|
if (mode != last_mode) {
|
||||||
|
logServer.deviceLog(this.device_code,"mode" ,String.valueOf(mode));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号mode:" + last_mode + "->" + mode);
|
||||||
this.setRequireSucess(false);
|
this.setRequireSucess(false);
|
||||||
}
|
}
|
||||||
|
if (error != last_error) {
|
||||||
|
logServer.deviceLog(this.device_code,"error" ,String.valueOf(error));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号error:" + last_error + "->" + error);
|
||||||
|
}
|
||||||
|
if (order != last_order) {
|
||||||
|
logServer.deviceLog(this.device_code,"order" ,String.valueOf(order));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号order:" + last_order + "->" + order);
|
||||||
|
}
|
||||||
|
if (order_detail != last_order_detail) {
|
||||||
|
logServer.deviceLog(this.device_code,"order_detail" ,String.valueOf(order_detail));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号mode:" + last_order_detail + "->" + order_detail);
|
||||||
|
}
|
||||||
|
if (detail_qty != last_detail_qty) {
|
||||||
|
logServer.deviceLog(this.device_code,"detail_qty" ,String.valueOf(detail_qty));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号detail_qty:" + last_detail_qty + "->" + detail_qty);
|
||||||
|
}
|
||||||
|
if (detail_qualified_qty != last_detail_qualified_qty) {
|
||||||
|
logServer.deviceLog(this.device_code,"detail_qualified_qty" ,String.valueOf(detail_qualified_qty));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号detail_qualified_qty:" + last_detail_qualified_qty + "->" + detail_qualified_qty);
|
||||||
|
}
|
||||||
} catch (Exception var17) {
|
} catch (Exception var17) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -108,6 +142,13 @@ public class HaiLiangFeedingDeviceDriver extends AbstractOpcDeviceDriver impleme
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
last_mode = mode;
|
last_mode = mode;
|
||||||
|
last_mode = mode;
|
||||||
|
last_error = error;
|
||||||
|
last_order = order;
|
||||||
|
last_order_detail = order_detail;
|
||||||
|
last_detail_qty = detail_qty;
|
||||||
|
last_detail_qualified_qty = detail_qualified_qty;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -119,10 +160,15 @@ public class HaiLiangFeedingDeviceDriver extends AbstractOpcDeviceDriver impleme
|
|||||||
} else {
|
} else {
|
||||||
this.detail_time = date;
|
this.detail_time = date;
|
||||||
ProduceshiftorderdetailDto dto = produceshiftorderdetailService.findOrderDetailFromCache(String.valueOf(order), String.valueOf(order_detail));
|
ProduceshiftorderdetailDto dto = produceshiftorderdetailService.findOrderDetailFromCache(String.valueOf(order), String.valueOf(order_detail));
|
||||||
|
if(!StrUtil.equals(dto.getOrder_detail_qty(),String.valueOf(detail_qualified_qty)) ){
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","工单明细上料完成,上料合格数量与订单数量不一致");
|
||||||
|
throw new BadRequestException("工单明细上料完成,上料合格数量与订单数量不一致!");
|
||||||
|
}
|
||||||
dto.setFeeding_finished(status);
|
dto.setFeeding_finished(status);
|
||||||
dto.setFeeding_finish_time(date.toString());
|
dto.setFeeding_finish_time(date.toString());
|
||||||
produceshiftorderdetailService.update(dto);
|
produceshiftorderdetailService.update(dto);
|
||||||
writing(itemProtocol.item_to_command,String.valueOf(mode));
|
writing(itemProtocol.item_to_command,String.valueOf(mode));
|
||||||
|
requireSucess = true;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package org.nl.acs.device_driver.hailiang.hailiang_feeding_trunk;
|
package org.nl.acs.device_driver.hailiang.hailiang_feeding_trunk;
|
||||||
|
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -8,6 +9,7 @@ import org.nl.acs.device.device_driver.standard_inspect.ReadUtil;
|
|||||||
import org.nl.acs.device_driver.DeviceDriver;
|
import org.nl.acs.device_driver.DeviceDriver;
|
||||||
import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver;
|
import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver;
|
||||||
import org.nl.acs.device_driver.driver.ExecutableDeviceDriver;
|
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.opc.Device;
|
||||||
import org.nl.acs.order.service.ProduceshiftorderService;
|
import org.nl.acs.order.service.ProduceshiftorderService;
|
||||||
import org.nl.acs.order.service.ProduceshiftorderdetailService;
|
import org.nl.acs.order.service.ProduceshiftorderdetailService;
|
||||||
@@ -37,6 +39,9 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im
|
|||||||
@Autowired
|
@Autowired
|
||||||
ProduceshiftorderdetailService produceshiftorderdetailService = SpringContextHolder.getBean(ProduceshiftorderdetailService.class);
|
ProduceshiftorderdetailService produceshiftorderdetailService = SpringContextHolder.getBean(ProduceshiftorderdetailService.class);
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
LogServer logServer = SpringContextHolder.getBean(LogServer.class);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Device getDevice() {
|
public Device getDevice() {
|
||||||
return this.device;
|
return this.device;
|
||||||
@@ -51,6 +56,7 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im
|
|||||||
int order_detail = 0;
|
int order_detail = 0;
|
||||||
int last_mode = 0;
|
int last_mode = 0;
|
||||||
int last_order = order;
|
int last_order = order;
|
||||||
|
int last_order_detail = order_detail;
|
||||||
int ready = 0;
|
int ready = 0;
|
||||||
int pause = 0;
|
int pause = 0;
|
||||||
int clear = 0;
|
int clear = 0;
|
||||||
@@ -117,8 +123,26 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im
|
|||||||
|
|
||||||
if (mode != last_mode) {
|
if (mode != last_mode) {
|
||||||
this.setRequireSucess(false);
|
this.setRequireSucess(false);
|
||||||
|
logServer.deviceLog(this.device_code,"mode" ,String.valueOf(mode));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号mode:" + last_mode + "->" + mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(order != last_order)
|
||||||
|
{
|
||||||
|
if(order != 0){
|
||||||
|
update_order_status(String.valueOf(order),"02");
|
||||||
|
}
|
||||||
|
logServer.deviceLog(this.device_code,"order" ,String.valueOf(order));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号order:" + last_order + "->" + order);
|
||||||
|
}
|
||||||
|
if(order_detail != last_order_detail)
|
||||||
|
{
|
||||||
|
if(order_detail != 0){
|
||||||
|
update_orderdetail_status(String.valueOf(order),String.valueOf(order_detail),"01");
|
||||||
|
}
|
||||||
|
logServer.deviceLog(this.device_code,"order_detail" ,String.valueOf(order_detail));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号order_detail:" + last_order_detail + "->" + order_detail);
|
||||||
|
}
|
||||||
try{
|
try{
|
||||||
if(order >0 && order_detail>0){
|
if(order >0 && order_detail>0){
|
||||||
update_detail(String.valueOf(order),String.valueOf(order_detail));
|
update_detail(String.valueOf(order),String.valueOf(order_detail));
|
||||||
@@ -165,6 +189,7 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im
|
|||||||
}
|
}
|
||||||
last_mode = mode;
|
last_mode = mode;
|
||||||
last_order = order;
|
last_order = order;
|
||||||
|
last_order_detail = order_detail;
|
||||||
}
|
}
|
||||||
|
|
||||||
public synchronized boolean update_detail(String order, String order_detail) throws Exception {
|
public synchronized boolean update_detail(String order, String order_detail) throws Exception {
|
||||||
@@ -181,7 +206,7 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im
|
|||||||
//上料数量
|
//上料数量
|
||||||
dto.setPresent_feeding_number(String.valueOf(detail_feeding_qty));
|
dto.setPresent_feeding_number(String.valueOf(detail_feeding_qty));
|
||||||
//上料合格数量
|
//上料合格数量
|
||||||
dto.setFeeding_qualified_qty(String.valueOf(detail_feeding_qualified_qty));
|
dto.setFeeding_qualified_number(String.valueOf(detail_feeding_qualified_qty));
|
||||||
//当前工单明细号刻字数量
|
//当前工单明细号刻字数量
|
||||||
dto.setPresent_lettering_number(String.valueOf(detail_lettering_qty));
|
dto.setPresent_lettering_number(String.valueOf(detail_lettering_qty));
|
||||||
//当前工单明细号刻字合格数量
|
//当前工单明细号刻字合格数量
|
||||||
@@ -203,6 +228,46 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public synchronized boolean update_orderdetail_status(String order,String order_detail,String status) throws Exception {
|
||||||
|
Date date = new Date();
|
||||||
|
if (date.getTime() - this.detail_time_out < (long) this.detail_time_out) {
|
||||||
|
log.trace("触发时间因为小于{}毫秒,而被无视", this.detail_time_out);
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
this.detail_time= date;
|
||||||
|
ProduceshiftorderdetailDto dto = produceshiftorderdetailService.findOrderDetailFromCache(String.valueOf(order),String.valueOf(order_detail));
|
||||||
|
if(ObjectUtil.isEmpty(dto)){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(!StrUtil.equals(dto.getOrder_detail_status(),status)){
|
||||||
|
dto.setOrder_detail_status("01");
|
||||||
|
produceshiftorderdetailService.update(dto);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public synchronized boolean update_order_status(String order,String status) throws Exception {
|
||||||
|
Date date = new Date();
|
||||||
|
if (date.getTime() - this.detail_time_out < (long) this.detail_time_out) {
|
||||||
|
log.trace("触发时间因为小于{}毫秒,而被无视", this.detail_time_out);
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
this.detail_time= date;
|
||||||
|
ProduceshiftorderDto dto = produceshiftorderService.findOrderByOrderCodeFromCache(String.valueOf(order));
|
||||||
|
if(ObjectUtil.isEmpty(dto)){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
//02是已下发
|
||||||
|
if(!StrUtil.equals(dto.getOrder_status(),status) && StrUtil.equals(dto.getOrder_status(),"02") ){
|
||||||
|
dto.setOrder_status("03");
|
||||||
|
produceshiftorderService.autoupdate(dto);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public boolean apply_order() throws Exception {
|
public boolean apply_order() throws Exception {
|
||||||
ProduceshiftorderDto dto = produceshiftorderService.apply_order();
|
ProduceshiftorderDto dto = produceshiftorderService.apply_order();
|
||||||
if(ObjectUtil.isEmpty(dto)){
|
if(ObjectUtil.isEmpty(dto)){
|
||||||
@@ -239,8 +304,8 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im
|
|||||||
writing(ItemProtocol.item_to_is_lettering,is_lettering);
|
writing(ItemProtocol.item_to_is_lettering,is_lettering);
|
||||||
writing(ItemProtocol.item_to_command,String.valueOf(mode));
|
writing(ItemProtocol.item_to_command,String.valueOf(mode));
|
||||||
|
|
||||||
dto.setOrder_status("02");
|
dto.setOrder_status("03");
|
||||||
produceshiftorderService.update(dto);
|
produceshiftorderService.autoupdate(dto);
|
||||||
|
|
||||||
requireSucess = true;
|
requireSucess = true;
|
||||||
return true;
|
return true;
|
||||||
@@ -277,8 +342,8 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im
|
|||||||
writing(ItemProtocol.item_to_coating_qty,strap_pack_number);
|
writing(ItemProtocol.item_to_coating_qty,strap_pack_number);
|
||||||
writing(ItemProtocol.item_to_labeling_qty,strap_pack_number);
|
writing(ItemProtocol.item_to_labeling_qty,strap_pack_number);
|
||||||
writing(ItemProtocol.item_to_command,String.valueOf(mode));
|
writing(ItemProtocol.item_to_command,String.valueOf(mode));
|
||||||
dto.setOrder_detail_status("01");
|
// dto.setOrder_detail_status("01");
|
||||||
produceshiftorderdetailService.update(dto);
|
// produceshiftorderdetailService.update(dto);
|
||||||
send_letter_flag = false;
|
send_letter_flag = false;
|
||||||
send_letter_flag_back = false;
|
send_letter_flag_back = false;
|
||||||
requireSucess = true;
|
requireSucess = true;
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package org.nl.acs.device_driver.hailiang.hailiang_labeling;
|
package org.nl.acs.device_driver.hailiang.hailiang_labeling;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -7,10 +8,12 @@ import org.nl.acs.device.device_driver.standard_inspect.ReadUtil;
|
|||||||
import org.nl.acs.device_driver.DeviceDriver;
|
import org.nl.acs.device_driver.DeviceDriver;
|
||||||
import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver;
|
import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver;
|
||||||
import org.nl.acs.device_driver.driver.ExecutableDeviceDriver;
|
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.opc.Device;
|
||||||
import org.nl.acs.order.service.ProduceshiftorderService;
|
import org.nl.acs.order.service.ProduceshiftorderService;
|
||||||
import org.nl.acs.order.service.ProduceshiftorderdetailService;
|
import org.nl.acs.order.service.ProduceshiftorderdetailService;
|
||||||
import org.nl.acs.order.service.dto.ProduceshiftorderdetailDto;
|
import org.nl.acs.order.service.dto.ProduceshiftorderdetailDto;
|
||||||
|
import org.nl.exception.BadRequestException;
|
||||||
import org.nl.utils.SpringContextHolder;
|
import org.nl.utils.SpringContextHolder;
|
||||||
import org.openscada.opc.lib.da.Server;
|
import org.openscada.opc.lib.da.Server;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -39,15 +42,23 @@ public class HaiLiangLabelingDeviceDriver extends AbstractOpcDeviceDriver implem
|
|||||||
@Autowired
|
@Autowired
|
||||||
ProduceshiftorderdetailService produceshiftorderdetailService = SpringContextHolder.getBean(ProduceshiftorderdetailService.class);
|
ProduceshiftorderdetailService produceshiftorderdetailService = SpringContextHolder.getBean(ProduceshiftorderdetailService.class);
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
LogServer logServer = SpringContextHolder.getBean(LogServer.class);
|
||||||
|
|
||||||
String device_code;
|
String device_code;
|
||||||
int mode = 0;
|
int mode = 0;
|
||||||
int last_mode = 0;
|
int last_mode = 0;
|
||||||
int error = 0;
|
int error = 0;
|
||||||
|
int last_error = 0;
|
||||||
int move = 0;
|
int move = 0;
|
||||||
int order = 0;
|
int order = 0;
|
||||||
|
int last_order = 0;
|
||||||
int order_detail = 0;
|
int order_detail = 0;
|
||||||
|
int last_order_detail = 0;
|
||||||
int detail_qty = 0;
|
int detail_qty = 0;
|
||||||
|
int last_detail_qty = 0;
|
||||||
int detail_qualified_qty = 0;
|
int detail_qualified_qty = 0;
|
||||||
|
int last_detail_qualified_qty = 0;
|
||||||
|
|
||||||
boolean requireSucess = false;
|
boolean requireSucess = false;
|
||||||
|
|
||||||
@@ -68,8 +79,30 @@ public class HaiLiangLabelingDeviceDriver extends AbstractOpcDeviceDriver implem
|
|||||||
//当前工单明细号上料合格数量
|
//当前工单明细号上料合格数量
|
||||||
detail_qualified_qty = this.itemProtocol.getDetail_qualified_qty();
|
detail_qualified_qty = this.itemProtocol.getDetail_qualified_qty();
|
||||||
if (mode != last_mode) {
|
if (mode != last_mode) {
|
||||||
|
logServer.deviceLog(this.device_code,"mode" ,String.valueOf(mode));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号mode:" + last_mode + "->" + mode);
|
||||||
this.setRequireSucess(false);
|
this.setRequireSucess(false);
|
||||||
}
|
}
|
||||||
|
if (error != last_error) {
|
||||||
|
logServer.deviceLog(this.device_code,"error" ,String.valueOf(error));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号error:" + last_error + "->" + error);
|
||||||
|
}
|
||||||
|
if (order != last_order) {
|
||||||
|
logServer.deviceLog(this.device_code,"order" ,String.valueOf(order));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号order:" + last_order + "->" + order);
|
||||||
|
}
|
||||||
|
if (order_detail != last_order_detail) {
|
||||||
|
logServer.deviceLog(this.device_code,"order_detail" ,String.valueOf(order_detail));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号mode:" + last_order_detail + "->" + order_detail);
|
||||||
|
}
|
||||||
|
if (detail_qty != last_detail_qty) {
|
||||||
|
logServer.deviceLog(this.device_code,"detail_qty" ,String.valueOf(detail_qty));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号detail_qty:" + last_detail_qty + "->" + detail_qty);
|
||||||
|
}
|
||||||
|
if (detail_qualified_qty != last_detail_qualified_qty) {
|
||||||
|
logServer.deviceLog(this.device_code,"detail_qualified_qty" ,String.valueOf(detail_qualified_qty));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号detail_qualified_qty:" + last_detail_qualified_qty + "->" + detail_qualified_qty);
|
||||||
|
}
|
||||||
} catch (Exception var17) {
|
} catch (Exception var17) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -93,13 +126,13 @@ public class HaiLiangLabelingDeviceDriver extends AbstractOpcDeviceDriver implem
|
|||||||
case 2:
|
case 2:
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
//上料完成
|
//贴标完成
|
||||||
if(!requireSucess && order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0){
|
if(!requireSucess && order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0){
|
||||||
update_detail(String.valueOf(order),String.valueOf(order_detail),"01");
|
update_detail(String.valueOf(order),String.valueOf(order_detail),"01");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
//强制上料完成
|
//强制贴标完成
|
||||||
if(!requireSucess && order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0 ) {
|
if(!requireSucess && order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0 ) {
|
||||||
update_detail(String.valueOf(order),String.valueOf(order_detail),"02");
|
update_detail(String.valueOf(order),String.valueOf(order_detail),"02");
|
||||||
}
|
}
|
||||||
@@ -107,6 +140,12 @@ public class HaiLiangLabelingDeviceDriver extends AbstractOpcDeviceDriver implem
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
last_mode = mode;
|
last_mode = mode;
|
||||||
|
last_mode = mode;
|
||||||
|
last_error = error;
|
||||||
|
last_order = order;
|
||||||
|
last_order_detail = order_detail;
|
||||||
|
last_detail_qty = detail_qty;
|
||||||
|
last_detail_qualified_qty = detail_qualified_qty;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -118,10 +157,15 @@ public class HaiLiangLabelingDeviceDriver extends AbstractOpcDeviceDriver implem
|
|||||||
} else {
|
} else {
|
||||||
this.detail_time = date;
|
this.detail_time = date;
|
||||||
ProduceshiftorderdetailDto dto = produceshiftorderdetailService.findOrderDetailFromCache(String.valueOf(order), String.valueOf(order_detail));
|
ProduceshiftorderdetailDto dto = produceshiftorderdetailService.findOrderDetailFromCache(String.valueOf(order), String.valueOf(order_detail));
|
||||||
|
if(!StrUtil.equals(dto.getWraping_number(),String.valueOf(detail_qualified_qty)) ){
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","工单明细贴标完成,贴标合格数量与订单数量不一致");
|
||||||
|
throw new BadRequestException("工单明细贴标完成,贴标合格数量与订单数量不一致!");
|
||||||
|
}
|
||||||
dto.setLabeling_finished(status);
|
dto.setLabeling_finished(status);
|
||||||
dto.setLabeling_finish_time(date.toString());
|
dto.setLabeling_finish_time(date.toString());
|
||||||
produceshiftorderdetailService.update(dto);
|
produceshiftorderdetailService.update(dto);
|
||||||
writing(itemProtocol.item_to_command,String.valueOf(mode));
|
writing(itemProtocol.item_to_command,String.valueOf(mode));
|
||||||
|
requireSucess = true;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +1,21 @@
|
|||||||
package org.nl.acs.device_driver.hailiang.hailiang_lettering;
|
package org.nl.acs.device_driver.hailiang.hailiang_lettering;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.nl.acs.config.AcsConfig;
|
||||||
|
import org.nl.acs.config.server.AcsConfigService;
|
||||||
import org.nl.acs.device.device_driver.standard_inspect.ReadUtil;
|
import org.nl.acs.device.device_driver.standard_inspect.ReadUtil;
|
||||||
import org.nl.acs.device_driver.DeviceDriver;
|
import org.nl.acs.device_driver.DeviceDriver;
|
||||||
import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver;
|
import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver;
|
||||||
import org.nl.acs.device_driver.driver.ExecutableDeviceDriver;
|
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.opc.Device;
|
||||||
import org.nl.acs.order.service.ProduceshiftorderService;
|
import org.nl.acs.order.service.ProduceshiftorderService;
|
||||||
import org.nl.acs.order.service.ProduceshiftorderdetailService;
|
import org.nl.acs.order.service.ProduceshiftorderdetailService;
|
||||||
import org.nl.acs.order.service.dto.ProduceshiftorderdetailDto;
|
import org.nl.acs.order.service.dto.ProduceshiftorderdetailDto;
|
||||||
|
import org.nl.exception.BadRequestException;
|
||||||
import org.nl.utils.SpringContextHolder;
|
import org.nl.utils.SpringContextHolder;
|
||||||
import org.openscada.opc.lib.da.Server;
|
import org.openscada.opc.lib.da.Server;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -34,21 +39,38 @@ public class HaiLiangLetteringDeviceDriver extends AbstractOpcDeviceDriver imple
|
|||||||
@Autowired
|
@Autowired
|
||||||
ProduceshiftorderdetailService produceshiftorderdetailService = SpringContextHolder.getBean(ProduceshiftorderdetailService.class);
|
ProduceshiftorderdetailService produceshiftorderdetailService = SpringContextHolder.getBean(ProduceshiftorderdetailService.class);
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
LogServer logServer = SpringContextHolder.getBean(LogServer.class);
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
AcsConfigService acsConfigService = SpringContextHolder.getBean(AcsConfigService.class);
|
||||||
|
|
||||||
String device_code;
|
String device_code;
|
||||||
int mode = 0;
|
int mode = 0;
|
||||||
int last_mode = 0;
|
int last_mode = 0;
|
||||||
int error = 0;
|
int error = 0;
|
||||||
|
int last_error = 0;
|
||||||
int move = 0;
|
int move = 0;
|
||||||
int order = 0;
|
int order = 0;
|
||||||
|
int last_order = 0;
|
||||||
int order_detail = 0;
|
int order_detail = 0;
|
||||||
|
int last_order_detail = 0;
|
||||||
int detail_qty = 0;
|
int detail_qty = 0;
|
||||||
|
int last_detail_qty = 0;
|
||||||
int detail_qualified_qty = 0;
|
int detail_qualified_qty = 0;
|
||||||
|
int last_detail_qualified_qty = 0;
|
||||||
|
|
||||||
|
|
||||||
boolean requireSucess = false;
|
boolean requireSucess = false;
|
||||||
|
|
||||||
private Date detail_time = new Date();
|
private Date detail_time = new Date();
|
||||||
private int detail_time_out = 3000;
|
private int detail_time_out = 3000;
|
||||||
|
|
||||||
|
Process printProcess;
|
||||||
|
String printName = "HP LaserJet Pro MFP M225-M226 PCL 6";
|
||||||
|
String printurl = "";
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Device getDevice() {
|
public Device getDevice() {
|
||||||
return this.device;
|
return this.device;
|
||||||
@@ -68,8 +90,30 @@ public class HaiLiangLetteringDeviceDriver extends AbstractOpcDeviceDriver imple
|
|||||||
//当前工单明细号上料合格数量
|
//当前工单明细号上料合格数量
|
||||||
detail_qualified_qty = this.itemProtocol.getDetail_qualified_qty();
|
detail_qualified_qty = this.itemProtocol.getDetail_qualified_qty();
|
||||||
if (mode != last_mode) {
|
if (mode != last_mode) {
|
||||||
|
logServer.deviceLog(this.device_code,"mode" ,String.valueOf(mode));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号mode:" + last_mode + "->" + mode);
|
||||||
this.setRequireSucess(false);
|
this.setRequireSucess(false);
|
||||||
}
|
}
|
||||||
|
if (error != last_error) {
|
||||||
|
logServer.deviceLog(this.device_code,"error" ,String.valueOf(error));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号error:" + last_error + "->" + error);
|
||||||
|
}
|
||||||
|
if (order != last_order) {
|
||||||
|
logServer.deviceLog(this.device_code,"order" ,String.valueOf(order));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号order:" + last_order + "->" + order);
|
||||||
|
}
|
||||||
|
if (order_detail != last_order_detail) {
|
||||||
|
logServer.deviceLog(this.device_code,"order_detail" ,String.valueOf(order_detail));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号mode:" + last_order_detail + "->" + order_detail);
|
||||||
|
}
|
||||||
|
if (detail_qty != last_detail_qty) {
|
||||||
|
logServer.deviceLog(this.device_code,"detail_qty" ,String.valueOf(detail_qty));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号detail_qty:" + last_detail_qty + "->" + detail_qty);
|
||||||
|
}
|
||||||
|
if (detail_qualified_qty != last_detail_qualified_qty) {
|
||||||
|
logServer.deviceLog(this.device_code,"detail_qualified_qty" ,String.valueOf(detail_qualified_qty));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号detail_qualified_qty:" + last_detail_qualified_qty + "->" + detail_qualified_qty);
|
||||||
|
}
|
||||||
} catch (Exception var17) {
|
} catch (Exception var17) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -92,14 +136,20 @@ public class HaiLiangLetteringDeviceDriver extends AbstractOpcDeviceDriver imple
|
|||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
break;
|
break;
|
||||||
|
case 3:
|
||||||
|
//申请贴标
|
||||||
|
if(!requireSucess && order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0){
|
||||||
|
printMessage(String.valueOf(order),String.valueOf(order_detail),String.valueOf(detail_qualified_qty));
|
||||||
|
}
|
||||||
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
//上料完成
|
//贴标完成
|
||||||
if(!requireSucess && order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0){
|
if(!requireSucess && order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0){
|
||||||
update_detail(String.valueOf(order),String.valueOf(order_detail),"01");
|
update_detail(String.valueOf(order),String.valueOf(order_detail),"01");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
//强制上料完成
|
//强制贴标完成
|
||||||
if(!requireSucess && order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0 ) {
|
if(!requireSucess && order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0 ) {
|
||||||
update_detail(String.valueOf(order),String.valueOf(order_detail),"02");
|
update_detail(String.valueOf(order),String.valueOf(order_detail),"02");
|
||||||
}
|
}
|
||||||
@@ -107,6 +157,12 @@ public class HaiLiangLetteringDeviceDriver extends AbstractOpcDeviceDriver imple
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
last_mode = mode;
|
last_mode = mode;
|
||||||
|
last_mode = mode;
|
||||||
|
last_error = error;
|
||||||
|
last_order = order;
|
||||||
|
last_order_detail = order_detail;
|
||||||
|
last_detail_qty = detail_qty;
|
||||||
|
last_detail_qualified_qty = detail_qualified_qty;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -125,6 +181,37 @@ public class HaiLiangLetteringDeviceDriver extends AbstractOpcDeviceDriver imple
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public synchronized boolean printMessage(String order, String order_detail,String qty) {
|
||||||
|
Date date = new Date();
|
||||||
|
if (date.getTime() - this.detail_time_out < (long) this.detail_time_out) {
|
||||||
|
log.trace("触发时间因为小于{}毫秒,而被无视", this.detail_time_out);
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
this.detail_time = date;
|
||||||
|
ProduceshiftorderdetailDto dto = produceshiftorderdetailService.findOrderDetailFromCache(String.valueOf(order), String.valueOf(order_detail));
|
||||||
|
if(ObjectUtil.isEmpty(dto)){
|
||||||
|
throw new BadRequestException("未找到可下发工单明细!");
|
||||||
|
}
|
||||||
|
String template = dto.getLabeling_template();
|
||||||
|
printName = acsConfigService.findConfigFromCache().get(AcsConfig.PRINTNAME);
|
||||||
|
printurl = acsConfigService.findConfigFromCache().get(AcsConfig.PRINTURL);
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
printProcess = Runtime
|
||||||
|
.getRuntime()
|
||||||
|
.exec(new String[] {
|
||||||
|
printurl, "PrinterName=" + printName,
|
||||||
|
"LabelName=Label.ct", "Text5="+ "111","Text6="+"222","Text7="+"333","Text8="+"444"});
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
System.out.println("aaa");
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void writing(String param, String value) {
|
public void writing(String param, String value) {
|
||||||
String to_param = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code()
|
String to_param = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code()
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import org.nl.acs.device.device_driver.standard_inspect.ReadUtil;
|
|||||||
import org.nl.acs.device_driver.DeviceDriver;
|
import org.nl.acs.device_driver.DeviceDriver;
|
||||||
import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver;
|
import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver;
|
||||||
import org.nl.acs.device_driver.driver.ExecutableDeviceDriver;
|
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.opc.Device;
|
||||||
import org.nl.acs.order.service.ProduceshiftorderService;
|
import org.nl.acs.order.service.ProduceshiftorderService;
|
||||||
import org.nl.acs.order.service.ProduceshiftorderdetailService;
|
import org.nl.acs.order.service.ProduceshiftorderdetailService;
|
||||||
@@ -35,15 +36,24 @@ public class HaiLiangRiskingDeviceDriver extends AbstractOpcDeviceDriver impleme
|
|||||||
@Autowired
|
@Autowired
|
||||||
ProduceshiftorderdetailService produceshiftorderdetailService = SpringContextHolder.getBean(ProduceshiftorderdetailService.class);
|
ProduceshiftorderdetailService produceshiftorderdetailService = SpringContextHolder.getBean(ProduceshiftorderdetailService.class);
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
LogServer logServer = SpringContextHolder.getBean(LogServer.class);
|
||||||
|
|
||||||
String device_code;
|
String device_code;
|
||||||
int mode = 0;
|
int mode = 0;
|
||||||
int last_mode = 0;
|
int last_mode = 0;
|
||||||
int error = 0;
|
int error = 0;
|
||||||
|
int last_error = 0;
|
||||||
int move = 0;
|
int move = 0;
|
||||||
int order = 0;
|
int order = 0;
|
||||||
|
int last_order = 0;
|
||||||
int order_detail = 0;
|
int order_detail = 0;
|
||||||
|
int last_order_detail = 0;
|
||||||
int detail_qty = 0;
|
int detail_qty = 0;
|
||||||
|
int last_detail_qty = 0;
|
||||||
int detail_qualified_qty = 0;
|
int detail_qualified_qty = 0;
|
||||||
|
int last_detail_qualified_qty = 0;
|
||||||
|
|
||||||
|
|
||||||
boolean requireSucess = false;
|
boolean requireSucess = false;
|
||||||
|
|
||||||
@@ -70,8 +80,30 @@ public class HaiLiangRiskingDeviceDriver extends AbstractOpcDeviceDriver impleme
|
|||||||
//当前工单明细号上料合格数量
|
//当前工单明细号上料合格数量
|
||||||
detail_qualified_qty = this.itemProtocol.getDetail_qualified_qty();
|
detail_qualified_qty = this.itemProtocol.getDetail_qualified_qty();
|
||||||
if (mode != last_mode) {
|
if (mode != last_mode) {
|
||||||
|
logServer.deviceLog(this.device_code,"mode" ,String.valueOf(mode));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号mode:" + last_mode + "->" + mode);
|
||||||
this.setRequireSucess(false);
|
this.setRequireSucess(false);
|
||||||
}
|
}
|
||||||
|
if (error != last_error) {
|
||||||
|
logServer.deviceLog(this.device_code,"error" ,String.valueOf(error));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号error:" + last_error + "->" + error);
|
||||||
|
}
|
||||||
|
if (order != last_order) {
|
||||||
|
logServer.deviceLog(this.device_code,"order" ,String.valueOf(order));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号order:" + last_order + "->" + order);
|
||||||
|
}
|
||||||
|
if (order_detail != last_order_detail) {
|
||||||
|
logServer.deviceLog(this.device_code,"order_detail" ,String.valueOf(order_detail));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号mode:" + last_order_detail + "->" + order_detail);
|
||||||
|
}
|
||||||
|
if (detail_qty != last_detail_qty) {
|
||||||
|
logServer.deviceLog(this.device_code,"detail_qty" ,String.valueOf(detail_qty));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号detail_qty:" + last_detail_qty + "->" + detail_qty);
|
||||||
|
}
|
||||||
|
if (detail_qualified_qty != last_detail_qualified_qty) {
|
||||||
|
logServer.deviceLog(this.device_code,"detail_qualified_qty" ,String.valueOf(detail_qualified_qty));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号detail_qualified_qty:" + last_detail_qualified_qty + "->" + detail_qualified_qty);
|
||||||
|
}
|
||||||
} catch (Exception var17) {
|
} catch (Exception var17) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -95,7 +127,7 @@ public class HaiLiangRiskingDeviceDriver extends AbstractOpcDeviceDriver impleme
|
|||||||
case 2:
|
case 2:
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
//上料完成
|
//套冒完成
|
||||||
if(!requireSucess && order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0){
|
if(!requireSucess && order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0){
|
||||||
update_detail(String.valueOf(order),String.valueOf(order_detail),"01");
|
update_detail(String.valueOf(order),String.valueOf(order_detail),"01");
|
||||||
}
|
}
|
||||||
@@ -109,6 +141,12 @@ public class HaiLiangRiskingDeviceDriver extends AbstractOpcDeviceDriver impleme
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
last_mode = mode;
|
last_mode = mode;
|
||||||
|
last_mode = mode;
|
||||||
|
last_error = error;
|
||||||
|
last_order = order;
|
||||||
|
last_order_detail = order_detail;
|
||||||
|
last_detail_qty = detail_qty;
|
||||||
|
last_detail_qualified_qty = detail_qualified_qty;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import org.nl.acs.device.device_driver.standard_inspect.ReadUtil;
|
|||||||
import org.nl.acs.device_driver.DeviceDriver;
|
import org.nl.acs.device_driver.DeviceDriver;
|
||||||
import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver;
|
import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver;
|
||||||
import org.nl.acs.device_driver.driver.ExecutableDeviceDriver;
|
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.opc.Device;
|
||||||
import org.nl.acs.order.service.ProduceshiftorderService;
|
import org.nl.acs.order.service.ProduceshiftorderService;
|
||||||
import org.nl.acs.order.service.ProduceshiftorderdetailService;
|
import org.nl.acs.order.service.ProduceshiftorderdetailService;
|
||||||
@@ -39,15 +40,23 @@ public class HaiLiangStrappingDeviceDriver extends AbstractOpcDeviceDriver imple
|
|||||||
@Autowired
|
@Autowired
|
||||||
ProduceshiftorderdetailService produceshiftorderdetailService = SpringContextHolder.getBean(ProduceshiftorderdetailService.class);
|
ProduceshiftorderdetailService produceshiftorderdetailService = SpringContextHolder.getBean(ProduceshiftorderdetailService.class);
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
LogServer logServer = SpringContextHolder.getBean(LogServer.class);
|
||||||
|
|
||||||
String device_code;
|
String device_code;
|
||||||
int mode = 0;
|
int mode = 0;
|
||||||
int last_mode = 0;
|
int last_mode = 0;
|
||||||
int error = 0;
|
int error = 0;
|
||||||
|
int last_error = 0;
|
||||||
int move = 0;
|
int move = 0;
|
||||||
int order = 0;
|
int order = 0;
|
||||||
|
int last_order = 0;
|
||||||
int order_detail = 0;
|
int order_detail = 0;
|
||||||
|
int last_order_detail = 0;
|
||||||
int detail_qty = 0;
|
int detail_qty = 0;
|
||||||
|
int last_detail_qty = 0;
|
||||||
int detail_qualified_qty = 0;
|
int detail_qualified_qty = 0;
|
||||||
|
int last_detail_qualified_qty = 0;
|
||||||
|
|
||||||
boolean requireSucess = false;
|
boolean requireSucess = false;
|
||||||
|
|
||||||
@@ -69,8 +78,30 @@ public class HaiLiangStrappingDeviceDriver extends AbstractOpcDeviceDriver imple
|
|||||||
//当前工单明细号上料合格数量
|
//当前工单明细号上料合格数量
|
||||||
detail_qualified_qty = this.itemProtocol.getDetail_qualified_qty();
|
detail_qualified_qty = this.itemProtocol.getDetail_qualified_qty();
|
||||||
if (mode != last_mode) {
|
if (mode != last_mode) {
|
||||||
|
logServer.deviceLog(this.device_code,"mode" ,String.valueOf(mode));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号mode:" + last_mode + "->" + mode);
|
||||||
this.setRequireSucess(false);
|
this.setRequireSucess(false);
|
||||||
}
|
}
|
||||||
|
if (error != last_error) {
|
||||||
|
logServer.deviceLog(this.device_code,"error" ,String.valueOf(error));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号error:" + last_error + "->" + error);
|
||||||
|
}
|
||||||
|
if (order != last_order) {
|
||||||
|
logServer.deviceLog(this.device_code,"order" ,String.valueOf(order));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号order:" + last_order + "->" + order);
|
||||||
|
}
|
||||||
|
if (order_detail != last_order_detail) {
|
||||||
|
logServer.deviceLog(this.device_code,"order_detail" ,String.valueOf(order_detail));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号mode:" + last_order_detail + "->" + order_detail);
|
||||||
|
}
|
||||||
|
if (detail_qty != last_detail_qty) {
|
||||||
|
logServer.deviceLog(this.device_code,"detail_qty" ,String.valueOf(detail_qty));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号detail_qty:" + last_detail_qty + "->" + detail_qty);
|
||||||
|
}
|
||||||
|
if (detail_qualified_qty != last_detail_qualified_qty) {
|
||||||
|
logServer.deviceLog(this.device_code,"detail_qualified_qty" ,String.valueOf(detail_qualified_qty));
|
||||||
|
logServer.deviceLogToacs(this.device_code,"","","信号detail_qualified_qty:" + last_detail_qualified_qty + "->" + detail_qualified_qty);
|
||||||
|
}
|
||||||
} catch (Exception var17) {
|
} catch (Exception var17) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -94,13 +125,13 @@ public class HaiLiangStrappingDeviceDriver extends AbstractOpcDeviceDriver imple
|
|||||||
case 2:
|
case 2:
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
//上料完成
|
//捆扎完成
|
||||||
if(!requireSucess && order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0){
|
if(!requireSucess && order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0){
|
||||||
update_detail(String.valueOf(order),String.valueOf(order_detail),"01");
|
update_detail(String.valueOf(order),String.valueOf(order_detail),"01");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
//强制上料完成
|
//强制捆扎完成
|
||||||
if(!requireSucess && order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0 ) {
|
if(!requireSucess && order > 0 && order_detail > 0 && detail_qty>0 && detail_qualified_qty>0 ) {
|
||||||
update_detail(String.valueOf(order),String.valueOf(order_detail),"02");
|
update_detail(String.valueOf(order),String.valueOf(order_detail),"02");
|
||||||
}
|
}
|
||||||
@@ -108,6 +139,12 @@ public class HaiLiangStrappingDeviceDriver extends AbstractOpcDeviceDriver imple
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
last_mode = mode;
|
last_mode = mode;
|
||||||
|
last_mode = mode;
|
||||||
|
last_error = error;
|
||||||
|
last_order = order;
|
||||||
|
last_order_detail = order_detail;
|
||||||
|
last_detail_qty = detail_qty;
|
||||||
|
last_detail_qualified_qty = detail_qualified_qty;
|
||||||
}
|
}
|
||||||
|
|
||||||
public synchronized boolean update_detail(String order, String order_detail,String status) {
|
public synchronized boolean update_detail(String order, String order_detail,String status) {
|
||||||
|
|||||||
@@ -33,4 +33,18 @@ public interface LogServer {
|
|||||||
* @param vehicle_code 载具号
|
* @param vehicle_code 载具号
|
||||||
*/
|
*/
|
||||||
void log(String task_code, String method, String type, String requestParam, String responseParam, String status_code, String requestUrl, String vehicle_code);
|
void log(String task_code, String method, String type, String requestParam, String responseParam, String status_code, String requestUrl, String vehicle_code);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param device_code 设备编号
|
||||||
|
* @param key plc信号
|
||||||
|
* @param value plc信号值
|
||||||
|
*/
|
||||||
|
void deviceLog(String device_code, String key, String value);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param device_code 设备编号
|
||||||
|
* @param vehicle_code 载具号
|
||||||
|
* @param inst_code 指令号
|
||||||
|
*/
|
||||||
|
void deviceLogToacs(String device_code, String vehicle_code, String inst_code, String message);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package org.nl.acs.log.service.dto;
|
||||||
|
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class DeviceLogDto {
|
||||||
|
|
||||||
|
/* 日志标识 */
|
||||||
|
private String log_uuid;
|
||||||
|
|
||||||
|
/* 设备编码 */
|
||||||
|
private String device_code;
|
||||||
|
|
||||||
|
/* plc信号标识 */
|
||||||
|
private String key;
|
||||||
|
|
||||||
|
/* plc信号值 */
|
||||||
|
private String value;
|
||||||
|
|
||||||
|
/* 修改时间 YYYY-MM-DD hh:mm:ss */
|
||||||
|
private String update_time;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -3,11 +3,13 @@ package org.nl.acs.log.service.impl;
|
|||||||
|
|
||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.nl.acs.log.service.LogServer;
|
import org.nl.acs.log.service.LogServer;
|
||||||
|
import org.nl.acs.log.service.dto.DeviceLogDto;
|
||||||
import org.nl.acs.log.service.dto.LogDto;
|
import org.nl.acs.log.service.dto.LogDto;
|
||||||
import org.nl.utils.SecurityUtils;
|
import org.nl.utils.SecurityUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -16,6 +18,7 @@ import org.springframework.data.domain.Sort;
|
|||||||
import org.springframework.data.mongodb.core.MongoTemplate;
|
import org.springframework.data.mongodb.core.MongoTemplate;
|
||||||
import org.springframework.data.mongodb.core.query.Criteria;
|
import org.springframework.data.mongodb.core.query.Criteria;
|
||||||
import org.springframework.data.mongodb.core.query.Query;
|
import org.springframework.data.mongodb.core.query.Query;
|
||||||
|
import org.springframework.data.mongodb.core.query.Update;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -87,4 +90,47 @@ public class LogServerImpl implements LogServer {
|
|||||||
|
|
||||||
mongoTemplate.save(logDto,"interface_log");
|
mongoTemplate.save(logDto,"interface_log");
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
|
public void deviceLog(String device_code,String key, String value) {
|
||||||
|
String now = DateUtil.now();
|
||||||
|
|
||||||
|
DeviceLogDto dto;
|
||||||
|
Query query = new Query(Criteria
|
||||||
|
.where("device_code").is(device_code)
|
||||||
|
.and("key").is(key)
|
||||||
|
);
|
||||||
|
List<DeviceLogDto> deviceList = mongoTemplate.find(query, DeviceLogDto.class,"device_log");
|
||||||
|
if (ObjectUtil.isEmpty(deviceList)) {
|
||||||
|
JSONObject json = new JSONObject();
|
||||||
|
json.put("device_code",device_code);
|
||||||
|
json.put("key",key);
|
||||||
|
json.put("value",value);
|
||||||
|
json.put("update_time",now);
|
||||||
|
mongoTemplate.save(json,"device_log");
|
||||||
|
} else {
|
||||||
|
for (int i = 0; i < deviceList.size(); i++) {
|
||||||
|
dto = deviceList.get(i);
|
||||||
|
Update update = new Update();
|
||||||
|
update.set("device_code",dto.getDevice_code());
|
||||||
|
update.set("key",dto.getKey());
|
||||||
|
update.set("value",value);
|
||||||
|
update.set("update_time",now);
|
||||||
|
mongoTemplate.upsert(query, update, "device_log");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void deviceLogToacs(String device_code, String vehicle_code, String inst_code, String message) {
|
||||||
|
String now = DateUtil.now();
|
||||||
|
|
||||||
|
JSONObject json = new JSONObject();
|
||||||
|
json.put("vehicle_code",vehicle_code);
|
||||||
|
json.put("inst_code",inst_code);
|
||||||
|
json.put("message",message);
|
||||||
|
json.put("create_time",now);
|
||||||
|
|
||||||
|
mongoTemplate.save(json,device_code);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -95,6 +95,13 @@ public interface ProduceshiftorderService {
|
|||||||
void update(ProduceshiftorderDto dto);
|
void update(ProduceshiftorderDto dto);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编辑
|
||||||
|
*
|
||||||
|
* @param dto /
|
||||||
|
*/
|
||||||
|
void autoupdate(ProduceshiftorderDto dto);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 编辑
|
* 编辑
|
||||||
*
|
*
|
||||||
@@ -197,9 +204,9 @@ public interface ProduceshiftorderService {
|
|||||||
|
|
||||||
JSONArray getDtl(Map whereJson);
|
JSONArray getDtl(Map whereJson);
|
||||||
|
|
||||||
ProduceshiftorderDto findOrderByOrderCodeFromCache(String order_id);
|
ProduceshiftorderDto findOrderByOrderCodeFromCache(String order_code);
|
||||||
|
|
||||||
ProduceshiftorderDto findOrderByOrderIdFromCache(String order_code);
|
ProduceshiftorderDto findOrderByOrderIdFromCache(String order_id);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -135,7 +135,7 @@ public class ProduceshiftorderdetailDto implements Serializable {
|
|||||||
private String present_feeding_number;
|
private String present_feeding_number;
|
||||||
|
|
||||||
/** 上料合格数量 */
|
/** 上料合格数量 */
|
||||||
private String feeding_qualified_qty;
|
private String feeding_qualified_number;
|
||||||
|
|
||||||
/** 上料开始时间 */
|
/** 上料开始时间 */
|
||||||
private String feeding_start_time;
|
private String feeding_start_time;
|
||||||
|
|||||||
@@ -112,7 +112,6 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
|||||||
newja.add(jo);
|
newja.add(jo);
|
||||||
}
|
}
|
||||||
json.put("content", newja);
|
json.put("content", newja);
|
||||||
System.out.println("json:" + json);
|
|
||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -241,7 +240,7 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
|||||||
orderDto.setIs_risking("1");
|
orderDto.setIs_risking("1");
|
||||||
orderDto.setIs_strapping("1");
|
orderDto.setIs_strapping("1");
|
||||||
orderDto.setIs_unbundling("1");
|
orderDto.setIs_unbundling("1");
|
||||||
|
orderDto.setFeeding_mouth("3");
|
||||||
for(int i=0; i<tableData.size(); i++){
|
for(int i=0; i<tableData.size(); i++){
|
||||||
JSONObject jsonObject = tableData.getJSONObject(i);
|
JSONObject jsonObject = tableData.getJSONObject(i);
|
||||||
ProduceshiftorderdetailDto detaildto = JSON.toJavaObject(jsonObject,ProduceshiftorderdetailDto.class);
|
ProduceshiftorderdetailDto detaildto = JSON.toJavaObject(jsonObject,ProduceshiftorderdetailDto.class);
|
||||||
@@ -297,7 +296,7 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
|||||||
ProduceshiftorderDto entity = this.findById(dto.getOrder_id());
|
ProduceshiftorderDto entity = this.findById(dto.getOrder_id());
|
||||||
if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!");
|
if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!");
|
||||||
if(!StrUtil.equals(entity.getOrder_status(),"00")){
|
if(!StrUtil.equals(entity.getOrder_status(),"00")){
|
||||||
throw new BadRequestException("单据状态非就绪,删除失败!");
|
throw new BadRequestException("单据状态非就绪,修改失败!");
|
||||||
}
|
}
|
||||||
String currentUsername = SecurityUtils.getCurrentUsername();
|
String currentUsername = SecurityUtils.getCurrentUsername();
|
||||||
String now = DateUtil.now();
|
String now = DateUtil.now();
|
||||||
@@ -320,6 +319,31 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void autoupdate(ProduceshiftorderDto dto) {
|
||||||
|
ProduceshiftorderDto entity = this.findById(dto.getOrder_id());
|
||||||
|
if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!");
|
||||||
|
String currentUsername = SecurityUtils.getCurrentUsername();
|
||||||
|
String now = DateUtil.now();
|
||||||
|
dto.setUpdate_time(now);
|
||||||
|
dto.setUpdate_by(currentUsername);
|
||||||
|
|
||||||
|
WQLObject wo = WQLObject.getWQLObject("acs_produceshiftorder");
|
||||||
|
JSONObject json= (JSONObject) JSONObject.toJSON(dto);
|
||||||
|
wo.update(json);
|
||||||
|
|
||||||
|
Iterator<ProduceshiftorderDto> iterator = order.iterator();
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
ProduceshiftorderDto produceshiftorderDto = iterator.next();
|
||||||
|
if (produceshiftorderDto.getOrder_id().equals(dto.getOrder_id())) {
|
||||||
|
iterator.remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!StrUtil.equals(dto.getOrder_id(), "07") || !StrUtil.equals(dto.getOrder_id(), "08")) {
|
||||||
|
order.add(dto);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void update(Map whereJson) {
|
public void update(Map whereJson) {
|
||||||
JSONObject param=new JSONObject(whereJson);
|
JSONObject param=new JSONObject(whereJson);
|
||||||
@@ -750,7 +774,7 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
|||||||
@Override
|
@Override
|
||||||
public Map<String, Object> querySorting(Map whereJson, Pageable page) {
|
public Map<String, Object> querySorting(Map whereJson, Pageable page) {
|
||||||
WQLObject wo = WQLObject.getWQLObject("acs_produceshiftorder");
|
WQLObject wo = WQLObject.getWQLObject("acs_produceshiftorder");
|
||||||
String where = "1=1 and (order_status !='00' or order_status !='04' or order_status !='05' ) and is_deleted= '0'";
|
String where = "1=1 and (order_status !='00' and order_status !='07' and order_status !='08' ) and is_deleted= '0'";
|
||||||
ResultBean rb = wo.pagequery(WqlUtil.getHttpContext(page), where, "order_id desc");
|
ResultBean rb = wo.pagequery(WqlUtil.getHttpContext(page), where, "order_id desc");
|
||||||
final JSONObject json = rb.pageResult();
|
final JSONObject json = rb.pageResult();
|
||||||
JSONArray newja = new JSONArray();
|
JSONArray newja = new JSONArray();
|
||||||
@@ -781,8 +805,8 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
|||||||
new_jo.put("type", "orderDteail");
|
new_jo.put("type", "orderDteail");
|
||||||
new_jo.put("is_flag", "0");
|
new_jo.put("is_flag", "0");
|
||||||
|
|
||||||
new_jo.put("feeding_qty", orderDteail_jo.getString("feeding_qty"));
|
new_jo.put("present_feeding_number", orderDteail_jo.getString("present_feeding_number"));
|
||||||
new_jo.put("feeding_qualified_qty", orderDteail_jo.getString("feeding_qualified_qty"));
|
new_jo.put("feeding_qualified_number", orderDteail_jo.getString("feeding_qualified_number"));
|
||||||
new_jo.put("present_lettering_number", orderDteail_jo.getString("present_lettering_number"));
|
new_jo.put("present_lettering_number", orderDteail_jo.getString("present_lettering_number"));
|
||||||
new_jo.put("qualified_lettering_number", orderDteail_jo.getString("qualified_lettering_number"));
|
new_jo.put("qualified_lettering_number", orderDteail_jo.getString("qualified_lettering_number"));
|
||||||
new_jo.put("present_sleeveing_number", orderDteail_jo.getString("present_sleeveing_number"));
|
new_jo.put("present_sleeveing_number", orderDteail_jo.getString("present_sleeveing_number"));
|
||||||
@@ -792,6 +816,12 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
|||||||
new_jo.put("present_wraping_number", orderDteail_jo.getString("present_wraping_number"));
|
new_jo.put("present_wraping_number", orderDteail_jo.getString("present_wraping_number"));
|
||||||
new_jo.put("qualified_wraping_number", orderDteail_jo.getString("qualified_wraping_number"));
|
new_jo.put("qualified_wraping_number", orderDteail_jo.getString("qualified_wraping_number"));
|
||||||
new_jo.put("present_labeling_number", orderDteail_jo.getString("present_labeling_number"));
|
new_jo.put("present_labeling_number", orderDteail_jo.getString("present_labeling_number"));
|
||||||
|
new_jo.put("feeding_finished", orderDteail_jo.getString("feeding_finished"));
|
||||||
|
new_jo.put("lettering_finished", orderDteail_jo.getString("lettering_finished"));
|
||||||
|
new_jo.put("sleeveing_finished", orderDteail_jo.getString("sleeveing_finished"));
|
||||||
|
new_jo.put("strap_finished", orderDteail_jo.getString("strap_finished"));
|
||||||
|
new_jo.put("wraping_finished", orderDteail_jo.getString("wraping_finished"));
|
||||||
|
new_jo.put("labeling_finished", orderDteail_jo.getString("labeling_finished"));
|
||||||
|
|
||||||
children.add(new_jo);
|
children.add(new_jo);
|
||||||
}
|
}
|
||||||
@@ -803,7 +833,6 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
|||||||
newja.add(jo);
|
newja.add(jo);
|
||||||
}
|
}
|
||||||
json.put("content", newja);
|
json.put("content", newja);
|
||||||
System.out.println("json:" + json);
|
|
||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -173,7 +173,7 @@ public class ProduceshiftorderdetailServiceImpl implements Produceshiftorderdeta
|
|||||||
map.put("物料长度", produceshiftorderdetail.getLength());
|
map.put("物料长度", produceshiftorderdetail.getLength());
|
||||||
map.put("工单明细状态", produceshiftorderdetail.getOrder_detail_status());
|
map.put("工单明细状态", produceshiftorderdetail.getOrder_detail_status());
|
||||||
map.put("上料数量", produceshiftorderdetail.getFeeding_qty());
|
map.put("上料数量", produceshiftorderdetail.getFeeding_qty());
|
||||||
map.put("上料合格数量", produceshiftorderdetail.getFeeding_qualified_qty());
|
map.put("上料合格数量", produceshiftorderdetail.getFeeding_qualified_number());
|
||||||
map.put("上料开始时间", produceshiftorderdetail.getFeeding_start_time());
|
map.put("上料开始时间", produceshiftorderdetail.getFeeding_start_time());
|
||||||
map.put("上料完成时间", produceshiftorderdetail.getFeeding_finish_time());
|
map.put("上料完成时间", produceshiftorderdetail.getFeeding_finish_time());
|
||||||
map.put("刻字合格数量", produceshiftorderdetail.getQualified_lettering_number());
|
map.put("刻字合格数量", produceshiftorderdetail.getQualified_lettering_number());
|
||||||
@@ -183,8 +183,8 @@ public class ProduceshiftorderdetailServiceImpl implements Produceshiftorderdeta
|
|||||||
map.put("套冒合格数量", produceshiftorderdetail.getQualified_sleeveing_number());
|
map.put("套冒合格数量", produceshiftorderdetail.getQualified_sleeveing_number());
|
||||||
map.put("套冒开始时间", produceshiftorderdetail.getSleeveing_start_time());
|
map.put("套冒开始时间", produceshiftorderdetail.getSleeveing_start_time());
|
||||||
map.put("套冒完成时间", produceshiftorderdetail.getSleeveing_finish_time());
|
map.put("套冒完成时间", produceshiftorderdetail.getSleeveing_finish_time());
|
||||||
map.put("捆扎开始时间", produceshiftorderdetail.getStarp_start_time());
|
map.put("捆扎开始时间", produceshiftorderdetail.getStrap_start_time());
|
||||||
map.put("捆扎完成时间", produceshiftorderdetail.getStarp_finish_time());
|
map.put("捆扎完成时间", produceshiftorderdetail.getStrap_finish_time());
|
||||||
map.put("裹膜数量", produceshiftorderdetail.getWraping_number());
|
map.put("裹膜数量", produceshiftorderdetail.getWraping_number());
|
||||||
map.put("当前裹膜数量", produceshiftorderdetail.getPresent_wraping_number());
|
map.put("当前裹膜数量", produceshiftorderdetail.getPresent_wraping_number());
|
||||||
map.put("裹膜合格数量", produceshiftorderdetail.getQualified_wraping_number());
|
map.put("裹膜合格数量", produceshiftorderdetail.getQualified_wraping_number());
|
||||||
|
|||||||
Binary file not shown.
@@ -9,9 +9,11 @@ spring:
|
|||||||
db-type: com.alibaba.druid.pool.DruidDataSource
|
db-type: com.alibaba.druid.pool.DruidDataSource
|
||||||
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
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:192.168.81.252}:${DB_PORT:3306}/${DB_NAME:hl_zgbz_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||||
|
#url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:hl_zgbz_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||||
username: ${DB_USER:root}
|
username: ${DB_USER:root}
|
||||||
#password: ${DB_PWD:P@ssw0rd}
|
#password: ${DB_PWD:P@ssw0rd}
|
||||||
password: ${DB_PWD:Root.123456}
|
password: ${DB_PWD:Root.123456}
|
||||||
|
#password: ${DB_PWD:123456}
|
||||||
# 初始连接数
|
# 初始连接数
|
||||||
initial-size: 5
|
initial-size: 5
|
||||||
# 最小连接数
|
# 最小连接数
|
||||||
|
|||||||
@@ -8,8 +8,11 @@ spring:
|
|||||||
druid:
|
druid:
|
||||||
db-type: com.alibaba.druid.pool.DruidDataSource
|
db-type: com.alibaba.druid.pool.DruidDataSource
|
||||||
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||||
url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:ch_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
#url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.81.252}:${DB_PORT:3306}/${DB_NAME:hl_zgbz_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||||
|
url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:hl_zgbz_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||||
username: ${DB_USER:root}
|
username: ${DB_USER:root}
|
||||||
|
#password: ${DB_PWD:P@ssw0rd}
|
||||||
|
#password: ${DB_PWD:Root.123456}
|
||||||
password: ${DB_PWD:123456}
|
password: ${DB_PWD:123456}
|
||||||
# 初始连接数
|
# 初始连接数
|
||||||
initial-size: 5
|
initial-size: 5
|
||||||
@@ -17,8 +20,12 @@ spring:
|
|||||||
min-idle: 15
|
min-idle: 15
|
||||||
# 最大连接数
|
# 最大连接数
|
||||||
max-active: 30
|
max-active: 30
|
||||||
|
# 是否自动回收超时连接
|
||||||
|
remove-abandoned: true
|
||||||
|
# 超时时间(以秒数为单位)
|
||||||
|
remove-abandoned-timeout: 180
|
||||||
# 获取连接超时时间
|
# 获取连接超时时间
|
||||||
max-wait: 5000
|
max-wait: 3000
|
||||||
# 连接有效性检测时间
|
# 连接有效性检测时间
|
||||||
time-between-eviction-runs-millis: 60000
|
time-between-eviction-runs-millis: 60000
|
||||||
# 连接在池中最小生存的时间
|
# 连接在池中最小生存的时间
|
||||||
@@ -38,11 +45,8 @@ spring:
|
|||||||
enabled: true
|
enabled: true
|
||||||
stat-view-servlet:
|
stat-view-servlet:
|
||||||
enabled: true
|
enabled: true
|
||||||
# 控制台管理用户名和密码
|
|
||||||
url-pattern: /druid/*
|
url-pattern: /druid/*
|
||||||
reset-enable: false
|
reset-enable: false
|
||||||
login-username: admin
|
|
||||||
login-password: 123456
|
|
||||||
filter:
|
filter:
|
||||||
stat:
|
stat:
|
||||||
enabled: true
|
enabled: true
|
||||||
@@ -52,12 +56,12 @@ spring:
|
|||||||
merge-sql: true
|
merge-sql: true
|
||||||
wall:
|
wall:
|
||||||
config:
|
config:
|
||||||
multi-statement-allow: true
|
multi-statement-alagvslow: true
|
||||||
data:
|
data:
|
||||||
mongodb:
|
mongodb:
|
||||||
host: 127.0.0.1
|
host: 127.0.0.1
|
||||||
port: 27017
|
port: 27017
|
||||||
database: logdb
|
database: nlacs
|
||||||
redis:
|
redis:
|
||||||
#数据库索引
|
#数据库索引
|
||||||
database: ${REDIS_DB:0}
|
database: ${REDIS_DB:0}
|
||||||
@@ -84,7 +88,7 @@ login:
|
|||||||
heigth: 36
|
heigth: 36
|
||||||
# 内容长度
|
# 内容长度
|
||||||
length: 2
|
length: 2
|
||||||
# 字体名称,为空则使用默认字体,如遇到线上乱码,设置其他字体即可
|
# 字体名称,为空则使用默认字体
|
||||||
font-name:
|
font-name:
|
||||||
# 字体大小
|
# 字体大小
|
||||||
font-size: 25
|
font-size: 25
|
||||||
@@ -96,36 +100,29 @@ jwt:
|
|||||||
token-start-with: Bearer
|
token-start-with: Bearer
|
||||||
# 必须使用最少88位的Base64对该令牌进行编码
|
# 必须使用最少88位的Base64对该令牌进行编码
|
||||||
base64-secret: ZmQ0ZGI5NjQ0MDQwY2I4MjMxY2Y3ZmI3MjdhN2ZmMjNhODViOTg1ZGE0NTBjMGM4NDA5NzYxMjdjOWMwYWRmZTBlZjlhNGY3ZTg4Y2U3YTE1ODVkZDU5Y2Y3OGYwZWE1NzUzNWQ2YjFjZDc0NGMxZWU2MmQ3MjY1NzJmNTE0MzI=
|
base64-secret: ZmQ0ZGI5NjQ0MDQwY2I4MjMxY2Y3ZmI3MjdhN2ZmMjNhODViOTg1ZGE0NTBjMGM4NDA5NzYxMjdjOWMwYWRmZTBlZjlhNGY3ZTg4Y2U3YTE1ODVkZDU5Y2Y3OGYwZWE1NzUzNWQ2YjFjZDc0NGMxZWU2MmQ3MjY1NzJmNTE0MzI=
|
||||||
# 令牌过期时间 此处单位/毫秒 ,默认2小时,可在此网站生成 https://www.convertworld.com/zh-hans/time/milliseconds.html
|
# 令牌过期时间 此处单位/毫秒 ,默认4小时,可在此网站生成 https://www.convertworld.com/zh-hans/time/milliseconds.html
|
||||||
token-validity-in-seconds: 7200000
|
token-validity-in-seconds: 14400000
|
||||||
# 在线用户key
|
# 在线用户key
|
||||||
online-key: online-token-
|
online-key: online-token-
|
||||||
# 验证码
|
# 验证码
|
||||||
code-key: code-key-
|
code-key: code-key-
|
||||||
# token 续期检查时间范围(默认30分钟,单位默认毫秒),在token即将过期的一段时间内用户操作了,则给用户的token续期
|
# token 续期检查时间范围(默认30分钟,单位毫秒),在token即将过期的一段时间内用户操作了,则给用户的token续期
|
||||||
detect: 1800000
|
detect: 1800000
|
||||||
# 续期时间范围,默认 1小时,这里单位毫秒
|
# 续期时间范围,默认1小时,单位毫秒
|
||||||
renew: 3600000
|
renew: 3600000
|
||||||
|
|
||||||
# IP 本地解析
|
|
||||||
ip:
|
|
||||||
local-parsing: true
|
|
||||||
|
|
||||||
#是否允许生成代码,生产环境设置为false
|
#是否允许生成代码,生产环境设置为false
|
||||||
generator:
|
generator:
|
||||||
enabled: false
|
enabled: true
|
||||||
|
|
||||||
#如果生产环境要开启swagger,需要配置请求地址
|
|
||||||
#springfox:
|
|
||||||
# documentation:
|
|
||||||
# swagger:
|
|
||||||
# v2:
|
|
||||||
# host: # 接口域名或外网ip
|
|
||||||
|
|
||||||
#是否开启 swagger-ui
|
#是否开启 swagger-ui
|
||||||
swagger:
|
swagger:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|
||||||
|
# IP 本地解析
|
||||||
|
ip:
|
||||||
|
local-parsing: true
|
||||||
|
|
||||||
# 文件存储路径
|
# 文件存储路径
|
||||||
file:
|
file:
|
||||||
mac:
|
mac:
|
||||||
@@ -140,3 +137,30 @@ file:
|
|||||||
# 文件大小 /M
|
# 文件大小 /M
|
||||||
maxSize: 100
|
maxSize: 100
|
||||||
avatarMaxSize: 5
|
avatarMaxSize: 5
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
jetcache:
|
||||||
|
defaultCacheType: LOCAL
|
||||||
|
statIntervalMinutes: 15
|
||||||
|
areaInCacheName: false
|
||||||
|
hiddenPackages: com.yb
|
||||||
|
local:
|
||||||
|
default:
|
||||||
|
type: caffeine
|
||||||
|
limit: 100
|
||||||
|
keyConvertor: fastjson
|
||||||
|
expireAfterWriteInMillis: 60000
|
||||||
|
remote:
|
||||||
|
default:
|
||||||
|
type: redis.lettuce
|
||||||
|
keyConvertor: fastjson
|
||||||
|
valueEncoder: kryo
|
||||||
|
valueDecoder: kryo
|
||||||
|
poolConfig:
|
||||||
|
minIdle: 5
|
||||||
|
maxIdle: 200
|
||||||
|
maxTotal: 1000
|
||||||
|
uri:
|
||||||
|
- redis://127.0.0.1:6379
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user