Commit b2fef165 zshaohui

增加线体出到ng口

1 个父辈 045487b8
......@@ -667,6 +667,7 @@ public class BarcodeRule {
//如果是立臻的,则取-前面的
if (partNumber.indexOf("-") != -1){
partNumber = partNumber.substring(0,partNumber.lastIndexOf("-"));
partNumber = partNumber.replaceAll("\\r\\n","");
}
b.setPartNumber(partNumber);
b.setAmount(quantity);
......@@ -895,11 +896,13 @@ public class BarcodeRule {
codeStr = "=1x1=806-33328-1000015|220812A-220812|6000|M8010000153322U50F|EVERWIN";
rule = "RI[0:6:2]PN[-1:2:-1]";
codeStr = "353S03035-620140|F10-9FHLF6-2302|15000|M35620140022302AF|QORVO|";
rule = "PN[-1:50:-1]PROVIDERNUMBER[-1:50:-1]|BATCH[-1:50:-1]DATECODE[-1:50:-1]|QTY|RI|SP|6";
codeStr = "132S00014-017425|FF5602FF5-2525|20000|L13017425302500GF5C|MURATA|";
rule = "PN[-1:50:-1]PROVIDERNUMBER[-1:50:-1]|BATCH[-1:50:-1]DATECODE[-1:50:-1]|QTY|RI|SP|MEMO";
/* codeStr = "=7X8=CS0010-1";
rule = "RI[0:6:2]PN[-1:2:-1]";*/
codeStr = "=7X8=CS0010-1";
rule = "RI[0:6:2]PN[-1:2:-1]";
BarcodeRule br = BarcodeRule.newRule(rule);
Barcode b = br.toCodeBean(codeStr).getBarcode();
......
......@@ -27,6 +27,7 @@ import com.neotel.smfcore.core.storage.enums.CHECKOUT_TYPE;
import com.neotel.smfcore.core.storage.service.manager.IStoragePosManager;
import com.neotel.smfcore.core.storage.service.po.Storage;
import com.neotel.smfcore.core.storage.service.po.StoragePos;
import com.neotel.smfcore.core.system.rest.bean.LineConfig;
import com.neotel.smfcore.core.system.service.po.DataLog;
import com.neotel.smfcore.core.system.util.TaskService;
import com.neotel.smfcore.custom.lizhen.LizhenApi;
......@@ -475,18 +476,35 @@ public class LiteOrderCache {
//获取是否有出料口
String exportStr = "";
if (StringUtils.isNotBlank(export)){
exportStr = export;
} else {
boolean specialOrder = false;
if (cacheOrder.isMaiZheng() || cacheOrder.isRobot()){
specialOrder = true;
//判断是否需要出到ng口
boolean dischargeToEO = false;
List<LineConfig> lineConfigList = dataCache.getCache(Constants.CACHE_lineConfigList);
if (lineConfigList == null) {
lineConfigList = new ArrayList<>();
}
for (LineConfig lineConfig : lineConfigList) {
if (cacheOrder.getLine().equals(lineConfig.getLine())){
if (lineConfig.isDischargeToEO()){
log.info(orderNo+"对应的线体为:"+cacheOrder.getLine()+",出到紧急出料口");
dischargeToEO = true;
break;
}
}
exportStr = StorageExportUtil.getExportByOrderNo(cacheOrder.getOrderNo(),true,specialOrder,cacheOrder.getRecvIndex(),cacheOrder.getLine());
}
if (StringUtils.isBlank(exportStr)) {
//log.info(cacheOrder.getOrderNo() + "没有空闲的出料口");
return "没有空闲的出料口";
if (!dischargeToEO) {
if (StringUtils.isNotBlank(export)) {
exportStr = export;
} else {
boolean specialOrder = false;
if (cacheOrder.isMaiZheng() || cacheOrder.isRobot()) {
specialOrder = true;
}
exportStr = StorageExportUtil.getExportByOrderNo(cacheOrder.getOrderNo(), true, specialOrder, cacheOrder.getRecvIndex(), cacheOrder.getLine());
}
if (StringUtils.isBlank(exportStr)) {
return "没有空闲的出料口";
}
}
log.info("开始执行工单[" + orderNo + "] outBom=" + outBom);
......
......@@ -6,4 +6,5 @@ import lombok.Data;
public class LineConfig {
private String line;
private int minute;
private boolean dischargeToEO = false;
}
......@@ -608,6 +608,7 @@ public class LizhenApi extends DefaultSmfApiListener {
dataMap.put("wo", "");
dataMap.put("reelno", task.getBarcode());
dataMap.put("ipn", task.getPartNumber());
dataMap.put("reelid", "");
Barcode barcode = barcodeManager.findByBarcode(task.getBarcode());
if (barcode != null) {
dataMap.put("qty", barcode.getAmount());
......@@ -616,9 +617,11 @@ public class LizhenApi extends DefaultSmfApiListener {
dataMap.put("vendor", barcode.getProvider());
dataMap.put("batch", "");
dataMap.put("vendorcode", barcode.getProviderNumber());
if (StringUtils.isNotEmpty(barcode.getMemo())) {
dataMap.put("reelid", barcode.getMemo());
}
}
dataMap.put("werks", "W339");
dataMap.put("reelid", "");
String param = JsonUtil.toJsonStr(Arrays.asList(dataMap));
log.info(barcode.getBarcode() + "保存物料入参为:" + param + "地址为:" + save2DReelInfoUrl);
try {
......
......@@ -249,13 +249,13 @@ public class InnerBoxRestController {
if (liteOrder != null && liteOrderItem != null) {
resultMap.put("barcode", dataLog.getBarcode());
resultMap.put("pn", dataLog.getPartNumber());
resultMap.put("station", liteOrderItem.getTableNo());
resultMap.put("station", liteOrderItem.getMachineName());
resultMap.put("side", liteOrderItem.getSide());
resultMap.put("hSerial", liteOrder.getOrderNo());
resultMap.put("line", liteOrder.getLine());
resultMap.put("slot", liteOrderItem.getSlot());
resultMap.put("subSlot", liteOrderItem.getSubSlot());
resultMap.put("subSlot", liteOrderItem.getSubSlot());
//resultMap.put("subSlot", liteOrderItem.getSubSlot());
resultMap.put("differenceReq", liteOrderItem.isDifferenceReq());
}
break;
......@@ -466,6 +466,9 @@ public class InnerBoxRestController {
log.info(dataLog.getBarcode() + "获取出料口信息为:" + exportStr);
resultMap.put("export", exportStr);
}
} else {
log.info(dataLog.getBarcode()+"对应的工单号为:"+dataLog.getSourceName()+",出到紧急出料口");
resultMap.put("export", "");
}
} else {
String export = StorageExportUtil.getExportByOrderNo("",false,false,"","");
......
......@@ -114,6 +114,7 @@ public class PrinterRestController {
private void finishTask(DataLog task) {
task.setStatus(OP_STATUS.FINISHED.name());
taskService.removeQueueTask(task);
taskService.updateFinishedTask(task);
taskService.removeFinishedTask(task);
}
......@@ -129,7 +130,7 @@ public class PrinterRestController {
if (liteOrderItem != null) {
resultMap.put("barcode", dataLog.getBarcode());
resultMap.put("pn", dataLog.getPartNumber());
resultMap.put("station", liteOrderItem.getTableNo());
resultMap.put("station", liteOrderItem.getMachineName());
resultMap.put("side", liteOrderItem.getSide());
resultMap.put("hSerial", liteOrder.getOrderNo());
resultMap.put("line", liteOrder.getLine());
......
......@@ -4,7 +4,7 @@ server:
api:
name: Lizhen
inCheckUrl: http://10.68.24.25:8001/Npm/WmsCheckReelfob
batchCheckReel: http://10.68.30.22:8082/api/mes/GetInDat
batchCheckReel:
outNotifyUrl: 1
outNotifyUrlPK: #http://172.30.170.148:8001/Sct/SaveReelInfo #PK发料保存(外仓配置)
inNotifyUrl: 1 #保存物料(内仓配置)
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!