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
25017c51
Commit
25017c51
authored
Dec 14, 2023
by
yangyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat(jyjc):新增工作流启动流程
parent
2bab2a51
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
88 additions
and
15 deletions
+88
-15
CommonConstants.java
...oin/amos/boot/module/jyjc/api/common/CommonConstants.java
+18
-0
JyjcOpeningApplicationServiceImpl.java
...c/biz/service/impl/JyjcOpeningApplicationServiceImpl.java
+70
-15
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/common/CommonConstants.java
0 → 100644
View file @
25017c51
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jyjc
.
api
.
common
;
/**
* 常量
* <p>
* ProjectName: amos-boot-biz
* PackageName: com.yeejoin.amos.boot.module.jyjc.api.common
*
* @author yangyang
* @version v1.0
* @date 2023/12/13 22:36
*/
public
class
CommonConstants
{
public
static
final
String
OPEN_APPLICATION_SEQ_KEY
=
"OPEN_APPLICATION_SEQ"
;
public
static
final
String
APPLICATION_SEQ_PREFIX
=
"JY"
;
}
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 @
25017c51
...
@@ -5,6 +5,8 @@ import com.alibaba.fastjson.JSON;
...
@@ -5,6 +5,8 @@ import com.alibaba.fastjson.JSON;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.yeejoin.amos.boot.biz.common.bo.CompanyBo
;
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.bo.ReginParams
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisUtils
;
import
com.yeejoin.amos.boot.module.jyjc.api.common.CommonConstants
;
import
com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcOpeningApplication
;
import
com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcOpeningApplication
;
import
com.yeejoin.amos.boot.module.jyjc.api.mapper.JyjcBaseMapper
;
import
com.yeejoin.amos.boot.module.jyjc.api.mapper.JyjcBaseMapper
;
import
com.yeejoin.amos.boot.module.jyjc.api.mapper.JyjcOpeningApplicationMapper
;
import
com.yeejoin.amos.boot.module.jyjc.api.mapper.JyjcOpeningApplicationMapper
;
...
@@ -33,12 +35,14 @@ import org.springframework.stereotype.Service;
...
@@ -33,12 +35,14 @@ import org.springframework.stereotype.Service;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.text.SimpleDateFormat
;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
/**
/**
* 服务实现类
* 服务实现类
*
*
...
@@ -55,13 +59,16 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
...
@@ -55,13 +59,16 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
@Autowired
@Autowired
JyjcOpeningApplicationMapper
jyjcOpeningApplicationMapper
;
JyjcOpeningApplicationMapper
jyjcOpeningApplicationMapper
;
@Resource
(
type
=
JyjcBaseMapper
.
class
)
@Resource
(
type
=
JyjcBaseMapper
.
class
)
private
JyjcBaseMapper
baseMapper
;
private
JyjcBaseMapper
baseMapper
;
@Value
(
"${process-definition-key.jyjc.openapplication:}"
)
@Value
(
"${process-definition-key.jyjc.openapplication:}"
)
private
String
processDefinitionKey
;
private
String
processDefinitionKey
;
@Transactional
(
rollbackFor
=
{
Exception
.
class
,
CommonException
.
class
})
@Autowired
private
RedisUtils
redisUtils
;
@Transactional
(
rollbackFor
=
{
Exception
.
class
,
CommonException
.
class
})
public
JyjcOpeningApplicationDto
saveModel
(
JyjcOpeningApplicationDto
model
)
{
public
JyjcOpeningApplicationDto
saveModel
(
JyjcOpeningApplicationDto
model
)
{
// 开启工作流 startProcess
// 开启工作流 startProcess
try
{
try
{
...
@@ -70,11 +77,16 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
...
@@ -70,11 +77,16 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
dto
.
setBusinessKey
(
"1"
);
dto
.
setBusinessKey
(
"1"
);
AjaxResult
ajaxResult
=
Workflow
.
taskClient
.
startByVariable
(
dto
);
AjaxResult
ajaxResult
=
Workflow
.
taskClient
.
startByVariable
(
dto
);
if
(
log
.
isDebugEnabled
())
{
if
(
log
.
isDebugEnabled
())
{
log
.
debug
(
"
工作流开始
结果:{}"
,
ajaxResult
);
log
.
debug
(
"
开启工作流
结果:{}"
,
ajaxResult
);
}
}
String
instanceId
=
((
Map
)
ajaxResult
.
get
(
"data"
)).
get
(
"id"
).
toString
();
if
(
ajaxResult
==
null
||
(
ajaxResult
.
get
(
AjaxResult
.
CODE_TAG
)
!=
null
&&
!
"200"
.
equals
(
ajaxResult
.
get
(
AjaxResult
.
CODE_TAG
).
toString
())))
{
JSONObject
dataObject
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
ajaxResult
.
get
(
"data"
)));
throw
new
BaseException
(
"开启工作流错误"
);
}
String
instanceId
=
((
Map
)
ajaxResult
.
get
(
"data"
)).
get
(
"id"
).
toString
();
// JSONObject dataObject = JSON.parseObject(JSON.toJSONString(ajaxResult.get("data")));
// model.setWorkflowRole();
// model.setWorkflowRole();
JSONObject
dataObject
=
getTask
(
instanceId
);
model
.
setApplicationSeq
(
buildApplicationSeq
());
model
.
setStatus
(!
ValidationUtil
.
isEmpty
(
dataObject
)
&&
!
ValidationUtil
.
isEmpty
(
dataObject
.
get
(
"name"
))
?
String
.
valueOf
(
dataObject
.
get
(
"name"
))
:
""
);
model
.
setStatus
(!
ValidationUtil
.
isEmpty
(
dataObject
)
&&
!
ValidationUtil
.
isEmpty
(
dataObject
.
get
(
"name"
))
?
String
.
valueOf
(
dataObject
.
get
(
"name"
))
:
""
);
model
.
setWorkflowProstanceId
(
instanceId
);
model
.
setWorkflowProstanceId
(
instanceId
);
return
this
.
createWithModel
(
model
);
return
this
.
createWithModel
(
model
);
...
@@ -84,6 +96,19 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
...
@@ -84,6 +96,19 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
}
}
}
}
public
JSONObject
getTask
(
String
instanceId
)
{
try
{
AjaxResult
ajaxResult
=
Workflow
.
taskClient
.
getTask
(
instanceId
);
JSONObject
dataObject
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
ajaxResult
.
get
(
"data"
)));
log
.
info
(
"getTask: dataObject={}"
,
dataObject
);
return
dataObject
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
null
;
}
/**
/**
* 分页查询
* 分页查询
*/
*/
...
@@ -100,7 +125,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
...
@@ -100,7 +125,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
}
}
public
Page
<
JyjcOpeningApplicationDto
>
queryForJyjcOpeningApplicationPage
(
Page
<
JyjcOpeningApplication
>
page
,
JyjcOpeningApplicationDto
jyjcOpeningApplicationDto
)
{
public
Page
<
JyjcOpeningApplicationDto
>
queryForJyjcOpeningApplicationPage
(
Page
<
JyjcOpeningApplication
>
page
,
JyjcOpeningApplicationDto
jyjcOpeningApplicationDto
)
{
//根据申请单中的单位信息对于列表数据进行过滤
//
根据申请单中的单位信息对于列表数据进行过滤
CompanyBo
companyBo
=
commonserviceImpl
.
getReginParamsOfCurrentUser
().
getCompany
();
CompanyBo
companyBo
=
commonserviceImpl
.
getReginParamsOfCurrentUser
().
getCompany
();
if
(
companyBo
.
getLevel
().
equals
(
"company"
))
{
if
(
companyBo
.
getLevel
().
equals
(
"company"
))
{
jyjcOpeningApplicationDto
.
setUnitCode
(
companyBo
.
getCompanyCode
());
jyjcOpeningApplicationDto
.
setUnitCode
(
companyBo
.
getCompanyCode
());
...
@@ -132,8 +157,8 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
...
@@ -132,8 +157,8 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
TzBaseEnterpriseInfoDto
baseEnterpriseInfoDto
=
baseMapper
.
selectEnterpriseInfo
(
unitCode
);
TzBaseEnterpriseInfoDto
baseEnterpriseInfoDto
=
baseMapper
.
selectEnterpriseInfo
(
unitCode
);
// 获取企业资质
// 获取企业资质
List
<
TzBaseUnitLicenceDto
>
baseUnitLicences
=
baseMapper
.
selectBaseUnitLicenceList
(
MapBuilder
.<
String
,
Object
>
create
()
List
<
TzBaseUnitLicenceDto
>
baseUnitLicences
=
baseMapper
.
selectBaseUnitLicenceList
(
MapBuilder
.<
String
,
Object
>
create
()
.
put
(
"unitCode"
,
unitCode
)
.
put
(
"unitCode"
,
unitCode
)
.
put
(
"licenceType"
,
LicenceTypeEnum
.
JYJC
.
getCode
()).
build
());
.
put
(
"licenceType"
,
LicenceTypeEnum
.
JYJC
.
getCode
()).
build
());
// 获取检验人员信息
// 获取检验人员信息
List
<
TzsUserInfoDto
>
userInfos
=
baseMapper
.
selectUserInfoByUnitCodeList
(
unitCode
);
List
<
TzsUserInfoDto
>
userInfos
=
baseMapper
.
selectUserInfoByUnitCodeList
(
unitCode
);
if
(
baseEnterpriseInfoDto
!=
null
)
{
if
(
baseEnterpriseInfoDto
!=
null
)
{
...
@@ -151,18 +176,18 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
...
@@ -151,18 +176,18 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
/**
/**
* 接收/驳回通知检验单
* 接收/驳回通知检验单
*/
*/
public
void
execueFlow
(
String
op
,
String
instanceId
)
{
public
void
execueFlow
(
String
op
,
String
instanceId
)
{
try
{
try
{
AjaxResult
ajaxResult
=
Workflow
.
taskClient
.
getTask
(
instanceId
);
AjaxResult
ajaxResult
=
Workflow
.
taskClient
.
getTask
(
instanceId
);
JSONObject
dataObject
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
ajaxResult
.
get
(
"data"
)));
JSONObject
dataObject
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
ajaxResult
.
get
(
"data"
)));
String
taskId
=
dataObject
.
getString
(
"id"
);
String
taskId
=
dataObject
.
getString
(
"id"
);
//组装信息
//
组装信息
TaskResultDTO
dto
=
new
TaskResultDTO
();
TaskResultDTO
dto
=
new
TaskResultDTO
();
dto
.
setResult
(
op
);
dto
.
setResult
(
op
);
dto
.
setResultCode
(
"condition"
);
dto
.
setResultCode
(
"condition"
);
dto
.
setTaskId
(
taskId
);
dto
.
setTaskId
(
taskId
);
dto
.
setComment
(
"流程结束,你可以开始办理业务了"
);
dto
.
setComment
(
"流程结束,你可以开始办理业务了"
);
//执行流程
//
执行流程
AjaxResult
ajaxResult1
=
Workflow
.
taskClient
.
completeByTask
(
taskId
,
dto
);
AjaxResult
ajaxResult1
=
Workflow
.
taskClient
.
completeByTask
(
taskId
,
dto
);
if
(
ObjectUtils
.
isEmpty
(
ajaxResult1
))
{
if
(
ObjectUtils
.
isEmpty
(
ajaxResult1
))
{
...
@@ -176,12 +201,12 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
...
@@ -176,12 +201,12 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
/**
/**
* 撤回流程办理单
* 撤回流程办理单
*/
*/
public
void
stopFlow
(
String
instanceId
)
{
public
void
stopFlow
(
String
instanceId
)
{
try
{
try
{
AjaxResult
ajaxResult
=
Workflow
.
taskClient
.
getTask
(
instanceId
);
AjaxResult
ajaxResult
=
Workflow
.
taskClient
.
getTask
(
instanceId
);
JSONObject
dataObject
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
ajaxResult
.
get
(
"data"
)));
JSONObject
dataObject
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
ajaxResult
.
get
(
"data"
)));
String
taskId
=
dataObject
.
getString
(
"id"
);
String
taskId
=
dataObject
.
getString
(
"id"
);
//执行流程
//
执行流程
AjaxResult
ajaxResult1
=
Workflow
.
taskClient
.
stopProcess
(
taskId
);
AjaxResult
ajaxResult1
=
Workflow
.
taskClient
.
stopProcess
(
taskId
);
if
(
ObjectUtils
.
isEmpty
(
ajaxResult1
))
{
if
(
ObjectUtils
.
isEmpty
(
ajaxResult1
))
{
...
@@ -192,4 +217,33 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
...
@@ -192,4 +217,33 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
}
}
}
}
/**
* JY+年(4位)+月(2位)+日(2位)+序列号(3位
*
* @param
* @return {@link java.lang.String}
* @throws
* @author yangyang
* @date 2023/12/13 22:30
*/
private
String
buildApplicationSeq
()
{
String
sdf
=
new
SimpleDateFormat
(
"yyyyMMdd"
).
format
(
new
Date
());
long
increment
=
redisUtils
.
incr
(
CommonConstants
.
OPEN_APPLICATION_SEQ_KEY
,
1
);
if
(
increment
==
0
)
{
redisUtils
.
expire
(
CommonConstants
.
OPEN_APPLICATION_SEQ_KEY
,
nextDay
());
}
return
CommonConstants
.
APPLICATION_SEQ_PREFIX
+
sdf
+
String
.
format
(
"%05d"
,
increment
);
}
private
long
nextDay
()
{
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
set
(
Calendar
.
HOUR_OF_DAY
,
0
);
calendar
.
set
(
Calendar
.
MINUTE
,
0
);
calendar
.
set
(
Calendar
.
SECOND
,
0
);
calendar
.
set
(
Calendar
.
MILLISECOND
,
0
);
calendar
.
add
(
Calendar
.
DAY_OF_MONTH
,
1
);
return
(
calendar
.
getTimeInMillis
()
-
System
.
currentTimeMillis
())
/
1000
;
}
}
}
\ 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