Commit 574acc1d sunke

增加查询需求单是否存在接口

退料料串上物料摆放不整齐,导到同一料串扫到下面一盘条码时,两盘物料都不可入库
屏蔽清理库位功能,清除数据必须执行出库动作
1 个父辈 b81df619
......@@ -248,6 +248,30 @@ public class QisdaApiController extends BaseController {
}
/**
* 查询需求单是否存在
*/
@RequestMapping(value = "/existHSerial")
@ResponseBody
public ResultBean existHSerial(HttpServletRequest request){
String hSerialistStr = receiveParamInfo(request,"hSerialList");
log.info("收到查询需求单是否存在 hSerialList="+hSerialistStr);
String[] hSerialList = hSerialistStr.split(",");
List<Map<String,String>> resultList = new ArrayList<>();
for (String hSerial : hSerialList) {
OutInfo outInfo = outInfoDao.findByHSerial(hSerial);
boolean exist = false;
if(outInfo != null){
exist = true;
}
Map<String,String> itemMap = new HashMap<>();
itemMap.put("hSerial", hSerial);
itemMap.put("exist", exist + "");
resultList.add(itemMap);
}
return ResultBean.newOkResult(resultList);
}
/**
* 检测料盘是否绑定工单
*/
@RequestMapping(value = "/checkLockReel",method = RequestMethod.POST)
......
......@@ -17,6 +17,7 @@ import com.myproject.bean.utils.StatusBean;
import com.myproject.dao.mongo.IAlarmInfoDao;
import com.myproject.dao.mongo.ILiteOrderDao;
import com.myproject.dao.mongo.ILiteOrderItemDao;
import com.myproject.dao.mongo.qisda.ICacheInfoDao;
import com.myproject.exception.ValidateException;
import com.myproject.manager.IBarcodeManager;
import com.myproject.manager.IComponentManager;
......@@ -76,9 +77,6 @@ public class StorageDataController extends BaseController {
private UserManager userManager;
@Autowired
private IComponentManager componentManager;
@Autowired
private ILiteOrderDao liteOrderDao;
@Autowired
......@@ -90,6 +88,11 @@ public class StorageDataController extends BaseController {
@Autowired
private IComponentManager componentmanager;
@Autowired
private ICacheInfoDao cacheInfoDao;
// @RequestMapping(value = "/testEmail")
// @ResponseBody
// public List<StoragePos> testEmail(HttpServletRequest request){
......@@ -611,11 +614,27 @@ public class StorageDataController extends BaseController {
if(dataLog.getBarcode().equals(barcode.getBarcode())){
if(dataLog.isPutInTask()){
//已有入库任务
errorMsg = "物料["+ dataLog.getBarcode() + "]已有入库任务,需继续执行入库动作";
resultMap.put("pos",dataLog.getPosName());
resultMap.put("barcode",barcode.getBarcode());
resultMap.put("cid",dataLog.getCid());
return resultMap;
String oldRfid = dataLog.getAppendInfo().getRfid();
if(oldRfid.equals(rfid)){
//同一个料串,说明扫码扫到下面一盘的条码了,对已有的任务进行标记,等入库完成后再出库,同时把当前物料NG
log.info("条码["+barcode.getBarcode()+"]已有入库["+dataLog.getPosName()+"]任务,标记任务,待入库完成后出库");
cacheInfoDao.updateCacheItem(barcode.getBarcode(),"Need out after put in");
errorMsg = "["+ barcode.getBarcode() + "]有入库任务未完成,无法入库";
lineMsg = errorMsg;
resultMap.put("result","99");
resultMap.put("msg",errorMsg);
return resultMap;
}else{
//不是同一个料串,返回原来的入库库位
errorMsg = "物料["+ dataLog.getBarcode() + "]已有入库任务,继续执行入库动作";
lineMsg = errorMsg;
resultMap.put("pos",dataLog.getPosName());
resultMap.put("barcode",barcode.getBarcode());
resultMap.put("cid",dataLog.getCid());
return resultMap;
}
}else{
//已有出库任务
errorMsg = "物料["+ dataLog.getBarcode() + "]已有出库任务,需继续执行出库动作";
......
......@@ -9,13 +9,11 @@ import com.myproject.bean.json.LiteOrderItem;
import com.myproject.bean.qisda.AppendInfo;
import com.myproject.bean.qisda.InquiryShelfBean;
import com.myproject.bean.update.*;
import com.myproject.bean.update.qisda.DNInfo;
import com.myproject.bean.update.qisda.DNItem;
import com.myproject.bean.update.qisda.OutInfo;
import com.myproject.bean.update.qisda.OutItem;
import com.myproject.bean.update.qisda.*;
import com.myproject.bean.utils.BoxStatusBean;
import com.myproject.bean.utils.StatusBean;
import com.myproject.dao.mongo.*;
import com.myproject.dao.mongo.qisda.ICacheInfoDao;
import com.myproject.dao.mongo.qisda.IDNItemDao;
import com.myproject.dao.mongo.qisda.IOutItemDao;
import com.myproject.exception.ValidateException;
......@@ -90,6 +88,9 @@ public class TaskService implements ITaskService {
@Autowired
private QisdaBindService bindService;
@Autowired
private ICacheInfoDao cacheInfoDao;
/**
* 任务队列,Key 为dataLog的ID,value 为本区域待执行的任务
*/
......@@ -1541,6 +1542,17 @@ public class TaskService implements ITaskService {
log.info("从已完成的任务列表中删除之前取消的任务:"+cancelTask.getPosName() + " ReelId:" + cancelTask.getBarcode());
}
putInFinished(task);
//如果是已经标记为需要出库的物料(同一个料串上扫到了下面一盘的条码),进行出库
CacheInfo cacheInfo = cacheInfoDao.getCacheInfo(task.getBarcode());
if(cacheInfo != null){
cacheInfoDao.removeOneById(cacheInfo.getId());
finishedTaskMap.remove(task.getBarcode());
log.info("物料["+task.getBarcode()+"]可能扫到了料串上的下面一盘条码,将其出库");
StoragePos pos = storagePosManager.get(task.getPosId());
checkout(pos,"",true);
}
} else {
//从已完成列表中找,如果还找不到就忽略
task = findFinishedTask(statusBeanToSave.getCid(), boxStatus.getPosId());
......@@ -2042,8 +2054,15 @@ public class TaskService implements ITaskService {
finishedTaskMap.put(task.getBarcode(),task);
log.warn("任务:"+task.getBarcode() +" 仓位:"+task.getPosName()+" 的 Barcode 为null, 之前可能处理过直接返回");
return;
}else{
//判断与库位中的条码是否一致
if(!barcode.getBarcode().equals(task.getBarcode())){
log.warn("任务:"+task.getBarcode() +" 与仓位:"+task.getPosName()+" 中的条码["+task.getBarcode()+"]不一致,直接返回");
return;
}
}
barcode = barcodeManager.get(barcode.getId());
if(barcode != null){
//二维码状态
......
......@@ -317,10 +317,10 @@
<c:if test="${not empty slot.barcode.plateSize}">
${slot.barcode.plateSize} x ${slot.barcode.height}
</c:if>
[
<a onclick="clearPos('${slot.id}');">
<fmt:message key="storage.clearPos"/>
</a>]
<%--[--%>
<%--<a onclick="clearPos('${slot.id}');">--%>
<%--<fmt:message key="storage.clearPos"/>--%>
<%--</a>]--%>
</td>
<td class="posInfo${slot.id}">
<c:out value="${slot.barcode.partNumber}"/>
......
......@@ -12,6 +12,43 @@
<div class="row">
<div class="col-md-12">
<ul class="timeline">
<li class="timeline-purple">
<div class="timeline-time">
<span class="date">2022</span>
<span class="time">06-21</span>
</div>
<div class="timeline-icon">
<i class="fa fa-clock-o"></i>
</div>
<div class="timeline-body">
<h2>版本: V2022062115</h2>
<div class="timeline-content">
<ul>
<li>增加查询需求单是否存在接口,接口地址: http://ip/myproject/rest/api/qisda/existHSerial?hSerialList=2110375,2110376
参数说明: hSerialList 为需求单号列表, 多个需求单号用,分割</li>
</ul>
</div>
</div>
</li>
<li class="timeline-green">
<div class="timeline-time">
<span class="date">2022</span>
<span class="time">01-14</span>
</div>
<div class="timeline-icon">
<i class="fa fa-clock-o"></i>
</div>
<div class="timeline-body">
<h2>版本: V2022011410</h2>
<div class="timeline-content">
<ul>
<li>退料料串上物料摆放不整齐,导到同一料串扫到下面一盘条码时,两盘物料都不可入库</li>
<li>屏蔽清理库位功能,清除数据必须执行出库动作</li>
</ul>
</div>
</div>
</li>
<li class="timeline-blue">
<div class="timeline-time">
<span class="date">2021</span>
......@@ -31,7 +68,7 @@
</div>
</div>
</li>
<li class="timeline-blue">
<li class="timeline-yellow">
<div class="timeline-time">
<span class="date">2021</span>
<span class="time">11-3</span>
......@@ -48,7 +85,7 @@
</div>
</div>
</li>
<li class="timeline-blue">
<li class="timeline-grey">
<div class="timeline-time">
<span class="date">2021</span>
<span class="time">10-13</span>
......@@ -65,7 +102,7 @@
</div>
</div>
</li>
<li class="timeline-blue">
<li class="timeline-purple">
<div class="timeline-time">
<span class="date">2021</span>
<span class="time">09-09</span>
......@@ -82,7 +119,7 @@
</div>
</div>
</li>
<li class="timeline-blue">
<li class="timeline-green">
<div class="timeline-time">
<span class="date">2021</span>
<span class="time">09-03</span>
......
......@@ -239,7 +239,7 @@
<div class="page-footer-inner">
2016&copy; <a href="${ctx}/updateHistory.html">SMD BOX</a>
</div>
<span class="right" style="color: #a3a3a3;">Version: 2021.11.3</span>
<span class="right" style="color: #a3a3a3;">Version: 2022.06.2115</span>
<div class="scroll-to-top">
<i class="icon-arrow-up"></i>
</div>
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!