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
6c066203
Commit
6c066203
authored
Jan 15, 2024
by
tianyiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
启用停用功能实现
parent
5a6d5a31
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
122 additions
and
22 deletions
+122
-22
JgEnableDisableServiceImpl.java
...odule/jg/biz/service/impl/JgEnableDisableServiceImpl.java
+122
-22
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/JgEnableDisableServiceImpl.java
View file @
6c066203
...
...
@@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONObject;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.yeejoin.amos.boot.biz.common.bo.ReginParams
;
import
com.yeejoin.amos.boot.biz.common.utils.DateUtils
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisKey
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisUtils
;
import
com.yeejoin.amos.boot.module.jg.api.dto.TaskModelDto
;
...
...
@@ -22,8 +23,10 @@ import com.yeejoin.amos.boot.module.jg.api.dto.JgEnableDisableDto;
import
com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient
;
import
com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService
;
import
com.yeejoin.amos.boot.module.jg.flc.api.fegin.WorkFlowFeignService
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.RegistrationInfo
;
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.RegistrationInfoMapper
;
import
com.yeejoin.amos.component.feign.model.FeignClientResult
;
import
com.yeejoin.amos.feign.systemctl.model.TaskV2Model
;
import
com.yeejoin.amos.feign.workflow.Workflow
;
...
...
@@ -33,12 +36,14 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.StringUtils
;
import
org.typroject.tyboot.core.foundation.context.RequestContext
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.springframework.stereotype.Service
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
java.text.ParseException
;
import
java.util.*
;
/**
...
...
@@ -85,6 +90,7 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
if
(!
"null"
.
equals
(
String
.
valueOf
(
map
.
get
(
"sequenceNbr"
)))){
jgEnableDisable
=
this
.
baseMapper
.
selectById
(
String
.
valueOf
(
map
.
get
(
"sequenceNbr"
)));
}
jgEnableDisable
.
setCreateDate
(
new
Date
());
String
submit
=
String
.
valueOf
(
map
.
get
(
"submit"
));
String
pageType
=
String
.
valueOf
(
map
.
get
(
"formType"
));
String
record
=
String
.
valueOf
(
map
.
get
(
"record"
));
...
...
@@ -299,35 +305,129 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
}
@Autowired
RegistrationInfoMapper
tzsJgRegistrationInfoMapper
;
public
void
flowExecute
(
Long
id
,
String
instanceId
,
String
operate
,
String
comment
)
{
try
{
ReginParams
reginParams
=
JSONObject
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
JgEnableDisable
jgEnableDisable
=
this
.
baseMapper
.
selectById
(
id
);
JSONObject
task
=
workFlowFeginService
.
getTaskNoAuth
(
instanceId
);
JSONObject
taskMessage
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
task
.
get
(
"data"
)));
String
taskId
=
taskMessage
.
getString
(
"id"
);
//组装信息
TaskResultDTO
dto
=
new
TaskResultDTO
();
dto
.
setResultCode
(
"approvalStatus"
);
dto
.
setTaskId
(
taskId
);
dto
.
setComment
(
comment
);
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"approvalStatus"
,
operate
);
if
(
WorkFlowStatusEnum
.
ENABLE_SUBMIT
.
getReject
().
equals
(
jgEnableDisable
.
getAuditStatus
())
||
WorkFlowStatusEnum
.
ENABLE_SUBMIT
.
getRollBack
().
equals
(
jgEnableDisable
.
getAuditStatus
()))
{
map
.
put
(
"approvalStatus"
,
"提交"
);
}
dto
.
setVariable
(
map
);
//执行流程
Workflow
.
taskClient
.
completeByTask
(
taskId
,
dto
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
// 执行工作流并返回组装好的工作流信息
WorkflowResultDto
workflowResultDto
=
getWorkflowResultDto
(
operate
,
comment
,
jgEnableDisable
);
jgEnableDisable
.
setPromoter
(
reginParams
.
getUserModel
().
getUserId
());
TaskV2Model
taskV2Model
=
new
TaskV2Model
();
if
(
"0"
.
equals
(
operate
))
{
if
(
StringUtils
.
isEmpty
(
workflowResultDto
.
getNextExecutorRoleIds
()))
{
LambdaQueryWrapper
<
JgEnableDisableEq
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
JgEnableDisableEq:
:
getEnableDisableApplyId
,
id
);
JgEnableDisableEq
jgEnableDisableEq
=
jgEnableDisableEqMapper
.
selectOne
(
queryWrapper
);
LambdaQueryWrapper
<
RegistrationInfo
>
queryWrapper2
=
new
LambdaQueryWrapper
<>();
queryWrapper2
.
eq
(
RegistrationInfo:
:
getRecord
,
jgEnableDisableEq
.
getEquId
());
RegistrationInfo
tzsJgRegistrationInfo
=
tzsJgRegistrationInfoMapper
.
selectOne
(
queryWrapper2
);
jgEnableDisable
.
setPromoter
(
""
);
jgEnableDisable
.
setAuditStatus
(
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
()));
// 上个代办改为已办
HashMap
<
String
,
Object
>
taskMap
=
new
HashMap
<>();
taskMap
.
put
(
"taskStatus"
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getCode
());
taskMap
.
put
(
"taskStatusLabel"
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
());
taskMap
.
put
(
"relationId"
,
jgEnableDisable
.
getInstanceId
());
taskMap
.
put
(
"flowStatus"
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getCode
());
taskMap
.
put
(
"flowStatusLabel"
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
());
taskMap
.
put
(
"model"
,
jgEnableDisable
);
taskV2Model
=
commonService
.
updateTaskModel
(
taskMap
);
}
else
{
jgEnableDisable
.
setNextExecutorIds
(
workflowResultDto
.
getNextExecutorRoleIds
());
if
(!
ObjectUtils
.
isEmpty
(
jgEnableDisable
.
getExecuteSequence
()))
{
jgEnableDisable
.
setExecuteSequence
(
jgEnableDisable
.
getExecuteSequence
()
+
","
+
workflowResultDto
.
getNextExecutorRoleIds
());
}
else
{
jgEnableDisable
.
setExecuteSequence
(
workflowResultDto
.
getNextExecutorRoleIds
());
}
jgEnableDisable
.
setAuditStatus
(
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
()));
// 上个代办改为已办
HashMap
<
String
,
Object
>
taskMap
=
new
HashMap
<>();
taskMap
.
put
(
"taskStatus"
,
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
());
taskMap
.
put
(
"taskStatusLabel"
,
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
());
taskMap
.
put
(
"flowStatus"
,
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
());
taskMap
.
put
(
"flowStatusLabel"
,
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
());
taskMap
.
put
(
"relationId"
,
jgEnableDisable
.
getInstanceId
());
taskV2Model
=
commonService
.
updateTaskModel
(
taskMap
);
TaskModelDto
taskModelDto
=
new
TaskModelDto
();
BeanUtils
.
copyProperties
(
taskV2Model
,
taskModelDto
);
// 创建新的代办
taskModelDto
.
setModel
(
jgEnableDisable
);
taskModelDto
.
setTaskName
(
workflowResultDto
.
getNextTaskName
());
taskModelDto
.
setExecuteUserIds
(
workflowResultDto
.
getNextExecutorUserIds
());
taskModelDto
.
setFlowStatus
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
());
taskModelDto
.
setFlowStatusLabel
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
());
taskModelDto
.
setFlowCode
(
workflowResultDto
.
getNextTaskId
());
taskModelDto
.
setTaskStatusLabel
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
());
taskModelDto
.
setNextExecuteUser
(
workflowResultDto
.
getNextExecutorRoleIds
());
commonService
.
buildTaskModel
(
Collections
.
singletonList
(
taskModelDto
));
}
// 更新下一步执行人
updateExecuteIds
(
instanceId
,
id
,
operate
);
}
else
{
jgEnableDisable
.
setPromoter
(
""
);
jgEnableDisable
.
setAuditStatus
(
String
.
valueOf
(
FlowStatusEnum
.
REJECTED
.
getName
()));
jgEnableDisable
.
setNextExecutorIds
(
workflowResultDto
.
getNextExecutorRoleIds
());
// 上个代办改为已办
HashMap
<
String
,
Object
>
taskMap
=
new
HashMap
<>();
taskMap
.
put
(
"taskStatus"
,
FlowStatusEnum
.
REJECTED
.
getCode
());
taskMap
.
put
(
"taskStatusLabel"
,
FlowStatusEnum
.
REJECTED
.
getName
());
taskMap
.
put
(
"relationId"
,
jgEnableDisable
.
getInstanceId
());
taskMap
.
put
(
"flowStatus"
,
FlowStatusEnum
.
REJECTED
.
getCode
());
taskMap
.
put
(
"flowStatusLabel"
,
FlowStatusEnum
.
REJECTED
.
getName
());
taskV2Model
=
commonService
.
updateTaskModel
(
taskMap
);
TaskModelDto
taskModelDto
=
new
TaskModelDto
();
BeanUtils
.
copyProperties
(
taskV2Model
,
taskModelDto
);
// 创建新的代办
taskModelDto
.
setModel
(
jgEnableDisable
);
taskModelDto
.
setTaskName
(
workflowResultDto
.
getNextTaskName
());
taskModelDto
.
setExecuteUserIds
(
workflowResultDto
.
getNextExecutorUserIds
());
taskModelDto
.
setFlowStatus
(
FlowStatusEnum
.
REJECTED
.
getCode
());
taskModelDto
.
setFlowStatusLabel
(
FlowStatusEnum
.
REJECTED
.
getName
());
taskModelDto
.
setFlowCode
(
workflowResultDto
.
getNextTaskId
());
taskModelDto
.
setNextExecuteUser
(
workflowResultDto
.
getNextExecutorRoleIds
());
commonService
.
buildTaskModel
(
Collections
.
singletonList
(
taskModelDto
));
}
jgEnableDisable
.
setNextTaskId
(
workflowResultDto
.
getNextTaskId
());
this
.
baseMapper
.
updateById
(
jgEnableDisable
);
}
/**
* 执行工作流并返回组装好的工作流信息
* @param op 是否通过
* @param opinion 备注信息
* @param jgEnableDisable 业务信息
* @return 返回组装好的工作流信息
*/
private
WorkflowResultDto
getWorkflowResultDto
(
String
op
,
String
opinion
,
JgEnableDisable
jgEnableDisable
)
{
ProcessTaskDTO
processTaskDTO
=
new
ProcessTaskDTO
();
WorkflowResultDto
workflowResultDto
=
new
WorkflowResultDto
();
// 只调用执行API,返回下个节点信息,用于填充业务字段
//组装信息
TaskResultDTO
workDto
=
new
TaskResultDTO
();
workDto
.
setResultCode
(
"approvalStatus"
);
workDto
.
setTaskId
(
jgEnableDisable
.
getNextTaskId
());
HashMap
<
String
,
Object
>
commMap
=
new
HashMap
<>();
if
(
jgEnableDisable
.
getAuditStatus
().
equals
(
"已驳回"
)
||
jgEnableDisable
.
getAuditStatus
().
equals
(
"已撤回"
))
{
commMap
.
put
(
"approvalStatus"
,
"提交"
);
}
else
{
commMap
.
put
(
"approvalStatus"
,
op
);
}
workDto
.
setVariable
(
commMap
);
workDto
.
setComment
(
opinion
);
processTaskDTO
=
iCmWorkflowService
.
complete
(
jgEnableDisable
.
getNextTaskId
(),
workDto
);
// 提取节点等信息
workflowResultDto
=
commonService
.
buildWorkFlowInfo
(
Collections
.
singletonList
(
processTaskDTO
)).
get
(
0
);
return
workflowResultDto
;
}
public
void
withdraw
(
String
instanceId
)
{
JgEnableDisable
jgEnableDisable
=
this
.
baseMapper
.
selectOne
(
new
QueryWrapper
<
JgEnableDisable
>().
lambda
().
eq
(
JgEnableDisable:
:
getInstanceId
,
instanceId
));
ProcessTaskDTO
processTaskDTO
=
iCmWorkflowService
.
rollBack
(
instanceId
);
...
...
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