Browse Source

联调优化

master
psh 1 year ago
parent
commit
083286e37c
  1. 42
      acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/OneNDCSocketConnectionAutoRun.java
  2. 21
      acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/ssx_site/ItemProtocol.java
  3. 4
      acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/ssx_site/SsxSiteDeviceDriver.java
  4. 68
      acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_autodoor/ItemProtocol.java
  5. 169
      acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_autodoor/StandardAutodoorDeviceDriver.java
  6. 22
      acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java
  7. 3
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES062Request.java
  8. 11
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES062RequestBody.java
  9. 3
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES065Request.java
  10. 15
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES065RequestBody.java
  11. 3
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES118Response.java
  12. 9
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES118ResponseBody.java
  13. 15
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/POINTTask.java
  14. 15
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLCKTask.java
  15. 22
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLRKTask.java
  16. 2
      lms/nladmin-system/nlsso-server/src/main/resources/config/application-prod.yml
  17. 26
      lms/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml

42
acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/OneNDCSocketConnectionAutoRun.java

@ -192,27 +192,47 @@ public class OneNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
//(需要WCS反馈) //(需要WCS反馈)
else if (phase == 0x30) { else if (phase == 0x30) {
data = NDCAgvService.sendAgvOneModeInst(0x8F, index, 0, 0, 0, 0, 0); data = NDCAgvService.sendAgvOneModeInst(0x8F, index, 0, 0, 0, 0, 0);
} //进入区域 }
//进入区域
else if (phase == 0x50) { else if (phase == 0x50) {
//开门 //开门
if (device!=null&&device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) { if (ObjectUtil.isEmpty(device_code)) {
log.info(agvaddr + "对应设备号为空!");
return;
}
if (device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) {
standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver(); standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver();
standardAutodoorDeviceDriver.OpenOrClose("1");
if (standardAutodoorDeviceDriver.getAction() == 1) { try {
standardAutodoorDeviceDriver.OpenOrClose("1"); standardAutodoorDeviceDriver.writing("to_open", "1");
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, 0, 0, 0, 0); standardAutodoorDeviceDriver.writing("to_close", "0");
} catch (Exception e) {
log.info("下发电气信号失败:" + e.getMessage());
e.printStackTrace();
} }
if (standardAutodoorDeviceDriver.getOpen() == 1) {
log.info("下发开门信号值为:{},下发关门信号值为:{}", standardAutodoorDeviceDriver.getToOpen(), standardAutodoorDeviceDriver.getToClose());
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, 0, 0, 0, 0);
} }
} }
//离开区域 //离开区域
else if (phase == 0x51) { }else if (phase == 0x51) {
//关门 //关门
if (device!=null&&device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) { if (ObjectUtil.isEmpty(device_code)) {
log.info(agvaddr + "对应设备号为空!");
return;
}
if (device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) {
standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver(); standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver();
standardAutodoorDeviceDriver.OpenOrClose("2"); try {
if (standardAutodoorDeviceDriver.getAction() == 2) { standardAutodoorDeviceDriver.writing("to_close", "1");
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, 0, 0, 0, 0); standardAutodoorDeviceDriver.writing("to_open", "0");
} catch (Exception e) {
log.info("下发电气信号失败:" + e.getMessage());
e.printStackTrace();
} }
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, 0, 0, 0, 0);
} }
//任务删除确认 //任务删除确认
//(需要WCS反馈) //(需要WCS反馈)

21
acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/ssx_site/ItemProtocol.java

