Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 94388583
由
zshaohui
编写于
2023-05-23 10:46:22 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
虚拟仓:一个库位可以放入多个物料
1 个父辈
1c6c8e84
显示空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
27 行增加
和
9 行删除
src/main/java/com/neotel/smfcore/core/device/handler/impl/VirtualBoxHandler.java
src/main/java/com/neotel/smfcore/core/storage/service/manager/IStoragePosManager.java
src/main/java/com/neotel/smfcore/core/storage/service/manager/impl/StoragePosManagerImpl.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/VirtualBoxHandler.java
查看文件 @
9438858
...
@@ -106,15 +106,15 @@ public class VirtualBoxHandler extends BaseDeviceHandler{
...
@@ -106,15 +106,15 @@ public class VirtualBoxHandler extends BaseDeviceHandler{
}
}
}
}
//扫描的为库位条码记录库位
//扫描的为库位条码记录库位
if
(
pos
.
getBarcode
()
!=
null
)
{
//
if (pos.getBarcode() != null) {
return
ResultBean
.
newErrorResult
(
1
,
"smfcore.shelf.msg.hasReel"
,
"库位中[{0}]已有物料"
,
new
String
[]{
pos
.
getPosName
()});
//
return ResultBean.newErrorResult(1, "smfcore.shelf.msg.hasReel", "库位中[{0}]已有物料", new String[]{pos.getPosName()});
}
else
{
//
} else {
VirtualOperateBean
operateBean
=
getOperateBean
(
token
);
VirtualOperateBean
operateBean
=
getOperateBean
(
token
);
operateBean
.
setOpPos
(
pos
);
operateBean
.
setOpPos
(
pos
);
devidePutInBeanMap
.
put
(
token
,
operateBean
);
devidePutInBeanMap
.
put
(
token
,
operateBean
);
log
.
info
(
ptoken
+
":库位["
+
pos
.
getPosName
()
+
"]操作成功,请扫描要放入的物料"
);
log
.
info
(
ptoken
+
":库位["
+
pos
.
getPosName
()
+
"]操作成功,请扫描要放入的物料"
);
return
ResultBean
.
newOkResult
(
"smfcore.shelf.msg.tipScanReel"
,
"库位["
+
pos
.
getPosName
()
+
"]操作成功,请扫描要放入的物料"
,
new
String
[]{
pos
.
getPosName
()},
pos
.
getPosName
());
return
ResultBean
.
newOkResult
(
"smfcore.shelf.msg.tipScanReel"
,
"库位["
+
pos
.
getPosName
()
+
"]操作成功,请扫描要放入的物料"
,
new
String
[]{
pos
.
getPosName
()},
pos
.
getPosName
());
}
//
}
}
else
{
}
else
{
//扫的是物料条码
//扫的是物料条码
Barcode
barcode
=
codeResolve
.
resolveOneValideBarcode
(
"=1x1="
+
code
);
Barcode
barcode
=
codeResolve
.
resolveOneValideBarcode
(
"=1x1="
+
code
);
...
@@ -162,16 +162,17 @@ public class VirtualBoxHandler extends BaseDeviceHandler{
...
@@ -162,16 +162,17 @@ public class VirtualBoxHandler extends BaseDeviceHandler{
return
ResultBean
.
newErrorResult
(
1
,
"smfcore.shelf.msg.scanPos"
,
"请先扫描库位码"
);
return
ResultBean
.
newErrorResult
(
1
,
"smfcore.shelf.msg.scanPos"
,
"请先扫描库位码"
);
}
else
{
}
else
{
log
.
info
(
barcode
.
getPartNumber
()
+
" [ "
+
barcode
.
getBarcode
()
+
" ] "
+
"入库到:"
+
opPos
.
getPosName
());
StoragePos
storagePos
=
storagePosManager
.
getAndCreatePos
(
storageId
,
opPos
.
getPosName
());
opPos
.
setCanCheckOutTime
(
System
.
currentTimeMillis
()
+
delayCloseTime
);
log
.
info
(
barcode
.
getPartNumber
()
+
" [ "
+
barcode
.
getBarcode
()
+
" ] "
+
"入库到:"
+
storagePos
.
getPosName
());
taskService
.
addTaskToFinished
(
opPos
,
barcode
,
loginUser
);
storagePos
.
setCanCheckOutTime
(
System
.
currentTimeMillis
()
+
delayCloseTime
);
taskService
.
addTaskToFinished
(
storagePos
,
barcode
,
loginUser
);
//入库结束后清理信息,不自动到下一个库位
//入库结束后清理信息,不自动到下一个库位
operateBean
.
setOpPos
(
null
);
//
operateBean.setOpPos(null);
devidePutInBeanMap
.
put
(
token
,
operateBean
);
devidePutInBeanMap
.
put
(
token
,
operateBean
);
log
.
info
(
ptoken
+
":条码["
+
code
+
"]入库操作成功,请放入库位 ["
+
opPos
.
getPosName
()
+
"]"
);
log
.
info
(
ptoken
+
":条码["
+
code
+
"]入库操作成功,请放入库位 ["
+
opPos
.
getPosName
()
+
"]"
);
return
ResultBean
.
newOkResult
(
"smfcore.shelf.msg.inOk"
,
"操作成功,请放入库位["
+
opPos
.
getPosName
()
+
"]"
,
new
String
[]{
op
Pos
.
getPosName
()},
""
);
return
ResultBean
.
newOkResult
(
"smfcore.shelf.msg.inOk"
,
"操作成功,请放入库位["
+
storagePos
.
getPosName
()
+
"]"
,
new
String
[]{
storage
Pos
.
getPosName
()},
""
);
}
}
}
catch
(
ValidateException
e
)
{
}
catch
(
ValidateException
e
)
{
...
...
src/main/java/com/neotel/smfcore/core/storage/service/manager/IStoragePosManager.java
查看文件 @
9438858
...
@@ -87,4 +87,6 @@ public interface IStoragePosManager extends IBaseManager<StoragePos> {
...
@@ -87,4 +87,6 @@ public interface IStoragePosManager extends IBaseManager<StoragePos> {
List
<
StoragePos
>
findExpiredOrSluggishBarcode
(
Date
date
,
int
type
);
List
<
StoragePos
>
findExpiredOrSluggishBarcode
(
Date
date
,
int
type
);
List
<
StoragePos
>
findExistPosList
(
String
id
,
List
<
String
>
list
);
List
<
StoragePos
>
findExistPosList
(
String
id
,
List
<
String
>
list
);
StoragePos
getAndCreatePos
(
String
storageId
,
String
posName
);
}
}
src/main/java/com/neotel/smfcore/core/storage/service/manager/impl/StoragePosManagerImpl.java
查看文件 @
9438858
...
@@ -4,6 +4,7 @@ import cn.hutool.core.util.ObjectUtil;
...
@@ -4,6 +4,7 @@ import cn.hutool.core.util.ObjectUtil;
import
com.google.common.base.Strings
;
import
com.google.common.base.Strings
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Maps
;
import
com.google.common.collect.Maps
;
import
com.neotel.smfcore.common.base.BasePo
;
import
com.neotel.smfcore.common.bean.PageData
;
import
com.neotel.smfcore.common.bean.PageData
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.utils.DateUtil
;
import
com.neotel.smfcore.common.utils.DateUtil
;
...
@@ -813,4 +814,18 @@ public class StoragePosManagerImpl implements IStoragePosManager {
...
@@ -813,4 +814,18 @@ public class StoragePosManagerImpl implements IStoragePosManager {
Query
q
=
new
Query
(
c
);
Query
q
=
new
Query
(
c
);
return
storagePosDao
.
findByQuery
(
q
);
return
storagePosDao
.
findByQuery
(
q
);
}
}
@Override
public
StoragePos
getAndCreatePos
(
String
storageId
,
String
posName
)
{
Pattern
pattern
=
Pattern
.
compile
(
posName
,
Pattern
.
CASE_INSENSITIVE
);
Criteria
c
=
Criteria
.
where
(
"posName"
).
regex
(
pattern
).
and
(
"enabled"
).
is
(
true
).
and
(
"used"
).
is
(
false
).
and
(
"barcode"
).
exists
(
false
).
and
(
"storageId"
).
is
(
storageId
);
StoragePos
storagePos
=
storagePosDao
.
findOne
(
new
Query
(
c
));
if
(
storagePos
==
null
)
{
storagePos
=
new
StoragePos
(
storageId
,
posName
,
1
,
1
,
1
);
storagePos
=
storagePosDao
.
save
(
storagePos
);
storagePos
.
setPosName
(
storagePos
.
getPosName
()
+
"-"
+
storagePos
.
getId
());
storagePosDao
.
save
(
storagePos
);
}
return
storagePos
;
}
}
}
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论