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
14ba4827
Commit
14ba4827
authored
Jan 12, 2024
by
chenzhao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
单位变更登记修改
parent
279b33e8
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
176 additions
and
33 deletions
+176
-33
JgChangeRegistrationUnitDto.java
...s/boot/module/jg/api/dto/JgChangeRegistrationUnitDto.java
+3
-0
JgChangeRegistrationUnitServiceImpl.java
...biz/service/impl/JgChangeRegistrationUnitServiceImpl.java
+173
-33
No files found.
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/dto/JgChangeRegistrationUnitDto.java
View file @
14ba4827
...
...
@@ -133,4 +133,7 @@ public class JgChangeRegistrationUnitDto extends BaseDto {
@ApiModelProperty
(
value
=
"设备地址"
)
private
String
equAddress
;
@ApiModelProperty
(
value
=
"下一步任务id"
)
private
String
nextTaskId
;
}
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/JgChangeRegistrationUnitServiceImpl.java
View file @
14ba4827
...
...
@@ -29,10 +29,12 @@ import com.yeejoin.amos.boot.module.jg.biz.utils.WordTemplateUtils;
import
com.yeejoin.amos.boot.module.jg.flc.api.fegin.WorkFlowFeignService
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.*
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.*
;
import
com.yeejoin.amos.component.feign.model.FeignClientResult
;
import
com.yeejoin.amos.feign.privilege.model.AgencyUserModel
;
import
com.yeejoin.amos.feign.systemctl.Systemctl
;
import
com.yeejoin.amos.feign.systemctl.model.TaskV2Model
;
import
com.yeejoin.amos.feign.workflow.Workflow
;
import
com.yeejoin.amos.feign.workflow.model.*
;
import
org.springframework.beans.BeanUtils
;
...
...
@@ -214,26 +216,28 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
String
[]
taskName
=
new
String
[]{
"流程结束"
};
// 字段转换
this
.
convertField
(
noticeDto
);
ArrayList
<
String
>
roleList
First
=
new
ArrayList
<>();
ArrayList
<
String
>
roleList
Second
=
new
ArrayList
<>();
ArrayList
<
String
>
roleList
All
=
new
ArrayList
<>();
ArrayList
<
String
>
roleList
Next
=
new
ArrayList
<>();
if
(
SUBMIT_TYPE_FLOW
.
equals
(
submitType
))
{
AjaxResult
ajaxResult
;
// 发起流程
if
(!
StringUtils
.
hasText
(
noticeDto
.
getInstanceId
()))
{
List
<
ProcessTaskDTO
>
processTasks
=
new
ArrayList
<>();
ActWorkflowBatchDTO
actWorkflowBatchDTO
=
new
ActWorkflowBatchDTO
();
List
<
ActWorkflowStartDTO
>
list
=
new
ArrayList
<>();
ActWorkflowStartDTO
dto
=
new
ActWorkflowStartDTO
();
dto
.
setProcessDefinitionKey
(
PROCESS_DEFINITION_KEY
);
dto
.
setBusinessKey
(
"1"
);
try
{
ajaxResult
=
Workflow
.
taskClient
.
startByVariable
(
dto
);
String
instanceId
=
((
Map
)
ajaxResult
.
get
(
"data"
)).
get
(
"id"
).
toString
();
noticeDto
.
setInstanceId
(
instanceId
);
// 查询下节点任务
getNext
(
roleListFirst
,
instanceId
,
taskName
);
noticeDto
.
setInstanceStatus
(
String
.
join
(
","
,
roleListFirst
));
}
catch
(
Exception
e
)
{
log
.
error
(
"提交失败:{}"
,
e
);
}
}
dto
.
setBusinessKey
(
String
.
valueOf
(
new
Date
().
getTime
()));
dto
.
setCompleteFirstTask
(
true
);
list
.
add
(
dto
);
actWorkflowBatchDTO
.
setProcess
(
list
);
processTasks
=
cmWorkflowService
.
startBatch
(
actWorkflowBatchDTO
);
String
instanceId
=
processTasks
.
get
(
0
).
getProcessInstance
().
getId
();
String
nextTaskId
=
processTasks
.
get
(
0
).
getNextTask
().
get
(
0
).
getId
();
String
taskname
=
processTasks
.
get
(
0
).
getNextTask
().
get
(
0
).
getName
();
this
.
buildRoleList
(
processTasks
,
roleListNext
,
roleListAll
);
List
<
WorkflowResultDto
>
workflowResultDtos
=
commonServiceImpl
.
buildWorkFlowInfo
(
processTasks
);
String
nextUserIds
=
workflowResultDtos
.
get
(
0
).
getNextExecutorUserIds
();
JgChangeRegistrationUnit
notice
=
new
JgChangeRegistrationUnit
();
JgChangeRegistrationUnit
noticeOld
=
JgChangeRegistrationUnitMapper
.
selectById
(
noticeDto
.
getSequenceNbr
());
...
...
@@ -241,19 +245,17 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
boolean
submit
=
submit
(
notice
,
op
);
notice
.
setChangeCertificate
(
noticeDto
.
getChangeCertificate
());
notice
.
setRemark
(
noticeDto
.
getRemark
());
if
(
submit
)
{
// 查询下节点任务
getNext
(
roleListSecond
,
notice
.
getInstanceId
(),
taskName
);
notice
.
setStatus
(
taskName
[
0
]);
// notice.setStatus(taskName[0]);
if
(!
ObjectUtils
.
isEmpty
(
notice
.
getInstanceStatus
()))
{
notice
.
setInstanceStatus
(
notice
.
getInstanceStatus
()
+
","
+
roleList
Second
);
notice
.
setInstanceStatus
(
notice
.
getInstanceStatus
()
+
","
+
roleList
All
);
}
else
{
notice
.
setInstanceStatus
(
String
.
join
(
","
,
roleList
Second
));
notice
.
setInstanceStatus
(
String
.
join
(
","
,
roleList
All
));
}
notice
.
setPromoter
(
RequestContext
.
getExeUserId
());
notice
.
setNextExecutorIds
(
String
.
join
(
","
,
roleList
Second
));
notice
.
setNextExecutorIds
(
String
.
join
(
","
,
roleList
Next
));
notice
.
setStatus
(
WorkFlowStatusEnum
.
UNITCHANGE_RECEIVE
.
getPass
());
JgChangeRegistrationUnitMapper
.
updateById
(
notice
);
createTaskModel
(
notice
,
taskname
,
"1"
,
nextUserIds
);
}
}
else
{
JgChangeRegistrationUnit
bean
=
new
JgChangeRegistrationUnit
();
...
...
@@ -630,30 +632,71 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
}
public
void
cancel
(
JgChangeRegistrationUnitDto
noticeDto
)
{
String
taskCode
=
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
();
String
[]
taskName
=
new
String
[]{
"流程结束"
};
FeignClientResult
ajaxResult
=
Workflow
.
taskV2Client
.
rollBack
(
noticeDto
.
getInstanceId
());
// FeignClientResult ajaxResult = Workflow.taskV2Client.rollBack(noticeDto.getInstanceId());
List
<
String
>
roleListNext
=
new
ArrayList
<>();
List
<
String
>
roleListAll
=
new
ArrayList
<>();
ProcessTaskDTO
processTaskDTO
=
cmWorkflowService
.
rollBack
(
noticeDto
.
getInstanceId
());
String
nextTaskId
=
processTaskDTO
.
getNextTask
().
get
(
0
).
getId
();
this
.
buildRoleList
(
Collections
.
singletonList
(
processTaskDTO
),
roleListNext
,
roleListAll
);
// 待调整
taskCode
=
processTaskDTO
.
getNextTask
().
get
(
0
).
getKey
();
JgChangeRegistrationUnit
JgChangeRegistrationUnit
=
this
.
baseMapper
.
selectById
(
noticeDto
.
getSequenceNbr
());
ArrayList
<
String
>
roleList
=
new
ArrayList
<>();
if
(
ajaxResult
.
getStatus
()
==
200
)
{
getNext
(
roleList
,
noticeDto
.
getInstanceId
(),
taskName
);
JgChangeRegistrationUnit
.
setStatus
(
WorkFlowStatusEnum
.
getMessage
(
taskName
[
0
]).
getRollBack
());
JgChangeRegistrationUnit
.
setPromoter
(
""
);
JgChangeRegistrationUnit
.
setNextExecutorIds
(
String
.
join
(
","
,
roleList
));
JgChangeRegistrationUnit
.
setNextTaskId
(
nextTaskId
);
JgChangeRegistrationUnit
.
setNextExecutorIds
(
String
.
join
(
","
,
roleListNext
));
JgChangeRegistrationUnitMapper
.
updateById
(
JgChangeRegistrationUnit
);
}
// 删除待办
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
JgChangeRegistrationUnit
));
jsonObject
.
put
(
"nextTaskId"
,
JgChangeRegistrationUnit
.
getNextTaskId
());
jsonObject
.
put
(
"nextExecuteUser"
,
JgChangeRegistrationUnit
.
getNextExecutorIds
());
jsonObject
.
put
(
"taskType"
,
BusinessTypeEnum
.
JG_NAME_CHANGE_REGISTRATION
.
getCode
());
commonServiceImpl
.
rollbackTask
(
noticeDto
.
getInstanceId
(),
jsonObject
);
}
@Transactional
public
void
accept
(
JgChangeRegistrationUnitDto
dto
,
String
op
)
{
String
[]
taskName
=
new
String
[]{
"已完成"
};
String
userId
=
RequestContext
.
getExeUserId
();
String
taskId
=
dto
.
getNextTaskId
();
JgChangeRegistrationUnit
jgChangeRegistrationUnit
=
this
.
JgChangeRegistrationUnitMapper
.
selectById
(
dto
.
getSequenceNbr
());
jgChangeRegistrationUnit
.
setProcessAdvice
(
dto
.
getProcessAdvice
());
List
<
String
>
roleListNext
=
new
ArrayList
<>();
List
<
String
>
roleListAll
=
new
ArrayList
<>();
ArrayList
<
String
>
roleList
=
new
ArrayList
<>();
boolean
submit
=
submit
(
jgChangeRegistrationUnit
,
op
);
if
(
submit
)
{
getNext
(
roleList
,
dto
.
getInstanceId
(),
taskName
);
// boolean submit = submit(jgChangeRegistrationUnit, op);
// if (submit) {
// getNext(roleList, dto.getInstanceId(), taskName);
//组装信息
TaskResultDTO
task
=
new
TaskResultDTO
();
task
.
setResultCode
(
"approvalStatus"
);
task
.
setTaskId
(
taskId
);
task
.
setComment
(
""
);
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"approvalStatus"
,
op
);
if
(!
ObjectUtils
.
isEmpty
(
jgChangeRegistrationUnit
.
getInstanceStatus
())
&&
(
jgChangeRegistrationUnit
.
getAuditStatus
().
equals
(
WorkFlowStatusEnum
.
UNIT_RENAME_SUBMIT
.
getReject
())
||
jgChangeRegistrationUnit
.
getAuditStatus
().
equals
(
WorkFlowStatusEnum
.
UNIT_RENAME_SUBMIT
.
getRollBack
())))
{
map
.
put
(
"approvalStatus"
,
"提交"
);
}
task
.
setVariable
(
map
);
//执行流程
ProcessTaskDTO
processTaskDTO
=
cmWorkflowService
.
complete
(
taskId
,
task
);
String
taskCode
=
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
();
String
taskName1
=
""
;
String
nextTaskId
=
""
;
this
.
buildRoleList
(
Collections
.
singletonList
(
processTaskDTO
),
roleList
,
roleListAll
);
List
<
WorkflowResultDto
>
workflowResultDtos
=
commonServiceImpl
.
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
();
}
jgChangeRegistrationUnit
.
setStatus
(
taskName
[
0
]);
if
(
"0"
.
equals
(
op
))
{
if
(
roleList
.
size
()
==
0
)
{
...
...
@@ -697,6 +740,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
//修改各类告知列表,置为废弃
this
.
updataInvalidStatusByHistory
(
jgChangeRegistrationUnitEq
.
getEquId
(),
jgChangeRegistrationUnit
.
getApplyNo
());
updateTaskModel
(
jgChangeRegistrationUnit
,
op
);
// TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
// @Override
// public void afterCommit() {
...
...
@@ -712,14 +756,15 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
}
jgChangeRegistrationUnit
.
setPromoter
(
userId
);
jgChangeRegistrationUnit
.
setStatus
(
WorkFlowStatusEnum
.
getMessage
(
taskName
[
0
]).
getPass
());
}
executeOneStep
(
jgChangeRegistrationUnit
,
taskName1
,
nextUserIds
,
op
);
}
}
else
{
jgChangeRegistrationUnit
.
setPromoter
(
""
);
jgChangeRegistrationUnit
.
setNextExecutorIds
(
String
.
join
(
","
,
roleList
));
jgChangeRegistrationUnit
.
setStatus
(
WorkFlowStatusEnum
.
getMessage
(
taskName
[
0
]).
getReject
());
executeOneStep
(
jgChangeRegistrationUnit
,
taskName1
,
nextUserIds
,
op
);
}
JgChangeRegistrationUnitMapper
.
updateById
(
jgChangeRegistrationUnit
);
}
//
}
}
/**
...
...
@@ -838,4 +883,98 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
commonService
.
generateCertificateReport
(
exportParamsMap
,
response
);
}
private
String
buildTaskContent
(
JgChangeRegistrationUnit
obj
)
{
return
"来自"
+
obj
.
getEquType
()+
"【"
+
obj
.
getSupervisoryCode
()+
"】的业务办理,【申请单号:"
+
obj
.
getApplyNo
()+
"】"
;
}
private
void
createTaskModel
(
JgChangeRegistrationUnit
dto
,
String
taskName
,
String
submitType
,
String
nextUserIds
)
{
ReginParams
reginParams
=
JSON
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
if
(
"1"
.
equals
(
submitType
))
{
TaskModelDto
taskModelDto
=
new
TaskModelDto
();
taskModelDto
.
setFlowCreateDate
(
dto
.
getApplyDate
());
taskModelDto
.
setTaskName
(
taskName
);
taskModelDto
.
setTaskCode
(
dto
.
getApplyNo
());
taskModelDto
.
setTaskContent
(
this
.
buildTaskContent
(
dto
));
taskModelDto
.
setTaskDesc
(
""
);
taskModelDto
.
setTaskType
(
BusinessTypeEnum
.
JG_NAME_CHANGE_REGISTRATION
.
getCode
());
taskModelDto
.
setTaskTypeLabel
(
BusinessTypeEnum
.
JG_NAME_CHANGE_REGISTRATION
.
getName
());
taskModelDto
.
setRelationId
(
dto
.
getInstanceId
());
taskModelDto
.
setExecuteUserIds
(
nextUserIds
);
taskModelDto
.
setTaskStatusLabel
(
dto
.
getAuditStatus
());
taskModelDto
.
setStartUserId
(
dto
.
getCreateUserId
());
taskModelDto
.
setStartUser
(
reginParams
.
getUserModel
().
getRealName
());
taskModelDto
.
setStartUserCompanyName
(
dto
.
getUseUnitName
());
taskModelDto
.
setNextExecuteUser
(
dto
.
getNextExecutorIds
());
taskModelDto
.
setStartDate
(
dto
.
getCreateDate
());
taskModelDto
.
setModel
(
dto
);
commonServiceImpl
.
buildTaskModel
(
Collections
.
singletonList
(
taskModelDto
));
}
}
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
executeOneStep
(
JgChangeRegistrationUnit
jgChangeRegistrationName
,
String
taskName
,
String
nextUserIds
,
String
operate
)
{
// 先更新之前的待办
TaskV2Model
taskV2Model
=
updateTaskModel
(
jgChangeRegistrationName
,
operate
);
TaskModelDto
taskModelDto
=
new
TaskModelDto
();
taskModelDto
.
setTaskDesc
(
""
);
taskModelDto
.
setTaskContent
(
this
.
buildTaskContent
(
jgChangeRegistrationName
));
taskV2Model
.
setTaskName
(
taskName
);
taskModelDto
.
setTaskDesc
(
""
);
taskModelDto
.
setTaskCode
(
jgChangeRegistrationName
.
getApplyNo
());
taskV2Model
.
setExecuteUserIds
(
nextUserIds
);
taskV2Model
.
setRelationId
(
jgChangeRegistrationName
.
getInstanceId
());
taskV2Model
.
setTaskStatus
(
this
.
getTaskStatusByName
(
jgChangeRegistrationName
.
getAuditStatus
()));
taskV2Model
.
setTaskStatusLabel
(
jgChangeRegistrationName
.
getAuditStatus
());
taskV2Model
.
setTaskType
(
BusinessTypeEnum
.
JG_COMPANY_CHANGE_REGISTRATION
.
getCode
());
taskModelDto
.
setStartUser
(
jgChangeRegistrationName
.
getCreateUserName
());
taskV2Model
.
setTaskTypeLabel
(
BusinessTypeEnum
.
JG_COMPANY_CHANGE_REGISTRATION
.
getName
());
taskModelDto
.
setStartDate
(
jgChangeRegistrationName
.
getCreateDate
());
taskModelDto
.
setStartUserId
(
jgChangeRegistrationName
.
getCreateUserId
());
taskModelDto
.
setStartUserCompanyName
(
jgChangeRegistrationName
.
getUseUnitName
());
taskModelDto
.
setExecuteUserIds
(
nextUserIds
);
TaskModelDto
modelDto
=
new
TaskModelDto
();
BeanUtil
.
copyProperties
(
taskV2Model
,
modelDto
);
modelDto
.
setNextExecuteUser
(
jgChangeRegistrationName
.
getNextExecutorIds
());
modelDto
.
setModel
(
jgChangeRegistrationName
);
// 再插入新代办、数据待定
commonServiceImpl
.
buildTaskModel
(
Collections
.
singletonList
(
modelDto
));
}
private
TaskV2Model
updateTaskModel
(
JgChangeRegistrationUnit
jgChangeRegistrationName
,
String
operate
)
{
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
FlowStatusEnum
flowStatusEnum
=
this
.
getTaskStatus
(
operate
);
params
.
put
(
"relationId"
,
jgChangeRegistrationName
.
getInstanceId
());
params
.
put
(
"taskStatus"
,
flowStatusEnum
.
getCode
());
params
.
put
(
"taskStatusLabel"
,
flowStatusEnum
.
getName
());
params
.
put
(
"flowStatus"
,
this
.
getTaskStatusByName
(
jgChangeRegistrationName
.
getAuditStatus
()));
params
.
put
(
"flowStatusLabel"
,
jgChangeRegistrationName
.
getAuditStatus
());
return
commonServiceImpl
.
updateTaskModel
(
params
);
}
private
FlowStatusEnum
getTaskStatus
(
String
operate
)
{
if
(
"0"
.
equals
(
operate
)){
return
FlowStatusEnum
.
TO_BE_FINISHED
;
}
else
{
return
FlowStatusEnum
.
REJECTED
;
}
}
private
Integer
getTaskStatusByName
(
String
auditStatus
)
{
return
commonServiceImpl
.
getDictionaryCodeByName
(
auditStatus
);
}
}
\ No newline at end of file
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