Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 311ee050
由
zshaohui
编写于
2024-10-23 13:38:04 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.取消工单任务,屏蔽库位
1 个父辈
de9c7cd4
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
11 行增加
和
80 行删除
src/main/java/com/neotel/smfcore/core/device/rest/DeviceController.java
src/main/java/com/neotel/smfcore/core/system/util/TaskService.java
src/main/java/com/neotel/smfcore/core/device/rest/DeviceController.java
查看文件 @
311ee05
...
...
@@ -197,7 +197,7 @@ public class DeviceController {
}
}
//料号为335S00571不允许入库
if
(
"335S00571"
.
equals
(
barcode
.
getPartNumber
())){
if
(
"335S00571"
.
equals
(
barcode
.
getPartNumber
())
||
"155S00462"
.
equals
(
barcode
.
getPartNumber
())
){
throw
new
ValidateException
(
""
,
"335S00571的料号不允许入到智能仓"
);
}
...
...
@@ -494,29 +494,27 @@ public class DeviceController {
for
(
DataLog
task
:
tasks
)
{
if
(
codeStr
.
contains
(
task
.
getBarcode
())){
if
(
task
.
isCheckOutTask
()){
if
(
task
.
isWait
()
||
task
.
isExecuting
()){
if
(!
task
.
isFinished
()
&&
!
task
.
isCancel
()){
String
sourceId
=
task
.
getSourceId
();
if
(
StringUtils
.
isNotEmpty
(
sourceId
)){
//未执行完成的,理论上不会从客户端取消
boolean
cancelResult
=
taskService
.
cancelTask
(
task
.
getId
());
log
.
info
(
"客户端取消["
+
codeStr
+
"]的未执行完成的出库任务结果:"
+
cancelResult
);
return
ResultBean
.
newOkResult
(
cancelResult
);
}
else
{
}
else
{
//手动出库的 直接不用取消
return
ResultBean
.
newOkResult
(
""
);
}
}
else
{
return
ResultBean
.
newErrorResult
(
2005
,
"smfcore.cancelOutTask.taskHasEnd"
,
"客户端取消入库任务[{0}]失败:任务已结束或已取消"
,
new
String
[]{
codeStr
});
}
// else{
// //禁用库位
// boolean prohibitePos = true;
// boolean hideResult = taskService.hideTask(task.getId(),prohibitePos);
// log.info("客户端取消["+codeStr+"]已完成的出库任务结果:" + hideResult);
// return ResultBean.newOkResult(hideResult);
// }
}
}
}
}
catch
(
Exception
e
){
return
ResultBean
.
newErrorResult
(
2004
,
"smfcore.cancelOutTask.fail"
,
"客户端取消入库任务[{0}]失败:{1}"
,
new
String
[]{
codeStr
,
e
.
getMessage
()});
}
return
ResultBean
.
newErrorResult
(
2005
,
"smfcore.cancelOutTask.fail"
,
"客户端取消入库任务[{0}]失败:{1}"
,
new
String
[]{
codeStr
,
""
});
return
ResultBean
.
newErrorResult
(
2005
,
"smfcore.cancelOutTask.fail"
,
"客户端取消入库任务[{0}]失败:{1}"
,
new
String
[]{
codeStr
,
"
未找到对应的任务
"
});
}
...
...
src/main/java/com/neotel/smfcore/core/system/util/TaskService.java
查看文件 @
311ee05
...
...
@@ -490,74 +490,7 @@ public class TaskService {
return
singleOutTask
;
}
DataLog
outTask
=
null
;
//获取上一次出料口
String
export
=
exportMap
.
get
(
cid
);
//1.找到与上一次出料口不同的任务
outTask
=
getNeedOutTask
(
allTasks
,
export
,
cid
,
true
);
//2.如果没找到,不找到最早的任务
if
(
outTask
==
null
)
{
outTask
=
getNeedOutTask
(
allTasks
,
export
,
cid
,
false
);
}
if
(
outTask
!=
null
)
{
if
(
outTask
.
getPlateSize
()
>
7
)
{
log
.
info
(
outTask
.
getBarcode
()
+
"当前任务为大盘料,不需要处理:"
+
outTask
.
getBarcode
());
}
//3.如果当前任务不是大盘料
else
{
//4.判断是否属于工单任务
String
sourceId
=
outTask
.
getSourceId
();
if
(
StringUtils
.
isNotBlank
(
sourceId
))
{
//5.判断工单在当前库位中有没有大盘料
DataLog
bigReelTask
=
getBigReelTask
(
allTasks
,
cid
);
if
(
bigReelTask
!=
null
)
{
log
.
info
(
outTask
.
getSourceName
()+
"当前工单中,料仓:"
+
cid
+
"有大盘料:"
+
bigReelTask
.
getBarcode
()+
",优先出库"
);
exportMap
.
put
(
cid
,
bigReelTask
.
getExport
());
return
bigReelTask
;
}
//6.判断其他料仓有没有大料盘
else
{
boolean
hasBigReel
=
otherStorageHasBigReel
(
allTasks
,
sourceId
);
//7.如果其他仓有大盘料,则优先出B面的
DataLog
task
=
null
;
if
(
hasBigReel
)
{
log
.
info
(
outTask
.
getSourceName
()+
"当前工单中,其他料仓有大盘料,优先出B面料"
);
task
=
getOutTaskBySide
(
allTasks
,
cid
,
"B"
);
}
//8.如果其他仓没有大盘料,则优先出T面
else
{
log
.
info
(
outTask
.
getSourceName
()+
"当前工单中,其他料仓没有大盘料,优先出T面料"
);
task
=
getOutTaskBySide
(
allTasks
,
cid
,
"T"
);
if
(
task
==
null
)
{
log
.
info
(
outTask
.
getSourceName
()+
"当前工单中,其他料仓没有大盘料,T面料没有,出B面料"
);
task
=
getOutTaskBySide
(
allTasks
,
cid
,
"B"
);
}
}
if
(
task
!=
null
)
{
log
.
info
(
outTask
.
getSourceName
()+
"barcode为:"
+
task
.
getBarcode
()+
"面别为:"
+
task
.
getSide
());
exportMap
.
put
(
cid
,
task
.
getExport
());
return
task
;
}
}
}
}
}
if
(
outTask
!=
null
)
{
log
.
info
(
outTask
.
getSourceName
()+
"barcode为:"
+
outTask
.
getBarcode
()+
"面别为:"
+
outTask
.
getSide
()+
"出料口为:"
+
outTask
.
getExport
());
if
(
StringUtils
.
isNotBlank
(
outTask
.
getExport
()))
{
exportMap
.
put
(
cid
,
outTask
.
getExport
());
}
}
DataLog
outTask
=
getNextTaskInStorage
(
cid
);
return
outTask
;
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论