Commit b0b6a2ec sunke

Fixed: 查找出库页面不刷新时,创建无条码的任务

1 个父辈 6f69995c
...@@ -182,7 +182,7 @@ public class TcpServer { ...@@ -182,7 +182,7 @@ public class TcpServer {
if(amount <= alarmAmount){ if(amount <= alarmAmount){
StoragePos pos = storagePosManager.findPartNumberPos(null,barcode.getPartNumber(),new ArrayList<String>(), StorageConstants.CHECKOUT_TYPE.FIFO); StoragePos pos = storagePosManager.findPartNumberPos(null,barcode.getPartNumber(),new ArrayList<String>(), StorageConstants.CHECKOUT_TYPE.FIFO);
if(pos != null){ if(pos != null){
taskService.checkout(pos, null, false); taskService.checkout(pos,false, null, false);
barcode.setNextBarcode(pos.getBarcode().getBarcode()); barcode.setNextBarcode(pos.getBarcode().getBarcode());
log.info("当前数量【"+ amount +"】小于预警值["+alarmAmount+"],出库["+pos.getPosName()+"]一盘新的物料【"+pos.getBarcode().getBarcode()+"】"); log.info("当前数量【"+ amount +"】小于预警值["+alarmAmount+"],出库["+pos.getPosName()+"]一盘新的物料【"+pos.getBarcode().getBarcode()+"】");
}else{ }else{
......
...@@ -64,7 +64,7 @@ public interface ITaskService { ...@@ -64,7 +64,7 @@ public interface ITaskService {
* @param subSourceId 是否是工单出库 * @param subSourceId 是否是工单出库
* @param isSingleOut 是否为单盘紧急出库 * @param isSingleOut 是否为单盘紧急出库
*/ */
String checkout(StoragePos pos, String subSourceId, boolean isSingleOut); String checkout(StoragePos pos, boolean forceOut, String subSourceId, boolean isSingleOut);
StoragePos findEmptyPosForPutIn(List<Storage> storageList, Barcode barcode) throws ValidateException; StoragePos findEmptyPosForPutIn(List<Storage> storageList, Barcode barcode) throws ValidateException;
......
...@@ -202,7 +202,7 @@ public class StorageDataController extends BaseController { ...@@ -202,7 +202,7 @@ public class StorageDataController extends BaseController {
String orderName = request.getParameter("orderName"); String orderName = request.getParameter("orderName");
log.info("收到出库工单任务["+ orderName +"]"); log.info("收到出库工单任务["+ orderName +"]");
Storage storage = dataCache.getStorage(cid); //Storage storage = dataCache.getStorage(cid);
Collection<String> excludePosids = taskService.excludePosIds(); Collection<String> excludePosids = taskService.excludePosIds();
List<StoragePos> lockPoses = storagePosManager.findLockPos(orderName); List<StoragePos> lockPoses = storagePosManager.findLockPos(orderName);
for (StoragePos lockPos : lockPoses) { for (StoragePos lockPos : lockPoses) {
...@@ -212,8 +212,12 @@ public class StorageDataController extends BaseController { ...@@ -212,8 +212,12 @@ public class StorageDataController extends BaseController {
} }
} }
for (StoragePos lockPos : lockPoses) { for (StoragePos lockPos : lockPoses) {
log.info("出库位置仓位【"+lockPos.getPosName()+"】"); if(lockPos.getBarcode() == null){
taskService.checkout(lockPos,null, false); log.info("仓位【"+lockPos.getPosName()+"】中已无料盘,忽略");
}else{
log.info("出库位置仓位【"+lockPos.getPosName()+"】");
taskService.checkout(lockPos,false,null, false);
}
} }
return "0" + super.getText("checkout.sucess",request.getLocale()); return "0" + super.getText("checkout.sucess",request.getLocale());
} }
...@@ -281,6 +285,12 @@ public class StorageDataController extends BaseController { ...@@ -281,6 +285,12 @@ public class StorageDataController extends BaseController {
String subSourceId = request.getParameter("subSourceId"); String subSourceId = request.getParameter("subSourceId");
//是否强制出库(库位没有物料也可以出库)
boolean forceOut = false;
String forceOutStr = request.getParameter("forceOut");
if(!Strings.isNullOrEmpty(forceOutStr)){
forceOut = true;
}
String isSingleOutStr = request.getParameter("single"); String isSingleOutStr = request.getParameter("single");
boolean isSingleOut = Boolean.valueOf(isSingleOutStr); boolean isSingleOut = Boolean.valueOf(isSingleOutStr);
...@@ -314,7 +324,7 @@ public class StorageDataController extends BaseController { ...@@ -314,7 +324,7 @@ public class StorageDataController extends BaseController {
return msg; return msg;
}else{ }else{
log.info("出库位置仓位【"+pos.getPosName()+"】"); log.info("出库位置仓位【"+pos.getPosName()+"】");
String outResult = taskService.checkout(pos,subSourceId, isSingleOut); String outResult = taskService.checkout(pos, forceOut, subSourceId, isSingleOut);
if(!Strings.isNullOrEmpty(outResult)){ if(!Strings.isNullOrEmpty(outResult)){
return "1"+getText(outResult,request.getLocale()); return "1"+getText(outResult,request.getLocale());
} }
...@@ -330,7 +340,7 @@ public class StorageDataController extends BaseController { ...@@ -330,7 +340,7 @@ public class StorageDataController extends BaseController {
} }
log.info("出库位置仓位【"+pos.getPosName()+"】"); log.info("出库位置仓位【"+pos.getPosName()+"】");
String outResult = taskService.checkout(pos, subSourceId, isSingleOut); String outResult = taskService.checkout(pos, forceOut, subSourceId, isSingleOut);
if(!Strings.isNullOrEmpty(outResult)){ if(!Strings.isNullOrEmpty(outResult)){
return "1"+getText(outResult,request.getLocale()); return "1"+getText(outResult,request.getLocale());
} }
......
...@@ -1478,7 +1478,7 @@ public class TaskService implements ITaskService { ...@@ -1478,7 +1478,7 @@ public class TaskService implements ITaskService {
} }
@Override @Override
public synchronized String checkout(StoragePos pos, String subSourceId, boolean isSingleOut){ public synchronized String checkout(StoragePos pos, boolean forceOut, String subSourceId, boolean isSingleOut){
Barcode barcode = pos.getBarcode(); Barcode barcode = pos.getBarcode();
if(barcode != null){ if(barcode != null){
...@@ -1495,14 +1495,21 @@ public class TaskService implements ITaskService { ...@@ -1495,14 +1495,21 @@ public class TaskService implements ITaskService {
e.printStackTrace(); e.printStackTrace();
} }
} }
}else{
if(!forceOut){
String msg = "库位["+pos.getPosName()+"]中已无物料,忽略";
log.info(msg);
return msg;
}
} }
Collection<DataLog> allTasks = taskMap.values(); Collection<DataLog> allTasks = taskMap.values();
for(DataLog taskInList : allTasks){ for(DataLog taskInList : allTasks){
if(taskInList.getPosId() == null) continue; if(taskInList.getPosId() == null) continue;
if(taskInList.getPosId().equals(pos.getId())){ if(taskInList.getPosId().equals(pos.getId())){
log.info("库位【"+pos.getPosName()+"已在任务列表中,忽略】"); String msg = "库位【"+pos.getPosName()+"已在任务列表中,忽略】";
return ""; log.info(msg);
return msg;
} }
} }
......
...@@ -588,7 +588,7 @@ ...@@ -588,7 +588,7 @@
function checkoutStorage(posId) { function checkoutStorage(posId) {
$("#btn"+posId).attr("disabled","true"); $("#btn"+posId).attr("disabled","true");
$.post("${ctx}/service/store/checkout.html", {pids: posId}, function (data) { $.post("${ctx}/service/store/checkout.html", {pids: posId, forceOut: true}, function (data) {
alert(data); alert(data);
}); });
} }
......
...@@ -12,27 +12,25 @@ ...@@ -12,27 +12,25 @@
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
<ul class="timeline"> <ul class="timeline">
<%--<li class="timeline-green">--%> <li class="timeline-green">
<%--<div class="timeline-time">--%> <div class="timeline-time">
<%--<span class="date">--%> <span class="date">
<%--2020 </span>--%> 2020 </span>
<%--<span class="time">--%> <span class="time">
<%--06-24 </span>--%> 09-27 </span>
<%--</div>--%> </div>
<%--<div class="timeline-icon">--%> <div class="timeline-icon">
<%--<i class="fa fa-clock-o"></i>--%> <i class="fa fa-clock-o"></i>
<%--</div>--%> </div>
<%--<div class="timeline-body">--%> <div class="timeline-body">
<%--<div class="timeline-content">--%> <div class="timeline-content">
<%--<ul>--%> <ul>
<%--<li>版本 V20200624</li>--%> <li>版本 V20200927</li>
<%--<li>尾料先出按数量计算尾料</li>--%> <li>Fixed: 查找出库页面不刷新时出库,会创建无物料任务的问题</li>
<%--<li>扫码料架会自动查找一下个库位,如果下一个库位已有物料或者尺寸不合适时,需要重新扫库位码</li>--%> </ul>
<%--<li>SISO料仓门口料盘信号提供给机器人</li>--%> </div>
<%--</ul>--%> </div>
<%--</div>--%> </li>
<%--</div>--%>
<%--</li>--%>
<%--<li class="timeline-blue">--%> <%--<li class="timeline-blue">--%>
<%--<div class="timeline-time">--%> <%--<div class="timeline-time">--%>
<%--<span class="date">--%> <%--<span class="date">--%>
......
...@@ -241,7 +241,7 @@ ...@@ -241,7 +241,7 @@
<div class="page-footer-inner"> <div class="page-footer-inner">
2016&copy; <a href="${ctx}/updateHistory.html">SMD BOX</a> 2016&copy; <a href="${ctx}/updateHistory.html">SMD BOX</a>
</div> </div>
<span class="right" style="color: #a3a3a3;">Version: 2020.09.17</span> <span class="right" style="color: #a3a3a3;">Version: 2020.09.27</span>
<div class="scroll-to-top"> <div class="scroll-to-top">
<i class="icon-arrow-up"></i> <i class="icon-arrow-up"></i>
</div> </div>
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!