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
You need to sign in or sign up before continuing.
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> {
...
@@ -18,11 +18,23 @@ public interface EquipmentSizeService extends IService<EquipmentSize> {
boolean
updateSize
(
EquipmentSizeReq
req
);
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
);
List
<
String
>
getAllSizeId
(
Map
<
String
,
Object
>
orgId
);
boolean
changeSizeState
(
EquipmentSizeReq
req
);
boolean
changeSizeState
(
EquipmentSizeReq
req
);
List
<
EquipmentSize
>
getAllSize
(
EquipmentSizeReq
req
);
List
<
EquipmentSize
>
getAllSize
(
EquipmentSizeReq
req
);
ResponseResult
changeSizeState
(
Map
<
String
,
Object
>
msg
);
ResponseResult
getAllSize
(
Map
<
String
,
Object
>
msg
);
ResponseResult
getSizeDevelop
();
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;
...
@@ -12,6 +12,7 @@ import org.springframework.stereotype.Service;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
com.junmp.jyzb.mapper.EquipmentSizeMapper
;
import
com.junmp.jyzb.mapper.EquipmentSizeMapper
;
import
java.math.BigDecimal
;
import
java.util.*
;
import
java.util.*
;
import
static
com
.
junmp
.
jyzb
.
utils
.
CheckBlank
.
checkNotBlank
;
import
static
com
.
junmp
.
jyzb
.
utils
.
CheckBlank
.
checkNotBlank
;
...
@@ -65,7 +66,7 @@ public class EquipmentSizeServiceImpl extends ServiceImpl<EquipmentSizeMapper, E
...
@@ -65,7 +66,7 @@ public class EquipmentSizeServiceImpl extends ServiceImpl<EquipmentSizeMapper, E
size
.
setCode
((
String
)
msg
.
get
(
"code"
));
size
.
setCode
((
String
)
msg
.
get
(
"code"
));
size
.
setName
((
String
)
msg
.
get
(
"name"
));
size
.
setName
((
String
)
msg
.
get
(
"name"
));
size
.
setNote
((
String
)
msg
.
get
(
"note"
));
size
.
setNote
((
String
)
msg
.
get
(
"note"
));
size
.
setPrice
((
Double
)
msg
.
get
(
"price"
));
size
.
setPrice
((
BigDecimal
)
msg
.
get
(
"price"
));
size
.
setEpcType
((
Integer
)
msg
.
get
(
"epcType"
));
size
.
setEpcType
((
Integer
)
msg
.
get
(
"epcType"
));
equipmentSizeMapper
.
addSize
(
size
);
equipmentSizeMapper
.
addSize
(
size
);
...
@@ -132,7 +133,7 @@ public class EquipmentSizeServiceImpl extends ServiceImpl<EquipmentSizeMapper, E
...
@@ -132,7 +133,7 @@ public class EquipmentSizeServiceImpl extends ServiceImpl<EquipmentSizeMapper, E
size
.
setName
((
String
)
msg
.
get
(
"name"
));
size
.
setName
((
String
)
msg
.
get
(
"name"
));
size
.
setNote
((
String
)
msg
.
get
(
"note"
));
size
.
setNote
((
String
)
msg
.
get
(
"note"
));
size
.
setUpdateTime
(
currentDate
);
size
.
setUpdateTime
(
currentDate
);
size
.
setPrice
((
Double
)
msg
.
get
(
"price"
));
size
.
setPrice
((
BigDecimal
)
msg
.
get
(
"price"
));
//size.setState((Integer) msg.get("state"));
//size.setState((Integer) msg.get("state"));
size
.
setEpcType
((
Integer
)
msg
.
get
(
"epcType"
));
size
.
setEpcType
((
Integer
)
msg
.
get
(
"epcType"
));
equipmentSizeMapper
.
updateSize
(
size
);
equipmentSizeMapper
.
updateSize
(
size
);
...
@@ -186,5 +187,5 @@ public class EquipmentSizeServiceImpl extends ServiceImpl<EquipmentSizeMapper, E
...
@@ -186,5 +187,5 @@ public class EquipmentSizeServiceImpl extends ServiceImpl<EquipmentSizeMapper, E
List
<
Map
<
String
,
Object
>>
returnMsg
=
equipmentSizeMapper
.
getSizeDevelop
();
List
<
Map
<
String
,
Object
>>
returnMsg
=
equipmentSizeMapper
.
getSizeDevelop
();
return
new
ResponseResult
(
HttpStatus
.
SUCCESS
,
ReturnMsg
.
PASS
,
returnMsg
);
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
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论