Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 37298b2d
由
zshaohui
编写于
2023-05-06 13:15:58 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.功能优化
1 个父辈
c5b0a79c
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
36 行增加
和
55 行删除
src/main/java/com/neotel/smfcore/core/device/rest/DeviceController.java
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
src/main/java/com/neotel/smfcore/core/storage/rest/MaterialBoxController.java
src/main/java/com/neotel/smfcore/core/device/rest/DeviceController.java
查看文件 @
37298b2
...
@@ -182,66 +182,28 @@ public class DeviceController {
...
@@ -182,66 +182,28 @@ public class DeviceController {
}
}
for
(
DataLog
dataLog
:
taskService
.
getQueueTasks
())
{
for
(
DataLog
dataLog
:
taskService
.
getQueueTasks
())
{
// if(!dataLog.isPackageReel()){
//判断是否有正在执行的任务
if
(
dataLog
.
isCheckOutTask
())
{
String
cid
=
dataLog
.
getCid
();
Storage
storage
=
dataCache
.
getStorage
(
cid
);
if
(
storage
!=
null
&&
storage
.
isXLC
())
{
if
(
cids
.
contains
(
cid
))
{
resultMap
.
put
(
"result"
,
"100"
);
errorMsg
=
"有正在执行的出库任务"
;
resultMap
.
put
(
"msg"
,
errorMsg
);
return
resultMap
;
}
}
}
//已经在任务当中,返回对应的信息
//已经在任务当中,返回对应的信息
if
(
dataLog
.
getBarcode
().
equals
(
barcode
.
getBarcode
()))
{
if
(
dataLog
.
getBarcode
().
equals
(
barcode
.
getBarcode
()))
{
throw
new
ValidateException
(
"smfcore.error.barcode.executing"
,
"条码[{0}}]任务正在执行"
,
new
String
[]{
barcode
.
getBarcode
()});
throw
new
ValidateException
(
"smfcore.error.barcode.executing"
,
"条码[{0}}]任务正在执行"
,
new
String
[]{
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;
} else {
//已有出库任务
errorMsg = "物料[" + dataLog.getBarcode() + "]已有出库任务,需继续执行出库动作";
resultMap.put("result", "98");
resultMap.put("msg", errorMsg);
resultMap.put("posId", dataLog.getPosName());
resultMap.put("plateW", barcode.getPlateSize());
resultMap.put("plateH", barcode.getHeight());
resultMap.put("singleOut", dataLog.isSingleOut() + "");
//紧急料
resultMap.put("urgentReel", dataLog.isUrgentReel() + "");
//需要分盘,进入分盘料
resultMap.put("cutReel", dataLog.isCutReel() + "");
resultMap.put("rfid", "");
resultMap.put("realRfid", "");
resultMap.put("rfidLoc", "");
// resultMap.put("rfid", dataLog.getTempRfid());
// resultMap.put("realRfid",dataLog.getAppendInfo().getRfid());
// resultMap.put("rfidLoc", dataLog.getAppendInfo().getRfidLoc() + "");
resultMap.put("barcode", dataLog.getBarcode());
boolean smallReel = barcode.isSmallReel();
resultMap.put("smallReel", smallReel + "");
return resultMap;
}*/
// }
}
}
}
}
StoragePos
pos
=
taskService
.
findEmptyPosForPutIn
(
storageList
,
barcode
,
rfid
,
lastPosId
);
StoragePos
pos
=
taskService
.
findEmptyPosForPutIn
(
storageList
,
barcode
,
rfid
,
lastPosId
);
if
(
pos
!=
null
)
{
if
(
pos
!=
null
)
{
// Storage storage = dataCache.getStorageById(pos.getStorageId());
// if(!storage.isPackage()){
// //不是包装仓,如果所在料仓有出库任务,暂停入库
// Collection<DataLog> tasks = taskService.getQueueTasks();
// for (DataLog task : tasks) {
// if(task.isCheckOutTask() && task.getStorageId().equals(pos.getStorageId())){
// errorMsg = "库位["+ pos.getPosName() + "]所在料仓有出库任务,暂停入库";
// lineMsg = errorMsg;
// resultMap.put("result","99");
// resultMap.put("msg",errorMsg);
// return resultMap;
// }
// }
// }
Storage
theStorage
=
dataCache
.
getStorageById
(
pos
.
getStorageId
());
Storage
theStorage
=
dataCache
.
getStorageById
(
pos
.
getStorageId
());
resultMap
.
put
(
"result"
,
"0"
);
resultMap
.
put
(
"result"
,
"0"
);
...
...
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
查看文件 @
37298b2
...
@@ -35,6 +35,7 @@ import org.springframework.stereotype.Service;
...
@@ -35,6 +35,7 @@ import org.springframework.stereotype.Service;
import
java.util.*
;
import
java.util.*
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.stream.Collectors
;
/**
/**
* Created by sunke on 2021/7/12.
* Created by sunke on 2021/7/12.
...
@@ -381,7 +382,10 @@ public class LiteOrderCache {
...
@@ -381,7 +382,10 @@ public class LiteOrderCache {
//其他出库模式一次性全部生成任务
//其他出库模式一次性全部生成任务
for
(
LiteOrderItem
orderItem
:
cacheOrder
.
getOrderItems
())
{
List
<
LiteOrderItem
>
orderItems
=
cacheOrder
.
getOrderItems
();
//根据站位号 进行排序
orderItems
=
orderItems
.
stream
().
sorted
(
Comparator
.
comparing
(
LiteOrderItem:
:
getSlotNum
)).
collect
(
Collectors
.
toList
());
for
(
LiteOrderItem
orderItem
:
orderItems
)
{
orderItem
.
setOutNum
(
0
);
orderItem
.
setOutNum
(
0
);
orderItem
.
setOutReelCount
(
0
);
orderItem
.
setOutReelCount
(
0
);
liteOrderItemManager
.
save
(
orderItem
);
liteOrderItemManager
.
save
(
orderItem
);
...
@@ -482,7 +486,7 @@ public class LiteOrderCache {
...
@@ -482,7 +486,7 @@ public class LiteOrderCache {
}
}
}
}
}
}
//cacheOrder.setOrderItems(orderItems);
cacheOrder
.
setTaskReelCount
(
taskReelCount
);
cacheOrder
.
setTaskReelCount
(
taskReelCount
);
cacheOrder
.
setTotalTaskReelCount
(
cacheOrder
.
getTotalTaskReelCount
()+
taskReelCount
);
cacheOrder
.
setTotalTaskReelCount
(
cacheOrder
.
getTotalTaskReelCount
()+
taskReelCount
);
log
.
info
(
"工单["
+
orderNo
+
"]任务分配结束,任务数["
+
taskReelCount
+
"]"
);
log
.
info
(
"工单["
+
orderNo
+
"]任务分配结束,任务数["
+
taskReelCount
+
"]"
);
...
...
src/main/java/com/neotel/smfcore/core/storage/rest/MaterialBoxController.java
查看文件 @
37298b2
...
@@ -23,6 +23,7 @@ import com.neotel.smfcore.core.order.LiteOrderCache;
...
@@ -23,6 +23,7 @@ import com.neotel.smfcore.core.order.LiteOrderCache;
import
com.neotel.smfcore.core.order.service.manager.ILiteOrderManager
;
import
com.neotel.smfcore.core.order.service.manager.ILiteOrderManager
;
import
com.neotel.smfcore.core.order.service.po.LiteOrder
;
import
com.neotel.smfcore.core.order.service.po.LiteOrder
;
import
com.neotel.smfcore.core.order.service.po.LiteOrderItem
;
import
com.neotel.smfcore.core.order.service.po.LiteOrderItem
;
import
com.neotel.smfcore.core.storage.enums.DeviceType
;
import
com.neotel.smfcore.core.storage.service.manager.IStoragePosManager
;
import
com.neotel.smfcore.core.storage.service.manager.IStoragePosManager
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
import
com.neotel.smfcore.core.storage.service.po.StoragePos
;
import
com.neotel.smfcore.core.storage.service.po.StoragePos
;
...
@@ -233,6 +234,10 @@ public class MaterialBoxController {
...
@@ -233,6 +234,10 @@ public class MaterialBoxController {
CodeBean
codeBean
=
codeResolve
.
resolveSingleCode
(
newCodeStr
);
CodeBean
codeBean
=
codeResolve
.
resolveSingleCode
(
newCodeStr
);
if
(
codeBean
.
isValid
())
{
if
(
codeBean
.
isValid
())
{
Barcode
subBarcode
=
codeBean
.
getBarcode
();
Barcode
subBarcode
=
codeBean
.
getBarcode
();
//如果物料的pn是2位,则提示扫描错误
if
(
subBarcode
.
getPartNumber
().
length
()
<=
2
){
throw
new
ValidateException
(
"smfcore.error.barcode.wrongLength"
,
"条码[{0}]长度错误"
,
new
String
[]{
operageStr
});
}
StoragePos
pos
=
storagePosManager
.
getByBarcode
(
subBarcode
.
getBarcode
());
StoragePos
pos
=
storagePosManager
.
getByBarcode
(
subBarcode
.
getBarcode
());
if
(
pos
!=
null
)
{
if
(
pos
!=
null
)
{
throw
new
ValidateException
(
"smfcore.materialBox.inPos"
,
"物料已在库位{0}中"
,
new
String
[]{
pos
.
getPosName
()});
throw
new
ValidateException
(
"smfcore.materialBox.inPos"
,
"物料已在库位{0}中"
,
new
String
[]{
pos
.
getPosName
()});
...
@@ -586,8 +591,18 @@ public class MaterialBoxController {
...
@@ -586,8 +591,18 @@ public class MaterialBoxController {
task
.
setCid
(
pidBarcode
.
getPartNumber
());
task
.
setCid
(
pidBarcode
.
getPartNumber
());
// task.setStorageId(storage.getId());
// task.setStorageId(storage.getId());
task
.
setStorageName
(
pidBarcode
.
getBarcode
());
Storage
storage
=
null
;
for
(
Storage
stor
:
dataCache
.
getAllStorage
().
values
())
{
if
(
stor
.
isXLC
()){
storage
=
stor
;
break
;
}
}
if
(
storage
==
null
)
{
task
.
setStorageName
(
pidBarcode
.
getBarcode
());
}
else
{
task
.
setStorageName
(
storage
.
getName
());
}
// task.setPosId(operatePos.getId());
// task.setPosId(operatePos.getId());
task
.
setPosName
(
pidBarcode
.
getBarcode
());
task
.
setPosName
(
pidBarcode
.
getBarcode
());
task
.
setOperator
(
SecurityUtils
.
getLoginUsername
());
task
.
setOperator
(
SecurityUtils
.
getLoginUsername
());
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论