Commit 0c7ced91 LN

韩华接口调试修改

1 个父辈 c4bea40f
...@@ -706,6 +706,9 @@ public class LiteOrderCache { ...@@ -706,6 +706,9 @@ public class LiteOrderCache {
List<DataLog> allTask=taskService.getAllTasks(); List<DataLog> allTask=taskService.getAllTasks();
for (DataLog task:allTask for (DataLog task:allTask
) { ) {
if(task.isFinished()||task.isCancel()){
continue;
}
if (OP.CHECKOUT == task.getType()&&(!task.isEnd())) { if (OP.CHECKOUT == task.getType()&&(!task.isEnd())) {
//更新工单状态 //更新工单状态
String taskSourceName = task.getSourceName(); String taskSourceName = task.getSourceName();
......
...@@ -9,9 +9,7 @@ import org.springframework.data.annotation.Transient; ...@@ -9,9 +9,7 @@ import org.springframework.data.annotation.Transient;
import org.springframework.data.mongodb.core.mapping.Document; import org.springframework.data.mongodb.core.mapping.Document;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList; import java.util.*;
import java.util.Date;
import java.util.List;
@Data @Data
@Document @Document
...@@ -204,5 +202,22 @@ public class LiteOrder extends BasePo implements Serializable { ...@@ -204,5 +202,22 @@ public class LiteOrder extends BasePo implements Serializable {
} }
orderItems.add(item); orderItems.add(item);
} }
/**
* 自定义的附加字段,key=字段名,value=值
*/
public Map<String,String> appendData = new HashMap<>();
public void addAppendDate(String key ,String value){
if(appendData==null){
appendData=new HashMap<>();
}
appendData.put(key,value);
}
public String getAppend(String key) {
if (appendData != null && appendData.containsKey(key)) {
return appendData.get(key);
}
return "";
}
} }
...@@ -133,7 +133,7 @@ public class HanwhaApiHandler extends BaseSmfApiListener { ...@@ -133,7 +133,7 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
if (!task.isPutInTask()) { if (!task.isPutInTask()) {
return; return;
} }
if (task.isFinished()) { 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);
list.add(bean); list.add(bean);
...@@ -148,7 +148,7 @@ public class HanwhaApiHandler extends BaseSmfApiListener { ...@@ -148,7 +148,7 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
if (!task.isCheckOutTask()) { if (!task.isCheckOutTask()) {
return; return;
} }
if (task.isFinished()) { 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());
list.add(bean); list.add(bean);
...@@ -168,10 +168,17 @@ public class HanwhaApiHandler extends BaseSmfApiListener { ...@@ -168,10 +168,17 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
if (liteOrder.isClosed()) { if (liteOrder.isClosed()) {
TMSReserve tmsReserve = tmsCommunicator.GetOrderInfo(liteOrder); String isCancel=liteOrder.getAppend("cancel");
List<TMSReserve> list = new ArrayList<>(); if(isCancel.equals("true")){
list.add(tmsReserve); log.info("工单取消处理中,此处不通知TMS");
tmsCommunicator.ResponseUpdateDeliveryReserveState(0, list, 0); }else{
log.info("工单关闭,通知TMS");
TMSReserve tmsReserve = tmsCommunicator.GetOrderInfo(liteOrder);
List<TMSReserve> list = new ArrayList<>();
list.add(tmsReserve);
tmsCommunicator.ResponseUpdateDeliveryReserveState(0, list, 0);
}
} }
} }
......
...@@ -107,7 +107,19 @@ public class TMSCommunicator implements WsMsgReceivedListener { ...@@ -107,7 +107,19 @@ public class TMSCommunicator implements WsMsgReceivedListener {
String apiName = dataCache.getConfigCache("api.name", ""); String apiName = dataCache.getConfigCache("api.name", "");
if (apiName != null && apiName.equalsIgnoreCase("hanwha")) { if (apiName != null && apiName.equalsIgnoreCase("hanwha")) {
updateServerInfo(host, webPort, apiPort); updateServerInfo(host, webPort, apiPort);
start(); Thread closeTask = new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(20000);
start();
}catch (Exception e){
log.error("自动关闭库位灯出错:" + e.getMessage());
}
}
});
closeTask.start();
// start();
} }
} }
} }
...@@ -270,7 +282,7 @@ public class TMSCommunicator implements WsMsgReceivedListener { ...@@ -270,7 +282,7 @@ public class TMSCommunicator implements WsMsgReceivedListener {
allStorage.values()) { allStorage.values()) {
List<TMSPartReelPos> list = new ArrayList<>(); List<TMSPartReelPos> list = new ArrayList<>();
List<StoragePos> allPos = storagePosManager.findByStorage(storage.getId()); List<StoragePos> allPos = storagePosManager.findByStorage(storage.getId());
if (storage.isNLShelf() ) { if (storage.isNLShelf() || storage.isMimoG2() ) {
for (StoragePos pos : for (StoragePos pos :
allPos) { allPos) {
...@@ -322,6 +334,7 @@ public class TMSCommunicator implements WsMsgReceivedListener { ...@@ -322,6 +334,7 @@ public class TMSCommunicator implements WsMsgReceivedListener {
if (storage.isNLShelf() || storage.isNLPShelf() || storage.isNLMShelf() || storage.isShelf()) { if (storage.isNLShelf() || storage.isNLPShelf() || storage.isNLMShelf() || storage.isShelf()) {
type = "Rack"; type = "Rack";
} }
int status = -1; int status = -1;
if (statusList != null && statusList.length > i) { if (statusList != null && statusList.length > i) {
status = statusList[i]; status = statusList[i];
...@@ -379,10 +392,13 @@ public class TMSCommunicator implements WsMsgReceivedListener { ...@@ -379,10 +392,13 @@ public class TMSCommunicator implements WsMsgReceivedListener {
List<LiteOrder> orders = liteOrderManager.findByQuery(query); List<LiteOrder> orders = liteOrderManager.findByQuery(query);
for (LiteOrder order:orders for (LiteOrder order:orders
) { ) {
tmsReserves.add(GetOrderInfo(order)); TMSReserve tmsReserve=GetOrderInfo(order);
if(tmsReserve!=null&&tmsReserve.getPartList().size()>0){
tmsReserves.add(tmsReserve);
}
} }
ResponseUpdateDeliveryReserveState(0, tmsReserves,0 ); ResponseUpdateDeliveryReserveState(0, tmsReserves,1 );
} }
...@@ -420,7 +436,7 @@ public class TMSCommunicator implements WsMsgReceivedListener { ...@@ -420,7 +436,7 @@ public class TMSCommunicator implements WsMsgReceivedListener {
} else { } else {
logCode = TMS_Code.CODE_2013;//已完成 logCode = TMS_Code.CODE_2013;//已完成
} }
TMSPart part = TMSPart.newBean(task.getPartNumber(), task.getBarcode(), task.getNum(), task.getNum(), logCode, task.getCid(), task.getPosName()); TMSPart part = TMSPart.newBean(tmsParts.size(),task.getPartNumber(), task.getBarcode(), task.getNum(), task.getNum(), logCode, task.getCid(), task.getPosName());
tmsParts.add(part); tmsParts.add(part);
} }
} }
...@@ -649,7 +665,7 @@ public class TMSCommunicator implements WsMsgReceivedListener { ...@@ -649,7 +665,7 @@ public class TMSCommunicator implements WsMsgReceivedListener {
if (curroNum > item.getNeedNum()) { if (curroNum > item.getNeedNum()) {
requestNum = task.getNum() - (curroNum - item.getNeedNum()); requestNum = task.getNum() - (curroNum - item.getNeedNum());
} }
TMSPart p = TMSPart.newBean(task.getPartNumber(), task.getBarcode(), requestNum, task.getNum(), TMS_Code.CODE_2010, task.getCid(), task.getPosName()); TMSPart p = TMSPart.newBean(parts.size(),task.getPartNumber(), task.getBarcode(), requestNum, task.getNum(), TMS_Code.CODE_2010, task.getCid(), task.getPosName());
log.info("RequestDeliveryOrder pn="+task.getPartNumber()+",出库成功:code="+TMS_Code.CODE_2010+",posName="+task.getPosName()+",barcode="+task.getBarcode()); log.info("RequestDeliveryOrder pn="+task.getPartNumber()+",出库成功:code="+TMS_Code.CODE_2010+",posName="+task.getPosName()+",barcode="+task.getBarcode());
parts.add(p); parts.add(p);
} }
...@@ -661,11 +677,11 @@ public class TMSCommunicator implements WsMsgReceivedListener { ...@@ -661,11 +677,11 @@ public class TMSCommunicator implements WsMsgReceivedListener {
String shortValue=item.getAppend("shortage"); String shortValue=item.getAppend("shortage");
if(ObjectUtil.isNotEmpty(shortValue)&& shortValue.equals("true")){ if(ObjectUtil.isNotEmpty(shortValue)&& shortValue.equals("true")){
//未出库 //未出库
TMSPart p = TMSPart.newBean(item.getPn(), "", item.getNeedNum(), item.getOutNum(), TMS_Code.CODE_2002, "", ""); TMSPart p = TMSPart.newBean(parts.size(),item.getPn(), "", item.getNeedNum(), item.getOutNum(), TMS_Code.CODE_2002, "", "");
log.info("RequestDeliveryOrder pn="+item.getPn()+",出库失败缺料:code="+TMS_Code.CODE_2002); log.info("RequestDeliveryOrder pn="+item.getPn()+",出库失败缺料:code="+TMS_Code.CODE_2002);
parts.add(p); parts.add(p);
}else{ }else{
TMSPart p = TMSPart.newBean(item.getPn(), "", item.getNeedNum(), item.getOutNum(), TMS_Code.CODE_2010, "", ""); TMSPart p = TMSPart.newBean(parts.size(),item.getPn(), "", item.getNeedNum(), item.getOutNum(), TMS_Code.CODE_2010, "", "");
log.info("RequestDeliveryOrder pn="+item.getPn()+",未出库成功:code="+TMS_Code.CODE_2010); log.info("RequestDeliveryOrder pn="+item.getPn()+",未出库成功:code="+TMS_Code.CODE_2010);
parts.add(p); parts.add(p);
} }
...@@ -673,6 +689,10 @@ public class TMSCommunicator implements WsMsgReceivedListener { ...@@ -673,6 +689,10 @@ public class TMSCommunicator implements WsMsgReceivedListener {
} }
} }
// TMSPart part = TMSPart.newBean("PN1", "Barcode1", 999, 999, TMS_Code.CODE_2002, "", "");
// parts.add(part);
ResponseDeliveryOrder(requestID, parts, liteOrder.getOrderNo()); ResponseDeliveryOrder(requestID, parts, liteOrder.getOrderNo());
...@@ -861,7 +881,7 @@ public class TMSCommunicator implements WsMsgReceivedListener { ...@@ -861,7 +881,7 @@ public class TMSCommunicator implements WsMsgReceivedListener {
List<TMSReserve> ReserveList = new ArrayList<>(); List<TMSReserve> ReserveList = new ArrayList<>();
int state = 0; int state = 0;
try { try {
log.info("RequestUpdateDeliveryReserveState : reserveCodes="+JsonUtil.toJsonStr(reserveCodes)+",resultCodes="+JsonUtil.toJsonStr(resultCodes)+" 返回结果"); log.info("RequestUpdateDeliveryReserveState : reserveCodes="+JsonUtil.toJsonStr(reserveCodes)+",resultCodes="+JsonUtil.toJsonStr(resultCodes)+" ");
if(reserveCodes!=null&&resultCodes!=null&&reserveCodes.size()==resultCodes.size()) { if(reserveCodes!=null&&resultCodes!=null&&reserveCodes.size()==resultCodes.size()) {
Collection<DataLog> dataLogCollections=taskService.getQueueTasks(); Collection<DataLog> dataLogCollections=taskService.getQueueTasks();
...@@ -890,13 +910,20 @@ public class TMSCommunicator implements WsMsgReceivedListener { ...@@ -890,13 +910,20 @@ public class TMSCommunicator implements WsMsgReceivedListener {
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) {
if (order.isOutBom() || order.isOutTails() || order.isOutOne()) { if (order.isOutBom() || order.isOutTails() || order.isOutOne()) {
log.error("ProcessOrder 准备取消工单:" + reserveCode + ",未开始或已结束"); log.info("ProcessOrder 准备取消工单:" + reserveCode + ",设置取消标记");
//查找所有任务看是否能取消
Collection<DataLog> dataLogCollections = taskService.getQueueTasks(); order.addAppendDate("cancel","true");
liteOrderManager.save(order);
liteOrderCache.addOrderToMap(order);
//查找工单的所有任务
Criteria c = Criteria.where("sourceName").is(order.getOrderNo()).and("type").is(2);
List<DataLog> dataLogs = dataLogManager.findByQuery(new Query(c));
for (DataLog task : for (DataLog task :
dataLogCollections) { dataLogs) {
//是工单出库任务 //是工单出库任务
if (task.isCheckOutTask() && task.getSourceName().equals(order.getOrderNo())) { if (task.isCheckOutTask() && task.getSourceName().equals(order.getOrderNo())) {
boolean cancelResult = false; boolean cancelResult = false;
...@@ -917,17 +944,23 @@ public class TMSCommunicator implements WsMsgReceivedListener { ...@@ -917,17 +944,23 @@ public class TMSCommunicator implements WsMsgReceivedListener {
} }
log.info("RequestUpdateDeliveryReserveState 取消出库任务,工单:" + order.getOrderNo() + ", barcode:" + task.getBarcode() + ", taskID:" + task.getId() + "取消结果:" + cancelResult); log.info("RequestUpdateDeliveryReserveState 取消出库任务,工单:" + order.getOrderNo() + ", barcode:" + task.getBarcode() + ", taskID:" + task.getId() + "取消结果:" + cancelResult);
TMSPart part = TMSPart.newBean(task.getPartNumber(), task.getBarcode(), task.getNum(), task.getNum(), logCode, task.getCid(), task.getPosName()); TMSPart part = TMSPart.newBean(tmsParts.size(), task.getPartNumber(), task.getBarcode(), task.getNum(), task.getNum(), logCode, task.getCid(), task.getPosName());
tmsParts.add(part); tmsParts.add(part);
} }
} }
//判断工单是否可以取消, //判断工单是否可以取消,
String res = liteOrderCache.closeOrder(order.getOrderNo()); liteOrderCache.closeOrder(order.getOrderNo());
if (res.equals("smfcore.order.close.success")) { if (order.isClosed()) {
tmsReserve.setResultCode(TMS_Code.CODE_2013);//取消成功 tmsReserve.setResultCode(TMS_Code.CODE_2012);//取消成功
}else{
order.addAppendDate("cancel","");
liteOrderManager.save(order);
liteOrderCache.addOrderToMap(order);
log.info("ProcessOrder 取消工单失败,清空取消标记 ");
} }
} else { } else {
log.error("ProcessOrder 无法取消工单:" + reserveCode + ",未开始或已结束"); log.error("ProcessOrder 无法取消工单:" + reserveCode + ",未开始或已结束");
} }
......
...@@ -24,8 +24,9 @@ public class TMSPart extends TMSPos implements Serializable { ...@@ -24,8 +24,9 @@ public class TMSPart extends TMSPos implements Serializable {
private int responseCount = 0; private int responseCount = 0;
private String resultCode = ""; private String resultCode = "";
public static TMSPart newBean(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.setPartName(pn); bean.setPartName(pn);
bean.setReelCode(barcode); bean.setReelCode(barcode);
bean.setRequestCount(requestCount); bean.setRequestCount(requestCount);
......
...@@ -59,6 +59,9 @@ public class TMSPos implements Serializable { ...@@ -59,6 +59,9 @@ public class TMSPos implements Serializable {
if (posArray.length == 3) { if (posArray.length == 3) {
rowId = Convert.toInt(posArray[1]) + ""; rowId = Convert.toInt(posArray[1]) + "";
colId = Convert.toInt(posArray[2]) + ""; colId = Convert.toInt(posArray[2]) + "";
}else if(posArray.length==4){
rowId = Convert.toInt(posArray[1]+posArray[2]) + "";
colId = Convert.toInt(posArray[3]) + "";
} }
} catch (Exception ex) { } catch (Exception ex) {
log.error("解析出错:" + ex.toString()); log.error("解析出错:" + ex.toString());
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!