@ -11,7 +11,6 @@ import java.util.List;
@Data @Data
public class ItemProtocol { public class ItemProtocol {
public static String item_heartbeat = "heartbeat";
public static String item_mode = "mode"; public static String item_mode = "mode";
public static String item_move = "move"; public static String item_move = "move";
public static String item_action = "action"; public static String item_action = "action";
@ -30,9 +29,6 @@ public class ItemProtocol {
this.driver = driver; this.driver = driver;
} }
public int getHeartbeat() {
return this.getOpcIntegerValue(item_heartbeat);
}
public int getMode() { public int getMode() {
return this.getOpcIntegerValue(item_mode); return this.getOpcIntegerValue(item_mode);
@ -53,8 +49,8 @@ public class ItemProtocol {
public int getTask() { public int getTask() {
return this.getOpcIntegerValue(item_task); return this.getOpcIntegerValue(item_task);
} }
public int getWeight() { public double getWeight() {
return this.getOpcIntegerValue(item_weight); return this.getOpcFloatValue(item_weight);
} }
public String getSubTray() { public String getSubTray() {
return this.getOpcStringValue(item_sub_tray); return this.getOpcStringValue(item_sub_tray);
@ -105,9 +101,20 @@ public class ItemProtocol {
return ""; return "";
} }
public float getOpcFloatValue(String protocol) {
Float value = this.driver.getDoubleValue(protocol);
if (value == null) {
setIsonline(false);
} else {
setIsonline(true);
return value;
}
return 0L;
}
public static List<ItemDto> getReadableItemDtos() { public static List<ItemDto> getReadableItemDtos() {
ArrayList list = new ArrayList(); ArrayList list = new ArrayList();
list.add(new ItemDto(item_heartbeat, "心跳", "DB600.B0"));
list.add(new ItemDto(item_mode, "工作状态", "DB600.B1", Boolean.valueOf(true))); list.add(new ItemDto(item_mode, "工作状态", "DB600.B1", Boolean.valueOf(true)));
list.add(new ItemDto(item_move, "光电开关信号", "DB600.B2")); list.add(new ItemDto(item_move, "光电开关信号", "DB600.B2"));
list.add(new ItemDto(item_action, "取放信号", "DB600.B3")); list.add(new ItemDto(item_action, "取放信号", "DB600.B3"));

4
acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/ssx_site/SsxSiteDeviceDriver.java

@ -77,8 +77,8 @@ public class SsxSiteDeviceDriver extends AbstractOpcDeviceDriver implements Devi
int io_action = 0; int io_action = 0;
int last_io_action = 0; int last_io_action = 0;
double weight = 0; double weight = 0.0;
double last_weight = 0; double last_weight = 0.0;
String sub_tray = null; String sub_tray = null;
String last_sub_tray = null; String last_sub_tray = null;
String mother_tray = null; String mother_tray = null;

68
acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_autodoor/ItemProtocol.java

@ -1,5 +1,6 @@
package org.nl.acs.device_driver.basedriver.standard_autodoor; package org.nl.acs.device_driver.basedriver.standard_autodoor;
import cn.hutool.core.util.StrUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nl.acs.device.device_driver.standard_inspect.ItemDto; import org.nl.acs.device.device_driver.standard_inspect.ItemDto;
@ -8,13 +9,10 @@ import java.util.List;
@Slf4j @Slf4j
public class ItemProtocol { public class ItemProtocol {
public static String item_heartbeat = "heartbeat"; public static String item_open = "open";
public static String item_mode = "mode"; public static String item_close = "close";
public static String item_state = "state"; public static String item_to_open = "to_open";
public static String item_action = "action"; public static String item_to_close = "to_close";
public static String item_error = "error";
public static String item_to_command = "to_command";
public static String item_to_state ="to_state";
private StandardAutodoorDeviceDriver driver; private StandardAutodoorDeviceDriver driver;
@ -23,39 +21,27 @@ public class ItemProtocol {
this.driver = driver; this.driver = driver;
} }
public int getHeartbeat() { public int getOpen() {
return this.getOpcIntegerValue(item_heartbeat); return this.getOpcIntegerValue(item_open);
} }
public int getMode() { public int getClose() {
return this.getOpcIntegerValue(item_mode); return this.getOpcIntegerValue(item_close);
} }
public int getAction() {
return this.getOpcIntegerValue(item_action);
}
public int getError() {
return this.getOpcIntegerValue(item_error);
}
public int getState() { public int getToOpen() {
return this.getOpcIntegerValue(item_state); return this.getOpcIntegerValue(item_to_open);
} }
public int getToCommand() { public int getToClose() {
return this.getOpcIntegerValue(item_to_command); return this.getOpcIntegerValue(item_to_close);
} }
public int getToState() {
return this.getOpcIntegerValue(item_to_state);
}
public int getOpcIntegerValue(String protocol) { public int getOpcIntegerValue(String protocol) {
Integer value = this.driver.getIntegeregerValue(protocol); Integer value = this.driver.getIntegeregerValue(protocol);
if (value == null) { if (value == null) {
// log.error("读取错误!"); // log.error(this.getDriver().getDeviceCode() + ":protocol " + protocol + " 信号同步异常!");
} else { } else {
return value; return value;
} }
@ -63,22 +49,34 @@ public class ItemProtocol {
} }
public String getOpcStringValue(String protocol) {
String value = this.driver.getStringValue(protocol);
if (StrUtil.isEmpty(value)) {
} else {
return value;
}
return "0";
}
public static List<ItemDto> getReadableItemDtos() { public static List<ItemDto> getReadableItemDtos() {
ArrayList list = new ArrayList(); ArrayList list = new ArrayList();
list.add(new ItemDto(item_heartbeat, "心跳", "DB600.B0")); list.add(new ItemDto(item_open, "开到位", "10001"));
list.add(new ItemDto(item_mode, "工作模式", "DB600.B1", Boolean.valueOf(true))); list.add(new ItemDto(item_close, "关到位", "10002"));
list.add(new ItemDto(item_state, "工作状态", "DB600.B2"));
list.add(new ItemDto(item_action, "动作信号", "DB600.B3"));
list.add(new ItemDto(item_error, "报警信号", "DB600.B4"));
return list; return list;
} }
public static List<ItemDto> getWriteableItemDtos() { public static List<ItemDto> getWriteableItemDtos() {
ArrayList list = new ArrayList(); ArrayList list = new ArrayList();
list.add(new ItemDto(item_to_command, "作业命令", "DB601.W2", Boolean.valueOf(true))); list.add(new ItemDto(item_to_open, "下发开门", "00001" ));
list.add(new ItemDto(item_to_state, "下发状态", "DB601.W3", Boolean.valueOf(true))); list.add(new ItemDto(item_to_close, "下发关门", "00002"));
return list; return list;
} }
@Override
public String toString() {
return "";
}
} }

169
acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_autodoor/StandardAutodoorDeviceDriver.java

@ -8,6 +8,7 @@ import org.nl.acs.device.domain.Device;
import org.nl.acs.device_driver.RequestMethodEnum; import org.nl.acs.device_driver.RequestMethodEnum;
import org.nl.acs.ext.wms.data.feedBackTaskStatus.FeedBackTaskStatusRequest; import org.nl.acs.ext.wms.data.feedBackTaskStatus.FeedBackTaskStatusRequest;
import org.nl.acs.ext.wms.service.AcsToWmsService; import org.nl.acs.ext.wms.service.AcsToWmsService;
import org.nl.acs.log.service.DeviceExecuteLogService;
import org.nl.acs.utils.ReadUtil; import org.nl.acs.utils.ReadUtil;
import org.nl.acs.device.service.DeviceService; import org.nl.acs.device.service.DeviceService;
import org.nl.acs.device_driver.DeviceDriver; import org.nl.acs.device_driver.DeviceDriver;
@ -33,65 +34,19 @@ import java.util.Map;
public class StandardAutodoorDeviceDriver extends AbstractOpcDeviceDriver implements DeviceDriver, ExecutableDeviceDriver { public class StandardAutodoorDeviceDriver extends AbstractOpcDeviceDriver implements DeviceDriver, ExecutableDeviceDriver {
protected ItemProtocol itemProtocol = new ItemProtocol(this); protected ItemProtocol itemProtocol = new ItemProtocol(this);
InstructionService instructionService = SpringContextHolder.getBean("instructionServiceImpl"); DeviceExecuteLogService logServer = SpringContextHolder.getBean("deviceExecuteLogServiceImpl");
DeviceService deviceservice = SpringContextHolder.getBean("deviceServiceImpl"); int open = 0;
int close = 0;
RouteLineService routelineserver = SpringContextHolder.getBean("routeLineServiceImpl");
int last_open = 0;
TaskService taskserver = SpringContextHolder.getBean("taskServiceImpl"); int last_close = 0;
AcsToWmsService acsToWmsService=SpringContextHolder.getBean("acsToWmsServiceImpl"); int toOpen = 0;
String container; int last_toOpen = 0;
String container_type_desc; int toClose = 0;
String last_container_type_desc; int last_toClose = 0;
String last_container; String device_code = null;
//放货准备锁
String putReadyLock = null;
//有货标记
protected boolean has_goods_tag = false;
String devicecode;
int mode = 0;
int action = 0;
int error = 0;
Boolean iserror = false;
int move = 0;
int task = 0;
int state = 0;
int last_state = 0;
int last_action = 0;
int last_mode = 0;
int last_error = 0;
int last_move = 0;
int last_task = 0;
boolean hasVehicle = false;
boolean isReady = false;
protected int instruction_num = 0;
protected int instruction_num_truth = 0;
protected boolean hasGoods = false;
boolean isFold = false;
private String assemble_check_tag;
private Boolean sampleMode0;
private Boolean sampleMode3;
private Integer sampleError;
private Boolean sampleOnline;
protected String displayMessage = null;
public int display_message_time_out = 30000;
public Date display_message_time;
protected String current_stage_instruction_message;
protected String last_stage_instruction_message;
Integer heartbeat_tag;
private Date instruction_require_time = new Date();
private Date instruction_finished_time = new Date();
private int instruction_require_time_out;
boolean requireSucess = false;
private int instruction_finished_time_out;
int branchProtocol = 0;
@Override @Override
public Device getDevice() { public Device getDevice() {
@ -103,76 +58,66 @@ public class StandardAutodoorDeviceDriver extends AbstractOpcDeviceDriver implem
public void execute() { public void execute() {
String message = null; String message = null;
String device_code = this.getDevice().getDevice_code(); device_code = this.getDevice().getDevice_code();
mode = this.itemProtocol.getMode(); open = this.itemProtocol.getOpen();
action = this.itemProtocol.getAction(); close = this.itemProtocol.getClose();
error = this.itemProtocol.getError(); toOpen = this.itemProtocol.getToOpen();
state = this.itemProtocol.getState(); toClose = this.itemProtocol.getToClose();
if (mode != last_mode) { if (open != last_open) {
logServer.deviceExecuteLog(this.device_code, "", "", "信号open:" + last_open + "->" + open);
} }
if (action != last_action) { if (close != last_close) {
logServer.deviceExecuteLog(this.device_code, "", "", "信号close:" + last_close + "->" + close);
} }
if (error != last_error) { if (toClose != last_toClose) {
logServer.deviceExecuteLog(this.device_code, "", "", "信号toClose:" + last_toClose + "->" + toClose);
} }
if (state != last_state) { if (toOpen != last_toOpen) {
//固化室状态变更后通知lms更新固化室状态 logServer.deviceExecuteLog(this.device_code, "", "", "信号toOpen:" + last_toOpen + "->" + toOpen);
FeedBackTaskStatusRequest request = new FeedBackTaskStatusRequest();
request.setState(String.valueOf(state));
request.setDevice_code(this.getDeviceCode());
request.setType("1");
acsToWmsService.notify(request);
} }
last_action = action; last_open = open;
last_mode = mode; last_close = close;
last_error = error; last_toClose = toClose;
last_state = state; last_toOpen = toOpen;
//message = StringFormatUtl.format("设备报警:{}", new Object[]{});
// String manual_create_task = this.getDevice().getExtraValue().get("manual_create_task").toString();
} }
public synchronized String getStatus() { public synchronized String getStatus() {
{
JSONObject jo = new JSONObject(); JSONObject jo = new JSONObject();
String open = "";
if (action == 1) { String close = "";
jo.put("name", this.getDevice().getDevice_code()); if (this.getOpen() == 0) {
jo.put("status", "OPEN"); open = "未知";
} else if (this.getOpen() == 1) {
} else if (action == 2) { open = "开到位";
jo.put("name", this.getDevice().getDevice_code());
jo.put("status", "CLOSE");
} else {
jo.put("name", this.getDevice().getDevice_code());
jo.put("status", "ERROR");
} }
return jo.toString(); if (this.getClose() == 0) {
open = "未知";
} else if (this.getClose() == 1) {
open = "关到位";
} }
jo.put("device_name", this.getDevice().getDevice_name());
jo.put("open", open);
jo.put("close", close);
jo.put("isOnline", true);
return jo.toString();
}
}
public void writing(String param,int command) {
String to_command = String.format("%s.%s.%s.%s", this.getDevice().getOpc_server_code(), this.getDevice().getOpc_plc_code(), this.getDevice().getDevice_code(), param);
String opcservcerid = this.getDevice().getOpc_server_id(); public void writing(String param, String value) {
Server server = ReadUtil.getServer(opcservcerid); String to_param = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code()
+ "." + param;
Map<String, Object> itemMap = new HashMap<String, Object>(); Map<String, Object> itemMap = new HashMap<String, Object>();
itemMap.put(to_command, command); itemMap.put(to_param, Integer.parseInt(value));
ReadUtil.write(itemMap, server);
log.info("下发PLC信号:{},{}", to_command, command);
System.out.println("设备:" + devicecode + ",下发PLC信号:" + to_command + ",value:" + command);
this.control(itemMap);
logServer.deviceExecuteLog(device_code, "", "", "下发电气信号设备号:" + device_code + ",下发电气:" + to_param + ",下发电气值:" + value);
} }
public synchronized void OpenOrClose(String type) {
//开门
if ("1".equals(type)) {
writing(ItemProtocol.item_to_command,1);
} else {
writing(ItemProtocol.item_to_command,2);
}
}
} }

22
acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java

@ -635,19 +635,19 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
switch(type){ switch(type){
case 1: case 1:
//wms通知固化室满料,开始固化 //wms通知固化室满料,开始固化
device = deviceAppService.findDeviceByCode(device_code); // device = deviceAppService.findDeviceByCode(device_code);
if (device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) { // if (device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) {
StandardAutodoorDeviceDriver standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver(); // StandardAutodoorDeviceDriver standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver();
standardAutodoorDeviceDriver.writing("to_state",1); // standardAutodoorDeviceDriver.writing("to_state",1);
} // }
break; break;
case 2: case 2:
//wms通知固化室取料完毕,重新开放可使用 // //wms通知固化室取料完毕,重新开放可使用
device = deviceAppService.findDeviceByCode(device_code); // device = deviceAppService.findDeviceByCode(device_code);
if (device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) { // if (device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) {
StandardAutodoorDeviceDriver standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver(); // StandardAutodoorDeviceDriver standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver();
standardAutodoorDeviceDriver.writing("to_state",2); // standardAutodoorDeviceDriver.writing("to_state",2);
} // }
break; break;
default: default:
break; break;

3
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES062Request.java

@ -1,5 +1,6 @@
package org.nl.wms.mes.domain; package org.nl.wms.mes.domain;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
@ -18,7 +19,9 @@ import java.util.List;
@XmlRootElement @XmlRootElement
@Accessors(chain = true) @Accessors(chain = true)
public class QPMES062Request{ public class QPMES062Request{
@JSONField(name = "HEAD")
private Head HEAD; private Head HEAD;
@JSONField(name = "BODY")
private List<QPMES062RequestBody> BODY; private List<QPMES062RequestBody> BODY;
} }

11
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES062RequestBody.java

@ -1,27 +1,36 @@
package org.nl.wms.mes.domain; package org.nl.wms.mes.domain;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.*; import lombok.*;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlRootElement;
@Data @Data
public class QPMES062RequestBody extends Head { public class QPMES062RequestBody {
//入库单号 //入库单号
@JSONField(name = "SimtOrderNo")
private String SimtOrderNo; private String SimtOrderNo;
//场地 //场地
@JSONField(name = "locationCode")
private String locationCode; private String locationCode;
//入库类型 //入库类型
@JSONField(name = "simtType")
private String simtType; private String simtType;
//到货单号 //到货单号
@JSONField(name = "deliveryNo")
private String deliveryNo; private String deliveryNo;
//扫描库位 //扫描库位
@JSONField(name = "whlCode")
private String whlCode; private String whlCode;
//物料条码号(托号) //物料条码号(托号)
@JSONField(name = "PalletSn")
private String PalletSn; private String PalletSn;
//用户编码 //用户编码
@JSONField(name = "userCode")
private String userCode; private String userCode;
//用户名称 //用户名称
@JSONField(name = "userName")
private String userName; private String userName;
} }

3
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES065Request.java

@ -1,5 +1,6 @@
package org.nl.wms.mes.domain; package org.nl.wms.mes.domain;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
@ -18,6 +19,8 @@ import java.util.List;
@XmlRootElement @XmlRootElement
@Accessors(chain = true) @Accessors(chain = true)
public class QPMES065Request { public class QPMES065Request {
@JSONField(name = "HEAD")
private Head HEAD; private Head HEAD;
@JSONField(name = "BODY")
private List<QPMES065RequestBody> BODY; private List<QPMES065RequestBody> BODY;
} }

15
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES065RequestBody.java

@ -1,5 +1,6 @@
package org.nl.wms.mes.domain; package org.nl.wms.mes.domain;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.*; import lombok.*;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@ -9,32 +10,46 @@ import javax.xml.bind.annotation.XmlRootElement;
public class QPMES065RequestBody { public class QPMES065RequestBody {
//工单号 //工单号
@JSONField(name = "moname")
private String moname; private String moname;
//物料条码(托号) //物料条码(托号)
@JSONField(name = "lotSN")
private String lotSN; private String lotSN;
//领料数量 //领料数量
@JSONField(name = "qty")
private String qty; private String qty;
//场地 //场地
@JSONField(name = "siteName")
private String siteName; private String siteName;
//预留字段1 //预留字段1
@JSONField(name = "ZXXV01")
private String ZXXV01; private String ZXXV01;
//预留字段2 //预留字段2
@JSONField(name = "ZXXV02")
private String ZXXV02; private String ZXXV02;
//预留字段3 //预留字段3
@JSONField(name = "ZXXV03")
private String ZXXV03; private String ZXXV03;
//预留字段4 //预留字段4
@JSONField(name = "ZXXV04")
private String ZXXV04; private String ZXXV04;
//预留字段5 //预留字段5
@JSONField(name = "ZXXV05")
private String ZXXV05; private String ZXXV05;
//预留字段6 //预留字段6
@JSONField(name = "ZXXV06")
private String ZXXV06; private String ZXXV06;
//预留字段7 //预留字段7
@JSONField(name = "ZXXV07")
private String ZXXV07; private String ZXXV07;
//预留字段8 //预留字段8
@JSONField(name = "ZXXV08")
private String ZXXV08; private String ZXXV08;
//预留字段9 //预留字段9
@JSONField(name = "ZXXV09")
private String ZXXV09; private String ZXXV09;
//预留字段10 //预留字段10
@JSONField(name = "ZXXV10")
private String ZXXV10; private String ZXXV10;
} }

3
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES118Response.java

@ -1,5 +1,6 @@
package org.nl.wms.mes.domain; package org.nl.wms.mes.domain;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data; import lombok.Data;
import lombok.ToString; import lombok.ToString;
@ -8,7 +9,9 @@ import java.util.List;
@Data @Data
@ToString @ToString
public class QPMES118Response{ public class QPMES118Response{
@JSONField(name = "HEAD")
private Head HEAD; private Head HEAD;
@JSONField(name = "BODY")
private List<QPMES118ResponseBody> BODY; private List<QPMES118ResponseBody> BODY;
} }

9
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES118ResponseBody.java

@ -1,5 +1,6 @@
package org.nl.wms.mes.domain; package org.nl.wms.mes.domain;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data; import lombok.Data;
import lombok.ToString; import lombok.ToString;
@ -7,20 +8,28 @@ import lombok.ToString;
@ToString @ToString
public class QPMES118ResponseBody{ public class QPMES118ResponseBody{
//库区 //库区
@JSONField(name = "WhaCode")
private String WhaCode; private String WhaCode;
//库位 //库位
@JSONField(name = "WhlCode")
private String WhlCode; private String WhlCode;
//客户 //客户
@JSONField(name = "CustomerName")
private String CustomerName; private String CustomerName;
//母托号 //母托号
@JSONField(name = "ParentPalletSN")
private String ParentPalletSN; private String ParentPalletSN;
//子托号 //子托号
@JSONField(name = "PalletSN")
private String PalletSN; private String PalletSN;
//物料编码 //物料编码
@JSONField(name = "ProductName")
private String ProductName; private String ProductName;
//入库日期 //入库日期
@JSONField(name = "WorkDate")
private String WorkDate; private String WorkDate;
//重量 //重量
@JSONField(name = "Qty")
private String Qty; private String Qty;
} }

15
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/POINTTask.java

@ -75,6 +75,14 @@ public class POINTTask extends AbstractTask {
task.setRemark(""); task.setRemark("");
SchBasePoint schBasePoint= pointService.getOne(new LambdaQueryWrapper<SchBasePoint>() SchBasePoint schBasePoint= pointService.getOne(new LambdaQueryWrapper<SchBasePoint>()
.eq(SchBasePoint::getPoint_code, task.getPoint_code1())); .eq(SchBasePoint::getPoint_code, task.getPoint_code1()));
if(task.getPoint_code2().startsWith("DKT")){
SchBasePoint nextSchBasePoint= pointService.getOne(new LambdaQueryWrapper<SchBasePoint>()
.eq(SchBasePoint::getPoint_code, task.getPoint_code2()));
//如果是叠盘位,根据当前数量+1为目标地址
int qty=nextSchBasePoint.getVehicle_qty()+1;
log.info("当前叠盘位完成任务次数为");
task.setPoint_code2(task.getPoint_code2().substring(0,task.getPoint_code2().length()-1)+qty);
}
task.setVehicle_code(schBasePoint.getVehicle_code()); task.setVehicle_code(schBasePoint.getVehicle_code());
task.setVehicle_code2(schBasePoint.getVehicle_code2()); task.setVehicle_code2(schBasePoint.getVehicle_code2());
taskService.update(task); taskService.update(task);
@ -115,6 +123,9 @@ public class POINTTask extends AbstractTask {
} }
String startPoint = taskObj.getPoint_code1(); // 获取起点 String startPoint = taskObj.getPoint_code1(); // 获取起点
String endPoint = taskObj.getPoint_code2(); // 获取终点 String endPoint = taskObj.getPoint_code2(); // 获取终点
if(endPoint.startsWith("DKT")){
endPoint=endPoint.substring(0,endPoint.length()-1)+1;
}
SchBasePoint startPointObj = pointService.getById(startPoint); SchBasePoint startPointObj = pointService.getById(startPoint);
SchBasePoint endPointObj = pointService.getById(endPoint); SchBasePoint endPointObj = pointService.getById(endPoint);
// 根据传来的类型去对任务进行操作 // 根据传来的类型去对任务进行操作
@ -163,7 +174,11 @@ public class POINTTask extends AbstractTask {
endPointObj.setIng_task_code(""); endPointObj.setIng_task_code("");
endPointObj.setVehicle_code(taskObj.getVehicle_code()); endPointObj.setVehicle_code(taskObj.getVehicle_code());
endPointObj.setVehicle_code2(taskObj.getVehicle_code2()); endPointObj.setVehicle_code2(taskObj.getVehicle_code2());
if(endPointObj.getPoint_code().startsWith("DKT")){
endPointObj.setVehicle_qty(endPointObj.getVehicle_qty()+1);
}else {
endPointObj.setVehicle_qty(1); endPointObj.setVehicle_qty(1);
}
pointService.update(endPointObj); pointService.update(endPointObj);
// 起点清空 // 起点清空
startPointObj.setVehicle_code(""); startPointObj.setVehicle_code("");

15
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLCKTask.java

@ -233,24 +233,27 @@ public class YCLCKTask extends AbstractTask {
String url = "http://192.168.9.5/sitAppWebApi/PDSToWMS/Api/QPMES065"; String url = "http://192.168.9.5/sitAppWebApi/PDSToWMS/Api/QPMES065";
QPMES065Request qpmes065Request = new QPMES065Request(); QPMES065Request qpmes065Request = new QPMES065Request();
List<QPMES065RequestBody> qpmes065RequestBodyList=new ArrayList<>(); List<QPMES065RequestBody> qpmes065RequestBodyList=new ArrayList<>();
QPMES065RequestBody qpmes065RequestBody=new QPMES065RequestBody();
Head head=new Head(); Head head=new Head();
head.setDEST_SYSTEM("WMS"); head.setDEST_SYSTEM("WMS");
head.setINTF_ID("QPMES065"); head.setINTF_ID("QPMES065");
head.setSRC_MSGID(IdUtil.simpleUUID()); head.setSRC_MSGID(IdUtil.simpleUUID());
head.setSRC_SYSTEM("AGV"); head.setSRC_SYSTEM("AGV");
qpmes065Request.setHEAD(head); qpmes065Request.setHEAD(head);
qpmes065RequestBody.setMoname(pdmBdWorkorder.getWorkorder_code()); for(Material material:materialList) {
qpmes065RequestBody.setLotSN(materialList.get(0).getPalletSN()); QPMES065RequestBody qpmes065RequestBody=new QPMES065RequestBody();
qpmes065RequestBody.setMoname(pdmBdWorkorder!=null?pdmBdWorkorder.getWorkorder_code():null);
qpmes065RequestBody.setLotSN(material.getPalletSN());
qpmes065RequestBody.setQty(String.valueOf(one.getMaterial_qty())); qpmes065RequestBody.setQty(String.valueOf(one.getMaterial_qty()));
qpmes065RequestBody.setSiteName(materialList.get(0).getLocationCode()); qpmes065RequestBody.setSiteName(material.getLocationCode());
qpmes065RequestBody.setZXXV01(pdmBdWorkorder!=null?"1":"0");
qpmes065RequestBodyList.add(qpmes065RequestBody); qpmes065RequestBodyList.add(qpmes065RequestBody);
}
qpmes065Request.setBODY(qpmes065RequestBodyList); qpmes065Request.setBODY(qpmes065RequestBodyList);
log.info("开始调用QPMES065服务,入参{}",qpmes065Request.toString()); log.info("开始调用QPMES065服务,入参{}",JSON.toJSONString(qpmes065Request));
String resultMsg = HttpRequest.post(url) String resultMsg = HttpRequest.post(url)
.body(JSON.toJSONString(qpmes065Request)) .body(JSON.toJSONString(qpmes065Request))
.execute().body(); .execute().body();
log.info("QPMES062服务调用成功,反馈{}",resultMsg); log.info("QPMES065服务调用成功,反馈{}",resultMsg);
} else { } else {
log.error("当前子托盘:" + taskObj.getVehicle_code2() + "不存在未解绑的物料信息,请确认!"); log.error("当前子托盘:" + taskObj.getVehicle_code2() + "不存在未解绑的物料信息,请确认!");
} }

22
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLRKTask.java

@ -215,18 +215,20 @@ public class YCLRKTask extends AbstractTask {
head.setSRC_SYSTEM("AGV"); head.setSRC_SYSTEM("AGV");
qpmes062Request.setHEAD(head); qpmes062Request.setHEAD(head);
List<QPMES062RequestBody> qpmes062RequestBodyList=new ArrayList<>(); List<QPMES062RequestBody> qpmes062RequestBodyList=new ArrayList<>();
QPMES062RequestBody qpmes062RequestBody=new QPMES062RequestBody(); for(Material material:materialList) {
qpmes062RequestBody.setSimtOrderNo(materialList.get(0).getSimtOrderNo()); QPMES062RequestBody qpmes062RequestBody = new QPMES062RequestBody();
qpmes062RequestBody.setLocationCode(materialList.get(0).getLocationCode()); qpmes062RequestBody.setSimtOrderNo(material.getSimtOrderNo());
qpmes062RequestBody.setSimtType(materialList.get(0).getSimtType()); qpmes062RequestBody.setLocationCode(material.getLocationCode());
qpmes062RequestBody.setDeliveryNo(materialList.get(0).getDeliveryNo()); qpmes062RequestBody.setSimtType(material.getSimtType());
qpmes062RequestBody.setWhlCode(materialList.get(0).getWhlCode()); qpmes062RequestBody.setDeliveryNo(material.getDeliveryNo());
qpmes062RequestBody.setPalletSn(materialList.get(0).getPalletSN()); qpmes062RequestBody.setWhlCode(material.getWhlCode());
qpmes062RequestBody.setUserCode(materialList.get(0).getSupplierCode()); qpmes062RequestBody.setPalletSn(material.getLotSN());
qpmes062RequestBody.setUserName(materialList.get(0).getSupplierName()); qpmes062RequestBody.setUserCode(material.getSupplierCode());
qpmes062RequestBody.setUserName(material.getSupplierName());
qpmes062RequestBodyList.add(qpmes062RequestBody); qpmes062RequestBodyList.add(qpmes062RequestBody);
}
qpmes062Request.setBODY(qpmes062RequestBodyList); qpmes062Request.setBODY(qpmes062RequestBodyList);
log.info("开始调用QPMES062服务,入参{}",qpmes062Request.toString()); log.info("开始调用QPMES062服务,入参{}",JSON.toJSONString(qpmes062Request));
String resultMsg = HttpRequest.post(url) String resultMsg = HttpRequest.post(url)
.body(JSON.toJSONString(qpmes062Request)) .body(JSON.toJSONString(qpmes062Request))
.execute().body(); .execute().body();

2
lms/nladmin-system/nlsso-server/src/main/resources/config/application-prod.yml

@ -6,7 +6,7 @@ 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:cw_wms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:gc_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
# url: jdbc:log4jdbc:mysql://${DB_HOST:47.111.78.178}:${DB_PORT:3306}/${DB_NAME:stand_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true # url: jdbc:log4jdbc:mysql://${DB_HOST:47.111.78.178}:${DB_PORT:3306}/${DB_NAME:stand_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
username: ${DB_USER:root} username: ${DB_USER:root}
password: ${DB_PWD:123456} password: ${DB_PWD:123456}

26
lms/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml

@ -57,43 +57,43 @@ https://juejin.cn/post/6844903775631572999
<!--开发环境:打印控制台--> <!--开发环境:打印控制台-->
<springProfile name="dev"> <springProfile name="dev">
<root level="debug"> <root level="debug">
<appender-ref ref="CONSOLE"/> <appender-ref ref="asyncFileAppender"/>
</root> </root>
<logger name="org.springframework" level="ERROR" additivity="false"> <logger name="org.springframework" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/> <appender-ref ref="asyncFileAppender"/>
</logger> </logger>
<logger name="org.apache" level="ERROR" additivity="false"> <logger name="org.apache" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/> <appender-ref ref="asyncFileAppender"/>
</logger> </logger>
<logger name="org.hibernate" level="ERROR" additivity="false"> <logger name="org.hibernate" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/> <appender-ref ref="asyncFileAppender"/>
</logger> </logger>
<logger name="io.netty" level="ERROR" additivity="false"> <logger name="io.netty" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/> <appender-ref ref="asyncFileAppender"/>
</logger> </logger>
<logger name="jdbc" level="ERROR" additivity="false"> <logger name="jdbc" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/> <appender-ref ref="asyncFileAppender"/>
</logger> </logger>
<logger name="io.lettuce" level="ERROR" additivity="false"> <logger name="io.lettuce" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/> <appender-ref ref="asyncFileAppender"/>
</logger> </logger>
<logger name="com.fasterxml" level="ERROR" additivity="false"> <logger name="com.fasterxml" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/> <appender-ref ref="asyncFileAppender"/>
</logger> </logger>
<logger name="org.quartz" level="ERROR" additivity="false"> <logger name="org.quartz" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/> <appender-ref ref="asyncFileAppender"/>
</logger> </logger>
<logger name="com.google" level="ERROR" additivity="false"> <logger name="com.google" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/> <appender-ref ref="asyncFileAppender"/>
</logger> </logger>
<logger name="springfox" level="ERROR" additivity="false"> <logger name="springfox" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/> <appender-ref ref="asyncFileAppender"/>
</logger> </logger>
<logger name="log4jdbc" level="ERROR" additivity="false"> <logger name="log4jdbc" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/> <appender-ref ref="asyncFileAppender"/>
</logger> </logger>
<logger name="nl.basjes" level="ERROR" additivity="false"> <logger name="nl.basjes" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/> <appender-ref ref="asyncFileAppender"/>
</logger> </logger>
</springProfile> </springProfile>

Loading…
Cancel
Save