Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
项目统一框架
amos-boot-biz
Commits
b0852bca
Commit
b0852bca
authored
Apr 18, 2023
by
zhangyingbin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
解决redis锁死锁问题
parent
048f37f4
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
259 additions
and
224 deletions
+259
-224
CompanyController.java
...mos/boot/module/ugp/biz/controller/CompanyController.java
+20
-0
OrgServiceImpl.java
...amos/boot/module/ugp/biz/service/impl/OrgServiceImpl.java
+239
-224
No files found.
amos-boot-system-ugp/amos-boot-module-ugp-biz/src/main/java/com/yeejoin/amos/boot/module/ugp/biz/controller/CompanyController.java
View file @
b0852bca
...
@@ -34,6 +34,7 @@ import com.yeejoin.amos.feign.systemctl.model.RegionModel;
...
@@ -34,6 +34,7 @@ import com.yeejoin.amos.feign.systemctl.model.RegionModel;
import
io.swagger.annotations.ApiParam
;
import
io.swagger.annotations.ApiParam
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
...
@@ -106,6 +107,25 @@ public class CompanyController extends BaseController {
...
@@ -106,6 +107,25 @@ public class CompanyController extends BaseController {
@Autowired
@Autowired
SuperviseRuleServiceImpl
superviseRuleService
;
SuperviseRuleServiceImpl
superviseRuleService
;
@Autowired
private
RedisTemplate
redisTemplate
;
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@GetMapping
(
value
=
"/getRedisLock"
)
@ApiOperation
(
httpMethod
=
"get"
,
value
=
"检查redis锁情况"
,
notes
=
"检查redis锁情况"
)
public
ResponseModel
<
Boolean
>
getRedisLock
(){
Boolean
lock
=
redisTemplate
.
opsForValue
().
setIfAbsent
(
"lock"
,
"1"
);
return
ResponseHelper
.
buildResponse
(
lock
);
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@GetMapping
(
value
=
"/deleteRedisLock"
)
@ApiOperation
(
httpMethod
=
"get"
,
value
=
"删除redis锁"
,
notes
=
"删除redis锁"
)
public
ResponseModel
<
Boolean
>
deleteRedisLock
(){
Boolean
lock
=
redisTemplate
.
delete
(
"lock"
);
return
ResponseHelper
.
buildResponse
(
lock
);
}
/**
/**
* tzs注册时同步ugp库
* tzs注册时同步ugp库
*
*
...
...
amos-boot-system-ugp/amos-boot-module-ugp-biz/src/main/java/com/yeejoin/amos/boot/module/ugp/biz/service/impl/OrgServiceImpl.java
View file @
b0852bca
...
@@ -77,63 +77,71 @@ public class OrgServiceImpl {
...
@@ -77,63 +77,71 @@ public class OrgServiceImpl {
*/
*/
public
OrgUsrDto
dataHandling
(
JSONObject
jsonObject
,
String
bizOrgType
,
String
sequenceNbr
){
public
OrgUsrDto
dataHandling
(
JSONObject
jsonObject
,
String
bizOrgType
,
String
sequenceNbr
){
Boolean
lock
=
redisTemplate
.
opsForValue
().
setIfAbsent
(
"lock"
,
"1"
);
Boolean
lock
=
redisTemplate
.
opsForValue
().
setIfAbsent
(
"lock"
,
"1"
);
if
(
lock
)
{
try
{
OrgUsr
orgUsr
=
saveOrgUsr
(
jsonObject
,
bizOrgType
,
sequenceNbr
);
if
(
lock
)
{
sequenceNbr
=
String
.
valueOf
(
orgUsr
.
getSequenceNbr
());
OrgUsr
orgUsr
=
saveOrgUsr
(
jsonObject
,
bizOrgType
,
sequenceNbr
);
//条件构造器 找出column表种 类型为(COMPANY 或 DEPARTMENT 或 PERSON)的列
sequenceNbr
=
String
.
valueOf
(
orgUsr
.
getSequenceNbr
());
LambdaQueryWrapper
<
DynamicFormColumn
>
wrapper
=
new
LambdaQueryWrapper
<>();
//条件构造器 找出column表种 类型为(COMPANY 或 DEPARTMENT 或 PERSON)的列
wrapper
.
eq
(
DynamicFormColumn:
:
getGroupCode
,
bizOrgType
);
LambdaQueryWrapper
<
DynamicFormColumn
>
wrapper
=
new
LambdaQueryWrapper
<>();
List
<
DynamicFormColumn
>
dynamicFormColumnList
=
dynamicFormColumnServiceImpl
.
list
(
wrapper
);
wrapper
.
eq
(
DynamicFormColumn:
:
getGroupCode
,
bizOrgType
);
List
<
DynamicFormInstance
>
dynamicFormInstanceList
=
new
ArrayList
<>();
List
<
DynamicFormColumn
>
dynamicFormColumnList
=
dynamicFormColumnServiceImpl
.
list
(
wrapper
);
Map
<
String
,
Long
>
map
=
new
HashMap
<>();
List
<
DynamicFormInstance
>
dynamicFormInstanceList
=
new
ArrayList
<>();
for
(
DynamicFormColumn
dynamicFormColumn
:
dynamicFormColumnList
)
{
Map
<
String
,
Long
>
map
=
new
HashMap
<>();
//将column表的基本字段信息给instance表
for
(
DynamicFormColumn
dynamicFormColumn
:
dynamicFormColumnList
)
{
DynamicFormInstance
dynamicFormInstance
=
new
DynamicFormInstance
();
//将column表的基本字段信息给instance表
BeanUtils
.
copyProperties
(
dynamicFormColumn
,
dynamicFormInstance
);
DynamicFormInstance
dynamicFormInstance
=
new
DynamicFormInstance
();
dynamicFormInstance
.
setFormColumnId
(
dynamicFormColumn
.
getSequenceNbr
());
BeanUtils
.
copyProperties
(
dynamicFormColumn
,
dynamicFormInstance
);
//通过字段名去拿到表单传来的值
dynamicFormInstance
.
setFormColumnId
(
dynamicFormColumn
.
getSequenceNbr
());
if
(
"image"
.
equals
(
dynamicFormColumn
.
getFieldCode
()))
{
//通过字段名去拿到表单传来的值
if
(!
ValidationUtil
.
isEmpty
(
jsonObject
.
getJSONArray
(
dynamicFormInstance
.
getFieldCode
())))
{
if
(
"image"
.
equals
(
dynamicFormColumn
.
getFieldCode
()))
{
dynamicFormInstance
.
setFieldValue
(
JSON
.
toJSONString
(
jsonObject
.
getJSONArray
(
dynamicFormInstance
.
getFieldCode
())));
if
(!
ValidationUtil
.
isEmpty
(
jsonObject
.
getJSONArray
(
dynamicFormInstance
.
getFieldCode
())))
{
dynamicFormInstance
.
setFieldValue
(
JSON
.
toJSONString
(
jsonObject
.
getJSONArray
(
dynamicFormInstance
.
getFieldCode
())));
}
}
else
{
dynamicFormInstance
.
setFieldValue
(
jsonObject
.
getString
(
dynamicFormInstance
.
getFieldCode
()));
}
}
}
else
{
dynamicFormInstance
.
setInstanceId
(
orgUsr
.
getSequenceNbr
());
dynamicFormInstance
.
setFieldValue
(
jsonObject
.
getString
(
dynamicFormInstance
.
getFieldCode
()));
dynamicFormInstance
.
setSequenceNbr
(
null
);
dynamicFormInstanceList
.
add
(
dynamicFormInstance
);
}
}
dynamicFormInstance
.
setInstanceId
(
orgUsr
.
getSequenceNbr
());
//如果sequenceNbr有值(更新)
dynamicFormInstance
.
setSequenceNbr
(
null
);
if
(!
ValidationUtil
.
isEmpty
(
sequenceNbr
))
{
dynamicFormInstanceList
.
add
(
dynamicFormInstance
);
LambdaQueryWrapper
<
DynamicFormInstance
>
lambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
}
lambdaQueryWrapper
.
eq
(
DynamicFormInstance:
:
getInstanceId
,
orgUsr
.
getSequenceNbr
());
//如果sequenceNbr有值(更新)
List
<
DynamicFormInstance
>
instanceList
=
alertFormValueServiceImpl
.
list
(
lambdaQueryWrapper
);
if
(!
ValidationUtil
.
isEmpty
(
sequenceNbr
))
{
//如果instance表中有值
LambdaQueryWrapper
<
DynamicFormInstance
>
lambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
if
(!
ValidationUtil
.
isEmpty
(
instanceList
))
{
lambdaQueryWrapper
.
eq
(
DynamicFormInstance:
:
getInstanceId
,
orgUsr
.
getSequenceNbr
());
//将查到的instance信息装到map中
List
<
DynamicFormInstance
>
instanceList
=
alertFormValueServiceImpl
.
list
(
lambdaQueryWrapper
);
for
(
DynamicFormInstance
dynamicFormInstance
:
instanceList
)
{
//如果instance表中有值
map
.
put
(
dynamicFormInstance
.
getFieldCode
(),
dynamicFormInstance
.
getSequenceNbr
());
if
(!
ValidationUtil
.
isEmpty
(
instanceList
))
{
}
//将查到的instance信息装到map中
//将查到的instance信息中的sequenceNbr装到更新之后的表中。
for
(
DynamicFormInstance
dynamicFormInstance
:
instanceList
)
{
for
(
DynamicFormInstance
dynamicFormInstance
:
dynamicFormInstanceList
)
{
map
.
put
(
dynamicFormInstance
.
getFieldCode
(),
dynamicFormInstance
.
getSequenceNbr
());
dynamicFormInstance
.
setSequenceNbr
(
map
.
get
(
dynamicFormInstance
.
getFieldCode
()));
}
}
//将查到的instance信息中的sequenceNbr装到更新之后的表中。
for
(
DynamicFormInstance
dynamicFormInstance
:
dynamicFormInstanceList
)
{
dynamicFormInstance
.
setSequenceNbr
(
map
.
get
(
dynamicFormInstance
.
getFieldCode
()));
}
}
}
}
//保存或更新 根据sequenceNbr
alertFormValueServiceImpl
.
saveOrUpdateBatch
(
dynamicFormInstanceList
);
OrgUsrDto
orgUsrDto
=
new
OrgUsrDto
();
BeanUtils
.
copyProperties
(
orgUsr
,
orgUsrDto
);
orgUsrDto
.
setDynamicFormValue
(
dynamicFormInstanceList
);
return
orgUsrDto
;
}
else
{
try
{
Thread
.
sleep
(
100
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
dataHandling
(
jsonObject
,
bizOrgType
,
sequenceNbr
);
}
}
//保存或更新 根据sequenceNbr
}
catch
(
Exception
e
)
{
alertFormValueServiceImpl
.
saveOrUpdateBatch
(
dynamicFormInstanceList
);
e
.
printStackTrace
();
OrgUsrDto
orgUsrDto
=
new
OrgUsrDto
();
return
null
;
BeanUtils
.
copyProperties
(
orgUsr
,
orgUsrDto
);
}
finally
{
orgUsrDto
.
setDynamicFormValue
(
dynamicFormInstanceList
);
if
(
lock
)
{
redisTemplate
.
delete
(
"lock"
);
redisTemplate
.
delete
(
"lock"
);
return
orgUsrDto
;
}
else
{
try
{
Thread
.
sleep
(
100
);
}
catch
(
Exception
e
){
e
.
printStackTrace
();
}
}
return
dataHandling
(
jsonObject
,
bizOrgType
,
sequenceNbr
);
}
}
}
}
...
@@ -648,201 +656,208 @@ public class OrgServiceImpl {
...
@@ -648,201 +656,208 @@ public class OrgServiceImpl {
*/
*/
public
void
saveOrUpdateUser
(
JSONObject
jsonObject
,
String
orgType
)
{
public
void
saveOrUpdateUser
(
JSONObject
jsonObject
,
String
orgType
)
{
Boolean
lock
=
redisTemplate
.
opsForValue
().
setIfAbsent
(
"lock"
,
"1"
);
Boolean
lock
=
redisTemplate
.
opsForValue
().
setIfAbsent
(
"lock"
,
"1"
);
if
(
lock
)
{
try
{
boolean
isCharge
=
false
;
if
(
lock
)
{
String
amosOrgId
=
jsonObject
.
getString
(
"sequenceNbr"
);
boolean
isCharge
=
false
;
LambdaQueryWrapper
<
OrgUsr
>
wrapper
=
new
LambdaQueryWrapper
<>();
String
amosOrgId
=
jsonObject
.
getString
(
"sequenceNbr"
);
wrapper
.
eq
(
OrgUsr:
:
getAmosOrgId
,
amosOrgId
)
LambdaQueryWrapper
<
OrgUsr
>
wrapper
=
new
LambdaQueryWrapper
<>();
.
eq
(
OrgUsr:
:
getIsDelete
,
Boolean
.
FALSE
);
wrapper
.
eq
(
OrgUsr:
:
getAmosOrgId
,
amosOrgId
)
OrgUsr
one
=
orgUsrServiceImpl
.
getOne
(
wrapper
);
.
eq
(
OrgUsr:
:
getIsDelete
,
Boolean
.
FALSE
);
if
(
ObjectUtils
.
isEmpty
(
one
))
{
OrgUsr
one
=
orgUsrServiceImpl
.
getOne
(
wrapper
);
one
=
new
OrgUsr
();
if
(
ObjectUtils
.
isEmpty
(
one
))
{
}
one
=
new
OrgUsr
();
OrgUsr
parentOne
=
new
OrgUsr
();
}
String
companyId
=
""
;
OrgUsr
parentOne
=
new
OrgUsr
();
if
(
OrgEnum
.
普通人员
.
getKey
().
equals
(
orgType
))
{
String
companyId
=
""
;
JSONObject
companys
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
jsonObject
.
get
(
"orgRoleSeqs"
)));
if
(
OrgEnum
.
普通人员
.
getKey
().
equals
(
orgType
))
{
if
(
CollectionUtils
.
isEmpty
(
companys
))
{
JSONObject
companys
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
jsonObject
.
get
(
"orgRoleSeqs"
)));
return
;
if
(
CollectionUtils
.
isEmpty
(
companys
))
{
}
else
{
return
;
for
(
Map
.
Entry
<
String
,
Object
>
stringObjectEntry
:
companys
.
entrySet
())
{
}
else
{
companyId
=
stringObjectEntry
.
getKey
();
for
(
Map
.
Entry
<
String
,
Object
>
stringObjectEntry
:
companys
.
entrySet
())
{
break
;
companyId
=
stringObjectEntry
.
getKey
();
}
break
;
}
// JSONObject parentJson = JSON.parseObject(JSON.toJSONString(companys));
// JSONObject parentJson = JSON.parseObject(JSON.toJSONString(companys));
// companyId = parentJson.getString("sequenceNbr");
// companyId = parentJson.getString("sequenceNbr");
}
}
else
{
companyId
=
jsonObject
.
getString
(
"myParentId"
);
if
(
companyId
.
length
()
<
10
)
{
companyId
=
jsonObject
.
getString
(
"companySeq"
);
}
}
}
}
else
{
if
(!
StringUtils
.
isEmpty
(
companyId
))
{
companyId
=
jsonObject
.
getString
(
"myParentId"
);
LambdaQueryWrapper
<
OrgUsr
>
wrapper2
=
new
LambdaQueryWrapper
<>();
if
(
companyId
.
length
()
<
10
)
{
wrapper2
.
eq
(
OrgUsr:
:
getAmosOrgId
,
companyId
)
companyId
=
jsonObject
.
getString
(
"companySeq"
);
.
eq
(
OrgUsr:
:
getIsDelete
,
Boolean
.
FALSE
);
parentOne
=
orgUsrServiceImpl
.
getOne
(
wrapper2
);
}
}
}
if
(!
OrgEnum
.
公司
.
getKey
().
equals
(
orgType
)
&&
ObjectUtils
.
isEmpty
(
parentOne
))
{
if
(!
StringUtils
.
isEmpty
(
companyId
))
{
throw
new
BadRequest
(
"数据不完整"
);
LambdaQueryWrapper
<
OrgUsr
>
wrapper2
=
new
LambdaQueryWrapper
<>();
wrapper2
.
eq
(
OrgUsr:
:
getAmosOrgId
,
companyId
)
.
eq
(
OrgUsr:
:
getIsDelete
,
Boolean
.
FALSE
);
parentOne
=
orgUsrServiceImpl
.
getOne
(
wrapper2
);
}
if
(!
OrgEnum
.
公司
.
getKey
().
equals
(
orgType
)
&&
ObjectUtils
.
isEmpty
(
parentOne
))
{
throw
new
BadRequest
(
"数据不完整"
);
}
one
.
setBizOrgName
(
jsonObject
.
getString
(
"realName"
));
if
(
ValidationUtil
.
isEmpty
(
one
.
getBizOrgName
()))
{
one
.
setBizOrgName
(
jsonObject
.
getString
(
"companyName"
));
one
.
setOrgExpandAttr1
(
CompanyTypeEnum
.
registerNameMap
.
get
(
jsonObject
.
getString
(
"companyType"
)));
}
if
(
ValidationUtil
.
isEmpty
(
one
.
getBizOrgName
()))
{
one
.
setBizOrgName
(
jsonObject
.
getString
(
"departmentName"
));
}
if
(
StringUtils
.
isEmpty
(
one
.
getBizOrgCode
()))
{
if
(
OrgEnum
.
公司
.
getKey
().
equals
(
orgType
))
{
one
.
setBizOrgCode
(!
ObjectUtils
.
isEmpty
(
parentOne
)
?
parentOne
.
getBizOrgCode
()
+
getOrgCodeStr
()
:
getOrgCodeStr
());
}
else
if
(
OrgEnum
.
部门
.
getKey
().
equals
(
orgType
))
{
one
.
setBizOrgCode
(
parentOne
.
getBizOrgCode
()
+
getOrgCodeStr
());
}
}
}
one
.
setBizOrgName
(
jsonObject
.
getString
(
"realName"
));
if
(
OrgEnum
.
普通人员
.
getKey
().
equals
(
orgType
))
{
if
(
ValidationUtil
.
isEmpty
(
one
.
getBizOrgName
()))
{
LambdaQueryWrapper
<
OrgUsr
>
wrapper3
=
new
LambdaQueryWrapper
<>();
one
.
setBizOrgName
(
jsonObject
.
getString
(
"companyName"
));
wrapper3
.
eq
(
OrgUsr:
:
getAmosOrgId
,
companyId
)
one
.
setOrgExpandAttr1
(
CompanyTypeEnum
.
registerNameMap
.
get
(
jsonObject
.
getString
(
"companyType"
)));
.
eq
(
OrgUsr:
:
getIsDelete
,
Boolean
.
FALSE
);
}
OrgUsr
one1
=
orgUsrServiceImpl
.
getOne
(
wrapper3
);
if
(
ValidationUtil
.
isEmpty
(
one
.
getBizOrgName
()))
{
one
.
setBizOrgCode
(
one1
.
getBizOrgCode
()
+
getOrgCodeStr
());
one
.
setBizOrgName
(
jsonObject
.
getString
(
"departmentName"
));
if
(
OrgEnum
.
部门
.
getKey
().
equals
(
one1
.
getBizOrgType
()))
{
}
//向部门添加人员
if
(
StringUtils
.
isEmpty
(
one
.
getBizOrgCode
()))
{
isCharge
=
true
;
if
(
OrgEnum
.
公司
.
getKey
().
equals
(
orgType
))
{
}
else
{
one
.
setBizOrgCode
(!
ObjectUtils
.
isEmpty
(
parentOne
)
?
parentOne
.
getBizOrgCode
()
+
getOrgCodeStr
()
:
getOrgCodeStr
());
//如果是修改 如果这个人之前是部门负责人,现在去掉负责人。
}
else
if
(
OrgEnum
.
部门
.
getKey
().
equals
(
orgType
))
{
LambdaQueryWrapper
<
OrgUsr
>
orgUsrWrappers
=
new
LambdaQueryWrapper
<>();
one
.
setBizOrgCode
(
parentOne
.
getBizOrgCode
()
+
getOrgCodeStr
());
orgUsrWrappers
.
eq
(
OrgUsr:
:
getBizOrgName
,
one
.
getBizOrgName
());
}
OrgUsr
orgUsr
=
orgUsrServiceImpl
.
getOne
(
orgUsrWrappers
);
}
if
(!
ValidationUtil
.
isEmpty
(
orgUsr
))
{
if
(
OrgEnum
.
普通人员
.
getKey
().
equals
(
orgType
))
{
orgUsr
=
orgUsrServiceImpl
.
getById
(
orgUsr
.
getParentId
());
LambdaQueryWrapper
<
OrgUsr
>
wrapper3
=
new
LambdaQueryWrapper
<>();
if
(
OrgEnum
.
部门
.
getKey
().
equals
(
orgUsr
.
getBizOrgType
()))
{
wrapper3
.
eq
(
OrgUsr:
:
getAmosOrgId
,
companyId
)
String
deptId
=
String
.
valueOf
(
orgUsr
.
getSequenceNbr
());
.
eq
(
OrgUsr:
:
getIsDelete
,
Boolean
.
FALSE
);
LambdaQueryWrapper
<
DynamicFormInstance
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
OrgUsr
one1
=
orgUsrServiceImpl
.
getOne
(
wrapper3
);
queryWrapper
.
eq
(
DynamicFormInstance:
:
getFieldCode
,
"charge"
).
eq
(
DynamicFormInstance:
:
getInstanceId
,
deptId
);
one
.
setBizOrgCode
(
one1
.
getBizOrgCode
()
+
getOrgCodeStr
());
DynamicFormInstance
instance
=
alertFormValueServiceImpl
.
getOne
(
queryWrapper
);
if
(
OrgEnum
.
部门
.
getKey
().
equals
(
one1
.
getBizOrgType
()))
{
String
obj
=
instance
.
getFieldValue
();
//向部门添加人员
List
list
=
new
ArrayList
();
isCharge
=
true
;
if
(!
ValidationUtil
.
isEmpty
(
obj
))
{
}
else
{
list
=
JSON
.
parseObject
(
obj
,
ArrayList
.
class
);
//如果是修改 如果这个人之前是部门负责人,现在去掉负责人。
}
LambdaQueryWrapper
<
OrgUsr
>
orgUsrWrappers
=
new
LambdaQueryWrapper
<>();
Long
personId
=
one
.
getSequenceNbr
();
orgUsrWrappers
.
eq
(
OrgUsr:
:
getBizOrgName
,
one
.
getBizOrgName
());
if
(
list
.
contains
(
personId
))
{
OrgUsr
orgUsr
=
orgUsrServiceImpl
.
getOne
(
orgUsrWrappers
);
list
.
remove
(
personId
);
if
(!
ValidationUtil
.
isEmpty
(
orgUsr
))
{
instance
.
setFieldValue
(
JSON
.
toJSONString
(
list
));
orgUsr
=
orgUsrServiceImpl
.
getById
(
orgUsr
.
getParentId
());
alertFormValueServiceImpl
.
update
(
instance
,
queryWrapper
);
if
(
OrgEnum
.
部门
.
getKey
().
equals
(
orgUsr
.
getBizOrgType
()))
{
String
deptId
=
String
.
valueOf
(
orgUsr
.
getSequenceNbr
());
LambdaQueryWrapper
<
DynamicFormInstance
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
DynamicFormInstance:
:
getFieldCode
,
"charge"
).
eq
(
DynamicFormInstance:
:
getInstanceId
,
deptId
);
DynamicFormInstance
instance
=
alertFormValueServiceImpl
.
getOne
(
queryWrapper
);
String
obj
=
instance
.
getFieldValue
();
List
list
=
new
ArrayList
();
if
(!
ValidationUtil
.
isEmpty
(
obj
))
{
list
=
JSON
.
parseObject
(
obj
,
ArrayList
.
class
);
}
Long
personId
=
one
.
getSequenceNbr
();
if
(
list
.
contains
(
personId
))
{
list
.
remove
(
personId
);
instance
.
setFieldValue
(
JSON
.
toJSONString
(
list
));
alertFormValueServiceImpl
.
update
(
instance
,
queryWrapper
);
}
}
}
}
}
}
}
}
}
}
one
.
setAmosOrgId
(
amosOrgId
);
one
.
setAmosOrgId
(
amosOrgId
);
one
.
setAmosOrgCode
(
""
);
one
.
setAmosOrgCode
(
""
);
one
.
setBizOrgType
(
orgType
);
one
.
setBizOrgType
(
orgType
);
if
(
StringUtils
.
isEmpty
(
jsonObject
.
getString
(
"myParentId"
)))
{
if
(
StringUtils
.
isEmpty
(
jsonObject
.
getString
(
"myParentId"
)))
{
one
.
setParentId
(
ObjectUtils
.
isEmpty
(
parentOne
)
?
null
:
String
.
valueOf
(
parentOne
.
getSequenceNbr
()));
one
.
setParentId
(
ObjectUtils
.
isEmpty
(
parentOne
)
?
null
:
String
.
valueOf
(
parentOne
.
getSequenceNbr
()));
}
}
orgUsrServiceImpl
.
saveOrUpdate
(
one
);
orgUsrServiceImpl
.
saveOrUpdate
(
one
);
if
(
isCharge
)
{
if
(
isCharge
)
{
//向部门添加负责人
//向部门添加负责人
JSONArray
roleSeqs
=
jsonObject
.
getJSONObject
(
"orgRoleSeqs"
).
getJSONArray
(
companyId
);
JSONArray
roleSeqs
=
jsonObject
.
getJSONObject
(
"orgRoleSeqs"
).
getJSONArray
(
companyId
);
LambdaQueryWrapper
<
OrgUsr
>
wrapper1
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
OrgUsr
>
wrapper1
=
new
LambdaQueryWrapper
<>();
wrapper1
.
eq
(
OrgUsr:
:
getAmosOrgId
,
companyId
);
wrapper1
.
eq
(
OrgUsr:
:
getAmosOrgId
,
companyId
);
OrgUsr
orgUsr
=
orgUsrServiceImpl
.
getOne
(
wrapper1
);
OrgUsr
orgUsr
=
orgUsrServiceImpl
.
getOne
(
wrapper1
);
if
(!
ValidationUtil
.
isEmpty
(
orgUsr
))
{
if
(!
ValidationUtil
.
isEmpty
(
orgUsr
))
{
String
deptId
=
String
.
valueOf
(
orgUsr
.
getSequenceNbr
());
String
deptId
=
String
.
valueOf
(
orgUsr
.
getSequenceNbr
());
LambdaQueryWrapper
<
DynamicFormInstance
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
DynamicFormInstance
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
DynamicFormInstance:
:
getFieldCode
,
"charge"
).
eq
(
DynamicFormInstance:
:
getInstanceId
,
deptId
);
queryWrapper
.
eq
(
DynamicFormInstance:
:
getFieldCode
,
"charge"
).
eq
(
DynamicFormInstance:
:
getInstanceId
,
deptId
);
DynamicFormInstance
instance
=
alertFormValueServiceImpl
.
getOne
(
queryWrapper
);
DynamicFormInstance
instance
=
alertFormValueServiceImpl
.
getOne
(
queryWrapper
);
String
obj
=
instance
.
getFieldValue
();
String
obj
=
instance
.
getFieldValue
();
List
list
=
new
ArrayList
();
List
list
=
new
ArrayList
();
if
(!
ValidationUtil
.
isEmpty
(
obj
))
{
if
(!
ValidationUtil
.
isEmpty
(
obj
))
{
list
=
JSON
.
parseObject
(
obj
,
ArrayList
.
class
);
list
=
JSON
.
parseObject
(
obj
,
ArrayList
.
class
);
}
Long
personId
=
one
.
getSequenceNbr
();
if
(
roleSeqs
.
contains
(
chargeRoleSeq
))
{
if
(!
list
.
contains
(
personId
))
{
list
.
add
(
personId
);
}
}
}
else
{
Long
personId
=
one
.
getSequenceNbr
();
if
(
list
.
contains
(
personId
))
{
if
(
roleSeqs
.
contains
(
chargeRoleSeq
))
{
list
.
remove
(
personId
);
if
(!
list
.
contains
(
personId
))
{
list
.
add
(
personId
);
}
}
else
{
if
(
list
.
contains
(
personId
))
{
list
.
remove
(
personId
);
}
}
}
instance
.
setFieldValue
(
JSON
.
toJSONString
(
list
));
alertFormValueServiceImpl
.
update
(
instance
,
queryWrapper
);
}
}
instance
.
setFieldValue
(
JSON
.
toJSONString
(
list
));
alertFormValueServiceImpl
.
update
(
instance
,
queryWrapper
);
}
}
}
JSONObject
jsonObjectFormColumn
=
new
JSONObject
();
JSONObject
jsonObjectFormColumn
=
new
JSONObject
();
if
(
OrgEnum
.
公司
.
getKey
().
equals
(
orgType
))
{
if
(
OrgEnum
.
公司
.
getKey
().
equals
(
orgType
))
{
jsonObjectFormColumn
.
put
(
"name"
,
jsonObject
.
getString
(
"companyName"
));
jsonObjectFormColumn
.
put
(
"name"
,
jsonObject
.
getString
(
"companyName"
));
jsonObjectFormColumn
.
put
(
"type"
,
jsonObject
.
getString
(
"companyType"
));
jsonObjectFormColumn
.
put
(
"type"
,
jsonObject
.
getString
(
"companyType"
));
jsonObjectFormColumn
.
put
(
"creditCode"
,
jsonObject
.
getString
(
"companyCode"
));
jsonObjectFormColumn
.
put
(
"creditCode"
,
jsonObject
.
getString
(
"companyCode"
));
jsonObjectFormColumn
.
put
(
"address"
,
jsonObject
.
getString
(
"address"
));
jsonObjectFormColumn
.
put
(
"address"
,
jsonObject
.
getString
(
"address"
));
jsonObjectFormColumn
.
put
(
"contact"
,
jsonObject
.
getString
(
"contact"
));
jsonObjectFormColumn
.
put
(
"contact"
,
jsonObject
.
getString
(
"contact"
));
jsonObjectFormColumn
.
put
(
"contactPhone"
,
jsonObject
.
getString
(
"landlinePhone"
));
jsonObjectFormColumn
.
put
(
"contactPhone"
,
jsonObject
.
getString
(
"landlinePhone"
));
jsonObjectFormColumn
.
put
(
"orgCode"
,
jsonObject
.
getString
(
"orgCode"
));
jsonObjectFormColumn
.
put
(
"orgCode"
,
jsonObject
.
getString
(
"orgCode"
));
}
else
if
(
OrgEnum
.
普通人员
.
getKey
().
equals
(
orgType
))
{
}
else
if
(
OrgEnum
.
普通人员
.
getKey
().
equals
(
orgType
))
{
jsonObjectFormColumn
.
put
(
"name"
,
jsonObject
.
getString
(
"realName"
));
jsonObjectFormColumn
.
put
(
"name"
,
jsonObject
.
getString
(
"realName"
));
jsonObjectFormColumn
.
put
(
"phone"
,
jsonObject
.
getString
(
"mobile"
));
jsonObjectFormColumn
.
put
(
"phone"
,
jsonObject
.
getString
(
"mobile"
));
}
else
if
(
OrgEnum
.
部门
.
getKey
().
equals
(
orgType
))
{
}
else
if
(
OrgEnum
.
部门
.
getKey
().
equals
(
orgType
))
{
jsonObjectFormColumn
.
put
(
"name"
,
one
.
getBizOrgName
());
jsonObjectFormColumn
.
put
(
"name"
,
one
.
getBizOrgName
());
}
}
//条件构造器 找出column表种 类型为(COMPANY 或 DEPARTMENT 或 PERSON)的列
//条件构造器 找出column表种 类型为(COMPANY 或 DEPARTMENT 或 PERSON)的列
LambdaQueryWrapper
<
DynamicFormColumn
>
wrapper2
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
DynamicFormColumn
>
wrapper2
=
new
LambdaQueryWrapper
<>();
wrapper2
.
eq
(
DynamicFormColumn:
:
getGroupCode
,
orgType
);
wrapper2
.
eq
(
DynamicFormColumn:
:
getGroupCode
,
orgType
);
List
<
DynamicFormColumn
>
dynamicFormColumnList
=
dynamicFormColumnServiceImpl
.
list
(
wrapper2
);
List
<
DynamicFormColumn
>
dynamicFormColumnList
=
dynamicFormColumnServiceImpl
.
list
(
wrapper2
);
List
<
DynamicFormInstance
>
dynamicFormInstanceList
=
new
ArrayList
<>();
List
<
DynamicFormInstance
>
dynamicFormInstanceList
=
new
ArrayList
<>();
Map
<
String
,
Long
>
map
=
new
HashMap
<>();
Map
<
String
,
Long
>
map
=
new
HashMap
<>();
for
(
DynamicFormColumn
dynamicFormColumn
:
dynamicFormColumnList
)
{
for
(
DynamicFormColumn
dynamicFormColumn
:
dynamicFormColumnList
)
{
//将column表的基本字段信息给instance表
//将column表的基本字段信息给instance表
DynamicFormInstance
dynamicFormInstance
=
new
DynamicFormInstance
();
DynamicFormInstance
dynamicFormInstance
=
new
DynamicFormInstance
();
BeanUtils
.
copyProperties
(
dynamicFormColumn
,
dynamicFormInstance
);
BeanUtils
.
copyProperties
(
dynamicFormColumn
,
dynamicFormInstance
);
dynamicFormInstance
.
setFormColumnId
(
dynamicFormColumn
.
getSequenceNbr
());
dynamicFormInstance
.
setFormColumnId
(
dynamicFormColumn
.
getSequenceNbr
());
//通过字段名去拿到表单传来的值
//通过字段名去拿到表单传来的值
if
(
"image"
.
equals
(
dynamicFormColumn
.
getFieldCode
()))
{
if
(
"image"
.
equals
(
dynamicFormColumn
.
getFieldCode
()))
{
if
(!
ValidationUtil
.
isEmpty
(
jsonObjectFormColumn
.
getJSONArray
(
dynamicFormInstance
.
getFieldCode
())))
{
if
(!
ValidationUtil
.
isEmpty
(
jsonObjectFormColumn
.
getJSONArray
(
dynamicFormInstance
.
getFieldCode
())))
{
dynamicFormInstance
.
setFieldValue
(
JSON
.
toJSONString
(
jsonObjectFormColumn
.
getJSONArray
(
dynamicFormInstance
.
getFieldCode
())));
dynamicFormInstance
.
setFieldValue
(
JSON
.
toJSONString
(
jsonObjectFormColumn
.
getJSONArray
(
dynamicFormInstance
.
getFieldCode
())));
}
}
else
{
dynamicFormInstance
.
setFieldValue
(
jsonObjectFormColumn
.
getString
(
dynamicFormInstance
.
getFieldCode
()));
}
}
}
else
{
dynamicFormInstance
.
setInstanceId
(
one
.
getSequenceNbr
());
dynamicFormInstance
.
setFieldValue
(
jsonObjectFormColumn
.
getString
(
dynamicFormInstance
.
getFieldCode
()));
dynamicFormInstance
.
setSequenceNbr
(
null
);
dynamicFormInstanceList
.
add
(
dynamicFormInstance
);
}
}
dynamicFormInstance
.
setInstanceId
(
one
.
getSequenceNbr
());
//如果sequenceNbr有值(更新)
dynamicFormInstance
.
setSequenceNbr
(
null
);
if
(!
ValidationUtil
.
isEmpty
(
one
.
getSequenceNbr
()))
{
dynamicFormInstanceList
.
add
(
dynamicFormInstance
);
LambdaQueryWrapper
<
DynamicFormInstance
>
lambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
}
lambdaQueryWrapper
.
eq
(
DynamicFormInstance:
:
getInstanceId
,
one
.
getSequenceNbr
());
//如果sequenceNbr有值(更新)
List
<
DynamicFormInstance
>
instanceList
=
alertFormValueServiceImpl
.
list
(
lambdaQueryWrapper
);
if
(!
ValidationUtil
.
isEmpty
(
one
.
getSequenceNbr
()))
{
//如果instance表中有值
LambdaQueryWrapper
<
DynamicFormInstance
>
lambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
if
(!
ValidationUtil
.
isEmpty
(
instanceList
))
{
lambdaQueryWrapper
.
eq
(
DynamicFormInstance:
:
getInstanceId
,
one
.
getSequenceNbr
());
//将查到的instance信息装到map中
List
<
DynamicFormInstance
>
instanceList
=
alertFormValueServiceImpl
.
list
(
lambdaQueryWrapper
);
for
(
DynamicFormInstance
dynamicFormInstance
:
instanceList
)
{
//如果instance表中有值
map
.
put
(
dynamicFormInstance
.
getFieldCode
(),
dynamicFormInstance
.
getSequenceNbr
());
if
(!
ValidationUtil
.
isEmpty
(
instanceList
))
{
}
//将查到的instance信息装到map中
//将查到的instance信息中的sequenceNbr装到更新之后的表中。
for
(
DynamicFormInstance
dynamicFormInstance
:
instanceList
)
{
for
(
DynamicFormInstance
dynamicFormInstance
:
dynamicFormInstanceList
)
{
map
.
put
(
dynamicFormInstance
.
getFieldCode
(),
dynamicFormInstance
.
getSequenceNbr
());
dynamicFormInstance
.
setSequenceNbr
(
map
.
get
(
dynamicFormInstance
.
getFieldCode
()));
}
}
//将查到的instance信息中的sequenceNbr装到更新之后的表中。
for
(
DynamicFormInstance
dynamicFormInstance
:
dynamicFormInstanceList
)
{
dynamicFormInstance
.
setSequenceNbr
(
map
.
get
(
dynamicFormInstance
.
getFieldCode
()));
}
}
}
}
//保存或更新 根据sequenceNbr
alertFormValueServiceImpl
.
saveOrUpdateBatch
(
dynamicFormInstanceList
);
}
else
{
try
{
Thread
.
sleep
(
100
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
saveOrUpdateUser
(
jsonObject
,
orgType
);
}
}
//保存或更新 根据sequenceNbr
}
catch
(
Exception
e
)
{
alertFormValueServiceImpl
.
saveOrUpdateBatch
(
dynamicFormInstanceList
);
e
.
printStackTrace
();
redisTemplate
.
delete
(
"lock"
);
}
finally
{
}
else
{
if
(
lock
)
{
try
{
redisTemplate
.
delete
(
"lock"
);
Thread
.
sleep
(
100
);
}
catch
(
Exception
e
){
e
.
printStackTrace
();
}
}
saveOrUpdateUser
(
jsonObject
,
orgType
);
}
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment