Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
J
jyzb_platformV2
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Members
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
赵剑炜
jyzb_platformV2
Commits
e51bf6e4
Commit
e51bf6e4
authored
Jul 26, 2023
by
李小惠
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
90909
parent
13a1290d
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
16 行增加
和
1060 行删除
+16
-1060
EquipmentSizeService.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/EquipmentSizeService.java
+12
-0
EquipmentSizeServiceImpl.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/EquipmentSizeServiceImpl.java
+4
-3
EquipmentSizeServiceImpl.java.orig
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/EquipmentSizeServiceImpl.java.orig
+0
-281
InventoryServiceImpl.java.orig
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/InventoryServiceImpl.java.orig
+0
-301
PubOrgServiceImpl.java.orig
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/PubOrgServiceImpl.java.orig
+0
-475
没有找到文件。
jyzb-biz/src/main/java/com/junmp/jyzb/service/EquipmentSizeService.java
View file @
e51bf6e4
...
...
@@ -18,11 +18,23 @@ public interface EquipmentSizeService extends IService<EquipmentSize> {
boolean
updateSize
(
EquipmentSizeReq
req
);
ResponseResult
addSize
(
Map
<
String
,
Object
>
msg
);
ResponseResult
getOneSize
(
Map
<
String
,
Object
>
msg
);
ResponseResult
deleteSize
(
Map
<
String
,
Object
>
msg
);
ResponseResult
updateSize
(
Map
<
String
,
Object
>
msg
);
List
<
String
>
getAllSizeId
(
Map
<
String
,
Object
>
orgId
);
boolean
changeSizeState
(
EquipmentSizeReq
req
);
List
<
EquipmentSize
>
getAllSize
(
EquipmentSizeReq
req
);
ResponseResult
changeSizeState
(
Map
<
String
,
Object
>
msg
);
ResponseResult
getAllSize
(
Map
<
String
,
Object
>
msg
);
ResponseResult
getSizeDevelop
();
}
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/EquipmentSizeServiceImpl.java
View file @
e51bf6e4
...
...
@@ -12,6 +12,7 @@ import org.springframework.stereotype.Service;
import
javax.annotation.Resource
;
import
com.junmp.jyzb.mapper.EquipmentSizeMapper
;
import
java.math.BigDecimal
;
import
java.util.*
;
import
static
com
.
junmp
.
jyzb
.
utils
.
CheckBlank
.
checkNotBlank
;
...
...
@@ -65,7 +66,7 @@ public class EquipmentSizeServiceImpl extends ServiceImpl<EquipmentSizeMapper, E
size
.
setCode
((
String
)
msg
.
get
(
"code"
));
size
.
setName
((
String
)
msg
.
get
(
"name"
));
size
.
setNote
((
String
)
msg
.
get
(
"note"
));
size
.
setPrice
((
Double
)
msg
.
get
(
"price"
));
size
.
setPrice
((
BigDecimal
)
msg
.
get
(
"price"
));
size
.
setEpcType
((
Integer
)
msg
.
get
(
"epcType"
));
equipmentSizeMapper
.
addSize
(
size
);
...
...
@@ -132,7 +133,7 @@ public class EquipmentSizeServiceImpl extends ServiceImpl<EquipmentSizeMapper, E
size
.
setName
((
String
)
msg
.
get
(
"name"
));
size
.
setNote
((
String
)
msg
.
get
(
"note"
));
size
.
setUpdateTime
(
currentDate
);
size
.
setPrice
((
Double
)
msg
.
get
(
"price"
));
size
.
setPrice
((
BigDecimal
)
msg
.
get
(
"price"
));
//size.setState((Integer) msg.get("state"));
size
.
setEpcType
((
Integer
)
msg
.
get
(
"epcType"
));
equipmentSizeMapper
.
updateSize
(
size
);
...
...
@@ -186,5 +187,5 @@ public class EquipmentSizeServiceImpl extends ServiceImpl<EquipmentSizeMapper, E
List
<
Map
<
String
,
Object
>>
returnMsg
=
equipmentSizeMapper
.
getSizeDevelop
();
return
new
ResponseResult
(
HttpStatus
.
SUCCESS
,
ReturnMsg
.
PASS
,
returnMsg
);
}
}
}
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/EquipmentSizeServiceImpl.java.orig
deleted
100644 → 0
View file @
13a1290d
package
com
.
junmp
.
jyzb
.
service
.
impl
;
import
cn
.
hutool
.
core
.
util
.
ObjectUtil
;
import
com
.
baomidou
.
mybatisplus
.
core
.
conditions
.
query
.
LambdaQueryWrapper
;
import
com
.
baomidou
.
mybatisplus
.
extension
.
service
.
impl
.
ServiceImpl
;
import
com
.
junmp
.
jyzb
.
api
.
bean
.
req
.
EquipmentSizeReq
;
import
com
.
junmp
.
jyzb
.
api
.
bean
.
req
.
ProductReq
;
import
com
.
junmp
.
jyzb
.
api
.
exception
.
enums
.
ProductExceptionEnum
;
import
com
.
junmp
.
jyzb
.
api
.
util
.
GenCodeUtil
;
import
com
.
junmp
.
jyzb
.
entity
.
EquipmentSize
;
import
com
.
junmp
.
jyzb
.
entity
.
Product
;
import
com
.
junmp
.
jyzb
.
mapper
.
EquipmentTypeMapper
;
import
com
.
junmp
.
jyzb
.
service
.
EquipmentSizeService
;
import
com
.
junmp
.
jyzb
.
utils
.
DateTimeUtil
;
import
com
.
junmp
.
jyzb
.
utils
.
HttpStatus
;
import
com
.
junmp
.
jyzb
.
utils
.
ResponseResult
;
import
com
.
junmp
.
jyzb
.
utils
.
ReturnMsg
;
import
com
.
junmp
.
v2
.
common
.
exception
.
base
.
ServiceException
;
import
com
.
junmp
.
v2
.
common
.
util
.
BeanPlusUtil
;
import
org
.
springframework
.
stereotype
.
Service
;
import
javax
.
annotation
.
Resource
;
import
com
.
junmp
.
jyzb
.
mapper
.
EquipmentSizeMapper
;
import
java
.
math
.
BigDecimal
;
import
java
.
util
.*;
import
static
com
.
junmp
.
jyzb
.
utils
.
CheckBlank
.
checkNotBlank
;
@
Service
public
class
EquipmentSizeServiceImpl
extends
ServiceImpl
<
EquipmentSizeMapper
,
EquipmentSize
>
implements
EquipmentSizeService
{
@
Resource
private
EquipmentSizeMapper
equipmentSizeMapper
;
@
Resource
private
EquipmentTypeMapper
equipmentTypeMapper
;
private
static
final
String
REDIS_SIZE
=
"Size_"
;
//@
Override
public
ResponseResult
addSize
(
Map
<
String
,
Object
>
msg
)
{
try
{
checkNotBlank
(
msg
.
get
(
"typeId"
),
"typeId不能为空"
);
checkNotBlank
(
msg
.
get
(
"code"
),
"code不能为空"
);
checkNotBlank
(
msg
.
get
(
"name"
),
"name不能为空"
);
//
checkNotBlank
((
String
)
msg
.
get
(
"note"
),
"note不能为空"
);
//
Objects
.
requireNonNull
(
msg
.
get
(
"price"
),
"price不能为空"
);
Objects
.
requireNonNull
(
msg
.
get
(
"epcType"
),
"epcType不能为空"
);
}
catch
(
IllegalArgumentException
e
)
{
return
new
ResponseResult
(
HttpStatus
.
ERROR
,
ReturnMsg
.
ERROR
,
e
.
getMessage
());
}
//
TODO
查询是否有重复的
code
//
List
<
String
>
sizeCodeFlag
=
equipmentSizeMapper
.
getSizeByCode
((
String
)
msg
.
get
(
"code"
));
//
if
(
!sizeCodeFlag.isEmpty()){
//
return
new
ResponseResult
(
HttpStatus
.
ERROR
,
ReturnMsg
.
ERROR
,
"装备号型码已存在"
);
//
}
//
todo
typeId
只能是最下级的
//
List
<
String
>
resultId
=
equipmentTypeMapper
.
getLowestTypeId
();
//
if
(
!resultId.contains(msg.get("typeId"))){
//
return
new
ResponseResult
(
HttpStatus
.
ERROR
,
ReturnMsg
.
ERROR
,
"typeId只能是最下一级"
);
//
}
EquipmentSize
size
=
new
EquipmentSize
();
//
生成一个
uuid
String
uuid
=
UUID
.
randomUUID
().
toString
().
replaceAll
(
"-"
,
""
);
//
生成当前时间
Date
currentDate
=
DateTimeUtil
.
getCurrentDateTime
();
size
.
setId
(
uuid
);
size
.
setCreateTime
(
currentDate
);
size
.
setUpdateTime
(
currentDate
);
size
.
setTypeId
((
String
)
msg
.
get
(
"typeId"
));
size
.
setCode
((
String
)
msg
.
get
(
"code"
));
size
.
setName
((
String
)
msg
.
get
(
"name"
));
size
.
setNote
((
String
)
msg
.
get
(
"note"
));
<<<<<<<
HEAD
size
.
setPrice
((
BigDecimal
)
msg
.
get
(
"price"
));
=======
//
size
.
setPrice
((
Double
)
msg
.
get
(
"price"
));
>>>>>>>
2
d1905eb57c664c7853f98789c36483e5ba60371
size
.
setEpcType
((
Integer
)
msg
.
get
(
"epcType"
));
equipmentSizeMapper
.
addSize
(
size
);
return
new
ResponseResult
(
HttpStatus
.
SUCCESS
,
ReturnMsg
.
PASS
,
uuid
);
}
//@
Override
public
ResponseResult
getOneSize
(
Map
<
String
,
Object
>
msg
)
{
try
{
checkNotBlank
(
msg
.
get
(
"id"
),
"id不能为空"
);
}
catch
(
IllegalArgumentException
e
)
{
return
new
ResponseResult
(
HttpStatus
.
ERROR
,
ReturnMsg
.
ERROR
,
e
.
getMessage
());
}
String
sizeId
=
msg
.
get
(
"id"
).
toString
();
Map
<
String
,
Object
>
oneSize
=
equipmentSizeMapper
.
getOneSize
(
sizeId
);
return
new
ResponseResult
(
HttpStatus
.
SUCCESS
,
ReturnMsg
.
PASS
,
oneSize
);
}
//@
Override
public
ResponseResult
deleteSize
(
Map
<
String
,
Object
>
msg
)
{
//
进行参数校验
try
{
checkNotBlank
(
msg
.
get
(
"sizeList"
),
"sizeList不能为空"
);
}
catch
(
IllegalArgumentException
e
)
{
return
new
ResponseResult
(
HttpStatus
.
ERROR
,
ReturnMsg
.
ERROR
,
e
.
getMessage
());
}
List
<
Object
>
sizeList
=
(
List
<
Object
>)
msg
.
get
(
"sizeList"
);
for
(
Object
sizeId
:
sizeList
){
equipmentSizeMapper
.
deleteSize
(
sizeId
.
toString
());
}
return
new
ResponseResult
(
HttpStatus
.
SUCCESS
,
ReturnMsg
.
PASS
);
}
//@
Override
public
ResponseResult
updateSize
(
Map
<
String
,
Object
>
msg
)
{
try
{
checkNotBlank
(
msg
.
get
(
"id"
),
"id不能为空"
);
checkNotBlank
(
msg
.
get
(
"typeId"
),
"typeId不能为空"
);
checkNotBlank
(
msg
.
get
(
"code"
),
"code不能为空"
);
checkNotBlank
(
msg
.
get
(
"name"
),
"name不能为空"
);
Objects
.
requireNonNull
(
msg
.
get
(
"epcType"
),
"epcType不能为空"
);
}
catch
(
IllegalArgumentException
e
)
{
return
new
ResponseResult
(
HttpStatus
.
ERROR
,
ReturnMsg
.
ERROR
,
e
.
getMessage
());
}
//
todo
判断
code
是否重复
//
//
查询是否有重复的
code
//
List
<
String
>
sizeCodeFlag
=
equipmentSizeMapper
.
getSizeByCode
((
String
)
msg
.
get
(
"code"
));
//
//
判断
code
是否有变动
//
String
oldCode
=
equipmentSizeMapper
.
getCodeById
(
msg
.
get
(
"id"
).
toString
());
//
if
()
//
if
(
!sizeCodeFlag.isEmpty()){
//
return
new
ResponseResult
(
HttpStatus
.
ERROR
,
ReturnMsg
.
ERROR
,
"装备号型码已存在"
);
//
}
EquipmentSize
size
=
new
EquipmentSize
();
Date
currentDate
=
DateTimeUtil
.
getCurrentDateTime
();
//
police
.
setId
(
uuid
);
size
.
setId
((
String
)
msg
.
get
(
"id"
));
size
.
setTypeId
((
String
)
msg
.
get
(
"typeId"
));
size
.
setCode
((
String
)
msg
.
get
(
"code"
));
size
.
setName
((
String
)
msg
.
get
(
"name"
));
size
.
setNote
((
String
)
msg
.
get
(
"note"
));
size
.
setUpdateTime
(
currentDate
);
<<<<<<<
HEAD
size
.
setPrice
((
BigDecimal
)
msg
.
get
(
"price"
));
=======
//
size
.
setPrice
((
Double
)
msg
.
get
(
"price"
));
>>>>>>>
2
d1905eb57c664c7853f98789c36483e5ba60371
//
size
.
setState
((
Integer
)
msg
.
get
(
"state"
));
size
.
setEpcType
((
Integer
)
msg
.
get
(
"epcType"
));
equipmentSizeMapper
.
updateSize
(
size
);
return
new
ResponseResult
(
HttpStatus
.
SUCCESS
,
ReturnMsg
.
PASS
);
}
//@
Override
public
ResponseResult
changeSizeState
(
Map
<
String
,
Object
>
msg
)
{
try
{
checkNotBlank
(
msg
.
get
(
"id"
),
"id不能为空"
);
checkNotBlank
(
msg
.
get
(
"state"
),
"state不能为空"
);
}
catch
(
IllegalArgumentException
e
)
{
return
new
ResponseResult
(
HttpStatus
.
ERROR
,
ReturnMsg
.
ERROR
,
e
.
getMessage
());
}
EquipmentSize
size
=
new
EquipmentSize
();
size
.
setId
(
msg
.
get
(
"id"
).
toString
());
size
.
setState
((
Integer
)
msg
.
get
(
"state"
));
equipmentSizeMapper
.
changeSizeState
(
size
);
return
new
ResponseResult
(
HttpStatus
.
SUCCESS
,
ReturnMsg
.
PASS
);
}
//@
Override
public
ResponseResult
getAllSize
(
Map
<
String
,
Object
>
msg
)
{
try
{
checkNotBlank
(
msg
.
get
(
"typeId"
),
"typeId不能为空"
);
}
catch
(
IllegalArgumentException
e
)
{
return
new
ResponseResult
(
HttpStatus
.
ERROR
,
ReturnMsg
.
ERROR
,
e
.
getMessage
());
}
List
<
Map
<
String
,
Object
>>
allSize
=
new
ArrayList
<>();
List
<
String
>
allSizeId
=
getAllSizeId
(
msg
);
for
(
String
sizeId
:
allSizeId
){
Map
<
String
,
Object
>
sizeMsg
=
equipmentSizeMapper
.
getOneSize
(
sizeId
);
allSize
.
add
(
sizeMsg
);
}
return
new
ResponseResult
(
HttpStatus
.
SUCCESS
,
ReturnMsg
.
PASS
,
allSize
);
}
@
Override
public
List
<
String
>
getAllSizeId
(
Map
<
String
,
Object
>
typeId
)
{
List
<
String
>
msg
=
equipmentSizeMapper
.
getAllSizeId
(
typeId
.
get
(
"typeId"
).
toString
());
return
msg
;
}
@
Override
public
ResponseResult
getSizeDevelop
()
{
List
<
Map
<
String
,
Object
>>
returnMsg
=
equipmentSizeMapper
.
getSizeDevelop
();
return
new
ResponseResult
(
HttpStatus
.
SUCCESS
,
ReturnMsg
.
PASS
,
returnMsg
);
}
@
Override
public
boolean
addSize
(
EquipmentSizeReq
req
)
{
EquipmentSize
size
=
new
EquipmentSize
();
BeanPlusUtil
.
copyProperties
(
req
,
size
);
return
this
.
save
(
size
);
}
@
Override
public
EquipmentSize
getOneSize
(
EquipmentSizeReq
req
)
{
//
LambdaQueryWrapper
<
EquipmentSize
>
wrapper
=
createWrapperById
(
req
);
return
this
.
getById
(
req
);
}
private
LambdaQueryWrapper
<
EquipmentSize
>
createWrapperById
(
EquipmentSizeReq
req
)
{
LambdaQueryWrapper
<
EquipmentSize
>
wrapper
=
new
LambdaQueryWrapper
<>();
if
(
ObjectUtil
.
isEmpty
(
req
))
{
return
wrapper
;
}
//
根据
id
编码查询
wrapper
.
eq
(
ObjectUtil
.
isNotEmpty
(
req
.
getId
()),
EquipmentSize
::
getId
,
req
.
getId
());
wrapper
.
orderByDesc
(
EquipmentSize
::
getCreateTime
);
return
wrapper
;
}
@
Override
public
boolean
deleteSize
(
EquipmentSizeReq
req
)
{
EquipmentSize
size
=
querySize
(
req
);
this
.
removeById
(
req
.
getId
());
return
true
;
}
@
Override
public
boolean
updateSize
(
EquipmentSizeReq
req
)
{
EquipmentSize
size
=
this
.
querySize
(
req
);
BeanPlusUtil
.
copyProperties
(
req
,
size
);
return
this
.
updateById
(
size
);
}
@
Override
public
boolean
changeSizeState
(
EquipmentSizeReq
req
)
{
EquipmentSize
size
=
this
.
querySize
(
req
);
BeanPlusUtil
.
copyProperties
(
req
,
size
);
return
this
.
updateById
(
size
);
}
@
Override
public
List
<
EquipmentSize
>
getAllSize
(
EquipmentSizeReq
req
)
{
LambdaQueryWrapper
<
EquipmentSize
>
wrapper
=
createWrapper
(
req
);
return
this
.
list
(
wrapper
);
}
private
EquipmentSize
querySize
(
EquipmentSizeReq
req
)
{
EquipmentSize
app
=
this
.
getById
(
req
.
getId
());
if
(
ObjectUtil
.
isNull
(
app
))
{
throw
new
ServiceException
(
ProductExceptionEnum
.
SIZE_NOT_EXIST
);
}
return
app
;
}
private
LambdaQueryWrapper
<
EquipmentSize
>
createWrapper
(
EquipmentSizeReq
req
)
{
LambdaQueryWrapper
<
EquipmentSize
>
wrapper
=
new
LambdaQueryWrapper
<>();
if
(
ObjectUtil
.
isEmpty
(
req
))
{
return
wrapper
;
}
//
根据业务编码查询
wrapper
.
like
(
ObjectUtil
.
isNotEmpty
(
req
.
getTypeId
()),
EquipmentSize
::
getTypeId
,
req
.
getTypeId
());
//
根据名称模糊查询
wrapper
.
like
(
ObjectUtil
.
isNotEmpty
(
req
.
getName
()),
EquipmentSize
::
getName
,
req
.
getName
());
wrapper
.
orderByDesc
(
EquipmentSize
::
getCreateTime
);
return
wrapper
;
}
}
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/InventoryServiceImpl.java.orig
deleted
100644 → 0
View file @
13a1290d
package
com
.
junmp
.
jyzb
.
service
.
impl
;
import
cn
.
hutool
.
core
.
bean
.
BeanUtil
;
import
cn
.
hutool
.
core
.
util
.
ObjectUtil
;
import
com
.
baomidou
.
mybatisplus
.
core
.
conditions
.
query
.
LambdaQueryWrapper
;
import
com
.
baomidou
.
mybatisplus
.
extension
.
service
.
impl
.
ServiceImpl
;
import
com
.
junmp
.
jyzb
.
api
.
bean
.
req
.
InventoryReq
;
import
com
.
junmp
.
jyzb
.
entity
.
EquipmentSize
;
import
com
.
junmp
.
jyzb
.
entity
.
EquipmentType
;
import
com
.
junmp
.
jyzb
.
entity
.
PubOrg
;
import
com
.
junmp
.
jyzb
.
entity
.
Inventory
;
import
com
.
junmp
.
jyzb
.
service
.
CabinetService
;
import
com
.
junmp
.
jyzb
.
service
.
InventoryService
;
import
com
.
junmp
.
jyzb
.
service
.
WarehouseService
;
import
com
.
junmp
.
jyzb
.
utils
.
HttpStatus
;
import
com
.
junmp
.
jyzb
.
utils
.
ResponseResult
;
import
com
.
junmp
.
jyzb
.
utils
.
ReturnData
;
import
com
.
junmp
.
jyzb
.
utils
.
ReturnMsg
;
import
org
.
springframework
.
stereotype
.
Service
;
import
javax
.
annotation
.
Resource
;
import
com
.
junmp
.
jyzb
.
mapper
.
InventoryMapper
;
import
java
.
math
.
BigDecimal
;
import
java
.
util
.*;
import
static
com
.
junmp
.
jyzb
.
utils
.
CheckBlank
.
checkNotBlank
;
@
Service
public
class
InventoryServiceImpl
extends
ServiceImpl
<
InventoryMapper
,
Inventory
>
implements
InventoryService
{
@
Resource
private
InventoryMapper
inventoryMapper
;
@
Resource
private
EquipmentTypeServiceImpl
equipmentTypeService
;
@
Resource
private
PubOrgServiceImpl
PubOrgService
;
@
Resource
private
EquipmentSizeServiceImpl
equipmentSizeService
;
@
Resource
private
WarehouseService
warehouseService
;
@
Resource
private
CabinetService
cabinetService
;
@
Override
public
InventoryDto
getInventoryDetail
(
InventoryReq
req
)
{
Inventory
invMap
=
this
.
getById
(
req
.
getID
());
if
(
invMap
==
null
)
{
return
null
;
}
InventoryDto
bean
=
BeanUtil
.
toBean
(
invMap
,
InventoryDto
.
class
);
//
查询与库存表关联的其他数据
String
orgName
=
PubOrgService
.
getById
(
invMap
.
getOrgId
()).
getOrgName
();
String
TypeName
=
equipmentTypeService
.
getById
(
invMap
.
getTypeId
()).
getName
();
String
SizeName
=
equipmentSizeService
.
getById
(
invMap
.
getSizeId
()).
getName
();
//
创建并填充对象
bean
.
setSizeName
(
SizeName
);
bean
.
setTypeName
(
TypeName
);
bean
.
setOrgName
(
orgName
);
//
填充其他关联信息的字段和对象引用
return
bean
;
}
@
Override
public
ResponseResult
getEquipmentInfo
(
Map
<
String
,
Object
>
inMsg
)
{
//
参数校验
try
{
checkNotBlank
(
inMsg
.
get
(
"queryType"
),
"queryType不能为空"
);
checkNotBlank
(
inMsg
.
get
(
"typeId"
),
"typeId不能为空"
);
}
catch
(
IllegalArgumentException
e
)
{
return
new
ResponseResult
(
HttpStatus
.
ERROR
,
ReturnMsg
.
ERROR
,
e
.
getMessage
());
}
//
解析
json
中的信息
String
queryType
=
inMsg
.
get
(
"queryType"
).
toString
();
String
idMsg
=
inMsg
.
get
(
"typeId"
).
toString
();
//
根据传入的
queryType
来辨别要查询什么信�
if
(
queryType
.
equals
(
"org"
)
||
queryType
.
equals
(
"warehouse"
)
||
queryType
.
equals
(
"cabinet"
)){
Map
<
String
,
Object
>
returnMsg
=
getLocationEquipmentInfo
(
queryType
,
idMsg
);
return
new
ResponseResult
(
HttpStatus
.
SUCCESS
,
ReturnMsg
.
PASS
,
returnMsg
);
}
else
{
return
new
ResponseResult
(
HttpStatus
.
ERROR
,
ReturnMsg
.
ERROR
,
"输入的queryType信息有误"
);
}
}
private
Map
<
String
,
Object
>
getLocationEquipmentInfo
(
String
queryType
,
String
idMsg
)
{
List
<
Map
<
String
,
Object
>>
allMsg
=
inventoryMapper
.
getLocationInventory
(
queryType
,
idMsg
);
Map
<
String
,
Object
>
resultMap
=
new
HashMap
<>();
for
(
Map
<
String
,
Object
>
msg
:
allMsg
)
{
String
locationId
=
msg
.
get
(
"locationId"
).
toString
();
String
locationName
=
msg
.
get
(
"locationName"
).
toString
();
String
typeId
=
msg
.
get
(
"typeId"
).
toString
();
String
typeName
=
msg
.
get
(
"typeName"
).
toString
();
String
sizeId
=
msg
.
get
(
"sizeId"
).
toString
();
String
sizeName
=
msg
.
get
(
"sizeName"
).
toString
();
int
number
=
(
int
)
msg
.
get
(
"number"
);
BigDecimal
priceBigDecimal
=
(
BigDecimal
)
msg
.
get
(
"price"
);
float
price
=
priceBigDecimal
.
floatValue
();
//
检查
resultMap
中是否存在
orgId
if
(
resultMap
.
containsKey
(
locationId
))
{
//
获取现有组织级数�
Map
<
String
,
Object
>
orgData
=
(
Map
<
String
,
Object
>)
resultMap
.
get
(
locationId
);
List
<
Map
<
String
,
Object
>>
orgTypeList
=
(
List
<
Map
<
String
,
Object
>>)
orgData
.
get
(
"typeList"
);
//
检查组织类型列表中是否存在
typeId
boolean
typeExist
=
false
;
for
(
Map
<
String
,
Object
>
typeData
:
orgTypeList
)
{
if
(
typeId
.
equals
(
typeData
.
get
(
"typeId"
)))
{
//
获取现有的类型级别数�
List
<
Map
<
String
,
Object
>>
sizeList
=
(
List
<
Map
<
String
,
Object
>>)
typeData
.
get
(
"sizeList"
);
sizeList
.
add
(
createSizeData
(
sizeId
,
sizeName
,
number
,
price
));
//
向
sizeList
中记录
number
的信�
int
typeNumber
=
(
int
)
typeData
.
get
(
"typeNum"
);
float
typePrice
=
(
float
)
typeData
.
get
(
"typeTotalPrice"
);
typeData
.
put
(
"typeNum"
,
typeNumber
+
number
);
//
计算装备数量
typeData
.
put
(
"typeTotalPrice"
,
typePrice
+
price
);
typeExist
=
true
;
break
;
}
}
//
如果
orgTypeList
中不包含
typeId
,则创建新的类型级别数据
if
(
!typeExist) {
Map
<
String
,
Object
>
typeData
=
new
HashMap
<>();
typeData
.
put
(
"typeId"
,
typeId
);
typeData
.
put
(
"typeName"
,
typeName
);
typeData
.
put
(
"typeNum"
,
number
);
typeData
.
put
(
"typeTotalPrice"
,
price
);
List
<
Map
<
String
,
Object
>>
sizeList
=
new
ArrayList
<>();
sizeList
.
add
(
createSizeData
(
sizeId
,
sizeName
,
number
,
price
));
typeData
.
put
(
"sizeList"
,
sizeList
);
orgTypeList
.
add
(
typeData
);
}
//
更新组织级别数据
int
orgNumber
=
(
int
)
orgData
.
get
(
"locationNum"
);
float
orgPrice
=
(
float
)
orgData
.
get
(
"totalPrice"
);
orgData
.
put
(
"locationNum"
,
orgNumber
+
number
);
orgData
.
put
(
"totalPrice"
,
orgPrice
+
price
);
}
else
{
//
创建新的组织级别数据
Map
<
String
,
Object
>
orgData
=
new
HashMap
<>();
orgData
.
put
(
"locationType"
,
queryType
);
orgData
.
put
(
"locationId"
,
locationId
);
orgData
.
put
(
"locationName"
,
locationName
);
orgData
.
put
(
"locationNum"
,
number
);
orgData
.
put
(
"totalPrice"
,
price
);
List
<
Map
<
String
,
Object
>>
orgTypeList
=
new
ArrayList
<>();
Map
<
String
,
Object
>
typeData
=
new
HashMap
<>();
typeData
.
put
(
"typeId"
,
typeId
);
typeData
.
put
(
"typeName"
,
typeName
);
typeData
.
put
(
"typeNum"
,
number
);
typeData
.
put
(
"typeTotalPrice"
,
price
);
List
<
Map
<
String
,
Object
>>
sizeList
=
new
ArrayList
<>();
sizeList
.
add
(
createSizeData
(
sizeId
,
sizeName
,
number
,
price
));
typeData
.
put
(
"sizeList"
,
sizeList
);
orgTypeList
.
add
(
typeData
);
orgData
.
put
(
"typeList"
,
orgTypeList
);
resultMap
.
put
(
locationId
,
orgData
);
}
}
Map
<
String
,
Object
>
returnMsg
=
(
Map
<
String
,
Object
>)
resultMap
.
get
(
idMsg
);
return
returnMsg
;
}
private
static
Map
<
String
,
Object
>
createSizeData
(
String
sizeId
,
String
sizeName
,
int
number
,
float
price
)
{
Map
<
String
,
Object
>
sizeData
=
new
HashMap
<>();
sizeData
.
put
(
"sizeId"
,
sizeId
);
sizeData
.
put
(
"sizeName"
,
sizeName
);
sizeData
.
put
(
"sizeNum"
,
number
);
sizeData
.
put
(
"sizeTotalPrice"
,
price
);
return
sizeData
;
}
@
Override
public
ResponseResult
setInventoryMsg
(){
inventoryMapper
.
deleteAllMsg
();
//
清空数据库中已存在的信息
inventoryMapper
.
setOrgInventory
();
//
放入组织机构信息汇�
inventoryMapper
.
setCabinetInventory
();
//
放入组织机构信息汇�
inventoryMapper
.
setWarehouseInventory
();
//
放入组织机构信息汇�
return
new
ResponseResult
(
HttpStatus
.
SUCCESS
,
ReturnMsg
.
PASS
);
}
@
Override
public
ResponseResult
updateInventoryNum
(
Map
<
String
,
Object
>
msg
)
{
//
参数校验
try
{
checkNotBlank
(
msg
.
get
(
"locationType"
),
"locationType不能为空"
);
}
catch
(
IllegalArgumentException
e
)
{
return
new
ResponseResult
(
HttpStatus
.
ERROR
,
ReturnMsg
.
ERROR
,
e
.
getMessage
());
}
String
locationType
=
msg
.
get
(
"locationType"
).
toString
();
if
(
!locationType.equals("warehouse") && !locationType.equals("cabinet")){
return
new
ResponseResult
(
HttpStatus
.
ERROR
,
ReturnMsg
.
ERROR
,
"输入的locationType值有�"
);
}
else
if
(
locationType
.
equals
(
"warehouse"
)){
warehouseService
.
setWarehouseInventory
(
msg
);
}
else
if
(
locationType
.
equals
(
"cabinet"
)){
cabinetService
.
setCabinetInventory
(
msg
);
}
return
new
ResponseResult
(
HttpStatus
.
SUCCESS
,
ReturnMsg
.
PASS
);
}
@
Override
public
ResponseResult
getInventoryList
(
Map
<
String
,
Object
>
msg
)
{
//
参数校验
try
{
checkNotBlank
(
msg
.
get
(
"queryType"
),
"queryType不能为空"
);
checkNotBlank
(
msg
.
get
(
"typeCode"
),
"typeCode不能为空"
);
checkNotBlank
(
msg
.
get
(
"typeId"
),
"typeId不能为空"
);
checkNotBlank
(
msg
.
get
(
"sizeId"
),
"sizeId不能为空"
);
}
catch
(
IllegalArgumentException
e
)
{
return
new
ResponseResult
(
HttpStatus
.
ERROR
,
ReturnMsg
.
ERROR
,
e
.
getMessage
());
}
//
解析
json
中的信息
String
queryType
=
msg
.
get
(
"queryType"
).
toString
();
String
typeCode
=
msg
.
get
(
"typeCode"
).
toString
();
String
typeId
=
msg
.
get
(
"typeId"
).
toString
();
String
sizeId
=
msg
.
get
(
"sizeId"
).
toString
();
//
根据传入的
queryType
来辨别要查询什么信�
if
(
queryType
.
equals
(
"org"
)
||
queryType
.
equals
(
"warehouse"
)
||
queryType
.
equals
(
"cabinet"
)){
List
<
Map
<
String
,
Object
>>
returnMsg
=
inventoryMapper
.
getInventoryList
(
queryType
,
typeCode
,
typeId
,
sizeId
);
return
new
ResponseResult
(
HttpStatus
.
SUCCESS
,
ReturnMsg
.
PASS
,
returnMsg
);
}
else
{
return
new
ResponseResult
(
HttpStatus
.
ERROR
,
ReturnMsg
.
ERROR
,
"输入的queryType信息有误"
);
}
}
@
Override
public
ResponseResult
getInventoryByOrgId
(
Map
<
String
,
Object
>
msg
)
{
//
参数校验
try
{
checkNotBlank
(
msg
.
get
(
"orgId"
),
"orgId不能为空"
);
}
catch
(
IllegalArgumentException
e
)
{
return
new
ResponseResult
(
HttpStatus
.
ERROR
,
ReturnMsg
.
ERROR
,
e
.
getMessage
());
}
String
orgId
=
msg
.
get
(
"orgId"
).
toString
();
List
<
Map
<
String
,
Object
>>
returnMsg
=
inventoryMapper
.
getInventoryByOrgId
(
orgId
);
return
new
ResponseResult
(
HttpStatus
.
SUCCESS
,
ReturnMsg
.
PASS
,
returnMsg
);
}
@
Override
public
ResponseResult
getInventoryDevelop
()
{
return
null
;
}
@
Override
public
ResponseResult
InvertoryBindBox
(
Map
<
String
,
Object
>
msg
)
{
//
参数校验
try
{
checkNotBlank
(
msg
.
get
(
"inventoryId"
),
"inventoryId不能为空"
);
checkNotBlank
(
msg
.
get
(
"locationId"
),
"locationId不能为空"
);
}
catch
(
IllegalArgumentException
e
)
{
return
new
ResponseResult
(
HttpStatus
.
ERROR
,
ReturnMsg
.
ERROR
,
e
.
getMessage
());
}
//
将装备和箱门进行绑定(简单来
说就是更新数据库中的单条记录信息)
Inventory
inventory
=
inventoryMapper
.
selectOne
(
new
LambdaQueryWrapper
<
Inventory
>()
.
eq
(
Inventory
::
getID
,
msg
.
get
(
"inventoryId"
))
.
eq
(
Inventory
::
getLocationId
,
msg
.
get
(
"locationId"
)));
if
(
Objects
.
isNull
(
inventory
)){
return
new
ResponseResult
(
HttpStatus
.
ERROR
,
ReturnMsg
.
ERROR
,
ReturnData
.
NO_DATA
);
}
inventory
.
setLocationId
((
String
)
msg
.
get
(
"locationId"
));
inventoryMapper
.
updateById
(
inventory
);
return
new
ResponseResult
(
HttpStatus
.
SUCCESS
,
ReturnMsg
.
PASS
,
"绑定成功"
);
}
/**
*
@
Author
:
Zhaojw
*
@
Description
:
生成
lambda
表达式
*
@
DateTime
:
2023
/
7
/
20
13
:
08
*
@
Params
:
*
@
Return
*/
private
LambdaQueryWrapper
<
Inventory
>
createWrapper
(
InventoryReq
req
)
{
LambdaQueryWrapper
<
Inventory
>
wrapper
=
new
LambdaQueryWrapper
<>();
if
(
ObjectUtil
.
isEmpty
(
req
))
{
return
wrapper
;
}
//
根据库存
ID
查询
wrapper
.
eq
(
ObjectUtil
.
isNotEmpty
(
req
.
getID
()),
Inventory
::
getID
,
req
.
getID
());
//
根据
epc
模糊查询
wrapper
.
like
(
ObjectUtil
.
isNotEmpty
(
req
.
getEpc
()),
Inventory
::
getEpc
,
req
.
getEpc
());
//
根据位置
wrapper
.
eq
(
ObjectUtil
.
isNotEmpty
(
req
.
getLocationId
()),
Inventory
::
getLocationId
,
req
.
getLocationId
());
wrapper
.
orderByDesc
(
Inventory
::
getUpdateTime
);
return
wrapper
;
}
}
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/PubOrgServiceImpl.java.orig
deleted
100644 → 0
View file @
13a1290d
package
com
.
junmp
.
jyzb
.
service
.
impl
;
import
com
.
junmp
.
jyzb
.
entity
.
PubOrg
;
import
com
.
junmp
.
jyzb
.
utils
.
HttpStatus
;
import
com
.
junmp
.
jyzb
.
utils
.
RedisUtils
;
import
com
.
junmp
.
jyzb
.
utils
.
ResponseResult
;
import
com
.
junmp
.
jyzb
.
utils
.
ReturnMsg
;
import
com
.
sun
.
javafx
.
collections
.
MappingChange
;
import
org
.
springframework
.
beans
.
factory
.
annotation
.
Autowired
;
import
org
.
springframework
.
stereotype
.
Service
;
import
javax
.
annotation
.
Resource
;
import
com
.
junmp
.
jyzb
.
mapper
.
PubOrgMapper
;
import
com
.
junmp
.
jyzb
.
service
.
PubOrgService
;
import
java
.
math
.
BigInteger
;
import
java
.
util
.*;
import
static
com
.
junmp
.
jyzb
.
utils
.
CheckBlank
.
checkNotBlank
;
@
Service
public
class
PubOrgServiceImpl
implements
PubOrgService
{
@
Resource
private
PubOrgMapper
pubOrgMapper
;
@
Autowired
private
RedisUtils
redisUtils
;
public
ResponseResult
showPubOrgList
(
Map
<
String
,
Object
>
orgId
)
{
//
构建
Redis
缓存键
String
redisKey
=
"showPubOrgList"
;
Long
orgInfo
=
Long
.
valueOf
(
orgId
.
get
(
"orgId"
).
toString
());//
获取输入的组织机构
id
信息
//
从
Redis
中获取数据
List
<
PubOrg
>
cachedData
=
redisUtils
.
findCachedData
(
redisKey
);
List
<
PubOrg
>
menuList
=
new
ArrayList
<>();
if
(
cachedData
!= null) {
menuList
=
cachedData
;
}
else
{
//
从数据库获取数据并将结果存入
Redis
缓存
menuList
=
pubOrgMapper
.
selectAllOrg
();
redisUtils
.
set
(
redisKey
,
menuList
);
}
List
<
Map
<
String
,
Object
>>
topList
=
new
ArrayList
<>();
List
<
Map
<
String
,
Object
>>
resultList
=
new
ArrayList
<>();
Map
<
Long
,
List
<
Map
<
String
,
Object
>>>
childrenMap
=
new
HashMap
<>();
//
构建子菜单映射表
for
(
PubOrg
menu
:
menuList
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"id"
,
menu
.
getOrgId
());
map
.
put
(
"parentId"
,
menu
.
getOrgParentId
());
map
.
put
(
"findCode"
,
menu
.
getFindCode
());
map
.
put
(
"orgName"
,
menu
.
getDName
());
map
.
put
(
"statusFlag"
,
menu
.
getStatusFlag
());
if
(
!childrenMap.containsKey(menu.getOrgParentId())) {
childrenMap
.
put
(
menu
.
getOrgParentId
(),
new
ArrayList
<>());
}
childrenMap
.
get
(
menu
.
getOrgParentId
()).
add
(
map
);
//
构建最顶级的菜单
if
(
menu
.
getOrgId
().
equals
(
orgInfo
)){
Map
<
String
,
Object
>
topMap
=
new
HashMap
<>();
topMap
.
put
(
"id"
,
menu
.
getOrgId
());
topMap
.
put
(
"parentId"
,
menu
.
getOrgParentId
());
topMap
.
put
(
"findCode"
,
menu
.
getFindCode
());
topMap
.
put
(
"orgName"
,
menu
.
getDName
());
topMap
.
put
(
"statusFlag"
,
menu
.
getStatusFlag
());
topList
.
add
(
topMap
);
}
}
//
获取顶级菜单
List
<
Map
<
String
,
Object
>>
topMenus
=
childrenMap
.
get
(
orgInfo
);
//
迭代构建菜单树
if
(
topMenus
!= null) {
for
(
Map
<
String
,
Object
>
topMenu
:
topMenus
)
{
Stack
<
Map
<
String
,
Object
>>
stack
=
new
Stack
<>();
stack
.
push
(
topMenu
);
//
使用栈进行深度优先遍历
while
(
!stack.isEmpty()) {
Map
<
String
,
Object
>
currentMenu
=
stack
.
pop
();
Long
currentMenuId
=
(
Long
)
currentMenu
.
get
(
"id"
);
if
(
childrenMap
.
containsKey
(
currentMenuId
))
{
List
<
Map
<
String
,
Object
>>
children
=
childrenMap
.
get
(
currentMenuId
);
currentMenu
.
put
(
"children"
,
children
);
for
(
int
i
=
children
.
size
()
-
1
;
i
>=
0
;
i
--)
{
stack
.
push
(
children
.
get
(
i
));
}
}
}
resultList
.
add
(
topMenu
);
}
}
if
(
orgInfo
==
-
1
)
{
modifyList
(
resultList
);
//
如果输入的是浙江省公安厅
,
就将下级的组织机构进行排序
for
(
Map
<
String
,
Object
>
orgMsg
:
resultList
)
{
List
<
Map
<
String
,
Object
>>
children
=
(
List
<
Map
<
String
,
Object
>>)
orgMsg
.
get
(
"children"
);
//
根据
findCode
从小到大排序
children
.
sort
(
Comparator
.
comparing
(
m
->
m
.
get
(
"findCode"
).
toString
()));
}
return
new
ResponseResult
(
HttpStatus
.
SUCCESS
,
"操作成功"
,
resultList
);
}
//
将
resultList
的内容放在顶级菜单的
resultList
中
for
(
Map
<
String
,
Object
>
oneMap
:
topList
){
oneMap
.
put
(
"children"
,
resultList
);
}
//
遍历并添加父类的相关信息到
children
的第一个位置
<<<<<<<
HEAD
//
traverseList
(
topList
);
=======
modifyList
(
topList
);
if
(
orgInfo
.
equals
(
1369509498032808905L
))
{
//
如果输入的是浙江省公安厅
,
就将下级的组织机构进行排序
for
(
Map
<
String
,
Object
>
orgMsg
:
topList
)
{
List
<
Map
<
String
,
Object
>>
children
=
(
List
<
Map
<
String
,
Object
>>)
orgMsg
.
get
(
"children"
);
//
根据
findCode
从小到大排序
children
.
sort
(
Comparator
.
comparing
(
m
->
m
.
get
(
"findCode"
).
toString
()));
}
return
new
ResponseResult
(
HttpStatus
.
SUCCESS
,
"操作成功"
,
topList
);
}
>>>>>>>
develop
//
返回结果
return
new
ResponseResult
(
HttpStatus
.
SUCCESS
,
"操作成功"
,
topList
);
}
//
将父类信息放在
children
的第一个位置
private
static
void
modifyList
(
List
<
Map
<
String
,
Object
>>
list
)
{
for
(
Map
<
String
,
Object
>
item
:
list
)
{
//
获取当前节点的
ID
Map
<
String
,
Object
>
setMsg
=
new
HashMap
<>();
setMsg
.
put
(
"id"
,
item
.
get
(
"id"
).
toString
()
+
"-0"
);
//
在最后面加个
-
0
来表示列表的唯一
id
setMsg
.
put
(
"parentId"
,
item
.
get
(
"parentId"
).
toString
());
setMsg
.
put
(
"findCode"
,
item
.
get
(
"findCode"
).
toString
());
setMsg
.
put
(
"orgName"
,
item
.
get
(
"orgName"
).
toString
());
setMsg
.
put
(
"statusFlag"
,
item
.
get
(
"statusFlag"
));
//
将当前节点的
ID
添加到子节点的第一个位置
@
SuppressWarnings
(
"unchecked"
)
List
<
Map
<
String
,
Object
>>
children
=
(
List
<
Map
<
String
,
Object
>>)
item
.
get
(
"children"
);
if
(
children
!= null && children.size() > 0) {
//
将父类的相关信息放在
children
的第一个位置
children
.
set
(
0
,
setMsg
);
//
递归处理子节点
modifyList
(
children
);
}
}
}
//
删除前缀
public
static
Map
<
String
,
Object
>
removeFront
(
Map
<
String
,
Object
>
map
,
String
name1
,
List
<
String
>
name2
,
List
<
String
>
name3
)
{
String
orgName
=
map
.
get
(
"orgName"
).
toString
();
orgName
=
removeStringAndBefore
(
orgName
,
name1
);
for
(
String
name
:
name2
){
orgName
=
removePrefix
(
orgName
,
name
);
for
(
String
staticName
:
name3
){
orgName
=
removePrefix
(
orgName
,
staticName
);
}
}
map
.
put
(
"orgName"
,
orgName
);
return
map
;
}
//
找到字符串出现的位置,删掉字符串及前缀
public
static
String
removeStringAndBefore
(
String
name
,
String
deleteMsg
)
{
int
index
=
name
.
indexOf
(
deleteMsg
);
if
(
index
!= -1) {
return
name
.
substring
(
index
+
deleteMsg
.
length
());
}
return
name
;
}
//
例:传入
abc
,
a
==>
bc
删掉开头的字符串,不是就不删除
public
static
String
removePrefix
(
String
name
,
String
deleteName
)
{
if
(
name
.
startsWith
(
deleteName
))
{
return
name
.
substring
(
deleteName
.
length
());
}
else
{
return
name
;
}
}
/**
*
组织机构名称不进行删减的代码
*
*/
@
Override
public
ResponseResult
showPubOrgListOld
(
Map
<
String
,
Object
>
orgId
)
{
//
构建
Redis
缓存键
String
redisKey
=
"showPubOrgList"
;
//
从
Redis
中获取数据
List
<
PubOrg
>
cachedData
=
redisUtils
.
findCachedData
(
redisKey
);
List
<
PubOrg
>
menuList
=
new
ArrayList
<>();
if
(
cachedData
!=null){
menuList
=
cachedData
;
}
else
{
menuList
=
pubOrgMapper
.
selectAllOrg
();
redisUtils
.
set
(
redisKey
,
menuList
);
}
List
<
Map
<
String
,
Object
>>
resultList
=
new
ArrayList
<>();
Map
<
Long
,
List
<
Map
<
String
,
Object
>>>
childrenMap
=
new
HashMap
<>();
//
构建子菜单映射表
for
(
PubOrg
menu
:
menuList
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"id"
,
menu
.
getOrgId
());
map
.
put
(
"parentId"
,
menu
.
getOrgParentId
());
map
.
put
(
"orgName"
,
menu
.
getOrgName
());
if
(
!childrenMap.containsKey(menu.getOrgParentId())) {
childrenMap
.
put
(
menu
.
getOrgParentId
(),
new
ArrayList
<>());
}
childrenMap
.
get
(
menu
.
getOrgParentId
()).
add
(
map
);
}
Long
orgInfo
=
Long
.
valueOf
(
orgId
.
get
(
"orgId"
).
toString
());
//
获取顶级菜单
List
<
Map
<
String
,
Object
>>
topMenus
=
childrenMap
.
get
(
orgInfo
);
//
迭代构建菜单树
if
(
topMenus
!= null) {
for
(
Map
<
String
,
Object
>
topMenu
:
topMenus
)
{
Stack
<
Map
<
String
,
Object
>>
stack
=
new
Stack
<>();
stack
.
push
(
topMenu
);
while
(
!stack.isEmpty()) {
Map
<
String
,
Object
>
currentMenu
=
stack
.
pop
();
Long
currentMenuId
=
(
Long
)
currentMenu
.
get
(
"id"
);
if
(
childrenMap
.
containsKey
(
currentMenuId
))
{
List
<
Map
<
String
,
Object
>>
children
=
childrenMap
.
get
(
currentMenuId
);
currentMenu
.
put
(
"children"
,
children
);
for
(
int
i
=
children
.
size
()
-
1
;
i
>=
0
;
i
--)
{
stack
.
push
(
children
.
get
(
i
));
}
}
}
resultList
.
add
(
topMenu
);
}
}
//
redisUtils
.
set
(
redisKey
,
resultList
);
return
new
ResponseResult
(
HttpStatus
.
SUCCESS
,
"操作成功"
,
resultList
);
}
@
Override
public
List
<
String
>
getLowerOrg
(
String
orgId
)
{
//
构建
Redis
缓存键
String
redisKey
=
"getLowerOrg"
;
//
从
Redis
中获取数据
List
<
PubOrg
>
cachedData
=
redisUtils
.
findCachedData
(
redisKey
);
List
<
PubOrg
>
menuList
=
new
ArrayList
<>();
if
(
cachedData
!=null){
menuList
=
cachedData
;
}
else
{
menuList
=
pubOrgMapper
.
selectAllOrg
();
redisUtils
.
set
(
redisKey
,
menuList
);
}
List
<
String
>
resultList
=
new
ArrayList
<>();
//
存储最终的菜单树结果
Map
<
Long
,
List
<
String
>>
childrenMap
=
new
HashMap
<>();
//
存储每个菜单项的子菜单映射
resultList
.
add
(
orgId
);
//
将自己加入到返回的
List
中
//
构建子菜单映射表
for
(
PubOrg
menu
:
menuList
)
{
String
org
=
menu
.
getOrgId
().
toString
();
if
(
!childrenMap.containsKey(menu.getOrgParentId())) { // 如果父菜单还不存在于映射表中
childrenMap
.
put
(
menu
.
getOrgParentId
(),
new
ArrayList
<>());
//
创建一个新的子菜单列表
}
childrenMap
.
get
(
menu
.
getOrgParentId
()).
add
(
org
);
//
将当前菜单项放入对应的子菜单列表中
}
Long
orgInfo
=
Long
.
valueOf
(
orgId
);//
获取输入的组织机构
id
信息
//
Long
orgInfo
=
new
BigInteger
(
orgId
);
//
获取顶级菜单的标识符
//
获取顶级菜单
List
<
String
>
topMenus
=
childrenMap
.
get
(
orgInfo
);
//
迭代构建菜单树
if
(
topMenus
!= null) {
Queue
<
String
>
queue
=
new
LinkedList
<>();
//
使用队列结构辅助构建菜单树
queue
.
addAll
(
topMenus
);
//
将当前顶级菜单项放入队列中
while
(
!queue.isEmpty()) {
String
currentMenu
=
queue
.
poll
();
//
取出队首的当前菜单项
//
Long
currentMenuId
=
currentMenu
;
//
获取当前菜单项的标识符
if
(
childrenMap
.
containsKey
(
currentMenu
))
{
//
如果当前菜单项有子菜单
List
<
String
>
children
=
childrenMap
.
get
(
currentMenu
);
//
获取子菜单列表
//
currentMenu
.
put
(
"children"
,
children
);
//
将子菜单列表放入当前菜单项中的
"children"
字段
queue
.
addAll
(
children
);
//
将子菜单项放入队列中
}
resultList
.
add
(
currentMenu
);
//
将已经处理完的当前菜单项添加到结果列表中
}
}
//
redisUtils
.
set
(
redisKey
,
resultList
);
return
resultList
;
}
@
Override
public
ResponseResult
setOrgParentIds
()
{
//
清空
parent_ids
字段
pubOrgMapper
.
wipeParentIdsData
();
//
更新
parent_ids
字段
pubOrgMapper
.
setOrgParentIds
();
return
new
ResponseResult
(
HttpStatus
.
SUCCESS
,
ReturnMsg
.
PASS
);
}
@
Override
public
ResponseResult
setShortName
(
Map
<
String
,
Object
>
orgId
)
{
List
<
PubOrg
>
menuList
=
pubOrgMapper
.
selectAllOrg
();
List
<
Map
<
String
,
Object
>>
resultList
=
new
ArrayList
<>();
for
(
PubOrg
menu
:
menuList
)
{
if
(
menu
.
getOrgParentId
().
toString
().
equals
((
orgId
.
get
(
"orgId"
))))
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"id"
,
menu
.
getOrgId
());
map
.
put
(
"parentId"
,
menu
.
getOrgParentId
());
//
去掉前缀
String
name1
=
menu
.
getOrgName
();
//
name1
,
获得“浙江省公安厅”
//
List
<
String
>
name2
=
null
;
List
<
String
>
name2
=
new
ArrayList
<>();
//
name3
为固定字段
List
<
String
>
name3
=
new
ArrayList
<>();
name3
.
add
(
"公安局"
);
name3
.
add
(
"公安"
);
name3
.
add
(
"分局"
);
if
(
menu
.
getOrgName
().
length
()>
3
&&
name2
.
size
()
<
2
&&
(
menu
.
getOrgName
().
charAt
(
2
)==
'省'
||
menu
.
getOrgName
().
charAt
(
2
)==
'市'
)){
String
nameHistory
=
menu
.
getOrgName
().
substring
(
0
,
3
);
//
name2
,
获得“浙江省”
name2
.
add
(
nameHistory
);
name2
.
add
(
" "
);
name2
.
add
(
" "
);
}
if
(
menu
.
getOrgName
().
length
()>
3
&&
(
menu
.
getOrgName
().
charAt
(
2
)==
'区'
)){
name2
.
remove
(
2
);
String
nameHistory
=
menu
.
getOrgName
().
substring
(
0
,
3
);
name2
.
add
(
2
,
nameHistory
);
}
map
.
put
(
"orgName"
,
name1
);
List
<
Map
<
String
,
Object
>>
children
=
getChildMenus
(
menu
.
getOrgId
(),
menuList
,
name1
,
name2
,
name3
);//
name
为要删掉的前缀
if
(
!children.isEmpty()) {
map
.
put
(
"children"
,
children
);
for
(
Map
<
String
,
Object
>
msg
:
children
){
Long
id
=
(
Long
)
msg
.
get
(
"id"
);
String
orgName
=
msg
.
get
(
"orgName"
).
toString
();
pubOrgMapper
.
setMsg
(
id
,
orgName
);
}
}
//
map
.
put
(
"children"
,
getChildMenus
(
menu
.
getOrgId
(),
menuList
,
name1
,
name2
,
name3
));
resultList
.
add
(
map
);
}
}
return
new
ResponseResult
(
HttpStatus
.
SUCCESS
,
"操作成功"
,
resultList
);
}
private
List
<
Map
<
String
,
Object
>>
getChildMenus
(
Long
parentId
,
List
<
PubOrg
>
menuList
,
String
deleteName1
,
List
<
String
>
deleteName2
,
List
<
String
>
deleteName3
)
{
List
<
Map
<
String
,
Object
>>
childList
=
new
ArrayList
<>();
for
(
PubOrg
menu
:
menuList
)
{
//
if
(
menu
.
getParentId
()
!= null && menu.getParentId().equals(parentId)) {
if
(
menu
.
getOrgParentId
().
toString
().
equals
(
parentId
.
toString
()))
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"id"
,
menu
.
getOrgId
());
map
.
put
(
"parentId"
,
menu
.
getOrgParentId
());
//
去掉前缀
String
name1
=
menu
.
getOrgName
();
List
<
String
>
name2
=
new
ArrayList
<>();
name2
=
deleteName2
;
String
result
=
removePrefix
(
name1
,
deleteName1
);
//
遍历
name2
删掉前缀
for
(
String
nameMsg
:
name2
){
result
=
removePrefix
(
result
,
nameMsg
);
for
(
String
name3
:
deleteName3
){
result
=
removePrefix
(
result
,
name3
);
}
}
map
.
put
(
"orgName"
,
result
);
if
(
result
.
length
()>
3
&&
(
result
.
charAt
(
2
)==
'省'
||
result
.
charAt
(
2
)==
'市'
)){
name2
.
remove
(
1
);
String
nameHistory
=
result
.
substring
(
0
,
3
);
//
获得“绍兴市”
name2
.
add
(
1
,
nameHistory
);
}
if
(
result
.
length
()>
3
&&
(
result
.
charAt
(
2
)==
'区'
||
result
.
charAt
(
2
)==
'县'
)){
name2
.
remove
(
2
);
String
nameHistory
=
result
.
substring
(
0
,
3
);
name2
.
add
(
2
,
nameHistory
);
}
List
<
Map
<
String
,
Object
>>
children
=
getChildMenus
(
menu
.
getOrgId
(),
menuList
,
name1
,
name2
,
deleteName3
);
if
(
!children.isEmpty()) {
map
.
put
(
"children"
,
children
);
//
for
(
Map
<
String
,
Object
>
msg
:
children
){
//
Long
id
=
(
Long
)
msg
.
get
(
"id"
);
//
String
orgName
=
msg
.
get
(
"orgName"
).
toString
();
//
pubOrgMapper
.
setMsg
(
id
,
orgName
);
//
}
}
childList
.
add
(
map
);
}
}
return
childList
;
}
@
Override
public
ResponseResult
getOrgDetail
(
Map
<
String
,
Object
>
msg
)
{
try
{
checkNotBlank
(
msg
.
get
(
"orgId"
),
"orgId不能为空"
);
}
catch
(
IllegalArgumentException
e
)
{
return
new
ResponseResult
(
HttpStatus
.
ERROR
,
ReturnMsg
.
ERROR
,
e
.
getMessage
());
}
String
orgId
=
msg
.
get
(
"orgId"
).
toString
();
Map
<
String
,
Object
>
resultList
=
pubOrgMapper
.
getOrgDetail
(
orgId
);
return
new
ResponseResult
(
HttpStatus
.
SUCCESS
,
"操作成功"
,
resultList
);
}
@
Override
public
ResponseResult
changeOrgState
(
Map
<
String
,
Object
>
msg
)
{
try
{
checkNotBlank
(
msg
.
get
(
"statusFlag"
),
"statusFlag不能为空"
);
checkNotBlank
(
msg
.
get
(
"orgIdList"
),
"orgIdList不能为空"
);
}
catch
(
IllegalArgumentException
e
)
{
return
new
ResponseResult
(
HttpStatus
.
ERROR
,
ReturnMsg
.
ERROR
,
e
.
getMessage
());
}
List
<
String
>
orgIdList
=
(
List
<
String
>)
msg
.
get
(
"orgIdList"
);
Integer
statusFlag
=
(
Integer
)
msg
.
get
(
"statusFlag"
);
pubOrgMapper
.
changeOrgState
(
statusFlag
,
orgIdList
);
return
new
ResponseResult
(
HttpStatus
.
SUCCESS
,
ReturnMsg
.
PASS
);
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论