add:新增从密集库出气胀轴行架任务

This commit is contained in:
2024-07-21 11:28:33 +08:00
parent 6babb1980c
commit ccfb246c98
17 changed files with 722 additions and 507 deletions

View File

@@ -38,6 +38,7 @@ import org.nl.config.lucene.service.dto.LuceneLogDto;
import org.nl.system.service.param.ISysParamService; import org.nl.system.service.param.ISysParamService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.*; import java.util.*;
@@ -52,7 +53,8 @@ public class XianGongAgvServiceImpl implements XianGongAgvService {
private final DeviceAppService deviceAppService; private final DeviceAppService deviceAppService;
private final ISysParamService paramService; private final ISysParamService paramService;
@Autowired @Autowired
private final AcsToWmsService acsToWmsService; @Lazy
private AcsToWmsService acsToWmsService;
@Autowired @Autowired
private IAcsPointAngleService acsPointAngleService; private IAcsPointAngleService acsPointAngleService;

View File

@@ -11,10 +11,6 @@ import org.openscada.opc.lib.da.ItemState;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import java.util.*; import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CompletionException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
public class AbstractOpcDeviceDriver extends AbstractDeviceDriver implements OpcDeviceDriver { public class AbstractOpcDeviceDriver extends AbstractDeviceDriver implements OpcDeviceDriver {
UnifiedDataAccessor opcUdw; UnifiedDataAccessor opcUdw;
@@ -39,208 +35,202 @@ public class AbstractOpcDeviceDriver extends AbstractDeviceDriver implements Opc
public void checkcontrol(Map<String, Object> itemValues) throws Exception { public void checkcontrol(Map<String, Object> itemValues) throws Exception {
Group group = opcServerService.getServer(this.getOpcServer());
Map<String, Object> write = new HashMap();
Map<String, Item> readitems = new LinkedHashMap();
List<String> itemsString = new ArrayList();
itemsString = new ArrayList<>(itemValues.keySet());
Iterator is = itemsString.iterator();
while (is.hasNext()) {
String string = (String) is.next();
try { try {
Group group = opcServerService.getServer(this.getOpcServer()); readitems.put(string, group.addItem(string));
Map<String, Object> write = new HashMap(); } catch (Exception e) {
Map<String, Item> readitems = new LinkedHashMap(); e.printStackTrace();
List<String> itemsString = new ArrayList(); }
itemsString = new ArrayList<>(itemValues.keySet()); }
Iterator is = itemsString.iterator(); int i = 0;
while (true) {
while (is.hasNext()) { //下发信号
String string = (String) is.next(); try {
try { if (i == 0) {
readitems.put(string, group.addItem(string)); control(itemValues);
} catch (Exception e) { } else {
e.printStackTrace(); controlByNewConn(itemValues);
}
} }
int i = 0;
while (true) {
//下发信号
try { } catch (Exception e) {
if (i == 0) { e.printStackTrace();
control(itemValues); }
} else { // ThreadUtl.sleep(1000L);
controlByNewConn(itemValues); Map<String, Object> read = new HashMap();
Map<Item, ItemState> itemStatus = null;
boolean check = true;
try {
if (i > 0) {
group = opcServerService.getServer(this.getOpcServer());
itemsString = new ArrayList<>(itemValues.keySet());
Iterator nis = itemsString.iterator();
while (nis.hasNext()) {
String string = (String) nis.next();
try {
readitems.put(string, group.addItem(string));
} catch (Exception e) {
e.printStackTrace();
} }
} catch (Exception e) {
e.printStackTrace();
} }
Map<String, Object> read = new HashMap(); itemStatus = group.read(true, (Item[]) readitems.values().toArray(new Item[0]));
Map<Item, ItemState> itemStatus = null;
boolean check = true;
try {
if (i > 0) {
group = opcServerService.getServer(this.getOpcServer());
itemsString = new ArrayList<>(itemValues.keySet());
Iterator nis = itemsString.iterator();
while (nis.hasNext()) { } else {
String string = (String) nis.next(); itemStatus = group.read(true, (Item[]) readitems.values().toArray(new Item[0]));
try { }
readitems.put(string, group.addItem(string)); Set<Item> items = itemStatus.keySet();
} catch (Exception e) { Iterator var15 = items.iterator();
e.printStackTrace(); while (var15.hasNext()) {
} Item item = (Item) var15.next();
} ItemState itemState = (ItemState) itemStatus.get(item);
itemStatus = group.read(true, (Item[]) readitems.values().toArray(new Item[0])); Object value = OpcUtl.getValue(item, itemState);
read.put(item.getId(), value);
}
} else { Iterator var24 = itemsString.iterator();
itemStatus = group.read(true, (Item[]) readitems.values().toArray(new Item[0]));
}
Set<Item> items = itemStatus.keySet();
Iterator var15 = items.iterator();
while (var15.hasNext()) {
Item item = (Item) var15.next();
ItemState itemState = (ItemState) itemStatus.get(item);
Object value = OpcUtl.getValue(item, itemState);
read.put(item.getId(), value);
}
Iterator var24 = itemsString.iterator(); while (var24.hasNext()) {
String itemString = (String) var24.next();
while (var24.hasNext()) { if (!ObjectUtl.isEquals(String.valueOf(itemValues.get(itemString)), String.valueOf(read.get(itemString)))) {
String itemString = (String) var24.next();
if (!ObjectUtl.isEquals(String.valueOf(itemValues.get(itemString)), String.valueOf(read.get(itemString)))) {
check = false;
}
}
} catch (Exception e) {
e.printStackTrace();
check = false; check = false;
} }
if (check) {
return ;
}
if (i > 0) {
ThreadUtl.sleep(100L);
}
if (i >= 3) {
// log.info("写入次数超过3次而失败");
throw new RuntimeException("写入次数超过3次而失败");
}
++i;
} }
} catch (Exception e) { } catch (Exception e) {
Thread.currentThread().interrupt(); e.printStackTrace();
throw new IllegalStateException("Interrupted", e); check = false;
} }
if (check) {
return;
} }
if (i > 0) {
ThreadUtl.sleep(100L);
}
public boolean controlByNewConn (Map < String, Object > itemValues){ if (i >= 3) {
// log.info("写入次数超过3次而失败");
throw new RuntimeException("写入次数超过3次而失败");
}
++i;
}
}
Iterator<Map.Entry<String, Object>> it = itemValues.entrySet().iterator();
ItemValue[] p2; public boolean controlByNewConn(Map<String, Object> itemValues) {
p2 = new ItemValue[itemValues.size()];
int i = 0; Iterator<Map.Entry<String, Object>> it = itemValues.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, Object> entry = it.next(); ItemValue[] p2;
System.out.println("即将写入值:" + entry.getKey() + ":" + entry.getValue()); p2 = new ItemValue[itemValues.size()];
p2[i] = new ItemValue(); int i = 0;
p2[i].setItem_code(entry.getKey()); while (it.hasNext()) {
p2[i].setItem_value(entry.getValue()); Map.Entry<String, Object> entry = it.next();
i++; System.out.println("即将写入值:" + entry.getKey() + ":" + entry.getValue());
p2[i] = new ItemValue();
p2[i].setItem_code(entry.getKey());
p2[i].setItem_value(entry.getValue());
i++;
}
return this.controlByNewConn(p2);
}
public boolean control(Map<String, Object> itemValues) {
Iterator<Map.Entry<String, Object>> it = itemValues.entrySet().iterator();
ItemValue[] p2;
p2 = new ItemValue[itemValues.size()];
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(entry.getValue());
i++;
}
return this.control(p2);
}
public boolean control(ItemValue[] itemValues) {
if (itemValues != null && itemValues.length != 0) {
String this_items = JsonUtl.parseWithoutException(itemValues);
boolean need_write = false;
StringBuilder sb = new StringBuilder();
ItemValue[] var5 = itemValues;
int var6 = itemValues.length;
for (int var7 = 0; var7 < var6; ++var7) {
ItemValue itemValue = var5[var7];
String code = itemValue.getItem_code();
Object udw_value = this.getUdwValue(code);
Object write_value = itemValue.getItem_value();
sb.append(code);
sb.append(":");
sb.append(JsonUtl.parseWithoutException(udw_value));
sb.append(";");
if (!need_write && !UnifiedDataAppService.isEquals(udw_value, write_value)) {
need_write = true;
} else {
//log.warn("下发信号点位{} 当前写入值:{} 与系统内存值:{} 相同,不再写入 ", code, write_value, udw_value );
} }
return this.controlByNewConn(p2);
} }
// need_write = true;
public boolean control (Map < String, Object > itemValues){ if (need_write) {
Date date = new Date();
Iterator<Map.Entry<String, Object>> it = itemValues.entrySet().iterator();
ItemValue[] p2;
p2 = new ItemValue[itemValues.size()];
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(entry.getValue());
i++;
}
return this.control(p2);
}
public boolean control (ItemValue[]itemValues){
if (itemValues != null && itemValues.length != 0) {
String this_items = JsonUtl.parseWithoutException(itemValues);
boolean need_write = false;
StringBuilder sb = new StringBuilder();
ItemValue[] var5 = itemValues;
int var6 = itemValues.length;
for (int var7 = 0; var7 < var6; ++var7) {
ItemValue itemValue = var5[var7];
String code = itemValue.getItem_code();
Object udw_value = this.getUdwValue(code);
Object write_value = itemValue.getItem_value();
sb.append(code);
sb.append(":");
sb.append(JsonUtl.parseWithoutException(udw_value));
sb.append(";");
if (!need_write && !UnifiedDataAppService.isEquals(udw_value, write_value)) {
need_write = true;
} else {
//log.warn("下发信号点位{} 当前写入值:{} 与系统内存值:{} 相同,不再写入 ", code, write_value, udw_value );
}
}
// need_write = true;
if (need_write) {
Date date = new Date();
/*if (StringUtl.isEqual(this_items, this.last_items) && date.getTime() - this.sendTime.getTime() < (long) WcsConfig.opc_write_repeat_check) { /*if (StringUtl.isEqual(this_items, this.last_items) && date.getTime() - this.sendTime.getTime() < (long) WcsConfig.opc_write_repeat_check) {
log.trace("发送时间因为小于{}毫秒,而被无视", WcsConfig.opc_write_repeat_check); log.trace("发送时间因为小于{}毫秒,而被无视", WcsConfig.opc_write_repeat_check);
return false; return false;
}*/ }*/
this.last_items = this_items; this.last_items = this_items;
this.sendTime = date; this.sendTime = date;
/* this.execute_log.setResource(this.getDevice().getCode(), this.getDevice().getName()); /* this.execute_log.setResource(this.getDevice().getCode(), this.getDevice().getName());
this.execute_log.log("原始记录{}->变更为{}", new Object[]{sb, this_items}); this.execute_log.log("原始记录{}->变更为{}", new Object[]{sb, this_items});
OpcServerService opcServerService = OpcServerFactory.getOpcServerService();*/ OpcServerService opcServerService = OpcServerFactory.getOpcServerService();*/
OpcServerService opcServerService = SpringContextHolder.getBean(OpcServerServiceImpl.class); OpcServerService opcServerService = SpringContextHolder.getBean(OpcServerServiceImpl.class);
opcServerService.writeInteger(this.getOpcServer(), itemValues); opcServerService.writeInteger(this.getOpcServer(), itemValues);
UnifiedDataAccessor opcValueAccessor = this.getOpcValueAccessor(); UnifiedDataAccessor opcValueAccessor = this.getOpcValueAccessor();
ItemValue[] var17 = itemValues; ItemValue[] var17 = itemValues;
int var18 = itemValues.length; int var18 = itemValues.length;
for (int var19 = 0; var19 < var18; ++var19) { for (int var19 = 0; var19 < var18; ++var19) {
ItemValue itemValue = var17[var19]; ItemValue itemValue = var17[var19];
String code = itemValue.getItem_code(); String code = itemValue.getItem_code();
Object value = itemValue.getItem_value(); Object value = itemValue.getItem_value();
opcValueAccessor.setValue(code, value); opcValueAccessor.setValue(code, value);
}
}
return true;
} else {
throw new RuntimeException("下发 无内容");
} }
} }
return true;
} else {
throw new RuntimeException("下发 无内容");
}
}
public boolean controlByNewConn (ItemValue[]itemValues){
if (itemValues != null && itemValues.length != 0) { public boolean controlByNewConn(ItemValue[] itemValues) {
String this_items = JsonUtl.parseWithoutException(itemValues); if (itemValues != null && itemValues.length != 0) {
boolean need_write = false; String this_items = JsonUtl.parseWithoutException(itemValues);
StringBuilder sb = new StringBuilder(); boolean need_write = false;
ItemValue[] var5 = itemValues; StringBuilder sb = new StringBuilder();
int var6 = itemValues.length; ItemValue[] var5 = itemValues;
int var6 = itemValues.length;
// for (int var7 = 0; var7 < var6; ++var7) { // for (int var7 = 0; var7 < var6; ++var7) {
// ItemValue itemValue = var5[var7]; // ItemValue itemValue = var5[var7];
// String code = itemValue.getItem_code(); // String code = itemValue.getItem_code();
@@ -256,36 +246,36 @@ public class AbstractOpcDeviceDriver extends AbstractDeviceDriver implements Opc
// log.warn("下发信号点位{} 当前写入值:{} 与系统内存值:{} 相同,不再写入 ", code, write_value, udw_value ); // log.warn("下发信号点位{} 当前写入值:{} 与系统内存值:{} 相同,不再写入 ", code, write_value, udw_value );
// } // }
// } // }
need_write = true; need_write = true;
if (need_write) { if (need_write) {
Date date = new Date(); Date date = new Date();
/*if (StringUtl.isEqual(this_items, this.last_items) && date.getTime() - this.sendTime.getTime() < (long) WcsConfig.opc_write_repeat_check) { /*if (StringUtl.isEqual(this_items, this.last_items) && date.getTime() - this.sendTime.getTime() < (long) WcsConfig.opc_write_repeat_check) {
log.trace("发送时间因为小于{}毫秒,而被无视", WcsConfig.opc_write_repeat_check); log.trace("发送时间因为小于{}毫秒,而被无视", WcsConfig.opc_write_repeat_check);
return false; return false;
}*/ }*/
this.last_items = this_items; this.last_items = this_items;
this.sendTime = date; this.sendTime = date;
OpcServerService opcServerService = SpringContextHolder.getBean(OpcServerServiceImpl.class); OpcServerService opcServerService = SpringContextHolder.getBean(OpcServerServiceImpl.class);
opcServerService.writeIntegerByNewConn(this.getOpcServer(), itemValues); opcServerService.writeIntegerByNewConn(this.getOpcServer(), itemValues);
UnifiedDataAccessor opcValueAccessor = this.getOpcValueAccessor(); UnifiedDataAccessor opcValueAccessor = this.getOpcValueAccessor();
ItemValue[] var17 = itemValues; ItemValue[] var17 = itemValues;
int var18 = itemValues.length; int var18 = itemValues.length;
for (int var19 = 0; var19 < var18; ++var19) { for (int var19 = 0; var19 < var18; ++var19) {
ItemValue itemValue = var17[var19]; ItemValue itemValue = var17[var19];
String code = itemValue.getItem_code(); String code = itemValue.getItem_code();
Object value = itemValue.getItem_value(); Object value = itemValue.getItem_value();
opcValueAccessor.setValue(code, value); opcValueAccessor.setValue(code, value);
}
}
return true;
} else {
throw new RuntimeException("下发 无内容");
} }
} }
return true;
} else {
throw new RuntimeException("下发 无内容");
} }
}
}

