Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 1789a1ea
由
zshaohui
编写于
2022-09-22 13:40:23 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.实时库存接口修改
2.料盘与料仓尺寸不符,重新查找新的库位
1 个父辈
fc39d207
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
29 行增加
和
5 行删除
src/main/java/com/neotel/smfcore/core/device/handler/impl/BaseDeviceHandler.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/custom/neotelApi/rest/NeotelController.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/BaseDeviceHandler.java
查看文件 @
1789a1e
...
...
@@ -192,9 +192,11 @@ public class BaseDeviceHandler implements IDeviceHandler {
}
if
(!
storage
.
canPutInPos
(
barcodeSave
.
getPlateSize
(),
barcodeSave
.
getHeight
(),
storagePos
.
getW
(),
storagePos
.
getH
()))
{
String
reelSize
=
barcodeSave
.
getPlateSize
()
+
"x"
+
barcodeSave
.
getHeight
();
String
posSize
=
storagePos
.
getW
()
+
"x"
+
storagePos
.
getH
();
throw
new
ValidateException
(
"smfcore.error.pos.sizeNotMatch"
,
"料盘尺寸[{0}}]与库位{1}尺寸[{2}]不符,无法入库"
,
new
String
[]{
reelSize
,
posName
,
posSize
});
//String reelSize = barcodeSave.getPlateSize() + "x" + barcodeSave.getHeight();
//String posSize = storagePos.getW() + "x" + storagePos.getH();
//throw new ValidateException("smfcore.error.pos.sizeNotMatch", "料盘尺寸[{0}}]与库位{1}尺寸[{2}]不符,无法入库", new String[]{reelSize,posName,posSize});
//如果尺寸不符合,则重新查找空库位
storagePos
=
findLineEmptyPosForPutIn
(
storage
,
barcodeSave
);
}
}
else
{
...
...
src/main/java/com/neotel/smfcore/core/storage/service/manager/IStoragePosManager.java
查看文件 @
1789a1e
...
...
@@ -68,4 +68,6 @@ public interface IStoragePosManager extends IBaseManager<StoragePos> {
List
<
StoragePos
>
getSameSizeContinuityEmptyPosList
(
Storage
storage
,
Barcode
barcode
)
throws
ValidateException
;
List
<
StoragePos
>
getNotEmptyByStorageIdList
(
List
<
String
>
storageId
);
List
<
StoragePos
>
findByBarcodesAndPartNums
(
List
<
String
>
partNums
,
List
<
String
>
reelIds
);
}
src/main/java/com/neotel/smfcore/core/storage/service/manager/impl/StoragePosManagerImpl.java
查看文件 @
1789a1e
...
...
@@ -569,6 +569,21 @@ public class StoragePosManagerImpl implements IStoragePosManager {
return
storagePosDao
.
findByQuery
(
query
);
}
@Override
public
List
<
StoragePos
>
findByBarcodesAndPartNums
(
List
<
String
>
partNums
,
List
<
String
>
reelIds
)
{
//构造查询条件
Query
query
=
new
Query
();
Criteria
criteria
=
Criteria
.
where
(
"barcode"
).
exists
(
true
).
and
(
"enabled"
).
is
(
true
);
if
(
reelIds
!=
null
&&
!
reelIds
.
isEmpty
()){
criteria
.
and
(
"barcode.barcode"
).
in
(
reelIds
);
}
if
(
partNums
!=
null
&&
!
partNums
.
isEmpty
()){
criteria
.
and
(
"barcode.partNumber"
).
in
(
partNums
);
}
query
.
addCriteria
(
criteria
);
return
storagePosDao
.
findByQuery
(
query
);
}
/**
* 获取下一库位的库位名(后缀数字+1)
*/
...
...
src/main/java/com/neotel/smfcore/custom/neotelApi/rest/NeotelController.java
查看文件 @
1789a1e
...
...
@@ -34,6 +34,8 @@ import io.swagger.annotations.ApiOperation;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.ObjectUtils
;
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.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
...
...
@@ -124,8 +126,9 @@ public class NeotelController {
@ApiOperation
(
"6.3 获取实时库存"
)
@AnonymousPostMapping
(
"/inventory"
)
public
ResultBean
inventory
(
@RequestBody
Map
<
String
,
List
<
String
>>
paramMap
)
{
List
<
String
>
towerIds
=
paramMap
.
get
(
"towerIds"
);
List
<
StoragePos
>
storagePosList
=
storagePosManager
.
getNotEmptyByStorageIdList
(
towerIds
);
List
<
String
>
partNums
=
paramMap
.
get
(
"partNums"
);
List
<
String
>
reelIds
=
paramMap
.
get
(
"reelIds"
);
List
<
StoragePos
>
storagePosList
=
storagePosManager
.
findByBarcodesAndPartNums
(
partNums
,
reelIds
);
if
(
storagePosList
!=
null
&&
storagePosList
.
size
()
>
0
)
{
List
<
Map
<
String
,
Object
>>
resultMapList
=
new
ArrayList
<>();
for
(
StoragePos
storagePos
:
storagePosList
)
{
...
...
@@ -138,6 +141,7 @@ public class NeotelController {
resultMap
.
put
(
"qty"
,
subBarcode
.
getAmount
());
resultMap
.
put
(
"towerId"
,
storagePos
.
getStorageId
());
resultMap
.
put
(
"location"
,
storagePos
.
getPosName
());
resultMap
.
put
(
"partNum"
,
subBarcode
.
getPartNumber
());
resultMapList
.
add
(
resultMap
);
}
}
else
{
...
...
@@ -146,6 +150,7 @@ public class NeotelController {
resultMap
.
put
(
"qty"
,
barcode
.
getAmount
());
resultMap
.
put
(
"towerId"
,
storagePos
.
getStorageId
());
resultMap
.
put
(
"location"
,
storagePos
.
getPosName
());
resultMap
.
put
(
"partNum"
,
barcode
.
getPartNumber
());
resultMapList
.
add
(
resultMap
);
}
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论