Commit 34fa0b27 LN

1.ResponseUpdateDeliveryReserveState:2016也需要取消工单,返回的时候整体的code需要返回2016

2.TMSPart 增加 生成日期,过期日期
1 个父辈 e283c5a7
...@@ -335,13 +335,18 @@ public class NLShelfHandler extends BaseDeviceHandler { ...@@ -335,13 +335,18 @@ public class NLShelfHandler extends BaseDeviceHandler {
return ResultBean.newOkResult("smfcore.shelf.msg.tipScanReel", "库位[" + pos.getPosName() + "]操作成功,请扫描要放入的物料", new String[]{pos.getPosName()},pos.getPosName()); return ResultBean.newOkResult("smfcore.shelf.msg.tipScanReel", "库位[" + pos.getPosName() + "]操作成功,请扫描要放入的物料", new String[]{pos.getPosName()},pos.getPosName());
} }
} else { } else {
//先判断库存中有没有此条码 ResultBean resultBean;
ResultBean resultBean = outProcess(storageId,code,sourceId, loginUser,request); try {
if(resultBean != null){ //先判断库存中有没有此条码
return resultBean; resultBean = outProcess(storageId, code, sourceId, loginUser, request);
if(resultBean!=null) {
return resultBean;
}
} catch (Exception exa) {
log.error(exa.toString());
} }
resultBean = putInProcess(groupId, storageId, code, token, loginUser); resultBean = putInProcess(groupId, storageId, code, token, loginUser);
if(resultBean != null){ if (resultBean != null) {
return resultBean; return resultBean;
} }
} }
......
...@@ -2,10 +2,13 @@ package com.neotel.smfcore.custom.hanwha.handler; ...@@ -2,10 +2,13 @@ package com.neotel.smfcore.custom.hanwha.handler;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.neotel.smfcore.common.exception.ValidateException; import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.common.utils.DateUtil;
import com.neotel.smfcore.common.utils.JsonUtil; import com.neotel.smfcore.common.utils.JsonUtil;
import com.neotel.smfcore.core.api.bean.CodeValidateParam; import com.neotel.smfcore.core.api.bean.CodeValidateParam;
import com.neotel.smfcore.core.api.listener.BaseSmfApiListener; import com.neotel.smfcore.core.api.listener.BaseSmfApiListener;
import com.neotel.smfcore.core.barcode.service.manager.IComponentManager;
import com.neotel.smfcore.core.barcode.service.po.Barcode; import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.barcode.service.po.Component;
import com.neotel.smfcore.core.device.bean.StatusBean; import com.neotel.smfcore.core.device.bean.StatusBean;
import com.neotel.smfcore.core.order.service.po.LiteOrder; import com.neotel.smfcore.core.order.service.po.LiteOrder;
import com.neotel.smfcore.core.storage.service.manager.IStoragePosManager; import com.neotel.smfcore.core.storage.service.manager.IStoragePosManager;
...@@ -51,6 +54,9 @@ public class HanwhaApiHandler extends BaseSmfApiListener { ...@@ -51,6 +54,9 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
@Autowired @Autowired
private TMSCommunicator tmsCommunicator; private TMSCommunicator tmsCommunicator;
@Autowired
private IComponentManager componentManager;
@Override @Override
public boolean isForThisApi(String apiName) { public boolean isForThisApi(String apiName) {
return apiName != null && apiName.equalsIgnoreCase("hanwha") && TMSCommunicator.isEnable(); return apiName != null && apiName.equalsIgnoreCase("hanwha") && TMSCommunicator.isEnable();
...@@ -81,13 +87,44 @@ public class HanwhaApiHandler extends BaseSmfApiListener { ...@@ -81,13 +87,44 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
} }
int width = 7; int width = 7;
int height = 8; int height = 8;
Barcode barcode = new Barcode();
Barcode barcode = barcodeManager.findByBarcode(code);
if (barcode == null) {
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());
if (proDate != null) {
barcode.setProduceDate(proDate);
}
Date expDate = getDate(result.get(0).getExpiryDate());
if (expDate != null) {
barcode.setExpireDate(expDate);
}
//判断Pn是否存在
Component component = componentManager.findOneByPN(pn);
if (component != null) {
log.info("未找到PN[" + pn + "] 新建一个");
//找到了,复制一个
Component newComponent = new Component();
newComponent.setProvider("");
newComponent.setPlateSize(width);
newComponent.setHeight(height);
newComponent.setPartNumber(component.getPartNumber());
newComponent.setAmount(count);
newComponent.setName(component.getPartNumber());
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;
...@@ -95,36 +132,46 @@ public class HanwhaApiHandler extends BaseSmfApiListener { ...@@ -95,36 +132,46 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
return null; return null;
} }
private Date getDate(String str) {
try {
if (ObjectUtil.isNotEmpty(str)) {
return DateUtil.toDate(str, "yyyy-MM-dd HH:mm:ss");
}
} catch (Exception ex) {
}
return null;
}
@Override @Override
public Barcode canPutInAfterResolve(String inCheckUrl, CodeValidateParam params, Barcode barcode) throws ValidateException { public Barcode canPutInAfterResolve(String inCheckUrl, CodeValidateParam params, Barcode barcode) throws ValidateException {
log.info("barcode[" + barcode.getBarcode() + "] 准备入库,调用 RequestGetPartInfo"); log.info("barcode[" + barcode.getBarcode() + "] 准备入库,调用 RequestGetPartInfo");
List<TMSPart> result = tmsApis.RequestGetPartInfo(0, barcode.getFullCode()); // List<TMSPart> result = tmsApis.RequestGetPartInfo(0, barcode.getFullCode());
if (result.size() > 0) { // if (result.size() > 0) {
String pn = result.get(0).getPartName(); // String pn = result.get(0).getPartName();
String code = result.get(0).getReelCode(); // String code = result.get(0).getReelCode();
// 2024-05-23 14:15:45.749 INFO [TMSApis.java:473] - PostJson, url=[http://192.168.101.96:8082/webservice/RequestGetPartInfo], //// 2024-05-23 14:15:45.749 INFO [TMSApis.java:473] - PostJson, url=[http://192.168.101.96:8082/webservice/RequestGetPartInfo],
// send=[{"data":{"RequestID":0,"ReelCode":"20180710184319-001","Indate":"2024-05-23 14:15:45"}}], // // send=[{"data":{"RequestID":0,"ReelCode":"20180710184319-001","Indate":"2024-05-23 14:15:45"}}],
// response=[{"RequestID":0,"Data":[{"PartName":"Z2203061201A","ReelCode":"20180710184319-001","Count":5000}],"error":null}] // // response=[{"RequestID":0,"Data":[{"PartName":"Z2203061201A","ReelCode":"20180710184319-001","Count":5000}],"error":null}]
//
boolean needS = false; // boolean needS = false;
if (ObjectUtil.isNotEmpty(pn)) { // if (ObjectUtil.isNotEmpty(pn)) {
barcode.setPartNumber(pn); // barcode.setPartNumber(pn);
needS = true; // needS = true;
} // }
if (ObjectUtil.isNotEmpty(code)) { // if (ObjectUtil.isNotEmpty(code)) {
barcode.setBarcode(code); // barcode.setBarcode(code);
needS = true; // needS = true;
} // }
int count = result.get(0).getResponseCount(); // int count = result.get(0).getResponseCount();
if (count > 0) { // if (count > 0) {
barcode.setAmount(count); // barcode.setAmount(count);
needS = true; // needS = true;
} // }
if (needS) { // if (needS) {
log.info("barcode[" + barcode.getBarcode() + "] 准备入库,调用 RequestGetPartInfo ,更改pn=[" + barcode.getPartNumber() + "],code=[" + barcode.getBarcode() + "],count=[" + barcode.getAmount() + "]"); // log.info("barcode[" + barcode.getBarcode() + "] 准备入库,调用 RequestGetPartInfo ,更改pn=[" + barcode.getPartNumber() + "],code=[" + barcode.getBarcode() + "],count=[" + barcode.getAmount() + "]");
barcodeManager.saveBarcode(barcode); // barcodeManager.saveBarcode(barcode);
} // }
} // }
return barcode; return barcode;
} }
...@@ -267,7 +314,7 @@ public class HanwhaApiHandler extends BaseSmfApiListener { ...@@ -267,7 +314,7 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
//离线只发状态改变 //离线只发状态改变
//上线时只发状态改变,和reel同步,暂不发Rack //上线时只发状态改变,和reel同步,暂不发Rack
if (storageIds.size() > 0) { if (storageIds.size() > 0) {
tmsApis.RequestSyncRackStatusInfo(0, SyncRackStatusDatas); // tmsApis.RequestSyncRackStatusInfo(0, SyncRackStatusDatas);
} }
if(needSyncDataList.size()>0){ if(needSyncDataList.size()>0){
for (Storage st : for (Storage st :
......
...@@ -45,6 +45,9 @@ public class TMSApis { ...@@ -45,6 +45,9 @@ public class TMSApis {
item.setReelCode(getMapValue(map, "ReelCode")); item.setReelCode(getMapValue(map, "ReelCode"));
item.setResponseCount((Integer)getMapValue(map, "Count")); item.setResponseCount((Integer)getMapValue(map, "Count"));
item.setRequestCount((Integer)getMapValue(map, "Count")); item.setRequestCount((Integer)getMapValue(map, "Count"));
item.setProductionDate(getMapValue(map,"ProductionDate"));
item.setExpiryDate(getMapValue(map,"ExpiryDate"));
item.setWarehousingDate(getMapValue(map,"WarehousingDate"));
list.add(item); list.add(item);
......
...@@ -1001,6 +1001,9 @@ public class TMSCommunicator implements WsMsgReceivedListener { ...@@ -1001,6 +1001,9 @@ public class TMSCommunicator implements WsMsgReceivedListener {
private void RequestUpdateDeliveryReserveState(int requestID, List<String> reserveCodes, List<Integer> resultCodes) { private void RequestUpdateDeliveryReserveState(int requestID, List<String> reserveCodes, List<Integer> resultCodes) {
//3.15 ResponseUpdateDeliveryReserveState //3.15 ResponseUpdateDeliveryReserveState
//2016也需要取消工单,返回的时候整体的code需要返回2016
List<TMSReserve> ReserveList = new ArrayList<>(); List<TMSReserve> ReserveList = new ArrayList<>();
int state = 0; int state = 0;
try { try {
...@@ -1029,7 +1032,7 @@ public class TMSCommunicator implements WsMsgReceivedListener { ...@@ -1029,7 +1032,7 @@ public class TMSCommunicator implements WsMsgReceivedListener {
tmsReserve.setResultCode(resultCode); tmsReserve.setResultCode(resultCode);
tmsReserve.setPartList(new ArrayList<>()); tmsReserve.setPartList(new ArrayList<>());
List<TMSPart> tmsParts = new ArrayList<>(); List<TMSPart> tmsParts = new ArrayList<>();
if (resultCode.equals(TMS_Code.CODE_2012)) { if (resultCode.equals(TMS_Code.CODE_2012)||resultCode.equals(TMS_Code.CODE_2016)) {
tmsReserve.setResultCode(TMS_Code.CODE_2014); tmsReserve.setResultCode(TMS_Code.CODE_2014);
LiteOrder order = liteOrderCache.getLiteOrder(reserveCode); LiteOrder order = liteOrderCache.getLiteOrder(reserveCode);
if (order != null) { if (order != null) {
...@@ -1076,7 +1079,11 @@ public class TMSCommunicator implements WsMsgReceivedListener { ...@@ -1076,7 +1079,11 @@ public class TMSCommunicator implements WsMsgReceivedListener {
//判断工单是否可以取消, //判断工单是否可以取消,
liteOrderCache.closeOrder(order.getOrderNo()); liteOrderCache.closeOrder(order.getOrderNo());
if (order.isClosed()) { if (order.isClosed()) {
tmsReserve.setResultCode(TMS_Code.CODE_2012);//取消成功 if ( resultCode.equals(TMS_Code.CODE_2016)) {
tmsReserve.setResultCode(TMS_Code.CODE_2016);//取消成功
}else {
tmsReserve.setResultCode(TMS_Code.CODE_2012);//取消成功
}
}else{ }else{
order.addAppendDate("cancel",""); order.addAppendDate("cancel","");
liteOrderManager.save(order); liteOrderManager.save(order);
......
...@@ -24,6 +24,14 @@ public class TMSPart extends TMSPos implements Serializable { ...@@ -24,6 +24,14 @@ public class TMSPart extends TMSPos implements Serializable {
private int responseCount = 0; private int responseCount = 0;
private String resultCode = ""; private String resultCode = "";
public String ProductionDate ="";
public String ExpiryDate = "";
public String WarehousingDate = "";
public static TMSPart newBean(int index, String pn,String barcode,int requestCount,int responseCount,String resultCode,String cid,String posName ) { public static TMSPart newBean(int index, String pn,String barcode,int requestCount,int responseCount,String resultCode,String cid,String posName ) {
TMSPart bean = new TMSPart(); TMSPart bean = new TMSPart();
bean.setIndex(index); bean.setIndex(index);
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!