diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/OneNDCSocketConnectionAutoRun.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/OneNDCSocketConnectionAutoRun.java index 962dba0..c2c2722 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/OneNDCSocketConnectionAutoRun.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/OneNDCSocketConnectionAutoRun.java @@ -192,28 +192,48 @@ 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"); + + 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) { - standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver(); - standardAutodoorDeviceDriver.OpenOrClose("2"); - if (standardAutodoorDeviceDriver.getAction() == 2) { + if (ObjectUtil.isEmpty(device_code)) { + log.info(agvaddr + "对应设备号为空!"); + return; + } + if (device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) { + standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver(); + 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反馈) }else if (phase == 0xFF) { diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/ssx_site/ItemProtocol.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/ssx_site/ItemProtocol.java index 11c8c44..40ac160 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/ssx_site/ItemProtocol.java +++ b/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 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")); diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/ssx_site/SsxSiteDeviceDriver.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/ssx_site/SsxSiteDeviceDriver.java index 5dbe641..71cf944 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/ssx_site/SsxSiteDeviceDriver.java +++ b/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; diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_autodoor/ItemProtocol.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_autodoor/ItemProtocol.java index 1881c36..6eddab0 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_autodoor/ItemProtocol.java +++ b/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 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 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 ""; + } } diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_autodoor/StandardAutodoorDeviceDriver.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_autodoor/StandardAutodoorDeviceDriver.java index bcda436..750d85d 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_autodoor/StandardAutodoorDeviceDriver.java +++ b/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"); + { + JSONObject jo = new JSONObject(); + String open = ""; + String close = ""; + if (this.getOpen() == 0) { + open = "未知"; + } else if (this.getOpen() == 1) { + open = "开到位"; + } + 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(); } - 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 itemMap = new HashMap(); - 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); - } - - } } diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java index b59ab8e..42149db 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java +++ b/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; diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES062Request.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES062Request.java index 439f482..8fb06c4 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES062Request.java +++ b/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 BODY; } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES062RequestBody.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES062RequestBody.java index a6f1df0..c41f6e0 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES062RequestBody.java +++ b/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; } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES065Request.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES065Request.java index abe8ddd..f80c193 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES065Request.java +++ b/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 BODY; } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES065RequestBody.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES065RequestBody.java index 8445d68..fb006bc 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES065RequestBody.java +++ b/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; } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES118Response.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES118Response.java index 203f7d0..6262d09 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES118Response.java +++ b/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 BODY; } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES118ResponseBody.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES118ResponseBody.java index 173d782..27f379b 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES118ResponseBody.java +++ b/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; } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/POINTTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/POINTTask.java index db245b8..7d5185f 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/POINTTask.java +++ b/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() .eq(SchBasePoint::getPoint_code, task.getPoint_code1())); + if(task.getPoint_code2().startsWith("DKT")){ + SchBasePoint nextSchBasePoint= pointService.getOne(new LambdaQueryWrapper() + .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()); - endPointObj.setVehicle_qty(1); + if(endPointObj.getPoint_code().startsWith("DKT")){ + endPointObj.setVehicle_qty(endPointObj.getVehicle_qty()+1); + }else { + endPointObj.setVehicle_qty(1); + } pointService.update(endPointObj); // 起点清空 startPointObj.setVehicle_code(""); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLCKTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLCKTask.java index 4805461..b4a59e9 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLCKTask.java +++ b/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 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()); - qpmes065RequestBody.setQty(String.valueOf(one.getMaterial_qty())); - qpmes065RequestBody.setSiteName(materialList.get(0).getLocationCode()); - qpmes065RequestBodyList.add(qpmes065RequestBody); + 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(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() + "不存在未解绑的物料信息,请确认!"); } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLRKTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLRKTask.java index f4eb730..bec192f 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLRKTask.java +++ b/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 qpmes062RequestBodyList=new ArrayList<>(); - 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()); - qpmes062RequestBodyList.add(qpmes062RequestBody); + for(Material material:materialList) { + QPMES062RequestBody qpmes062RequestBody = new QPMES062RequestBody(); + 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(); diff --git a/lms/nladmin-system/nlsso-server/src/main/resources/config/application-prod.yml b/lms/nladmin-system/nlsso-server/src/main/resources/config/application-prod.yml index 82f7ddd..6c6798c 100644 --- a/lms/nladmin-system/nlsso-server/src/main/resources/config/application-prod.yml +++ b/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} diff --git a/lms/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml b/lms/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml index be73e83..e1ccc79 100644 --- a/lms/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml +++ b/lms/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml @@ -57,43 +57,43 @@ https://juejin.cn/post/6844903775631572999 - + - + - + - + - + - + - + - + - + - + - + - + - +