代码更新

This commit is contained in:
ludj
2023-02-02 21:55:35 +08:00
parent 449ab94c94
commit aacaa9047c
15 changed files with 982 additions and 908 deletions

View File

@@ -1,9 +1,9 @@
package org.nl.acs.device_driver;
public interface ScannerDeviceDriver extends DeviceDriver {
void writeBarcode(String var1) throws Exception;
void writeBarcode(String var1) ;
void cleanBarcode() throws Exception;
void cleanBarcode() ;
String readBarcode() throws Exception;
String readBarcode();
}

View File

@@ -97,7 +97,7 @@ public class CargoLiftConveyorDeviceDriver extends AbstractOpcDeviceDriver imple
Boolean requireSucess = false;
@Override
public void execute() throws Exception {
public void execute() {
String message = null;
device_code = this.getDeviceCode();
@@ -183,7 +183,7 @@ public class CargoLiftConveyorDeviceDriver extends AbstractOpcDeviceDriver imple
}
}
public synchronized boolean instruction_require() throws Exception {
public synchronized boolean instruction_require(){
Date date = new Date();
if (date.getTime() - this.instruction_require_time.getTime() < (long) this.instruction_require_time_out) {
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out);
@@ -264,7 +264,13 @@ public class CargoLiftConveyorDeviceDriver extends AbstractOpcDeviceDriver imple
instdto.setPriority(priority);
instdto.setInstruction_status("0");
instdto.setExecute_device_code(start_point_code);
instructionService.create(instdto);
try {
instructionService.create(instdto);
} catch (Exception e) {
e.printStackTrace();
log.error("指令创建失败!",e.getMessage());
return false;
}
//创建指令后修改任务状态
task.setTask_status("1");
taskserver.update(task);

View File

@@ -137,7 +137,7 @@ public class SiemensConveyorDeviceDriver extends AbstractOpcDeviceDriver impleme
@Override
public void execute() throws Exception {
public void execute() {
try {
device_code = this.getDeviceCode();
mode = this.itemProtocol.getMode();
@@ -512,7 +512,7 @@ public class SiemensConveyorDeviceDriver extends AbstractOpcDeviceDriver impleme
/**
* 请求指令
*/
public synchronized boolean instruction_require() throws Exception {
public synchronized boolean instruction_require() {
Date date = new Date();
if (date.getTime() - this.instruction_require_time.getTime() < (long) this.instruction_require_time_out) {
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out);
@@ -632,7 +632,13 @@ public class SiemensConveyorDeviceDriver extends AbstractOpcDeviceDriver impleme
instdto.setPriority(priority);
instdto.setInstruction_status("0");
instdto.setExecute_device_code(start_point_code);
instructionService.create(instdto);
try {
instructionService.create(instdto);
} catch (Exception e) {
e.printStackTrace();
log.error("指令创建失败!",e.getMessage());
return false;
}
//创建指令后修改任务状态
taskdto.setTask_status("1");
taskserver.update(taskdto);

View File

@@ -140,7 +140,7 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
@Override
public synchronized void execute() throws Exception {
public synchronized void execute(){
String message = null;
try {
device_code = this.getDeviceCode();

View File

@@ -141,7 +141,7 @@ public class StandardCoveyorControlDeviceDriver extends AbstractOpcDeviceDriver
@Override
public void execute() throws Exception {
public void execute() {
String message = null;
try {
device_code = this.getDeviceCode();
@@ -371,7 +371,7 @@ public class StandardCoveyorControlDeviceDriver extends AbstractOpcDeviceDriver
}
public boolean instruction_apply() throws Exception {
public boolean instruction_apply() {
return false;
}
@@ -433,7 +433,7 @@ public class StandardCoveyorControlDeviceDriver extends AbstractOpcDeviceDriver
}
public synchronized boolean apply_InEmpty() throws Exception {
public synchronized boolean apply_InEmpty(){
return false;
}

View File

@@ -148,7 +148,7 @@ public class StandardCoveyorControlWithPlcScannerDeviceDriver extends AbstractOp
}
@Override
public void execute() throws Exception {
public void execute() {
try {
device_code = this.getDeviceCode();
mode = this.itemProtocol.getMode();
@@ -614,12 +614,12 @@ public class StandardCoveyorControlWithPlcScannerDeviceDriver extends AbstractOp
this.control(itemMap);
}
public boolean instruction_require(String container_code) throws Exception {
public boolean instruction_require(String container_code) {
return instruction_require(container_code, WcsConfig.task_container_type_default_desc);
}
@Transactional(rollbackFor = Exception.class)
public synchronized boolean instruction_apply(String container_code) throws Exception {
public synchronized boolean instruction_apply(String container_code) {
Date date = new Date();
if (date.getTime() - this.instruction_apply_time.getTime() < (long) this.instruction_require_time_out) {
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out);
@@ -725,7 +725,7 @@ public class StandardCoveyorControlWithPlcScannerDeviceDriver extends AbstractOp
* @param container_type
*/
@Transactional(rollbackFor = Exception.class)
public synchronized boolean instruction_require(String container_code, String container_type) throws Exception {
public synchronized boolean instruction_require(String container_code, String container_type) {
Date date = new Date();
if (date.getTime() - this.instruction_require_time.getTime() < (long) this.instruction_require_time_out) {
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out);

View File

@@ -132,39 +132,48 @@ public class StandardCoveyorControlWithScannerDeviceDriver extends AbstractOpcDe
return barcode;
}
public String barcode() throws Exception {
public String barcode() {
ScannerDeviceDriver scanner = this.getScanner();
return scanner.readBarcode();
}
public void clearBarcode() throws Exception {
public void clearBarcode() {
ScannerDeviceDriver scanner = this.getScanner();
scanner.cleanBarcode();
logServer.deviceExecuteLog(this.device_code, "", "", "清理条码");
}
public synchronized boolean finish_instruction() throws Exception {
instructionService.finish(inst);
public synchronized boolean finish_instruction(){
try {
instructionService.finish(inst);
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
private ScannerDeviceDriver getScanner() throws Exception {
private ScannerDeviceDriver getScanner() {
String scanner_code = (String) this.getDevice().getExtraValue().get(StandardConveyorWithScannerConfig.relation_scanner);
if (StrUtil.isEmpty(scanner_code)) {
throw new Exception("未配置读码器");
log.error("未配置读码器");
// throw new Exception("未配置读码器");
} else {
Device device = deviceAppservice.findDeviceByCode(scanner_code);
if (device == null) {
throw new Exception("无设备:" + scanner_code);
// throw new Exception("无设备:" + scanner_code);
log.error("无设备:" + scanner_code);
} else {
DeviceDriver deviceDriver = device.getDeviceDriver();
if (!(deviceDriver instanceof ScannerDeviceDriver)) {
throw new Exception("扫码器类型不对,不是ScannerDeviceDriver");
// throw new Exception("扫码器类型不对,不是ScannerDeviceDriver");
log.error("扫码器类型不对,不是ScannerDeviceDriver");
} else {
ScannerDeviceDriver driver = (ScannerDeviceDriver) deviceDriver;
return driver;
}
}
}
return null;
}
@Override
@@ -174,7 +183,7 @@ public class StandardCoveyorControlWithScannerDeviceDriver extends AbstractOpcDe
@Override
public void execute() throws Exception {
public void execute(){
String message = null;
try {
device_code = this.getDeviceCode();
@@ -414,11 +423,11 @@ public class StandardCoveyorControlWithScannerDeviceDriver extends AbstractOpcDe
this.control(itemMap);
}
public boolean instruction_require(String container_code) throws Exception {
public boolean instruction_require(String container_code) {
return instruction_require(container_code, WcsConfig.task_container_type_default_desc);
}
public synchronized boolean instruction_apply(String container_code) throws Exception {
public synchronized boolean instruction_apply(String container_code) {
Date date = new Date();
if (date.getTime() - this.instruction_apply_time.getTime() < (long) this.instruction_require_time_out) {
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out);
@@ -480,7 +489,7 @@ public class StandardCoveyorControlWithScannerDeviceDriver extends AbstractOpcDe
* @param container_code
* @param container_type
*/
public synchronized boolean instruction_require(String container_code, String container_type) throws Exception {
public synchronized boolean instruction_require(String container_code, String container_type) {
Date date = new Date();
if (date.getTime() - this.instruction_require_time.getTime() < (long) this.instruction_require_time_out) {
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out);
@@ -646,7 +655,13 @@ public class StandardCoveyorControlWithScannerDeviceDriver extends AbstractOpcDe
instdto.setPriority(priority);
instdto.setInstruction_status("0");
instdto.setExecute_device_code(start_point_code);
instructionService.create(instdto);
try {
instructionService.create(instdto);
} catch (Exception e) {
e.printStackTrace();
log.error("指令创建失败!",e.getMessage());
return false;
}
//创建指令后修改任务状态
taskdto.setTask_status("1");
taskserver.update(taskdto);

View File

@@ -12,71 +12,71 @@ import org.nl.acs.socket.SocketConfig;
import org.nl.acs.udw.UnifiedDataAccessor;
import org.nl.acs.udw.UnifiedDataAccessorFactory;
/**
* 标准版扫码器
*/
/** 标准版扫码器 */
@Slf4j
@Data
public class StandardScannerDeviceDriver extends AbstractDeviceDriver implements ScannerDeviceDriver, DeviceDriver, DeviceStageMonitor {
public class StandardScannerDeviceDriver extends AbstractDeviceDriver
implements ScannerDeviceDriver, DeviceDriver, DeviceStageMonitor {
UnifiedDataAccessor accessor_value;
UnifiedDataAccessor accessor_value;
public StandardScannerDeviceDriver() {
this.accessor_value = UnifiedDataAccessorFactory.getAccessor(SocketConfig.udw_unit_key);
public StandardScannerDeviceDriver() {
this.accessor_value = UnifiedDataAccessorFactory.getAccessor(SocketConfig.udw_unit_key);
}
public String getIp() {
String ip = (String) this.getDevice().getExtraValue().get("scannerIP");
return StrUtil.isEmpty(ip) ? null : ip;
}
@Override
public String readBarcode() {
String ip = this.getIp();
if (StrUtil.isEmpty(ip)) {
// throw new Exception("ip未配置");
log.error("ip未配置");
} else {
String result = (String) this.accessor_value.getValue(this.getIp());
return result;
}
return null;
}
public String getIp() {
String ip = (String) this.getDevice().getExtraValue().get("scannerIP");
return StrUtil.isEmpty(ip) ? null : ip;
@Override
public void writeBarcode(String barcode) {
String ip = this.getIp();
if (StrUtil.isEmpty(ip)) {
// throw new Exception("ip未配置");
log.error("ip未配置");
} else {
this.accessor_value.setValueWithPersistence(this.getIp(), barcode);
}
}
@Override
public String readBarcode() throws Exception {
String ip = this.getIp();
if (StrUtil.isEmpty(ip)) {
throw new Exception("ip未配置");
} else {
String result = (String) this.accessor_value.getValue(this.getIp());
return result;
}
@Override
public void cleanBarcode() {
String ip = this.getIp();
if (StrUtil.isEmpty(ip)) {
log.error("ip未配置");
// throw new Exception("ip未配置");
} else {
this.accessor_value.setValueWithPersistence(this.getIp(), (Object) null);
}
}
@Override
public void writeBarcode(String barcode) throws Exception {
String ip = this.getIp();
if (StrUtil.isEmpty(ip)) {
throw new Exception("ip未配置");
} else {
this.accessor_value.setValueWithPersistence(this.getIp(), barcode);
}
}
@Override
public JSONObject getDeviceStatusName() throws Exception {
JSONObject jo = new JSONObject();
jo.put("device_name", this.getDevice().getDevice_name());
jo.put("isOnline", true);
jo.put("device_type", device.getDevice_type());
// 点击弹出
jo.put("is_click", true);
jo.put("ip", this.getIp());
jo.put("container", StrUtil.isEmpty(this.readBarcode()) ? "" : this.readBarcode());
return jo;
}
@Override
public void cleanBarcode() throws Exception {
String ip = this.getIp();
if (StrUtil.isEmpty(ip)) {
throw new Exception("ip未配置");
} else {
this.accessor_value.setValueWithPersistence(this.getIp(), (Object) null);
}
}
@Override
public JSONObject getDeviceStatusName() throws Exception {
JSONObject jo = new JSONObject();
jo.put("device_name", this.getDevice().getDevice_name());
jo.put("isOnline", true);
jo.put("device_type", device.getDevice_type());
//点击弹出
jo.put("is_click", true);
jo.put("ip", this.getIp());
jo.put("container", StrUtil.isEmpty(this.readBarcode()) ? "" : this.readBarcode());
return jo;
}
@Override
public void setDeviceStatus(JSONObject data) {
}
@Override
public void setDeviceStatus(JSONObject data) {}
}

View File

@@ -1,14 +1,11 @@
package org.nl.acs.device_driver.driver;
import com.alibaba.fastjson.JSONObject;
import org.nl.acs.ext.wms.data.JsonUtl;
import org.nl.acs.opc.OpcConfig;
import org.nl.acs.opc.OpcServerService;
import org.nl.acs.opc.OpcServerServiceImpl;
import org.nl.acs.opc.WcsConfig;
import org.nl.acs.udw.UnifiedDataAccessor;
import org.nl.acs.udw.UnifiedDataAccessorFactory;
import org.nl.acs.udw.UnifiedDataAppService;
import org.nl.modules.wql.exception.WDKException;
import org.nl.modules.wql.util.SpringContextHolder;
@@ -40,21 +37,19 @@ public class AbstractOpcDeviceDriver extends AbstractDeviceDriver implements Opc
ItemValue p2[];
p2 = new ItemValue[itemValues.size()];
int i=0;
int i = 0;
while (it.hasNext()) {
Map.Entry<String, Object> entry = it.next();
System.out.println(entry.getKey() + ":" + entry.getValue());
p2[i] = new ItemValue();
p2[i].setItem_code(entry.getKey());
p2[i].setItem_value((String) entry.getValue());
p2[i].setItem_value( entry.getValue());
i++;
}
return this.control(p2);
return this.control(p2);
}
public boolean control(ItemValue[] itemValues) {
if (itemValues != null && itemValues.length != 0) {
String this_items = JsonUtl.parseWithoutException(itemValues);
@@ -72,9 +67,9 @@ public class AbstractOpcDeviceDriver extends AbstractDeviceDriver implements Opc
sb.append(":");
sb.append(JsonUtl.parseWithoutException(udw_value));
sb.append(";");
// if (!need_write && !UnifiedDataAppService.isEquals(udw_value, write_value)) {
// need_write = true;
// }
// if (!need_write && !UnifiedDataAppService.isEquals(udw_value, write_value)) {
// need_write = true;
// }
}
need_write = true;

View File

@@ -1,17 +1,18 @@
package org.nl.acs.device_driver.driver;
import com.esotericsoftware.minlog.Log;
import org.nl.acs.device_driver.DeviceDriver;
public interface ExecutableDeviceDriver extends DeviceDriver {
default void executeAuto() {
try {
this.execute();
} catch (Throwable var6) {
String message = "线程调用异常:" + var6.getMessage();
} finally {
}
default void executeAuto() {
try {
this.execute();
} catch (Throwable var6) {
String message = "线程调用异常:" + var6.getMessage();
Log.error(message);
} finally {
}
}
void execute() throws Exception;
void execute();
}

View File

@@ -110,7 +110,7 @@ public interface InstructionService {
* @param dto
* @throws Exception
*/
void createAgain(Instruction dto) throws Exception;
void createAgain(Instruction dto) throws Exception ;
/**
* 编辑

View File

@@ -637,7 +637,7 @@ public class InstructionServiceImpl implements InstructionService, ApplicationAu
@Override
@Transactional(rollbackFor = Exception.class)
public void finish(String id) throws Exception {
public void finish(String id) {
Instruction entity = this.findById(id);
//if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!");
String currentUsername = SecurityUtils.getCurrentUsername();
@@ -718,7 +718,7 @@ public class InstructionServiceImpl implements InstructionService, ApplicationAu
@Override
@Transactional(rollbackFor = Exception.class)
public void finish(Instruction dto) throws Exception {
public void finish(Instruction dto) {
String now = DateUtil.now();
dto.setInstruction_status("2");
WQLObject wo = WQLObject.getWQLObject("acs_instruction");
@@ -773,7 +773,7 @@ public class InstructionServiceImpl implements InstructionService, ApplicationAu
}
@Override
public void finishAndCreateNextInst(Instruction dto) throws Exception {
public void finishAndCreateNextInst(Instruction dto){
dto = foramte(dto);
String device_code = dto.getNext_device_code();
WQLObject taskwo = WQLObject.getWQLObject("acs_task");
@@ -829,7 +829,12 @@ public class InstructionServiceImpl implements InstructionService, ApplicationAu
instdto.setPriority(acsTask.getPriority());
instdto.setInstruction_status("0");
instdto.setExecute_device_code(dto.getNext_device_code());
this.create(instdto);
try {
this.create(instdto);
} catch (Exception e) {
e.printStackTrace();
log.error("完成并创建下一条指令",e.getMessage());
}
}
@Override

View File

@@ -128,7 +128,9 @@ public class OpcServerServiceImpl implements OpcServerService, ApplicationAutoIn
try {
Server server = (Server) this.servers.get(code);
server.disconnect();
} catch (Exception var3) {
} catch (Exception e) {
e.printStackTrace();
log.error("清理server异常,",e.getMessage());
}
this.servers.remove(code);

View File

@@ -31,7 +31,7 @@ public class OpcUtl {
public static void writeValue(Group group, WriteRequest... requests) throws WDKException {
try {
Map e = group.write(requests);
Map<Item, Integer> e = group.write(requests);
boolean is_success = true;
StringBuilder message = new StringBuilder();
Iterator arg4 = e.keySet().iterator();
@@ -59,6 +59,7 @@ public class OpcUtl {
// group.write(requests);
}
} catch (JIException arg7) {
log.info("下发信号失败:"+arg7.getMessage());
throw new WDKException(arg7);
}
}