Commit a6ea5055 LN

工单锁定取消物料需要将锁定状态上传到TMS. reelID出库修改。websocket连接后延几秒再同步数据。

1 个父辈 112657c3
...@@ -438,7 +438,7 @@ public class LiteOrderCache { ...@@ -438,7 +438,7 @@ public class LiteOrderCache {
return checkOutLiteOrder(orderNo,outBom,singleOut,false); return checkOutLiteOrder(orderNo,outBom,singleOut,false);
} }
public synchronized String checkOutLiteOrder(String orderNo, boolean outBom,boolean singleOut,boolean needCheck) { public synchronized String checkOutLiteOrder(String orderNo, boolean outBom,boolean singleOut,boolean needCheck) {
return checkOutLiteOrder(orderNo,outBom,singleOut,needCheck); return checkOutLiteOrder(orderNo,outBom,singleOut,needCheck,new ArrayList<>());
} }
/** /**
* 执行工单出库 * 执行工单出库
...@@ -740,19 +740,26 @@ public class LiteOrderCache { ...@@ -740,19 +740,26 @@ public class LiteOrderCache {
List<StoragePos> lockPosList = storagePosManager.findLockPos(liteOrder.getOrderNo()); List<StoragePos> lockPosList = storagePosManager.findLockPos(liteOrder.getOrderNo());
//绑定料需要解绑
storagePosManager.clearLockPos(liteOrder.getOrderNo());
List<StoragePos > newPosLis=new ArrayList<>();
//缓存清除锁定 TODO //缓存清除锁定 TODO
if(lockPosList!=null){ if(lockPosList!=null&&lockPosList.size()>0) {
for (StoragePos pos : for (StoragePos pos :
lockPosList) { lockPosList) {
Storage storage=dataCache.getStorageById(pos.getStorageId()); Storage storage = dataCache.getStorageById(pos.getStorageId());
dataCache.unLockOneReel(storage.getCid(),pos.getBarcode().getPartNumber()); dataCache.unLockOneReel(storage.getCid(), pos.getBarcode().getPartNumber());
pos.getBarcode().setLockId(null);
newPosLis.add(pos);
} }
//TODO 需要转移到工单状态改变中处理
liteOrder.setLockReelList(newPosLis);
} }
//绑定料需要解绑
storagePosManager.clearLockPos(liteOrder.getOrderNo());
log.info("关闭工单[" + orderNo + "]成功"); log.info("关闭工单[" + orderNo + "]成功");
liteOrder.setClosed(true); liteOrder.setClosed(true);
liteOrderManager.save(liteOrder); liteOrderManager.save(liteOrder);
......
...@@ -4,6 +4,7 @@ import com.neotel.smfcore.common.base.BasePo; ...@@ -4,6 +4,7 @@ import com.neotel.smfcore.common.base.BasePo;
import com.neotel.smfcore.common.utils.StorageConstants; import com.neotel.smfcore.common.utils.StorageConstants;
import com.neotel.smfcore.common.utils.StringUtils; import com.neotel.smfcore.common.utils.StringUtils;
import com.neotel.smfcore.core.order.enums.LITEORDER_STATUS; import com.neotel.smfcore.core.order.enums.LITEORDER_STATUS;
import com.neotel.smfcore.core.storage.service.po.StoragePos;
import lombok.Data; import lombok.Data;
import org.springframework.data.annotation.Transient; import org.springframework.data.annotation.Transient;
import org.springframework.data.mongodb.core.mapping.Document; import org.springframework.data.mongodb.core.mapping.Document;
...@@ -92,6 +93,13 @@ public class LiteOrder extends BasePo implements Serializable { ...@@ -92,6 +93,13 @@ public class LiteOrder extends BasePo implements Serializable {
@Transient @Transient
private List<LiteOrderItem> orderItems; private List<LiteOrderItem> orderItems;
/**
* 锁定的物料,关闭工单时,TMS需要更新锁定物料状态
*/
@Transient
private List<StoragePos> lockReelList;
/** /**
* 建议出仓时间 * 建议出仓时间
*/ */
......
...@@ -72,78 +72,83 @@ public class HanwhaApiHandler extends BaseSmfApiListener { ...@@ -72,78 +72,83 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
@Override @Override
public Barcode canPutInBeforeResolve(String codeResolveUrl, CodeValidateParam params) throws ValidateException { public Barcode canPutInBeforeResolve(String codeResolveUrl, CodeValidateParam params) throws ValidateException {
log.info("barcode[" + params.getCode() + "] 解析条码"); log.info("barcode[" + params.getCode() + "] 解析条码");
CodeBean codeBean = BarcodeRule.splitCodeAndSize(params.getCode()); String[] codeStr = params.getCode().split("##");
String fullCode = codeBean.getCodeStr(); for (int i = codeStr.length-1; i >= 0; i--) {
if (fullCode.endsWith("##")) {
fullCode = fullCode.substring(0, fullCode.length() - 2); String codeStr1 = codeStr[i];
} CodeBean codeBean = BarcodeRule.splitCodeAndSize(codeStr1);
log.info("barcode[" + params.getCode() + "] 解析条码到完整条码:"+fullCode+",调用 RequestGetPartInfo"); String fullCode = codeBean.getCodeStr();
List<TMSPart> result = tmsApis.RequestGetPartInfo(0, fullCode); if (fullCode.endsWith("##")) {
if (result.size() > 0) { fullCode = fullCode.substring(0, fullCode.length() - 2);
String pn = result.get(0).getPartName();
String code = result.get(0).getReelCode();
int count = result.get(0).getResponseCount();
boolean needS = false;
if (ObjectUtil.isEmpty(pn)) {
log.info("barcode[" + params.getCode() + "] RequestGetPartInfo ,PN为空");
return null;
}
if (ObjectUtil.isEmpty(code)) {
log.info("barcode[" + params.getCode() + "] RequestGetPartInfo ,唯一码为空");
return null;
}
if (count <= 0) {
count = 0;
} }
int width = 7; log.info("barcode[" + params.getCode() + "] 解析条码到完整条码:" + fullCode + ",调用 RequestGetPartInfo");
int height = 8; List<TMSPart> result = tmsApis.RequestGetPartInfo(0, fullCode);
if (result.size() > 0) {
String pn = result.get(0).getPartName();
String code = result.get(0).getReelCode();
int count = result.get(0).getResponseCount();
boolean needS = false;
if (ObjectUtil.isEmpty(pn)) {
log.info("barcode[" + params.getCode() + "] RequestGetPartInfo ,PN为空");
return null;
}
if (ObjectUtil.isEmpty(code)) {
log.info("barcode[" + params.getCode() + "] RequestGetPartInfo ,唯一码为空");
return null;
}
if (count <= 0) {
count = 0;
}
int width = 7;
int height = 8;
Barcode barcode = barcodeManager.findByBarcode(code); Barcode barcode = barcodeManager.findByBarcode(code);
if (barcode == null) { if (barcode == null) {
barcode = new Barcode(); barcode = new Barcode();
} }
barcode.setFullCode(params.getCode()); barcode.setFullCode(params.getCode());
barcode.setAmount(count); barcode.setAmount(count);
barcode.setPartNumber(pn); barcode.setPartNumber(pn);
barcode.setBarcode(code); barcode.setBarcode(code);
barcode.setHeight(height); barcode.setHeight(height);
barcode.setPlateSize(width); barcode.setPlateSize(width);
Date proDate = getDate(result.get(0).getProductionDate()); Date proDate = getDate(result.get(0).getProductionDate());
if (proDate != null) { if (proDate != null) {
barcode.setProduceDate(proDate); barcode.setProduceDate(proDate);
} }
Date expDate = getDate(result.get(0).getExpiryDate()); Date expDate = getDate(result.get(0).getExpiryDate());
if (expDate != null) { if (expDate != null) {
barcode.setExpireDate(expDate); barcode.setExpireDate(expDate);
} }
//判断Pn是否存在 //判断Pn是否存在
Component component = componentManager.findOneByPN(pn); Component component = componentManager.findOneByPN(pn);
if (component != null) { if (component != null) {
log.info("未找到PN[" + pn + "] 新建一个"); log.info("未找到PN[" + pn + "] 新建一个");
//找到了,复制一个 //找到了,复制一个
Component newComponent = new Component(); Component newComponent = new Component();
newComponent.setProvider(""); newComponent.setProvider("");
newComponent.setPlateSize(width); newComponent.setPlateSize(width);
newComponent.setHeight(height); newComponent.setHeight(height);
newComponent.setPartNumber(component.getPartNumber()); newComponent.setPartNumber(component.getPartNumber());
newComponent.setAmount(count); newComponent.setAmount(count);
newComponent.setName(component.getPartNumber()); newComponent.setName(component.getPartNumber());
component = componentManager.save(component); component = componentManager.save(component);
} }
barcode = barcodeManager.saveBarcode(barcode); barcode = barcodeManager.saveBarcode(barcode);
log.info("barcode[" + params.getCode() + "] RequestGetPartInfo ,PN=[" + pn + "],code=[" + code + "],count=[" + count + "]新增条码准备入库"); log.info("barcode[" + params.getCode() + "] RequestGetPartInfo ,PN=[" + pn + "],code=[" + code + "],count=[" + count + "]新增条码准备入库");
return barcode; return barcode;
} } else {
else{ log.info("barcode[" + params.getCode() + "] 解析条码到完整条码:" + fullCode + ",调用 RequestGetPartInfo 未收到反馈");
log.info("barcode[" + params.getCode() + "] 解析条码到完整条码:"+fullCode+",调用 RequestGetPartInfo 未收到反馈"); throw new ValidateException("smfcore.mesApi.inCheck.error", "RequestGetPartInfo no data",new String[]{" no data "});
throw new ValidateException("smfcore.mesApi.inCheck.error", "RequestGetPartInfo no data"); }
} }
// return null;
return null;
} }
private Date getDate(String str) { private Date getDate(String str) {
...@@ -196,7 +201,7 @@ public class HanwhaApiHandler extends BaseSmfApiListener { ...@@ -196,7 +201,7 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
} }
if (task.isFinished()||task.isEnd()) { if (task.isFinished()||task.isEnd()) {
List<TMSPartReelPos> list = new ArrayList<>(); List<TMSPartReelPos> list = new ArrayList<>();
TMSPartReelPos bean = TMSPartReelPos.newBean(task.getPartNumber(), task.getBarcode(), task.getNum(), task.getCid(), task.getPosName(), 1, task.getUpdateDate().getTime(), -1); TMSPartReelPos bean = TMSPartReelPos.newBean(task.getPartNumber(), task.getBarcode(), task.getNum(), task.getCid(), task.getPosName(), 1, task.getUpdateDate().getTime(), -1,0);
list.add(bean); list.add(bean);
log.info("barcode[" + task.getBarcode() + "],pn[" + task.getPartNumber() + "],posName[" + task.getPosName() + "]入库完成,调用 RequestSyncPartReelPosInfo"); log.info("barcode[" + task.getBarcode() + "],pn[" + task.getPartNumber() + "],posName[" + task.getPosName() + "]入库完成,调用 RequestSyncPartReelPosInfo");
...@@ -211,7 +216,7 @@ public class HanwhaApiHandler extends BaseSmfApiListener { ...@@ -211,7 +216,7 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
} }
if (task.isFinished()||task.isEnd()) { if (task.isFinished()||task.isEnd()) {
List<TMSPartReelPos> list = new ArrayList<>(); List<TMSPartReelPos> list = new ArrayList<>();
TMSPartReelPos bean = TMSPartReelPos.newBean(task.getPartNumber(), task.getBarcode(), task.getNum(), task.getCid(), task.getPosName(), 2, -1, task.getUpdateDate().getTime()); TMSPartReelPos bean = TMSPartReelPos.newBean(task.getPartNumber(), task.getBarcode(), task.getNum(), task.getCid(), task.getPosName(), 2, -1, task.getUpdateDate().getTime(),0);
list.add(bean); list.add(bean);
log.info("barcode[" + task.getBarcode() + "],pn[" + task.getPartNumber() + "],posName[" + task.getPosName() + "]出库完成,调用 RequestSyncPartReelPosInfo"); log.info("barcode[" + task.getBarcode() + "],pn[" + task.getPartNumber() + "],posName[" + task.getPosName() + "]出库完成,调用 RequestSyncPartReelPosInfo");
...@@ -224,11 +229,17 @@ public class HanwhaApiHandler extends BaseSmfApiListener { ...@@ -224,11 +229,17 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
} }
@Override @Override
public void onOrderStatusChange(String orderNotifyUrl, LiteOrder liteOrder) { public void onOrderStatusChange(String orderNotifyUrl, LiteOrder liteOrder ) {
//ResponseUpdateDeliveryReserveState-all work order //ResponseUpdateDeliveryReserveState-all work order
if (liteOrder.isClosed()) { if (liteOrder.isClosed()) {
//工单取消,且解锁了物料,需要通知TMS
if(liteOrder.getLockReelList() !=null&&liteOrder.getLockReelList().size()>0){
tmsUtil.SyncReelLockS(liteOrder.getLockReelList());
}
String isCancel=liteOrder.getAppend("cancel"); String isCancel=liteOrder.getAppend("cancel");
if(isCancel.equals("true")){ if(isCancel.equals("true")){
log.info("工单取消处理中,此处不通知TMS"); log.info("工单取消处理中,此处不通知TMS");
...@@ -348,13 +359,14 @@ public class HanwhaApiHandler extends BaseSmfApiListener { ...@@ -348,13 +359,14 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
if (pos.getBarcode() == null) { if (pos.getBarcode() == null) {
TMSPartReelPos bean = TMSPartReelPos.newBean("", "", -1, TMSPartReelPos bean = TMSPartReelPos.newBean("", "", -1,
storage.getCid(), pos.getPosName(), 4, -1, -1); storage.getCid(), pos.getPosName(), 4, -1, -1,0);
list.add(bean); list.add(bean);
} else { } else {
Barcode barcode = pos.getBarcode(); Barcode barcode = pos.getBarcode();
int s=ObjectUtil.isNotEmpty(barcode.getLockId())?1:0;
TMSPartReelPos bean = TMSPartReelPos.newBean(barcode.getPartNumber(), barcode.getBarcode(), barcode.getAmount(), TMSPartReelPos bean = TMSPartReelPos.newBean(barcode.getPartNumber(), barcode.getBarcode(), barcode.getAmount(),
storage.getCid(), pos.getPosName(), 4, barcode.getPutInDate().getTime(), -1); storage.getCid(), pos.getPosName(), 4, barcode.getPutInDate().getTime(), -1,s);
list.add(bean); list.add(bean);
} }
......
...@@ -143,10 +143,13 @@ public class TMSCommunicator implements WsMsgReceivedListener { ...@@ -143,10 +143,13 @@ public class TMSCommunicator implements WsMsgReceivedListener {
log.info("启动 webService 状态检查"); log.info("启动 webService 状态检查");
while(true) { while(true) {
try { try {
TimeUnit.SECONDS.sleep(5); TimeUnit.SECONDS.sleep(4);
if (needCheck) { if (needCheck) {
stateCheck(); stateCheck();
} }
if(waitSync&&System.currentTimeMillis()>syncTime){
SyncData();
}
} catch (Exception e) { } catch (Exception e) {
log.error("webService" + e.getMessage()); log.error("webService" + e.getMessage());
} }
...@@ -183,6 +186,7 @@ public class TMSCommunicator implements WsMsgReceivedListener { ...@@ -183,6 +186,7 @@ public class TMSCommunicator implements WsMsgReceivedListener {
websocket = new MyWebSocketClient(new URI(wsURL), this); websocket = new MyWebSocketClient(new URI(wsURL), this);
websocket.setConnectionLostTimeout(3000); websocket.setConnectionLostTimeout(3000);
websocket.connect(); websocket.connect();
SetNeedSync(false);
} catch (URISyntaxException e) { } catch (URISyntaxException e) {
e.printStackTrace(); e.printStackTrace();
} }
...@@ -193,10 +197,19 @@ public class TMSCommunicator implements WsMsgReceivedListener { ...@@ -193,10 +197,19 @@ public class TMSCommunicator implements WsMsgReceivedListener {
parseMessage(message); parseMessage(message);
} }
private boolean waitSync=false;
private Long syncTime=0L;
private void SetNeedSync(boolean needS){
waitSync=needS;
syncTime=System.currentTimeMillis()+5000;
}
@Override @Override
public void onOpen() { public void onOpen() {
Initialize(clientType, clientSubType); Initialize(clientType, clientSubType);
SyncData(); SetNeedSync(true);
//三到五秒后再同步数据
// SyncData();
} }
public static boolean isEnable() { public static boolean isEnable() {
...@@ -285,6 +298,7 @@ public class TMSCommunicator implements WsMsgReceivedListener { ...@@ -285,6 +298,7 @@ public class TMSCommunicator implements WsMsgReceivedListener {
@Override @Override
public void run() { public void run() {
try { try {
SetNeedSync(false);
// 同步数据 // 同步数据
List<String> cids = new ArrayList<>(dataCache.getAllStorage().keySet()); List<String> cids = new ArrayList<>(dataCache.getAllStorage().keySet());
SyncStorageConnectionInfo(cids.toArray(new String[cids.size()]), new Integer[]{}); SyncStorageConnectionInfo(cids.toArray(new String[cids.size()]), new Integer[]{});
...@@ -325,13 +339,15 @@ public class TMSCommunicator implements WsMsgReceivedListener { ...@@ -325,13 +339,15 @@ public class TMSCommunicator implements WsMsgReceivedListener {
if (pos.getBarcode() == null) { if (pos.getBarcode() == null) {
TMSPartReelPos bean = TMSPartReelPos.newBean("", "", -1, TMSPartReelPos bean = TMSPartReelPos.newBean("", "", -1,
storage.getCid(), pos.getPosName(), 4, -1, -1); storage.getCid(), pos.getPosName(), 4, -1, -1,0);
list.add(bean); list.add(bean);
} else { } else {
Barcode barcode = pos.getBarcode(); Barcode barcode = pos.getBarcode();
int s=ObjectUtil.isNotEmpty(barcode.getLockId())?1:0;
TMSPartReelPos bean = TMSPartReelPos.newBean(barcode.getPartNumber(), barcode.getBarcode(), barcode.getAmount(), TMSPartReelPos bean = TMSPartReelPos.newBean(barcode.getPartNumber(), barcode.getBarcode(), barcode.getAmount(),
storage.getCid(), pos.getPosName(), 4, barcode.getPutInDate().getTime(), -1); storage.getCid(), pos.getPosName(), 4, barcode.getPutInDate().getTime(), -1,s);
list.add(bean); list.add(bean);
} }
...@@ -486,8 +502,11 @@ public class TMSCommunicator implements WsMsgReceivedListener { ...@@ -486,8 +502,11 @@ public class TMSCommunicator implements WsMsgReceivedListener {
break; break;
case "RequestDeliveryOrderByLocation": case "RequestDeliveryOrderByLocation":
log.info("onMsgReceived: requestID=[" + requestID + "],Topic=[" + topic + "],message:[" + message + "],"); log.info("onMsgReceived: requestID=[" + requestID + "],Topic=[" + topic + "],message:[" + message + "],");
Locations = getMapValue(msgMap, "Locations"); Locations = getTMSPosList(msgMap, "Locations");
//3.10 RequestDeliveryOrderByLocation // 2024-12-11 18:05:08.428 INFO [TMSCommunicator.java:504] - onMsgReceived: requestID=[1],Topic=[RequestDeliveryOrderByLocation],message:
// [{"Locations":[{"RackID":"01","RowID":"111","ColID":"11"}],"Topic":"RequestDeliveryOrderByLocation","id":1,"uid":74240}],
//3.10 RequestDeliveryOrderByLocation
RequestDeliveryOrderByLocation(requestID, Locations); RequestDeliveryOrderByLocation(requestID, Locations);
break; break;
case "RequestDeliveryOrderByReelCd": case "RequestDeliveryOrderByReelCd":
...@@ -524,7 +543,7 @@ public class TMSCommunicator implements WsMsgReceivedListener { ...@@ -524,7 +543,7 @@ public class TMSCommunicator implements WsMsgReceivedListener {
case "RequestDeliveryReserveByLocation": case "RequestDeliveryReserveByLocation":
log.info("onMsgReceived: requestID=[" + requestID + "],Topic=[" + topic + "],message:[" + message + "],"); log.info("onMsgReceived: requestID=[" + requestID + "],Topic=[" + topic + "],message:[" + message + "],");
Locations = getMapValue(msgMap, "Locations"); Locations = getTMSPosList(msgMap, "Locations");
// 3.16 ,RequestDeliveryReserveByLocation // 3.16 ,RequestDeliveryReserveByLocation
RequestDeliveryReserveByLocation(requestID, Locations); RequestDeliveryReserveByLocation(requestID, Locations);
break; break;
...@@ -601,6 +620,21 @@ public class TMSCommunicator implements WsMsgReceivedListener { ...@@ -601,6 +620,21 @@ public class TMSCommunicator implements WsMsgReceivedListener {
return null; return null;
} }
private static List<TMSPos> getTMSPosList(Map<String,Object> resultMap, String key ) throws ApiException {
List<TMSPos> results=new ArrayList<>();
if (key != null && !key.isEmpty()) {
Object value = resultMap.get(key);
if (value != null) {
List<Object> result=(List<Object>)value;
for (Object str :
result) {
TMSPos obj=TMSPos.ToBean((Map<String,Object>)str);
results.add(obj);
}
}
}
return results;
}
public void OrderProEndUpdateState(String requestCmd,int requestID, LiteOrder liteOrder){ public void OrderProEndUpdateState(String requestCmd,int requestID, LiteOrder liteOrder){
...@@ -929,8 +963,10 @@ public class TMSCommunicator implements WsMsgReceivedListener { ...@@ -929,8 +963,10 @@ public class TMSCommunicator implements WsMsgReceivedListener {
liteOrder = liteOrderCache.getLiteOrder(liteOrder.getOrderNo()); liteOrder = liteOrderCache.getLiteOrder(liteOrder.getOrderNo());
if (liteOrder != null) { if (liteOrder != null) {
List<StoragePos> lockPosList = storagePosManager.findLockPos(liteOrder.getOrderNo());
List<TMSPart> parts =tmsUtil.GetReserveList(requestCmd,liteOrder); //同步锁定物料状态
tmsUtil.SyncReelLockS(lockPosList);
List<TMSPart> parts =tmsUtil.GetReserveList(requestCmd,liteOrder,lockPosList);
ResponseDeliveryReserve(responseCmd, requestID, parts, liteOrder.getOrderNo(), ""); ResponseDeliveryReserve(responseCmd, requestID, parts, liteOrder.getOrderNo(), "");
...@@ -1004,6 +1040,8 @@ public class TMSCommunicator implements WsMsgReceivedListener { ...@@ -1004,6 +1040,8 @@ public class TMSCommunicator implements WsMsgReceivedListener {
posResultMap.put(pos.getPosName(), TMS_Code.CODE_2010);//准备出库 posResultMap.put(pos.getPosName(), TMS_Code.CODE_2010);//准备出库
log.info(requestCmd + " : pos=" + pos.getPosName() + ",锁定成功,code=" + TMS_Code.CODE_2010); log.info(requestCmd + " : pos=" + pos.getPosName() + ",锁定成功,code=" + TMS_Code.CODE_2010);
} }
//同步锁定物料状态
tmsUtil.SyncReelLockS(lockPosList);
} }
//返回消息 //返回消息
...@@ -1074,6 +1112,8 @@ public class TMSCommunicator implements WsMsgReceivedListener { ...@@ -1074,6 +1112,8 @@ public class TMSCommunicator implements WsMsgReceivedListener {
posResultMap.put(pos.getBarcode().getBarcode(), TMS_Code.CODE_2010);//准备出库 posResultMap.put(pos.getBarcode().getBarcode(), TMS_Code.CODE_2010);//准备出库
log.info(requestCmd + " : barcode=" + pos.getBarcode().getBarcode() + ",锁定成功,code=" + TMS_Code.CODE_2010); log.info(requestCmd + " : barcode=" + pos.getBarcode().getBarcode() + ",锁定成功,code=" + TMS_Code.CODE_2010);
} }
//同步锁定物料状态
tmsUtil.SyncReelLockS(lockPosList);
} }
//返回消息 //返回消息
...@@ -1217,22 +1257,6 @@ public class TMSCommunicator implements WsMsgReceivedListener { ...@@ -1217,22 +1257,6 @@ public class TMSCommunicator implements WsMsgReceivedListener {
public void ResponseDeliveryReserve(String topic, int requestID, List<TMSPart> Parts, String OrderCode,String ReserveCode) { public void ResponseDeliveryReserve(String topic, int requestID, List<TMSPart> Parts, String OrderCode,String ReserveCode) {
ResponseDeliveryOrder(topic,requestID,Parts,OrderCode,ReserveCode); ResponseDeliveryOrder(topic,requestID,Parts,OrderCode,ReserveCode);
// Map<String, Object> dataMap = new HashMap<>();
// dataMap.put("Topic", topic);
// dataMap.put("RequestID", requestID);
// List<Map<String, Object>> arrayList = new ArrayList<>();
// for (TMSPart Part : Parts) {
// arrayList.add(Part.getJson());
// }
//
// if(ObjectUtil.isEmpty(ReserveCode)){
// ReserveCode= OrderCode;
// }
//
// dataMap.put("PartList", arrayList);
// dataMap.put("OrderCode", OrderCode);
// dataMap.put("ReserveCode", ReserveCode);
// SendData(dataMap);
} }
/** /**
......
...@@ -22,7 +22,10 @@ public class TMSPartReelPos extends TMSPos implements Serializable { ...@@ -22,7 +22,10 @@ public class TMSPartReelPos extends TMSPos implements Serializable {
*/ */
private int flag = 0; private int flag = 0;
private int state = 0; /**
* 1=锁定,0=未锁定
*/
private int state=0;
//yyyy-MM-dd HH:mm:ss //yyyy-MM-dd HH:mm:ss
private String indate; private String indate;
...@@ -51,17 +54,18 @@ public class TMSPartReelPos extends TMSPos implements Serializable { ...@@ -51,17 +54,18 @@ public class TMSPartReelPos extends TMSPos implements Serializable {
map.put("Flag", getFlag()); map.put("Flag", getFlag());
map.put("Indate", getIndate()); map.put("Indate", getIndate());
map.put("Outdate", getOutdate()); map.put("Outdate", getOutdate());
map.put("State",getState());
return map; return map;
} }
public static TMSPartReelPos newBean(String pn,String barcode,int count,String cid,String posName,int flag,long inTime,long outTime) { public static TMSPartReelPos newBean(String pn,String barcode,int count,String cid,String posName,int flag,long inTime,long outTime,int reelS) {
TMSPartReelPos bean = new TMSPartReelPos(); TMSPartReelPos bean = new TMSPartReelPos();
bean.setPartName(pn); bean.setPartName(pn);
bean.setReelCode(barcode); bean.setReelCode(barcode);
bean.setCount(count); bean.setCount(count);
bean.setRackID(cid); bean.setRackID(cid);
bean.setFlag(flag); bean.setFlag(flag);
bean.setState(0); bean.setState(reelS);
bean.setPosName(posName); bean.setPosName(posName);
String format="yyyy-MM-dd HH:mm:ss"; String format="yyyy-MM-dd HH:mm:ss";
if (inTime > 0) { if (inTime > 0) {
......
...@@ -28,6 +28,31 @@ public class TMSPos implements Serializable { ...@@ -28,6 +28,31 @@ public class TMSPos implements Serializable {
jObject.put("ColID", ColID); jObject.put("ColID", ColID);
return jObject; return jObject;
} }
public static TMSPos ToBean(Map<String,Object> map) {
try {
TMSPos obj = new TMSPos();
obj.setRackID(getMapValue(map,"RackID"));
obj.setRowID(getMapValue(map,"RowID"));
obj.setColID(getMapValue(map,"ColID"));
return obj;
} catch (Exception ex) {
log.error("转换为TMSPos出错:" + ex.toString());
return null;
}
}
private static <T> T getMapValue(Map<String,Object> resultMap, String key ) {
if (key != null && !key.isEmpty()) {
Object value = resultMap.get(key);
if (value != null) {
return (T) value;
}
}
return null;
}
public String getPosName(){ public String getPosName(){
return getRowID()+"_"+getColID(); return getRowID()+"_"+getColID();
} }
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!