Commit a922a4d9 zshaohui

1.nl料架 扫描完第一个库位 自动扫描下一个库位

2.1181获取工单增加参数
1 个父辈 bc6217b8
......@@ -22,6 +22,19 @@ public class NLShelfOperateBean {
*/
private String nextPosId;
/**
* 上一个库位的Id,用于自动推荐库位
*/
private String lastPosId;
public String getLastPosId() {
return lastPosId;
}
public void setLastPosId(String lastPosId) {
updateOpTime();
this.lastPosId = lastPosId;
}
public StoragePos getOpPos() {
return opPos;
......
......@@ -5,6 +5,7 @@ import com.google.common.base.Strings;
import com.neotel.smfcore.common.bean.ResultBean;
import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.common.utils.SecurityUtils;
import com.neotel.smfcore.common.utils.StringUtils;
import com.neotel.smfcore.core.api.bean.CodeValidateParam;
import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.device.bean.NLShelfOperateBean;
......@@ -314,6 +315,7 @@ public class NLShelfHandler extends BaseDeviceHandler {
NLShelfOperateBean operateBean = getOperateBean(token);
operateBean.setOpPos(pos);
operateBean.setPosToClose(pos);
operateBean.setLastPosId(pos.getId());
shelfPutInBeanMap.put(token, operateBean);
log.info(ptoken + ":库位[" + pos.getPosName() + "]操作成功,请扫描要放入的物料");
return ResultBean.newOkResult("smfcore.shelf.msg.tipScanReel", "库位[" + pos.getPosName() + "]操作成功,请扫描要放入的物料", new String[]{pos.getPosName()},pos.getPosName());
......@@ -412,10 +414,35 @@ public class NLShelfHandler extends BaseDeviceHandler {
NLShelfOperateBean operateBean = getOperateBean(token);
StoragePos opPos = operateBean.getOpPos();
if (opPos == null) {
//未扫描库位
log.info(ptoken + ":条码[" +code+ "],请先扫描库位码");
return ResultBean.newErrorResult(1, "smfcore.shelf.msg.scanPos", "请先扫描库位码");
} else {
String lastPosId = operateBean.getLastPosId();
if (StringUtils.isBlank(lastPosId)){
//未扫描库位
log.info(ptoken + ":条码[" +code+ "],请先扫描库位码");
return ResultBean.newErrorResult(1, "smfcore.shelf.msg.scanPos", "请先扫描库位码");
}
Long nextPosId = Long.valueOf(lastPosId) + 1;
StoragePos nextPos = storagePosManager.get(String.valueOf(nextPosId));
if(nextPos != null){
Collection<String> excludePosIds = taskService.excludePosIds();
if(excludePosIds.contains(nextPos.getId())){
return ResultBean.newErrorResult(1, "smfcore.shelf.nextPos.hasTask", "库位[{0}]已有任务,请重新扫描库位码",new String[]{nextPos.getPosName()});
}
/*Storage storage = dataCache.getStorageById(nextPos.getStorageId());
if(!storage.canPutInPos(barcode.getPlateSize(),barcode.getHeight(), nextPos.getW(), nextPos.getH())){
String reelSize = barcode.getPlateSize() + "x" + barcode.getHeight();
String posSize = nextPos.getW() + "x" + nextPos.getH();
return getText("shelf.nextPos.hasReel",new String[]{nextPos.getPosName(),posSize, reelSize},request.getLocale(), "下一库位["+nextPos.getPosName()+"]尺寸["+posSize+"]与料盘尺寸["+reelSize+"]不符,请重新扫描库位码");
}*/
opPos = nextPos;
openAndCloseLights(token, opPos,putInColor,delayCloseTime);
operateBean.setOpPos(opPos);
operateBean.setPosToClose(opPos);
operateBean.setLastPosId(opPos.getId());
shelfPutInBeanMap.put(token, operateBean);
}
}
if (opPos != null){
Storage currentStorage=dataCache.getStorageById(opPos.getStorageId());
//入库单验证
ResultBean resultBean= inListCache.inListValidate(currentStorage.getInListName(),barcode.getPartNumber() );
......@@ -438,6 +465,7 @@ public class NLShelfHandler extends BaseDeviceHandler {
log.error("Error:" + e.getMessage());
return ResultBean.newErrorResult(1, e.getMessage(), e.getMessage(), e.getMsgParam());
}
return ResultBean.newErrorResult(1, "smfcore.shelf.msg.scanPos", "请先扫描库位码");
}
/**
......
......@@ -67,6 +67,7 @@ public class IriichiApi extends BaseSmfApiListener {
"?customloadmethod=IR_GetJobMaterialPickListSp" +
"&readonly=true" +
"&loadtype=NEXT" +
"&RowCap=-1" +
"&customloadmethodparms=" + orderNumber, headerMap, null);
log.info(orderNumber+"fetchOrder结果为:"+result);
return getOrderByResult(orderNumber, result);
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!