Commit a82eaf3c sunke

大陆料加接口修改

MIMO料仓优先出库任务BUG
1 个父辈 c7b4efd6
......@@ -118,7 +118,7 @@ public class BarcodeManagerImpl implements IBarcodeManager {
Component component = componentManager.findByPartNumberAndProvider(resources.getPartNumber(), resources.getProvider());
if(component == null){
//未找到对应供应商的物料,如果有无供应商的物料,更改并使用
log.info("找到供应商信息为空的档案,修改档案的供应商信息"+resources.getProvider());
log.info("找到供应商信息为空的档案,修改档案的供应商信息"+resources.getProvider());
component = componentManager.findByPartNumberAndProvider(resources.getPartNumber(), null);
}
......
......@@ -96,15 +96,18 @@ public class MimoBoxHandler extends BaseDeviceHandler {
DataLog singleOutTask = null;
for (DataLog queueTask : queueTasks) {
if(queueTask.isCheckOutTask()){
if (cid.equals(queueTask.getCid()) && queueTask.isExecuting()) {
excuttingOutTaskNum ++;
}
if (queueTask.isSingleOut()) {
//单盘优先出库
if (singleOutTask == null || queueTask.getCreateDate().before(singleOutTask.getCreateDate())) {
singleOutTask = queueTask;
if (cid.equals(queueTask.getCid())) {
if(queueTask.isExecuting()){
excuttingOutTaskNum ++;
}
if (queueTask.isSingleOut() && queueTask.isWait()) {
//单盘优先出库
if (singleOutTask == null || queueTask.getCreateDate().before(singleOutTask.getCreateDate())) {
singleOutTask = queueTask;
}
}
}
}
}
//已经有2个出库任务在执行,不再发了
......
......@@ -3,9 +3,13 @@ package com.neotel.smfcore.custom.dalu;
import com.google.common.base.Strings;
import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.common.utils.HttpHelper;
import com.neotel.smfcore.core.api.bean.CodeValidateParam;
import com.neotel.smfcore.core.api.listener.DefaultSmfApiListener;
import com.neotel.smfcore.core.barcode.bean.CodeBean;
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.Component;
import com.neotel.smfcore.core.barcode.utils.CodeResolve;
import com.neotel.smfcore.core.system.service.po.DataLog;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -29,6 +33,8 @@ public class DaLuApi extends DefaultSmfApiListener {
*/
@Autowired
private CodeResolve codeResolve;
@Autowired
private IComponentManager componentManager;
@Override
......@@ -37,43 +43,59 @@ public class DaLuApi extends DefaultSmfApiListener {
}
/**
*
* 1092感应料架对条码进行补全
* PN:PA2C7363430200,SP:V702043942,RI:3SSX00010346575,QTY:Q30NAR000
* 截取补全后条码:00000A2C7363430200@0702043942@SX00010346575 (料号补全至18位,供应商代码补全至10位,Package 13位不变)
* @param barcode
* @param inCheckUrl
* @param params
* @return
* @throws ValidateException
*/
@Override
public Barcode canPutIn(String inCheckUrl, Barcode barcode) throws ValidateException {
String pn = barcode.getPartNumber();
public Barcode canPutInBeforeResolve(String inCheckUrl, CodeValidateParam params) throws ValidateException {
Barcode resolveBarcode = codeResolve.resolveCode(params.getCode());
if(resolveBarcode == null){
throw new ValidateException("smfcore.error.barcode.invalid", "{0}不是有效的条码",new String[]{params.getCode()});
}
String pn = resolveBarcode.getPartNumber();
String newPn = pn;
int pnLength = pn.length();
for (int i = 0; i < 18 - pnLength; i++) {
newPn = "0"+newPn;
}
String sp = barcode.getProvider();
String sp = resolveBarcode.getProvider();
String newSp = sp;
int spLength = sp.length();
for (int i = 0; i < 10 - spLength; i++) {
newSp = "0" + newSp;
}
String reelId = newPn + "@" + newSp + "@" + barcode.getBarcode();
String reelId = newPn + "@" + newSp + "@" + resolveBarcode.getBarcode();
log.info("开始对条码进行补全,料号由"+pn+"补全为"+newPn+", 供应商由"+sp+"补全为"+newSp +" 补全后唯一码为:" + reelId);
Barcode dbBarcode = barcodeManager.findByBarcode(reelId);
if(dbBarcode == null){
//修改原来的条码
log.info("修改原来条码信息为:" + reelId);
barcode.setBarcode(reelId);
barcode = barcodeManager.saveBarcode(barcode);
resolveBarcode.setBarcode(reelId);
Component component = componentManager.findByPartNumberAndProvider(resolveBarcode.getPartNumber(),resolveBarcode.getProvider());
if(component == null){
log.info("自动添加["+resolveBarcode.getPartNumber()+"]["+resolveBarcode.getProvider()+"]的档案信息");
component = new Component();
component.setPartNumber(resolveBarcode.getPartNumber());
component.setAmount(resolveBarcode.getAmount());
component.setPlateSize(1);
component.setHeight(1);
component.setName(resolveBarcode.getPartNumber());
component.setProvider(resolveBarcode.getProvider());
componentManager.save(component);
}
resolveBarcode = barcodeManager.saveBarcode(resolveBarcode);
}else{
//使用数据库的,删除生成的
log.info("删除原来条码信息:" + barcode.getBarcode()+"["+barcode.getId()+"]");
barcodeManager.delete(barcode);
barcode = dbBarcode;
resolveBarcode = dbBarcode;
}
return barcode;
return resolveBarcode;
}
@Override
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!