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
7ddc4463
Commit
7ddc4463
authored
Dec 18, 2023
by
yangyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix(检验业务开通):更新按钮权限 & 数据权限
parent
3454460c
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
79 additions
and
54 deletions
+79
-54
JyjcOpeningApplication.java
...s/boot/module/jyjc/api/entity/JyjcOpeningApplication.java
+6
-0
FlowStatusEnum.java
...ejoin/amos/boot/module/jyjc/api/enums/FlowStatusEnum.java
+2
-16
JyjcOpeningApplicationModel.java
...ot/module/jyjc/api/model/JyjcOpeningApplicationModel.java
+3
-0
JyjcOpeningApplicationMapper.xml
...rc/main/resources/mapper/JyjcOpeningApplicationMapper.xml
+2
-1
JyjcOpeningApplicationController.java
...jyjc/biz/controller/JyjcOpeningApplicationController.java
+2
-1
JyjcOpeningApplicationServiceImpl.java
...c/biz/service/impl/JyjcOpeningApplicationServiceImpl.java
+40
-36
WorkflowHelper.java
...mos/boot/module/jyjc/biz/service/impl/WorkflowHelper.java
+24
-0
No files found.
amos-boot-system-tzs/amos-boot-module-jyjc/amos-boot-module-jyjc-api/src/main/java/com/yeejoin/amos/boot/module/jyjc/api/entity/JyjcOpeningApplication.java
View file @
7ddc4463
...
...
@@ -112,4 +112,10 @@ public class JyjcOpeningApplication extends BaseEntity {
*/
@TableField
(
value
=
"workflow_active_key"
)
private
String
workflowActiveKey
;
/**
* 工作流下一个可执行节点
*/
@TableField
(
"next_execute_ids"
)
private
String
nextExecuteIds
;
}
amos-boot-system-tzs/amos-boot-module-jyjc/amos-boot-module-jyjc-api/src/main/java/com/yeejoin/amos/boot/module/jyjc/api/enums/FlowStatusEnum.java
View file @
7ddc4463
...
...
@@ -14,23 +14,9 @@ public enum FlowStatusEnum {
*/
SUBMITTED
(
6611
,
"已提交"
),
/**
*
待受理
*
已完成
*/
TO_BE_PROCESSED
(
6612
,
"待受理"
),
/**
* 已办理
*/
HAVE_PROCESSED
(
6613
,
"已办理"
),
/**
* 已驳回
*/
REJECTED
(
6614
,
"已驳回"
),
/**
* 已撤回
*/
ROLLBACK
(
6615
,
"已撤回"
);
TO_BE_FINISHED
(
6612
,
"已完成"
);
private
final
int
code
;
...
...
amos-boot-system-tzs/amos-boot-module-jyjc/amos-boot-module-jyjc-api/src/main/java/com/yeejoin/amos/boot/module/jyjc/api/model/JyjcOpeningApplicationModel.java
View file @
7ddc4463
...
...
@@ -73,6 +73,9 @@ public class JyjcOpeningApplicationModel extends BaseModel {
@ApiModelProperty
(
value
=
"工作流节点"
)
private
String
workflowActiveKey
;
@ApiModelProperty
(
value
=
"工作流下一个可执行节点"
)
private
String
nextExecuteIds
;
/* ---------------- -------------- */
@ApiModelProperty
(
value
=
"企业资质信息"
)
List
<
TzBaseUnitLicenceDto
>
baseUnitLicences
;
...
...
amos-boot-system-tzs/amos-boot-module-jyjc/amos-boot-module-jyjc-api/src/main/resources/mapper/JyjcOpeningApplicationMapper.xml
View file @
7ddc4463
...
...
@@ -24,7 +24,8 @@
workflow_role,
unit_code_name,
status_name,
workflow_active_key
workflow_active_key,
next_execute_ids
from tz_jyjc_opening_application
<where>
<if
test=
"jyjcOpeningApplicationRequstDto.applicationSeq != '' and jyjcOpeningApplicationRequstDto.applicationSeq != null"
>
...
...
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 @
7ddc4463
...
...
@@ -80,6 +80,7 @@ public class JyjcOpeningApplicationController extends BaseController {
return
ResponseHelper
.
buildResponse
(
jyjcOpeningApplicationServiceImpl
.
saveOrUpdateModel
(
model
,
true
));
}
@Deprecated
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/startFlow/{sequenceNbr}"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"重新提交开通申请"
,
notes
=
"重新提交开通申请"
)
...
...
@@ -99,7 +100,7 @@ public class JyjcOpeningApplicationController extends BaseController {
@ApiOperation
(
httpMethod
=
"DELETE"
,
value
=
"根据sequenceNbr删除"
,
notes
=
"根据sequenceNbr删除"
)
public
ResponseModel
<
Boolean
>
deleteBySequenceNbr
(
HttpServletRequest
request
,
@PathVariable
(
value
=
"sequenceNbr"
)
Long
sequenceNbr
){
JyjcOpeningApplication
jyjcOpeningApplication
=
jyjcOpeningApplicationServiceImpl
.
getById
(
sequenceNbr
);
List
<
String
>
status
=
Arrays
.
asList
(
String
.
valueOf
(
FlowStatusEnum
.
ROLLBACK
.
getCode
()),
String
.
valueOf
(
FlowStatusEnum
.
REJECTED
.
getCode
()),
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_SUBMITT
ED
.
getCode
()));
List
<
String
>
status
=
Arrays
.
asList
(
String
.
valueOf
(
FlowStatusEnum
.
SUBMITTED
.
getCode
()),
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_FINISH
ED
.
getCode
()));
if
(!
status
.
contains
(
jyjcOpeningApplication
.
getStatus
())){
throw
new
BadRequest
(
"除撤回跟驳回的流程之外其余流程不可删除!"
);
}
...
...
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 @
7ddc4463
...
...
@@ -114,16 +114,16 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
// 未开启过工作流则进行开启 startProcess
instanceId
=
startFlow
(
"1"
);
}
JSONObject
dataObject
=
getTask
(
instanceId
);
JSONArray
executorArray
=
dataObject
.
getJSONObject
(
"nodeInfo"
).
getJSONArray
(
"executor"
);
if
(!
ValidationUtil
.
isEmpty
(
executorArray
))
{
String
roleGroups
=
executorArray
.
stream
().
map
(
json
->
Optional
.
ofNullable
(((
LinkedHashMap
)
json
).
get
(
"groupId"
)).
orElse
(
""
).
toString
()).
collect
(
Collectors
.
joining
(
","
));
model
.
setWorkflowRole
(
roleGroups
);
}
//
JSONObject dataObject = getTask(instanceId);
//
JSONArray executorArray = dataObject.getJSONObject("nodeInfo").getJSONArray("executor");
//
if (!ValidationUtil.isEmpty(executorArray)) {
//
String roleGroups = executorArray.stream().map(json -> Optional.ofNullable(((LinkedHashMap) json).get("groupId")).orElse("").toString()).collect(Collectors.joining(","));
//
model.setWorkflowRole(roleGroups);
//
}
model
.
setStatus
(
FlowStatusEnum
.
SUBMITTED
.
getCode
()
+
""
);
model
.
setStatusName
(
FlowStatusEnum
.
SUBMITTED
.
getName
());
model
.
setApplyTime
(
new
Date
());
model
.
setWorkflowActiveKey
(
dataObject
.
getString
(
"taskDefinitionKey"
));
//
model.setWorkflowActiveKey(dataObject.getString("taskDefinitionKey"));
model
.
setWorkflowProstanceId
(
instanceId
);
// 默认自动执行第一步
execueFlow
(
MapBuilder
.<
String
,
Object
>
create
().
put
(
"op"
,
"0"
).
put
(
"instanceId"
,
instanceId
).
put
(
"comments"
,
""
).
build
());
...
...
@@ -156,19 +156,25 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
return
model
;
}
public
void
updateModelByInstanceId
(
String
instanceId
,
String
status
)
{
public
void
updateModelByInstanceId
(
String
instanceId
,
String
status
,
String
role
)
{
JyjcOpeningApplication
entity
=
this
.
lambdaQuery
().
eq
(
JyjcOpeningApplication:
:
getWorkflowProstanceId
,
instanceId
).
one
();
if
(
entity
==
null
)
{
return
;
}
JSONObject
taskJson
=
getTask
(
instanceId
);
if
(
taskJson
==
null
)
{
log
.
warn
(
"流程=>{}查询不到或已结束"
,
instanceId
);
return
;
// JSONObject taskJson = getTask(instanceId);
// if (taskJson == null) {
// log.warn("流程=>{}查询不到或已结束", instanceId);
// return;
// }
// entity.setWorkflowRole(getWorkflowRoleGroups(taskJson));
// entity.setWorkflowActiveKey(taskJson.getString("taskDefinitionKey"));
entity
.
setNextExecuteIds
(
role
);
if
(!
org
.
springframework
.
util
.
ObjectUtils
.
isEmpty
(
entity
.
getWorkflowRole
()))
{
entity
.
setWorkflowRole
(
entity
.
getWorkflowRole
()
+
","
+
role
);
}
else
{
entity
.
setWorkflowRole
(
role
);
}
entity
.
setWorkflowRole
(
getWorkflowRoleGroups
(
taskJson
));
// entity.setStatus(getWorkflowStatus(taskJson));
entity
.
setWorkflowActiveKey
(
taskJson
.
getString
(
"taskDefinitionKey"
));
entity
.
setStatus
(
status
);
entity
.
setStatusName
(
FlowStatusEnum
.
getNameByType
(
Long
.
parseLong
(
status
)));
this
.
updateById
(
entity
);
...
...
@@ -323,12 +329,13 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
return
((
Map
)
ajaxResult
.
get
(
"data"
)).
get
(
"id"
).
toString
();
}
@Autowired
private
WorkflowHelper
workflowHelper
;
/**
* 接收/驳回通知检验单
*/
public
void
execueFlow
(
Map
<
String
,
Object
>
params
)
{
String
role
=
""
;
String
taskName
=
"流程结束"
;
String
op
=
params
.
get
(
"op"
).
toString
();
String
instanceId
=
params
.
get
(
"instanceId"
).
toString
();
String
comments
=
params
.
get
(
"comments"
).
toString
();
...
...
@@ -348,20 +355,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
//执行流程
AjaxResult
ajaxResult1
=
Workflow
.
taskClient
.
completeByTask
(
taskId
,
dto
);
// 查询下节点任务
JSONObject
taskNoAuth
=
workFlowFeginService
.
getTaskNoAuth
(
instanceId
);
if
(!
org
.
springframework
.
util
.
ObjectUtils
.
isEmpty
(
taskNoAuth
.
get
(
"data"
)))
{
JSONObject
nextTask
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
taskNoAuth
.
get
(
"data"
)));
String
nextTaskId
=
nextTask
.
getString
(
"id"
);
taskName
=
nextTask
.
getString
(
"name"
);
AjaxResult
taskGroupName
=
Workflow
.
taskClient
.
getTaskGroupName
(
nextTaskId
);
JSONArray
data
=
JSON
.
parseArray
(
JSON
.
toJSONString
(
taskGroupName
.
get
(
"data"
)));
for
(
Object
datum
:
data
)
{
if
(((
Map
)
datum
).
containsKey
(
"groupId"
))
{
role
=
((
Map
)
datum
).
get
(
"groupId"
).
toString
();
continue
;
}
}
}
Map
<
String
,
Object
>
nextNodeInfo
=
workflowHelper
.
getNextWorkflowNode
(
instanceId
);
if
(
op
.
equals
(
"0"
))
{
String
originalDataId
=
params
.
get
(
"originalDataId"
).
toString
();
JyjcOpeningApplication
jyjcOpeningApplication
=
jyjcOpeningApplicationMapper
.
selectById
(
originalDataId
);
...
...
@@ -376,14 +370,22 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
}
jyjcOpeningApplicationMapper
.
updateById
(
jyjcOpeningApplication
);
}
updateModelByInstanceId
(
instanceId
,
"0"
.
equals
(
op
)
?
FlowStatusEnum
.
HAVE_PROCESSED
.
getCode
()
+
""
:
FlowStatusEnum
.
REJECTED
.
getCode
()
+
""
);
String
taskName
=
""
;
String
status
;
if
(
"流程结束"
.
equals
(
taskName
))
{
status
=
FlowStatusEnum
.
TO_BE_FINISHED
.
getCode
()
+
""
;
}
else
{
status
=
"1"
.
equals
(
op
)
?
FlowStatusEnum
.
TO_BE_SUBMITTED
.
getCode
()
+
""
:
FlowStatusEnum
.
SUBMITTED
.
getCode
()
+
""
;
}
String
role
=
(
String
)
nextNodeInfo
.
get
(
"role"
);
updateModelByInstanceId
(
instanceId
,
status
,
role
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
/**
* 撤回流程办理单
*/
...
...
@@ -396,7 +398,9 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
if
(
ObjectUtils
.
isEmpty
(
jsonObject
))
{
}
updateModelByInstanceId
(
jyjcOpeningApplication
.
getWorkflowProstanceId
(),
FlowStatusEnum
.
ROLLBACK
.
getCode
()
+
""
);
Map
<
String
,
Object
>
nextNodeInfo
=
workflowHelper
.
getNextWorkflowNode
(
jyjcOpeningApplication
.
getWorkflowProstanceId
());
String
role
=
(
String
)
nextNodeInfo
.
get
(
"role"
);
updateModelByInstanceId
(
jyjcOpeningApplication
.
getWorkflowProstanceId
(),
FlowStatusEnum
.
TO_BE_SUBMITTED
.
getCode
()
+
""
,
role
);
}
catch
(
Exception
e
)
{
throw
new
BadRequest
(
"撤回流程失败,请联系管理员!"
);
}
...
...
@@ -438,7 +442,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
public
Boolean
deleteBatchByIds
(
List
<
Long
>
ids
){
List
<
JyjcOpeningApplication
>
jyjcOpeningApplicationList
=
jyjcOpeningApplicationMapper
.
selectList
(
new
QueryWrapper
<
JyjcOpeningApplication
>()
.
in
(
"sequence_nbr"
));
List
<
String
>
status
=
Arrays
.
asList
(
String
.
valueOf
(
FlowStatusEnum
.
ROLLBACK
.
getCode
()),
String
.
valueOf
(
FlowStatusEnum
.
REJECTED
.
getCode
()),
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_SUBMITT
ED
.
getCode
()));
List
<
String
>
status
=
Arrays
.
asList
(
String
.
valueOf
(
FlowStatusEnum
.
SUBMITTED
.
getCode
()),
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_FINISH
ED
.
getCode
()));
jyjcOpeningApplicationList
=
jyjcOpeningApplicationList
.
stream
().
filter
(
jyjcOpeningApplication
->
status
.
contains
(
jyjcOpeningApplication
.
getStatus
())).
collect
(
Collectors
.
toList
());
if
(
jyjcOpeningApplicationList
.
isEmpty
()){
throw
new
BadRequest
(
"除撤回跟驳回的流程之外其余流程不可删除,请核对数据后重新提交!"
);
...
...
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/WorkflowHelper.java
View file @
7ddc4463
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jyjc
.
biz
.
service
.
impl
;
import
cn.hutool.core.map.MapBuilder
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
...
...
@@ -13,7 +14,9 @@ import org.springframework.stereotype.Component;
import
org.typroject.tyboot.core.foundation.context.RequestContext
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
import
java.util.ArrayList
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
import
java.util.Optional
;
import
java.util.stream.Collectors
;
...
...
@@ -67,4 +70,25 @@ public class WorkflowHelper {
public
JSONObject
rollBack
(
String
workflowProstanceId
)
{
return
workflowFeignClient
.
rollBack
(
workflowProstanceId
);
}
public
Map
<
String
,
Object
>
getNextWorkflowNode
(
String
instanceId
)
{
String
role
=
""
;
String
taskName
=
"流程结束"
;
ArrayList
<
String
>
roleList
=
new
ArrayList
<>();
AjaxResult
taskNoAuth
=
Workflow
.
taskClient
.
getTaskNoAuth
(
instanceId
);
if
(!
org
.
springframework
.
util
.
ObjectUtils
.
isEmpty
(
taskNoAuth
.
get
(
"data"
)))
{
JSONObject
nextTask
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
taskNoAuth
.
get
(
"data"
)));
String
nextTaskId
=
nextTask
.
getString
(
"id"
);
taskName
=
nextTask
.
getString
(
"name"
);
AjaxResult
taskGroupName
=
Workflow
.
taskClient
.
getTaskGroupName
(
nextTaskId
);
JSONArray
data
=
JSON
.
parseArray
(
JSON
.
toJSONString
(
taskGroupName
.
get
(
"data"
)));
for
(
Object
datum
:
data
)
{
if
(((
Map
)
datum
).
containsKey
(
"groupId"
))
{
roleList
.
add
(((
Map
)
datum
).
get
(
"groupId"
).
toString
());
}
}
}
role
=
String
.
join
(
","
,
roleList
);
return
MapBuilder
.<
String
,
Object
>
create
().
put
(
"taskName"
,
taskName
).
put
(
"role"
,
role
).
build
();
}
}
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