Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 9cd1204c
由
zshaohui
编写于
2024-01-22 14:52:04 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.料箱剩余数量小于设定值的时候,自动执行相同线体的工单,出到当前出料口
1 个父辈
898a760c
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
65 行增加
和
13 行删除
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
src/main/java/com/neotel/smfcore/custom/lizhen/innerBox/rest/InnerBoxRestController.java
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
查看文件 @
9cd1204
...
...
@@ -446,10 +446,15 @@ public class LiteOrderCache {
ORDER_COLOR
nextColor
=
ORDER_COLOR
.
nextColor
(
currentColors
);
return
nextColor
;
}
public
synchronized
String
checkOutLiteOrder
(
String
orderNo
,
boolean
outBom
){
return
checkOutLiteOrder
(
orderNo
,
outBom
,
""
);
}
/**
* 锁定物料
*/
public
synchronized
String
checkOutLiteOrder
(
String
orderNo
,
boolean
outBom
)
{
public
synchronized
String
checkOutLiteOrder
(
String
orderNo
,
boolean
outBom
,
String
export
)
{
LiteOrder
cacheOrder
=
liteOrderMap
.
get
(
orderNo
);
if
(
cacheOrder
==
null
)
{
cacheOrder
=
liteOrderManager
.
findByOrderNo
(
orderNo
);
...
...
@@ -469,7 +474,12 @@ public class LiteOrderCache {
}
//获取是否有出料口
String
exportStr
=
StorageExportUtil
.
getExportByOrderNo
(
cacheOrder
.
getOrderNo
(),
true
,
cacheOrder
.
isMaiZheng
());
String
exportStr
=
""
;
if
(
StringUtils
.
isNotBlank
(
export
)){
exportStr
=
export
;
}
else
{
exportStr
=
StorageExportUtil
.
getExportByOrderNo
(
cacheOrder
.
getOrderNo
(),
true
,
cacheOrder
.
isMaiZheng
());
}
if
(
StringUtils
.
isBlank
(
exportStr
))
{
//log.info(cacheOrder.getOrderNo() + "没有空闲的出料口");
return
"没有空闲的出料口"
;
...
...
src/main/java/com/neotel/smfcore/custom/lizhen/innerBox/rest/InnerBoxRestController.java
查看文件 @
9cd1204
...
...
@@ -148,8 +148,8 @@ public class InnerBoxRestController {
List
<
DataLog
>
dataLogList
=
taskService
.
getAllTasks
();
for
(
DataLog
dataLog
:
dataLogList
)
{
if
(
StringUtils
.
isNotBlank
(
dataLog
.
getSourceId
())){
if
(
dataLog
.
getSourceId
().
equals
(
opTask
.
getSourceId
())
&&
!
dataLog
.
getBarcode
().
equals
(
opTask
.
getBarcode
())){
if
(!
dataLog
.
isFinished
()){
if
(
outlet
.
equals
(
dataLog
.
getExport
())
&&
!
dataLog
.
getBarcode
().
equals
(
opTask
.
getBarcode
())){
if
(!
dataLog
.
isFinished
()
&&
!
dataLog
.
isCancel
()
){
remainTaskCount
++;
}
}
...
...
@@ -543,20 +543,62 @@ public class InnerBoxRestController {
outStationExport
.
setDisable
(
storageExport
.
isDisable
());
outStationExport
.
setLine
(
storageExport
.
getLine
());
outStationExport
.
setHSerial
(
hSerial
);
outStationExport
.
setRemainTaskCount
(
storageExport
.
getRemainTaskCount
());
//
outStationExport.setRemainTaskCount(storageExport.getRemainTaskCount());
outStationExport
.
setMaterial
(
material
);
if
(
StringUtils
.
isNotBlank
(
hSerial
))
{
LiteOrder
order
=
liteOrderCache
.
getOrderSortItems
(
hSerial
);
if
(
order
!=
null
)
{
//工单未结束,满箱离开
if
(!
order
.
isClosed
()
&&
!
order
.
isTaskFinished
())
{
StorageExportUtil
.
updateExport
(
export
+
StorageExportUtil
.
OUT_STATION
,
outStationExport
);
log
.
info
(
hSerial
+
":工单未结束,满箱离开,信息为:"
+
JSON
.
toJSONString
(
outStationExport
));
return
ResultBean
.
newOkResult
(
storageExport
);
//1.获取当前出料口的剩余数量
int
remainTaskCount
=
0
;
List
<
DataLog
>
allTasks
=
taskService
.
getAllTasks
();
for
(
DataLog
dataLog
:
allTasks
)
{
if
(
dataLog
.
isCheckOutTask
()
&&
export
.
equals
(
dataLog
.
getExport
()))
{
if
(!
dataLog
.
isFinished
()
&&
!
dataLog
.
isCancel
())
{
remainTaskCount
++;
}
}
}
//2.如果当前出料口的数量不等于0
if
(
remainTaskCount
>
0
)
{
//3.判断是否要补工单
Integer
ordrRemainingQty
=
dataCache
.
getCache
(
Constants
.
CACHE_ordrRemainingQty
);
if
(
ordrRemainingQty
==
null
)
{
ordrRemainingQty
=
-
1
;
}
if
(
ordrRemainingQty
!=
-
1
)
{
if
(
remainTaskCount
<=
ordrRemainingQty
)
{
log
.
info
(
export
+
"剩余数量:"
+
remainTaskCount
+
"小于:"
+
ordrRemainingQty
+
",需要生成新的工单"
);
Collection
<
LiteOrder
>
liteOrders
=
liteOrderCache
.
getAllLiteOrder
();
for
(
LiteOrder
liteOrder
:
liteOrders
)
{
if
(!
liteOrder
.
isMaiZheng
())
{
if
(
liteOrder
.
isNew
()
||
liteOrder
.
isTaskFinished
())
{
if
(
storageExport
.
getLine
().
equals
(
liteOrder
.
getLine
()))
{
String
result
=
liteOrderCache
.
checkOutLiteOrder
(
liteOrder
.
getOrderNo
(),
false
,
export
);
log
.
info
(
export
+
"新的工单为:"
+
liteOrder
.
getOrderNo
()+
"结果为:"
+
result
);
if
(
StringUtils
.
isBlank
(
result
))
{
break
;
}
}
}
}
}
//重新获取数量
remainTaskCount
=
0
;
allTasks
=
taskService
.
getAllTasks
();
for
(
DataLog
dataLog
:
allTasks
)
{
if
(
dataLog
.
isCheckOutTask
()
&&
export
.
equals
(
dataLog
.
getExport
()))
{
if
(!
dataLog
.
isFinished
()
&&
!
dataLog
.
isCancel
())
{
remainTaskCount
++;
}
}
}
}
}
outStationExport
.
setRemainTaskCount
(
remainTaskCount
);
StorageExportUtil
.
updateExport
(
export
+
StorageExportUtil
.
OUT_STATION
,
outStationExport
);
log
.
info
(
hSerial
+
":工单未结束,满箱离开,信息为:"
+
JSON
.
toJSONString
(
outStationExport
));
return
ResultBean
.
newOkResult
(
outStationExport
);
}
outStationExport
.
setRemainTaskCount
(
remainTaskCount
);
StorageExportUtil
.
clearExport
(
export
);
StorageExportUtil
.
updateExport
(
export
+
StorageExportUtil
.
OUT_STATION
,
outStationExport
);
log
.
info
(
export
+
StorageExportUtil
.
OUT_STATION
+
"料箱离开工位,信息为:"
+
JSON
.
toJSONString
(
outStationExport
));
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论