View File

@@ -47,7 +47,7 @@ public class ItemProtocol {
return this.getOpcIntegerValue(item_qty); return this.getOpcIntegerValue(item_qty);
} }
public int getItem_type(){ public int getItem_type(){
return this.getItem_type(); return this.getOpcIntegerValue(item_type);
} }

View File

@@ -79,7 +79,7 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
@Autowired @Autowired
LuceneExecuteLogService luceneExecuteLogService = SpringContextHolder.getBean(LuceneExecuteLogService.class); LuceneExecuteLogService luceneExecuteLogService = SpringContextHolder.getBean(LuceneExecuteLogService.class);
final Executor EXECUTOR = ThreadPoolExecutorUtil.getPoll(); // final Executor EXECUTOR = ThreadPoolExecutorUtil.getPoll();
//工作模式 //工作模式
int mode = 0; int mode = 0;
@@ -856,9 +856,9 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
HongXiangConveyorDeviceDriver hongXiangConveyorDeviceDriver; HongXiangConveyorDeviceDriver hongXiangConveyorDeviceDriver;
if (device.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver) { if (device.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver) {
hongXiangConveyorDeviceDriver = (HongXiangConveyorDeviceDriver) device.getDeviceDriver(); hongXiangConveyorDeviceDriver = (HongXiangConveyorDeviceDriver) device.getDeviceDriver();
EXECUTOR.execute(() -> { // EXECUTOR.execute(() -> {
toOpenDoor(device); toOpenDoor(device);
}); // });
int mode = hongXiangConveyorDeviceDriver.getMode(); int mode = hongXiangConveyorDeviceDriver.getMode();
int door = hongXiangConveyorDeviceDriver.getDoor(); int door = hongXiangConveyorDeviceDriver.getDoor();
int action = hongXiangConveyorDeviceDriver.getAction(); int action = hongXiangConveyorDeviceDriver.getAction();
@@ -922,9 +922,9 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
HongXiangConveyorDeviceDriver hongXiangConveyorDeviceDriver; HongXiangConveyorDeviceDriver hongXiangConveyorDeviceDriver;
if (device.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver) { if (device.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver) {
hongXiangConveyorDeviceDriver = (HongXiangConveyorDeviceDriver) device.getDeviceDriver(); hongXiangConveyorDeviceDriver = (HongXiangConveyorDeviceDriver) device.getDeviceDriver();
EXECUTOR.execute(() -> { // EXECUTOR.execute(() -> {
toCloseDoor(device); toCloseDoor(device);
}); // });
int mode = hongXiangConveyorDeviceDriver.getMode(); int mode = hongXiangConveyorDeviceDriver.getMode();
int door = hongXiangConveyorDeviceDriver.getDoor(); int door = hongXiangConveyorDeviceDriver.getDoor();
int action = hongXiangConveyorDeviceDriver.getAction(); int action = hongXiangConveyorDeviceDriver.getAction();
@@ -1058,9 +1058,9 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
LampThreecolorDeviceDriver lampThreecolorDeviceDriver; LampThreecolorDeviceDriver lampThreecolorDeviceDriver;
if (nextDevice.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver) { if (nextDevice.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver) {
hongXiangConveyorDeviceDriver = (HongXiangConveyorDeviceDriver) nextDevice.getDeviceDriver(); hongXiangConveyorDeviceDriver = (HongXiangConveyorDeviceDriver) nextDevice.getDeviceDriver();
EXECUTOR.execute(() -> { // EXECUTOR.execute(() -> {
toCloseDoor(nextDevice); toCloseDoor(nextDevice);
}); // });
if (StrUtil.isNotEmpty(taskDto.getOven_time())) { if (StrUtil.isNotEmpty(taskDto.getOven_time())) {
//下发烘箱时间 //下发烘箱时间
int time = Integer.parseInt(taskDto.getOven_time()); int time = Integer.parseInt(taskDto.getOven_time());

View File

@@ -2,6 +2,7 @@ package org.nl.acs.device_driver.two_conveyor.plug_pull_device_site;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpResponse;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import lombok.Data; import lombok.Data;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@@ -264,6 +265,15 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
applyTask(mode); applyTask(mode);
} }
break; break;
case 10:
if (!requireSucess) {
//请求密集库出气胀轴,申请行架任务
boolean b =applyQzz(mode);
if(b){
requireSucess = true;
}
}
break;
default: default:
log.info("未知模式"); log.info("未知模式");
break; break;
@@ -304,7 +314,7 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out); log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out);
return; return;
} else { } else {
logServer.deviceExecuteLog(this.device_code,"","","申请套管"); logServer.deviceExecuteLog(this.device_code, "", "", "申请套管");
ApplyPlugPullSiteRequest applyPlugPullSiteRequest = new ApplyPlugPullSiteRequest(); ApplyPlugPullSiteRequest applyPlugPullSiteRequest = new ApplyPlugPullSiteRequest();
ApplyPlugPullSitResponse applyPlugPullSitResponse; ApplyPlugPullSitResponse applyPlugPullSitResponse;
applyPlugPullSiteRequest.setDevice_code(device_code); applyPlugPullSiteRequest.setDevice_code(device_code);
@@ -346,19 +356,28 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
String to_spec2 = data.get("rightSpec"); String to_spec2 = data.get("rightSpec");
Map<String, Object> map = new LinkedHashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
//下发纸管信息 //下发纸管信息
if (ObjectUtil.isEmpty(to_material1) && ObjectUtil.isNotEmpty(to_material2)) {
map.put("to_material1", to_material2);
if (StrUtil.isNotEmpty(rightSize)) {
map.put("to_size1", rightSize);
}
if (ObjectUtil.isNotEmpty(to_spec2)) {
map.put("to_spec1", to_spec2);
}
} else {
map.put("to_material1", to_material1);
map.put("to_material2", to_material2);
map.put("to_material1", to_material1); if (StrUtil.isNotEmpty(leftSize)) {
map.put("to_material2", to_material2); map.put("to_size1", leftSize);
}
if (StrUtil.isNotEmpty(leftSize)) { if (StrUtil.isNotEmpty(rightSize)) {
map.put("to_size1", leftSize); map.put("to_size2", rightSize);
} }
if (StrUtil.isNotEmpty(rightSize)) { map.put("to_spec1", to_spec1);
map.put("to_size2", rightSize); if (ObjectUtil.isNotEmpty(to_spec2)) {
} map.put("to_spec2", to_spec2);
map.put("to_spec1", to_spec1); }
if (ObjectUtil.isNotEmpty(to_spec2)) {
map.put("to_spec2", to_spec2);
} }
map.put("to_command", mode); map.put("to_command", mode);
map.put("to_qty1", number); map.put("to_qty1", number);
@@ -367,7 +386,7 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
logServer.deviceExecuteLog(this.device_code, "", "", "申请套管成功,返回参数:" + applyPlugPullSitResponse.getData()); logServer.deviceExecuteLog(this.device_code, "", "", "申请套管成功,返回参数:" + applyPlugPullSitResponse.getData());
message = "申请套管成功"; message = "申请套管成功";
} }
if (StrUtil.equals("2", is_bushing)){ if (StrUtil.equals("2", is_bushing)) {
Map<String, Object> map = new LinkedHashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
map.put("to_command", 97); map.put("to_command", 97);
this.writing(map); this.writing(map);
@@ -381,7 +400,7 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
luceneExecuteLogService.deviceExecuteLog(logDto1); luceneExecuteLogService.deviceExecuteLog(logDto1);
logServer.deviceExecuteLog(this.device_code, "", "", message); logServer.deviceExecuteLog(this.device_code, "", "", message);
} }
if (StrUtil.equals("0", is_bushing)){ if (StrUtil.equals("0", is_bushing)) {
Map<String, Object> map = new LinkedHashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
map.put("to_command", 98); map.put("to_command", 98);
this.writing(map); this.writing(map);
@@ -404,7 +423,7 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
message = "申请套管失败"; message = "申请套管失败";
LuceneLogDto logDto1 = LuceneLogDto.builder() LuceneLogDto logDto1 = LuceneLogDto.builder()
.device_code(device_code) .device_code(device_code)
.content("申请套管反馈失败,返回参数:"+applyPlugPullSitResponse) .content("申请套管反馈失败,返回参数:" + applyPlugPullSitResponse)
.build(); .build();
logDto1.setLog_level(4); logDto1.setLog_level(4);
luceneExecuteLogService.deviceExecuteLog(logDto1); luceneExecuteLogService.deviceExecuteLog(logDto1);
@@ -484,7 +503,7 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out); log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out);
return; return;
} else { } else {
logServer.deviceExecuteLog(this.device_code,"","","拔轴完成"); logServer.deviceExecuteLog(this.device_code, "", "", "拔轴完成");
ApplyPlugPullSiteRequest applyPlugPullSiteRequest = new ApplyPlugPullSiteRequest(); ApplyPlugPullSiteRequest applyPlugPullSiteRequest = new ApplyPlugPullSiteRequest();
ApplyPlugPullSitResponse applyPlugPullSitResponse; ApplyPlugPullSitResponse applyPlugPullSitResponse;
applyPlugPullSiteRequest.setDevice_code(device_code); applyPlugPullSiteRequest.setDevice_code(device_code);
@@ -510,7 +529,7 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
logServer.deviceExecuteLog(this.device_code, "", "", "申请拔轴完成任务,返回参数:" + applyPlugPullSitResponse.getData()); logServer.deviceExecuteLog(this.device_code, "", "", "申请拔轴完成任务,返回参数:" + applyPlugPullSitResponse.getData());
LuceneLogDto logDto1 = LuceneLogDto.builder() LuceneLogDto logDto1 = LuceneLogDto.builder()
.device_code(device_code) .device_code(device_code)
.content("申请拔轴完成,返回参数:"+applyPlugPullSitResponse.getData()) .content("申请拔轴完成,返回参数:" + applyPlugPullSitResponse.getData())
.build(); .build();
logDto1.setLog_level(4); logDto1.setLog_level(4);
luceneExecuteLogService.deviceExecuteLog(logDto1); luceneExecuteLogService.deviceExecuteLog(logDto1);
@@ -524,7 +543,7 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
message = "拔轴完成失败"; message = "拔轴完成失败";
LuceneLogDto logDto1 = LuceneLogDto.builder() LuceneLogDto logDto1 = LuceneLogDto.builder()
.device_code(device_code) .device_code(device_code)
.content("拔轴完成反馈失败,返回参数:"+applyPlugPullSitResponse.getData()) .content("拔轴完成反馈失败,返回参数:" + applyPlugPullSitResponse.getData())
.build(); .build();
logDto1.setLog_level(4); logDto1.setLog_level(4);
luceneExecuteLogService.deviceExecuteLog(logDto1); luceneExecuteLogService.deviceExecuteLog(logDto1);
@@ -542,7 +561,7 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out); log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out);
return; return;
} else { } else {
logServer.deviceExecuteLog(this.device_code,"","","申请拔轴"); logServer.deviceExecuteLog(this.device_code, "", "", "申请拔轴");
ApplyPlugPullSiteRequest applyPlugPullSiteRequest = new ApplyPlugPullSiteRequest(); ApplyPlugPullSiteRequest applyPlugPullSiteRequest = new ApplyPlugPullSiteRequest();
ApplyPlugPullSitResponse applyPlugPullSitResponse; ApplyPlugPullSitResponse applyPlugPullSitResponse;
applyPlugPullSiteRequest.setDevice_code(device_code); applyPlugPullSiteRequest.setDevice_code(device_code);
@@ -576,17 +595,27 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
Object to_spec4 = data.get("currentRightSpec"); Object to_spec4 = data.get("currentRightSpec");
Object to_qty2 = data.get("pullCount"); Object to_qty2 = data.get("pullCount");
Map<String, Object> map = new LinkedHashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
map.put("to_material3", to_material3); if (ObjectUtil.isEmpty(to_material3) && ObjectUtil.isNotEmpty(to_material4)) {
if (ObjectUtil.isNotEmpty(to_material4)) { map.put("to_material3", to_material4);
map.put("to_material4", to_material4); if (ObjectUtil.isNotEmpty(to_size4)) {
} map.put("to_size3", to_size4);
map.put("to_size3", to_size3); }
if (ObjectUtil.isNotEmpty(to_size4)) { if (ObjectUtil.isNotEmpty(to_spec4)) {
map.put("to_size4", to_size4); map.put("to_spec3", to_spec4);
} }
map.put("to_spec3", to_spec3); } else {
if (ObjectUtil.isNotEmpty(to_spec4)) { map.put("to_material3", to_material3);
map.put("to_spec4", to_spec4); if (ObjectUtil.isNotEmpty(to_material4)) {
map.put("to_material4", to_material4);
}
map.put("to_size3", to_size3);
if (ObjectUtil.isNotEmpty(to_size4)) {
map.put("to_size4", to_size4);
}
map.put("to_spec3", to_spec3);
if (ObjectUtil.isNotEmpty(to_spec4)) {
map.put("to_spec4", to_spec4);
}
} }
map.put("to_qty2", to_qty2); map.put("to_qty2", to_qty2);
map.put("to_qzz_type", size); map.put("to_qzz_type", size);
@@ -597,7 +626,7 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
message = "申请拔轴成功"; message = "申请拔轴成功";
LuceneLogDto logDto1 = LuceneLogDto.builder() LuceneLogDto logDto1 = LuceneLogDto.builder()
.device_code(device_code) .device_code(device_code)
.content("申请拔轴任务,返回参数:"+applyPlugPullSitResponse.getData()) .content("申请拔轴任务,返回参数:" + applyPlugPullSitResponse.getData())
.build(); .build();
logDto.setLog_level(4); logDto.setLog_level(4);
luceneExecuteLogService.deviceExecuteLog(logDto1); luceneExecuteLogService.deviceExecuteLog(logDto1);
@@ -610,7 +639,7 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
message = "申请拔轴失败"; message = "申请拔轴失败";
LuceneLogDto logDto1 = LuceneLogDto.builder() LuceneLogDto logDto1 = LuceneLogDto.builder()
.device_code(device_code) .device_code(device_code)
.content("申请拔轴反馈失败,返回参数:"+applyPlugPullSitResponse.getData()) .content("申请拔轴反馈失败,返回参数:" + applyPlugPullSitResponse.getData())
.build(); .build();
logDto.setLog_level(4); logDto.setLog_level(4);
luceneExecuteLogService.deviceExecuteLog(logDto1); luceneExecuteLogService.deviceExecuteLog(logDto1);
@@ -628,7 +657,7 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out); log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out);
return; return;
} else { } else {
logServer.deviceExecuteLog(this.device_code,"","","缓存线已满,生成行架任务"); logServer.deviceExecuteLog(this.device_code, "", "", "缓存线已满,生成行架任务");
ApplyPlugPullSiteRequest applyPlugPullSiteRequest = new ApplyPlugPullSiteRequest(); ApplyPlugPullSiteRequest applyPlugPullSiteRequest = new ApplyPlugPullSiteRequest();
ApplyPlugPullSitResponse applyPlugPullSitResponse; ApplyPlugPullSitResponse applyPlugPullSitResponse;
applyPlugPullSiteRequest.setDevice_code(device_code); applyPlugPullSiteRequest.setDevice_code(device_code);
@@ -674,6 +703,64 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
} }
} }
/**
* 请求密集库出气胀轴,申请行架任务
*/
private boolean applyQzz(int mode) throws Exception {
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);
return false;
} else {
JSONObject jo = new JSONObject();
jo.put("device_code",this.getDevice_code());
jo.put("size",this.getSize());
LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(device_code)
.content("请求密集库出气胀轴,请求参数:" + jo)
.build();
logDto.setLog_level(4);
luceneExecuteLogService.deviceExecuteLog(logDto);
logServer.deviceExecuteLog(this.device_code, "", "", "请求密集库出气胀轴,参数:" + jo);
HttpResponse httpResponse = acsToWmsService.callShaftFromCache(jo);
JSONObject jsonObject = null;
if(ObjectUtil.isNotEmpty(httpResponse)){
String body = httpResponse.body();
jsonObject = JSONObject.parseObject(body);
}
if(ObjectUtil.isNotNull(jsonObject) && jsonObject.getInteger("status") == 200){
Map map = new HashMap();
map.put("to_command", 10);
try {
this.writing(map);
LuceneLogDto logDto1 = LuceneLogDto.builder()
.device_code(device_code)
.content("请求密集库出气胀轴,返回参数" + jsonObject)
.build();
logDto1.setLog_level(4);
luceneExecuteLogService.deviceExecuteLog(logDto1);
} catch (Exception e) {
LuceneLogDto logDto1 = LuceneLogDto.builder()
.device_code(device_code)
.content("请求密集库出气胀轴" + map)
.build();
logDto1.setLog_level(4);
luceneExecuteLogService.deviceExecuteLog(logDto1);
}
return true;
}else{
LuceneLogDto logDto2 = LuceneLogDto.builder()
.device_code(device_code)
.content("请求密集库出气胀轴" + httpResponse.body())
.build();
logDto2.setLog_level(4);
luceneExecuteLogService.deviceExecuteLog(logDto2);
return false;
}
}
}
/** /**
* 下发电气信号 * 下发电气信号
* *

View File

@@ -48,6 +48,36 @@ public class ItemProtocol {
public static String item_to_barcode = "to_barcode"; public static String item_to_barcode = "to_barcode";
//下发套管纸管1编号
public static String item_to_material1 = "to_material1";
//下发套管纸管2编号
public static String item_to_material2 = "to_material2";
//下发套管纸管1规格
public static String item_to_spec1 = "to_spec1";
//下发套管纸管2规格
public static String item_to_spec2 = "to_spec2";
//套管纸管数量
public static String item_to_qty1 = "to_qty1";
//套管纸管1尺寸
public static String item_to_size1 = "to_size1";
//套管纸管2尺寸
public static String item_to_size2 = "to_size2";
//下发拔轴纸管1编号
public static String item_to_material3 = "to_material3";
//下发拔轴纸管2编号
public static String item_to_material4 = "to_material4";
//下发拔轴纸管1规格
public static String item_to_spec3 = "to_spec3";
//下发拔轴纸管2规格
public static String item_to_spec4 = "to_spec4";
//拔轴纸管数量
public static String item_to_qty2 = "to_qty2";
//拔轴纸管1尺寸
public static String item_to_size3 = "to_size3";
//套拔轴纸管2尺寸
public static String item_to_size4 = "to_size4";
private PullHeadManipulatorDeviceDriver driver; private PullHeadManipulatorDeviceDriver driver;
@@ -194,6 +224,20 @@ public class ItemProtocol {
list.add(new ItemDto(item_to_pull, "是否拔轴", "DB12.W8")); list.add(new ItemDto(item_to_pull, "是否拔轴", "DB12.W8"));
list.add(new ItemDto(item_to_sleeve, "是否套轴", "DB12.W10")); list.add(new ItemDto(item_to_sleeve, "是否套轴", "DB12.W10"));
list.add(new ItemDto(item_to_size, "气涨轴尺寸", "DB12.W12")); list.add(new ItemDto(item_to_size, "气涨轴尺寸", "DB12.W12"));
list.add(new ItemDto(item_to_material1, "下发套管纸管1编号", "DB12.String603.60"));
list.add(new ItemDto(item_to_material2, "下发套管纸管2编号", "DB12.String604.60"));
list.add(new ItemDto(item_to_spec1, "套管纸管1规格", "DB12.String605.60"));
list.add(new ItemDto(item_to_spec2, "套管纸管2规格", "DB12.String606.60"));
list.add(new ItemDto(item_to_qty1, "套管纸管数量", "DB12.W14"));
list.add(new ItemDto(item_to_size1, "套管纸管1尺寸", "DB12.W16"));
list.add(new ItemDto(item_to_size2, "套管纸管2尺寸", "DB12.W18"));
list.add(new ItemDto(item_to_material3, "下发套管纸管1编号", "DB12.String607.60"));
list.add(new ItemDto(item_to_material4, "下发套管纸管2编号", "DB12.String608.60"));
list.add(new ItemDto(item_to_spec3, "拔轴纸管1规格", "DB12.String609.60"));
list.add(new ItemDto(item_to_spec4, "拔轴纸管2规格", "DB12.String610.60"));
list.add(new ItemDto(item_to_qty2, "拔轴纸管数量", "DB12.W20"));
list.add(new ItemDto(item_to_size3, "拔轴纸管1尺寸", "DB12.W22"));
list.add(new ItemDto(item_to_size4, "拔轴纸管2尺寸", "DB12.W24"));
return list; return list;
} }

View File

@@ -127,7 +127,6 @@ public class PullHeadManipulatorDeviceDriver extends AbstractOpcDeviceDriver imp
String lastToBarcode = null; String lastToBarcode = null;
Boolean isonline = true; Boolean isonline = true;
int hasGoods = 0; int hasGoods = 0;
String message = null; String message = null;
@@ -248,7 +247,6 @@ public class PullHeadManipulatorDeviceDriver extends AbstractOpcDeviceDriver imp
} }
} catch (Exception var17) { } catch (Exception var17) {
var17.printStackTrace(); var17.printStackTrace();
// feedMessage = var17.getMessage(); // feedMessage = var17.getMessage();
@@ -391,131 +389,139 @@ public class PullHeadManipulatorDeviceDriver extends AbstractOpcDeviceDriver imp
return true; return true;
} }
} }
} else { } else {
List<TaskDto> taskDtoList = taskserver.findByTrappedManipulatorReady(); List<TaskDto> taskDtoList = taskserver.findByTrappedManipulatorReady();
if (ObjectUtil.isNotEmpty(taskDtoList)) { if (ObjectUtil.isNotEmpty(taskDtoList)) {
List<TaskDto> taskDtosReady = new ArrayList<>(); List<TaskDto> taskDtosReady = new ArrayList<>();
for (TaskDto taskDto1 : taskDtoList) { for (TaskDto taskDto1 : taskDtoList) {
if (getDeviceCodeList.contains(taskDto1.getStart_device_code())) { if (getDeviceCodeList.contains(taskDto1.getStart_device_code())) {
taskDtosReady.add(taskDto1); taskDtosReady.add(taskDto1);
}
}
// task = taskDtosReady.get(0);
List<TaskDto> readyTaskDtos = new ArrayList<>();
for (int j = 0; j < taskDtosReady.size(); j++) {
task = taskDtosReady.get(j);
String firstDeviceCode = task.getStart_device_code();
Device start_device = deviceAppService.findDeviceByCode(firstDeviceCode);
if (start_device.getDeviceDriver() instanceof PlugPullDeviceSiteDeviceDriver) {
plugPullDeviceSiteDeviceDriver = (PlugPullDeviceSiteDeviceDriver) start_device.getDeviceDriver();
if (plugPullDeviceSiteDeviceDriver.getAction() != 1) {
notCreateInstMessage = "universal_notCreateInstMessage12";
continue;
} }
} }
//按照优先级排序 优先级相等按照创建时间排序 String nextDeviceCode = task.getNext_device_code();
taskDtosReady = this.sortTask(taskDtosReady); Device next_device = deviceAppService.findDeviceByCode(nextDeviceCode);
task = taskDtosReady.get(0); if (next_device.getDeviceDriver() instanceof PlugPullDeviceSiteDeviceDriver) {
} plugPullDeviceSiteDeviceDriver = (PlugPullDeviceSiteDeviceDriver) next_device.getDeviceDriver();
if (ObjectUtil.isNotEmpty(task)) { String remark = "";
break; if (plugPullDeviceSiteDeviceDriver.getMode() != 2) {
remark = "universal_notCreateInstMessage9";
notCreateInstMessage = remark;
continue;
}
if (plugPullDeviceSiteDeviceDriver.getMove() != 0) {
remark = "universal_notCreateInstMessage9";
notCreateInstMessage = remark;
continue;
}
if (plugPullDeviceSiteDeviceDriver.getAction() != 2) {
remark = "universal_notCreateInstMessage11";
notCreateInstMessage = remark;
continue;
}
}
readyTaskDtos.add(task);
} }
//按照优先级排序 优先级相等按照创建时间排序
readyTaskDtos = this.sortTask(readyTaskDtos);
task = readyTaskDtos.get(0);
}
if (ObjectUtil.isNotEmpty(task)) {
break;
} }
} }
if (!ObjectUtil.isEmpty(task)) {
String firstDeviceCode = task.getStart_device_code();
Device start_device = deviceAppService.findDeviceByCode(firstDeviceCode);
if (start_device.getDeviceDriver() instanceof PlugPullDeviceSiteDeviceDriver) {
plugPullDeviceSiteDeviceDriver = (PlugPullDeviceSiteDeviceDriver) start_device.getDeviceDriver();
if (plugPullDeviceSiteDeviceDriver.getAction() != 1) {
notCreateInstMessage = "universal_notCreateInstMessage12";
return false;
}
}
String nextDeviceCode = task.getNext_device_code();
Device next_device = deviceAppService.findDeviceByCode(nextDeviceCode);
if (next_device.getDeviceDriver() instanceof PlugPullDeviceSiteDeviceDriver) {
plugPullDeviceSiteDeviceDriver = (PlugPullDeviceSiteDeviceDriver) next_device.getDeviceDriver();
String remark = "";
if (plugPullDeviceSiteDeviceDriver.getMode() != 2) {
remark = "universal_notCreateInstMessage9";
notCreateInstMessage = remark;
return false;
}
if (plugPullDeviceSiteDeviceDriver.getMove() != 0) {
remark = "universal_notCreateInstMessage9";
notCreateInstMessage = remark;
return false;
}
if (plugPullDeviceSiteDeviceDriver.getAction() != 2) {
remark = "universal_notCreateInstMessage11";
notCreateInstMessage = remark;
return false;
}
}
String taskId = task.getTask_id();
String taskCode = task.getTask_code();
String vehicleCode = task.getVehicle_code();
String priority = task.getPriority();
String startPointCode = task.getStart_point_code();
String routePlanCode = task.getRoute_plan_code();
String nextPointCode = task.getNext_point_code();
Instruction instdto = new Instruction();
instdto.setInstruction_id(IdUtil.simpleUUID());
instdto.setRoute_plan_code(routePlanCode);
instdto.setRemark(task.getRemark());
instdto.setMaterial(task.getMaterial());
instdto.setQuantity(task.getQuantity());
instdto.setTask_id(taskId);
instdto.setTask_code(taskCode);
instdto.setVehicle_code(vehicleCode);
String now = DateUtil.now();
instdto.setCreate_time(now);
instdto.setCreate_by(SecurityUtils.getCurrentNickName());
instdto.setStart_device_code(firstDeviceCode);
instdto.setNext_device_code(nextDeviceCode);
instdto.setStart_point_code(startPointCode);
instdto.setNext_point_code(nextPointCode);
instdto.setPriority(priority);
instdto.setInstruction_status(InstructionStatusEnum.READY.getIndex());
instdto.setExecute_device_code(startPointCode);
try {
instructionService.create(instdto);
} catch (Exception e) {
notCreateInstMessage = e.getMessage();
LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(device_code)
.content(device_code + "创建指令时出现异常:" + e.getMessage())
.build();
luceneExecuteLogService.deviceExecuteLog(logDto);
return false;
}
//创建指令后修改任务状态
task.setTask_status(TaskStatusEnum.BUSY.getIndex());
task.setUpdate_time(DateUtil.now());
taskserver.update(task);
Device startDevice = deviceAppService.findDeviceByCode(instdto.getStart_device_code());
Device nextDevice = deviceAppService.findDeviceByCode(instdto.getNext_device_code());
if (ObjectUtil.isEmpty(startDevice.getExtraValue().get("address"))) {
notCreateInstMessage = "universal_notCreateInstMessage1";
logServer.deviceExecuteLog(this.getDevice_code(), "", "", "设备:" + startDevice.getDevice_code() + "未设置电气调度号!");
throw new BadRequestException(LangProcess.msg("device_checkAdd", startDevice.getDevice_code()));
}
if (ObjectUtil.isEmpty(nextDevice.getExtraValue().get("address"))) {
notCreateInstMessage = "universal_notCreateInstMessage1";
logServer.deviceExecuteLog(this.getDevice_code(), "", "", "设备:" + nextDevice.getDevice_code() + "未设置电气调度号!");
throw new BadRequestException(LangProcess.msg("device_checkAdd", nextDevice.getDevice_code()));
}
String startAddr = startDevice.getExtraValue().get("address").toString();
String nextAddr = nextDevice.getExtraValue().get("address").toString();
String interaction_json = task.getInteraction_json();
Map<String, Object> map = toStringObjectMap(instdto, startAddr, nextAddr, interaction_json);
this.writing(map);
this.setRequireSucess(true);
notCreateInstMessage = "";
notCreateTaskMessage = "";
} else {
notCreateInstMessage = "universal_notCreateInstMessage";
}
return true;
} }
if (!ObjectUtil.isEmpty(task)) {
String taskId = task.getTask_id();
String taskCode = task.getTask_code();
String vehicleCode = task.getVehicle_code();
String priority = task.getPriority();
String startPointCode = task.getStart_point_code();
String routePlanCode = task.getRoute_plan_code();
String nextPointCode = task.getNext_point_code();
String firstDeviceCode = task.getStart_device_code();
String nextDeviceCode = task.getNext_device_code();
Instruction instdto = new Instruction();
instdto.setInstruction_id(IdUtil.simpleUUID());
instdto.setRoute_plan_code(routePlanCode);
instdto.setRemark(task.getRemark());
instdto.setMaterial(task.getMaterial());
instdto.setQuantity(task.getQuantity());
instdto.setTask_id(taskId);
instdto.setTask_code(taskCode);
instdto.setVehicle_code(vehicleCode);
String now = DateUtil.now();
instdto.setCreate_time(now);
instdto.setCreate_by(SecurityUtils.getCurrentNickName());
instdto.setStart_device_code(firstDeviceCode);
instdto.setNext_device_code(nextDeviceCode);
instdto.setStart_point_code(startPointCode);
instdto.setNext_point_code(nextPointCode);
instdto.setPriority(priority);
instdto.setInstruction_status(InstructionStatusEnum.READY.getIndex());
instdto.setExecute_device_code(startPointCode);
try {
instructionService.create(instdto);
} catch (Exception e) {
notCreateInstMessage = e.getMessage();
LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(device_code)
.content(device_code + "创建指令时出现异常:" + e.getMessage())
.build();
luceneExecuteLogService.deviceExecuteLog(logDto);
return false;
}
//创建指令后修改任务状态
task.setTask_status(TaskStatusEnum.BUSY.getIndex());
task.setUpdate_time(DateUtil.now());
taskserver.update(task);
Device startDevice = deviceAppService.findDeviceByCode(instdto.getStart_device_code());
Device nextDevice = deviceAppService.findDeviceByCode(instdto.getNext_device_code());
if (ObjectUtil.isEmpty(startDevice.getExtraValue().get("address"))) {
notCreateInstMessage = "universal_notCreateInstMessage1";
logServer.deviceExecuteLog(this.getDevice_code(), "", "", "设备:" + startDevice.getDevice_code() + "未设置电气调度号!");
throw new BadRequestException(LangProcess.msg("device_checkAdd", startDevice.getDevice_code()));
}
if (ObjectUtil.isEmpty(nextDevice.getExtraValue().get("address"))) {
notCreateInstMessage = "universal_notCreateInstMessage1";
logServer.deviceExecuteLog(this.getDevice_code(), "", "", "设备:" + nextDevice.getDevice_code() + "未设置电气调度号!");
throw new BadRequestException(LangProcess.msg("device_checkAdd", nextDevice.getDevice_code()));
}
String startAddr = startDevice.getExtraValue().get("address").toString();
String nextAddr = nextDevice.getExtraValue().get("address").toString();
String interaction_json = task.getInteraction_json();
Map<String, Object> map = toStringObjectMap(instdto, startAddr, nextAddr, interaction_json);
this.writing(map);
this.setRequireSucess(true);
notCreateInstMessage = "";
notCreateTaskMessage = "";
} else {
notCreateInstMessage = "universal_notCreateInstMessage";
}
return true;
} }
}
@NotNull @NotNull
private Map<String, Object> toStringObjectMap(Instruction instdto, String startAddr, String nextAddr, String interaction_json) { private Map<String, Object> toStringObjectMap(Instruction instdto, String startAddr, String nextAddr, String interaction_json) {
Map<String, Object> map = new LinkedHashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
if(StrUtil.isNotEmpty(interaction_json) && !"".equals(interaction_json)){ if (StrUtil.isNotEmpty(interaction_json) && !"".equals(interaction_json)) {
JSONObject jsonObject = JSONObject.parseObject(interaction_json); JSONObject jsonObject = JSONObject.parseObject(interaction_json);
//套管1物料 //套管1物料
Object to_material1 = jsonObject.get("left"); Object to_material1 = jsonObject.get("left");
@@ -556,17 +562,36 @@ public class PullHeadManipulatorDeviceDriver extends AbstractOpcDeviceDriver imp
map.put("to_task", instdto.getInstruction_code()); map.put("to_task", instdto.getInstruction_code());
map.put("to_target", nextAddr); map.put("to_target", nextAddr);
//toTranscription(taskDto,map); //toTranscription(taskDto,map);
map.put("to_material1", to_material1); if (ObjectUtil.isEmpty(to_material1) && ObjectUtil.isNotEmpty(to_material2)) {
if (ObjectUtil.isNotEmpty(to_material2)) { map.put("to_material1", to_material2);
map.put("to_material2", to_material2); if (ObjectUtil.isNotEmpty(to_spec2)) {
map.put("to_spec1", to_spec2);
}
if (ObjectUtil.isNotEmpty(to_size2)) {
map.put("to_size1", to_size2);
}
} else {
map.put("to_material1", to_material1);
if (ObjectUtil.isNotEmpty(to_material2)) {
map.put("to_material2", to_material2);
}
map.put("to_spec1", to_spec1);
if (ObjectUtil.isNotEmpty(to_spec2)) {
map.put("to_spec2", to_spec2);
}
map.put("to_size1", to_size1);
if (ObjectUtil.isNotEmpty(to_size2)) {
map.put("to_size2", to_size2);
}
} }
map.put("to_spec1", to_spec1); if (ObjectUtil.isEmpty(to_material3) && ObjectUtil.isNotEmpty(to_material4)) {
if (ObjectUtil.isNotEmpty(to_spec2)) { map.put("to_material3", to_material4);
map.put("to_spec2", to_spec2); if (ObjectUtil.isNotEmpty(to_size4)) {
} map.put("to_size3", to_size4);
map.put("to_size1", to_size1); }
if (ObjectUtil.isNotEmpty(to_size2)) { if (ObjectUtil.isNotEmpty(to_spec4)) {
map.put("to_size2", to_size2); map.put("to_spec3", to_spec4);
}
} }
map.put("to_material3", to_material3); map.put("to_material3", to_material3);
if (ObjectUtil.isNotEmpty(to_material4)) { if (ObjectUtil.isNotEmpty(to_material4)) {
@@ -583,7 +608,7 @@ public class PullHeadManipulatorDeviceDriver extends AbstractOpcDeviceDriver imp
map.put("to_qty1", to_qty1); map.put("to_qty1", to_qty1);
map.put("to_qty2", to_qty2); map.put("to_qty2", to_qty2);
return map; return map;
}else{ } else {
map.put("to_command", CommonFinalParam.ONE); map.put("to_command", CommonFinalParam.ONE);
map.put("to_onset", startAddr); map.put("to_onset", startAddr);
map.put("to_task", instdto.getInstruction_code()); map.put("to_task", instdto.getInstruction_code());
@@ -592,33 +617,33 @@ public class PullHeadManipulatorDeviceDriver extends AbstractOpcDeviceDriver imp
} }
} }
private void toTranscription(TaskDto taskDto,Map map){ private void toTranscription(TaskDto taskDto, Map map) {
String interactionJson = taskDto.getInteraction_json(); String interactionJson = taskDto.getInteraction_json();
InteractionJsonDTO interactionJsonDTO = JSON.parseObject(interactionJson, InteractionJsonDTO.class); InteractionJsonDTO interactionJsonDTO = JSON.parseObject(interactionJson, InteractionJsonDTO.class);
if(ObjectUtil.isNotEmpty(interactionJsonDTO)){ if (ObjectUtil.isNotEmpty(interactionJsonDTO)) {
toDevice(interactionJsonDTO.getToPull(),"to_pull",map); toDevice(interactionJsonDTO.getToPull(), "to_pull", map);
toDevice(interactionJsonDTO.getIsBushing(),"is_bushing",map); toDevice(interactionJsonDTO.getIsBushing(), "is_bushing", map);
toDevice(interactionJsonDTO.getToSize(),"to_size",map); toDevice(interactionJsonDTO.getToSize(), "to_size", map);
toDevice(interactionJsonDTO.getToBarcode(),"to_barcode",map); toDevice(interactionJsonDTO.getToBarcode(), "to_barcode", map);
toDevice(interactionJsonDTO.getToMaterial1(),"to_material1",map); toDevice(interactionJsonDTO.getToMaterial1(), "to_material1", map);
toDevice(interactionJsonDTO.getToMaterial2(),"to_material2",map); toDevice(interactionJsonDTO.getToMaterial2(), "to_material2", map);
toDevice(interactionJsonDTO.getToSpec1(),"to_spec1",map); toDevice(interactionJsonDTO.getToSpec1(), "to_spec1", map);
toDevice(interactionJsonDTO.getToSpec2(),"to_spec2",map); toDevice(interactionJsonDTO.getToSpec2(), "to_spec2", map);
toDevice(interactionJsonDTO.getToQty1(),"to_qty1",map); toDevice(interactionJsonDTO.getToQty1(), "to_qty1", map);
toDevice(interactionJsonDTO.getToSize1(),"to_size1",map); toDevice(interactionJsonDTO.getToSize1(), "to_size1", map);
toDevice(interactionJsonDTO.getToSize2(),"to_size2",map); toDevice(interactionJsonDTO.getToSize2(), "to_size2", map);
toDevice(interactionJsonDTO.getToMaterial3(),"to_material3",map); toDevice(interactionJsonDTO.getToMaterial3(), "to_material3", map);
toDevice(interactionJsonDTO.getToMaterial4(),"to_material4",map); toDevice(interactionJsonDTO.getToMaterial4(), "to_material4", map);
toDevice(interactionJsonDTO.getToSpec3(),"to_spec3",map); toDevice(interactionJsonDTO.getToSpec3(), "to_spec3", map);
toDevice(interactionJsonDTO.getToSpec4(),"to_spec4",map); toDevice(interactionJsonDTO.getToSpec4(), "to_spec4", map);
toDevice(interactionJsonDTO.getToQty2(),"to_qty2",map); toDevice(interactionJsonDTO.getToQty2(), "to_qty2", map);
toDevice(interactionJsonDTO.getToSize3(),"to_size3",map); toDevice(interactionJsonDTO.getToSize3(), "to_size3", map);
toDevice(interactionJsonDTO.getToSize4(),"to_size4",map); toDevice(interactionJsonDTO.getToSize4(), "to_size4", map);
} }
} }
private void toDevice(String toOrder,String signal,Map map){ private void toDevice(String toOrder, String signal, Map map) {
if(ObjectUtil.isNotEmpty(toOrder)){ if (ObjectUtil.isNotEmpty(toOrder)) {
map.put(signal, toOrder); map.put(signal, toOrder);
} }
} }
@@ -710,12 +735,12 @@ public class PullHeadManipulatorDeviceDriver extends AbstractOpcDeviceDriver imp
action = LangProcess.msg("universal_releasing"); action = LangProcess.msg("universal_releasing");
} else if (this.getAction() == 4) { } else if (this.getAction() == 4) {
action = LangProcess.msg("universal_releasing_completed"); action = LangProcess.msg("universal_releasing_completed");
}else { } else {
action = "无动作"; action = "无动作";
} }
if(error == 0 && this.itemProtocol.isError){ if (error == 0 && this.itemProtocol.isError) {
iserror = true; iserror = true;
}else if(error == 0 && !this.itemProtocol.isError){ } else if (error == 0 && !this.itemProtocol.isError) {
iserror = false; iserror = false;
} }
map.put("device_name", this.getDevice().getDevice_name()); map.put("device_name", this.getDevice().getDevice_name());

View File

@@ -769,8 +769,8 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
@Override @Override
public JSONObject getDeviceStatusName() { public JSONObject getDeviceStatusName() {
Map<String, Object> map = new LinkedHashMap<>(); // Map<String, Object> map = new LinkedHashMap<>();
JSONObject jo = new JSONObject();
String move_1 = ""; String move_1 = "";
String move_2 = ""; String move_2 = "";
String action = ""; String action = "";
@@ -841,26 +841,25 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
iserror = false; iserror = false;
} }
} }
map.put("device_name", this.getDevice().getDevice_name()); jo.put("device_name", this.getDevice().getDevice_name());
map.put("mode", mode); jo.put("mode", mode);
map.put("action", action); jo.put("action", action);
map.put("walk_y", walk_y); jo.put("walk_y", walk_y);
map.put("error", ErrorUtil.getDictDetail("error_type", String.valueOf(this.getError()))); jo.put("error", ErrorUtil.getDictDetail("error_type", String.valueOf(this.getError())));
map.put("task", this.getTask()); jo.put("task", this.getTask());
map.put("isOnline", this.getIsonline()); jo.put("isOnline", this.getIsonline());
map.put("isError", this.getIserror()); jo.put("isError", this.getIserror());
map.put("is_disable1", this.getIs_disable()); jo.put("is_disable1", this.getIs_disable());
map.put("is_disable", is_disable); jo.put("is_disable", is_disable);
map.put("is_click", true); jo.put("is_click", true);
map.put("driver_type", "slit_two_manipulator"); jo.put("driver_type", "slit_two_manipulator");
map.put("requireSucess", requireSucess); jo.put("requireSucess", requireSucess);
map.put("move_1", move_1); jo.put("move_1", move_1);
map.put("move_2", move_2); jo.put("move_2", move_2);
map.put("message", message); jo.put("message", message);
map.put("notCreateTaskMessage", LangProcess.msg(notCreateTaskMessage)); jo.put("notCreateTaskMessage", LangProcess.msg(notCreateTaskMessage));
map.put("notCreateInstMessage", LangProcess.msg(notCreateInstMessage)); jo.put("notCreateInstMessage", LangProcess.msg(notCreateInstMessage));
map.put("feedMessage", LangProcess.msg(feedMessage)); jo.put("feedMessage", LangProcess.msg(feedMessage));
JSONObject jo = new JSONObject(map);
return jo; return jo;
} }

View File

@@ -111,7 +111,7 @@ public class WmsToAcsController {
} }
@PostMapping("/getTubeMsg") @PostMapping("/getTubeMsg")
@Log("wms下发废箔重量") @Log("下发管芯信息")
@SaIgnore @SaIgnore
public ResponseEntity<Object> getTubeMes(@RequestBody String whereJson) throws Exception { public ResponseEntity<Object> getTubeMes(@RequestBody String whereJson) throws Exception {
return new ResponseEntity<>(wmstoacsService.getTubeMes(whereJson), HttpStatus.OK); return new ResponseEntity<>(wmstoacsService.getTubeMes(whereJson), HttpStatus.OK);

View File

@@ -200,6 +200,13 @@ public interface AcsToWmsService {
*/ */
HttpResponse feedbackDies(JSONObject param); HttpResponse feedbackDies(JSONObject param);
/**
* 请求密集库出气胀轴,申请行架任务
* @param param
* @return
*/
HttpResponse callShaftFromCache(JSONObject param);
String secondaryAllocationPoint(JSONObject param); String secondaryAllocationPoint(JSONObject param);
/** /**

View File

@@ -746,6 +746,40 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
} }
@Override
public HttpResponse callShaftFromCache(JSONObject param) {
HttpResponse result2 = null;
try {
String wmsurl = paramService.findByCode(AcsConfig.WMSURL).getValue();
AddressDto addressDto = addressService.findByCode("callShaftFromCache");
String url = wmsurl + addressDto.getMethods_url();
log.info("callShaftFromCache - 请求密集库出气胀轴,申请行架任务请求路径{}", param);
try {
result2 = HttpRequest.post(url)
.header("Authorization", token)
.body(String.valueOf(param))
.execute();
} catch (Exception e) {
String msg = e.getMessage();
log.info("callShaftFromCache-----请求密集库出气胀轴,申请行架任务输出参数{}", msg);
//网络不通
}
log.info("callShaftFromCache - 请求密集库出气胀轴,申请行架任务{}", result2.body());
LuceneLogDto luceneLogDto = new LuceneLogDto(4,"callShaftFromCache", String.valueOf(result2.getStatus()),
String.valueOf(param),
String.valueOf(result2.body()), "请求密集库出气胀轴,申请行架任务");
luceneLogService.interfaceExecuteLog(luceneLogDto);
return result2;
} catch (Exception e) {
LuceneLogDto luceneLogDto = new LuceneLogDto(4,"callShaftFromCache", String.valueOf(result2.getStatus()),
JSON.toJSONString(result2.body()),
String.valueOf(result2.body()), "请求密集库出气胀轴,申请行架任务报错");
luceneLogService.interfaceExecuteLog(luceneLogDto);
return null;
}
}
@Override @Override
public JSONObject queryStationState(Instruction inst) { public JSONObject queryStationState(Instruction inst) {
try { try {

View File

@@ -94,9 +94,13 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
public CreateTaskResponse crateTask(String param) { public CreateTaskResponse crateTask(String param) {
try { try {
MDC.put(log_file_type, log_type); MDC.put(log_file_type, log_type);
log.info("crateTask-----输入参数{}", param); log.info("ACS接收WMS任务-----输入参数{}", param);
LuceneLogDto luceneLogDto = new LuceneLogDto(4, param, "acs接收lms任务"); LuceneLogDto logDto = LuceneLogDto.builder()
luceneLogService.interfaceExecuteLog(luceneLogDto); .device_code("ACS接收WMS任务")
.content("ACS接收WMS任务-----输入参数:" + param)
.build();
logDto.setLog_level(4);
luceneExecuteLogService.deviceExecuteLog(logDto);
JSONArray datas = JSONArray.parseArray(param); JSONArray datas = JSONArray.parseArray(param);
CreateTaskResponse response = new CreateTaskResponse(); CreateTaskResponse response = new CreateTaskResponse();
// ParamService paramService = SpringContextHolder.getBean(ParamService.class); // ParamService paramService = SpringContextHolder.getBean(ParamService.class);
@@ -391,7 +395,13 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
} }
response.setErrArr(errArr); response.setErrArr(errArr);
} }
log.info("createFromWms--------------:输出参数:" + JSON.toJSONString(response)); LuceneLogDto logDto1 = LuceneLogDto.builder()
.device_code("ACS接收WMS任务")
.content("ACS接收WMS任务-----返回参数:" + JSON.toJSONString(response))
.build();
logDto1.setLog_level(4);
luceneExecuteLogService.deviceExecuteLog(logDto1);
log.info("ACS接收WMS任务--------------:输出参数:" + JSON.toJSONString(response));
return response; return response;
} finally { } finally {
@@ -407,7 +417,13 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
@Override @Override
public Map<String, Object> updateTask(String whereJson) { public Map<String, Object> updateTask(String whereJson) {
JSONArray datas = JSONArray.parseArray(whereJson); JSONArray datas = JSONArray.parseArray(whereJson);
log.info("updateTask--------------:输入参数" + datas.toString()); log.info("WMS更新任务点位状态--------------:输入参数" + datas.toString());
LuceneLogDto logDto = LuceneLogDto.builder()
.device_code("WMS更新任务点位状态")
.content("WMS更新任务点位状态-----输入参数:" + whereJson)
.build();
logDto.setLog_level(4);
luceneExecuteLogService.deviceExecuteLog(logDto);
JSONArray errArr = new JSONArray(); JSONArray errArr = new JSONArray();
if (datas.size() > 0) { if (datas.size() > 0) {
for (int i = 0; i < datas.size(); i++) { for (int i = 0; i < datas.size(); i++) {
@@ -475,6 +491,12 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
resultJson.put("errArr", errArr); resultJson.put("errArr", errArr);
} }
} }
LuceneLogDto logDto1 = LuceneLogDto.builder()
.device_code("WMS更新任务点位状态")
.content("WMS更新任务点位状态-----返回参数:" + resultJson)
.build();
logDto1.setLog_level(4);
luceneExecuteLogService.deviceExecuteLog(logDto1);
return resultJson; return resultJson;
} }
@@ -495,10 +517,14 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
@Override @Override
public PutActionResponse putAction(String jsonObject) throws Exception { public PutActionResponse putAction(String jsonObject) throws Exception {
log.info("putAction--------------:输入参数" + jsonObject); log.info("WMS下发点位信号--------------:输入参数" + jsonObject);
String date = new Date().toString(); String date = new Date().toString();
LuceneLogDto luceneLogDto = new LuceneLogDto(4, jsonObject, date + "LMS反馈ACS动作信号"); LuceneLogDto logDto = LuceneLogDto.builder()
luceneLogService.interfaceExecuteLog(luceneLogDto); .device_code("WMS下发点位信号")
.content("WMS下发点位信号-----输入参数:" + jsonObject)
.build();
logDto.setLog_level(4);
luceneExecuteLogService.deviceExecuteLog(logDto);
JSONArray datas = JSONArray.parseArray(jsonObject); JSONArray datas = JSONArray.parseArray(jsonObject);
PutActionResponse response = new PutActionResponse(); PutActionResponse response = new PutActionResponse();
JSONArray errArr = new JSONArray(); JSONArray errArr = new JSONArray();
@@ -555,19 +581,26 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
} }
response.setStatus(200); response.setStatus(200);
response.setMessage("success"); response.setMessage("success");
LuceneLogDto luceneLogDto1 = new LuceneLogDto(4, "putAction", String.valueOf(response.getCode()), LuceneLogDto logDto1 = LuceneLogDto.builder()
jsonObject, String.valueOf(response), "LMS下发动作"); .device_code("WMS下发点位信号")
luceneExecuteLogService.interfaceExecuteLog(luceneLogDto); .content("WMS下发点位信号-----返回参数:" + JSON.toJSONString(response))
log.info("putAction--------------:输出参数:" + response); .build();
logDto1.setLog_level(4);
luceneExecuteLogService.deviceExecuteLog(logDto1);
log.info("WMS下发点位信号--------------:输出参数:" + JSON.toJSONString(response));
return response; return response;
} }
@Override @Override
public Map<String, Object> putWeightAction(String jsonObject) throws Exception { public Map<String, Object> putWeightAction(String jsonObject) throws Exception {
log.info("putWeightAction--------------:输入参数" + jsonObject); log.info("wms下发废箔重量--------------:输入参数" + jsonObject);
String date = new Date().toString(); String date = new Date().toString();
LuceneLogDto luceneLogDto = new LuceneLogDto(4, jsonObject, date + "LMS反馈ACS废箔重量"); LuceneLogDto logDto = LuceneLogDto.builder()
luceneLogService.interfaceExecuteLog(luceneLogDto); .device_code("wms下发废箔重量")
.content("wms下发废箔重量-----输入参数:" + jsonObject)
.build();
logDto.setLog_level(4);
luceneExecuteLogService.deviceExecuteLog(logDto);
JSONArray datas = JSONArray.parseArray(jsonObject); JSONArray datas = JSONArray.parseArray(jsonObject);
JSONObject jo = new JSONObject(); JSONObject jo = new JSONObject();
for (int i = 0; i < datas.size(); i++) { for (int i = 0; i < datas.size(); i++) {
@@ -619,17 +652,25 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
resultJson.put("status", HttpStatus.OK.value()); resultJson.put("status", HttpStatus.OK.value());
resultJson.put("message", "操作成功"); resultJson.put("message", "操作成功");
resultJson.put("data", jo); resultJson.put("data", jo);
log.info("putWeightAction--------------:输出参数" + resultJson.toString()); LuceneLogDto logDto1 = LuceneLogDto.builder()
.device_code("wms下发废箔重量")
.content("wms下发废箔重量-----返回参数:" + resultJson)
.build();
logDto1.setLog_level(4);
luceneExecuteLogService.deviceExecuteLog(logDto1);
log.info("wms下发废箔重量--------------:输出参数" + resultJson.toString());
return resultJson; return resultJson;
} }
@Override @Override
public Map<String, Object> getTubeMes(String jsonObject) throws Exception { public Map<String, Object> getTubeMes(String jsonObject) throws Exception {
log.info("getTubeMes--------------:输入参数" + jsonObject); log.info("下发管芯信息--------------:输入参数" + jsonObject);
LuceneLogDto luceneLogDto = new LuceneLogDto(4, "getTubeMes", "", LuceneLogDto logDto = LuceneLogDto.builder()
String.valueOf(jsonObject), .device_code("下发管芯信息")
"", "下发管芯信息"); .content("下发管芯信息-----输入参数:" + jsonObject)
luceneLogService.interfaceExecuteLog(luceneLogDto); .build();
logDto.setLog_level(4);
luceneExecuteLogService.deviceExecuteLog(logDto);
JSONArray datas = JSONArray.parseArray(jsonObject); JSONArray datas = JSONArray.parseArray(jsonObject);
Map map = new HashMap(); Map map = new HashMap();
for (int i = 0; i < datas.size(); i++) { for (int i = 0; i < datas.size(); i++) {
@@ -660,6 +701,12 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
JSONObject resultJson = new JSONObject(); JSONObject resultJson = new JSONObject();
resultJson.put("status", HttpStatus.OK.value()); resultJson.put("status", HttpStatus.OK.value());
resultJson.put("message", "操作成功"); resultJson.put("message", "操作成功");
LuceneLogDto logDto1 = LuceneLogDto.builder()
.device_code("下发管芯信息")
.content("下发管芯信息-----返回参数:" + resultJson)
.build();
logDto1.setLog_level(4);
luceneExecuteLogService.deviceExecuteLog(logDto1);
return resultJson; return resultJson;
} }
@@ -667,6 +714,12 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
public Map<String, Object> queryDevice(String jsonObject) throws Exception { public Map<String, Object> queryDevice(String jsonObject) throws Exception {
try { try {
MDC.put(log_file_type, log_type); MDC.put(log_file_type, log_type);
LuceneLogDto logDto = LuceneLogDto.builder()
.device_code("WMS查询设备状态")
.content("WMS查询设备状态-----输入参数:" + jsonObject)
.build();
logDto.setLog_level(4);
luceneExecuteLogService.deviceExecuteLog(logDto);
JSONArray backja = new JSONArray(); JSONArray backja = new JSONArray();
JSONArray datas = JSONArray.parseArray(jsonObject); JSONArray datas = JSONArray.parseArray(jsonObject);
//表处下料行架机械手 //表处下料行架机械手
@@ -859,9 +912,12 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
resultJson.put("status", HttpStatus.OK.value()); resultJson.put("status", HttpStatus.OK.value());
resultJson.put("message", "操作成功"); resultJson.put("message", "操作成功");
resultJson.put("data", backja); resultJson.put("data", backja);
LuceneLogDto luceneLogDto = new LuceneLogDto(4, "queryDevice", String.valueOf(resultJson.get("status")), LuceneLogDto logDto1 = LuceneLogDto.builder()
jsonObject, String.valueOf(resultJson), "LMS查询设备状态"); .device_code("WMS查询设备状态")
luceneExecuteLogService.interfaceExecuteLog(luceneLogDto); .content("WMS查询设备状态-----返回参数:" + resultJson)
.build();
logDto1.setLog_level(4);
luceneExecuteLogService.deviceExecuteLog(logDto1);
return resultJson; return resultJson;
} finally { } finally {
MDC.remove(log_file_type); MDC.remove(log_file_type);

View File

@@ -29,7 +29,11 @@ public class SecurityUtils {
return json.toBean(CurrentUser.class); return json.toBean(CurrentUser.class);
} }
} catch (Exception e) { } catch (Exception e) {
return new CurrentUser(); CurrentUser currentUser = new CurrentUser();
currentUser.setId("2");
currentUser.setPresonName("外部系统用户");
currentUser.setUsername("default");
return currentUser;
} }
return null; return null;
} }

View File

@@ -65,7 +65,6 @@ public class UserController {
} }
@Log("新增用户") @Log("新增用户")
@PostMapping @PostMapping
// @SaCheckPermission("user:add") // @SaCheckPermission("user:add")
public ResponseEntity<Object> create(@RequestBody Map user){ public ResponseEntity<Object> create(@RequestBody Map user){
@@ -74,7 +73,6 @@ public class UserController {
} }
@Log("修改用户") @Log("修改用户")
@PutMapping @PutMapping
// @SaCheckPermission("user:edit") // @SaCheckPermission("user:edit")
public ResponseEntity<Object> update( @RequestBody Map resources) throws Exception { public ResponseEntity<Object> update( @RequestBody Map resources) throws Exception {
@@ -83,7 +81,6 @@ public class UserController {
} }
@Log("修改用户:个人中心") @Log("修改用户:个人中心")
public ResponseEntity<Object> center(@RequestBody SysUser resources){ public ResponseEntity<Object> center(@RequestBody SysUser resources){
if(!resources.getUser_id().equals(StpUtil.getLoginIdAsLong())){ if(!resources.getUser_id().equals(StpUtil.getLoginIdAsLong())){
throw new BadRequestException(LangProcess.msg("error_sysAuth")); throw new BadRequestException(LangProcess.msg("error_sysAuth"));
@@ -93,7 +90,6 @@ public class UserController {
} }
@Log("删除用户") @Log("删除用户")
@DeleteMapping @DeleteMapping
public ResponseEntity<Object> delete(@RequestBody Set<String> ids) { public ResponseEntity<Object> delete(@RequestBody Set<String> ids) {
userService.removeByIds(ids); userService.removeByIds(ids);

View File

@@ -207,6 +207,7 @@ public class AutoCreateInst {
} }
//创建指令后修改任务状态 //创建指令后修改任务状态
acsTask.setTask_status(TaskStatusEnum.BUSY.getIndex()); acsTask.setTask_status(TaskStatusEnum.BUSY.getIndex());
acsTask.setUpdate_time(DateUtil.now());
taskserver.update(acsTask); taskserver.update(acsTask);
} }

View File

@@ -78,6 +78,17 @@ public class ISysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> imp
@SneakyThrows @SneakyThrows
public void create(Map userDetail) { public void create(Map userDetail) {
SysUser sysUser = new SysUser(); SysUser sysUser = new SysUser();
//userDetail 中 createTime是string类型BeanUtils.populate不支持解析或者使用MapStruct
ConvertUtils.register((m, o) -> {
try {
if (o == null) {
return null;
}
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(o.toString());
} catch (Exception ex) {
return new Date();
}
}, Date.class);
BeanUtils.populate(sysUser,userDetail); BeanUtils.populate(sysUser,userDetail);
// 默认密码 123456 // 默认密码 123456
if (ObjectUtil.isEmpty(sysUser.getPassword())) { if (ObjectUtil.isEmpty(sysUser.getPassword())) {

View File

@@ -577,78 +577,37 @@
{{ getAgvSystemLabel(scope.row.agv_system_type) }} {{ getAgvSystemLabel(scope.row.agv_system_type) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="put_point_code" :label="$t('TaskRecord.table.Transit_point')" <el-table-column prop="put_point_code" :label="$t('TaskRecord.table.Transit_point')" :min-width="flexWidth('put_point_code',crud.data,$t('TaskRecord.table.Transit_point'))" />
:min-width="flexWidth('put_point_code',crud.data,$t('TaskRecord.table.Transit_point'))" <el-table-column prop="remark" :label="$t('task.select.Remark')" :min-width="flexWidth('remark',crud.data,$t('task.select.Remark'))" />
/> <el-table-column prop="create_by" :label="$t('task.select.Creator')" :min-width="flexWidth('create_by',crud.data,$t('task.select.Creator'))" />
<el-table-column prop="remark" :label="$t('task.select.Remark')" <el-table-column prop="create_time" :label="$t('task.select.Create_time')" :min-width="flexWidth('create_time',crud.data,$t('task.select.Create_time'))" />
:min-width="flexWidth('remark',crud.data,$t('task.select.Remark'))" <el-table-column prop="update_by" :label="$t('Inst.table.update_by')" :min-width="flexWidth('update_by',crud.data,$t('Inst.table.update_by'))" />
/> <el-table-column prop="update_time" :label="$t('Inst.table.update_time')" :min-width="flexWidth('update_time',crud.data,$t('Inst.table.update_time'))" />
<el-table-column prop="create_by" :label="$t('task.select.Creator')" <el-table-column v-permission="['admin','task:edit','task:del']" :label="$t('task.select.Operation')" width="150px" align="center" fixed="right">
:min-width="flexWidth('create_by',crud.data,$t('task.select.Creator'))"
/>
<el-table-column prop="create_time" :label="$t('task.select.Create_time')"
:min-width="flexWidth('create_time',crud.data,$t('task.select.Create_time'))"
/>
<el-table-column v-permission="['admin','task:edit','task:del']" :label="$t('task.select.Operation')"
width="200px" align="center"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-dropdown> <el-button
<span class="el-dropdown-link"> type="text"
<i class="el-icon-setting">More</i> icon="el-icon-finished"
<el-icon class="el-icon--right"> @click="handleCommand(scope.$index, scope.row,'a')"
<arrow-down/> >
</el-icon> {{ $t('Inst.table.Finish') }}
</span> </el-button>
<template #dropdown> <el-dropdown size="mini">
<el-dropdown-menu> <el-button size="mini" type="text" icon="el-icon-d-arrow-right">{{ $t('user.other.More') }}</el-button>
<el-dropdown-item> <el-dropdown-menu slot="dropdown">
<el-button <el-dropdown-item icon="el-icon-circle-close"><span @click="handleCommand(scope.$index, scope.row,'b')">
type="text" {{ $t('auto.common.Cancel') }}</span>
icon="el-icon-finished" </el-dropdown-item>
@click="handleCommand(scope.$index, scope.row,'a')" <el-dropdown-item icon="el-icon-folder-add"><span @click="handleCommand(scope.$index, scope.row,'c')">
> {{ $t('task.select.Create_command') }}</span>
{{ $t('task.select.Completed') }} </el-dropdown-item>
</el-button> <el-dropdown-item icon="el-icon-finished"><span @click="handleCommand(scope.$index, scope.row,'d')">
</el-dropdown-item> {{ $t('task.select.Forced_Completed') }}
<el-dropdown-item> </span></el-dropdown-item>
<el-button <el-dropdown-item icon="el-icon-circle-close"><span @click="handleCommand(scope.$index, scope.row,'e')">
type="text" {{ $t('task.select.Cancel_Tasks_And_Commands') }}
icon="el-icon-circle-close" </span></el-dropdown-item>
@click="handleCommand(scope.$index, scope.row,'b')" </el-dropdown-menu>
>
{{ $t('task.select.Cancel') }}
</el-button>
</el-dropdown-item>
<el-dropdown-item>
<el-button
type="text"
icon="el-icon-folder-add"
@click="handleCommand(scope.$index, scope.row,'c')"
>
{{ $t('task.select.Create_command') }}
</el-button>
</el-dropdown-item>
<el-dropdown-item>
<el-button
type="text"
icon="el-icon-finished"
@click="handleCommand(scope.$index, scope.row,'d')"
>
{{ $t('task.select.Forced_Completed') }}
</el-button>
</el-dropdown-item>
<el-dropdown-item>
<el-button
type="text"
icon="el-icon-finished"
@click="handleCommand(scope.$index, scope.row,'e')"
>
{{ $t('task.select.Cancel_Tasks_And_Commands') }}
</el-button>
</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown> </el-dropdown>
</template> </template>
</el-table-column> </el-table-column>