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
e9f83b6f
Commit
e9f83b6f
authored
Jan 18, 2024
by
suhuiguang
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop_tzs_register' of…
Merge branch 'develop_tzs_register' of
http://36.40.66.175:5000/moa/amos-boot-biz
into develop_tzs_register
parents
c145de89
15218606
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
595 additions
and
338 deletions
+595
-338
JgInstallationNoticeServiceImpl.java
.../jg/biz/service/impl/JgInstallationNoticeServiceImpl.java
+1
-1
JgScrapCancelServiceImpl.java
.../module/jg/biz/service/impl/JgScrapCancelServiceImpl.java
+43
-54
BizTypeEnum.java
.../yeejoin/amos/boot/module/jyjc/api/enums/BizTypeEnum.java
+23
-4
BusinessTypeEnum.java
...oin/amos/boot/module/jyjc/api/enums/BusinessTypeEnum.java
+75
-0
JyjcInspectionApplicationModel.java
...module/jyjc/api/model/JyjcInspectionApplicationModel.java
+1
-1
TaskMessageDto.java
...ejoin/amos/boot/module/jyjc/api/model/TaskMessageDto.java
+2
-0
JyjcInspectionApplicationController.java
...c/biz/controller/JyjcInspectionApplicationController.java
+17
-17
JyjcOpeningApplicationController.java
...jyjc/biz/controller/JyjcOpeningApplicationController.java
+9
-5
TaskModelServiceImpl.java
...os/boot/module/jyjc/biz/service/TaskModelServiceImpl.java
+1
-1
JyjcInspectionApplicationServiceImpl.java
...iz/service/impl/JyjcInspectionApplicationServiceImpl.java
+227
-121
JyjcOpeningApplicationServiceImpl.java
...c/biz/service/impl/JyjcOpeningApplicationServiceImpl.java
+137
-122
bizTypeInfo.json
...-module-jyjc-biz/src/main/resources/json/bizTypeInfo.json
+17
-5
IGenerateCodeService.java
...mos/boot/module/ymt/api/service/IGenerateCodeService.java
+2
-0
GenerateCodeController.java
...oot/module/ymt/biz/controller/GenerateCodeController.java
+11
-4
GenerateCodeServiceImpl.java
.../module/ymt/biz/service/impl/GenerateCodeServiceImpl.java
+29
-3
No files found.
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/service/impl/JgInstallationNoticeServiceImpl.java
View file @
e9f83b6f
...
...
@@ -198,7 +198,7 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
installationInfo
.
put
(
s
,
ObjectUtils
.
isEmpty
(
installationInfo
.
get
(
s
))
?
new
JSONArray
()
:
parseArray
(
installationInfo
.
get
(
s
).
toString
()));
}
if
(
equipmentInfos
.
get
(
0
).
containsKey
(
s
))
{
equipmentInfos
.
get
(
0
).
put
(
s
,
ObjectUtils
.
isEmpty
(
installationInfo
.
get
(
s
))
?
new
JSONArray
()
:
parseArray
(
equipmentInfos
.
get
(
0
).
get
(
s
).
toString
()));
equipmentInfos
.
get
(
0
).
put
(
s
,
ObjectUtils
.
isEmpty
(
equipmentInfos
.
get
(
0
)
.
get
(
s
))
?
new
JSONArray
()
:
parseArray
(
equipmentInfos
.
get
(
0
).
get
(
s
).
toString
()));
}
}
Map
<
String
,
Object
>
map
=
equipmentInfos
.
get
(
0
);
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/service/impl/JgScrapCancelServiceImpl.java
View file @
e9f83b6f
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
...
...
@@ -53,7 +52,6 @@ import org.typroject.tyboot.core.rdbms.service.BaseService;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
* 设备注销报废服务实现类
...
...
@@ -149,7 +147,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
public
void
save
(
String
submitType
,
Map
<
String
,
Object
>
mapParams
)
{
ReginParams
reginParams
=
this
.
getSelectedOrgInfo
();
Map
<?,
?>
noticeParams
=
(
Map
)
mapParams
.
get
(
PAGE_KEY
);
String
equipId
=
noticeParams
.
get
(
"record"
).
toString
(
);
String
equipId
=
String
.
valueOf
(
noticeParams
.
get
(
"record"
)
);
String
[]
receiveOrg
=
String
.
valueOf
(
noticeParams
.
get
(
"receiveOrgCreditCode"
)).
split
(
"_"
);
noticeParams
.
remove
(
"record"
);
String
[]
taskName
=
new
String
[]{
"流程结束"
};
...
...
@@ -159,22 +157,16 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
model
.
setReceiveOrgName
(
receiveOrg
[
1
]);
// 字段转换
convertField
(
model
);
// 获取告知设备信息
// 设备信息转换
if
(
StrUtil
.
isEmpty
(
model
.
getSEQUENCE_NBR
()))
{
return
;
}
List
<
Map
<
String
,
Object
>>
deviceList
=
new
ArrayList
<>();
HashMap
<
String
,
Object
>
map1
=
new
HashMap
<>();
map1
.
put
(
"SEQUENCE_NBR"
,
model
.
getSEQUENCE_NBR
());
deviceList
.
add
(
map1
);
// 获取告知单号
ResponseModel
<
List
<
String
>>
listResponseModel
=
tzsServiceFeignClient
.
applicationFormCode
(
ApplicationFormTypeEnum
.
getCode
.
get
(
String
.
valueOf
(
noticeParams
.
get
(
"businessCode"
))),
deviceList
.
size
()
);
tzsServiceFeignClient
.
applicationFormCode
(
ApplicationFormTypeEnum
.
getCode
.
get
(
String
.
valueOf
(
noticeParams
.
get
(
"businessCode"
))),
1
);
if
(!
ObjectUtils
.
isEmpty
(
listResponseModel
)
&&
listResponseModel
.
getStatus
()
!=
HttpStatus
.
OK
.
value
())
{
log
.
error
(
" 获取告知单号失败"
);
throw
new
RuntimeException
();
}
HashMap
<
String
,
Object
>
deviceMap
=
new
HashMap
<>();
deviceMap
.
put
(
"SEQUENCE_NBR"
,
model
.
getSEQUENCE_NBR
());
String
instanceId
=
""
;
String
nextTaskId
=
""
;
String
nextUserIds
=
""
;
...
...
@@ -191,15 +183,15 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
// 发起流程
ActWorkflowBatchDTO
actWorkflowBatchDTO
=
new
ActWorkflowBatchDTO
();
List
<
ActWorkflowStartDTO
>
list
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
deviceList
.
size
();
i
++)
{
ActWorkflowStartDTO
dto
=
new
ActWorkflowStartDTO
();
dto
.
setProcessDefinitionKey
(
"scrapCancelNew"
);
dto
.
setBusinessKey
(
applyNoList
.
get
(
i
));
dto
.
setBusinessKey
(
applyNoList
.
get
(
0
));
dto
.
setCompleteFirstTask
(
Boolean
.
TRUE
);
//下一节点执行人单位(下节点接收机构code)
dto
.
setNextExecuteUserCompanyCode
(
model
.
getReceiveOrgCode
());
list
.
add
(
dto
);
}
actWorkflowBatchDTO
.
setProcess
(
list
);
processTaskDTOS
=
cmWorkflowService
.
startBatch
(
actWorkflowBatchDTO
);
this
.
buildRoleList
(
processTaskDTOS
,
roleListNext
,
roleListAll
);
...
...
@@ -211,52 +203,41 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
this
.
buildRoleList
(
processTaskDTOS
,
roleListNext
,
roleListAll
);
}
List
<
JgScrapCancel
>
list
=
new
ArrayList
<>();
List
<
JgScrapCancelEq
>
equipList
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
deviceList
.
size
();
i
++)
{
JgScrapCancelEq
jgRelationEquip
=
new
JgScrapCancelEq
();
JgScrapCancel
dto
=
new
JgScrapCancel
();
BeanUtils
.
copyProperties
(
model
,
dto
);
String
applyNo
=
applyNoList
.
get
(
i
);
JgScrapCancel
jgScrapCancel
=
new
JgScrapCancel
();
BeanUtils
.
copyProperties
(
model
,
jgScrapCancel
);
String
applyNo
=
applyNoList
.
get
(
0
);
LambdaQueryWrapper
<
OtherInfo
>
otherLambda
=
new
QueryWrapper
<
OtherInfo
>().
lambda
();
otherLambda
.
eq
(
OtherInfo:
:
getRecord
,
deviceList
.
get
(
i
)
.
get
(
"SEQUENCE_NBR"
));
otherLambda
.
eq
(
OtherInfo:
:
getRecord
,
deviceMap
.
get
(
"SEQUENCE_NBR"
));
OtherInfo
otherInfo
=
otherInfoMapper
.
selectOne
(
otherLambda
);
if
(!
ObjectUtils
.
isEmpty
(
otherInfo
))
{
String
supervisoryCode
=
otherInfo
.
getSupervisoryCode
();
dto
.
setSupervisoryCode
(
supervisoryCode
);
dto
.
setApplyNo
(
applyNo
);
dto
.
setCreateDate
(
new
Date
());
dto
.
setNextExecuteIds
(
String
.
join
(
","
,
roleListNext
));
dto
.
setInstanceStatus
(
String
.
join
(
","
,
roleListAll
));
dto
.
setPromoter
(
reginParams
.
getUserModel
().
getUserId
());
dto
.
setNextTaskId
(
Objects
.
isNull
(
workflowResultDtos
)
?
null
:
workflowResultDtos
.
get
(
i
).
getNextTaskId
());
jgRelationEquip
.
setEquId
(
String
.
valueOf
(
deviceList
.
get
(
i
).
get
(
"SEQUENCE_NBR"
)));
jgScrapCancel
.
setSupervisoryCode
(
supervisoryCode
);
}
jgScrapCancel
.
setApplyNo
(
applyNo
);
jgScrapCancel
.
setCreateDate
(
new
Date
());
jgScrapCancel
.
setNextExecuteIds
(
String
.
join
(
","
,
roleListNext
));
jgScrapCancel
.
setInstanceStatus
(
String
.
join
(
","
,
roleListAll
));
jgScrapCancel
.
setPromoter
(
reginParams
.
getUserModel
().
getUserId
());
jgScrapCancel
.
setNextTaskId
(
Objects
.
isNull
(
workflowResultDtos
)
?
null
:
workflowResultDtos
.
get
(
0
).
getNextTaskId
());
jgRelationEquip
.
setEquId
((
String
)
deviceMap
.
get
(
"SEQUENCE_NBR"
));
jgRelationEquip
.
setEquipTransferId
(
applyNo
);
if
(!
StringUtils
.
isEmpty
(
instanceId
))
{
dto
.
setInstanceId
(
instanceId
);
dto
.
setNextTaskId
(
nextTaskId
);
dto
.
setNextExecuteUserIds
(
nextUserIds
);
dto
.
setAuditStatus
(
String
.
valueOf
(
WorkFlowStatusEnum
.
CANCEL_RECEIVE
.
getPass
()));
jgScrapCancel
.
setInstanceId
(
instanceId
);
jgScrapCancel
.
setNextTaskId
(
nextTaskId
);
jgScrapCancel
.
setNextExecuteUserIds
(
nextUserIds
);
jgScrapCancel
.
setAuditStatus
(
String
.
valueOf
(
WorkFlowStatusEnum
.
CANCEL_RECEIVE
.
getPass
()));
}
else
{
dto
.
setAuditStatus
(
String
.
valueOf
(
WorkFlowStatusEnum
.
CANCEL_SUBMIT
.
getPass
()));
}
dto
.
setUseUnitCode
(
reginParams
.
getCompany
().
getCompanyCode
());
dto
.
setUseUnitName
(
reginParams
.
getCompany
().
getCompanyName
());
dto
.
setCreateUserId
(
RequestContext
.
getExeUserId
());
list
.
add
(
dto
);
equipList
.
add
(
jgRelationEquip
);
jgScrapCancel
.
setAuditStatus
(
String
.
valueOf
(
WorkFlowStatusEnum
.
CANCEL_SUBMIT
.
getPass
()));
}
this
.
saveBatch
(
list
);
jgScrapCancel
.
setUseUnitCode
(
reginParams
.
getCompany
().
getCompanyCode
());
jgScrapCancel
.
setUseUnitName
(
reginParams
.
getCompany
().
getCompanyName
());
jgScrapCancel
.
setCreateUserId
(
RequestContext
.
getExeUserId
());
this
.
save
(
jgScrapCancel
);
// 新增代办
for
(
JgScrapCancel
jgScrapCancel
:
list
)
{
this
.
createTaskModel
(
jgScrapCancel
,
taskName
[
0
],
submitType
,
nextUserIds
);
}
List
<
JgScrapCancelEq
>
jgScrapCancelEqList
=
equipList
.
stream
().
map
(
t
->
{
List
<
JgScrapCancel
>
collect
=
list
.
stream
().
filter
(
item
->
t
.
getEquipTransferId
().
equals
(
item
.
getApplyNo
())).
collect
(
Collectors
.
toList
());
Long
sequenceNbr
=
collect
.
get
(
0
).
getSequenceNbr
();
return
t
.
setEquipTransferId
(
String
.
valueOf
(
sequenceNbr
));
}).
collect
(
Collectors
.
toList
());
jgScrapCancelEqService
.
saveBatch
(
jgScrapCancelEqList
);
jgRelationEquip
.
setEquipTransferId
(
String
.
valueOf
(
jgScrapCancel
.
getSequenceNbr
()));
jgScrapCancelEqService
.
save
(
jgRelationEquip
);
}
private
void
createTaskModel
(
JgScrapCancel
scrapCancel
,
String
taskName
,
String
submitType
,
String
nextUserIds
)
{
...
...
@@ -329,7 +310,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
lambda
.
eq
(
JgScrapCancel:
:
getSequenceNbr
,
id
);
JgScrapCancel
jgScrapCancel
=
this
.
baseMapper
.
selectOne
(
lambda
);
//删除代办消息
commonService
.
deleteTaskModel
(
jgScrapCancel
.
getInstanceId
(
));
commonService
.
deleteTaskModel
(
String
.
valueOf
(
jgScrapCancel
.
getSequenceNbr
()
));
//更新jgScrapCancel数据
jgScrapCancel
.
setIsDelete
(
true
);
this
.
updateById
(
jgScrapCancel
);
...
...
@@ -415,17 +396,20 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
jgScrapCancelEq
.
setEquId
(
jgScrapCancelDto
.
getRecord
());
jgScrapCancelEqMapper
.
update
(
jgScrapCancelEq
,
updateWrapper
);
}
else
{
if
(!
ObjectUtils
.
isEmpty
(
jgScrapCancelDto
.
getSEQUENCE_NBR
())
&&
!
"null"
.
equals
(
jgScrapCancelDto
.
getSEQUENCE_NBR
()))
{
LambdaQueryWrapper
<
OtherInfo
>
otherLambda
=
new
QueryWrapper
<
OtherInfo
>().
lambda
();
otherLambda
.
eq
(
OtherInfo:
:
getRecord
,
jgScrapCancelDto
.
getSEQUENCE_NBR
());
OtherInfo
otherInfo
=
otherInfoMapper
.
selectOne
(
otherLambda
);
String
supervisoryCode
=
otherInfo
.
getSupervisoryCode
();
jgScrapCancelDto
.
setSupervisoryCode
(
supervisoryCode
);
}
//更新操作
JgScrapCancel
bean
=
new
JgScrapCancel
();
BeanUtils
.
copyProperties
(
jgScrapCancelDto
,
bean
);
bean
.
setCancelCertificate
(
JSON
.
toJSONString
(
jgScrapCancelDto
.
getCancelCertificateList
()));
this
.
updateById
(
bean
);
LambdaUpdateWrapper
<
JgScrapCancelEq
>
updateWrapper
=
new
LambdaUpdateWrapper
<>();
updateWrapper
.
eq
(
JgScrapCancelEq:
:
getEquipTransferId
,
bean
.
getSequenceNbr
());
updateWrapper
.
eq
(
JgScrapCancelEq:
:
getEquipTransferId
,
jgScrapCancelDto
.
getSequenceNbr
());
JgScrapCancelEq
jgScrapCancelEq
=
new
JgScrapCancelEq
();
jgScrapCancelEq
.
setEquId
(
jgScrapCancelDto
.
getRecord
());
jgScrapCancelEqMapper
.
update
(
jgScrapCancelEq
,
updateWrapper
);
...
...
@@ -528,6 +512,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
LambdaQueryWrapper
<
JgScrapCancelEq
>
lambdaEq
=
new
QueryWrapper
<
JgScrapCancelEq
>().
lambda
();
lambdaEq
.
eq
(
JgScrapCancelEq:
:
getEquipTransferId
,
sequenceNbr
);
JgScrapCancelEq
jgScrapCancelEq
=
jgScrapCancelEqMapper
.
selectOne
(
lambdaEq
);
if
(!
ValidationUtil
.
isNull
(
jgScrapCancelEq
.
getEquId
())
&&
!
"null"
.
equals
(
jgScrapCancelEq
.
getEquId
()))
{
// 设备信息
installationInfo
.
put
(
"record"
,
jgScrapCancelEq
.
getEquId
());
...
...
@@ -542,6 +527,10 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
this
.
put
(
PAGE_KEY
,
detailFieldCamelCaseByRecord
);
}};
}
return
new
HashMap
<
String
,
Object
>()
{{
this
.
put
(
PAGE_KEY
,
installationInfo
);
}};
}
@Transactional
...
...
amos-boot-system-tzs/amos-boot-module-jyjc/amos-boot-module-jyjc-api/src/main/java/com/yeejoin/amos/boot/module/jyjc/api/enums/BizTypeEnum.java
View file @
e9f83b6f
...
...
@@ -19,13 +19,14 @@ import java.util.List;
@AllArgsConstructor
public
enum
BizTypeEnum
{
SUPERVISE
(
"supervise"
,
"监督检验"
),
FIRST_INSPECTION
(
"firstinspect"
,
"定检"
),
DETECTION
(
"detection"
,
"检测"
),
BUSINESS_OPEN
(
"businessOpen"
,
"
开通
"
);
SUPERVISE
(
"supervise"
,
"监督检验"
,
"115"
),
FIRST_INSPECTION
(
"firstinspect"
,
"定检"
,
"116"
),
DETECTION
(
"detection"
,
"检测"
,
"117"
),
BUSINESS_OPEN
(
"businessOpen"
,
"
检验业务开通"
,
"114
"
);
private
String
code
;
private
String
name
;
private
String
num
;
public
static
List
<
String
>
getEnumNameList
()
{
List
<
String
>
codeList
=
new
ArrayList
<
String
>();
...
...
@@ -44,4 +45,22 @@ public enum BizTypeEnum {
}
return
null
;
}
public
static
String
getNumByCode
(
String
code
)
{
for
(
BizTypeEnum
c
:
BizTypeEnum
.
values
())
{
if
(
c
.
getCode
().
equals
(
code
)){
return
c
.
getNum
();
}
}
return
null
;
}
public
static
String
getNameByNum
(
String
num
)
{
for
(
BizTypeEnum
c
:
BizTypeEnum
.
values
())
{
if
(
c
.
getCode
().
equals
(
num
)){
return
c
.
getName
();
}
}
return
null
;
}
}
amos-boot-system-tzs/amos-boot-module-jyjc/amos-boot-module-jyjc-api/src/main/java/com/yeejoin/amos/boot/module/jyjc/api/enums/BusinessTypeEnum.java
0 → 100644
View file @
e9f83b6f
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jyjc
.
api
.
enums
;
/**
* 业务类型枚举
*
* @author Administrator
*/
public
enum
BusinessTypeEnum
{
/**
* 业务类型枚举
*/
JG_EQUIPMENT_HANDOVER
(
"101"
,
"设备移交"
),
JG_INSTALLATION_NOTIFICATION
(
"102"
,
"安装告知"
),
JG_MODIFICATION_NOTIFICATION
(
"103"
,
"改造告知"
),
JG_MAINTENANCE_NOTIFICATION
(
"104"
,
"维修告知"
),
JG_ADVICE_REMOVAL
(
"105"
,
"移装告知"
),
JG_MAINTENANCE_RECORD
(
"106"
,
"维保备案"
),
JG_USAGE_REGISTRATION
(
"107"
,
"使用登记"
),
JG_NAME_CHANGE_REGISTRATION
(
"108"
,
"更名变更登记"
),
JG_COMPANY_CHANGE_REGISTRATION
(
"109"
,
"单位变更登记"
),
JG_CHANGE_REGISTRATION
(
"110"
,
"移装变更登记"
),
JG_RENOVATION_REGISTRATION
(
"111"
,
"改造变更登记"
),
JG_EQUIPMENT_START
(
"112-1"
,
"设备启用"
),
JG_EQUIPMENT_STOP
(
"112-2"
,
"设备停用"
),
JG_EQUIPMENT_MOVE
(
"113-1"
,
"移装报废"
),
JG_EQUIPMENT_CANCEL
(
"113-2"
,
"注销报废"
),
JY_OPENING_APPLICATION
(
"114"
,
"业务开通"
),
JY_INSPECTION_APPLICATION_JD
(
"115"
,
"监督检验"
),
JY_INSPECTION_APPLICATION_DS
(
"116"
,
"定(首)检验"
),
JY_INSPECTION_APPLICATION_CHECK
(
"117"
,
"检验(含安全阀效验)"
);
private
final
String
code
;
private
final
String
name
;
BusinessTypeEnum
(
String
code
,
String
name
)
{
this
.
code
=
code
;
this
.
name
=
name
;
}
public
static
String
getNameByType
(
String
code
)
{
String
name
=
null
;
for
(
BusinessTypeEnum
enumOne
:
BusinessTypeEnum
.
values
())
{
if
(
enumOne
.
getCode
().
equals
(
code
))
{
name
=
enumOne
.
getName
();
break
;
}
}
return
name
;
}
public
String
getCode
()
{
return
code
;
}
public
String
getName
()
{
return
name
;
}
}
amos-boot-system-tzs/amos-boot-module-jyjc/amos-boot-module-jyjc-api/src/main/java/com/yeejoin/amos/boot/module/jyjc/api/model/JyjcInspectionApplicationModel.java
View file @
e9f83b6f
...
...
@@ -165,7 +165,7 @@ public class JyjcInspectionApplicationModel extends BaseModel {
private
String
nextTaskId
;
@ApiModelProperty
(
value
=
"下一步执行人Ids"
)
private
String
nextExcuteUserIds
;
private
String
nextEx
e
cuteUserIds
;
@ApiModelProperty
(
value
=
"下一步任务名称"
)
private
String
nextTaskName
;
...
...
amos-boot-system-tzs/amos-boot-module-jyjc/amos-boot-module-jyjc-api/src/main/java/com/yeejoin/amos/boot/module/jyjc/api/model/TaskMessageDto.java
View file @
e9f83b6f
...
...
@@ -58,4 +58,6 @@ public class TaskMessageDto {
* 设备id、使用登记使用
*/
String
equipId
;
String
processKey
;
}
amos-boot-system-tzs/amos-boot-module-jyjc/amos-boot-module-jyjc-biz/src/main/java/com/yeejoin/amos/boot/module/jyjc/biz/controller/JyjcInspectionApplicationController.java
View file @
e9f83b6f
...
...
@@ -41,6 +41,12 @@ public class JyjcInspectionApplicationController extends BaseController {
@Autowired
JyjcInspectionApplicationServiceImpl
jyjcInspectionApplicationServiceImpl
;
// 业务通用发起——基本信息
private
static
final
String
basic
=
"basic"
;
// 业务通用发起——设备信息
private
static
final
String
equipPageInfo
=
"equipPageInfo"
;
// 业务通用发起——技术参数-
private
static
final
String
filePageData
=
"filePageData"
;
/**
* 新增
...
...
@@ -51,7 +57,17 @@ public class JyjcInspectionApplicationController extends BaseController {
@PostMapping
(
value
=
"/save"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"新增"
,
notes
=
"新增"
)
public
ResponseModel
<
JyjcInspectionApplicationModel
>
save
(
@RequestBody
JSONObject
model
)
{
if
(
model
.
containsKey
(
basic
))
{
JSONObject
finallyJson
=
new
JSONObject
();
Map
<
String
,
Object
>
basicObj
=
(
Map
<
String
,
Object
>)
model
.
get
(
basic
);
Map
<
String
,
Object
>
equipPageInfoObj
=
(
Map
<
String
,
Object
>)
model
.
get
(
equipPageInfo
);
Map
<
String
,
Object
>
filePageDataObj
=
(
Map
<
String
,
Object
>)
model
.
get
(
filePageData
);
finallyJson
.
putAll
(
model
);
finallyJson
.
putAll
(
basicObj
);
finallyJson
.
putAll
(
equipPageInfoObj
);
finallyJson
.
putAll
(
filePageDataObj
);
model
=
finallyJson
;
}
ReginParams
selectedOrgInfo
=
getSelectedOrgInfo
();
model
.
put
(
"applicationUnitCode"
,
selectedOrgInfo
.
getCompany
().
getCompanyCode
());
...
...
@@ -65,22 +81,6 @@ public class JyjcInspectionApplicationController extends BaseController {
}
/**
* 根据sequenceNbr更新
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PutMapping
(
value
=
"/{sequenceNbr}"
)
@ApiOperation
(
httpMethod
=
"PUT"
,
value
=
"根据sequenceNbr更新"
,
notes
=
"根据sequenceNbr更新"
)
public
ResponseModel
<
JyjcInspectionApplicationModel
>
updateBySequenceNbrJyjcInspectionApplication
(
@RequestBody
JyjcInspectionApplicationModel
model
,
@PathVariable
(
value
=
"sequenceNbr"
)
Long
sequenceNbr
)
{
model
.
setSequenceNbr
(
sequenceNbr
);
return
ResponseHelper
.
buildResponse
(
jyjcInspectionApplicationServiceImpl
.
updateWithModel
(
model
));
}
/**
* 根据sequenceNbr删除
*
...
...
amos-boot-system-tzs/amos-boot-module-jyjc/amos-boot-module-jyjc-biz/src/main/java/com/yeejoin/amos/boot/module/jyjc/biz/controller/JyjcOpeningApplicationController.java
View file @
e9f83b6f
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jyjc
.
biz
.
controller
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.toolkit.CollectionUtils
;
import
com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcOpeningApplication
;
...
...
@@ -56,9 +57,10 @@ public class JyjcOpeningApplicationController extends BaseController {
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/save"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"新增"
,
notes
=
"新增"
)
public
ResponseModel
<
JyjcOpeningApplicationModel
>
save
(
@RequestBody
JyjcOpeningApplicationModel
model
)
{
model
=
jyjcOpeningApplicationServiceImpl
.
saveOrUpdateModel
(
model
,
false
);
return
ResponseHelper
.
buildResponse
(
model
);
public
ResponseModel
<
JyjcOpeningApplicationModel
>
save
(
@RequestBody
JSONObject
model
)
{
JyjcOpeningApplicationModel
jyjcOpeningApplicationModel
=
new
JyjcOpeningApplicationModel
();
BeanUtil
.
copyProperties
(
model
.
get
(
"applyInfo"
),
jyjcOpeningApplicationModel
);
return
ResponseHelper
.
buildResponse
(
jyjcOpeningApplicationServiceImpl
.
saveOrUpdateModel
(
jyjcOpeningApplicationModel
,
false
));
}
/**
...
...
@@ -78,7 +80,9 @@ public class JyjcOpeningApplicationController extends BaseController {
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PutMapping
(
value
=
"/submit"
)
@ApiOperation
(
httpMethod
=
"PUT"
,
value
=
"保存并提交"
,
notes
=
"保存并提交"
)
public
ResponseModel
<
JyjcOpeningApplicationModel
>
updateBySequenceNbrAndStartFlow
(
@RequestBody
JyjcOpeningApplicationModel
model
,
@RequestParam
(
value
=
"sequenceNbr"
,
required
=
false
)
Long
sequenceNbr
)
{
public
ResponseModel
<
JyjcOpeningApplicationModel
>
updateBySequenceNbrAndStartFlow
(
@RequestBody
JSONObject
jsonObject
,
@RequestParam
(
value
=
"sequenceNbr"
,
required
=
false
)
Long
sequenceNbr
)
{
JyjcOpeningApplicationModel
model
=
new
JyjcOpeningApplicationModel
();
BeanUtil
.
copyProperties
(
jsonObject
.
get
(
"applyInfo"
),
model
);
model
.
setSequenceNbr
(
sequenceNbr
);
if
(
sequenceNbr
!=
null
)
{
JyjcOpeningApplicationModel
jyjcOpeningApplicationModel
=
jyjcOpeningApplicationServiceImpl
.
queryDetail
(
sequenceNbr
);
...
...
@@ -217,7 +221,7 @@ public class JyjcOpeningApplicationController extends BaseController {
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"撤回业务开通申请"
,
notes
=
"撤回业务开通申请"
)
@GetMapping
(
value
=
"/rollBackFlow"
)
public
ResponseModel
<
JSON
Object
>
overflow
(
@RequestParam
(
"sequenceNbr"
)
String
sequenceNbr
)
{
public
ResponseModel
<
Object
>
overflow
(
@RequestParam
(
"sequenceNbr"
)
String
sequenceNbr
)
{
return
ResponseHelper
.
buildResponse
(
jyjcOpeningApplicationServiceImpl
.
stopFlow
(
sequenceNbr
));
}
...
...
amos-boot-system-tzs/amos-boot-module-jyjc/amos-boot-module-jyjc-biz/src/main/java/com/yeejoin/amos/boot/module/jyjc/biz/service/TaskModelServiceImpl.java
View file @
e9f83b6f
...
...
@@ -108,7 +108,7 @@ public class TaskModelServiceImpl {
model
.
setFlowCreateDate
(
new
Date
());
model
.
setTaskStatus
(
FlowStatusEnum
.
TO_BE_SUBMITTED
.
getCode
());
model
.
setTaskTitle
(
"有一条待提交的草稿"
);
model
.
setTaskName
(
BizTypeEnum
.
getNameBy
Code
(
obj
.
getTaskType
()));
model
.
setTaskName
(
BizTypeEnum
.
getNameBy
Num
(
obj
.
getTaskType
()));
model
.
setTaskTypeLabel
(
BizTypeEnum
.
getNameByCode
(
obj
.
getTaskType
()));
// model.setTaskContent("【申请单号:"+obj.getTaskCode()+"】待提交");
}
else
{
...
...
amos-boot-system-tzs/amos-boot-module-jyjc/amos-boot-module-jyjc-biz/src/main/java/com/yeejoin/amos/boot/module/jyjc/biz/service/impl/JyjcInspectionApplicationServiceImpl.java
View file @
e9f83b6f
...
...
@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.CollectionUtils
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.sun.org.apache.bcel.internal.generic.NEW
;
import
com.yeejoin.amos.boot.biz.common.bo.ReginParams
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisKey
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisUtils
;
...
...
@@ -18,6 +19,7 @@ import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto;
import
com.yeejoin.amos.boot.module.common.biz.utils.CommonResponseUtil
;
import
com.yeejoin.amos.boot.module.jyjc.api.entity.*
;
import
com.yeejoin.amos.boot.module.jyjc.api.enums.BizTypeEnum
;
import
com.yeejoin.amos.boot.module.jyjc.api.enums.BusinessTypeEnum
;
import
com.yeejoin.amos.boot.module.jyjc.api.enums.DocumentEnum
;
import
com.yeejoin.amos.boot.module.jyjc.api.enums.ResultStatusEnum
;
import
com.yeejoin.amos.boot.module.jyjc.api.mapper.JyjcInspectionApplicationEquipMapper
;
...
...
@@ -26,6 +28,7 @@ import com.yeejoin.amos.boot.module.jyjc.api.model.*;
import
com.yeejoin.amos.boot.module.jyjc.api.service.IJyjcInspectionApplicationService
;
import
com.yeejoin.amos.boot.module.jyjc.biz.feign.JgFeignClient
;
import
com.yeejoin.amos.boot.module.jyjc.biz.feign.TzsServiceFeignClient
;
import
com.yeejoin.amos.boot.module.jyjc.biz.service.TaskModelServiceImpl
;
import
com.yeejoin.amos.boot.module.jyjc.biz.service.impl.handler.JyjcInspectionApplicationHandlerFactory
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum
;
...
...
@@ -34,13 +37,12 @@ import com.yeejoin.amos.component.feign.utils.FeignUtil;
import
com.yeejoin.amos.feign.privilege.Privilege
;
import
com.yeejoin.amos.feign.systemctl.model.TaskV2Model
;
import
com.yeejoin.amos.feign.workflow.Workflow
;
import
com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO
;
import
com.yeejoin.amos.feign.workflow.model.AjaxResult
;
import
com.yeejoin.amos.feign.workflow.model.TaskResultDTO
;
import
com.yeejoin.amos.feign.workflow.model.*
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.io.IOUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.core.io.Resource
;
...
...
@@ -98,6 +100,8 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
WorkflowFeignService
workflowFeignService
;
@Autowired
CommonserviceImpl
commonservice
;
@Autowired
CmWorkflowServiceImpl
cmWorkflowService
;
@Value
(
"classpath:/json/bizTypeInfo.json"
)
private
Resource
bizTypeInfo
;
...
...
@@ -109,6 +113,9 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
@Autowired
private
RedisUtils
redisUtils
;
@Autowired
TaskModelServiceImpl
taskModelService
;
public
JyjcInspectionApplicationModel
save
(
@RequestBody
JSONObject
obj
)
{
ReginParams
reginParams
=
JSONObject
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
...
...
@@ -118,37 +125,39 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
model
.
setOperationType
(
"2"
);
}
ArrayList
<
String
>
roleListAll
=
new
ArrayList
<>();
ArrayList
<
String
>
roleListNext
=
new
ArrayList
<>();
if
(!
model
.
getOperationType
().
equals
(
"2"
))
{
String
taskName
=
""
;
if
(
model
.
getOperationType
().
equals
(
"0"
))
{
List
<
ProcessTaskDTO
>
processTasks
=
new
ArrayList
<>();
ActWorkflowBatchDTO
actWorkflowBatchDTO
=
new
ActWorkflowBatchDTO
();
List
<
ActWorkflowStartDTO
>
list
=
new
ArrayList
<>();
ActWorkflowStartDTO
dto
=
new
ActWorkflowStartDTO
();
dto
.
setProcessDefinitionKey
(
model
.
getProcessKey
());
dto
.
setBusinessKey
(
buildOrderNo
());
try
{
//开启报检流程工作流
FeignClientResult
ajaxResult
=
Workflow
.
taskV2Client
.
startByVariable
(
dto
);
String
id
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
ajaxResult
.
getResult
()))
.
get
(
"id"
).
toString
();
// String id = ((Map) ajaxResult.getResult()).get("id").toString();
model
.
setProcessInstanceId
(
id
);
execueFlow
(
MapBuilder
.<
String
,
Object
>
create
().
put
(
"op"
,
"提交"
).
put
(
"instanceId"
,
id
).
put
(
"comments"
,
""
).
build
());
// region 获取下一个流程节点的数据
Map
<
String
,
Object
>
nextNodeInfo
=
workflowHelper
.
getNextWorkflowNode
(
model
.
getProcessInstanceId
());
String
role
=
(
String
)
nextNodeInfo
.
get
(
"role"
);
taskName
=
(
String
)
nextNodeInfo
.
get
(
"taskName"
);
model
.
setNextExecuteIds
(
role
);
dto
.
setProcessDefinitionKey
(
model
.
getProcessKey
());
dto
.
setBusinessKey
(
String
.
valueOf
(
new
Date
().
getTime
()));
dto
.
setCompleteFirstTask
(
true
);
list
.
add
(
dto
);
actWorkflowBatchDTO
.
setProcess
(
list
);
dto
.
setNextExecuteUserCompanyCode
(
model
.
getInspectionUnitCode
());
processTasks
=
cmWorkflowService
.
startBatch
(
actWorkflowBatchDTO
);
String
instanceId
=
processTasks
.
get
(
0
).
getProcessInstance
().
getId
();
String
nextTaskId
=
processTasks
.
get
(
0
).
getNextTask
().
get
(
0
).
getId
();
taskName
=
processTasks
.
get
(
0
).
getNextTask
().
get
(
0
).
getName
();
this
.
buildRoleList
(
processTasks
,
roleListNext
,
roleListAll
);
List
<
WorkflowResultDto
>
workflowResultDtos
=
taskModelService
.
buildWorkFlowInfo
(
processTasks
);
String
nextUserIds
=
workflowResultDtos
.
get
(
0
).
getNextExecutorUserIds
();
String
nextExcuteIds
=
workflowResultDtos
.
get
(
0
).
getNextExecutorRoleIds
();
model
.
setProcessInstanceId
(
instanceId
);
if
(!
org
.
springframework
.
util
.
ObjectUtils
.
isEmpty
(
model
.
getWorkflowRole
()))
{
model
.
setWorkflowRole
(
model
.
getWorkflowRole
()
+
","
+
role
);
model
.
setWorkflowRole
(
model
.
getWorkflowRole
()
+
","
+
nextExcuteIds
);
}
else
{
model
.
setWorkflowRole
(
role
);
model
.
setWorkflowRole
(
nextExcuteIds
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
model
.
setNextExecuteIds
(
nextExcuteIds
);
model
.
setNextTaskId
(
nextTaskId
);
model
.
setNextTaskName
(
taskName
);
model
.
setNextExecuteUserIds
(
nextUserIds
);
model
.
setStatus
(
String
.
valueOf
(
FlowStatusEnum
.
TO_SUBMITTED
.
getCode
()));
//6611 对应数据字典 检验流程状态 待受理
}
else
if
(
model
.
getOperationType
().
equals
(
"1"
))
{
model
.
setStatus
(
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_SUBMITTED
.
getCode
()));
...
...
@@ -184,48 +193,39 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
// equipInfo.setApplicationSeq(model.getSequenceNbr());
equipInfos
.
add
(
equipInfo
);
}
model
.
setEquList
(
model
.
getEquip
().
get
(
0
).
getOrDefault
(
"EQU_LIST"
,
""
).
toString
());
model
.
setSupervisoryCode
(
model
.
getEquip
().
get
(
0
).
getOrDefault
(
"SUPERVISORY_CODE"
,
""
).
toString
());
}
model
.
setCreateUserId
(
reginParams
.
getUserModel
().
getUserId
());
model
.
setNumberOfEquip
(
equipInfos
.
size
());
// endregion
if
(
null
==
model
.
getSequenceNbr
()){
model
=
this
.
createWithModel
(
model
);
}
else
{
model
=
this
.
updateWithModel
(
model
);
}
String
json
=
null
;
try
{
json
=
IOUtils
.
toString
(
bizTypeInfo
.
getInputStream
(),
java
.
lang
.
String
.
valueOf
(
StandardCharsets
.
UTF_8
));
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
List
<
Map
>
list
=
parseArray
(
json
,
Map
.
class
);
String
url
=
null
;
for
(
Map
map
:
list
)
{
if
(
map
.
get
(
"type"
).
equals
(
model
.
getBizType
()
)&&
"look"
.
equals
(
map
.
get
(
"pageType"
))){
url
=
map
.
get
(
"url"
).
toString
();
}
}
// Map<String, Object> userOrgRoleMap = FeignUtil.remoteCall(() -> Privilege.userOrgRoleClient.getme());
// List<String> userOrgRoleList = (List<String>) userOrgRoleMap.get("roleId");
// String roleIds = String.join(",", userOrgRoleList);
String
urlParams
=
null
;
try
{
model
.
setEquip
(
null
);
urlParams
=
commonservice
.
toQueryParams
(
model
);
}
catch
(
UnsupportedEncodingException
e
)
{
e
.
printStackTrace
();
}
if
(
StringUtils
.
isNotBlank
(
model
.
getProcessInstanceId
())){
commonservice
.
buildTaskModel
(
MapBuilder
.<
String
,
Object
>
create
().
put
(
"instanceId"
,
model
.
getProcessInstanceId
()).
put
(
"startDate"
,
new
Date
())
.
put
(
"agencyCode"
,
reginParams
.
getUserModel
().
getAgencyCode
()).
put
(
"userId"
,
reginParams
.
getUserModel
().
getUserId
()).
put
(
"startUser"
,
reginParams
.
getUserModel
().
getUserId
()).
put
(
"startUserId"
,
reginParams
.
getUserModel
().
getUserId
())
.
put
(
"taskStatus"
,
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
()).
put
(
"taskStatusLabel"
,
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
()).
put
(
"taskName"
,
taskName
).
put
(
"taskType"
,
model
.
getBizType
()).
put
(
"taskTypeLabel"
,
BizTypeEnum
.
getNameByCode
(
model
.
getBizType
())).
put
(
"taskContent"
,
""
)
.
put
(
"taskTitle"
,
reginParams
.
getUserModel
().
getUserName
()+
"发起了"
+
taskName
).
put
(
"taskDesc"
,
""
).
put
(
"taskCode"
,
model
.
getApplicationNo
())
.
put
(
"extras"
,
JSON
.
toJSONString
(
model
)).
put
(
"createUserId"
,
reginParams
.
getUserModel
().
getUserName
()).
put
(
"startUserId"
,
reginParams
.
getUserModel
().
getUserId
())
.
put
(
"routePath"
,
url
.
replace
(
"{userId}"
,
reginParams
.
getUserModel
().
getUserId
()).
replace
(
"{roleIds}"
,
model
.
getNextExecuteIds
())+
"&"
+
urlParams
)
.
build
());
this
.
createdTaskModel
(
model
);
}
else
{
TaskModelDto
dto
=
new
TaskModelDto
();
TaskMessageDto
ta
=
new
TaskMessageDto
();
ta
.
setInstanceId
(
model
.
getProcessInstanceId
());
ta
.
setStatus
(
model
.
getStatus
());
ta
.
setPromoter
(
model
.
getPromoter
());
ta
.
setNextExecuteUserIds
(
model
.
getNextExecuteUserIds
());
ta
.
setSequenceNbr
(
model
.
getSequenceNbr
());
dto
.
setModel
(
ta
);
//摘要 按原有规则组装
dto
.
setTaskContent
(
"来自"
+
model
.
getEquList
()+
"【"
+
model
.
getSupervisoryCode
()+
"】的业务办理,【申请单号:"
+
model
.
getApplicationNo
()+
"】"
);
//申请单号
dto
.
setTaskCode
(
model
.
getApplicationNo
());
//业务类型枚举code值
dto
.
setTaskType
(
BizTypeEnum
.
getNumByCode
(
model
.
getBizType
()));
////业务主键
dto
.
setRelationId
(
model
.
getSequenceNbr
()+
""
);
taskModelService
.
buildTaskModel
(
Arrays
.
asList
(
dto
));
}
//保存报检装备监管码
...
...
@@ -273,6 +273,8 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
equipInfo
.
setApplicationSeq
(
model
.
getSequenceNbr
());
jyjcInspectionApplicationEquipService
.
save
(
equipInfo
);
}
model
.
setEquList
(
model
.
getEquip
().
get
(
0
).
getOrDefault
(
"EQU_LIST"
,
""
).
toString
());
model
.
setSupervisoryCode
(
model
.
getEquip
().
get
(
0
).
getOrDefault
(
"SUPERVISORY_CODE"
,
""
).
toString
());
}
// Map<String, Object> map = BeanUtil.beanToMap(model);
...
...
@@ -291,58 +293,45 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
}
}
model
.
setStatus
(
String
.
valueOf
(
FlowStatusEnum
.
TO_SUBMITTED
.
getCode
()));
//6611 对应数据字典 检验流程状态 待受理
execueFlow
(
MapBuilder
.<
String
,
Object
>
create
().
put
(
"op"
,
"提交"
).
put
(
"instanceId"
,
model
.
getProcessInstanceId
()).
put
(
"comments"
,
""
).
build
());
Map
<
String
,
Object
>
nextNodeInfo
=
workflowHelper
.
getNextWorkflowNode
(
model
.
getProcessInstanceId
());
String
role
=
(
String
)
nextNodeInfo
.
get
(
"role"
);
String
taskName
=
(
String
)
nextNodeInfo
.
get
(
"taskName"
);
model
.
setNextExecuteIds
(
role
);
model
.
setPromoter
(
reginParams
.
getUserModel
().
getUserId
());
ArrayList
<
String
>
roleList
=
new
ArrayList
<>();
String
taskId
=
model
.
getNextTaskId
();
//组装信息
TaskResultDTO
task
=
new
TaskResultDTO
();
task
.
setResultCode
(
"approvalStatus"
);
task
.
setTaskId
(
taskId
);
task
.
setComment
(
""
);
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"approvalStatus"
,
"提交"
);
task
.
setVariable
(
map
);
//执行流程
task
.
setNextExecuteUserCompanyCode
(
model
.
getInspectionUnitCode
());
ProcessTaskDTO
processTaskDTO
=
cmWorkflowService
.
complete
(
taskId
,
task
);
String
taskCode
=
FlowStatusEnum
.
TO_SUBMITTED
.
getName
();
String
taskName1
=
""
;
String
nextTaskId
=
""
;
this
.
buildRoleList
(
Collections
.
singletonList
(
processTaskDTO
),
roleList
,
roleListAll
);
List
<
WorkflowResultDto
>
workflowResultDtos
=
taskModelService
.
buildWorkFlowInfo
(
Collections
.
singletonList
(
processTaskDTO
));
String
nextUserIds
=
workflowResultDtos
.
get
(
0
).
getNextExecutorUserIds
();
if
(
processTaskDTO
!=
null
&&
processTaskDTO
.
getNextTask
()
!=
null
&&
processTaskDTO
.
getNextTask
().
size
()
>
0
){
taskCode
=
processTaskDTO
.
getNextTask
().
get
(
0
).
getKey
();
taskName1
=
processTaskDTO
.
getNextTask
().
get
(
0
).
getName
();
nextTaskId
=
processTaskDTO
.
getNextTask
().
get
(
0
).
getId
();
}
model
.
setNextExecuteIds
(
String
.
join
(
","
,
roleList
));
if
(!
org
.
springframework
.
util
.
ObjectUtils
.
isEmpty
(
model
.
getWorkflowRole
()))
{
model
.
setWorkflowRole
(
model
.
getWorkflowRole
()
+
","
+
role
);
model
.
setWorkflowRole
(
model
.
getWorkflowRole
()
+
","
+
String
.
join
(
","
,
roleList
)
);
}
else
{
model
.
setWorkflowRole
(
role
);
}
model
.
setWorkflowRole
(
String
.
join
(
","
,
roleList
));
}
model
.
setNextTaskId
(
nextTaskId
);
model
.
setPromoter
(
RequestContext
.
getExeUserId
());
model
.
setStatus
(
String
.
valueOf
(
FlowStatusEnum
.
TO_SUBMITTED
.
getCode
()));
model
.
setStatusName
(
FlowStatusEnum
.
TO_SUBMITTED
.
getName
());
model
.
setNextTaskName
(
taskName1
);
executeOneStep
(
model
,
taskName1
,
nextUserIds
);
model
.
setNextExecuteIds
(
nextUserIds
);
this
.
updateWithModel
(
model
);
String
json
=
null
;
try
{
json
=
IOUtils
.
toString
(
bizTypeInfo
.
getInputStream
(),
java
.
lang
.
String
.
valueOf
(
StandardCharsets
.
UTF_8
));
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
List
<
Map
>
list
=
parseArray
(
json
,
Map
.
class
);
String
url
=
null
;
for
(
Map
map
:
list
)
{
if
(
map
.
get
(
"type"
).
equals
(
model
.
getBizType
()
)&&
"look"
.
equals
(
map
.
get
(
"pageType"
))){
url
=
map
.
get
(
"url"
).
toString
();
}
}
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"relationId"
,
model
.
getProcessInstanceId
());
params
.
put
(
"taskStatus"
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getCode
());
params
.
put
(
"taskStatusLabel"
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
());
TaskV2Model
taskV2Model
=
commonservice
.
updateTaskModel
(
params
);
// Map<String, Object> userOrgRoleMap = FeignUtil.remoteCall(() -> Privilege.userOrgRoleClient.getme());
// List<String> userOrgRoleList = (List<String>) userOrgRoleMap.get("roleId");
// String roleIds = String.join(",", userOrgRoleList);
String
urlParams
=
null
;
try
{
model
.
setEquip
(
null
);
urlParams
=
commonservice
.
toQueryParams
(
model
);
}
catch
(
UnsupportedEncodingException
e
)
{
e
.
printStackTrace
();
}
commonservice
.
buildTaskModel
(
MapBuilder
.<
String
,
Object
>
create
().
put
(
"instanceId"
,
model
.
getProcessInstanceId
()).
put
(
"startDate"
,
new
Date
())
.
put
(
"agencyCode"
,
reginParams
.
getUserModel
().
getAgencyCode
()).
put
(
"userId"
,
reginParams
.
getUserModel
().
getUserId
()).
put
(
"startUser"
,
reginParams
.
getUserModel
().
getUserId
()).
put
(
"startUserId"
,
reginParams
.
getUserModel
().
getUserId
())
.
put
(
"taskStatus"
,
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
()).
put
(
"taskStatusLabel"
,
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
()).
put
(
"taskName"
,
taskName
).
put
(
"taskType"
,
model
.
getBizType
()).
put
(
"taskTypeLabel"
,
BizTypeEnum
.
getNameByCode
(
model
.
getBizType
())).
put
(
"taskContent"
,
""
)
.
put
(
"taskTitle"
,
reginParams
.
getUserModel
().
getUserName
()+
"发起了"
+
taskName
).
put
(
"taskDesc"
,
""
).
put
(
"taskCode"
,
model
.
getApplicationNo
())
.
put
(
"extras"
,
JSON
.
toJSONString
(
model
)).
put
(
"createUserId"
,
reginParams
.
getUserModel
().
getUserName
()).
put
(
"startUserId"
,
reginParams
.
getUserModel
().
getUserId
())
.
put
(
"routePath"
,
url
.
replace
(
"{userId}"
,
reginParams
.
getUserModel
().
getUserId
()).
replace
(
"{roleIds}"
,
model
.
getNextExecuteIds
())+
"&"
+
urlParams
)
// .put("routePath",url.replace("{sequenceNbr}",String.valueOf(model.getSequenceNbr())).replace("{userId}",reginParams.getUserModel().getUserId()).replace("{roleIds}",roleIds))
.
build
());
}
return
model
;
}
...
...
@@ -592,21 +581,45 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
log
.
warn
(
"JyjcInspectionApplicationModel Not Found!sequenceNbr => "
+
sequenceNbr
);
return
false
;
}
try
{
// 撤回流程
JSONObject
jsonObject
=
workflowHelper
.
rollBack
(
inspectionApplicationModel
.
getProcessInstanceId
());
if
(
ObjectUtils
.
isEmpty
(
jsonObject
)
||
200
!=
jsonObject
.
getInteger
(
"status"
))
{
log
.
error
(
"撤回工作流错误, => {}"
,
jsonObject
);
return
false
;
}
updateModelByInstanceId
(
inspectionApplicationModel
.
getSequenceNbr
(),
inspectionApplicationModel
.
getProcessInstanceId
(),
MapBuilder
.<
String
,
Object
>
create
().
put
(
"status"
,
FlowStatusEnum
.
ROLLBACK
.
getCode
()
+
""
).
build
(),
true
);
commonservice
.
deleteTaskModel
(
inspectionApplicationModel
.
getProcessInstanceId
());
String
taskCode
=
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
();
String
[]
taskName
=
new
String
[]{
"流程结束"
};
// FeignClientResult ajaxResult = Workflow.taskV2Client.rollBack(noticeDto.getInstanceId());
List
<
String
>
roleListNext
=
new
ArrayList
<>();
List
<
String
>
roleListAll
=
new
ArrayList
<>();
ProcessTaskDTO
processTaskDTO
=
cmWorkflowService
.
rollBack
(
inspectionApplicationModel
.
getProcessInstanceId
());
String
nextTaskId
=
processTaskDTO
.
getNextTask
().
get
(
0
).
getId
();
this
.
buildRoleList
(
Collections
.
singletonList
(
processTaskDTO
),
roleListNext
,
roleListAll
);
List
<
WorkflowResultDto
>
workflowResultDtos
=
taskModelService
.
buildWorkFlowInfo
(
Collections
.
singletonList
(
processTaskDTO
));
if
(!
org
.
springframework
.
util
.
ObjectUtils
.
isEmpty
(
inspectionApplicationModel
.
getWorkflowRole
()))
{
inspectionApplicationModel
.
setWorkflowRole
(
inspectionApplicationModel
.
getWorkflowRole
()
+
","
+
roleListAll
);
}
else
{
inspectionApplicationModel
.
setWorkflowRole
(
inspectionApplicationModel
.
getWorkflowRole
());
}
// 待调整
taskCode
=
processTaskDTO
.
getNextTask
().
get
(
0
).
getKey
();
inspectionApplicationModel
.
setStatus
(
String
.
valueOf
(
FlowStatusEnum
.
ROLLBACK
.
getCode
()));
inspectionApplicationModel
.
setStatusName
(
FlowStatusEnum
.
ROLLBACK
.
getName
());
inspectionApplicationModel
.
setPromoter
(
""
);
inspectionApplicationModel
.
setNextTaskId
(
nextTaskId
);
inspectionApplicationModel
.
setNextExecuteUserIds
(
workflowResultDtos
.
get
(
0
).
getNextExecutorUserIds
());
inspectionApplicationModel
.
setNextExecuteIds
(
String
.
join
(
","
,
roleListNext
));
JyjcInspectionApplication
jyjcInspectionApplication
=
new
JyjcInspectionApplication
();
BeanUtils
.
copyProperties
(
inspectionApplicationModel
,
jyjcInspectionApplication
);
this
.
getBaseMapper
().
updateById
(
jyjcInspectionApplication
);
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
inspectionApplicationModel
));
jsonObject
.
put
(
"nextTaskId"
,
inspectionApplicationModel
.
getNextTaskId
());
jsonObject
.
put
(
"nextExecuteUser"
,
inspectionApplicationModel
.
getNextExecuteIds
());
jsonObject
.
put
(
"taskType"
,
BizTypeEnum
.
getNumByCode
(
inspectionApplicationModel
.
getBizType
()));
jsonObject
.
put
(
"flowStatus"
,
FlowStatusEnum
.
ROLLBACK
.
getCode
());
jsonObject
.
put
(
"flowStatusLabel"
,
FlowStatusEnum
.
ROLLBACK
.
getName
());
taskModelService
.
rollbackTask
(
inspectionApplicationModel
.
getProcessInstanceId
(),
jsonObject
);
return
true
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
log
.
error
(
"撤回工作流错误, => {}"
,
inspectionApplicationModel
.
getProcessInstanceId
(),
e
);
return
false
;
}
}
public
void
updateModelByInstanceId
(
Long
sequenceNbr
,
String
instanceId
,
Map
<
String
,
Object
>
params
,
Boolean
rollBack
)
{
...
...
@@ -656,4 +669,96 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
this
.
updateById
(
entity
);
}
private
void
buildRoleList
(
List
<
ProcessTaskDTO
>
processTasks
,
List
<
String
>
roleListNext
,
List
<
String
>
roleListAll
)
{
processTasks
.
forEach
(
p
->
{
p
.
getNextCandidateGroups
().
values
().
forEach
(
e
->
{
roleListNext
.
addAll
(
e
);
roleListAll
.
addAll
(
e
);
});
roleListAll
.
addAll
(
p
.
getCandidateGroups
());
});
}
private
void
createdTaskModel
(
JyjcInspectionApplicationModel
model
){
ReginParams
reginParams
=
JSONObject
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
TaskModelDto
dto
=
new
TaskModelDto
();
TaskMessageDto
ta
=
new
TaskMessageDto
();
ta
.
setInstanceId
(
model
.
getProcessInstanceId
());
ta
.
setStatus
(
model
.
getStatus
());
ta
.
setPromoter
(
model
.
getPromoter
());
ta
.
setNextExecuteUserIds
(
model
.
getNextExecuteUserIds
());
ta
.
setSequenceNbr
(
model
.
getSequenceNbr
());
ta
.
setProcessKey
(
model
.
getProcessKey
());
dto
.
setModel
(
ta
);
dto
.
setFlowCreateDate
(
new
Date
());
dto
.
setTaskName
(
model
.
getNextTaskName
());
dto
.
setFlowCode
(
model
.
getNextTaskId
());
dto
.
setTaskContent
(
"来自"
+
model
.
getEquList
()+
"【"
+
model
.
getSupervisoryCode
()+
"】的业务办理,【申请单号:"
+
model
.
getApplicationNo
()+
"】"
);
dto
.
setTaskCode
(
model
.
getApplicationNo
());
dto
.
setTaskType
(
BizTypeEnum
.
getNumByCode
(
model
.
getBizType
()));
dto
.
setTaskTypeLabel
(
BizTypeEnum
.
getNameByCode
(
model
.
getBizType
()));
dto
.
setRelationId
(
model
.
getInstanceId
());
dto
.
setExecuteUserIds
(
model
.
getNextExecuteUserIds
());
dto
.
setTaskStatusLabel
(
"未处理"
);
dto
.
setFlowStatus
(
Integer
.
valueOf
(
model
.
getStatus
()));
dto
.
setFlowStatusLabel
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
());
dto
.
setStartUserId
(
RequestContext
.
getExeUserId
());
dto
.
setStartUser
(
model
.
getCreateUserId
());
dto
.
setStartUserCompanyName
(
reginParams
.
getCompany
().
getCompanyName
());
dto
.
setStartDate
(
new
Date
());
dto
.
setNextExecuteUser
(
model
.
getNextExecuteIds
());
taskModelService
.
buildTaskModel
(
Arrays
.
asList
(
dto
));
}
private
void
executeOneStep
(
JyjcInspectionApplicationModel
model
,
String
taskName
,
String
nextUserIds
)
{
// 先更新之前的待办
TaskV2Model
taskV2Model
=
updateTaskModel
(
model
);
taskV2Model
.
setTaskDesc
(
""
);
taskV2Model
.
setTaskName
(
taskName
);
taskV2Model
.
setTaskCode
(
model
.
getApplicationNo
());
taskV2Model
.
setExecuteUserIds
(
nextUserIds
);
taskV2Model
.
setRelationId
(
model
.
getProcessInstanceId
());
taskV2Model
.
setTaskStatus
(
Integer
.
valueOf
(
model
.
getStatus
()));
taskV2Model
.
setTaskStatusLabel
(
model
.
getStatusName
());
taskV2Model
.
setFlowStatus
(
Integer
.
valueOf
(
model
.
getStatus
()));
taskV2Model
.
setFlowStatusLabel
(
model
.
getStatusName
());
// taskV2Model.setTaskType(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getCode());
// taskV2Model.setStartUser(jgChangeRegistrationName.getCreateUserName());
// taskV2Model.setTaskTypeLabel(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getName());
// taskV2Model.setStartDate(jgChangeRegistrationName.getCreateDate());
// taskV2Model.setStartUserId(jgChangeRegistrationName.getCreateUserId());
// taskV2Model.setStartUserCompanyName(jgChangeRegistrationName.getUseUnitName());
taskV2Model
.
setExecuteUserIds
(
nextUserIds
);
TaskModelDto
modelDto
=
new
TaskModelDto
();
BeanUtil
.
copyProperties
(
taskV2Model
,
modelDto
);
modelDto
.
setNextExecuteUser
(
model
.
getNextExecuteIds
());
if
(
model
.
getStatus
().
equals
(
FlowStatusEnum
.
REJECTED
.
getCode
())){
modelDto
.
setPageType
(
"edit"
);
}
TaskMessageDto
obj
=
new
TaskMessageDto
();
obj
.
setInstanceId
(
model
.
getProcessInstanceId
());
obj
.
setStatus
(
model
.
getStatus
());
obj
.
setPromoter
(
model
.
getPromoter
());
obj
.
setNextExecuteUserIds
(
model
.
getNextExecuteUserIds
());
obj
.
setSequenceNbr
(
model
.
getSequenceNbr
());
modelDto
.
setModel
(
obj
);
// 再插入新代办、数据待定
taskModelService
.
buildTaskModel
(
Collections
.
singletonList
(
modelDto
));
}
private
TaskV2Model
updateTaskModel
(
JyjcInspectionApplicationModel
model
)
{
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"relationId"
,
model
.
getInstanceId
());
params
.
put
(
"taskStatus"
,
model
.
getStatus
());
params
.
put
(
"taskStatusLabel"
,
model
.
getStatusName
());
params
.
put
(
"flowStatus"
,
model
.
getStatus
());
params
.
put
(
"flowStatusLabel"
,
model
.
getStatusName
());
params
.
put
(
"model"
,
model
);
return
taskModelService
.
updateTaskModel
(
params
);
}
}
\ No newline at end of file
amos-boot-system-tzs/amos-boot-module-jyjc/amos-boot-module-jyjc-biz/src/main/java/com/yeejoin/amos/boot/module/jyjc/biz/service/impl/JyjcOpeningApplicationServiceImpl.java
View file @
e9f83b6f
...
...
@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import
com.yeejoin.amos.boot.biz.common.bo.CompanyBo
;
import
com.yeejoin.amos.boot.biz.common.bo.ReginParams
;
import
com.yeejoin.amos.boot.biz.common.controller.BaseController
;
import
com.yeejoin.amos.boot.biz.common.enums.WorkFlowEnum
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisKey
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisUtils
;
import
com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto
;
...
...
@@ -43,6 +44,7 @@ import org.apache.commons.io.IOUtils;
import
org.apache.commons.lang3.ObjectUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -124,8 +126,20 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
isUpdate
=
true
;
}
}
List
<
String
>
codes
=
tzsServiceFeignClient
.
applicationFormCode
(
ApplicationFormTypeEnum
.
JY
.
getCode
(),
1
).
getResult
();
model
.
setApplicationSeq
(
codes
.
get
(
0
));
ReginParams
reginParams
=
JSONObject
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
model
.
setPromoter
(
reginParams
.
getUserModel
().
getUserId
());
if
(!
isUpdate
)
{
CompanyBo
companyBo
=
commonserviceImpl
.
getReginParamsOfCurrentUser
().
getCompany
();
model
.
setUnitCode
(
companyBo
.
getCompanyCode
());
model
.
setUnitCodeName
(
companyBo
.
getCompanyName
());
model
.
setCreateUserId
(
reginParams
.
getUserModel
().
getUserId
());
this
.
createWithModel
(
model
);
}
if
(
enableStartFlow
)
{
model
.
setStatus
(
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
()));
model
.
setApplyTime
(
new
Date
());
if
(
StringUtils
.
isBlank
(
instanceId
))
{
// 未开启过工作流则进行开启 startProcess
ActWorkflowBatchDTO
actWorkflowBatchDTO
=
new
ActWorkflowBatchDTO
();
...
...
@@ -146,43 +160,41 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
model
.
setNextExecuteIds
(
workflowResultDto
.
getNextExecutorRoleIds
());
model
.
setNextTaskId
(
workflowResultDto
.
getNextTaskId
());
model
.
setNextExecuteUserIds
(
workflowResultDto
.
getNextExecutorUserIds
());
// 创建代办
buildTask
(
model
,
workflowResultDto
);
}
}
else
{
// 存在流程,执行
TaskResultDTO
dto
=
new
TaskResultDTO
();
dto
.
setResultCode
(
"approvalStatus"
);
dto
.
setTaskId
(
model
.
getNextTaskId
());
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"approvalStatus"
,
"提交"
);
dto
.
setVariable
(
map
);
ProcessTaskDTO
complete
=
cmWorkflowService
.
complete
(
model
.
getNextTaskId
(),
dto
);
ArrayList
<
ProcessTaskDTO
>
processTaskDTOS
=
new
ArrayList
<>();
processTaskDTOS
.
add
(
complete
);
List
<
WorkflowResultDto
>
resultDto
=
commonServiceImpl
.
buildWorkFlowInfo
(
processTaskDTOS
);
if
(!
ObjectUtils
.
isEmpty
(
resultDto
)
&&
!
ObjectUtils
.
isEmpty
(
resultDto
.
get
(
0
)))
{
WorkflowResultDto
workflowResult
=
resultDto
.
get
(
0
);
model
.
setWorkflowProstanceId
(
workflowResult
.
getInstanceId
());
model
.
setNextExecuteIds
(
workflowResult
.
getNextExecutorRoleIds
());
model
.
setNextTaskId
(
workflowResult
.
getNextTaskId
());
model
.
setNextExecuteUserIds
(
workflowResult
.
getNextExecutorUserIds
());
}
map
.
put
(
"sequenceNbr"
,
model
.
getSequenceNbr
());
map
.
put
(
"op"
,
"1"
);
execueFlow
(
map
);
// TaskResultDTO dto = new TaskResultDTO();
// dto.setResultCode("approvalStatus");
// dto.setTaskId(model.getNextTaskId());
// HashMap<String, Object> map = new HashMap<>();
// map.put("approvalStatus", "提交");
// dto.setVariable(map);
// ProcessTaskDTO complete = cmWorkflowService.complete(model.getNextTaskId(), dto);
// ArrayList<ProcessTaskDTO> processTaskDTOS = new ArrayList<>();
// processTaskDTOS.add(complete);
// List<WorkflowResultDto> resultDto = commonServiceImpl.buildWorkFlowInfo(processTaskDTOS);
// if (!ObjectUtils.isEmpty(resultDto) && !ObjectUtils.isEmpty(resultDto.get(0))) {
// WorkflowResultDto workflowResult = resultDto.get(0);
// model.setWorkflowProstanceId(workflowResult.getInstanceId());
// model.setNextExecuteIds(workflowResult.getNextExecutorRoleIds());
// model.setNextTaskId(workflowResult.getNextTaskId());
// model.setNextExecuteUserIds(workflowResult.getNextExecutorUserIds());
// model.setPromoter(reginParams.getUserModel().getUserId());
// // 更新代办
// }
}
model
.
setStatus
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
()
+
""
);
model
.
setApplyTime
(
new
Date
());
}
else
{
// 只有第一次改为待提交
if
(
entity
==
null
)
{
model
.
setStatus
(
FlowStatusEnum
.
TO_BE_SUBMITTED
.
getCode
()
+
""
);
}
}
if
(!
isUpdate
)
{
CompanyBo
companyBo
=
commonserviceImpl
.
getReginParamsOfCurrentUser
().
getCompany
();
model
.
setUnitCode
(
companyBo
.
getCompanyCode
());
model
.
setUnitCodeName
(
companyBo
.
getCompanyName
());
List
<
String
>
codes
=
tzsServiceFeignClient
.
applicationFormCode
(
ApplicationFormTypeEnum
.
JY
.
getCode
(),
1
).
getResult
();
model
.
setApplicationSeq
(
codes
.
get
(
0
));
model
.
setCreateUserId
(
reginParams
.
getUserModel
().
getUserId
());
model
=
this
.
createWithModel
(
model
);
// 暂存生成代办逻辑
ArrayList
<
TaskModelDto
>
list
=
new
ArrayList
<>();
TaskModelDto
dto
=
new
TaskModelDto
();
...
...
@@ -195,16 +207,16 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
// 申请单号
dto
.
setTaskCode
(
model
.
getApplicationSeq
());
// 业务类型
dto
.
setTaskType
(
String
.
valueOf
(
BizTypeEnum
.
BUSINESS_OPEN
.
getCode
())
);
dto
.
setTaskType
(
"114"
);
// 业务主键
dto
.
setRelationId
(
String
.
valueOf
(
model
.
getSequenceNbr
()));
dto
.
setNextExecuteUser
(
""
);
dto
.
setTaskName
(
""
);
list
.
add
(
dto
);
commonServiceImpl
.
buildTaskModel
(
list
);
return
model
;
}
else
{
return
this
.
updateWithModel
(
model
);
}
}
return
this
.
updateWithModel
(
model
);
}
...
...
@@ -504,89 +516,44 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
* 接收/驳回通知检验单
*/
public
void
execueFlow
(
Map
<
String
,
Object
>
params
)
{
String
role
=
""
;
String
taskName
=
"流程结束"
;
Long
sequenceNbr
=
Long
.
parseLong
(
params
.
get
(
"sequenceNbr"
)
+
""
);
String
op
=
params
.
get
(
"op"
).
toString
();
String
instanceId
=
params
.
get
(
"instanceId"
).
toString
();
String
comments
=
params
.
get
(
"comments"
).
toString
();
try
{
AjaxResult
ajaxResult
=
Workflow
.
taskClient
.
getTaskNoAuth
(
instanceId
);
JSONObject
dataObject
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
ajaxResult
.
get
(
"data"
)));
if
(!
ValidationUtil
.
isEmpty
(
dataObject
))
{
String
taskId
=
dataObject
.
getString
(
"id"
);
JyjcOpeningApplication
data
=
jyjcOpeningApplicationMapper
.
selectById
(
sequenceNbr
);
//组装信息
TaskResultDTO
dto
=
new
TaskResultDTO
();
dto
.
setResultCode
(
"approvalStatus"
);
dto
.
setTaskId
(
taskId
);
HashMap
<
String
,
Object
>
varibalble
=
new
HashMap
<>();
varibalble
.
put
(
"approvalStatus"
,
op
);
dto
.
setVariable
(
varibalble
);
dto
.
setComment
(
comments
);
//执行流程
Workflow
.
taskClient
.
completeByTask
(
taskId
,
dto
);
// 查询下节点任务
Map
<
String
,
Object
>
nextNodeInfo
=
workflowHelper
.
getNextWorkflowNode
(
instanceId
);
if
(
"0"
.
equals
(
op
)
&&
ObjectUtils
.
isNotEmpty
(
params
.
get
(
"originalDataId"
)))
{
String
originalDataId
=
params
.
get
(
"originalDataId"
).
toString
();
JyjcOpeningApplication
jyjcOpeningApplication
=
jyjcOpeningApplicationMapper
.
selectById
(
originalDataId
);
List
<
String
>
detectionRegion
=
(
List
<
String
>)
params
.
get
(
"detectionRegion"
);
// String detectionRegionName = params.get("detectionRegionName").toString();
if
(!
detectionRegion
.
isEmpty
()){
jyjcOpeningApplication
.
setDetectionRegion
(
detectionRegion
);
}
// jyjcOpeningApplication.setDetectionRegionName(detectionRegionName);
// if(ObjectUtils.isEmpty(jyjcOpeningApplication.getAcceptDate())){
// jyjcOpeningApplication.setAcceptDate(new Date());
// }
jyjcOpeningApplicationMapper
.
updateById
(
jyjcOpeningApplication
);
}
role
=
(
String
)
nextNodeInfo
.
get
(
"role"
);
taskName
=
(
String
)
nextNodeInfo
.
get
(
"taskName"
);
}
String
status
;
dto
.
setTaskId
(
data
.
getNextTaskId
());
dto
.
setComment
(
params
.
get
(
"comments"
).
toString
());
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"approvalStatus"
,
op
);
dto
.
setVariable
(
map
);
ProcessTaskDTO
complete
=
cmWorkflowService
.
complete
(
data
.
getNextTaskId
(),
dto
);
ArrayList
<
ProcessTaskDTO
>
processTaskDTOS
=
new
ArrayList
<>();
processTaskDTOS
.
add
(
complete
);
List
<
WorkflowResultDto
>
resultDto
=
commonServiceImpl
.
buildWorkFlowInfo
(
processTaskDTOS
);
if
(!
org
.
springframework
.
util
.
ObjectUtils
.
isEmpty
(
resultDto
)
&&
!
org
.
springframework
.
util
.
ObjectUtils
.
isEmpty
(
resultDto
.
get
(
0
)))
{
WorkflowResultDto
workflowResultDto
=
resultDto
.
get
(
0
);
if
(
"1"
.
equals
(
op
))
{
// 如果是回退, 则业务状态改为驳回
status
=
FlowStatusEnum
.
REJECTED
.
getCode
()
+
""
;
params
.
put
(
"relationId"
,
instanceId
);
params
.
put
(
"taskStatus"
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getCode
());
params
.
put
(
"taskStatusLabel"
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
());
TaskV2Model
taskV2Model
=
commonservice
.
updateTaskModel
(
params
);
String
json
=
null
;
try
{
json
=
IOUtils
.
toString
(
bizTypeInfo
.
getInputStream
(),
java
.
lang
.
String
.
valueOf
(
StandardCharsets
.
UTF_8
));
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
List
<
Map
>
list
=
parseArray
(
json
,
Map
.
class
);
String
url
=
null
;
for
(
Map
map
:
list
)
{
if
(
map
.
get
(
"type"
).
equals
(
"opening"
)&&
"edit"
.
equals
(
map
.
get
(
"pageType"
))){
url
=
map
.
get
(
"url"
).
toString
();
}
}
taskV2Model
.
setRoutePath
(
url
);
Map
<
String
,
Object
>
nextNodeInfo
=
workflowHelper
.
getNextWorkflowNode
(
instanceId
);
String
roles
=
(
String
)
nextNodeInfo
.
get
(
"role"
);
taskV2Model
.
setExecuteUserIds
(
roles
);
commonservice
.
buildTaskModel
(
BeanUtil
.
beanToMap
(
taskV2Model
));
// 驳回
data
.
setStatus
(
String
.
valueOf
(
FlowStatusEnum
.
REJECTED
.
getCode
()));
data
.
setPromoter
(
""
);
// 更新代办
updateTask
(
data
,
workflowResultDto
);
}
else
{
if
(
"流程结束"
.
equals
(
taskName
))
{
status
=
FlowStatusEnum
.
TO_BE_FINISHED
.
getCode
()
+
""
;
params
.
put
(
"taskStatus"
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getCode
());
params
.
put
(
"taskStatusLabel"
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
());
TaskV2Model
taskV2Model
=
commonservice
.
updateTaskModel
(
params
);
}
else
{
status
=
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
()
+
""
;
}
// 流程结束
data
.
setStatus
(
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_FINISHED
.
getCode
()));
// 更新代办
HashMap
<
String
,
Object
>
taskParams
=
new
HashMap
<>();
taskParams
.
put
(
"relationId"
,
data
.
getWorkflowProstanceId
());
taskParams
.
put
(
"flowStatus"
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getCode
());
taskParams
.
put
(
"flowStatusLabel"
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
());
taskParams
.
put
(
"taskStatus"
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getCode
());
taskParams
.
put
(
"taskStatusLabel"
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
());
taskParams
.
put
(
"model"
,
data
);
commonServiceImpl
.
updateTaskModel
(
taskParams
);
}
Boolean
rollBack
=
"1"
.
equals
(
op
)
?
true
:
false
;
updateModelByInstanceId
(
sequenceNbr
,
instanceId
,
status
,
role
,
rollBack
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
log
.
error
(
"execueFlow error:{}"
,
e
);
}
jyjcOpeningApplicationMapper
.
updateById
(
data
);
}
...
...
@@ -594,24 +561,14 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
/**
* 撤回流程办理单
*/
public
JSONObject
stopFlow
(
String
sequenceNbr
)
{
JSONObject
jsonObject
=
new
JSONObject
();
public
JyjcOpeningApplication
stopFlow
(
String
sequenceNbr
)
{
JyjcOpeningApplication
jyjcOpeningApplication
=
jyjcOpeningApplicationMapper
.
selectById
(
sequenceNbr
);
try
{
//撤回流程
jsonObject
=
workflowFeignClient
.
rollBack
(
jyjcOpeningApplication
.
getWorkflowProstanceId
());
if
(
ObjectUtils
.
isEmpty
(
jsonObject
))
{
}
Map
<
String
,
Object
>
nextNodeInfo
=
workflowHelper
.
getNextWorkflowNode
(
jyjcOpeningApplication
.
getWorkflowProstanceId
());
String
role
=
(
String
)
nextNodeInfo
.
get
(
"role"
);
Long
id
=
Long
.
parseLong
(
sequenceNbr
);
commonservice
.
deleteTaskModel
(
jyjcOpeningApplication
.
getWorkflowProstanceId
());
updateModelByInstanceId
(
id
,
jyjcOpeningApplication
.
getWorkflowProstanceId
(),
FlowStatusEnum
.
ROLLBACK
.
getCode
()
+
""
,
role
,
true
);
}
catch
(
Exception
e
)
{
throw
new
BadRequest
(
"撤回流程失败,请联系管理员!"
);
}
return
jsonObject
;
ProcessTaskDTO
processTaskDTO
=
cmWorkflowService
.
rollBack
(
jyjcOpeningApplication
.
getWorkflowProstanceId
());
ArrayList
<
ProcessTaskDTO
>
processTaskDTOS
=
new
ArrayList
<>();
processTaskDTOS
.
add
(
processTaskDTO
);
List
<
WorkflowResultDto
>
resultDto
=
commonServiceImpl
.
buildWorkFlowInfo
(
processTaskDTOS
);
return
jyjcOpeningApplication
;
}
private
String
getWorkflowStatus
(
JSONObject
dataObject
)
{
...
...
@@ -672,4 +629,61 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
return
jyjcOpeningApplicationMapper
.
selectOverdueData
();
}
public
void
buildTask
(
JyjcOpeningApplicationModel
model
,
WorkflowResultDto
workflowResultDto
)
{
ReginParams
reginParams
=
commonserviceImpl
.
getReginParamsOfCurrentUser
();
// 代办消息
ArrayList
<
TaskModelDto
>
list
=
new
ArrayList
<>();
TaskModelDto
dto
=
new
TaskModelDto
();
dto
.
setTaskType
(
"114"
);
dto
.
setTaskTypeLabel
(
BizTypeEnum
.
BUSINESS_OPEN
.
getName
());
dto
.
setFlowCreateDate
(
model
.
getRecDate
());
dto
.
setTaskName
(
workflowResultDto
.
getNextTaskName
());
dto
.
setTaskCode
(
workflowResultDto
.
getNextTaskCode
());
dto
.
setTaskContent
(
String
.
format
(
"检验检测业务开通办理,【申请单号:%s】"
,
model
.
getApplicationSeq
()));
dto
.
setRelationId
(
workflowResultDto
.
getInstanceId
());
dto
.
setExecuteUserIds
(
workflowResultDto
.
getNextExecutorUserIds
());
dto
.
setTaskStatus
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
());
dto
.
setTaskStatusLabel
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
());
dto
.
setFlowStatus
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
());
dto
.
setFlowStatusLabel
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
());
dto
.
setStartUserId
(
reginParams
.
getUserModel
().
getUserId
());
dto
.
setStartUser
(
reginParams
.
getUserModel
().
getRealName
());
dto
.
setStartUserCompanyName
(
reginParams
.
getCompany
().
getCompanyCode
());
dto
.
setStartDate
(
new
Date
());
model
.
setWorkflowProstanceId
(
workflowResultDto
.
getInstanceId
());
model
.
setNextExecuteIds
(
workflowResultDto
.
getNextExecutorRoleIds
());
dto
.
setModel
(
model
);
dto
.
setNextExecuteUser
(
workflowResultDto
.
getNextExecutorRoleIds
());
list
.
add
(
dto
);
commonServiceImpl
.
buildTaskModel
(
list
);
}
public
void
updateTask
(
JyjcOpeningApplication
model
,
WorkflowResultDto
workflowResultDto
)
{
// 更新代办状态
HashMap
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"relationId"
,
model
.
getWorkflowProstanceId
());
params
.
put
(
"flowStatus"
,
model
.
getStatus
());
params
.
put
(
"flowStatusLabel"
,
model
.
getStatus
());
params
.
put
(
"taskStatus"
,
model
.
getStatus
());
params
.
put
(
"taskStatusLabel"
,
model
.
getStatus
());
TaskV2Model
taskV2Model
=
commonServiceImpl
.
updateTaskModel
(
params
);
// 创建新的代办
if
(!
ObjectUtils
.
isEmpty
(
taskV2Model
))
{
TaskModelDto
taskModelDto
=
new
TaskModelDto
();
BeanUtils
.
copyProperties
(
taskV2Model
,
taskModelDto
);
taskModelDto
.
setModel
(
model
);
taskModelDto
.
setTaskName
(
workflowResultDto
.
getNextTaskName
());
taskModelDto
.
setExecuteUserIds
(
workflowResultDto
.
getNextExecutorUserIds
());
taskModelDto
.
setTaskStatusLabel
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
());
taskModelDto
.
setNextExecuteUser
(
workflowResultDto
.
getNextExecutorRoleIds
());
commonServiceImpl
.
buildTaskModel
(
Collections
.
singletonList
(
taskModelDto
));
}
else
{
JyjcOpeningApplicationModel
applicationModel
=
new
JyjcOpeningApplicationModel
();
BeanUtil
.
copyProperties
(
model
,
applicationModel
);
buildTask
(
applicationModel
,
workflowResultDto
);
}
}
}
\ No newline at end of file
amos-boot-system-tzs/amos-boot-module-jyjc/amos-boot-module-jyjc-biz/src/main/resources/json/bizTypeInfo.json
View file @
e9f83b6f
[
[
{
"type"
:
"supervise"
,
"pageType"
:
"draft"
,
"url"
:
"/mixuap?appId=1742358052905971713&id=1734576595978448898&roleIds={roleIds}&userId={userId}&pageType=edit"
},
{
"type"
:
"firstinspect"
,
"pageType"
:
"draft"
,
"url"
:
"/mixuap?appId=1742358052905971713&id=1736728282272919554&roleIds={roleIds}&userId={userId}&pageType=edit"
},
{
"type"
:
"detection"
,
"pageType"
:
"draft"
,
"url"
:
"/mixuap?appId=1742358052905971713&id=1736733779709423618&roleIds={roleIds}&userId={userId}&pageType=edit"
},
{
"type"
:
"supervise"
,
"pageType"
:
"look"
,
...
...
@@ -24,15 +36,15 @@
"pageType"
:
"edit"
,
"url"
:
"/mixuap?appId=1742358052905971713&id=1736733779709423618&roleIds={roleIds}&userId={userId}&pageType=edit"
},
{
"type"
:
"
businessOpen
"
,
"type"
:
"
114
"
,
"pageType"
:
"draft"
,
"url"
:
"/mixuap?appId=1742358052905971713&id=173
4569644833927170
&roleIds={roleIds}&userId={userId}&pageType=edit"
"url"
:
"/mixuap?appId=1742358052905971713&id=173
7319295022559234
&roleIds={roleIds}&userId={userId}&pageType=edit"
},
{
"type"
:
"
businessOpen
"
,
"type"
:
"
114
"
,
"pageType"
:
"look"
,
"url"
:
"/mixuap?appId=1742358052905971713&id=1735201757841092609&roleIds={roleIds}&userId={userId}&pageType=edit"
},
{
"type"
:
"
businessOpen
"
,
"type"
:
"
114
"
,
"pageType"
:
"edit"
,
"url"
:
"/mixuap?appId=1742358052905971713&id=1735201757841092609&roleIds={roleIds}&userId={userId}&pageType=edit"
}
...
...
amos-boot-system-tzs/amos-boot-module-ymt/amos-boot-module-ymt-api/src/main/java/com/yeejoin/amos/boot/module/ymt/api/service/IGenerateCodeService.java
View file @
e9f83b6f
...
...
@@ -51,4 +51,6 @@ public interface IGenerateCodeService {
* @return 7位监管编码生成
*/
String
createSupervisoryCode
(
String
key
);
String
initCode
();
}
amos-boot-system-tzs/amos-boot-module-ymt/amos-boot-module-ymt-biz/src/main/java/com/yeejoin/amos/boot/module/ymt/biz/controller/GenerateCodeController.java
View file @
e9f83b6f
...
...
@@ -5,10 +5,7 @@ import com.yeejoin.amos.boot.module.ymt.api.service.IGenerateCodeService;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
import
org.typroject.tyboot.core.foundation.enumeration.UserType
;
import
org.typroject.tyboot.core.restful.doc.TycloudOperation
;
import
org.typroject.tyboot.core.restful.utils.ResponseHelper
;
...
...
@@ -66,4 +63,14 @@ public class GenerateCodeController extends BaseController {
public
ResponseModel
<
String
>
createUseRegistrationCode
(
@RequestParam
(
"key"
)
String
key
)
{
return
ResponseHelper
.
buildResponse
(
generateCodeService
.
createUseRegistrationCode
(
key
));
}
/**
* 初始化96333和监管码到Redis
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/init-code"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"初始化96333和监管码到Redis"
,
notes
=
"初始化96333和监管码到Redis"
)
public
ResponseModel
<
String
>
initCode
()
{
return
ResponseHelper
.
buildResponse
(
generateCodeService
.
initCode
());
}
}
amos-boot-system-tzs/amos-boot-module-ymt/amos-boot-module-ymt-biz/src/main/java/com/yeejoin/amos/boot/module/ymt/biz/service/impl/GenerateCodeServiceImpl.java
View file @
e9f83b6f
...
...
@@ -3,9 +3,11 @@ package com.yeejoin.amos.boot.module.ymt.biz.service.impl;
import
com.yeejoin.amos.boot.module.ymt.api.common.DateUtils
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentCategoryEnum
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.CategoryOtherInfoMapper
;
import
com.yeejoin.amos.boot.module.ymt.api.service.IGenerateCodeService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.data.redis.core.ValueOperations
;
import
org.springframework.stereotype.Service
;
import
java.time.LocalDate
;
...
...
@@ -33,12 +35,15 @@ public class GenerateCodeServiceImpl implements IGenerateCodeService {
private
static
final
String
SEQUENCE_TYPE
=
"%07d"
;
private
static
final
long
LOCK_EXPIRATION_SECONDS
=
60
;
private
final
RedisTemplate
<
String
,
String
>
redisTemplate
;
private
final
StringRedisTemplate
stringRedisTemplate
;
private
final
CategoryOtherInfoMapper
categoryOtherInfoMapper
;
private
String
rulePrefix
=
""
;
public
GenerateCodeServiceImpl
(
RedisTemplate
<
String
,
String
>
redisTemplate
)
{
public
GenerateCodeServiceImpl
(
RedisTemplate
<
String
,
String
>
redisTemplate
,
StringRedisTemplate
stringRedisTemplate
,
CategoryOtherInfoMapper
categoryOtherInfoMapper
)
{
this
.
redisTemplate
=
redisTemplate
;
this
.
stringRedisTemplate
=
stringRedisTemplate
;
this
.
categoryOtherInfoMapper
=
categoryOtherInfoMapper
;
}
/**
* 生成申请单编号(13位,GZ20231214000)
*
...
...
@@ -93,6 +98,15 @@ public class GenerateCodeServiceImpl implements IGenerateCodeService {
return
(
key
.
length
()
==
5
)
?
generateSupervisorySequence
(
key
)
:
"生成码规则不对!"
;
}
@Override
public
String
initCode
()
{
categoryOtherInfoMapper
.
selectSupervisorCodeMaxValue
().
forEach
(
vo
->
stringRedisTemplate
.
opsForValue
().
set
(
vo
.
getName
(),
String
.
valueOf
(
vo
.
getValue
())));
categoryOtherInfoMapper
.
selectElevatorCodeMaxValue
().
forEach
(
vo
->
stringRedisTemplate
.
opsForValue
().
set
(
vo
.
getName
(),
String
.
valueOf
(
vo
.
getValue
())));
return
"ok"
;
}
private
String
generateSupervisorySequence
(
String
sequenceKey
)
{
// 使用分布式锁,确保在并发情况下只有一个线程能够生成顺序码
Boolean
lockAcquired
=
obtainLock
(
GenerateCodeServiceImpl
.
LOCK_KEY_SUPERVISORY
);
...
...
@@ -102,7 +116,7 @@ public class GenerateCodeServiceImpl implements IGenerateCodeService {
ValueOperations
<
String
,
String
>
valueOps
=
redisTemplate
.
opsForValue
();
String
currentSequenceStr
=
valueOps
.
get
(
sequenceKey
);
// 如果为空,则初始化为0
Long
currentSequence
=
(
currentSequenceStr
!=
null
)
?
Long
.
parseLong
(
currentSequenceStr
)
:
0L
;
Long
currentSequence
=
(
currentSequenceStr
!=
null
)
?
Long
.
parseLong
(
currentSequenceStr
)
:
this
.
initRedis
(
sequenceKey
)
;
log
.
info
(
"===================>获取《{}》当前顺序码:{}<==================="
,
sequenceKey
,
currentSequenceStr
);
currentSequence
++;
...
...
@@ -121,6 +135,18 @@ public class GenerateCodeServiceImpl implements IGenerateCodeService {
}
/**
* 监管码为空的话,初始化Redis
* @param sequenceKey key
* @return 顺序码
*/
private
Long
initRedis
(
String
sequenceKey
)
{
categoryOtherInfoMapper
.
selectSupervisorCodeMaxValue
().
forEach
(
vo
->
stringRedisTemplate
.
opsForValue
().
set
(
vo
.
getName
(),
String
.
valueOf
(
vo
.
getValue
())));
return
Long
.
parseLong
(
Objects
.
requireNonNull
(
redisTemplate
.
opsForValue
().
get
(
sequenceKey
)));
}
/**
* 校验枚举合法性
*
* @param value value
...
...
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