Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit e5ce1009
由
zshaohui
编写于
2025-05-15 13:01:02 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.虚拟仓功能提交
1 个父辈
86420a20
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
14 个修改的文件
包含
137 行增加
和
12 行删除
src/main/java/com/neotel/smfcore/common/init/MenuInit.java
src/main/java/com/neotel/smfcore/core/barcode/enums/BARCODE_SOURCE.java
src/main/java/com/neotel/smfcore/core/storage/rest/StorageController.java
src/main/java/com/neotel/smfcore/core/storage/rest/StoragePosController.java
src/main/java/com/neotel/smfcore/core/storage/rest/query/StoragePosQueryCriteria.java
src/main/java/com/neotel/smfcore/core/storage/rest/query/StorageQueryCriteria.java
src/main/java/com/neotel/smfcore/core/virtual/controller/VirtualOperateController.java
src/main/resources/messages.properties
src/main/resources/messages_de_DE.properties
src/main/resources/messages_en_US.properties
src/main/resources/messages_fr_FR.properties
src/main/resources/messages_ja_JP.properties
src/main/resources/messages_zh_CN.properties
src/main/resources/messages_zh_TW.properties
src/main/java/com/neotel/smfcore/common/init/MenuInit.java
查看文件 @
e5ce100
...
...
@@ -172,6 +172,11 @@ public class MenuInit {
addDefaultFunctionMenu
(
22
,
msd
,
"MSD追溯性"
,
"msdData"
,
"neolight/msdData/index"
,
"MSDData"
);
addDefaultFunctionMenu
(
23
,
msd
,
"MSD设置"
,
"msdSetting"
,
"neolight/msdSetting/index"
,
"MSDSet"
);
Menu
virtual
=
Menu
.
CreatePMenu
(
"虚拟仓"
,
5
,
"virtual"
,
"virtual"
,
null
);
addDefaultFunctionMenu
(
24
,
virtual
,
"虚拟仓管理"
,
"virtualManager"
,
"virtualStorage/virtualManager/index"
,
"virtualManager"
);
addDefaultFunctionMenu
(
25
,
virtual
,
"虚拟库位管理"
,
"virtualLocationManager"
,
"virtualStorage/virtualLocationManager/index"
,
"virtualLocation"
);
addDefaultFunctionMenu
(
26
,
virtual
,
"虚拟仓操作"
,
"virtualOperations"
,
"virtualStorage/virtualOperations/index"
,
"virtualOperations"
);
//锡膏管理:设备概览.库存.追溯性.设置
Menu
solderPaste
=
Menu
.
CreatePMenu
(
"锡膏管理"
,
5
,
"solderPaste"
,
"sMana"
,
null
);
...
...
src/main/java/com/neotel/smfcore/core/barcode/enums/BARCODE_SOURCE.java
0 → 100644
查看文件 @
e5ce100
package
com
.
neotel
.
smfcore
.
core
.
barcode
.
enums
;
//物料信息来源
public
class
BARCODE_SOURCE
{
//虚拟仓
public
static
final
String
VIRTUAL
=
"virtual"
;
}
src/main/java/com/neotel/smfcore/core/storage/rest/StorageController.java
查看文件 @
e5ce100
...
...
@@ -10,6 +10,7 @@ import com.neotel.smfcore.common.utils.FileUtil;
import
com.neotel.smfcore.common.utils.PointUtil
;
import
com.neotel.smfcore.common.utils.QueryHelp
;
import
com.neotel.smfcore.common.utils.SecurityUtils
;
import
com.neotel.smfcore.core.barcode.enums.BARCODE_SOURCE
;
import
com.neotel.smfcore.core.device.bean.StatusBean
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.order.enums.ORDER_COLOR
;
...
...
@@ -87,6 +88,22 @@ public class StorageController {
@GetMapping
@PreAuthorize
(
"@el.check('storage:list')"
)
public
PageData
<
StorageDto
>
query
(
StorageQueryCriteria
criteria
,
Pageable
pageable
){
List
<
String
>
storageIdList
=
new
ArrayList
<>();
Collection
<
Storage
>
storages
=
dataCache
.
getAllStorage
().
values
();
String
pageType
=
criteria
.
getPageType
();
for
(
Storage
storage
:
storages
)
{
if
(
BARCODE_SOURCE
.
VIRTUAL
.
equals
(
pageType
)){
if
(!
storage
.
isVirtual
()){
continue
;
}
}
else
{
if
(
storage
.
isVirtual
()){
continue
;
}
}
storageIdList
.
add
(
storage
.
getId
());
}
criteria
.
setStorageIdList
(
storageIdList
);
Query
query
=
QueryHelp
.
getQuery
(
criteria
);
PageData
<
Storage
>
pages
=
storageManager
.
findByPage
(
query
,
pageable
);
List
<
StorageDto
>
StorageDtos
=
storageMapper
.
toDto
(
pages
.
getContent
());
...
...
@@ -146,7 +163,7 @@ public class StorageController {
@ApiOperation
(
"根据组权限返回所有料仓"
)
@GetMapping
(
value
=
"/all"
)
// @PreAuthorize("@el.check('storage:list')")
public
List
<
StorageSearchDto
>
query
(
String
groupId
)
{
public
List
<
StorageSearchDto
>
query
(
String
groupId
,
String
type
)
{
// String userId = SecurityUtils.getCurrentUserId();
// User user = userManager.get(userId);
Set
<
String
>
mygroups
=
new
HashSet
<>();
...
...
@@ -164,6 +181,15 @@ public class StorageController {
List
<
Storage
>
myStorages
=
new
ArrayList
<>();
for
(
Storage
s
:
allStorages
)
{
if
(
BARCODE_SOURCE
.
VIRTUAL
.
equals
(
type
)){
if
(!
s
.
isVirtual
()){
continue
;
}
}
else
{
if
(
s
.
isVirtual
()){
continue
;
}
}
if
(
mygroups
!=
null
&&
!
mygroups
.
isEmpty
())
{
if
(
mygroups
.
contains
(
s
.
getGroupId
()))
{
myStorages
.
add
(
s
);
...
...
@@ -285,12 +311,20 @@ public class StorageController {
}
@ApiOperation
(
"返回所有料仓类型"
)
@GetMapping
(
value
=
"/typeList"
)
public
List
<
String
>
typeList
()
{
public
List
<
String
>
typeList
(
String
type
)
{
List
<
DeviceType
>
availableTypeList
=
DeviceType
.
availableTypeList
();
List
<
String
>
allList
=
new
ArrayList
<>();
for
(
DeviceType
t
ype
:
for
(
DeviceType
deviceT
ype
:
availableTypeList
)
{
allList
.
add
(
type
.
getName
());
if
(
BARCODE_SOURCE
.
VIRTUAL
.
equals
(
type
)){
if
(
DeviceType
.
VIRTUAL
.
getName
().
equals
(
deviceType
.
getName
()))
{
allList
.
add
(
deviceType
.
getName
());
}
}
else
{
if
(!
DeviceType
.
VIRTUAL
.
getName
().
equals
(
deviceType
.
getName
()))
{
allList
.
add
(
deviceType
.
getName
());
}
}
}
return
allList
;
}
...
...
src/main/java/com/neotel/smfcore/core/storage/rest/StoragePosController.java
查看文件 @
e5ce100
...
...
@@ -11,6 +11,7 @@ import com.neotel.smfcore.common.utils.FileUtil;
import
com.neotel.smfcore.common.utils.QueryHelp
;
import
com.neotel.smfcore.common.utils.SecurityUtils
;
import
com.neotel.smfcore.core.barcode.bean.CodeBean
;
import
com.neotel.smfcore.core.barcode.enums.BARCODE_SOURCE
;
import
com.neotel.smfcore.core.barcode.rest.bean.dto.BarcodeDto
;
import
com.neotel.smfcore.core.barcode.rest.bean.dto.CodeDto
;
import
com.neotel.smfcore.core.barcode.rest.bean.mapstruct.CodeMapper
;
...
...
@@ -94,7 +95,25 @@ public class StoragePosController {
if
(
criteria
.
getStorageIdList
()
!=
null
&&
criteria
.
getStorageIdList
().
contains
(
"0"
))
{
criteria
.
setStorageIdList
(
null
);
}
criteria
.
setStorageIdList
(
QueryHelp
.
getGroupStorageIdList
(
criteria
.
getStorageIdList
()));
List
<
String
>
storageIdList
=
new
ArrayList
<>();
List
<
String
>
groupStorageIdList
=
QueryHelp
.
getGroupStorageIdList
(
criteria
.
getStorageIdList
());
if
(
groupStorageIdList
!=
null
&&
!
groupStorageIdList
.
isEmpty
()){
for
(
String
groupId
:
groupStorageIdList
)
{
Storage
storage
=
dataCache
.
getStorageById
(
groupId
);
if
(
BARCODE_SOURCE
.
VIRTUAL
.
equals
(
criteria
.
getType
())){
if
(
storage
.
isVirtual
()){
storageIdList
.
add
(
groupId
);
}
}
else
{
if
(!
storage
.
isVirtual
()){
storageIdList
.
add
(
groupId
);
}
}
}
}
criteria
.
setStorageIdList
(
storageIdList
);
String
blurry
=
criteria
.
getBlurry
();
if
(!
Strings
.
isNullOrEmpty
(
blurry
)){
//去除库位中的SOxxxx
...
...
src/main/java/com/neotel/smfcore/core/storage/rest/query/StoragePosQueryCriteria.java
查看文件 @
e5ce100
...
...
@@ -36,4 +36,6 @@ public class StoragePosQueryCriteria {
@ApiModelProperty
(
"是否使用"
)
@QueryCondition
private
Boolean
used
;
private
String
type
;
}
src/main/java/com/neotel/smfcore/core/storage/rest/query/StorageQueryCriteria.java
查看文件 @
e5ce100
...
...
@@ -6,6 +6,8 @@ import lombok.Data;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
import
java.util.List
;
@Data
public
class
StorageQueryCriteria
{
@QueryCondition
(
blurry
=
"name,cid"
)
...
...
@@ -22,4 +24,9 @@ public class StorageQueryCriteria {
private
String
cid
;
@QueryCondition
private
String
type
;
@QueryCondition
(
type
=
QueryCondition
.
Type
.
IN
,
propName
=
"id"
)
private
List
<
String
>
storageIdList
;
private
String
pageType
;
}
src/main/java/com/neotel/smfcore/core/virtual/controller/VirtualOperateController.java
0 → 100644
查看文件 @
e5ce100
此文件的差异被折叠,
点击展开。
src/main/resources/messages.properties
查看文件 @
e5ce100
...
...
@@ -423,4 +423,11 @@ smfcore.language.displayLanName.fr-FR=Fran\u00E7ais
smfcore.language.displayLanName.de-
DE
=
Deutsch
smfcore.logMonitor
=
\u
65E5
\u
5FD7
\u
76D1
\u
63A7
smfcore.materialTrace
=
\u7269\u6599\u
8FFD
\u
6EAF
smfcore.message.critical
=
\u
4E25
\u
91CD
\u9519\u
8BEF
\ No newline at end of file
smfcore.message.critical
=
\u
4E25
\u
91CD
\u9519\u
8BEF
smfcore.pos.noVirtual
=
[{0}]
\u
4E0D
\u
662F
\u
865A
\u
62DF
\u
4ED3
\u7684\u
5E93
\u
4F4D
smfcore.virtual.posNoBarcode
=
[{0}]
\u
4E0D
\u5728\u
5E93
\u
4F4D
\u
4E2D
smfcore.virtual.barcodeNotExistVirtualPos
=
[{0}]
\u
5E93
\u
4F4D
\u
4E3A[{1}],
\u
4E0D
\u
5C5E
\u
4E8E
\u
865A
\u
62DF
\u
4ED3
\u
5E93
\u
4F4D
smfcore.virtual
=
\u
865A
\u
62DF
\u
4ED3
smfcore.virtualManager
=
\u
865A
\u
62DF
\u
4ED3
\u
7BA1
\u7406
smfcore.virtualLocationManager
=
\u
865A
\u
62DF
\u
5E93
\u
4F4D
\u
7BA1
\u7406
smfcore.virtualOperations
=
\u
865A
\u
62DF
\u
4ED3
\u
64CD
\u
4F5C
\ No newline at end of file
src/main/resources/messages_de_DE.properties
查看文件 @
e5ce100
...
...
@@ -413,4 +413,11 @@ smfcore.language.displayLanName.fr-FR=Fran\u00E7ais
smfcore.language.displayLanName.de-
DE
=
Deutsch
smfcore.logMonitor
=
Log-
\u
00DCberwachung
smfcore.materialTrace
=
Materialverfolgung
smfcore.message.critical
=
Kritischer Fehler
\ No newline at end of file
smfcore.message.critical
=
Kritischer Fehler
smfcore.pos.noVirtual
=
[{0}] ist kein virtueller Lagerplatz
smfcore.virtual.posNoBarcode
=
[{0}] ist nicht im Lagerplatz
smfcore.virtual.barcodeNotExistVirtualPos
=
[{0}] Lagerplatz [{1}] geh
\u
00F6rt nicht zum virtuellen Lagerplatz
smfcore.virtual
=
Virtuelles Lager
smfcore.virtualManager
=
Verwaltung des virtuellen Lagers
smfcore.virtualLocationManager
=
Verwaltung virtueller Lagerpl
\u
00E4tze
smfcore.virtualOperations
=
Vorg
\u
00E4nge im virtuellen Lager
\ No newline at end of file
src/main/resources/messages_en_US.properties
查看文件 @
e5ce100
...
...
@@ -414,4 +414,11 @@ smfcore.language.displayLanName.fr-FR=Fran\u00E7ais
smfcore.language.displayLanName.de-
DE
=
Deutsch
smfcore.logMonitor
=
Log Monitoring
smfcore.materialTrace
=
Material Trace
smfcore.message.critical
=
Critical
\ No newline at end of file
smfcore.message.critical
=
Critical
smfcore.pos.noVirtual
=
[{0}] is not a virtual warehouse location
smfcore.virtual.posNoBarcode
=
[{0}] is not in the storage location
smfcore.virtual.barcodeNotExistVirtualPos
=
[{0}] Storage location [{1}] does not belong to the virtual warehouse location
smfcore.virtual
=
Virtual Warehouse
smfcore.virtualManager
=
Virtual Warehouse Management
smfcore.virtualLocationManager
=
Virtual Location Management
smfcore.virtualOperations
=
Virtual Warehouse Operations
\ No newline at end of file
src/main/resources/messages_fr_FR.properties
查看文件 @
e5ce100
...
...
@@ -413,4 +413,11 @@ smfcore.language.displayLanName.fr-FR=Fran\u00E7ais
smfcore.language.displayLanName.de-
DE
=
Deutsch
smfcore.logMonitor
=
Surveillance des Journaux
smfcore.materialTrace
=
Tra
\u
00E7abilit
\u
00E9 des mati
\u
00E8res
smfcore.message.critical
=
Erreur Critique
\ No newline at end of file
smfcore.message.critical
=
Erreur Critique
smfcore.pos.noVirtual
=
[{0}] n'est pas un emplacement d'entrep
\u
00F4t virtuel
smfcore.virtual.posNoBarcode
=
[{0}] n'est pas dans l'emplacement de stockage
smfcore.virtual.barcodeNotExistVirtualPos
=
[{0}] L'emplacement [{1}] n'appartient pas
\u
00E0 l'emplacement de stockage virtuel
smfcore.virtual
=
Entrep
\u
00F4t virtuel
smfcore.virtualManager
=
Gestion de l'entrep
\u
00F4t virtuel
smfcore.virtualLocationManager
=
Gestion des emplacements virtuels
smfcore.virtualOperations
=
Op
\u
00E9rations de l'entrep
\u
00F4t virtuel
\ No newline at end of file
src/main/resources/messages_ja_JP.properties
查看文件 @
e5ce100
...
...
@@ -410,4 +410,11 @@ smfcore.language.displayLanName.fr-FR=Fran\u00E7ais
smfcore.language.displayLanName.de-
DE
=
Deutsch
smfcore.logMonitor
=
\u
30ED
\u
30B0
\u
76E3
\u8996
smfcore.materialTrace
=
\u
30DE
\u
30C6
\u
30EA
\u
30A2
\u
30EB
\u
30C8
\u
30EC
\u
30FC
\u
30B9
smfcore.message.critical
=
\u
91CD
\u5927\u
30A8
\u
30E9
\u
30FC
\ No newline at end of file
smfcore.message.critical
=
\u
91CD
\u5927\u
30A8
\u
30E9
\u
30FC
smfcore.pos.noVirtual
=
[{0}]
\u
306F
\u
4EEE
\u
60F3
\u5009\u
5EAB
\u
306E
\u
30ED
\u
30B1
\u
30FC
\u
30B7
\u
30E7
\u
30F3
\u3067\u
306F
\u3042\u
308A
\u
307E
\u
305B
\u3093
smfcore.virtual.posNoBarcode
=
[{0}]
\u
306F
\u5728\u
5EAB
\u5834\u6240\u
306B
\u3042\u
308A
\u
307E
\u
305B
\u3093
smfcore.virtual.barcodeNotExistVirtualPos
=
[{0}]
\u
30ED
\u
30B1
\u
30FC
\u
30B7
\u
30E7
\u
30F3[{1}]
\u
306F
\u
4EEE
\u
60F3
\u5009\u
5EAB
\u
30ED
\u
30B1
\u
30FC
\u
30B7
\u
30E7
\u
30F3
\u
306B
\u
5C5E
\u3057\u3066\u3044\u
307E
\u
305B
\u3093
smfcore.virtual
=
\u
4EEE
\u
60F3
\u5009\u
5EAB
smfcore.virtualManager
=
\u
4EEE
\u
60F3
\u5009\u
5EAB
\u
7BA1
\u7406
smfcore.virtualLocationManager
=
\u
4EEE
\u
60F3
\u
30ED
\u
30B1
\u
30FC
\u
30B7
\u
30E7
\u
30F3
\u
7BA1
\u7406
smfcore.virtualOperations
=
\u
4EEE
\u
60F3
\u5009\u
5EAB
\u
64CD
\u
4F5C
\ No newline at end of file
src/main/resources/messages_zh_CN.properties
查看文件 @
e5ce100
...
...
@@ -410,4 +410,11 @@ smfcore.language.displayLanName.fr-FR=Fran\u00E7ais
smfcore.language.displayLanName.de-
DE
=
Deutsch
smfcore.logMonitor
=
\u
65E5
\u
5FD7
\u
76D1
\u
63A7
smfcore.materialTrace
=
\u7269\u6599\u
8FFD
\u
6EAF
smfcore.message.critical
=
\u
4E25
\u
91CD
\u9519\u
8BEF
\ No newline at end of file
smfcore.message.critical
=
\u
4E25
\u
91CD
\u9519\u
8BEF
smfcore.pos.noVirtual
=
[{0}]
\u
4E0D
\u
662F
\u
865A
\u
62DF
\u
4ED3
\u7684\u
5E93
\u
4F4D
smfcore.virtual.posNoBarcode
=
[{0}]
\u
4E0D
\u5728\u
5E93
\u
4F4D
\u
4E2D
smfcore.virtual.barcodeNotExistVirtualPos
=
[{0}]
\u
5E93
\u
4F4D
\u
4E3A[{1}],
\u
4E0D
\u
5C5E
\u
4E8E
\u
865A
\u
62DF
\u
4ED3
\u
5E93
\u
4F4D
smfcore.virtual
=
\u
865A
\u
62DF
\u
4ED3
smfcore.virtualManager
=
\u
865A
\u
62DF
\u
4ED3
\u
7BA1
\u7406
smfcore.virtualLocationManager
=
\u
865A
\u
62DF
\u
5E93
\u
4F4D
\u
7BA1
\u7406
smfcore.virtualOperations
=
\u
865A
\u
62DF
\u
4ED3
\u
64CD
\u
4F5C
\ No newline at end of file
src/main/resources/messages_zh_TW.properties
查看文件 @
e5ce100
...
...
@@ -410,4 +410,11 @@ smfcore.language.displayLanName.fr-FR=Fran\u00E7ais
smfcore.language.displayLanName.de-
DE
=
Deutsch
smfcore.logMonitor
=
\u
65E5
\u
8A8C
\u
76E3
\u
63A7
smfcore.materialTrace
=
\u7269\u6599\u
8FFD
\u
6EAF
smfcore.message.critical
=
\u
56B4
\u
91CD
\u
932F
\u
8AA4
\ No newline at end of file
smfcore.message.critical
=
\u
56B4
\u
91CD
\u
932F
\u
8AA4
smfcore.pos.noVirtual
=
[{0}]
\u
4E0D
\u
662F
\u
865B
\u
64EC
\u5009\u7684\u
5EAB
\u
4F4D
smfcore.virtual.posNoBarcode
=
[{0}]
\u
4E0D
\u5728\u
5EAB
\u
4F4D
\u
4E2D
smfcore.virtual.barcodeNotExistVirtualPos
=
[{0}]
\u
5EAB
\u
4F4D
\u
70BA[{1}]
\u
FF0C
\u
4E0D
\u
5C6C
\u
65BC
\u
865B
\u
64EC
\u5009\u
5EAB
\u
4F4D
smfcore.virtual
=
\u
865B
\u
64EC
\u5009
smfcore.virtualManager
=
\u
865B
\u
64EC
\u5009\u
7BA1
\u7406
smfcore.virtualLocationManager
=
\u
865B
\u
64EC
\u
5EAB
\u
4F4D
\u
7BA1
\u7406
smfcore.virtualOperations
=
\u
865B
\u
64EC
\u5009\u
64CD
\u
4F5C
\ No newline at end of file
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论