Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 170b492c
由
zshaohui
编写于
2024-07-08 17:34:31 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
手动出入库修改
1 个父辈
5a4a168b
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
62 行增加
和
16 行删除
src/main/java/com/neotel/smfcore/custom/lizhen/agvBox/rest/OutLineController.java
src/main/java/com/neotel/smfcore/custom/luxsan/factory_c/rawstor/controller/manual/ManualGrPutInController.java
src/main/java/com/neotel/smfcore/custom/lizhen/agvBox/rest/OutLineController.java
查看文件 @
170b492
...
...
@@ -623,6 +623,35 @@ public class OutLineController {
public
ResultBean
getOutBoxNum
(
@RequestBody
Map
<
String
,
String
>
paramMap
)
{
String
code
=
paramMap
.
get
(
"code"
);
//code = getBoxStrbyBoxPartition(code);
Barcode
barcode
=
codeResolve
.
resolveOneValideBarcode
(
code
);
if
(
barcode
==
null
)
{
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.error.barcode.invalid"
,
"条码无效"
);
}
DataLog
dataLog
=
null
;
for
(
DataLog
task
:
taskService
.
getAllTasks
())
{
if
(
barcode
.
getBarcode
().
equals
(
task
.
getBarcode
())){
if
(!
task
.
isFinished
()
&&
!
task
.
isCancel
()){
if
(
task
.
isPutInTask
())
{
return
ResultBean
.
newErrorResult
(-
1
,
""
,
code
+
"有正在执行中的任务,请确认"
);
}
else
{
dataLog
=
task
;
break
;
}
}
}
}
if
(
dataLog
!=
null
){
if
(!
dataLog
.
isOutFromPos
()){
taskService
.
moveTaskToFinished
(
dataLog
);
BoxHandleUtil
.
outFromPos
(
dataLog
);
dataLog
.
setOutFromPos
(
true
);
}
dataLog
.
setStatus
(
OP_STATUS
.
FINISHED
.
name
());
taskService
.
updateFinishedTask
(
dataLog
);
}
//判断是否有出库任务,如果有就完成
Map
<
String
,
Object
>
resultMap
=
getBoxInfo
(
code
);
return
ResultBean
.
newOkResult
(
resultMap
);
...
...
src/main/java/com/neotel/smfcore/custom/luxsan/factory_c/rawstor/controller/manual/ManualGrPutInController.java
查看文件 @
170b492
...
...
@@ -289,7 +289,7 @@ public class ManualGrPutInController {
@ApiOperation
(
"完成装箱并入库"
)
@RequestMapping
(
"/boxToPos"
)
@AnonymousAccess
public
synchronized
ResultBean
boxToPosNew
(
String
boxStr
,
String
posName
)
{
public
synchronized
ResultBean
boxToPosNew
(
String
boxStr
,
String
posName
,
String
type
)
{
if
(
StringUtils
.
isEmpty
(
boxStr
))
{
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.valueCanotNull"
,
"{0}不能为空"
,
new
String
[]{
"料箱信息"
});
...
...
@@ -307,6 +307,7 @@ public class ManualGrPutInController {
if
(
subCodeList
!=
null
&&
!
subCodeList
.
isEmpty
()){
for
(
Barcode
barcode
:
subCodeList
)
{
if
(
barcode
.
isOut
()){
log
.
info
(
boxStr
+
"有需要出库的料盘:"
+
barcode
.
getBarcode
()+
"需要改成不出库"
);
String
orderItemId
=
barcode
.
getOrderItemId
();
barcode
.
setOdn
(
""
);
barcode
.
setOrderId
(
""
);
...
...
@@ -332,52 +333,68 @@ public class ManualGrPutInController {
return
ResultBean
.
newErrorResult
(-
1
,
""
,
boxStr
+
"有正在执行的入库任务,请确认"
);
}
else
{
log
.
info
(
boxStr
+
"有正在执行的出库任务,服务器更改状态为完成"
);
if
(!
dataLog
.
isOutFromPos
()){
taskService
.
moveTaskToFinished
(
dataLog
);
BoxHandleUtil
.
outFromPos
(
dataLog
);
dataLog
.
setOutFromPos
(
true
);
}
dataLog
.
setStatus
(
OP_STATUS
.
FINISHED
.
name
());
taskService
.
updateFinishedTask
(
dataLog
);
}
}
}
//
2.判断传过来的库位是否为空,为空入到
智能仓
if
(
StringUtils
.
isEmpty
(
posName
))
{
//
如果是type为0时,入
智能仓
if
(
"0"
.
equals
(
type
))
{
StoragePos
pos
=
BoxHandleUtil
.
locOnePos
(
boxBarcode
);
if
(
pos
==
null
)
{
return
ResultBean
.
newErrorResult
(-
1
,
""
,
boxStr
+
"未找到可用库位"
);
}
pos
.
setBarcode
(
boxBarcode
);
storagePosManager
.
save
(
pos
);
log
.
info
(
boxStr
+
"入库到智能仓,分配的储位为:"
+
pos
.
getPosName
());
Storage
storage
=
dataCache
.
getStorageById
(
pos
.
getStorageId
());
DataLog
dataLog
=
taskService
.
addPutInTaskToExecute
(
storage
,
boxBarcode
,
pos
,
TaskCurrentLoc
.
Manual_DischargeHole
);
return
ResultBean
.
newOkResult
(
""
);
}
else
if
(
"1"
.
equals
(
type
)){
if
(
StringUtils
.
isEmpty
(
posName
)){
return
ResultBean
.
newErrorResult
(-
1
,
""
,
"库位不能为空"
);
}
//如果不为空,则入到虚拟仓
else
{
//判断库位有没有正在执行的任务
for
(
DataLog
task
:
taskService
.
getAllTasks
())
{
if
(
posName
.
equals
(
task
.
getPosName
())){
if
(!
task
.
isCancel
()
&&
!
task
.
isFinished
()){
return
ResultBean
.
newErrorResult
(-
1
,
""
,
posName
+
"当前库位有正在执行的任务,请确认"
);
}
}
}
//判断虚拟仓库位是否存在
StoragePos
pos
=
storagePosManager
.
getByPosName
(
posName
);
if
(
pos
==
null
){
return
ResultBean
.
newErrorResult
(-
1
,
""
,
boxStr
+
"对应的虚拟仓库位"
+
posName
+
"不存在"
);
}
String
storageId
=
pos
.
getStorageId
();
Storage
storage
=
dataCache
.
getStorageById
(
storageId
);
if
(
storage
==
null
||
!
storage
.
isVirtual
()){
return
ResultBean
.
newErrorResult
(-
1
,
""
,
posName
+
"不属于虚拟仓的库位"
);
return
ResultBean
.
newErrorResult
(-
1
,
""
,
boxStr
+
"对应的库位"
+
posName
+
"不存在"
);
}
Barcode
barcode
=
pos
.
getBarcode
();
if
(
barcode
!=
null
){
return
ResultBean
.
newErrorResult
(-
1
,
""
,
posName
+
"已经存在料箱:"
+
barcode
.
getBarcode
());
if
(!
barcode
.
getBarcode
().
equals
(
boxBarcode
.
getBarcode
()))
{
return
ResultBean
.
newErrorResult
(-
1
,
""
,
posName
+
"已经存在料箱:"
+
barcode
.
getBarcode
());
}
}
//判断当前箱子是否在其他库位中
StoragePos
oldPos
=
storagePosManager
.
getByBarcode
(
boxBarcode
.
getBarcode
());
if
(
oldPos
!=
null
){
log
.
info
(
boxStr
+
"清空原来的储位:"
+
oldPos
.
getPosName
());
oldPos
.
setBarcode
(
null
);
oldPos
.
setUsed
(
false
);
storagePosManager
.
save
(
oldPos
);
}
taskService
.
addTaskToFinished
(
pos
,
boxBarcode
,
"虚拟入库"
);
pos
.
setBarcode
(
null
);
taskService
.
addTaskToFinished
(
pos
,
boxBarcode
,
"手动入库"
);
return
ResultBean
.
newOkResult
(
""
);
}
return
ResultBean
.
newErrorResult
(-
1
,
""
,
"请选择手动入库"
);
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论