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
9f60bf53
Commit
9f60bf53
authored
Oct 18, 2022
by
zhangyingbin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
流程优化
parent
7c19f26c
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
219 additions
and
17 deletions
+219
-17
ProBlemProcessEnum.java
...oin/amos/boot/module/ugp/api/Enum/ProBlemProcessEnum.java
+35
-0
ProblemTypeEnum.java
...eejoin/amos/boot/module/ugp/api/Enum/ProblemTypeEnum.java
+26
-0
ProblemInitiationServiceImpl.java
...le/ugp/biz/service/impl/ProblemInitiationServiceImpl.java
+114
-3
QualityProblemServiceImpl.java
...odule/ugp/biz/service/impl/QualityProblemServiceImpl.java
+44
-14
No files found.
amos-boot-system-ugp/amos-boot-module-ugp-api/src/main/java/com/yeejoin/amos/boot/module/ugp/api/Enum/ProBlemProcessEnum.java
0 → 100644
View file @
9f60bf53
package
com
.
yeejoin
.
amos
.
boot
.
module
.
ugp
.
api
.
Enum
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
java.util.HashMap
;
import
java.util.Map
;
@Getter
@AllArgsConstructor
public
enum
ProBlemProcessEnum
{
流程开始
(
"流程开始"
,
"1"
),
确定问题
(
"确定问题"
,
"2"
),
重大问题发送短信
(
"重大问题发送短信"
,
"3"
),
编制处理方案
(
"编制处理方案"
,
"4"
),
审查处理方案
(
"审查处理方案"
,
"5"
),
限期整改
(
"限期整改"
,
"6"
),
提交整改书
(
"提交整改书"
,
"7"
),
审查整改过程
(
"审查整改过程"
,
"8"
),
超期整改发送短信
(
"超期整改发送短信"
,
"9"
),
问题分类
(
"问题分类"
,
"10"
),
转人工
(
"转人工"
,
"11"
),
结束
(
"结束"
,
"12"
);
private
String
Name
;
private
String
Code
;
public
static
Map
<
String
,
String
>
map
=
new
HashMap
<>();
static
{
for
(
ProBlemProcessEnum
proBlemProcessEnum
:
ProBlemProcessEnum
.
values
())
{
map
.
put
(
proBlemProcessEnum
.
getCode
(),
proBlemProcessEnum
.
getName
());
}
}
}
amos-boot-system-ugp/amos-boot-module-ugp-api/src/main/java/com/yeejoin/amos/boot/module/ugp/api/Enum/ProblemTypeEnum.java
0 → 100644
View file @
9f60bf53
package
com
.
yeejoin
.
amos
.
boot
.
module
.
ugp
.
api
.
Enum
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
java.util.HashMap
;
import
java.util.Map
;
@Getter
@AllArgsConstructor
public
enum
ProblemTypeEnum
{
一般问题
(
"一般问题"
,
"1"
),
重大问题
(
"重大问题"
,
"2"
),
存在问题
(
"存在问题"
,
"1"
),
不存在问题
(
"不存在问题"
,
"0"
);
private
String
name
;
private
String
code
;
public
static
Map
<
String
,
String
>
map
=
new
HashMap
<>();
static
{
for
(
ProBlemProcessEnum
proBlemProcessEnum
:
ProBlemProcessEnum
.
values
())
{
map
.
put
(
proBlemProcessEnum
.
getCode
(),
proBlemProcessEnum
.
getName
());
}
}
}
amos-boot-system-ugp/amos-boot-module-ugp-biz/src/main/java/com/yeejoin/amos/boot/module/ugp/biz/service/impl/ProblemInitiationServiceImpl.java
View file @
9f60bf53
package
com
.
yeejoin
.
amos
.
boot
.
module
.
ugp
.
biz
.
service
.
impl
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
ugp
.
biz
.
service
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.yeejoin.amos.boot.biz.common.workflow.feign.WorkflowFeignService
;
import
com.yeejoin.amos.boot.module.common.api.entity.OrgUsr
;
import
com.yeejoin.amos.boot.module.common.api.entity.OrgUsr
;
import
com.yeejoin.amos.boot.module.common.biz.service.impl.OrgUsrServiceImpl
;
import
com.yeejoin.amos.boot.module.common.biz.service.impl.OrgUsrServiceImpl
;
import
com.yeejoin.amos.boot.module.ugp.api.
entity.InstallNoticeMsg
;
import
com.yeejoin.amos.boot.module.ugp.api.
Enum.ProBlemProcessEnum
;
import
com.yeejoin.amos.boot.module.ugp.api.
entity.RectifyMsg
;
import
com.yeejoin.amos.boot.module.ugp.api.
Enum.ProjectInitiationEnum
;
import
com.yeejoin.amos.boot.module.ugp.api.entity.
SuperviseRule
;
import
com.yeejoin.amos.boot.module.ugp.api.entity.
*
;
import
com.yeejoin.amos.feign.privilege.Privilege
;
import
com.yeejoin.amos.feign.privilege.Privilege
;
import
com.yeejoin.amos.feign.privilege.model.AgencyUserModel
;
import
com.yeejoin.amos.feign.privilege.model.AgencyUserModel
;
import
com.yeejoin.amos.feign.systemctl.Systemctl
;
import
com.yeejoin.amos.feign.systemctl.Systemctl
;
import
com.yeejoin.amos.feign.systemctl.model.SmsRecordModel
;
import
com.yeejoin.amos.feign.systemctl.model.SmsRecordModel
;
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
io.swagger.annotations.ApiModelProperty
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.parsing.Problem
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* @author Dell
* @author Dell
...
@@ -27,6 +37,9 @@ import java.util.List;
...
@@ -27,6 +37,9 @@ import java.util.List;
public
class
ProblemInitiationServiceImpl
{
public
class
ProblemInitiationServiceImpl
{
@Autowired
@Autowired
WorkflowFeignService
workflowFeignService
;
@Autowired
ProjectServiceImpl
projectServiceImpl
;
ProjectServiceImpl
projectServiceImpl
;
@Autowired
@Autowired
...
@@ -38,8 +51,98 @@ public class ProblemInitiationServiceImpl {
...
@@ -38,8 +51,98 @@ public class ProblemInitiationServiceImpl {
@Autowired
@Autowired
OrgUsrServiceImpl
orgUsrServiceImpl
;
OrgUsrServiceImpl
orgUsrServiceImpl
;
@Autowired
ProjectInitiationServiceImpl
projectInitiationService
;
@Autowired
QualityProblemServiceImpl
qualityProblemService
;
private
static
String
SMSCODE
=
"SMS_UGP_0002"
;
private
static
String
SMSCODE
=
"SMS_UGP_0002"
;
@Value
(
"${params.work.flow.problemDefinitionKey}"
)
private
String
problemDefinitionKey
;
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
String
start
()
{
String
instanceId
=
null
;
//启动流程
try
{
ActWorkflowStartDTO
dto
=
new
ActWorkflowStartDTO
();
dto
.
setProcessDefinitionKey
(
problemDefinitionKey
);
dto
.
setBusinessKey
(
"1"
);
AjaxResult
ajaxResult
=
Workflow
.
taskClient
.
startByVariable
(
dto
);
instanceId
=
((
Map
)
ajaxResult
.
get
(
"data"
)).
get
(
"id"
).
toString
();
ProjectInitiation
projectInitiation
=
new
ProjectInitiation
();
projectInitiation
.
setInstanceId
(
instanceId
);
projectInitiation
.
setTaskName
(
"流程启动!"
);
projectInitiationService
.
save
(
projectInitiation
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
System
.
out
.
println
(
"流程启动失败:"
+
e
.
getMessage
());
}
updateProBlemFlowStatus
(
instanceId
);
return
instanceId
;
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
execute
(
String
instanceId
,
Object
objectd
,
String
option
){
JSONObject
object
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
objectd
));
JSONObject
jsonObject
=
workflowFeignService
.
getTask
(
instanceId
);
ProjectInitiation
projectInitiation
=
new
ProjectInitiation
();
projectInitiation
.
setInstanceId
(
instanceId
);
projectInitiation
.
setContext
(
JSON
.
toJSONString
(
objectd
));
JSONObject
dataObject
=
jsonObject
.
getJSONObject
(
"data"
);
projectInitiation
.
setTaskId
(
dataObject
.
getString
(
"id"
));
projectInitiation
.
setTaskName
(
dataObject
.
getString
(
"name"
));
if
(
ProBlemProcessEnum
.
重大问题发送短信
.
getName
().
equals
(
dataObject
.
getString
(
"name"
)))
{
if
(!
ValidationUtil
.
isEmpty
(
objectd
))
{
sendSms
(
object
);
}
}
if
(
ProjectInitiationEnum
.
接受审查意见
.
getName
().
equals
(
dataObject
.
getString
(
"name"
))){
projectInitiation
.
setTaskName
(
dataObject
.
getString
(
"name"
)+
"(流程结束!)"
);
}
if
(
ProjectInitiationEnum
.
告知申请
.
getName
().
equals
(
dataObject
.
getString
(
"name"
)))
{
}
if
(
"监检科室分配"
.
equals
(
dataObject
.
getString
(
"name"
)))
{
}
if
(
"监检员分配"
.
equals
(
dataObject
.
getString
(
"name"
)))
{
}
if
(
"监检员审核"
.
equals
(
dataObject
.
getString
(
"name"
)))
{
}
try
{
//组装信息
TaskResultDTO
dto
=
new
TaskResultDTO
();
dto
.
setResult
(
option
);
dto
.
setResultCode
(
"condition"
);
dto
.
setTaskId
(
projectInitiation
.
getTaskId
());
HashMap
<
String
,
Object
>
var
=
new
HashMap
<>();
var
.
put
(
"condition"
,
option
);
dto
.
setVariable
(
var
);
//执行流程
Workflow
.
taskClient
.
completeByTask
(
projectInitiation
.
getTaskId
(),
dto
);
//保存日志
projectInitiationService
.
save
(
projectInitiation
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
System
.
out
.
println
(
"任务完成失败:"
+
e
.
getMessage
());
}
finally
{
//更新project种的status字段,表示当前流程下一个执行的任务
updateProBlemFlowStatus
(
instanceId
);
}
}
public
void
sendSms
(
JSONObject
object
){
public
void
sendSms
(
JSONObject
object
){
//设置短信发送的基本参数
//设置短信发送的基本参数
HashMap
<
String
,
String
>
smsParams
=
new
HashMap
();
HashMap
<
String
,
String
>
smsParams
=
new
HashMap
();
...
@@ -81,4 +184,12 @@ public class ProblemInitiationServiceImpl {
...
@@ -81,4 +184,12 @@ public class ProblemInitiationServiceImpl {
}
}
return
smsRecordModel
;
return
smsRecordModel
;
}
}
public
void
updateProBlemFlowStatus
(
String
instanceId
){
LambdaQueryWrapper
<
QualityProblem
>
wrapper
=
new
LambdaQueryWrapper
<>();
wrapper
.
eq
(
QualityProblem:
:
getInstanceId
,
instanceId
);
QualityProblem
qualityProblem
=
qualityProblemService
.
getOne
(
wrapper
);
qualityProblem
.
setStatus
(
projectInitiationService
.
getFlowTaskName
(
instanceId
));
qualityProblemService
.
updateById
(
qualityProblem
);
}
}
}
amos-boot-system-ugp/amos-boot-module-ugp-biz/src/main/java/com/yeejoin/amos/boot/module/ugp/biz/service/impl/QualityProblemServiceImpl.java
View file @
9f60bf53
package
com
.
yeejoin
.
amos
.
boot
.
module
.
ugp
.
biz
.
service
.
impl
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
ugp
.
biz
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.yeejoin.amos.boot.module.ugp.api.Enum.ProBlemProcessEnum
;
import
com.yeejoin.amos.boot.module.ugp.api.Enum.ProblemTypeEnum
;
import
com.yeejoin.amos.boot.module.ugp.api.entity.QualityProblem
;
import
com.yeejoin.amos.boot.module.ugp.api.entity.QualityProblem
;
import
com.yeejoin.amos.boot.module.ugp.api.mapper.QualityProblemMapper
;
import
com.yeejoin.amos.boot.module.ugp.api.mapper.QualityProblemMapper
;
import
com.yeejoin.amos.boot.module.ugp.api.service.IQualityProblemService
;
import
com.yeejoin.amos.boot.module.ugp.api.service.IQualityProblemService
;
...
@@ -64,23 +66,51 @@ public class QualityProblemServiceImpl extends BaseService<QualityProblemDto,Qua
...
@@ -64,23 +66,51 @@ public class QualityProblemServiceImpl extends BaseService<QualityProblemDto,Qua
public
String
updateItem
(
QualityProblem
qualityProblem
,
Long
sequenceNbr
){
public
String
updateItem
(
QualityProblem
qualityProblem
,
Long
sequenceNbr
){
QualityProblem
quality
=
this
.
getById
(
sequenceNbr
);
QualityProblem
quality
=
this
.
getById
(
sequenceNbr
);
//监检机构确定问题
if
(
ProBlemProcessEnum
.
确定问题
.
getName
().
equals
(
quality
.
getStatus
()))
{
quality
.
setLevel
(
qualityProblem
.
getLevel
());
//监检机构确定问题
quality
.
setReformLimitDate
(
qualityProblem
.
getReformLimitDate
());
quality
.
setLevel
(
qualityProblem
.
getLevel
());
//编制处理方案
quality
.
setReformLimitDate
(
qualityProblem
.
getReformLimitDate
());
quality
.
setSolution
(
qualityProblem
.
getSolution
());
if
(
ProblemTypeEnum
.
一般问题
.
getCode
().
equals
(
quality
.
getLevel
())){
quality
.
setSolutionDesc
(
qualityProblem
.
getSolutionDesc
());
//流程执行一次
//上传整改书
}
quality
.
setReformDoc
(
qualityProblem
.
getReformDoc
());
if
(
ProblemTypeEnum
.
重大问题
.
getCode
().
equals
(
quality
.
getLevel
())){
quality
.
setReformDesc
(
qualityProblem
.
getReformDesc
());
//流程执行两次
quality
.
setRectifyWithinTime
(
quality
.
getReformLimitDate
().
after
(
new
Date
()));
}
//审核通过
}
if
(
quality
.
getRectifyWithinTime
()){
if
(
ProBlemProcessEnum
.
编制处理方案
.
getName
().
equals
(
quality
.
getStatus
()))
{
quality
.
setReviewStatus
(
qualityProblem
.
getReviewStatus
());
//编制处理方案
}
else
{
quality
.
setSolution
(
qualityProblem
.
getSolution
());
quality
.
setSolutionDesc
(
qualityProblem
.
getSolutionDesc
());
}
if
(
ProBlemProcessEnum
.
提交整改书
.
getName
().
equals
(
quality
.
getStatus
()))
{
//上传整改书
quality
.
setReformDoc
(
qualityProblem
.
getReformDoc
());
quality
.
setReformDesc
(
qualityProblem
.
getReformDesc
());
quality
.
setRectifyWithinTime
(
quality
.
getReformLimitDate
().
after
(
new
Date
()));
//审核通过
if
(
quality
.
getRectifyWithinTime
())
{
quality
.
setReviewStatus
(
qualityProblem
.
getReviewStatus
());
//执行流程 option=1
}
else
{
//执行两次流程 option=2
}
}
if
(
ProBlemProcessEnum
.
问题分类
.
getName
().
equals
(
quality
.
getStatus
()))
{
quality
.
setHandingOpinion
(
qualityProblem
.
getHandingOpinion
());
quality
.
setHandingOpinion
(
qualityProblem
.
getHandingOpinion
());
quality
.
setHandingOpinionDesc
(
qualityProblem
.
getHandingOpinionDesc
());
quality
.
setHandingOpinionDesc
(
qualityProblem
.
getHandingOpinionDesc
());
//执行两次
}
}
if
(
ProBlemProcessEnum
.
审查处理方案
.
getName
().
equals
(
quality
.
getStatus
()))
{
quality
.
setReviewStatus
(
qualityProblem
.
getReviewStatus
());
if
(
ProblemTypeEnum
.
存在问题
.
equals
(
quality
.
getReviewStatus
())){
if
(
ProblemTypeEnum
.
一般问题
.
getName
().
equals
(
quality
.
getLevel
())){
//执行一次
}
else
{
//执行两次
}
}
}
this
.
updateById
(
quality
);
this
.
updateById
(
quality
);
return
"0k"
;
return
"0k"
;
}
}
...
...
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