Commit 3cc971a5 sunke

工单料出库和发料数量出错导致无法发送L状态

1 个父辈 c70fdcf7
......@@ -89,7 +89,7 @@ public class QisdaApi {
//绑定缺料反馈
lossqty = outItem.preBindLessQty();
}
if(lossqty > 0){
materialInfoMap.put("lossqty",lossqty + "");//缺料数量
materialInfoMap.put("slot",outItem.getSlotStr());//料站
materialInfoMap.put("serial",outItem.gethSerial());//需求单号
......@@ -97,6 +97,8 @@ public class QisdaApi {
materialInfoList.add(materialInfoMap);
}
}
if(materialInfoList.isEmpty()){
log.info("需求单不缺料,不进行缺料反馈");
}else{
......
......@@ -113,7 +113,7 @@ public class OutInfoCache {
* @param outReelNum
*/
public void resetTaskNum(String hSerial, int outReelNum){
OutInfo outInfo = outInfoMap.get(hSerial);
OutInfo outInfo = getOutInfoFromCache(hSerial);
if(outInfo != null){
outInfo.setOutReelNum(0);
outInfo.setTaskFinishNum(0);
......@@ -126,7 +126,7 @@ public class OutInfoCache {
* 任务出库数量+1
*/
public synchronized OutInfo incOutNum(String hSerial){
OutInfo outInfo = outInfoMap.get(hSerial);
OutInfo outInfo = getOutInfoFromCache(hSerial);
if(outInfo != null){
int outReelNum = outInfo.getOutReelNum() + 1;
outInfo.setOutReelNum(outReelNum);
......@@ -138,11 +138,20 @@ public class OutInfoCache {
return null;
}
private OutInfo getOutInfoFromCache(String hSerial){
OutInfo outInfo = outInfoMap.get(hSerial);
if(outInfo == null){
log.info("未找到需求单["+hSerial+"]的缓存信息,从数据库中加载");
outInfo = outInfoDao.findByHSerial(hSerial);
}
return outInfo;
}
/**
* 任务发料数量+1
*/
public synchronized OutInfo incTaskFinishNum(String hSerial){
OutInfo outInfo = outInfoMap.get(hSerial);
OutInfo outInfo = getOutInfoFromCache(hSerial);
if(outInfo != null){
int taskFinishNum = outInfo.getTaskFinishNum() + 1;
outInfo.setTaskFinishNum(taskFinishNum);
......
......@@ -2031,6 +2031,10 @@ public class TaskService implements ITaskService {
if(!Strings.isNullOrEmpty(outItemId)){
OutItem outItem = outItemDao.findOneById(outItemId);
if(outItem != null){
OutInfo outInfo = outInfoCache.incOutNum(outItem.gethSerial());
if(outItem.isUrgentAction() || outItem.isReelCutAction()){
outInfo = outInfoCache.incTaskFinishNum(outItem.gethSerial());
}
if(barcode.hasCutInfo()){
//分盘料,需要更新对应的需求单出库数量
......@@ -2063,10 +2067,6 @@ public class TaskService implements ITaskService {
outInfoCache.updateOutItem(outItem.getId());
}
OutInfo outInfo = outInfoCache.incOutNum(outItem.gethSerial());
if(outItem.isUrgentAction() || outItem.isReelCutAction()){
outInfo = outInfoCache.incTaskFinishNum(outItem.gethSerial());
}
String latest = outInfo.getOutLatest();
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!