Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 63434ac1
由
sunke
编写于
2023-01-03 10:48:59 +0800
浏览文件
选项
浏览文件
标签
下载
差异文件
Merge remote-tracking branch 'origin/master'
2 个父辈
d5f851dd
6b460d36
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
81 行增加
和
12 行删除
src/main/java/com/neotel/smfcore/core/device/handler/impl/SisoBoxHandler.java
src/main/java/com/neotel/smfcore/custom/micron20031/MicronController.java
src/main/java/com/neotel/smfcore/custom/micron20031/bean/PosInfoDto.java
src/main/java/com/neotel/smfcore/custom/micron20031/bean/PosRowDto.java
src/main/java/com/neotel/smfcore/custom/micron20031/bean/PosValueInfo.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/SisoBoxHandler.java
查看文件 @
63434ac
...
...
@@ -4,12 +4,14 @@ import com.neotel.smfcore.core.device.bean.StatusBean;
import
com.neotel.smfcore.core.device.enums.OP
;
import
com.neotel.smfcore.core.storage.enums.DeviceType
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
import
com.neotel.smfcore.core.system.util.DevicesStatusUtil
;
import
lombok.ToString
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.List
;
import
java.util.Map
;
@Service
@Slf4j
...
...
@@ -41,6 +43,9 @@ public class SisoBoxHandler extends BaseDeviceHandler {
statusBean
=
taskService
.
checkOut
(
storage
,
statusBean
);
}
//获取操作
Map
<
String
,
String
>
opMap
=
DevicesStatusUtil
.
getAndRemoveOp
(
cid
);
statusBean
.
putOp
(
opMap
);
return
statusBean
;
}
@Override
...
...
src/main/java/com/neotel/smfcore/custom/micron20031/MicronController.java
查看文件 @
63434ac
...
...
@@ -4,7 +4,9 @@ import cn.hutool.core.convert.Convert;
import
cn.hutool.core.util.ObjectUtil
;
import
com.neotel.smfcore.core.storage.service.manager.IStoragePosManager
;
import
com.neotel.smfcore.core.storage.service.po.StoragePos
;
import
com.neotel.smfcore.custom.micron20031.bean.PosInfoDto
;
import
com.neotel.smfcore.custom.micron20031.bean.PosRowDto
;
import
com.neotel.smfcore.custom.micron20031.bean.PosValueInfo
;
import
com.neotel.smfcore.security.annotation.AnonymousAccess
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -15,10 +17,8 @@ import org.springframework.data.mongodb.core.query.Query;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
@Slf4j
@RestController
...
...
@@ -31,16 +31,15 @@ public class MicronController {
@ApiOperation
(
"获取库位使用列表"
)
@GetMapping
(
"/posUsedData"
)
@AnonymousAccess
public
Map
<
String
,
List
<
PosRowDto
>>
posUsedData
(
String
storageId
)
{
public
Map
<
String
,
List
<
PosRowDto
>>
posUsedData
(
String
storageId
)
{
if
(
ObjectUtil
.
isEmpty
(
storageId
))
{
return
new
HashMap
<>();
}
Query
query
=
new
Query
(
Criteria
.
where
(
"storageId"
).
is
(
storageId
));
Sort
sort
=
Sort
.
by
(
Sort
.
Direction
.
ASC
,
"labelName"
,
"posName"
);
query
.
with
(
sort
);
Map
<
String
,
List
<
PosRowDto
>>
resultMap
=
new
HashMap
<>();
List
<
StoragePos
>
posList
=
storagePosManager
.
findByQuery
(
query
);
Sort
sort
=
Sort
.
by
(
Sort
.
Direction
.
ASC
,
"labelName"
,
"posName"
);
//labelName, posN
Map
<
String
,
Map
<
String
,
Map
<
Integer
,
Integer
>>>
allMap
=
new
HashMap
<>();
...
...
@@ -76,14 +75,17 @@ public class MicronController {
for
(
String
lableName
:
allMap
.
keySet
())
{
Map
<
String
,
Map
<
Integer
,
Integer
>>
labelMap
=
allMap
.
get
(
lableName
);
List
<
String
>
keySet
=
new
ArrayList
<>(
labelMap
.
keySet
());
Collections
.
sort
(
keySet
);
List
<
PosRowDto
>
posRowDtos
=
new
ArrayList
<>();
for
(
String
name
:
labelMap
.
keySet
()
)
{
for
(
String
name
:
keySet
)
{
//记录此列
currMap
=
labelMap
.
get
(
name
);
Integer
[]
currA
=
new
Integer
[
currMap
.
size
()];
PosValueInfo
[]
currA
=
new
PosValueInfo
[
currMap
.
size
()];
for
(
int
index
=
0
;
index
<
currMap
.
size
();
index
++)
{
int
v
=
currMap
.
getOrDefault
(
index
+
1
,
0
);
currA
[
index
]
=
v
;
String
posName
=
name
+(
index
+
1
);
currA
[
index
]
=
new
PosValueInfo
(
posName
,
v
);
}
PosRowDto
rowDto
=
new
PosRowDto
(
name
,
currA
);
...
...
@@ -96,5 +98,28 @@ public class MicronController {
}
@ApiOperation
(
"获取库位信息"
)
@GetMapping
(
"/posInfo"
)
@AnonymousAccess
public
PosInfoDto
posInfo
(
String
posName
)
{
PosInfoDto
dto
=
new
PosInfoDto
();
if
(
ObjectUtil
.
isEmpty
(
posName
))
{
return
dto
;
}
dto
.
setPosName
(
posName
);
StoragePos
pos
=
storagePosManager
.
getByPosName
(
posName
);
if
(
pos
==
null
)
{
return
dto
;
}
if
(
pos
.
getBarcode
()!=
null
){
dto
.
setBarcode
(
pos
.
getBarcode
().
getBarcode
());
dto
.
setPartNumber
(
pos
.
getBarcode
().
getPartNumber
());
dto
.
setAmount
(
pos
.
getBarcode
().
getAmount
());
dto
.
setExpTime
(
pos
.
getBarcode
().
getExpTime
());
}
return
dto
;
}
}
src/main/java/com/neotel/smfcore/custom/micron20031/bean/PosInfoDto.java
0 → 100644
查看文件 @
63434ac
package
com
.
neotel
.
smfcore
.
custom
.
micron20031
.
bean
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
PosInfoDto
implements
Serializable
{
@ApiModelProperty
(
"库位号"
)
private
String
posName
;
@ApiModelProperty
(
"条码编号"
)
private
String
barcode
;
@ApiModelProperty
(
"料件编号"
)
private
String
partNumber
;
@ApiModelProperty
(
"数量"
)
private
int
amount
;
@ApiModelProperty
(
"过期时间(入库时间+最大存储时间)"
)
private
Date
expTime
;
}
src/main/java/com/neotel/smfcore/custom/micron20031/bean/PosRowDto.java
查看文件 @
63434ac
...
...
@@ -12,5 +12,5 @@ public class PosRowDto implements Serializable {
private
String
name
;
private
Integer
[]
value
;
private
PosValueInfo
[]
value
;
}
src/main/java/com/neotel/smfcore/custom/micron20031/bean/PosValueInfo.java
0 → 100644
查看文件 @
63434ac
package
com
.
neotel
.
smfcore
.
custom
.
micron20031
.
bean
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
PosValueInfo
implements
Serializable
{
private
String
posName
;
private
Integer
value
;
}
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论