Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 55018085
由
LN
编写于
2021-09-15 17:24:39 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
修改组管理功能。看板查询修改。默认不创建组。
1 个父辈
0746e476
显示空白字符变更
内嵌
并排
正在显示
15 个修改的文件
包含
217 行增加
和
64 行删除
src/main/java/com/neotel/smfcore/common/init/DataInitManager.java
src/main/java/com/neotel/smfcore/core/device/util/DataCache.java
src/main/java/com/neotel/smfcore/core/kanban/rest/BoxKanbanController.java
src/main/java/com/neotel/smfcore/core/kanban/rest/bean/dto/BoxTaskDto.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/service/manager/IStorageManager.java
src/main/java/com/neotel/smfcore/core/storage/service/manager/impl/StorageManagerImpl.java
src/main/java/com/neotel/smfcore/core/system/rest/TaskController.java
src/main/java/com/neotel/smfcore/core/system/rest/bean/query/TaskQueryCondition.java
src/main/java/com/neotel/smfcore/core/system/service/manager/impl/DataLogManagerImpl.java
src/main/java/com/neotel/smfcore/security/rest/GroupController.java
src/main/java/com/neotel/smfcore/security/service/manager/IUserManager.java
src/main/java/com/neotel/smfcore/security/service/manager/impl/UserManagerImpl.java
src/main/java/com/neotel/smfcore/security/service/po/Group.java
src/main/java/com/neotel/smfcore/common/init/DataInitManager.java
查看文件 @
5501808
...
@@ -38,8 +38,8 @@ public class DataInitManager {
...
@@ -38,8 +38,8 @@ public class DataInitManager {
IRoleManager
roleManager
;
IRoleManager
roleManager
;
@Autowired
@Autowired
IMenuManager
menuManager
;
IMenuManager
menuManager
;
@Autowired
//
@Autowired
IGroupManager
groupManager
;
//
IGroupManager groupManager;
@Autowired
@Autowired
TaskService
taskService
;
TaskService
taskService
;
...
@@ -58,11 +58,11 @@ public class DataInitManager {
...
@@ -58,11 +58,11 @@ public class DataInitManager {
log
.
info
(
"开始创建默认菜单..."
);
log
.
info
(
"开始创建默认菜单..."
);
Set
<
String
>
menuIdSet
=
MenuInitNew
()
;
Set
<
String
>
menuIdSet
=
MenuInitNew
()
;
Group
group
=
new
Group
(
"未分组"
);
//
Group group=new Group("未分组");
group
=
groupManager
.
save
(
group
);
//
group=groupManager.save(group);
log
.
info
(
"创建默认组:"
+
group
.
toString
());
//
log.info("创建默认组:" + group.toString());
Set
<
String
>
groupIds
=
new
HashSet
<>();
Set
<
String
>
groupIds
=
new
HashSet
<>();
groupIds
.
add
(
group
.
getId
());
//
groupIds.add(group.getId());
Role
role
=
new
Role
(
menuIdSet
,
"admin"
,
"管理员"
);
Role
role
=
new
Role
(
menuIdSet
,
"admin"
,
"管理员"
);
role
=
roleManager
.
save
(
role
);
role
=
roleManager
.
save
(
role
);
...
@@ -172,18 +172,18 @@ public class DataInitManager {
...
@@ -172,18 +172,18 @@ public class DataInitManager {
List
<
Menu
>
menus
=
new
ArrayList
<
Menu
>();
List
<
Menu
>
menus
=
new
ArrayList
<
Menu
>();
//料架分组
//料架分组
Menu
menukanban
=
new
Menu
(
new
ArrayList
<
Menu
>(),
1
,
"boxkanban"
,
"设备看板"
,
1
,
"lockMaterial"
,
"lockMaterial/material/index"
,
""
,
0
,
"
app
"
);
Menu
menukanban
=
new
Menu
(
new
ArrayList
<
Menu
>(),
1
,
"boxkanban"
,
"设备看板"
,
1
,
"lockMaterial"
,
"lockMaterial/material/index"
,
""
,
0
,
"
kanban
"
);
// menukanban.setHidden(true);
// menukanban.setHidden(true);
menus
.
addAll
(
createMenus
(
menukanban
));
menus
.
addAll
(
createMenus
(
menukanban
));
//料架分组
//料架分组
Menu
menuShelf
=
new
Menu
(
new
ArrayList
<
Menu
>(),
1
,
"menu:list"
,
"料架分组"
,
1
,
"lightGroup"
,
"neolight/lightGroup/index"
,
""
,
0
,
"
list
"
);
Menu
menuShelf
=
new
Menu
(
new
ArrayList
<
Menu
>(),
1
,
"menu:list"
,
"料架分组"
,
1
,
"lightGroup"
,
"neolight/lightGroup/index"
,
""
,
0
,
"
neo1
"
);
// menuShelf.setHidden(true);
// menuShelf.setHidden(true);
menus
.
addAll
(
createMenus
(
menuShelf
));
menus
.
addAll
(
createMenus
(
menuShelf
));
//出库:工单,查找出库
//出库:工单,查找出库
Menu
poutOut
=
Menu
.
CreatePMenu
(
"工单管理"
,
20
,
"order"
,
2
,
"
zujian
"
);
Menu
poutOut
=
Menu
.
CreatePMenu
(
"工单管理"
,
20
,
"order"
,
2
,
"
workOrder
"
);
Menu
menuOrder
=
new
Menu
(
new
ArrayList
<
Menu
>(),
1
,
"menu:list"
,
"工单"
,
1
,
"workOrder"
,
"neolight/workOrder/index"
,
""
,
0
,
"
icon
"
);
Menu
menuOrder
=
new
Menu
(
new
ArrayList
<
Menu
>(),
1
,
"menu:list"
,
"工单"
,
1
,
"workOrder"
,
"neolight/workOrder/index"
,
""
,
0
,
"
workOrder
"
);
Menu
menuOut
=
new
Menu
(
new
ArrayList
<
Menu
>(),
1
,
"menu:list"
,
"查找出库"
,
1
,
"singleOuput"
,
"neolight/singleOuput/index"
,
""
,
0
,
"
search
"
);
Menu
menuOut
=
new
Menu
(
new
ArrayList
<
Menu
>(),
1
,
"menu:list"
,
"查找出库"
,
1
,
"singleOuput"
,
"neolight/singleOuput/index"
,
""
,
0
,
"
export1
"
);
menus
.
addAll
(
createMenus
(
poutOut
,
menuOrder
,
menuOut
));
menus
.
addAll
(
createMenus
(
poutOut
,
menuOrder
,
menuOut
));
//设置:料仓管理,菜单管理
//设置:料仓管理,菜单管理
...
@@ -198,7 +198,7 @@ public class DataInitManager {
...
@@ -198,7 +198,7 @@ public class DataInitManager {
//物料管理:元器件管理,条形码管理
//物料管理:元器件管理,条形码管理
Menu
pMenuWl
=
Menu
.
CreatePMenu
(
"物料管理"
,
30
,
"materiel "
,
2
,
"
redis
"
);
Menu
pMenuWl
=
Menu
.
CreatePMenu
(
"物料管理"
,
30
,
"materiel "
,
2
,
"
materiel
"
);
Menu
menucom
=
new
Menu
(
new
ArrayList
<
Menu
>(),
1
,
"component:list"
,
"元器件"
,
1
,
"componentParts"
,
"parts/component/index"
,
""
,
0
,
"server"
);
Menu
menucom
=
new
Menu
(
new
ArrayList
<
Menu
>(),
1
,
"component:list"
,
"元器件"
,
1
,
"componentParts"
,
"parts/component/index"
,
""
,
0
,
"server"
);
Menu
menubarcode
=
new
Menu
(
new
ArrayList
<
Menu
>(),
1
,
"barcode:list"
,
"条形码"
,
1
,
"barcode"
,
"barcode/barcode/index"
,
""
,
0
,
"chart"
);
Menu
menubarcode
=
new
Menu
(
new
ArrayList
<
Menu
>(),
1
,
"barcode:list"
,
"条形码"
,
1
,
"barcode"
,
"barcode/barcode/index"
,
""
,
0
,
"chart"
);
menus
.
addAll
(
createMenus
(
pMenuWl
,
menucom
,
menubarcode
));
menus
.
addAll
(
createMenus
(
pMenuWl
,
menucom
,
menubarcode
));
...
...
src/main/java/com/neotel/smfcore/core/device/util/DataCache.java
查看文件 @
5501808
package
com
.
neotel
.
smfcore
.
core
.
device
.
util
;
package
com
.
neotel
.
smfcore
.
core
.
device
.
util
;
import
com.google.common.base.Strings
;
import
com.google.common.base.Strings
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Maps
;
import
com.google.common.collect.Maps
;
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
;
...
@@ -23,6 +24,7 @@ import org.apache.logging.log4j.LogManager;
...
@@ -23,6 +24,7 @@ import org.apache.logging.log4j.LogManager;
import
org.apache.logging.log4j.Logger
;
import
org.apache.logging.log4j.Logger
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.util.ObjectUtils
;
import
javax.annotation.PostConstruct
;
import
javax.annotation.PostConstruct
;
import
java.util.*
;
import
java.util.*
;
...
@@ -458,5 +460,22 @@ public class DataCache {
...
@@ -458,5 +460,22 @@ public class DataCache {
storageInventory
.
put
(
inventoryItem
.
getPartNumber
(),
inventoryItem
);
storageInventory
.
put
(
inventoryItem
.
getPartNumber
(),
inventoryItem
);
inventoryMap
.
put
(
cid
,
storageInventory
);
inventoryMap
.
put
(
cid
,
storageInventory
);
}
}
public
List
<
String
>
getCidsByGroupId
(
String
groupId
,
boolean
nullReturnAll
){
List
<
String
>
cidList
=
Lists
.
newArrayList
();
for
(
Storage
storage
:
getAllStorage
().
values
())
{
if
(
groupId
!=
null
)
{
String
storageGroupId
=
storage
.
getGroupId
();
if
(
ObjectUtils
.
isEmpty
(
storageGroupId
)){
storageGroupId
=
""
;
}
if
(
storageGroupId
.
equals
(
groupId
))
{
cidList
.
add
(
storage
.
getCid
());
}
}
else
if
(
nullReturnAll
){
cidList
.
add
(
storage
.
getCid
());
}
}
return
cidList
;
}
}
}
src/main/java/com/neotel/smfcore/core/kanban/rest/BoxKanbanController.java
查看文件 @
5501808
...
@@ -78,14 +78,23 @@ public class BoxKanbanController {
...
@@ -78,14 +78,23 @@ public class BoxKanbanController {
String
userId
=
SecurityUtils
.
getCurrentUserId
();
String
userId
=
SecurityUtils
.
getCurrentUserId
();
User
user
=
userManager
.
get
(
userId
);
User
user
=
userManager
.
get
(
userId
);
Set
<
String
>
mygroups
=
user
.
getGroups
();
Set
<
String
>
mygroups
=
user
.
getGroups
();
mygroups
.
add
(
""
);
ArrayList
<
GroupStatusDto
>
groupStatusDtos
=
new
ArrayList
<>();
ArrayList
<
GroupStatusDto
>
groupStatusDtos
=
new
ArrayList
<>();
for
(
String
groupid
:
mygroups
)
{
for
(
String
groupid
:
mygroups
)
{
Group
group
=
groupManager
.
get
(
groupid
);
Group
group
=
groupManager
.
get
(
groupid
);
if
(
group
==
null
)
{
if
(
group
==
null
)
{
if
(
groupid
.
equals
(
""
)){
group
=
new
Group
(
""
);
group
.
setId
(
""
);
group
.
setCreateDate
(
new
Date
());
group
.
setUpdateDate
(
new
Date
());
}
else
{
continue
;
continue
;
}
}
}
List
<
BoxStatusDto
>
boxStatusDtos
=
new
ArrayList
<>();
List
<
BoxStatusDto
>
boxStatusDtos
=
new
ArrayList
<>();
List
<
String
>
cidList
=
getCidsByGroupId
(
groupid
,
false
);
List
<
String
>
cidList
=
dataCache
.
getCidsByGroupId
(
groupid
,
false
);
for
(
String
cid
:
cidList
)
{
for
(
String
cid
:
cidList
)
{
Storage
storage
=
dataCache
.
getStorage
(
cid
);
Storage
storage
=
dataCache
.
getStorage
(
cid
);
if
(
storage
==
null
){
if
(
storage
==
null
){
...
@@ -93,9 +102,11 @@ public class BoxKanbanController {
...
@@ -93,9 +102,11 @@ public class BoxKanbanController {
}
}
boxStatusDtos
.
add
(
getBoxDto
(
storage
,
allTasks
));
boxStatusDtos
.
add
(
getBoxDto
(
storage
,
allTasks
));
}
}
if
(
boxStatusDtos
.
size
()>
0
){
GroupStatusDto
groupStatusDto
=
new
GroupStatusDto
(
group
.
getId
(),
group
.
getGroupName
(),
boxStatusDtos
);
GroupStatusDto
groupStatusDto
=
new
GroupStatusDto
(
group
.
getId
(),
group
.
getGroupName
(),
boxStatusDtos
);
groupStatusDtos
.
add
(
groupStatusDto
);
groupStatusDtos
.
add
(
groupStatusDto
);
}
}
}
boxKanbanDto
.
setGroupList
(
groupStatusDtos
);
boxKanbanDto
.
setGroupList
(
groupStatusDtos
);
return
boxKanbanDto
;
return
boxKanbanDto
;
}
}
...
@@ -104,27 +115,30 @@ public class BoxKanbanController {
...
@@ -104,27 +115,30 @@ public class BoxKanbanController {
@GetMapping
(
"/task"
)
@GetMapping
(
"/task"
)
@PreAuthorize
(
"@el.check('boxkanban:list')"
)
@PreAuthorize
(
"@el.check('boxkanban:list')"
)
public
PageData
<
BoxTaskDto
>
info
(
BoxTaskQueryCriter
criteria
,
Pageable
pageable
)
{
public
PageData
<
BoxTaskDto
>
info
(
BoxTaskQueryCriter
criteria
,
Pageable
pageable
)
{
if
(
criteria
.
getType
()!=
null
&&
criteria
.
getType
().
equals
(
0
)
){
criteria
.
setType
(
null
);
}
Query
query
=
QueryHelp
.
getQuery
(
criteria
);
Query
query
=
QueryHelp
.
getQuery
(
criteria
);
String
groupId
=
criteria
.
getGroupId
();
String
groupId
=
criteria
.
getGroupId
();
List
<
String
>
cidList
=
getCidsByGroupId
(
groupId
,
true
);
List
<
String
>
cidList
=
dataCache
.
getCidsByGroupId
(
groupId
,
true
);
query
.
addCriteria
(
Criteria
.
where
(
"cid"
).
in
(
cidList
));
query
.
addCriteria
(
Criteria
.
where
(
"cid"
).
in
(
cidList
));
//只查找近12个小时未完成的任务
//只查找近12个小时未完成的任务
//暂时改成48小时
//暂时改成48小时
Calendar
calendar
=
Calendar
.
getInstance
();
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
add
(
Calendar
.
HOUR_OF_DAY
,
-
48
);
calendar
.
add
(
Calendar
.
HOUR_OF_DAY
,
-
48
);
query
.
addCriteria
(
Criteria
.
where
(
"
cre
ateDate"
).
gte
(
calendar
.
getTime
()));
query
.
addCriteria
(
Criteria
.
where
(
"
upd
ateDate"
).
gte
(
calendar
.
getTime
()));
Calendar
ca2
=
Calendar
.
getInstance
();
Calendar
ca2
=
Calendar
.
getInstance
();
ca2
.
add
(
Calendar
.
MINUTE
,
-
10
);
ca2
.
add
(
Calendar
.
MINUTE
,
-
10
);
Date
lastUpdateTime
=
new
Date
((
new
Date
().
getTime
())-
10
*
60
*
1000
);
//正常
//正常
if
(
criteria
.
getTaskStatus
()==
1
){
if
(
criteria
.
getTaskStatus
()==
1
){
Date
lastUpdateTime
=
new
Date
((
new
Date
().
getTime
())-
10
*
60
*
1000
);
query
.
addCriteria
(
Criteria
.
where
(
"updateDate"
).
gte
(
ca2
.
getTime
()).
and
(
"status"
).
is
(
OP_STATUS
.
EXECUTING
.
name
()));
query
.
addCriteria
(
Criteria
.
where
(
"updateDate"
).
gte
(
lastUpdateTime
).
and
(
"status"
).
is
(
OP_STATUS
.
EXECUTING
.
name
()));
}
//异常
}
//异常
else
if
(
criteria
.
getTaskStatus
()==
2
){
else
if
(
criteria
.
getTaskStatus
()==
2
){
query
.
addCriteria
(
Criteria
.
where
(
"updateDate"
).
lte
(
ca2
).
and
(
"status"
).
in
(
OP_STATUS
.
EXECUTING
.
name
()));
query
.
addCriteria
(
Criteria
.
where
(
"updateDate"
).
lte
(
ca2
.
getTime
()).
and
(
"status"
).
is
(
OP_STATUS
.
EXECUTING
.
name
()));
}
//等待
}
//等待
else
if
(
criteria
.
getTaskStatus
()==
3
){
else
if
(
criteria
.
getTaskStatus
()==
3
){
query
.
addCriteria
(
Criteria
.
where
(
"status"
).
is
(
OP_STATUS
.
WAIT
.
name
()));
query
.
addCriteria
(
Criteria
.
where
(
"status"
).
is
(
OP_STATUS
.
WAIT
.
name
()));
...
@@ -138,24 +152,24 @@ public class BoxKanbanController {
...
@@ -138,24 +152,24 @@ public class BoxKanbanController {
}
}
private
List
<
String
>
getCidsByGroupId
(
String
groupId
,
boolean
nullReturnAll
){
//
private List<String> getCidsByGroupId(String groupId,boolean nullReturnAll){
List
<
String
>
cidList
=
Lists
.
newArrayList
();
//
List<String> cidList = Lists.newArrayList();
//
for
(
Storage
storage
:
dataCache
.
getAllStorage
().
values
())
{
//
for (Storage storage : dataCache.getAllStorage().values()) {
if
(!
ObjectUtils
.
isEmpty
(
groupId
)
)
{
// if (groupId!=null
) {
String
storageGroupId
=
storage
.
getGroupId
();
//
String storageGroupId = storage.getGroupId();
if
(
ObjectUtils
.
isEmpty
(
storageGroupId
)){
//
if(ObjectUtils.isEmpty(storageGroupId)){
storageGroupId
=
"1
"
;
// storageGroupId="
";
}
//
}
if
(
storageGroupId
.
equals
(
groupId
))
{
//
if ( storageGroupId.equals(groupId)) {
cidList
.
add
(
storage
.
getCid
());
//
cidList.add(storage.getCid());
}
//
}
}
else
if
(
nullReturnAll
){
//
} else if(nullReturnAll){
cidList
.
add
(
storage
.
getCid
());
//
cidList.add(storage.getCid());
}
//
}
}
//
}
return
cidList
;
//
return cidList;
}
//
}
private
BoxKanbanDto
getKanBan
(
List
<
DataLog
>
allTasks
)
{
private
BoxKanbanDto
getKanBan
(
List
<
DataLog
>
allTasks
)
{
...
...
src/main/java/com/neotel/smfcore/core/kanban/rest/bean/dto/BoxTaskDto.java
查看文件 @
5501808
...
@@ -3,6 +3,7 @@ package com.neotel.smfcore.core.kanban.rest.bean.dto;
...
@@ -3,6 +3,7 @@ package com.neotel.smfcore.core.kanban.rest.bean.dto;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
@Data
@Data
...
@@ -91,4 +92,9 @@ public class BoxTaskDto {
...
@@ -91,4 +92,9 @@ public class BoxTaskDto {
@ApiModelProperty
(
"亮灯料架颜色"
)
@ApiModelProperty
(
"亮灯料架颜色"
)
private
String
lightColor
=
""
;
private
String
lightColor
=
""
;
@ApiModelProperty
(
"创建时间"
)
private
Date
createDate
=
new
Date
();
@ApiModelProperty
(
"更新时间"
)
private
Date
updateDate
=
new
Date
();
}
}
src/main/java/com/neotel/smfcore/core/storage/rest/StorageController.java
查看文件 @
5501808
...
@@ -83,13 +83,21 @@ public class StorageController {
...
@@ -83,13 +83,21 @@ public class StorageController {
PageData
<
Storage
>
pages
=
storageManager
.
findByPage
(
query
,
pageable
);
PageData
<
Storage
>
pages
=
storageManager
.
findByPage
(
query
,
pageable
);
List
<
StorageDto
>
StorageDtos
=
storageMapper
.
toDto
(
pages
.
getContent
());
List
<
StorageDto
>
StorageDtos
=
storageMapper
.
toDto
(
pages
.
getContent
());
for
(
int
i
=
0
;
i
<
StorageDtos
.
size
();
i
++){
for
(
int
i
=
0
;
i
<
StorageDtos
.
size
();
i
++){
String
groupId
=
"
1
"
;
String
groupId
=
""
;
if
(
StorageDtos
.
get
(
i
).
getGroupId
()!=
null
&&(!
StorageDtos
.
get
(
i
).
getGroupId
().
isEmpty
())){
if
(
StorageDtos
.
get
(
i
).
getGroupId
()!=
null
&&(!
StorageDtos
.
get
(
i
).
getGroupId
().
isEmpty
())){
groupId
=
StorageDtos
.
get
(
i
).
getGroupId
();
groupId
=
StorageDtos
.
get
(
i
).
getGroupId
();
}
}
Group
group
=
groupManager
.
get
(
groupId
);
Group
group
=
groupManager
.
get
(
groupId
);
if
(
group
!=
null
){
if
(
group
!=
null
){
StorageDtos
.
get
(
i
).
setGroupName
(
group
.
getGroupName
());
StorageDtos
.
get
(
i
).
setGroupName
(
group
.
getGroupName
());
}
else
{
//此料仓未分组
StorageDtos
.
get
(
i
).
setGroupName
(
""
);
if
(!
StorageDtos
.
get
(
i
).
getGroupId
().
equals
(
""
)){
storageManager
.
updateStorageGroup
(
StorageDtos
.
get
(
i
).
getId
(),
""
);
log
.
info
(
"料仓["
+
StorageDtos
.
get
(
i
).
getId
()+
"]["
+
StorageDtos
.
get
(
i
).
getName
()+
"]的组不存在,修改组为空"
);
}
}
}
}
}
return
new
PageData
(
StorageDtos
,
pages
.
getTotalElements
());
return
new
PageData
(
StorageDtos
,
pages
.
getTotalElements
());
...
@@ -207,7 +215,7 @@ public class StorageController {
...
@@ -207,7 +215,7 @@ public class StorageController {
storage
.
setSourcePath
(
""
);
storage
.
setSourcePath
(
""
);
}
}
if
(
storage
.
getGroupId
()==
null
||
storage
.
getGroupId
().
isEmpty
()){
if
(
storage
.
getGroupId
()==
null
||
storage
.
getGroupId
().
isEmpty
()){
storage
.
setGroupId
(
"
1
"
);
storage
.
setGroupId
(
""
);
}
}
storage
=
storageDao
.
save
(
storage
);
storage
=
storageDao
.
save
(
storage
);
...
...
src/main/java/com/neotel/smfcore/core/storage/rest/StoragePosController.java
查看文件 @
5501808
...
@@ -84,7 +84,7 @@ public class StoragePosController {
...
@@ -84,7 +84,7 @@ public class StoragePosController {
}
}
@ApiOperation
(
"
清
除指定料仓所有库位"
)
@ApiOperation
(
"
删
除指定料仓所有库位"
)
@PutMapping
(
"/removeAllPos"
)
@PutMapping
(
"/removeAllPos"
)
@PreAuthorize
(
"@el.check('storage:edit')"
)
@PreAuthorize
(
"@el.check('storage:edit')"
)
public
ResponseEntity
<
Object
>
clearAllPos
(
@RequestBody
String
cid
)
{
public
ResponseEntity
<
Object
>
clearAllPos
(
@RequestBody
String
cid
)
{
...
@@ -99,6 +99,42 @@ public class StoragePosController {
...
@@ -99,6 +99,42 @@ public class StoragePosController {
return
new
ResponseEntity
<>(
HttpStatus
.
OK
);
return
new
ResponseEntity
<>(
HttpStatus
.
OK
);
}
}
@ApiOperation
(
"清空指定料仓所有库位"
)
@PutMapping
(
"/clearStoragePos"
)
@PreAuthorize
(
"@el.check('storage:edit')"
)
public
ResultBean
clearStoragePos
(
@RequestBody
String
cid
)
{
Storage
storage
=
dataCache
.
getStorage
(
cid
);
if
(
storage
==
null
){
throw
new
ValidateException
(
"smfcode.valueNotFind"
,
"未找到{0}[{1}]"
,
new
String
[]{
"cid"
,
cid
});
}
log
.
info
(
"开始手动清空料仓["
+
storage
.
getName
()+
"_"
+
storage
.
getCid
()+
"]的所有库位"
);
List
<
StoragePos
>
allPos
=
storagePosManager
.
findByStorage
(
storage
.
getId
());
for
(
StoragePos
storagePos:
allPos
)
{
if
(
storagePos
!=
null
)
{
try
{
// QisdaApi.ClearStockBy(storagePos.getPosName());
Barcode
barcode
=
storagePos
.
getBarcode
();
if
(
barcode
!=
null
)
{
log
.
info
(
"清理库位["
+
storagePos
.
getPosName
()
+
"]中的库存"
+
barcode
.
getBarcode
());
String
opUser
=
SecurityUtils
.
getCurrentUsername
();
log
.
info
(
opUser
+
"清理库位["
+
storagePos
.
getPosName
()
+
"]中的库存"
+
barcode
.
getBarcode
());
taskService
.
addTaskToFinished
(
storagePos
,
null
,
opUser
+
"-clear"
);
}
}
catch
(
Exception
e
)
{
throw
new
ValidateException
(
"smfcore.error"
,
"出错{0}"
,
new
String
[]{
"["
+
storagePos
.
getPosName
()+
"]"
+
e
.
toString
()});
}
}
}
return
ResultBean
.
newOkResult
(
""
);
}
@ApiOperation
(
"清空指定库位"
)
@ApiOperation
(
"清空指定库位"
)
@PutMapping
(
"/clearPos"
)
@PutMapping
(
"/clearPos"
)
@PreAuthorize
(
"@el.check('storage:edit')"
)
@PreAuthorize
(
"@el.check('storage:edit')"
)
...
...
src/main/java/com/neotel/smfcore/core/storage/service/manager/IStorageManager.java
查看文件 @
5501808
...
@@ -9,4 +9,7 @@ import java.util.Set;
...
@@ -9,4 +9,7 @@ import java.util.Set;
public
interface
IStorageManager
extends
IBaseManager
<
Storage
>
{
public
interface
IStorageManager
extends
IBaseManager
<
Storage
>
{
List
<
Storage
>
findAll
();
List
<
Storage
>
findAll
();
void
updateStorageGroup
(
String
storageId
,
String
groupId
);
void
clearStorageGroup
(
String
groupId
);
}
}
src/main/java/com/neotel/smfcore/core/storage/service/manager/impl/StorageManagerImpl.java
查看文件 @
5501808
...
@@ -14,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -14,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.data.mongodb.core.query.Update
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
...
@@ -60,5 +61,16 @@ public class StorageManagerImpl implements IStorageManager {
...
@@ -60,5 +61,16 @@ public class StorageManagerImpl implements IStorageManager {
return
storageDao
.
findAll
();
return
storageDao
.
findAll
();
}
}
@Override
public
void
updateStorageGroup
(
String
id
,
String
groupId
)
{
storageDao
.
updateFirst
(
id
,
Update
.
update
(
"groupId"
,
groupId
));
}
@Override
public
void
clearStorageGroup
(
String
groupId
){
Query
query
=
new
Query
(
Criteria
.
where
(
"groupId"
).
is
(
groupId
));
storageDao
.
updateMulti
(
query
,
Update
.
update
(
"groupId"
,
""
));
}
}
}
src/main/java/com/neotel/smfcore/core/system/rest/TaskController.java
查看文件 @
5501808
...
@@ -23,6 +23,7 @@ import lombok.RequiredArgsConstructor;
...
@@ -23,6 +23,7 @@ import lombok.RequiredArgsConstructor;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.HttpStatus
;
...
@@ -78,6 +79,7 @@ public class TaskController {
...
@@ -78,6 +79,7 @@ public class TaskController {
if
(
unEnd
)
{
if
(
unEnd
)
{
query
.
addCriteria
(
Criteria
.
where
(
"status"
).
nin
(
OP_STATUS
.
END
.
name
(),
OP_STATUS
.
FINISHED
.
name
()));
query
.
addCriteria
(
Criteria
.
where
(
"status"
).
nin
(
OP_STATUS
.
END
.
name
(),
OP_STATUS
.
FINISHED
.
name
()));
}
}
query
.
with
(
Sort
.
by
(
Sort
.
Direction
.
DESC
,
"updateDate"
,
"createDate"
));
PageData
<
DataLog
>
taskList
=
dataLogManager
.
findByPage
(
query
,
pageable
);
PageData
<
DataLog
>
taskList
=
dataLogManager
.
findByPage
(
query
,
pageable
);
PageData
<
TaskDto
>
result
=
taskMapper
.
toDto
(
taskList
);
PageData
<
TaskDto
>
result
=
taskMapper
.
toDto
(
taskList
);
return
result
;
return
result
;
...
@@ -108,7 +110,7 @@ public class TaskController {
...
@@ -108,7 +110,7 @@ public class TaskController {
for
(
Storage
storage
:
dataCache
.
getAllStorage
().
values
())
{
for
(
Storage
storage
:
dataCache
.
getAllStorage
().
values
())
{
String
storageGroupId
=
storage
.
getGroupId
();
String
storageGroupId
=
storage
.
getGroupId
();
if
(
ObjectUtils
.
isEmpty
(
storageGroupId
))
{
if
(
ObjectUtils
.
isEmpty
(
storageGroupId
))
{
storageGroupId
=
"
1
"
;
storageGroupId
=
""
;
}
}
if
(
storageGroupId
!=
null
&&
storageGroupId
.
equals
(
groupId
))
{
if
(
storageGroupId
!=
null
&&
storageGroupId
.
equals
(
groupId
))
{
cidList
.
add
(
storage
.
getCid
());
cidList
.
add
(
storage
.
getCid
());
...
@@ -138,13 +140,15 @@ public class TaskController {
...
@@ -138,13 +140,15 @@ public class TaskController {
String
cid
=
task
.
getCid
();
String
cid
=
task
.
getCid
();
if
(
cidList
.
contains
(
cid
)){
if
(
cidList
.
contains
(
cid
)){
resultTasks
.
add
(
task
);
resultTasks
.
add
(
task
);
}
else
if
(!
ObjectUtils
.
isEmpty
(
groupId
)){
}
else
if
(!
ObjectUtils
.
isEmpty
(
groupId
))
{
if
(
task
.
getGroupId
().
equals
(
groupId
)){
if
(
task
.
getGroupId
()
!=
null
)
{
if
(
task
.
getGroupId
().
equals
(
groupId
))
{
resultTasks
.
add
(
task
);
resultTasks
.
add
(
task
);
}
}
}
}
}
}
}
else
{
}
}
else
{
resultTasks
=
allTasks
;
resultTasks
=
allTasks
;
}
}
...
...
src/main/java/com/neotel/smfcore/core/system/rest/bean/query/TaskQueryCondition.java
查看文件 @
5501808
...
@@ -26,9 +26,7 @@ public class TaskQueryCondition {
...
@@ -26,9 +26,7 @@ public class TaskQueryCondition {
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
BetweenData
<
Date
>
updateDate
;
private
BetweenData
<
Date
>
updateDate
;
// @QueryCondition(type = QueryCondition.Type.IN, propName = "status")
// @ApiModelProperty("任务状态")
// private List<String> statusList;
@QueryCondition
@QueryCondition
@ApiModelProperty
(
"任务状态"
)
@ApiModelProperty
(
"任务状态"
)
...
...
src/main/java/com/neotel/smfcore/core/system/service/manager/impl/DataLogManagerImpl.java
查看文件 @
5501808
...
@@ -54,8 +54,8 @@ public class DataLogManagerImpl implements IDataLogManager {
...
@@ -54,8 +54,8 @@ public class DataLogManagerImpl implements IDataLogManager {
Criteria
c
=
Criteria
.
where
(
"status"
).
nin
(
OP_STATUS
.
FINISHED
.
name
(),
OP_STATUS
.
CANCEL
.
name
());
Criteria
c
=
Criteria
.
where
(
"status"
).
nin
(
OP_STATUS
.
FINISHED
.
name
(),
OP_STATUS
.
CANCEL
.
name
());
//只查找近12个小时未完成的任务
//只查找近12个小时未完成的任务
Calendar
calendar
=
Calendar
.
getInstance
();
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
add
(
Calendar
.
HOUR_OF_DAY
,-
24
);
calendar
.
add
(
Calendar
.
HOUR_OF_DAY
,-
48
);
c
.
and
(
"
cre
ateDate"
).
gte
(
calendar
.
getTime
());
c
.
and
(
"
upd
ateDate"
).
gte
(
calendar
.
getTime
());
Query
query
=
Query
.
query
(
c
);
Query
query
=
Query
.
query
(
c
);
List
<
DataLog
>
unFinishedTasks
=
findByQuery
(
query
);
List
<
DataLog
>
unFinishedTasks
=
findByQuery
(
query
);
if
(
unFinishedTasks
==
null
){
if
(
unFinishedTasks
==
null
){
...
...
src/main/java/com/neotel/smfcore/security/rest/GroupController.java
查看文件 @
5501808
...
@@ -3,6 +3,7 @@ package com.neotel.smfcore.security.rest;
...
@@ -3,6 +3,7 @@ package com.neotel.smfcore.security.rest;
import
com.neotel.smfcore.common.bean.PageData
;
import
com.neotel.smfcore.common.bean.PageData
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.utils.QueryHelp
;
import
com.neotel.smfcore.common.utils.QueryHelp
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.storage.service.manager.IStorageManager
;
import
com.neotel.smfcore.core.storage.service.manager.IStorageManager
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
import
com.neotel.smfcore.security.rest.bean.dto.GroupDto
;
import
com.neotel.smfcore.security.rest.bean.dto.GroupDto
;
...
@@ -32,10 +33,7 @@ import org.springframework.validation.annotation.Validated;
...
@@ -32,10 +33,7 @@ import org.springframework.validation.annotation.Validated;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.HashSet
;
import
java.util.*
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.regex.Pattern
;
import
java.util.regex.Pattern
;
@RestController
@RestController
...
@@ -53,6 +51,9 @@ public class GroupController {
...
@@ -53,6 +51,9 @@ public class GroupController {
@Autowired
@Autowired
IUserManager
userManager
;
IUserManager
userManager
;
@Autowired
DataCache
dataCache
;
@ApiOperation
(
"导出分组数据"
)
@ApiOperation
(
"导出分组数据"
)
@GetMapping
(
value
=
"/download"
)
@GetMapping
(
value
=
"/download"
)
...
@@ -79,6 +80,23 @@ public class GroupController {
...
@@ -79,6 +80,23 @@ public class GroupController {
List
<
Group
>
groups
=
groupManager
.
findByQuery
(
query
);
List
<
Group
>
groups
=
groupManager
.
findByQuery
(
query
);
return
new
ResponseEntity
<>(
groupMapper
.
toDto
(
groups
),
HttpStatus
.
OK
);
return
new
ResponseEntity
<>(
groupMapper
.
toDto
(
groups
),
HttpStatus
.
OK
);
}
}
@ApiOperation
(
"料架分组界面的组列表"
)
@GetMapping
(
value
=
"/lightGroups"
)
@PreAuthorize
(
"@el.check('group:list','user:add','user:edit')"
)
public
ResponseEntity
<
Object
>
lightGroup
()
{
Query
query
=
new
Query
();
List
<
Group
>
groups
=
groupManager
.
findByQuery
(
query
);
Group
group
=
Group
.
defaulGroup
();
groups
.
add
(
group
);
List
<
Group
>
resultGroups
=
new
ArrayList
<>();
for
(
Group
g
:
groups
)
{
if
(
dataCache
.
getCidsByGroupId
(
g
.
getId
(),
true
).
size
()
>
0
)
{
resultGroups
.
add
(
group
);
}
}
return
new
ResponseEntity
<>(
groupMapper
.
toDto
(
resultGroups
),
HttpStatus
.
OK
);
}
@ApiOperation
(
"新增分组"
)
@ApiOperation
(
"新增分组"
)
@PostMapping
@PostMapping
...
@@ -111,22 +129,31 @@ public class GroupController {
...
@@ -111,22 +129,31 @@ public class GroupController {
throw
new
ValidateException
(
"smfcode.valueCanotNull"
,
"{0}不能为空"
,
new
String
[]{
"ID"
}
);
throw
new
ValidateException
(
"smfcode.valueCanotNull"
,
"{0}不能为空"
,
new
String
[]{
"ID"
}
);
}
}
Group
group
=
groupManager
.
get
(
id
);
Group
group
=
groupManager
.
get
(
id
);
//查找组下是否有设备
if
(
group
==
null
){
Query
query
=
new
Query
(
Criteria
.
where
(
"groupId"
).
is
(
id
));
throw
new
ValidateException
(
"smfcode.valueCanotNull"
,
"{0}不能为空"
,
new
String
[]{
"group"
}
);
List
<
Storage
>
storages
=
storageManager
.
findByQuery
(
query
);
if
(
storages
!=
null
&&
storages
.
size
()
>=
1
)
{
throw
new
ValidateException
(
"smfcode.groupWithStorage"
,
"组[{0}]已和设备关联"
,
new
String
[]{
group
.
getGroupName
()});
}
Query
userQuery
=
new
Query
(
Criteria
.
where
(
"groups"
).
all
(
id
));
List
<
User
>
users
=
userManager
.
findByQuery
(
userQuery
);
if
(
users
!=
null
&&
users
.
size
()
>=
1
)
{
throw
new
ValidateException
(
"smfcode.groupWithUser"
,
"组[{0}]已和用户关联"
,
new
String
[]{
group
.
getGroupName
()});
// throw new ValidateException("删除失败,组[" + group.getGroupName() + "]已和用户关联");
}
}
// //查找组下是否有设备
// Query query = new Query(Criteria.where("groupId").is(id));
// List<Storage> storages = storageManager.findByQuery(query);
// if (storages != null && storages.size() >= 1) {
// throw new ValidateException("smfcode.groupWithStorage","组[{0}]已和设备关联",new String[]{group.getGroupName()});
// }
//
// Query userQuery = new Query(Criteria.where("groups").all(id));
// List<User> users = userManager.findByQuery(userQuery);
// if (users != null && users.size() >= 1) {
// throw new ValidateException("smfcode.groupWithUser","组[{0}]已和用户关联",new String[]{group.getGroupName()});
//// throw new ValidateException("删除失败,组[" + group.getGroupName() + "]已和用户关联");
// }
//删除关联
log
.
info
(
"手动删除组:"
+
group
.
getId
()+
"-"
+
group
.
getGroupName
()+
",先删除料仓关联,用户关联"
);
storageManager
.
clearStorageGroup
(
group
.
getId
());
userManager
.
clearUserGroup
(
group
.
getId
());
groupManager
.
delete
(
group
);
groupManager
.
delete
(
group
);
}
}
return
new
ResponseEntity
<>(
HttpStatus
.
OK
);
return
new
ResponseEntity
<>(
HttpStatus
.
OK
);
}
}
}
}
src/main/java/com/neotel/smfcore/security/service/manager/IUserManager.java
查看文件 @
5501808
...
@@ -72,4 +72,6 @@ public interface IUserManager extends IBaseManager<User> {
...
@@ -72,4 +72,6 @@ public interface IUserManager extends IBaseManager<User> {
List
<
UserDto
>
listToDto
(
List
<
User
>
users
);
List
<
UserDto
>
listToDto
(
List
<
User
>
users
);
void
updateGroups
(
User
resources
);
void
updateGroups
(
User
resources
);
void
clearUserGroup
(
String
groupId
);
}
}
src/main/java/com/neotel/smfcore/security/service/manager/impl/UserManagerImpl.java
查看文件 @
5501808
...
@@ -217,6 +217,20 @@ public class UserManagerImpl implements IUserManager {
...
@@ -217,6 +217,20 @@ public class UserManagerImpl implements IUserManager {
userDao
.
updateFirst
(
query
,
update
);
userDao
.
updateFirst
(
query
,
update
);
}
}
@Override
public
void
clearUserGroup
(
String
groupId
)
{
Query
userQuery
=
new
Query
(
Criteria
.
where
(
"groups"
).
all
(
groupId
));
List
<
User
>
users
=
findByQuery
(
userQuery
);
if
(
users
!=
null
&&
users
.
size
()
>=
1
)
{
for
(
User
user
:
users
)
{
Set
<
String
>
groups
=
user
.
getGroups
();
groups
.
remove
(
groupId
);
save
(
user
);
}
}
}
}
}
src/main/java/com/neotel/smfcore/security/service/po/Group.java
查看文件 @
5501808
...
@@ -6,6 +6,8 @@ import lombok.Data;
...
@@ -6,6 +6,8 @@ import lombok.Data;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.util.Date
;
@Data
@Data
@NoArgsConstructor
@NoArgsConstructor
@AllArgsConstructor
@AllArgsConstructor
...
@@ -13,6 +15,14 @@ public class Group extends BasePo implements Serializable {
...
@@ -13,6 +15,14 @@ public class Group extends BasePo implements Serializable {
private
String
groupName
;
private
String
groupName
;
public
static
Group
defaulGroup
()
{
Group
group
=
new
Group
(
""
);
group
.
setId
(
""
);
group
.
setUpdateDate
(
new
Date
());
group
.
setCreateDate
(
new
Date
());
return
group
;
}
public
String
getLabel
()
{
public
String
getLabel
()
{
return
groupName
;
return
groupName
;
}
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论