Commit 3cc971a5 sunke

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

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