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. 20
      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反馈)
else if (phase == 0x30) {
data = NDCAgvService.sendAgvOneModeInst(0x8F, index, 0, 0, 0, 0, 0);
} //进入区域
}
//进入区域
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.OpenOrClose("1");
if (standardAutodoorDeviceDriver.getAction() == 1) {
standardAutodoorDeviceDriver.OpenOrClose("1");
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, 0, 0, 0, 0);
try {
standardAutodoorDeviceDriver.writing("to_open", "1");
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.OpenOrClose("2");
if (standardAutodoorDeviceDriver.getAction() == 2) {
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, 0, 0, 0, 0);
try {
standardAutodoorDeviceDriver.writing("to_close", "1");
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反馈)

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
public class ItemProtocol {
public static String item_heartbeat = "heartbeat";
public static String item_mode = "mode";
public static String item_move = "move";
public static String item_action = "action";
@ -30,9 +29,6 @@ public class ItemProtocol {
this.driver = driver;
}
public int getHeartbeat() {
return this.getOpcIntegerValue(item_heartbeat);
}
public int getMode() {
return this.getOpcIntegerValue(item_mode);
@ -53,8 +49,8 @@ public class ItemProtocol {
public int getTask() {
return this.getOpcIntegerValue(item_task);
}
public int getWeight() {
return this.getOpcIntegerValue(item_weight);
public double getWeight() {
return this.getOpcFloatValue(item_weight);
}
public String getSubTray() {
return this.getOpcStringValue(item_sub_tray);
@ -105,9 +101,20 @@ public class ItemProtocol {
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() {
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_move, "光电开关信号", "DB600.B2"));
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 last_io_action = 0;
double weight = 0;
double last_weight = 0;
double weight = 0.0;
double last_weight = 0.0;
String sub_tray = null;
String last_sub_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;
import cn.hutool.core.util.StrUtil;
import lombok.extern.slf4j.Slf4j;
import org.nl.acs.device.device_driver.standard_inspect.ItemDto;
@ -8,13 +9,10 @@ import java.util.List;
@Slf4j
public class ItemProtocol {
public static String item_heartbeat = "heartbeat";
public static String item_mode = "mode";
public static String item_state = "state";
public static String item_action = "action";
public static String item_error = "error";
public static String item_to_command = "to_command";
public static String item_to_state ="to_state";
public static String item_open = "open";
public static String item_close = "close";
public static String item_to_open = "to_open";
public static String item_to_close = "to_close";
private StandardAutodoorDeviceDriver driver;
@ -23,39 +21,27 @@ public class ItemProtocol {
this.driver = driver;
}
public int getHeartbeat() {
return this.getOpcIntegerValue(item_heartbeat);
public int getOpen() {
return this.getOpcIntegerValue(item_open);
}
public int getMode() {
return this.getOpcIntegerValue(item_mode);
public int getClose() {
return this.getOpcIntegerValue(item_close);
}
public int getAction() {
return this.getOpcIntegerValue(item_action);
}
public int getError() {
return this.getOpcIntegerValue(item_error);
}
public int getState() {
return this.getOpcIntegerValue(item_state);
public int getToOpen() {
return this.getOpcIntegerValue(item_to_open);
}
public int getToCommand() {
return this.getOpcIntegerValue(item_to_command);
public int getToClose() {
return this.getOpcIntegerValue(item_to_close);
}
public int getToState() {
return this.getOpcIntegerValue(item_to_state);
}
public int getOpcIntegerValue(String protocol) {
Integer value = this.driver.getIntegeregerValue(protocol);
if (value == null) {
// log.error("读取错误!");
// log.error(this.getDriver().getDeviceCode() + ":protocol " + protocol + " 信号同步异常!");
} else {
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() {
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_state, "工作状态", "DB600.B2"));
list.add(new ItemDto(item_action, "动作信号", "DB600.B3"));
list.add(new ItemDto(item_error, "报警信号", "DB600.B4"));
list.add(new ItemDto(item_open, "开到位", "10001"));
list.add(new ItemDto(item_close, "关到位", "10002"));
return list;
}
public static List<ItemDto> getWriteableItemDtos() {
ArrayList list = new ArrayList();
list.add(new ItemDto(item_to_command, "作业命令", "DB601.W2", Boolean.valueOf(true)));
list.add(new ItemDto(item_to_state, "下发状态", "DB601.W3", Boolean.valueOf(true)));
list.add(new ItemDto(item_to_open, "下发开门", "00001" ));
list.add(new ItemDto(item_to_close, "下发关门", "00002"));
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.ext.wms.data.feedBackTaskStatus.FeedBackTaskStatusRequest;
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.device.service.DeviceService;
import org.nl.acs.device_driver.DeviceDriver;
@ -33,65 +34,19 @@ import java.util.Map;
public class StandardAutodoorDeviceDriver extends AbstractOpcDeviceDriver implements DeviceDriver, ExecutableDeviceDriver {
protected ItemProtocol itemProtocol = new ItemProtocol(this);
InstructionService instructionService = SpringContextHolder.getBean("instructionServiceImpl");
DeviceService deviceservice = SpringContextHolder.getBean("deviceServiceImpl");
RouteLineService routelineserver = SpringContextHolder.getBean("routeLineServiceImpl");
TaskService taskserver = SpringContextHolder.getBean("taskServiceImpl");
AcsToWmsService acsToWmsService=SpringContextHolder.getBean("acsToWmsServiceImpl");
String container;
String container_type_desc;
String last_container_type_desc;
String last_container;
//放货准备锁
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;
DeviceExecuteLogService logServer = SpringContextHolder.getBean("deviceExecuteLogServiceImpl");
int open = 0;
int close = 0;
int last_open = 0;
int last_close = 0;
int toOpen = 0;
int last_toOpen = 0;
int toClose = 0;
int last_toClose = 0;
String device_code = null;
@Override
public Device getDevice() {
@ -103,76 +58,66 @@ public class StandardAutodoorDeviceDriver extends AbstractOpcDeviceDriver implem
public void execute() {
String message = null;
String device_code = this.getDevice().getDevice_code();
mode = this.itemProtocol.getMode();
action = this.itemProtocol.getAction();
error = this.itemProtocol.getError();
state = this.itemProtocol.getState();
if (mode != last_mode) {
device_code = this.getDevice().getDevice_code();
open = this.itemProtocol.getOpen();
close = this.itemProtocol.getClose();
toOpen = this.itemProtocol.getToOpen();
toClose = this.itemProtocol.getToClose();
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) {
//固化室状态变更后通知lms更新固化室状态
FeedBackTaskStatusRequest request = new FeedBackTaskStatusRequest();
request.setState(String.valueOf(state));
request.setDevice_code(this.getDeviceCode());
request.setType("1");
acsToWmsService.notify(request);
if (toOpen != last_toOpen) {
logServer.deviceExecuteLog(this.device_code, "", "", "信号toOpen:" + last_toOpen + "->" + toOpen);
}
last_action = action;
last_mode = mode;
last_error = error;
last_state = state;
//message = StringFormatUtl.format("设备报警:{}", new Object[]{});
// String manual_create_task = this.getDevice().getExtraValue().get("manual_create_task").toString();
last_open = open;
last_close = close;
last_toClose = toClose;
last_toOpen = toOpen;
}
public synchronized String getStatus() {
{
JSONObject jo = new JSONObject();
if (action == 1) {
jo.put("name", this.getDevice().getDevice_code());
jo.put("status", "OPEN");
} else if (action == 2) {
jo.put("name", this.getDevice().getDevice_code());
jo.put("status", "CLOSE");
} else {
jo.put("name", this.getDevice().getDevice_code());
jo.put("status", "ERROR");
String open = "";
String close = "";
if (this.getOpen() == 0) {
open = "未知";
} else if (this.getOpen() == 1) {
open = "开到位";
}
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();
Server server = ReadUtil.getServer(opcservcerid);
public void writing(String param, String value) {
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>();
itemMap.put(to_command, command);
ReadUtil.write(itemMap, server);
log.info("下发PLC信号:{},{}", to_command, command);
System.out.println("设备:" + devicecode + ",下发PLC信号:" + to_command + ",value:" + command);
itemMap.put(to_param, Integer.parseInt(value));
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){
case 1:
//wms通知固化室满料,开始固化
device = deviceAppService.findDeviceByCode(device_code);
if (device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) {
StandardAutodoorDeviceDriver standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver();
standardAutodoorDeviceDriver.writing("to_state",1);
}
// device = deviceAppService.findDeviceByCode(device_code);
// if (device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) {
// StandardAutodoorDeviceDriver standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver();
// standardAutodoorDeviceDriver.writing("to_state",1);
// }
break;
case 2:
//wms通知固化室取料完毕,重新开放可使用
device = deviceAppService.findDeviceByCode(device_code);
if (device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) {
StandardAutodoorDeviceDriver standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver();
standardAutodoorDeviceDriver.writing("to_state",2);
}
// //wms通知固化室取料完毕,重新开放可使用
// device = deviceAppService.findDeviceByCode(device_code);
// if (device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) {
// StandardAutodoorDeviceDriver standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver();
// standardAutodoorDeviceDriver.writing("to_state",2);
// }
break;
default:
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;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -18,7 +19,9 @@ import java.util.List;
@XmlRootElement
@Accessors(chain = true)
public class QPMES062Request{
@JSONField(name = "HEAD")
private Head HEAD;
@JSONField(name = "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;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.*;
import lombok.experimental.Accessors;
import javax.xml.bind.annotation.XmlRootElement;
@Data
public class QPMES062RequestBody extends Head {
public class QPMES062RequestBody {
//入库单号
@JSONField(name = "SimtOrderNo")
private String SimtOrderNo;
//场地
@JSONField(name = "locationCode")
private String locationCode;
//入库类型
@JSONField(name = "simtType")
private String simtType;
//到货单号
@JSONField(name = "deliveryNo")
private String deliveryNo;
//扫描库位
@JSONField(name = "whlCode")
private String whlCode;
//物料条码号(托号)
@JSONField(name = "PalletSn")
private String PalletSn;
//用户编码
@JSONField(name = "userCode")
private String userCode;
//用户名称
@JSONField(name = "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;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -18,6 +19,8 @@ import java.util.List;
@XmlRootElement
@Accessors(chain = true)
public class QPMES065Request {
@JSONField(name = "HEAD")
private Head HEAD;
@JSONField(name = "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;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.*;
import lombok.experimental.Accessors;
@ -9,32 +10,46 @@ import javax.xml.bind.annotation.XmlRootElement;
public class QPMES065RequestBody {
//工单号
@JSONField(name = "moname")
private String moname;
//物料条码(托号)
@JSONField(name = "lotSN")
private String lotSN;
//领料数量
@JSONField(name = "qty")
private String qty;
//场地
@JSONField(name = "siteName")
private String siteName;
//预留字段1
@JSONField(name = "ZXXV01")
private String ZXXV01;
//预留字段2
@JSONField(name = "ZXXV02")
private String ZXXV02;
//预留字段3
@JSONField(name = "ZXXV03")
private String ZXXV03;
//预留字段4
@JSONField(name = "ZXXV04")
private String ZXXV04;
//预留字段5
@JSONField(name = "ZXXV05")
private String ZXXV05;
//预留字段6
@JSONField(name = "ZXXV06")
private String ZXXV06;
//预留字段7
@JSONField(name = "ZXXV07")
private String ZXXV07;
//预留字段8
@JSONField(name = "ZXXV08")
private String ZXXV08;
//预留字段9
@JSONField(name = "ZXXV09")
private String ZXXV09;
//预留字段10
@JSONField(name = "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;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import lombok.ToString;
@ -8,7 +9,9 @@ import java.util.List;
@Data
@ToString
public class QPMES118Response{
@JSONField(name = "HEAD")
private Head HEAD;
@JSONField(name = "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;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import lombok.ToString;
@ -7,20 +8,28 @@ import lombok.ToString;
@ToString
public class QPMES118ResponseBody{
//库区
@JSONField(name = "WhaCode")
private String WhaCode;
//库位
@JSONField(name = "WhlCode")
private String WhlCode;
//客户
@JSONField(name = "CustomerName")
private String CustomerName;
//母托号
@JSONField(name = "ParentPalletSN")
private String ParentPalletSN;
//子托号
@JSONField(name = "PalletSN")
private String PalletSN;
//物料编码
@JSONField(name = "ProductName")
private String ProductName;
//入库日期
@JSONField(name = "WorkDate")
private String WorkDate;
//重量
@JSONField(name = "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("");
SchBasePoint schBasePoint= pointService.getOne(new LambdaQueryWrapper<SchBasePoint>()
.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_code2(schBasePoint.getVehicle_code2());
taskService.update(task);
@ -115,6 +123,9 @@ public class POINTTask extends AbstractTask {
}
String startPoint = taskObj.getPoint_code1(); // 获取起点
String endPoint = taskObj.getPoint_code2(); // 获取终点
if(endPoint.startsWith("DKT")){
endPoint=endPoint.substring(0,endPoint.length()-1)+1;
}
SchBasePoint startPointObj = pointService.getById(startPoint);
SchBasePoint endPointObj = pointService.getById(endPoint);
// 根据传来的类型去对任务进行操作
@ -163,7 +174,11 @@ public class POINTTask extends AbstractTask {
endPointObj.setIng_task_code("");
endPointObj.setVehicle_code(taskObj.getVehicle_code());
endPointObj.setVehicle_code2(taskObj.getVehicle_code2());
if(endPointObj.getPoint_code().startsWith("DKT")){
endPointObj.setVehicle_qty(endPointObj.getVehicle_qty()+1);
}else {
endPointObj.setVehicle_qty(1);
}
pointService.update(endPointObj);
// 起点清空
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";
QPMES065Request qpmes065Request = new QPMES065Request();
List<QPMES065RequestBody> qpmes065RequestBodyList=new ArrayList<>();
QPMES065RequestBody qpmes065RequestBody=new QPMES065RequestBody();
Head head=new Head();
head.setDEST_SYSTEM("WMS");
head.setINTF_ID("QPMES065");
head.setSRC_MSGID(IdUtil.simpleUUID());
head.setSRC_SYSTEM("AGV");
qpmes065Request.setHEAD(head);
qpmes065RequestBody.setMoname(pdmBdWorkorder.getWorkorder_code());
qpmes065RequestBody.setLotSN(materialList.get(0).getPalletSN());
for(Material material:materialList) {
QPMES065RequestBody qpmes065RequestBody=new QPMES065RequestBody();
qpmes065RequestBody.setMoname(pdmBdWorkorder!=null?pdmBdWorkorder.getWorkorder_code():null);
qpmes065RequestBody.setLotSN(material.getPalletSN());
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);
}
qpmes065Request.setBODY(qpmes065RequestBodyList);
log.info("开始调用QPMES065服务,入参{}",qpmes065Request.toString());
log.info("开始调用QPMES065服务,入参{}",JSON.toJSONString(qpmes065Request));
String resultMsg = HttpRequest.post(url)
.body(JSON.toJSONString(qpmes065Request))
.execute().body();
log.info("QPMES062服务调用成功,反馈{}",resultMsg);
log.info("QPMES065服务调用成功,反馈{}",resultMsg);
} else {
log.error("当前子托盘:" + taskObj.getVehicle_code2() + "不存在未解绑的物料信息,请确认!");
}

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

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

@ -6,7 +6,7 @@ spring:
druid:
db-type: com.alibaba.druid.pool.DruidDataSource
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
username: ${DB_USER:root}
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">
<root level="debug">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="asyncFileAppender"/>
</root>
<logger name="org.springframework" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="org.apache" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="org.hibernate" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="io.netty" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="jdbc" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="io.lettuce" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="com.fasterxml" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="org.quartz" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="com.google" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="springfox" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="log4jdbc" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="nl.basjes" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="asyncFileAppender"/>
</logger>
</springProfile>

Loading…
Cancel
Save