Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit be5f0b65
由
zshaohui
编写于
2024-07-30 14:17:58 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
pk出库 获取未完成的任务
1 个父辈
d4a64955
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
45 行增加
和
8 行删除
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
src/main/java/com/neotel/smfcore/custom/luxsan/factory_c/rawstor/controller/PkCheckOutController.java
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
查看文件 @
be5f0b6
...
...
@@ -954,9 +954,13 @@ public class LiteOrderCache {
int
orderTaskReelCount
=
0
;
List
<
String
>
pnList
=
liteOrder
.
getOrderItems
().
stream
().
map
(
LiteOrderItem:
:
getPn
).
collect
(
Collectors
.
toList
());
List
<
StoragePos
>
allStoragePosList
=
storagePosManager
.
findStoragePosByPartNumber
(
pnList
);
for
(
LiteOrderItem
orderItem
:
liteOrder
.
getOrderItems
()){
List
<
StoragePos
>
allStoragePosList
=
new
ArrayList
();
//
List<StoragePos> allStoragePosList = new ArrayList();
//6.排除的仓位信息
Collection
excludeIdList
=
excludeOutPosIds
();
...
...
@@ -994,18 +998,16 @@ public class LiteOrderCache {
String
warehouseCode
=
orderItem
.
getWarehouseCode
();
//厂别
String
brand
=
orderItem
.
getBrand
();
//供应商
String
pn
=
orderItem
.
getPn
();
//料号
StoragePos
pos
=
storagePosManager
.
findPartNumberInStorages
(
storageIdList
,
pn
,
excludeIdList
,
dataCache
.
getCheckOutType
(),
warehouseCode
,
brand
,
true
);
if
(
pos
==
null
)
{
if
(
allStoragePosList
==
null
||
allStoragePosList
.
isEmpty
())
{
allStoragePosList
=
storagePosManager
.
findStoragePosByPartNumber
(
Arrays
.
asList
(
orderItem
.
getPn
()));
}
pos
=
getStoragePosByPartNumberAndBrand
(
allStoragePosList
,
pn
,
excludeIdList
);
}
StoragePos
pos
=
getStoragePosByPartNumberAndBrand
(
allStoragePosList
,
pn
,
excludeIdList
);
if
(
pos
==
null
)
{
log
.
info
(
orderItem
.
getOrderId
()
+
"厂商:"
+
warehouseCode
+
",供应商:"
+
brand
+
",料号:"
+
pn
+
"未找到存在库位,跳过"
);
break
;
}
Barcode
barcode
=
pos
.
getBarcode
();
log
.
info
(
orderItem
.
getId
()
+
"厂商:"
+
warehouseCode
+
",供应商:"
+
brand
+
",料号:"
+
pn
+
"找到的库位是:"
+
pos
.
getPosName
()+
",箱子号为:"
+
barcode
.
getBarcode
());
List
<
Barcode
>
subCodeList
=
barcode
.
getSubCodeList
();
//进行排序
subCodeList
=
subCodeList
.
stream
().
sorted
(
Comparator
.
comparing
(
Barcode:
:
getCreateDate
)).
collect
(
Collectors
.
toList
());
...
...
src/main/java/com/neotel/smfcore/custom/luxsan/factory_c/rawstor/controller/PkCheckOutController.java
查看文件 @
be5f0b6
...
...
@@ -3,6 +3,8 @@ package com.neotel.smfcore.custom.luxsan.factory_c.rawstor.controller;
import
com.neotel.smfcore.common.bean.ResultBean
;
import
com.neotel.smfcore.common.utils.SecurityUtils
;
import
com.neotel.smfcore.common.utils.StringUtils
;
import
com.neotel.smfcore.core.barcode.service.manager.IBarcodeManager
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.core.language.util.MessageUtils
;
import
com.neotel.smfcore.core.order.LiteOrderCache
;
import
com.neotel.smfcore.core.order.enums.LITEORDER_SOURCE
;
...
...
@@ -21,8 +23,11 @@ import com.neotel.smfcore.custom.luxsan.factory_c.rawstor.bean.dto.QueryPickingD
import
com.neotel.smfcore.custom.luxsan.factory_c.rawstor.enums.LiteorderCheckType
;
import
com.neotel.smfcore.custom.luxsan.factory_c.rawstor.util.CheckOutUtil
;
import
com.neotel.smfcore.custom.luxsan.factory_c.common.util.CommonUtil
;
import
com.neotel.smfcore.security.annotation.AnonymousAccess
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
...
...
@@ -46,6 +51,9 @@ public class PkCheckOutController {
@Autowired
private
TaskService
taskService
;
@Autowired
private
IBarcodeManager
barcodeManager
;
@ApiOperation
(
"出库目的地"
)
@RequestMapping
(
"/checkLoc"
)
...
...
@@ -196,4 +204,31 @@ public class PkCheckOutController {
}
return
ResultBean
.
newOkResult
(
""
);
}
@ApiOperation
(
"pk未出库的料箱"
)
@RequestMapping
(
"/checkOutBoxInfo"
)
@AnonymousAccess
public
ResultBean
checkOutBoxInfo
(
String
pickingId
)
{
//1.判断是否存在
LiteOrder
liteOrder
=
liteOrderCache
.
getLiteOrder
(
pickingId
);
if
(
liteOrder
==
null
)
{
liteOrder
=
liteOrderManager
.
findByOrderNo
(
pickingId
);
}
if
(
liteOrder
==
null
)
{
return
ResultBean
.
newErrorResult
(-
1
,
""
,
"工单:"
+
pickingId
+
"不存在"
);
}
List
<
LiteOrderItem
>
orderItems
=
liteOrder
.
getOrderItems
();
List
<
String
>
orderItemIdList
=
orderItems
.
stream
().
map
(
LiteOrderItem:
:
getId
).
collect
(
Collectors
.
toList
());
List
<
Barcode
>
barcodeList
=
barcodeManager
.
findByQuery
(
new
Query
(
Criteria
.
where
(
"orderItemId"
).
in
(
orderItemIdList
)));
if
(
barcodeList
!=
null
&&
!
barcodeList
.
isEmpty
())
{
List
<
String
>
posNameList
=
barcodeList
.
stream
().
map
(
Barcode:
:
getPosName
).
collect
(
Collectors
.
toList
());
posNameList
=
posNameList
.
stream
().
distinct
().
collect
(
Collectors
.
toList
());
return
ResultBean
.
newOkResult
(
posNameList
);
}
return
ResultBean
.
newErrorResult
(-
1
,
""
,
"工单:"
+
pickingId
+
"没有要出库的料箱"
);
}
}
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论