Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit ed542779
由
LN
编写于
2023-03-23 13:44:19 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
工单详情增加 库存盘数和库存数量
1 个父辈
3a5ac57b
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
80 行增加
和
9 行删除
src/main/java/com/neotel/smfcore/core/device/util/DataCache.java
src/main/java/com/neotel/smfcore/core/order/rest/OrderController.java
src/main/java/com/neotel/smfcore/core/order/rest/bean/dto/OrderItemDto.java
src/main/java/com/neotel/smfcore/core/selfAudit/rest/SelfAuditDeviceController.java
src/main/java/com/neotel/smfcore/core/storage/service/manager/impl/StoragePosManagerImpl.java
src/main/java/com/neotel/smfcore/core/device/util/DataCache.java
查看文件 @
ed54277
...
@@ -500,7 +500,14 @@ public class DataCache {
...
@@ -500,7 +500,14 @@ public class DataCache {
}
}
public
List
<
List
<
StoragePos
>>
getAllUsedPosMap
()
{
public
List
<
List
<
StoragePos
>>
getAllUsedPosMap
()
{
List
<
List
<
StoragePos
>>
posList
=
new
ArrayList
<>(
usedPosMap
.
values
());
List
<
List
<
StoragePos
>>
posList
=
new
ArrayList
<>(
);
for
(
String
key
:
allStorage
.
keySet
())
{
List
<
StoragePos
>
list
=
getUsedPosList
(
key
);
if
(
list
.
size
()>
0
)
{
posList
.
add
(
list
);
}
}
return
posList
;
return
posList
;
}
}
...
...
src/main/java/com/neotel/smfcore/core/order/rest/OrderController.java
查看文件 @
ed54277
...
@@ -299,6 +299,7 @@ public class OrderController {
...
@@ -299,6 +299,7 @@ public class OrderController {
OrderDto
dto
=
orderMapper
.
toDto
(
liteOrder
);
OrderDto
dto
=
orderMapper
.
toDto
(
liteOrder
);
List
<
LiteOrderItem
>
orderItemDtos
=
liteOrder
.
getOrderItems
();
List
<
LiteOrderItem
>
orderItemDtos
=
liteOrder
.
getOrderItems
();
List
<
OrderItemDto
>
dtos
=
new
ArrayList
<>();
List
<
OrderItemDto
>
dtos
=
new
ArrayList
<>();
List
<
List
<
StoragePos
>>
allPosLists
=
null
;
for
(
LiteOrderItem
item
:
orderItemDtos
for
(
LiteOrderItem
item
:
orderItemDtos
)
{
)
{
OrderItemDto
orderItemDto
=
orderItemMapper
.
toDto
(
item
);
OrderItemDto
orderItemDto
=
orderItemMapper
.
toDto
(
item
);
...
@@ -312,6 +313,44 @@ public class OrderController {
...
@@ -312,6 +313,44 @@ public class OrderController {
}
}
orderItemDto
.
setAppendData
(
newMap
);
orderItemDto
.
setAppendData
(
newMap
);
}
}
//设置库存数量,库存盘数
int
inventoryReelCount
=
0
;
int
inventoryQty
=
0
;
if
(
allPosLists
==
null
)
{
allPosLists
=
dataCache
.
getAllUsedPosMap
();
}
try
{
for
(
List
<
StoragePos
>
list
:
allPosLists
)
{
for
(
StoragePos
pos
:
list
)
{
boolean
isItemPos
=
false
;
if
(
ObjectUtil
.
isNotEmpty
(
item
.
getRi
()))
{
if
(
pos
.
getBarcode
().
getBarcode
().
equals
(
item
.
getRi
()))
{
isItemPos
=
true
;
}
}
else
if
(
ObjectUtil
.
isNotEmpty
(
item
.
getPn
()))
{
if
(
ObjectUtil
.
isNotEmpty
(
pos
.
getBarcode
().
getPartNumber
())
&&
pos
.
getBarcode
().
getPartNumber
().
startsWith
(
item
.
getPn
()))
{
isItemPos
=
true
;
}
}
else
if
(
ObjectUtil
.
isNotEmpty
(
item
.
getMpn
()))
{
if
(
ObjectUtil
.
isNotEmpty
(
pos
.
getBarcode
().
getMpn
())
&&
pos
.
getBarcode
().
getMpn
().
equals
(
item
.
getMpn
()))
{
isItemPos
=
true
;
}
}
if
(
isItemPos
)
{
inventoryReelCount
+=
1
;
inventoryQty
+=
pos
.
getBarcode
().
getAmount
();
}
}
}
}
catch
(
Exception
ex
)
{
log
.
error
(
"error:"
+
ex
.
toString
());
}
orderItemDto
.
setInventoryQty
(
inventoryQty
);
orderItemDto
.
setInventoryReelCount
(
inventoryReelCount
);
dtos
.
add
(
orderItemDto
);
dtos
.
add
(
orderItemDto
);
}
}
dto
.
setOrderItems
(
dtos
);
dto
.
setOrderItems
(
dtos
);
...
...
src/main/java/com/neotel/smfcore/core/order/rest/bean/dto/OrderItemDto.java
查看文件 @
ed54277
...
@@ -49,13 +49,29 @@ public class OrderItemDto {
...
@@ -49,13 +49,29 @@ public class OrderItemDto {
*/
*/
@ApiModelProperty
(
"面别"
)
@ApiModelProperty
(
"面别"
)
private
String
side
=
""
;
private
String
side
=
""
;
//
@ApiModelProperty
(
"库存信息"
)
//
@ApiModelProperty("库存信息")
@Transient
//
@Transient
private
int
inventoryNum
=
0
;
//
private int inventoryNum = 0;
@ApiModelProperty
(
"制造商物料编号"
)
@ApiModelProperty
(
"制造商物料编号"
)
private
String
mpn
=
""
;
private
String
mpn
=
""
;
/**
* 库存数量
*/
private
int
inventoryQty
=
0
;
/**
* 库存盘数
*/
private
int
inventoryReelCount
=
0
;
// Inventory Quantity
// Inventory Reel / Bundle count
// Insufficient Quantity
// Insufficient Reel / Bundle count
// Insufficient
@ApiModelProperty
(
"自定义的附加字段,key=字段名,value=值"
)
@ApiModelProperty
(
"自定义的附加字段,key=字段名,value=值"
)
public
Map
<
String
,
String
>
appendData
=
new
HashMap
<>();
public
Map
<
String
,
String
>
appendData
=
new
HashMap
<>();
...
...
src/main/java/com/neotel/smfcore/core/selfAudit/rest/SelfAuditDeviceController.java
查看文件 @
ed54277
...
@@ -5,6 +5,7 @@ import com.neotel.smfcore.common.bean.ResultBean;
...
@@ -5,6 +5,7 @@ import com.neotel.smfcore.common.bean.ResultBean;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.utils.Constants
;
import
com.neotel.smfcore.common.utils.Constants
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.core.barcode.utils.CodeResolve
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.selfAudit.service.manager.ISelfAuditItemManager
;
import
com.neotel.smfcore.core.selfAudit.service.manager.ISelfAuditItemManager
;
import
com.neotel.smfcore.core.selfAudit.service.manager.ISelfAuditManager
;
import
com.neotel.smfcore.core.selfAudit.service.manager.ISelfAuditManager
;
...
@@ -46,6 +47,8 @@ public class SelfAuditDeviceController {
...
@@ -46,6 +47,8 @@ public class SelfAuditDeviceController {
private
TaskService
taskService
;
private
TaskService
taskService
;
@Autowired
@Autowired
private
ISelfAuditItemManager
selfAuditItemManager
;
private
ISelfAuditItemManager
selfAuditItemManager
;
@Autowired
private
CodeResolve
codeResolve
;
private
SelfAudit
getCurrObj
(){
private
SelfAudit
getCurrObj
(){
...
@@ -177,8 +180,13 @@ public class SelfAuditDeviceController {
...
@@ -177,8 +180,13 @@ public class SelfAuditDeviceController {
StoragePos
storagePos
=
storagePosManager
.
getByPosName
(
posName
);
StoragePos
storagePos
=
storagePosManager
.
getByPosName
(
posName
);
if
(
storagePos
!=
null
)
{
if
(
storagePos
!=
null
)
{
try
{
try
{
log
.
info
(
"盘点入库完成,自动生成入库任务,更新库位["
+
storagePos
.
getPosName
()
+
"]"
);
if
(
ObjectUtil
.
isNotEmpty
(
barcode
)&&
barcode
.
equals
(
actualBarcode
)){
Barcode
barcode1
=
codeResolve
.
resolveOneValideBarcode
(
barcode
);
if
(
barcode1
!=
null
){
log
.
info
(
"盘点入库完成,条码一致,自动生成入库任务,更新库位["
+
storagePos
.
getPosName
()
+
"]"
);
taskService
.
addTaskToFinished
(
storagePos
,
barcode1
,
"selfAudit"
);
}
}
//TODO
//TODO
...
@@ -187,6 +195,7 @@ public class SelfAuditDeviceController {
...
@@ -187,6 +195,7 @@ public class SelfAuditDeviceController {
}
}
}
}
item
.
setActualBarcode
(
actualBarcode
);
item
.
setItemStatus
(
2
);
item
.
setItemStatus
(
2
);
selfAuditItemManager
.
save
(
item
);
selfAuditItemManager
.
save
(
item
);
}
}
...
...
src/main/java/com/neotel/smfcore/core/storage/service/manager/impl/StoragePosManagerImpl.java
查看文件 @
ed54277
...
@@ -242,13 +242,13 @@ public class StoragePosManagerImpl implements IStoragePosManager {
...
@@ -242,13 +242,13 @@ public class StoragePosManagerImpl implements IStoragePosManager {
@Override
@Override
public
List
<
StoragePos
>
findUsedPosNameByStorageId
(
String
storageId
)
{
public
List
<
StoragePos
>
findUsedPosNameByStorageId
(
String
storageId
)
{
Criteria
c
=
Criteria
.
where
(
"barcode"
).
exists
(
true
)
Criteria
c
=
Criteria
.
where
(
"barcode"
).
exists
(
true
)
.
and
(
"enabled"
).
is
(
true
);
//可用;
.
and
(
"enabled"
).
is
(
true
);
//可用;
if
(!
Strings
.
isNullOrEmpty
(
storageId
)){
if
(!
Strings
.
isNullOrEmpty
(
storageId
)){
c
=
c
.
and
(
"storageId"
).
is
(
storageId
);
c
=
c
.
and
(
"storageId"
).
is
(
storageId
);
}
}
Query
query
=
new
Query
(
c
);
Query
query
=
new
Query
(
c
);
query
.
fields
().
include
(
"posName"
).
exclude
(
"id"
);
//
query.fields().include("posName").exclude("id");
return
storagePosDao
.
findByQuery
(
query
);
return
storagePosDao
.
findByQuery
(
query
);
}
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论