Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 9749c28b
由
zshaohui
编写于
2025-02-20 10:36:16 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.增加人工盘点,小车不去拉
2.异常的料箱,所有隔口都需要盘点 3.盘点未结束,流水线不允许拉走
1 个父辈
a34a4d54
显示空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
57 行增加
和
13 行删除
src/main/java/com/neotel/smfcore/core/device/enums/OP_STATUS.java
src/main/java/com/neotel/smfcore/custom/lizhen/agvBox/rest/InventoryController.java
src/main/java/com/neotel/smfcore/custom/lizhen/agvBox/rest/WarehouseController.java
src/main/java/com/neotel/smfcore/custom/lizhen/agvBox/util/BoxUtil.java
src/main/java/com/neotel/smfcore/custom/luxsan/factory_c/rawstor/controller/manual/ManualGrPutInController.java
src/main/java/com/neotel/smfcore/custom/luxsan/factory_c/third/ManualLineController.java
src/main/java/com/neotel/smfcore/core/device/enums/OP_STATUS.java
查看文件 @
9749c28
...
@@ -73,5 +73,8 @@ public enum OP_STATUS {
...
@@ -73,5 +73,8 @@ public enum OP_STATUS {
ON_SLIDE
,
ON_SLIDE
,
//物料放入料格
//物料放入料格
REEL_TO_BOX
REEL_TO_BOX
,
//等到人工盘点
WAIT_MANAUL_INVENTORY
}
}
src/main/java/com/neotel/smfcore/custom/lizhen/agvBox/rest/InventoryController.java
查看文件 @
9749c28
...
@@ -324,12 +324,25 @@ public class InventoryController {
...
@@ -324,12 +324,25 @@ public class InventoryController {
/**
/**
* 盘点数据出库
* 盘点数据出库
*
*
* @param
storagePosIdList
* @param
paramMap
* @return
* @return
*/
*/
@RequestMapping
(
"/inventoryOut"
)
@RequestMapping
(
"/inventoryOut"
)
//@AnonymousAccess
//@AnonymousAccess
public
synchronized
ResultBean
inventoryOut
(
@RequestBody
List
<
String
>
storagePosIdList
)
{
public
synchronized
ResultBean
inventoryOut
(
@RequestBody
Map
<
String
,
String
>
paramMap
)
{
List
<
String
>
storagePosIdList
=
new
ArrayList
<>();
String
storagePosIdListStr
=
paramMap
.
get
(
"storagePosIdList"
);
if
(
StringUtils
.
isNotEmpty
(
storagePosIdListStr
)){
storagePosIdList
=
JsonUtil
.
toList
(
storagePosIdListStr
,
String
.
class
);
}
String
manualStr
=
paramMap
.
get
(
"manual"
);
if
(
StringUtils
.
isEmpty
(
manualStr
)){
return
ResultBean
.
newErrorResult
(-
1
,
""
,
"请选择人工盘点或者出到人工分拣线盘点"
);
}
boolean
manual
=
Boolean
.
valueOf
(
manualStr
);
String
inventoryBatch
=
dataCache
.
getCache
(
INVENTORY_DATA
)
+
""
;
String
inventoryBatch
=
dataCache
.
getCache
(
INVENTORY_DATA
)
+
""
;
if
(
StringUtils
.
isBlank
(
inventoryBatch
)
||
"-1"
.
equals
(
inventoryBatch
))
{
if
(
StringUtils
.
isBlank
(
inventoryBatch
)
||
"-1"
.
equals
(
inventoryBatch
))
{
return
ResultBean
.
newErrorResult
(-
1
,
""
,
"请点击开始盘点"
);
return
ResultBean
.
newErrorResult
(-
1
,
""
,
"请点击开始盘点"
);
...
@@ -380,7 +393,13 @@ public class InventoryController {
...
@@ -380,7 +393,13 @@ public class InventoryController {
dataLog
.
setExtendType
(
ExtendType
.
INVENTORY_CHECKOUT
);
//盘点出库
dataLog
.
setExtendType
(
ExtendType
.
INVENTORY_CHECKOUT
);
//盘点出库
dataLog
.
setInventoryBatch
(
dataCache
.
getCache
(
INVENTORY_DATA
));
dataLog
.
setInventoryBatch
(
dataCache
.
getCache
(
INVENTORY_DATA
));
dataLog
.
setLoc
(
TaskCurrentLoc
.
Manual_FeedingInlet
);
dataLog
.
setLoc
(
TaskCurrentLoc
.
Manual_FeedingInlet
);
dataLog
.
setSourceName
(
"盘点出库"
);
dataLog
.
setSourceName
(
inventoryBatch
+
"盘点出库"
);
//如果是人工盘点,则直接生成一个任务,等待人工盘点,否则拉到人工流水线去盘点
if
(
manual
){
dataLog
.
setStatus
(
OP_STATUS
.
WAIT_MANAUL_INVENTORY
.
name
());
}
else
{
dataLog
.
setStatus
(
OP_STATUS
.
WAIT
.
name
());
}
try
{
try
{
taskService
.
addTaskToExecute
(
dataLog
);
taskService
.
addTaskToExecute
(
dataLog
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
...
@@ -403,12 +422,21 @@ public class InventoryController {
...
@@ -403,12 +422,21 @@ public class InventoryController {
* @return
* @return
*/
*/
@RequestMapping
(
"/batchInventoryOut"
)
@RequestMapping
(
"/batchInventoryOut"
)
public
ResultBean
batchInventoryOut
(
String
posName
)
{
public
ResultBean
batchInventoryOut
(
String
posName
,
Boolean
manual
)
{
log
.
info
(
SecurityUtils
.
getLoginUsername
()+
":点击批量盘点,库位号为:"
+
posName
+
"是否人工盘点:"
+
manual
);
Pattern
pattern
=
Pattern
.
compile
(
QueryHelp
.
escapeExprSpecialWord
(
posName
),
Pattern
.
CASE_INSENSITIVE
);
Pattern
pattern
=
Pattern
.
compile
(
QueryHelp
.
escapeExprSpecialWord
(
posName
),
Pattern
.
CASE_INSENSITIVE
);
List
<
StoragePos
>
storagePosList
=
storagePosManager
.
findByQuery
(
new
Query
(
Criteria
.
where
(
"posName"
).
regex
(
pattern
)));
List
<
StoragePos
>
storagePosList
=
storagePosManager
.
findByQuery
(
new
Query
(
Criteria
.
where
(
"posName"
).
regex
(
pattern
)));
List
<
String
>
storagePosIdList
=
storagePosList
.
stream
().
map
(
item
->
item
.
getId
()).
collect
(
Collectors
.
toList
());
List
<
String
>
storagePosIdList
=
storagePosList
.
stream
().
map
(
item
->
item
.
getId
()).
collect
(
Collectors
.
toList
());
return
inventoryOut
(
storagePosIdList
);
if
(
manual
==
null
){
manual
=
false
;
}
Map
<
String
,
String
>
paramMap
=
new
HashMap
();
paramMap
.
put
(
"storagePosIdList"
,
JsonUtil
.
toJsonStr
(
storagePosIdList
));
paramMap
.
put
(
"manual"
,
JsonUtil
.
toJsonStr
(
manual
));
return
inventoryOut
(
paramMap
);
}
}
...
@@ -531,7 +559,7 @@ public class InventoryController {
...
@@ -531,7 +559,7 @@ public class InventoryController {
@RequestMapping
(
"/noInventoryOut"
)
@RequestMapping
(
"/noInventoryOut"
)
@AnonymousAccess
@AnonymousAccess
public
ResultBean
noInventoryOut
(
InventoryQuery
query
)
{
public
ResultBean
noInventoryOut
(
InventoryQuery
query
)
{
//判断时间是否为空
/*
//判断时间是否为空
BetweenData<Date> createDateBetween = query.getCreateDate();
BetweenData<Date> createDateBetween = query.getCreateDate();
if (createDateBetween == null || createDateBetween.isEmpty()) {
if (createDateBetween == null || createDateBetween.isEmpty()) {
return ResultBean.newErrorResult(-1, "", "所选时间为空");
return ResultBean.newErrorResult(-1, "", "所选时间为空");
...
@@ -578,7 +606,8 @@ public class InventoryController {
...
@@ -578,7 +606,8 @@ public class InventoryController {
}
}
dataCache.updateCache(INVENTORY_DATA, com.neotel.smfcore.common.utils.DateUtil.toDateString(System.currentTimeMillis(), "yyyyMMddHHmmssSSS"));
dataCache.updateCache(INVENTORY_DATA, com.neotel.smfcore.common.utils.DateUtil.toDateString(System.currentTimeMillis(), "yyyyMMddHHmmssSSS"));
}
}
return
inventoryOut
(
storagePosIdList
);
return inventoryOut(storagePosIdList);*/
return
ResultBean
.
newOkResult
(
""
);
}
}
...
@@ -748,12 +777,16 @@ public class InventoryController {
...
@@ -748,12 +777,16 @@ public class InventoryController {
data
.
setOriPosName
(
posName
);
data
.
setOriPosName
(
posName
);
String
boxPar
=
boxStr
+
"-0"
+
i
;
String
boxPar
=
boxStr
+
"-0"
+
i
;
if
(
partition
.
equals
(
boxPar
)
||
extraDataMap
.
get
(
CommonUtil
.
outExpPrefix
+
boxPar
)
!=
null
)
{
if
(
extraDataMap
!=
null
&&
!
extraDataMap
.
isEmpty
()){
data
.
setNeedInventory
(
true
);
}
else
{
if
(
partition
.
equals
(
boxPar
)){
data
.
setNeedInventory
(
true
);
data
.
setNeedInventory
(
true
);
}
else
{
}
else
{
data
.
setNeedInventory
(
false
);
data
.
setNeedInventory
(
false
);
data
.
setStatus
(
InventoryStatus
.
FINISHED
.
name
());
data
.
setStatus
(
InventoryStatus
.
FINISHED
.
name
());
}
}
}
if
(
subCodeList
==
null
||
subCodeList
.
isEmpty
()){
if
(
subCodeList
==
null
||
subCodeList
.
isEmpty
()){
data
.
setMatch
(
true
);
data
.
setMatch
(
true
);
}
}
...
...
src/main/java/com/neotel/smfcore/custom/lizhen/agvBox/rest/WarehouseController.java
查看文件 @
9749c28
...
@@ -538,7 +538,7 @@ public class WarehouseController {
...
@@ -538,7 +538,7 @@ public class WarehouseController {
//判断是否盘点完成
//判断是否盘点完成
boolean
finished
=
BoxUtil
.
isInventoryFinished
(
boxStr
);
boolean
finished
=
BoxUtil
.
isInventoryFinished
(
boxStr
);
if
(!
finished
)
{
if
(!
finished
)
{
//
return ResultBean.newErrorResult(-1, "", boxStr + "盘点未完成,请继续盘点");
return
ResultBean
.
newErrorResult
(-
1
,
""
,
boxStr
+
"盘点未完成,请继续盘点"
);
}
}
boxBarcode
.
setInventory
(
false
);
boxBarcode
.
setInventory
(
false
);
boxBarcode
=
barcodeManager
.
save
(
boxBarcode
);
boxBarcode
=
barcodeManager
.
save
(
boxBarcode
);
...
...
src/main/java/com/neotel/smfcore/custom/lizhen/agvBox/util/BoxUtil.java
查看文件 @
9749c28
...
@@ -184,11 +184,19 @@ public class BoxUtil {
...
@@ -184,11 +184,19 @@ public class BoxUtil {
List
<
InventoryData
>
dataList
=
inventoryDataManager
.
findByQuery
(
new
Query
(
Criteria
.
where
(
"inventoryBatch"
).
is
(
inventoryBatch
).
and
(
"box"
).
is
(
boxStr
)));
List
<
InventoryData
>
dataList
=
inventoryDataManager
.
findByQuery
(
new
Query
(
Criteria
.
where
(
"inventoryBatch"
).
is
(
inventoryBatch
).
and
(
"box"
).
is
(
boxStr
)));
if
(
dataList
!=
null
&&
!
dataList
.
isEmpty
())
{
if
(
dataList
!=
null
&&
!
dataList
.
isEmpty
())
{
for
(
InventoryData
data
:
dataList
)
{
for
(
InventoryData
data
:
dataList
)
{
if
(
data
.
getReelCount
()
<=
0
){
data
.
setStatus
(
InventoryStatus
.
FINISHED
.
name
());
inventoryDataManager
.
save
(
data
);
}
}
for
(
InventoryData
data
:
dataList
)
{
if
(
data
.
getReelCount
()
>
0
){
if
(!
data
.
getStatus
().
equals
(
InventoryStatus
.
FINISHED
.
name
()))
{
if
(!
data
.
getStatus
().
equals
(
InventoryStatus
.
FINISHED
.
name
()))
{
return
false
;
return
false
;
}
}
}
}
}
}
}
return
true
;
return
true
;
}
}
...
...
src/main/java/com/neotel/smfcore/custom/luxsan/factory_c/rawstor/controller/manual/ManualGrPutInController.java
查看文件 @
9749c28
...
@@ -367,7 +367,7 @@ public class ManualGrPutInController {
...
@@ -367,7 +367,7 @@ public class ManualGrPutInController {
//判断盘点是否完成
//判断盘点是否完成
boolean
finished
=
BoxUtil
.
isInventoryFinished
(
boxStr
);
boolean
finished
=
BoxUtil
.
isInventoryFinished
(
boxStr
);
if
(!
finished
)
{
if
(!
finished
)
{
//
return ResultBean.newErrorResult(-1, "", boxStr + "盘点未完成,请继续盘点");
return
ResultBean
.
newErrorResult
(-
1
,
""
,
boxStr
+
"盘点未完成,请继续盘点"
);
}
}
//1.清理要出库的数据
//1.清理要出库的数据
...
...
src/main/java/com/neotel/smfcore/custom/luxsan/factory_c/third/ManualLineController.java
查看文件 @
9749c28
...
@@ -138,7 +138,7 @@ public class ManualLineController {
...
@@ -138,7 +138,7 @@ public class ManualLineController {
boolean
finished
=
BoxUtil
.
isInventoryFinished
(
boxBarcode
.
getBarcode
());
boolean
finished
=
BoxUtil
.
isInventoryFinished
(
boxBarcode
.
getBarcode
());
if
(!
finished
)
{
if
(!
finished
)
{
//
return ResultBean.newErrorResult(-1, "", boxStr + "盘点未完成,请继续盘点");
return
ResultBean
.
newErrorResult
(-
1
,
""
,
boxStr
+
"盘点未完成,请继续盘点"
);
}
}
//1.清理要出库的数据
//1.清理要出库的数据
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论