Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 2725366b
由
孙克
编写于
2024-05-08 10:38:52 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
半成品仓增加入库完成处理逻辑
1 个父辈
22d00a6d
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
48 行增加
和
4 行删除
src/main/java/com/neotel/smfcore/custom/luxsan/factory_c/wipstor/controller/LineController.java
src/main/java/com/neotel/smfcore/custom/luxsan/factory_c/wipstor/controller/LineController.java
查看文件 @
2725366
package
com
.
neotel
.
smfcore
.
custom
.
luxsan
.
factory_c
.
wipstor
.
controller
;
import
com.google.common.collect.Lists
;
import
com.neotel.smfcore.common.bean.ReelLockPosInfo
;
import
com.neotel.smfcore.common.bean.ResultBean
;
import
com.neotel.smfcore.common.utils.ReelLockPosUtil
;
import
com.neotel.smfcore.common.utils.StringUtils
;
import
com.neotel.smfcore.core.barcode.service.manager.IBarcodeManager
;
import
com.neotel.smfcore.core.barcode.service.manager.IComponentManager
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.core.barcode.service.po.Component
;
import
com.neotel.smfcore.core.barcode.utils.CodeResolve
;
import
com.neotel.smfcore.core.device.enums.OP
;
import
com.neotel.smfcore.core.device.enums.OP_STATUS
;
...
...
@@ -18,6 +21,7 @@ import com.neotel.smfcore.core.system.service.po.DataLog;
import
com.neotel.smfcore.core.system.util.TaskService
;
import
com.neotel.smfcore.custom.luxsan.api.LuxsanApi
;
import
com.neotel.smfcore.custom.luxsan.api.bean.request.FetchPalletInfoRequest
;
import
com.neotel.smfcore.custom.luxsan.api.bean.request.PalletUpdateRequest
;
import
com.neotel.smfcore.custom.luxsan.api.bean.request.ValidCartonRequest
;
import
com.neotel.smfcore.custom.luxsan.api.bean.result.FetchPalletInfoResult
;
import
com.neotel.smfcore.custom.luxsan.api.bean.result.ValidCartonResult
;
...
...
@@ -53,6 +57,12 @@ public class LineController {
@Autowired
private
IBarcodeManager
barcodeManager
;
@Autowired
private
IStoragePosManager
storagePosManager
;
@Autowired
private
IComponentManager
componentManager
;
@Autowired
private
IDataLogManager
dataLogManager
;
...
...
@@ -128,14 +138,23 @@ public class LineController {
}
}
if
(
fetchPalletInfo
!=
null
)
{
if
(
fetchPalletInfo
.
getSTATUS
()
!=
PalletEnum
.
INVENTORY_IN_WAREHOUSE
)
{
return
ResultBean
.
newErrorResult
(-
1
,
""
,
fetchPalletInfo
.
getPALLET_ID
()
+
"不是
在库库存状态
,不允许入库"
);
if
(
fetchPalletInfo
.
getSTATUS
()
!=
PalletEnum
.
POSTED_AND_PENDING_SHELVING
)
{
return
ResultBean
.
newErrorResult
(-
1
,
""
,
fetchPalletInfo
.
getPALLET_ID
()
+
"不是
[6 已过账,待上架]
,不允许入库"
);
}
//设置barcode的其他参数
barcode
.
setPlantCode
(
fetchPalletInfo
.
getPLANT
());
barcode
.
setCartonId
(
fetchPalletInfo
.
getPALLET_ID
());
barcode
.
setPalletId
(
fetchPalletInfo
.
getPALLET_ID
());
barcode
.
setPn
(
fetchPalletInfo
.
getMATERIAL_CODE
());
barcode
.
setPartNumber
(
fetchPalletInfo
.
getMATERIAL_CODE
());
Component
component
=
componentManager
.
findOneByPN
(
barcode
.
getPartNumber
());
if
(
component
==
null
){
component
=
new
Component
();
component
.
setPartNumber
(
barcode
.
getPartNumber
());
component
.
setPlateSize
(
Integer
.
valueOf
(
2
));
component
.
setHeight
(
Integer
.
valueOf
(
2
));
componentManager
.
save
(
component
);
}
barcode
.
setModelFamily
(
fetchPalletInfo
.
getMODEL_FAMILY
());
barcode
.
setMaterialType
(
fetchPalletInfo
.
getMATERIAL_TYPE
());
barcode
.
setWarehouseCode
(
fetchPalletInfo
.
getWAREHOUSE_CODE
());
...
...
@@ -184,7 +203,7 @@ public class LineController {
barcode
.
setScanCartonId
(
""
);
//4.生成入库任务
DataLog
dataLog
=
taskService
.
addPutInTaskToExecute
(
storage
,
barcode
,
pos
);
taskService
.
addPutInTaskToExecute
(
storage
,
barcode
,
pos
);
return
ResultBean
.
newOkResult
(
""
);
}
...
...
@@ -281,8 +300,33 @@ public class LineController {
}
private
void
finishedPutInTask
(
DataLog
queueTask
){
Barcode
barcode
=
barcodeManager
.
findByBarcode
(
queueTask
.
getBarcode
());
//通知WMS
PalletUpdateRequest
palletUpdateRequest
=
new
PalletUpdateRequest
();
palletUpdateRequest
.
setREQUEST_ID
(
System
.
currentTimeMillis
()+
""
);
palletUpdateRequest
.
setPALLET_LIST
(
Lists
.
newArrayList
(
barcode
.
getPalletId
()));
palletUpdateRequest
.
setBIN_CODE
(
queueTask
.
getPosName
());
palletUpdateRequest
.
setBIZ_TYPE
(
"M"
);
LuxsanApi
.
palletUpdate
(
palletUpdateRequest
);
//已完成,加入库存,并且从完成队列中清除
StoragePos
storagePos
=
storagePosManager
.
get
(
queueTask
.
getPosId
());
if
(
barcode
!=
null
)
{
barcode
.
setUsedCount
(
barcode
.
getUsedCount
()
+
1
);
barcode
.
setPutInTime
(
System
.
currentTimeMillis
());
barcode
.
setInOpor
(
""
);
barcode
.
setCheckOutDate
(
null
,
""
);
barcode
.
setPosName
(
queueTask
.
getPosName
());
barcode
=
barcodeManager
.
save
(
barcode
);
}
storagePos
.
setBarcode
(
barcode
);
storagePos
.
setUsed
(
true
);
storagePos
.
setCanCheckOutTime
(
System
.
currentTimeMillis
());
storagePosManager
.
save
(
storagePos
);
queueTask
.
setStatus
(
OP_STATUS
.
FINISHED
.
name
());
//TODO: 保存库存, 通知WMS
taskService
.
moveTaskToFinished
(
queueTask
);
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论