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
55341fd3
Commit
55341fd3
authored
May 10, 2024
by
suhuiguang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.检验检测新需求开发
parent
050956d8
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
405 additions
and
504 deletions
+405
-504
JyjcOpeningApplication.java
...s/boot/module/jyjc/api/entity/JyjcOpeningApplication.java
+6
-0
OpenBizTypeEnum.java
...join/amos/boot/module/jyjc/api/enums/OpenBizTypeEnum.java
+25
-0
JyjcOpeningApplicationModel.java
...ot/module/jyjc/api/model/JyjcOpeningApplicationModel.java
+3
-0
JyjcOpeningApplicationMapper.xml
...rc/main/resources/mapper/JyjcOpeningApplicationMapper.xml
+5
-5
JyjcOpeningApplicationController.java
...jyjc/biz/controller/JyjcOpeningApplicationController.java
+203
-234
InspectionOrgRefreshListener.java
...odule/jyjc/biz/listener/InspectionOrgRefreshListener.java
+3
-3
JyjcOpeningApplicationServiceImpl.java
...c/biz/service/impl/JyjcOpeningApplicationServiceImpl.java
+160
-262
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 @
55341fd3
...
...
@@ -141,4 +141,10 @@ public class JyjcOpeningApplication extends BaseEntity {
*/
@TableField
(
value
=
"docking_unit_code"
)
private
String
dockingUnitCode
;
/**
* 开通的业务类型:jc-检测;jy-检验
*/
@TableField
(
value
=
"open_biz_type"
)
private
String
openBizType
;
}
amos-boot-system-tzs/amos-boot-module-jyjc/amos-boot-module-jyjc-api/src/main/java/com/yeejoin/amos/boot/module/jyjc/api/enums/OpenBizTypeEnum.java
0 → 100644
View file @
55341fd3
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jyjc
.
api
.
enums
;
import
lombok.Getter
;
/**
* @author Administrator
*/
@Getter
public
enum
OpenBizTypeEnum
{
/**
* 业务类型
*/
JY
(
"jy"
,
"检验业务"
),
JC
(
"jc"
,
"检测业务"
);
private
String
code
;
private
String
name
;
private
OpenBizTypeEnum
(
String
code
,
String
name
){
this
.
code
=
code
;
this
.
name
=
name
;
}
}
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 @
55341fd3
...
...
@@ -132,4 +132,7 @@ public class JyjcOpeningApplicationModel extends BaseModel {
@ApiModelProperty
(
"对接单位code"
)
private
String
dockingUnitCode
;
@ApiModelProperty
(
"开通的业务类型"
)
private
String
openBizType
;
}
amos-boot-system-tzs/amos-boot-module-jyjc/amos-boot-module-jyjc-api/src/main/resources/mapper/JyjcOpeningApplicationMapper.xml
View file @
55341fd3
...
...
@@ -6,8 +6,9 @@
<select
id=
"selectJyjcOpeningApplicationList"
resultType=
"com.yeejoin.amos.boot.module.jyjc.api.model.JyjcOpeningApplicationModel"
>
select
a.*,cdd2.NAME as status_name
from tz_jyjc_opening_application a
a.*,cdd2.NAME as status_name
from
tz_jyjc_opening_application a
LEFT JOIN cb_data_dictionary cdd2 ON cdd2.code = a.status and cdd2.type = 'JYLCSQ'
<where>
<if
test=
"jyjcOpeningApplicationRequstDto.applicationSeq != '' and jyjcOpeningApplicationRequstDto.applicationSeq != null"
>
...
...
@@ -26,12 +27,11 @@
and a.apply_time
>
=#{applyStartTime}
</if>
<if
test=
"jyjcOpeningApplicationRequstDto.type == 'supervision'"
>
and
a.status not in ('6610'
)
and
(a.status not in ('6610') OR a.transfer_to_user_ids LIKE concat ('%', #{currentUserId}, '%' )
)
</if>
<if
test=
"jyjcOpeningApplicationRequstDto.unitCode != '' and jyjcOpeningApplicationRequstDto.unitCode != null"
>
and
a.unit_code = #{jyjcOpeningApplicationRequstDto.unitCode}
and
(a.unit_code = #{jyjcOpeningApplicationRequstDto.unitCode} OR a.transfer_to_user_ids LIKE concat ( '%', #{currentUserId}, '%' ) )
</if>
OR (a.transfer_to_user_ids LIKE concat ( '%', #{currentUserId}, '%' ) )
</where>
order by sequence_nbr desc
...
...
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 @
55341fd3
...
...
@@ -3,41 +3,37 @@ package com.yeejoin.amos.boot.module.jyjc.biz.controller;
import
cn.hutool.core.bean.BeanUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.toolkit.CollectionUtils
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.biz.common.controller.BaseController
;
import
com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcOpeningApplication
;
import
com.yeejoin.amos.boot.module.jyjc.api.model.JyjcOpeningApplicationModel
;
import
com.yeejoin.amos.boot.module.jyjc.api.model.JyjcOpeningApplicationRequstDto
;
import
com.yeejoin.amos.boot.module.jyjc.biz.config.BaseException
;
import
com.yeejoin.amos.boot.module.jyjc.biz.service.impl.JyjcOpeningApplicationServiceImpl
;
import
com.yeejoin.amos.boot.module.ymt.api.dto.TzBaseEnterpriseInfoDto
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum
;
import
com.yeejoin.amos.feign.privilege.Privilege
;
import
com.yeejoin.amos.feign.privilege.model.AgencyUserModel
;
import
com.yeejoin.amos.feign.privilege.model.RoleModel
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.EnableScheduling
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.Api
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.yeejoin.amos.boot.biz.common.controller.BaseController
;
import
com.yeejoin.amos.boot.module.jyjc.biz.service.impl.JyjcOpeningApplicationServiceImpl
;
import
org.springframework.web.bind.annotation.*
;
import
org.typroject.tyboot.core.foundation.context.RequestContext
;
import
org.typroject.tyboot.core.foundation.enumeration.UserType
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
import
org.typroject.tyboot.core.restful.doc.TycloudOperation
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
import
org.typroject.tyboot.core.restful.utils.ResponseHelper
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
javax.servlet.http.HttpServletRequest
;
import
org.springframework.web.bind.annotation.*
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.module.jyjc.api.model.JyjcOpeningApplicationModel
;
import
org.typroject.tyboot.core.restful.doc.TycloudOperation
;
import
org.typroject.tyboot.core.foundation.enumeration.UserType
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
*
* @author system_generator
* @date 2023-12-13
*/
...
...
@@ -55,64 +51,65 @@ public class JyjcOpeningApplicationController extends BaseController {
*
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/save"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"新增"
,
notes
=
"新增"
)
public
ResponseModel
<
JyjcOpeningApplicationModel
>
save
(
@RequestBody
JSONObject
model
)
{
JyjcOpeningApplicationModel
jyjcOpeningApplicationModel
=
new
JyjcOpeningApplicationModel
();
// 兼容工作台暂存逻辑、编辑时报错逻辑
if
(
model
.
containsKey
(
"applyInfo"
))
{
// 工作台暂存逻辑
BeanUtil
.
copyProperties
(
model
.
get
(
"applyInfo"
),
jyjcOpeningApplicationModel
);
}
else
{
// 详情保存逻辑
BeanUtil
.
copyProperties
(
model
,
jyjcOpeningApplicationModel
);
}
return
ResponseHelper
.
buildResponse
(
jyjcOpeningApplicationServiceImpl
.
saveOrUpdateModel
(
jyjcOpeningApplicationModel
,
false
));
}
/**
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/save"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"新增"
,
notes
=
"新增"
)
public
ResponseModel
<
JyjcOpeningApplicationModel
>
save
(
@RequestBody
JSONObject
model
)
{
JyjcOpeningApplicationModel
jyjcOpeningApplicationModel
=
new
JyjcOpeningApplicationModel
();
// 兼容工作台暂存逻辑、编辑时报错逻辑
if
(
model
.
containsKey
(
"applyInfo"
))
{
// 工作台暂存逻辑
BeanUtil
.
copyProperties
(
model
.
get
(
"applyInfo"
),
jyjcOpeningApplicationModel
);
}
else
{
// 详情保存逻辑
BeanUtil
.
copyProperties
(
model
,
jyjcOpeningApplicationModel
);
}
return
ResponseHelper
.
buildResponse
(
jyjcOpeningApplicationServiceImpl
.
saveOrUpdateModel
(
jyjcOpeningApplicationModel
,
false
));
}
/**
* 根据sequenceNbr更新
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PutMapping
(
value
=
"/{sequenceNbr}"
)
@ApiOperation
(
httpMethod
=
"PUT"
,
value
=
"更新"
,
notes
=
"更新"
)
public
ResponseModel
<
JyjcOpeningApplicationModel
>
updateBySequenceNbrJyjcOpeningApplication
(
@RequestBody
JyjcOpeningApplicationModel
model
,
@PathVariable
(
value
=
"sequenceNbr"
)
Long
sequenceNbr
)
{
model
.
setSequenceNbr
(
sequenceNbr
);
return
ResponseHelper
.
buildResponse
(
jyjcOpeningApplicationServiceImpl
.
saveOrUpdateModel
(
model
,
false
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PutMapping
(
value
=
"/{sequenceNbr}"
)
@ApiOperation
(
httpMethod
=
"PUT"
,
value
=
"更新"
,
notes
=
"更新"
)
public
ResponseModel
<
JyjcOpeningApplicationModel
>
updateBySequenceNbrJyjcOpeningApplication
(
@RequestBody
JyjcOpeningApplicationModel
model
,
@PathVariable
(
value
=
"sequenceNbr"
)
Long
sequenceNbr
)
{
model
.
setSequenceNbr
(
sequenceNbr
);
return
ResponseHelper
.
buildResponse
(
jyjcOpeningApplicationServiceImpl
.
saveOrUpdateModel
(
model
,
false
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PutMapping
(
value
=
"/submit"
)
@ApiOperation
(
httpMethod
=
"PUT"
,
value
=
"保存并提交"
,
notes
=
"保存并提交"
)
public
ResponseModel
<
List
<
JyjcOpeningApplicationModel
>>
updateBySequenceNbrAndStartFlow
(
@RequestBody
JSONObject
jsonObject
,
@RequestParam
(
value
=
"sequenceNbr"
,
required
=
false
)
Long
sequenceNbr
)
{
JyjcOpeningApplicationModel
model
=
new
JyjcOpeningApplicationModel
();
if
(
jsonObject
.
containsKey
(
"applyInfo"
))
{
BeanUtil
.
copyProperties
(
jsonObject
.
get
(
"applyInfo"
),
model
);
}
else
{
BeanUtil
.
copyProperties
(
jsonObject
,
model
);
}
model
.
setSequenceNbr
(
sequenceNbr
);
if
(
sequenceNbr
!=
null
)
{
JyjcOpeningApplicationModel
jyjcOpeningApplicationModel
=
jyjcOpeningApplicationServiceImpl
.
queryDetail
(
sequenceNbr
);
if
(
jyjcOpeningApplicationModel
==
null
||
ValidationUtil
.
isEmpty
(
jyjcOpeningApplicationModel
.
getBaseUnitLicences
())
||
ValidationUtil
.
isEmpty
(
jyjcOpeningApplicationModel
.
getUserInfos
()))
{
throw
new
BadRequest
(
"企业资质信息和检验人员信息为空,无法提交!"
);
}
}
JyjcOpeningApplicationModel
data
=
jyjcOpeningApplicationServiceImpl
.
saveOrUpdateModel
(
model
,
true
);
return
ResponseHelper
.
buildResponse
(
Collections
.
singletonList
(
data
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PutMapping
(
value
=
"/submit"
)
@ApiOperation
(
httpMethod
=
"PUT"
,
value
=
"保存并提交"
,
notes
=
"保存并提交"
)
public
ResponseModel
<
List
<
JyjcOpeningApplicationModel
>>
updateBySequenceNbrAndStartFlow
(
@RequestBody
JSONObject
jsonObject
,
@RequestParam
(
value
=
"sequenceNbr"
,
required
=
false
)
Long
sequenceNbr
)
{
JyjcOpeningApplicationModel
model
=
new
JyjcOpeningApplicationModel
();
if
(
jsonObject
.
containsKey
(
"applyInfo"
))
{
BeanUtil
.
copyProperties
(
jsonObject
.
get
(
"applyInfo"
),
model
);
}
else
{
BeanUtil
.
copyProperties
(
jsonObject
,
model
);
}
model
.
setSequenceNbr
(
sequenceNbr
);
if
(
sequenceNbr
!=
null
)
{
JyjcOpeningApplicationModel
jyjcOpeningApplicationModel
=
jyjcOpeningApplicationServiceImpl
.
queryDetail
(
sequenceNbr
);
if
(
jyjcOpeningApplicationModel
==
null
||
ValidationUtil
.
isEmpty
(
jyjcOpeningApplicationModel
.
getBaseUnitLicences
())
||
ValidationUtil
.
isEmpty
(
jyjcOpeningApplicationModel
.
getUserInfos
()))
{
throw
new
BadRequest
(
"企业资质信息和检验人员信息为空,无法提交!"
);
}
}
JyjcOpeningApplicationModel
data
=
jyjcOpeningApplicationServiceImpl
.
saveOrUpdateModel
(
model
,
true
);
return
ResponseHelper
.
buildResponse
(
Collections
.
singletonList
(
data
));
}
@Deprecated
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/startFlow/{sequenceNbr}"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"重新提交开通申请"
,
notes
=
"重新提交开通申请"
)
public
ResponseModel
<
JyjcOpeningApplicationModel
>
resubmitJyjcOpeningApplication
(
@RequestBody
JyjcOpeningApplicationModel
model
,
@PathVariable
(
value
=
"sequenceNbr"
)
Long
sequenceNbr
)
{
model
.
setSequenceNbr
(
sequenceNbr
);
return
ResponseHelper
.
buildResponse
(
jyjcOpeningApplicationServiceImpl
.
resubmit
(
model
));
}
@Deprecated
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/startFlow/{sequenceNbr}"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"重新提交开通申请"
,
notes
=
"重新提交开通申请"
)
public
ResponseModel
<
JyjcOpeningApplicationModel
>
resubmitJyjcOpeningApplication
(
@RequestBody
JyjcOpeningApplicationModel
model
,
@PathVariable
(
value
=
"sequenceNbr"
)
Long
sequenceNbr
)
{
model
.
setSequenceNbr
(
sequenceNbr
);
return
ResponseHelper
.
buildResponse
(
jyjcOpeningApplicationServiceImpl
.
resubmit
(
model
));
}
/**
/**
* 根据sequenceNbr删除
*
* @param sequenceNbr 主键
...
...
@@ -121,204 +118,176 @@ public class JyjcOpeningApplicationController extends BaseController {
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@DeleteMapping
(
value
=
"/{sequenceNbr}"
)
@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.TO_BE_PROCESSED.getCode()), String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getCode()));
// if(status.contains(jyjcOpeningApplication.getStatus())) {
// throw new BadRequest("除撤回跟驳回的流程之外其余流程不可删除!");
// }
public
ResponseModel
<
Boolean
>
deleteBySequenceNbr
(
HttpServletRequest
request
,
@PathVariable
(
value
=
"sequenceNbr"
)
Long
sequenceNbr
)
{
return
ResponseHelper
.
buildResponse
(
jyjcOpeningApplicationServiceImpl
.
removeById
(
sequenceNbr
));
}
/**
* 根据sequenceNbr删除
*
* @param sequenceNbrList 主键列表
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@DeleteMapping
(
value
=
"batchDelete"
)
@ApiOperation
(
httpMethod
=
"DELETE"
,
value
=
"根据sequenceNbr删除"
,
notes
=
"根据sequenceNbr删除"
)
public
ResponseModel
<
Boolean
>
deleteBySequenceNbr
(
@RequestParam
(
value
=
"sequenceNbrList"
)
List
<
Long
>
sequenceNbrList
)
{
return
ResponseHelper
.
buildResponse
(
jyjcOpeningApplicationServiceImpl
.
deleteBatchByIds
(
sequenceNbrList
));
}
/**
* 根据sequenceNbr删除
*
* @param sequenceNbrList 主键列表
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@DeleteMapping
(
value
=
"batchDelete"
)
@ApiOperation
(
httpMethod
=
"DELETE"
,
value
=
"根据sequenceNbr删除"
,
notes
=
"根据sequenceNbr删除"
)
public
ResponseModel
<
Boolean
>
deleteBySequenceNbr
(
@RequestParam
(
value
=
"sequenceNbrList"
)
List
<
Long
>
sequenceNbrList
)
{
return
ResponseHelper
.
buildResponse
(
jyjcOpeningApplicationServiceImpl
.
deleteBatchByIds
(
sequenceNbrList
));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr
主键
* @param sequenceNbr
主键
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/detail"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据sequenceNbr查询单个"
,
notes
=
"根据sequenceNbr查询单个"
)
public
ResponseModel
<
JyjcOpeningApplicationModel
>
selectOne
(
@RequestParam
(
value
=
"sequenceNbr"
,
required
=
false
)
Long
sequenceNbr
)
{
return
ResponseHelper
.
buildResponse
(
jyjcOpeningApplicationServiceImpl
.
queryDetail
(
sequenceNbr
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/detail"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据sequenceNbr查询单个"
,
notes
=
"根据sequenceNbr查询单个"
)
public
ResponseModel
<
JyjcOpeningApplicationModel
>
selectOne
(
@RequestParam
(
value
=
"sequenceNbr"
,
required
=
false
)
Long
sequenceNbr
)
{
return
ResponseHelper
.
buildResponse
(
jyjcOpeningApplicationServiceImpl
.
queryDetail
(
sequenceNbr
));
}
/**
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/page"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"分页查询"
,
notes
=
"分页查询"
)
public
ResponseModel
<
Page
<
JyjcOpeningApplicationModel
>>
queryForPage
(
@RequestParam
(
value
=
"current"
)
int
current
,
@RequestParam
(
value
=
"size"
)
int
size
,
@RequestBody
JyjcOpeningApplicationRequstDto
jyjcOpeningApplicationRequstDto
)
{
Page
<
JyjcOpeningApplication
>
page
=
new
Page
<
JyjcOpeningApplication
>();
page
.
setCurrent
(
current
);
page
.
setSize
(
size
);
return
ResponseHelper
.
buildResponse
(
jyjcOpeningApplicationServiceImpl
.
queryForJyjcOpeningApplicationPage
(
page
,
jyjcOpeningApplicationRequstDto
));
}
// /**
// * 列表分页查询
// *
// * @param current 当前页
// * @param current 每页大小
// * @return
// */
// @TycloudOperation(ApiLevel = UserType.AGENCY)
// @GetMapping(value = "/pageForCompany")
// @ApiOperation(httpMethod = "GET",value = "分页查询-公司", notes = "分页查询-公司")
// public ResponseModel<Page<JyjcOpeningApplicationModel>> querypageForCompany(@RequestParam(value = "current") int current, @RequestParam
// (value = "size") int size, JyjcOpeningApplicationRequstDto jyjcOpeningApplicationRequstDto) {
// Page<JyjcOpeningApplication> page = new Page<JyjcOpeningApplication>();
// page.setCurrent(current);
// page.setSize(size);
// return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.querypageForCompany(page,jyjcOpeningApplicationRequstDto));
// }
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/page"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"分页查询"
,
notes
=
"分页查询"
)
public
ResponseModel
<
Page
<
JyjcOpeningApplicationModel
>>
queryForPage
(
@RequestParam
(
value
=
"current"
)
int
current
,
@RequestParam
(
value
=
"size"
)
int
size
,
@RequestBody
JyjcOpeningApplicationRequstDto
jyjcOpeningApplicationRequstDto
)
{
Page
<
JyjcOpeningApplication
>
page
=
new
Page
<
JyjcOpeningApplication
>();
page
.
setCurrent
(
current
);
page
.
setSize
(
size
);
return
ResponseHelper
.
buildResponse
(
jyjcOpeningApplicationServiceImpl
.
queryForJyjcOpeningApplicationPage
(
page
,
jyjcOpeningApplicationRequstDto
));
}
/**
* 列表全部数据查询
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"列表全部数据查询"
,
notes
=
"列表全部数据查询"
)
@GetMapping
(
value
=
"/list"
)
public
ResponseModel
<
List
<
JyjcOpeningApplicationModel
>>
selectForList
()
{
return
ResponseHelper
.
buildResponse
(
jyjcOpeningApplicationServiceImpl
.
queryForJyjcOpeningApplicationList
());
}
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"列表全部数据查询"
,
notes
=
"列表全部数据查询"
)
@GetMapping
(
value
=
"/list"
)
public
ResponseModel
<
List
<
JyjcOpeningApplicationModel
>>
selectForList
()
{
return
ResponseHelper
.
buildResponse
(
jyjcOpeningApplicationServiceImpl
.
queryForJyjcOpeningApplicationList
());
}
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"接收或者驳回业务开通申请"
,
notes
=
"接收或者驳回业务开通申请"
)
@PostMapping
(
value
=
"/execueFlow"
)
public
ResponseModel
<
HashMap
<
String
,
String
>>
execueFlow
(
@RequestBody
Map
<
String
,
Object
>
params
)
{
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"接收或者驳回业务开通申请"
,
notes
=
"接收或者驳回业务开通申请"
)
@PostMapping
(
value
=
"/execueFlow"
)
public
ResponseModel
<
HashMap
<
String
,
String
>>
execueFlow
(
@RequestBody
Map
<
String
,
Object
>
params
)
{
jyjcOpeningApplicationServiceImpl
.
execu
eFlow
(
params
);
HashMap
<
String
,
String
>
result
=
new
HashMap
<>();
result
.
put
(
"result"
,
"success"
);
return
ResponseHelper
.
buildResponse
(
result
);
}
jyjcOpeningApplicationServiceImpl
.
execut
eFlow
(
params
);
HashMap
<
String
,
String
>
result
=
new
HashMap
<>();
result
.
put
(
"result"
,
"success"
);
return
ResponseHelper
.
buildResponse
(
result
);
}
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"撤回业务开通申请"
,
notes
=
"撤回业务开通申请"
)
@GetMapping
(
value
=
"/rollBackFlow"
)
public
ResponseModel
<
Object
>
overflow
(
@RequestParam
(
"sequenceNbr"
)
String
sequenceNbr
)
{
return
ResponseHelper
.
buildResponse
(
jyjcOpeningApplicationServiceImpl
.
stopFlow
(
sequenceNbr
));
}
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"撤回业务开通申请"
,
notes
=
"撤回业务开通申请"
)
@GetMapping
(
value
=
"/rollBackFlow"
)
public
ResponseModel
<
Object
>
overflow
(
@RequestParam
(
"sequenceNbr"
)
String
sequenceNbr
)
{
return
ResponseHelper
.
buildResponse
(
jyjcOpeningApplicationServiceImpl
.
stopFlow
(
sequenceNbr
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/getUserRole"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"获取用户所属组"
,
notes
=
"获取用户所属组"
)
public
ResponseModel
<
List
<
Long
>>
getUserRole
()
{
AgencyUserModel
userModel
=
Privilege
.
agencyUserClient
.
queryByUserId
(
RequestContext
.
getExeUserId
()).
getResult
();
if
(
userModel
==
null
)
{
throw
new
BaseException
(
"请先登陆!"
);
}
List
<
RoleModel
>
roleModels
=
userModel
.
getOrgRoles
()
.
values
().
stream
().
flatMap
(
Collection:
:
stream
).
collect
(
Collectors
.
toList
());
List
<
Long
>
roleIds
=
roleModels
.
stream
().
map
(
RoleModel:
:
getSequenceNbr
).
distinct
().
collect
(
Collectors
.
toList
());
return
ResponseHelper
.
buildResponse
(
roleIds
);
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/getUserRole"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"获取用户所属组"
,
notes
=
"获取用户所属组"
)
public
ResponseModel
<
List
<
Long
>>
getUserRole
()
{
AgencyUserModel
userModel
=
Privilege
.
agencyUserClient
.
queryByUserId
(
RequestContext
.
getExeUserId
()).
getResult
();
if
(
userModel
==
null
)
{
throw
new
BaseException
(
"请先登陆!"
);
}
List
<
RoleModel
>
roleModels
=
userModel
.
getOrgRoles
()
.
values
().
stream
().
flatMap
(
Collection:
:
stream
).
collect
(
Collectors
.
toList
());
List
<
Long
>
roleIds
=
roleModels
.
stream
().
map
(
RoleModel:
:
getSequenceNbr
).
distinct
().
collect
(
Collectors
.
toList
());
return
ResponseHelper
.
buildResponse
(
roleIds
);
}
/**
* 废弃接口, 已替换成公共接口
*
*
* @param
* @return {@link ResponseModel< List< Map< String Object>>>}
* @author yangyang
* @throws
*/
@Deprecated
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"办理状态枚举列表"
,
notes
=
"办理状态枚举列表"
)
@GetMapping
(
value
=
"/flow-status/list"
)
public
ResponseModel
<
List
<
Map
<
String
,
Object
>>>
selectForFlowStatusList
()
{
return
ResponseHelper
.
buildResponse
(
jyjcOpeningApplicationServiceImpl
.
selectForFlowStatusList
());
}
/**
* 废弃接口, 已替换成公共接口
*
* @param
* @return {@link ResponseModel< List< Map< String Object>>>}
* @throws
* @author yangyang
*/
@Deprecated
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"办理状态枚举列表"
,
notes
=
"办理状态枚举列表"
)
@GetMapping
(
value
=
"/flow-status/list"
)
public
ResponseModel
<
List
<
Map
<
String
,
Object
>>>
selectForFlowStatusList
()
{
return
ResponseHelper
.
buildResponse
(
jyjcOpeningApplicationServiceImpl
.
selectForFlowStatusList
());
}
/**
* 查询检验检测机构列表(基本信息及联系人)by 开通机构过滤
*
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/getInspectionUnitList"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"查询检验检测机构列表(基本信息及联系人)"
,
notes
=
"查询检验检测机构列表(基本信息及联系人)by 开通机构过滤"
)
public
ResponseModel
<
List
<
TzBaseEnterpriseInfoDto
>>
getInspectionUnitList
()
{
return
ResponseHelper
.
buildResponse
(
jyjcOpeningApplicationServiceImpl
.
getInspectionUnitList
());
}
/**
* 查询检验检测机构列表(基本信息及联系人)by 开通机构过滤
*
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/getInspectionUnitList"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"查询检验检测机构列表(基本信息及联系人)"
,
notes
=
"查询检验检测机构列表(基本信息及联系人)by 开通机构过滤"
)
public
ResponseModel
<
List
<
TzBaseEnterpriseInfoDto
>>
getInspectionUnitList
()
{
return
ResponseHelper
.
buildResponse
(
jyjcOpeningApplicationServiceImpl
.
getInspectionUnitList
());
}
/**
* 作废
*
*
* @param
* @return {@link ResponseModel< List< TzBaseEnterpriseInfoDto>>}
* @author yangyang
* @throws
* @date 2023/12/22 16:13
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PutMapping
(
value
=
"/discard"
)
@ApiOperation
(
httpMethod
=
"PUT"
,
value
=
"作废"
,
notes
=
"作废"
)
public
ResponseModel
<
Boolean
>
doDiscard
(
@RequestBody
Map
<
String
,
Object
>
params
)
{
String
sequenceNbr
=
(
String
)
params
.
get
(
"sequenceNbr"
);
String
remark
=
(
String
)
params
.
get
(
"remark"
);
return
ResponseHelper
.
buildResponse
(
jyjcOpeningApplicationServiceImpl
.
doDiscard
(
Long
.
parseLong
(
sequenceNbr
),
remark
));
}
/**
* 作废
*
* @param
* @return {@link ResponseModel< List< TzBaseEnterpriseInfoDto>>}
* @throws
* @author yangyang
* @date 2023/12/22 16:13
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PutMapping
(
value
=
"/discard"
)
@ApiOperation
(
httpMethod
=
"PUT"
,
value
=
"作废"
,
notes
=
"作废"
)
public
ResponseModel
<
Boolean
>
doDiscard
(
@RequestBody
Map
<
String
,
Object
>
params
)
{
String
sequenceNbr
=
(
String
)
params
.
get
(
"sequenceNbr"
);
String
remark
=
(
String
)
params
.
get
(
"remark"
);
return
ResponseHelper
.
buildResponse
(
jyjcOpeningApplicationServiceImpl
.
doDiscard
(
Long
.
parseLong
(
sequenceNbr
),
remark
));
}
/**
* 自动作废
*
*
* @param
* @return {@link ResponseModel< List< TzBaseEnterpriseInfo>>}
* @author yangyang
* @throws
* @date 2023/12/22 16:13
*/
@Scheduled
(
cron
=
"0 0 0 * * ?"
)
public
void
timingDiscard
()
{
/**
* 自动作废
*
* @param
* @return {@link ResponseModel< List< TzBaseEnterpriseInfo>>}
* @throws
* @author yangyang
* @date 2023/12/22 16:13
*/
@Scheduled
(
cron
=
"0 0 0 * * ?"
)
public
void
timingDiscard
()
{
List
<
Long
>
longs
=
jyjcOpeningApplicationServiceImpl
.
selectOverdueData
();
List
<
Long
>
longs
=
jyjcOpeningApplicationServiceImpl
.
selectOverdueData
();
if
(
CollectionUtils
.
isNotEmpty
(
longs
))
{
for
(
Long
aLong
:
longs
)
{
String
remark
=
"到期作废"
;
jyjcOpeningApplicationServiceImpl
.
doDiscard
(
aLong
,
remark
);
if
(
CollectionUtils
.
isNotEmpty
(
longs
))
{
for
(
Long
aLong
:
longs
)
{
String
remark
=
"到期作废"
;
jyjcOpeningApplicationServiceImpl
.
doDiscard
(
aLong
,
remark
);
}
}
}
}
}
}
}
amos-boot-system-tzs/amos-boot-module-jyjc/amos-boot-module-jyjc-biz/src/main/java/com/yeejoin/amos/boot/module/jyjc/biz/listener/InspectionOrgRefreshListener.java
View file @
55341fd3
...
...
@@ -71,7 +71,7 @@ public class InspectionOrgRefreshListener extends EmqxListener {
@Value
(
"${spring.application.name}"
)
private
String
applicationName
;
private
static
final
int
REPEAT_TIME
=
2
;
private
static
final
int
repeatTime
=
2
;
@Autowired
RedisUtils
redisUtils
;
...
...
@@ -100,10 +100,10 @@ public class InspectionOrgRefreshListener extends EmqxListener {
BizMessage
bizMessage
=
BLOCKING_QUEUE
.
take
();
// 解决前端组件在属性变化时重复发送两次问题
if
(!
redisUtils
.
hasKey
(
bizMessage
.
getTopic
())){
redisUtils
.
set
(
bizMessage
.
getTopic
(),
true
,
REPEAT_TIME
);
redisUtils
.
set
(
bizMessage
.
getTopic
(),
true
,
repeatTime
);
processBizMessage
(
bizMessage
);
}
else
{
log
.
warn
(
"消息在{}秒内重复,"
,
REPEAT_TIME
);
log
.
warn
(
"消息在{}秒内重复,"
,
repeatTime
);
}
}
catch
(
Exception
e
)
{
log
.
error
(
"数据处理失败"
,
e
);
...
...
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 @
55341fd3
...
...
@@ -2,29 +2,32 @@ package com.yeejoin.amos.boot.module.jyjc.biz.service.impl;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.map.MapBuilder
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
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.controller.BaseController
;
import
com.yeejoin.amos.boot.biz.common.enums.WorkFlowEnum
;
import
com.yeejoin.amos.boot.biz.common.dao.mapper.DataDictionaryMapper
;
import
com.yeejoin.amos.boot.biz.common.entity.BaseEntity
;
import
com.yeejoin.amos.boot.biz.common.entity.DataDictionary
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisKey
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisUtils
;
import
com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto
;
import
com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcOpeningApplication
;
import
com.yeejoin.amos.boot.module.jyjc.api.enums.BizTypeEnum
;
import
com.yeejoin.amos.boot.module.jyjc.api.enums.BusinessTypeEnum
;
import
com.yeejoin.amos.boot.module.jyjc.api.enums.OpenBizTypeEnum
;
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.model.*
;
import
com.yeejoin.amos.boot.module.jyjc.api.service.IJyjcOpeningApplicationService
;
import
com.yeejoin.amos.boot.module.jyjc.biz.config.BaseException
;
import
com.yeejoin.amos.boot.module.jyjc.biz.feign.TzsServiceFeignClient
;
import
com.yeejoin.amos.boot.module.jyjc.biz.feign.WorkflowFeignClient
;
import
com.yeejoin.amos.boot.module.jyjc.biz.service.TaskModelServiceImpl
;
import
com.yeejoin.amos.boot.module.ymt.api.dto.TzBaseEnterpriseInfoDto
;
import
com.yeejoin.amos.boot.module.ymt.api.dto.TzBaseUnitLicenceDto
;
...
...
@@ -34,39 +37,30 @@ import com.yeejoin.amos.boot.module.ymt.api.entity.TzsUserInfo;
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.TzBaseEnterpriseInfoMapper
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.TzBaseUnitLicenceMapper
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.TzsUserInfoMapper
;
import
com.yeejoin.amos.component.feign.model.FeignClientResult
;
import
com.yeejoin.amos.component.feign.utils.FeignUtil
;
import
com.yeejoin.amos.feign.privilege.Privilege
;
import
com.yeejoin.amos.feign.systemctl.model.TaskV2Model
;
import
com.yeejoin.amos.feign.workflow.
Workflow
;
import
com.yeejoin.amos.feign.workflow.model.
*
;
import
org.apache.commons.io.IOUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
com.yeejoin.amos.feign.workflow.
model.ActWorkflowBatchDTO
;
import
com.yeejoin.amos.feign.workflow.model.
ActWorkflowStartDTO
;
import
com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO
;
import
com.yeejoin.amos.feign.workflow.model.TaskResultDTO
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.typroject.tyboot.core.foundation.context.RequestContext
;
import
org.typroject.tyboot.core.foundation.utils.Bean
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
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.exception.instance.BadRequest
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
javax.annotation.Resource
;
import
java.io.IOException
;
import
java.nio.charset.StandardCharsets
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
static
com
.
alibaba
.
fastjson
.
JSON
.
parseArray
;
/**
* 服务实现类
...
...
@@ -91,29 +85,47 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
@Value
(
"${process-definition-key.jyjc.openapplication:}"
)
private
String
processDefinitionKey
;
@Value
(
"${jyjc.user-post:6615}"
)
private
String
jyjcUserPost
;
@Value
(
"${jy.user-post:6615}"
)
private
String
jyUserPost
;
@Value
(
"${jy.cert.type.code:1233-1}"
)
private
String
jyCertTypeCode
;
@Value
(
"${jc.user-post:6615}"
)
private
String
jcUserPost
;
@Value
(
"${jc.cert.type.code:1233-2}"
)
private
String
jcCertTypeCode
;
@Value
(
"classpath:/json/bizTypeInfo.json"
)
private
org
.
springframework
.
core
.
io
.
Resource
bizTypeInfo
;
@Autowired
private
RedisUtils
redisUtils
;
@Autowired
private
TzBaseEnterpriseInfoMapper
enterpriseInfoMapper
;
@Autowired
private
TzsUserInfoMapper
userInfoMapper
;
@Autowired
CommonserviceImpl
commonservice
;
@Autowired
private
WorkflowFeignClient
workflowFeignClient
;
@Autowired
CmWorkflowServiceImpl
cmWorkflowService
;
@Autowired
TaskModelServiceImpl
commonServiceImpl
;
@Autowired
DataDictionaryMapper
dataDictionaryMapper
;
private
final
String
INDUSTRY_SUPERVISOR_DICT_TYPE
=
"HYZGBM"
;
@Transactional
(
rollbackFor
=
{
Exception
.
class
,
BaseException
.
class
})
public
JyjcOpeningApplicationModel
saveOrUpdateModel
(
JyjcOpeningApplicationModel
model
,
Boolean
enableStartFlow
)
{
boolean
isUpdate
=
false
;
...
...
@@ -149,7 +161,6 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
dto
.
setBusinessKey
(
"1"
);
dto
.
setCompleteFirstTask
(
Boolean
.
TRUE
);
// 接受机构
// dto.setNextExecuteUserCompanyCode(jgUseRegistration.getReceiveCompanyCode());
list
.
add
(
dto
);
actWorkflowBatchDTO
.
setProcess
(
list
);
List
<
ProcessTaskDTO
>
processTaskDTOS
=
cmWorkflowService
.
startBatch
(
actWorkflowBatchDTO
);
...
...
@@ -166,31 +177,11 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
}
else
{
// 存在流程,执行
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"sequenceNbr"
,
model
.
getSequenceNbr
());
map
.
put
(
"sequenceNbr"
,
model
.
getSequenceNbr
());
map
.
put
(
"op"
,
"0"
);
map
.
put
(
"comments"
,
"提交"
);
JyjcOpeningApplication
jyjcOpeningApplication
=
execueFlow
(
map
);
JyjcOpeningApplication
jyjcOpeningApplication
=
execu
t
eFlow
(
map
);
model
.
setNextTaskId
(
jyjcOpeningApplication
.
getNextTaskId
());
// TaskResultDTO dto = new TaskResultDTO();
// dto.setResultCode("approvalStatus");
// dto.setTaskId(model.getNextTaskId());
// HashMap<String, Object> map = new HashMap<>();
// map.put("approvalStatus", "提交");
// dto.setVariable(map);
// ProcessTaskDTO complete = cmWorkflowService.complete(model.getNextTaskId(), dto);
// ArrayList<ProcessTaskDTO> processTaskDTOS = new ArrayList<>();
// processTaskDTOS.add(complete);
// List<WorkflowResultDto> resultDto = commonServiceImpl.buildWorkFlowInfo(processTaskDTOS);
// if (!ObjectUtils.isEmpty(resultDto) && !ObjectUtils.isEmpty(resultDto.get(0))) {
// WorkflowResultDto workflowResult = resultDto.get(0);
// model.setWorkflowProstanceId(workflowResult.getInstanceId());
// model.setNextExecuteIds(workflowResult.getNextExecutorRoleIds());
// model.setNextTaskId(workflowResult.getNextTaskId());
// model.setNextExecuteUserIds(workflowResult.getNextExecutorUserIds());
// model.setPromoter(reginParams.getUserModel().getUserId());
// // 更新代办
// }
}
}
else
{
...
...
@@ -218,86 +209,46 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
}
}
model
.
setStatusName
(
FlowStatusEnum
.
getNameByType
(
Long
.
parseLong
((
model
.
getStatus
()))));
return
this
.
updateWithModel
(
model
);
return
this
.
updateWithModel
(
model
);
}
@Transactional
(
rollbackFor
=
{
Exception
.
class
,
BaseException
.
class
})
public
JyjcOpeningApplicationModel
resubmit
(
JyjcOpeningApplicationModel
model
)
{
model
.
setStatus
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
()
+
""
);
// model.setStatusName(FlowStatusEnum.TO_BE_PROCESSED.getName());
model
=
this
.
updateWithModel
(
model
);
execueFlow
(
MapBuilder
.<
String
,
Object
>
create
().
put
(
"op"
,
"0"
).
put
(
"instanceId"
,
model
.
getWorkflowProstanceId
()).
put
(
"comments"
,
""
).
build
());
execu
t
eFlow
(
MapBuilder
.<
String
,
Object
>
create
().
put
(
"op"
,
"0"
).
put
(
"instanceId"
,
model
.
getWorkflowProstanceId
()).
put
(
"comments"
,
""
).
build
());
return
model
;
}
public
void
updateModelByInstanceId
(
Long
sequenceNbr
,
String
instanceId
,
String
status
,
String
role
,
Boolean
rollBack
)
{
ReginParams
reginParams
=
JSONObject
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
LambdaQueryWrapper
<
JyjcOpeningApplication
>
lambda
=
new
QueryWrapper
<
JyjcOpeningApplication
>().
lambda
();
lambda
.
eq
(
JyjcOpeningApplication:
:
getSequenceNbr
,
sequenceNbr
);
JyjcOpeningApplication
entity
=
this
.
getBaseMapper
().
selectOne
(
lambda
);
// JyjcOpeningApplication entity = this.lambdaQuery().eq(JyjcOpeningApplication::getWorkflowProstanceId, instanceId).one();
if
(
entity
==
null
)
{
return
;
}
// JSONObject taskJson = getTask(instanceId);
// if (taskJson == null) {
// log.warn("流程=>{}查询不到或已结束", instanceId);
// return;
// }
// entity.setWorkflowRole(getWorkflowRoleGroups(taskJson));
// entity.setWorkflowActiveKey(taskJson.getString("taskDefinitionKey"));
entity
.
setNextExecuteIds
(
role
);
entity
.
setPromoter
(
reginParams
.
getUserModel
().
getUserId
());
if
(!
org
.
springframework
.
util
.
ObjectUtils
.
isEmpty
(
entity
.
getWorkflowRole
()))
{
entity
.
setWorkflowRole
(
entity
.
getWorkflowRole
()
+
","
+
role
);
}
else
{
entity
.
setWorkflowRole
(
role
);
}
entity
.
setStatus
(
status
);
// entity.setStatusName(FlowStatusEnum.getNameByType(Long.parseLong(status)));
// region 更新其他的数据为已作废
if
(
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_FINISHED
.
getCode
()).
equals
(
status
))
{
doDiscard
(
entity
.
getUnitCode
(),
entity
.
getSequenceNbr
());
entity
.
setAcceptDate
(
new
Date
());
}
// endregion
this
.
updateById
(
entity
);
if
(
rollBack
)
{
this
.
getBaseMapper
().
updatePromoter
(
entity
.
getSequenceNbr
());
}
}
/**
* 完成的时候废弃其他已完成的申请单
*
*
* @param unitCode unitCode
* @param unitCode unitCode
* @param sequenceNbr sequenceNbr
* @return {@link Boolean}
* @author yangyang
* @param openBizType 按照单位及开通业务类型进进行作废
* @throws
* @author yangyang
* @date 2023/12/22 09:23
*/
public
Boolean
doDiscard
(
String
unitCode
,
Long
sequenceNbr
)
{
if
(
StringUtils
.
isBlank
(
unitCode
)
||
sequenceNbr
==
null
)
{
return
false
;
}
private
void
doDiscard
(
String
unitCode
,
Long
sequenceNbr
,
String
openBizType
)
{
List
<
Long
>
ids
=
this
.
lambdaQuery
().
select
(
JyjcOpeningApplication:
:
getSequenceNbr
)
.
eq
(
JyjcOpeningApplication:
:
getUnitCode
,
unitCode
)
.
eq
(
JyjcOpeningApplication:
:
getStatus
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getCode
())
.
list
().
stream
().
filter
(
o
->
o
.
getSequenceNbr
().
compareTo
(
sequenceNbr
)
!=
0
)
.
map
(
JyjcOpeningApplication:
:
getSequenceNbr
).
collect
(
Collectors
.
toList
());
.
eq
(
JyjcOpeningApplication:
:
getUnitCode
,
unitCode
)
.
eq
(
JyjcOpeningApplication:
:
getOpenBizType
,
openBizType
)
.
ne
(
JyjcOpeningApplication:
:
getSequenceNbr
,
sequenceNbr
)
.
eq
(
JyjcOpeningApplication:
:
getStatus
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getCode
())
.
list
().
stream
().
filter
(
o
->
!
o
.
getSequenceNbr
().
equals
(
sequenceNbr
))
.
map
(
JyjcOpeningApplication:
:
getSequenceNbr
).
collect
(
Collectors
.
toList
());
if
(
ValidationUtil
.
isEmpty
(
ids
))
{
return
false
;
return
;
}
UpdateWrapper
<
JyjcOpeningApplication
>
updateWrapper
=
new
UpdateWrapper
<>();
updateWrapper
.
set
(
"status"
,
FlowStatusEnum
.
TO_BE_DISCARD
.
getCode
())
.
set
(
"status_name"
,
FlowStatusEnum
.
TO_BE_DISCARD
.
getName
())
.
set
(
"remark"
,
"到期作废"
)
.
in
(
"SEQUENCE_NBR"
,
ids
);
return
this
.
update
(
updateWrapper
);
LambdaUpdateWrapper
<
JyjcOpeningApplication
>
updateWrapper
=
new
Lambda
UpdateWrapper
<>();
updateWrapper
.
set
(
JyjcOpeningApplication:
:
getStatus
,
FlowStatusEnum
.
TO_BE_DISCARD
.
getCode
())
.
set
(
JyjcOpeningApplication:
:
getStatusName
,
FlowStatusEnum
.
TO_BE_DISCARD
.
getName
())
.
set
(
JyjcOpeningApplication:
:
getRemark
,
"到期作废"
)
.
in
(
org
.
typroject
.
tyboot
.
core
.
rdbms
.
orm
.
entity
.
BaseEntity
::
getSequenceNbr
,
ids
);
this
.
update
(
updateWrapper
);
}
public
Boolean
doDiscard
(
Long
sequenceNbr
,
String
remark
)
{
...
...
@@ -322,14 +273,6 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
/**
* 分页查询
*/
public
Page
<
JyjcOpeningApplicationModel
>
queryForJyjcOpeningApplicationPage
(
Page
<
JyjcOpeningApplicationModel
>
page
)
{
return
this
.
queryForPage
(
page
,
null
,
false
);
}
/**
* 列表查询 示例
*/
public
List
<
JyjcOpeningApplicationModel
>
queryForJyjcOpeningApplicationList
()
{
...
...
@@ -353,31 +296,13 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
applyStartTime
=
date
+
" 00:00:00"
;
applyEndTime
=
date
+
" 23:59:59"
;
}
Page
<
JyjcOpeningApplicationModel
>
result
=
jyjcOpeningApplicationMapper
.
selectJyjcOpeningApplicationList
(
page
,
dto
,
applyStartTime
,
currentUserId
,
applyEndTime
);
Page
<
JyjcOpeningApplicationModel
>
result
=
jyjcOpeningApplicationMapper
.
selectJyjcOpeningApplicationList
(
page
,
dto
,
applyStartTime
,
currentUserId
,
applyEndTime
);
for
(
JyjcOpeningApplicationModel
record
:
result
.
getRecords
())
{
record
.
setIdentityType
(
dto
.
getType
());
}
return
result
;
}
// public Page<JyjcOpeningApplicationModel> querypageForCompany(Page<JyjcOpeningApplication> page, JyjcOpeningApplicationRequstDto jyjcOpeningApplicationRequstDto) {
// //根据申请单中的单位信息对于列表数据进行过滤
// CompanyBo companyBo = commonserviceImpl.getReginParamsOfCurrentUser().getCompany();
//// if (companyBo.getLevel().equals("company")) {
// jyjcOpeningApplicationRequstDto.setUnitCode(companyBo.getCompanyCode());
//// }
//
// String applyStartTime = "";
// String applyEndTime = "";
// if (ObjectUtils.isNotEmpty(jyjcOpeningApplicationRequstDto.getApplyTime())) {
// String date = jyjcOpeningApplicationRequstDto.getApplyTime();
// applyStartTime = date + " 00:00:00";
// applyEndTime = date + " 23:59:59";
// }
// jyjcOpeningApplicationRequstDto.setType("enterprise");
// return jyjcOpeningApplicationMapper.selectJyjcOpeningApplicationList(page, jyjcOpeningApplicationRequstDto, applyStartTime, applyEndTime);
// }
/**
* 获取详情跳转
...
...
@@ -397,13 +322,30 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
if
(
null
!=
sequenceNbr
)
{
jyjcOpeningApplicationModel
=
this
.
queryBySeq
(
sequenceNbr
);
unitCode
=
jyjcOpeningApplicationModel
.
getUnitCode
();
// 设置检验、检测资质信息
setBaseUnitLicences
(
unitCode
,
jyjcOpeningApplicationModel
,
true
);
// 设置检验、检测人员信息
setJYJCUserList
(
unitCode
,
jyjcOpeningApplicationModel
,
true
);
}
else
{
jyjcOpeningApplicationModel
=
new
JyjcOpeningApplicationModel
();
jyjcOpeningApplicationModel
.
setResultType
(
"input"
);
jyjcOpeningApplicationModel
.
setOpenBizType
(
OpenBizTypeEnum
.
JY
.
getCode
());
unitCode
=
reginParams
.
getCompany
().
getCompanyCode
();
// 设置检验、检测资质信息,前端需要按照开通的业务类型自行过滤,全部数据
setBaseUnitLicences
(
unitCode
,
jyjcOpeningApplicationModel
,
false
);
// 设置检验、检测人员信息,前端需要按照开通的业务类型自行过滤,全部数据
setJYJCUserList
(
unitCode
,
jyjcOpeningApplicationModel
,
false
);
// 设置业务有效期的默认值与yjcOpeningApplicationModel.setOpenBizType(OpenBizTypeEnum.JY.getCode())对应
setDefaultExpiryDate
(
jyjcOpeningApplicationModel
);
}
QueryWrapper
enterpriseInfoQueryWrapper
=
new
QueryWrapper
<>();
enterpriseInfoQueryWrapper
.
eq
(
"use_code"
,
unitCode
);
// 设置企业信息
setBaseEnterpriseInfo
(
unitCode
,
jyjcOpeningApplicationModel
);
return
jyjcOpeningApplicationModel
;
}
private
void
setBaseEnterpriseInfo
(
String
unitCode
,
JyjcOpeningApplicationModel
jyjcOpeningApplicationModel
)
{
LambdaQueryWrapper
<
TzBaseEnterpriseInfo
>
enterpriseInfoQueryWrapper
=
new
LambdaQueryWrapper
<>();
enterpriseInfoQueryWrapper
.
eq
(
TzBaseEnterpriseInfo:
:
getUseCode
,
unitCode
);
TzBaseEnterpriseInfo
baseUnitLicenceEntity
=
enterpriseInfoMapper
.
selectOne
(
enterpriseInfoQueryWrapper
);
// 获取企业资质
if
(
baseUnitLicenceEntity
!=
null
)
{
...
...
@@ -411,14 +353,13 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
jyjcOpeningApplicationModel
.
setContactPhone
(
baseUnitLicenceEntity
.
getContactPhone
());
jyjcOpeningApplicationModel
.
setUnitAddress
(
baseUnitLicenceEntity
.
getAddress
());
if
(
StringUtils
.
isNotBlank
(
baseUnitLicenceEntity
.
getIndustrySupervisor
()))
{
List
<
Map
<
String
,
String
>>
dicts
=
baseMapper
.
selectDataDictionaryList
(
Arrays
.
asList
(
baseUnitLicenceEntity
.
getIndustrySupervisor
())
);
if
(
!
ValidationUtil
.
isEmpty
(
dicts
)
)
{
jyjcOpeningApplicationModel
.
setIndustrySupervisor
(
dict
s
.
get
(
0
).
get
(
"name"
));
DataDictionary
dict
=
dataDictionaryMapper
.
getByCode
(
baseUnitLicenceEntity
.
getIndustrySupervisor
(),
INDUSTRY_SUPERVISOR_DICT_TYPE
);
if
(
dict
!=
null
)
{
jyjcOpeningApplicationModel
.
setIndustrySupervisor
(
dict
.
getName
(
));
}
else
{
jyjcOpeningApplicationModel
.
setIndustrySupervisor
(
baseUnitLicenceEntity
.
getIndustrySupervisor
());
}
}
// { "latitude": "34.311788", "longitude": "108.948721"}
jyjcOpeningApplicationModel
.
setGeographic
(
JyjcGeographicModel
.
builder
().
latitude
(
baseUnitLicenceEntity
.
getLatitude
()).
longitude
(
baseUnitLicenceEntity
.
getLongitude
()).
build
());
jyjcOpeningApplicationModel
.
setLongitude
(
baseUnitLicenceEntity
.
getLongitude
());
jyjcOpeningApplicationModel
.
setLatitude
(
baseUnitLicenceEntity
.
getLatitude
());
...
...
@@ -426,96 +367,74 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
jyjcOpeningApplicationModel
.
setUnitBusinessLicense
(
JSONArray
.
parseArray
(
baseUnitLicenceEntity
.
getUnitBusinessLicense
(),
AttachmentDto
.
class
));
}
}
// QueryWrapper unitLicenceQueryWrapper = new QueryWrapper<>();
// unitLicenceQueryWrapper.eq("unit_code", unitCode);
// unitLicenceQueryWrapper.eq("licence_type", LicenceTypeEnum.JYJC.getCode());
// List<TzBaseUnitLicenceDto> baseUnitLicences = Bean.toModels(unitLicenceMapper.selectList(unitLicenceQueryWrapper), TzBaseUnitLicenceDto.class );
//
}
private
void
setDefaultExpiryDate
(
JyjcOpeningApplicationModel
jyjcOpeningApplicationModel
)
{
Optional
<
TzBaseUnitLicenceDto
>
op
=
jyjcOpeningApplicationModel
.
getBaseUnitLicences
().
stream
().
filter
(
l
->
l
.
getCertTypeCode
().
equals
(
jyjcOpeningApplicationModel
.
getOpenBizType
())).
min
(
Comparator
.
comparing
(
TzBaseUnitLicenceDto:
:
getExpiryDate
));
op
.
ifPresent
(
licenceDto
->
jyjcOpeningApplicationModel
.
setExpiryDate
(
licenceDto
.
getExpiryDate
()));
}
private
void
setBaseUnitLicences
(
String
unitCode
,
JyjcOpeningApplicationModel
jyjcOpeningApplicationModel
,
boolean
isNeedFilter
)
{
List
<
TzBaseUnitLicenceDto
>
baseUnitLicences
=
baseMapper
.
selectBaseUnitLicenceList
(
MapBuilder
.<
String
,
Object
>
create
().
put
(
"unitCode"
,
unitCode
).
put
(
"licenceType"
,
"jyjc"
).
build
());
jyjcOpeningApplicationModel
.
setBaseUnitLicences
(
baseUnitLicences
);
// 获取检验人员信息
QueryWrapper
userInfoQueryWrapper
=
new
QueryWrapper
<>();
userInfoQueryWrapper
.
eq
(
"unit_code"
,
unitCode
);
baseUnitLicences
.
forEach
(
licenceDto
->{
licenceDto
.
setCertTypeCode
(
this
.
castCode2Str
(
licenceDto
.
getCertTypeCode
()));
});
if
(
isNeedFilter
){
baseUnitLicences
=
baseUnitLicences
.
stream
().
filter
(
u
->
u
.
getCertTypeCode
().
equals
(
jyjcOpeningApplicationModel
.
getOpenBizType
())).
collect
(
Collectors
.
toList
());
jyjcOpeningApplicationModel
.
setBaseUnitLicences
(
baseUnitLicences
);
}
else
{
jyjcOpeningApplicationModel
.
setBaseUnitLicences
(
baseUnitLicences
);
}
}
private
String
castCode2Str
(
String
certTypeCode
)
{
// 新注册逻辑,逻辑在1处维护,便于代码维护【jy、jc对应前端的业务类型】
if
(
jcCertTypeCode
.
equals
(
certTypeCode
)){
// 检测类型资质
return
"jc"
;
}
if
(
jyCertTypeCode
.
equals
(
certTypeCode
)){
// 检验类型资质
return
"jy"
;
}
// 之前老数据逻辑,逻辑在1处维护,便于代码维护【jy、jc对应前端的业务类型】
return
""
;
}
private
void
setJYJCUserList
(
String
unitCode
,
JyjcOpeningApplicationModel
jyjcOpeningApplicationModel
,
boolean
isNeedFilter
)
{
LambdaQueryWrapper
<
TzsUserInfo
>
userInfoQueryWrapper
=
new
LambdaQueryWrapper
<>();
userInfoQueryWrapper
.
eq
(
TzsUserInfo:
:
getUnitCode
,
unitCode
);
if
(
StringUtils
.
isBlank
(
jyjcOpeningApplicationModel
.
getWorkflowProstanceId
()))
{
// 如果未开启流程则只查询未被删除的用户
userInfoQueryWrapper
.
eq
(
"is_delete"
,
false
);
userInfoQueryWrapper
.
eq
(
BaseEntity:
:
getIsDelete
,
false
);
}
List
<
TzsUserInfo
>
userInfos
=
userInfoMapper
.
selectList
(
userInfoQueryWrapper
);
if
(!
ValidationUtil
.
isEmpty
(
userInfos
))
{
// List<String> codes = userInfos.stream()
// .map(o -> o.getPost() != null ? JSON.parseArray(o.getPost(), String.class) : null)
// .filter(Objects::nonNull)
// .collect(Collectors.toList())
// .stream().flatMap(o -> o.stream()).distinct().collect(Collectors.toList());
// List<Map<String, String>> dicts = baseMapper.selectDataDictionaryList(codes);
List
<
TzsUserInfoDto
>
userInfoDtos
=
userInfos
.
stream
().
map
(
o
->
{
TzsUserInfoDto
dto
=
new
TzsUserInfoDto
();
Bean
.
toModel
(
o
,
dto
);
// 字段不要了
// if (o.getPost() != null) {
// List<String> temps = JSON.parseArray(o.getPost(), String.class);
// String postName = temps.stream().map(m -> dicts.stream().filter(dict -> dict.get("code").equals(m)).findFirst().map(n -> n.get("name")).orElse("")).collect(Collectors.joining(","));
// dto.setPostName(postName);
// }
return
dto
;
}).
filter
(
o
->
o
.
getPost
()
!=
null
&&
o
.
getPost
().
contains
(
jyjcUserPost
)).
collect
(
Collectors
.
toList
());
jyjcOpeningApplicationModel
.
setUserInfos
(
userInfoDtos
);
}
return
jyjcOpeningApplicationModel
;
}
// public String startFlow(String businessKey) {
// // 重新开启工作流
// ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
// dto.setProcessDefinitionKey(processDefinitionKey);
// dto.setBusinessKey(StringUtils.defaultString(businessKey, "1"));
// // dto.setCompleteFirstTask(true);
// // FeignClientResult ajaxResult = Workflow.taskV2Client.startByVariable(dto);
// //
// // if (log.isDebugEnabled()) {
// // log.debug("开启工作流结果:{}", ajaxResult);
// // }
// // if (ajaxResult == null || 200 != ajaxResult.getStatus()) {
// // throw new BaseException("开启工作流错误");
// // }
// // return ((Map) ajaxResult.getResult()).get("id").toString();
// // V1
// AjaxResult ajaxResult = Workflow.taskClient.startByVariable(dto);
// if (log.isDebugEnabled()) {
// log.debug("开启工作流结果:{}", ajaxResult);
// }
// if (ajaxResult == null || (ajaxResult.get(AjaxResult.CODE_TAG) != null && !"200".equals(ajaxResult.get(AjaxResult.CODE_TAG).toString()))) {
// throw new BaseException("开启工作流错误");
// }
// return ((Map) ajaxResult.get("data")).get("id").toString();
// }
/**
* 接收/驳回通知检验单
*/
public
void
execueFlowNoBusiness
(
Map
<
String
,
Object
>
params
)
{
String
op
=
params
.
get
(
"op"
).
toString
();
String
instanceId
=
params
.
get
(
"instanceId"
).
toString
();
String
comments
=
params
.
get
(
"comments"
).
toString
();
try
{
AjaxResult
ajaxResult
=
Workflow
.
taskClient
.
getTaskNoAuth
(
instanceId
);
JSONObject
dataObject
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
ajaxResult
.
get
(
"data"
)));
String
taskId
=
dataObject
.
getString
(
"id"
);
//组装信息
TaskResultDTO
dto
=
new
TaskResultDTO
();
// dto.setResult(op);
dto
.
setResultCode
(
"approvalStatus"
);
dto
.
setTaskId
(
taskId
);
HashMap
<
String
,
Object
>
varibalble
=
new
HashMap
<>();
varibalble
.
put
(
"approvalStatus"
,
op
);
dto
.
setVariable
(
varibalble
);
dto
.
setComment
(
comments
);
//执行流程
Workflow
.
taskClient
.
completeByTask
(
taskId
,
dto
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
log
.
error
(
"execueFlow error:{}"
,
e
);
}).
filter
(
o
->
o
.
getPost
()
!=
null
&&
(
o
.
getPost
().
contains
(
jyUserPost
)
||
o
.
getPost
().
contains
(
jcUserPost
))).
peek
(
u
->{
// 设置岗位类型,逻辑在1端处理,便于代码维护,前端直接使用即可【jy、jc对应前端的业务类型】
if
(
u
.
getPost
().
contains
(
jyUserPost
)
&&
u
.
getPost
().
contains
(
jcUserPost
)){
// 即时检验又是检测人员
u
.
setPost
(
"jy,jc"
);
}
if
(
u
.
getPost
().
contains
(
jyUserPost
)
&&
!
u
.
getPost
().
contains
(
jcUserPost
)){
// 检验人员
u
.
setPost
(
"jy"
);
}
if
(!
u
.
getPost
().
contains
(
jyUserPost
)
&&
u
.
getPost
().
contains
(
jcUserPost
)){
// 检测人员
u
.
setPost
(
"jc"
);
}
}).
collect
(
Collectors
.
toList
());
if
(
isNeedFilter
){
userInfoDtos
=
userInfoDtos
.
stream
().
filter
(
u
->
u
.
getPost
().
contains
(
jyjcOpeningApplicationModel
.
getOpenBizType
())).
collect
(
Collectors
.
toList
());
jyjcOpeningApplicationModel
.
setUserInfos
(
userInfoDtos
);
}
else
{
jyjcOpeningApplicationModel
.
setUserInfos
(
userInfoDtos
);
}
}
}
...
...
@@ -523,7 +442,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
/**
* 接收/驳回通知检验单
*/
public
JyjcOpeningApplication
execueFlow
(
Map
<
String
,
Object
>
params
)
{
public
JyjcOpeningApplication
execu
t
eFlow
(
Map
<
String
,
Object
>
params
)
{
ReginParams
reginParams
=
JSONObject
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
Long
sequenceNbr
=
Long
.
parseLong
(
params
.
get
(
"sequenceNbr"
)
+
""
);
String
op
=
params
.
get
(
"op"
).
toString
();
...
...
@@ -540,10 +459,10 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
}
dto
.
setVariable
(
map
);
ProcessTaskDTO
complete
=
new
ProcessTaskDTO
();
if
(
"0"
.
equals
(
op
)){
complete
=
cmWorkflowService
.
complete
(
data
.
getNextTaskId
(),
dto
);
}
else
{
complete
=
cmWorkflowService
.
reject
(
data
.
getNextTaskId
(),
dto
);
if
(
"0"
.
equals
(
op
))
{
complete
=
cmWorkflowService
.
complete
(
data
.
getNextTaskId
(),
dto
);
}
else
{
complete
=
cmWorkflowService
.
reject
(
data
.
getNextTaskId
(),
dto
);
}
...
...
@@ -552,14 +471,14 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
List
<
WorkflowResultDto
>
resultDto
=
commonServiceImpl
.
buildWorkFlowInfo
(
processTaskDTOS
);
if
(!
org
.
springframework
.
util
.
ObjectUtils
.
isEmpty
(
resultDto
)
&&
!
org
.
springframework
.
util
.
ObjectUtils
.
isEmpty
(
resultDto
.
get
(
0
)))
{
WorkflowResultDto
workflowResultDto
=
resultDto
.
get
(
0
);
if
(!
ObjectUtils
.
isEmpty
(
workflowResultDto
.
getNextTaskId
())){
if
(!
ObjectUtils
.
isEmpty
(
workflowResultDto
.
getNextTaskId
()))
{
if
(
"1"
.
equals
(
op
))
{
// 驳回
data
.
setStatus
(
String
.
valueOf
(
FlowStatusEnum
.
REJECTED
.
getCode
()));
data
.
setStatusName
(
String
.
valueOf
(
FlowStatusEnum
.
REJECTED
.
getName
()));
data
.
setPromoter
(
""
);
}
else
{
}
else
{
data
.
setStatus
(
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
()));
data
.
setStatusName
(
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
()));
data
.
setPromoter
(
reginParams
.
getUserModel
().
getUserId
());
...
...
@@ -567,12 +486,12 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
// 更新代办
updateTask
(
data
,
workflowResultDto
,
op
);
data
.
setNextTaskId
(
workflowResultDto
.
getNextTaskId
());
}
else
{
}
else
{
// 流程结束
data
.
setStatus
(
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_FINISHED
.
getCode
()));
//更新办理日期
data
.
setAcceptDate
(
new
Date
());
data
.
setAcceptDate
(
new
Date
());
// 更新代办
HashMap
<
String
,
Object
>
taskParams
=
new
HashMap
<>();
taskParams
.
put
(
"relationId"
,
data
.
getWorkflowProstanceId
());
...
...
@@ -587,14 +506,13 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
}
jyjcOpeningApplicationMapper
.
updateById
(
data
);
// 已完成 作废逻辑
if
(
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_FINISHED
.
getCode
()).
equals
(
data
.
getStatus
())){
doDiscard
(
data
.
getUnitCode
(),
data
.
getSequenceNbr
());
if
(
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_FINISHED
.
getCode
()).
equals
(
data
.
getStatus
()))
{
doDiscard
(
data
.
getUnitCode
(),
data
.
getSequenceNbr
()
,
data
.
getOpenBizType
()
);
}
return
data
;
}
/**
* 撤回流程办理单
*/
...
...
@@ -624,26 +542,6 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
return
jyjcOpeningApplication
;
}
private
String
getWorkflowStatus
(
JSONObject
dataObject
)
{
return
!
ValidationUtil
.
isEmpty
(
dataObject
)
&&
!
ValidationUtil
.
isEmpty
(
dataObject
.
get
(
"status"
))
?
String
.
valueOf
(
dataObject
.
get
(
"status"
))
:
""
;
}
private
String
getWorkflowRoleGroups
(
JSONObject
dataObject
)
{
JSONArray
executorArray
=
dataObject
.
getJSONObject
(
"nodeInfo"
).
getJSONArray
(
"executor"
);
if
(!
ValidationUtil
.
isEmpty
(
executorArray
))
{
return
executorArray
.
stream
().
map
(
json
->
Optional
.
ofNullable
(((
LinkedHashMap
)
json
).
get
(
"groupId"
)).
orElse
(
""
).
toString
()).
collect
(
Collectors
.
joining
(
","
));
}
return
null
;
}
private
JSONObject
getTask
(
String
instanceId
)
{
AjaxResult
ajaxResult
=
Workflow
.
taskClient
.
getTaskNoAuth
(
instanceId
);
JSONObject
dataObject
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
ajaxResult
.
get
(
"data"
)));
String
taskId
=
dataObject
.
getString
(
"id"
);
// 工作流ID
FeignClientResult
<
JSONObject
>
nodeInfo
=
workflowFeignClient
.
getNodeInfotoken
(
RequestContext
.
getAppKey
(),
RequestContext
.
getProduct
(),
RequestContext
.
getToken
(),
taskId
);
dataObject
.
put
(
"nodeInfo"
,
nodeInfo
.
getResult
());
return
dataObject
;
}
public
List
<
Map
<
String
,
Object
>>
selectForFlowStatusList
()
{
return
Arrays
.
stream
(
FlowStatusEnum
.
values
()).
map
(
this
::
mapPointTypeToMap
).
collect
(
Collectors
.
toList
());
...
...
@@ -656,12 +554,12 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
return
record
;
}
public
Boolean
deleteBatchByIds
(
List
<
Long
>
ids
){
List
<
JyjcOpeningApplication
>
jyjcOpeningApplicationList
=
jyjcOpeningApplicationMapper
.
selectList
(
new
QueryWrapper
<
JyjcOpeningApplication
>()
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
.
TO_BE_PROCESSED
.
getCode
()),
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_FINISHED
.
getCode
()));
jyjcOpeningApplicationList
=
jyjcOpeningApplicationList
.
stream
().
filter
(
jyjcOpeningApplication
->
status
.
contains
(
jyjcOpeningApplication
.
getStatus
())).
collect
(
Collectors
.
toList
());
if
(
jyjcOpeningApplicationList
.
isEmpty
())
{
jyjcOpeningApplicationList
=
jyjcOpeningApplicationList
.
stream
().
filter
(
jyjcOpeningApplication
->
status
.
contains
(
jyjcOpeningApplication
.
getStatus
())).
collect
(
Collectors
.
toList
());
if
(
jyjcOpeningApplicationList
.
isEmpty
())
{
throw
new
BadRequest
(
"除撤回跟驳回的流程之外其余流程不可删除,请核对数据后重新提交!"
);
}
deleteBatchByIds
(
ids
);
...
...
@@ -678,13 +576,13 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
return
tzBaseEnterpriseInfos
.
stream
().
filter
(
o
->
StringUtils
.
isNotBlank
(
o
.
getUseCode
())
&&
unitCodes
.
contains
(
o
.
getUseCode
())).
collect
(
Collectors
.
toList
());
}
public
List
<
Long
>
selectOverdueData
()
{
return
jyjcOpeningApplicationMapper
.
selectOverdueData
();
public
List
<
Long
>
selectOverdueData
()
{
return
jyjcOpeningApplicationMapper
.
selectOverdueData
();
}
p
ublic
void
buildTask
(
JyjcOpeningApplicationModel
model
,
WorkflowResultDto
workflowResultDto
)
{
p
rivate
void
buildTask
(
JyjcOpeningApplicationModel
model
,
WorkflowResultDto
workflowResultDto
)
{
ReginParams
reginParams
=
commonserviceImpl
.
getReginParamsOfCurrentUser
();
// 代办消息
ArrayList
<
TaskModelDto
>
list
=
new
ArrayList
<>();
...
...
@@ -708,7 +606,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
model
.
setWorkflowProstanceId
(
workflowResultDto
.
getInstanceId
());
model
.
setNextExecuteIds
(
workflowResultDto
.
getNextExecutorRoleIds
());
JyjcOpeningApplicationModel
urlParms
=
new
JyjcOpeningApplicationModel
();
BeanUtil
.
copyProperties
(
model
,
urlParms
,
"unitCode"
,
"unitAddress"
,
"unitCodeName"
,
"detectionRegion"
,
"detectionRegionName"
,
"applicationSeq"
,
"resultType"
,
"expiryDate"
,
"acceptDate"
,
"remark"
,
"applyTime"
,
"baseUnitLicences"
,
"userInfos"
,
"useContact"
,
"contactPhone"
,
"industrySupervisor"
,
"longitude"
,
"latitude"
,
"geographic"
,
"unitBusinessLicense"
);
BeanUtil
.
copyProperties
(
model
,
urlParms
,
"unitCode"
,
"unitAddress"
,
"unitCodeName"
,
"detectionRegion"
,
"detectionRegionName"
,
"applicationSeq"
,
"resultType"
,
"expiryDate"
,
"acceptDate"
,
"remark"
,
"applyTime"
,
"baseUnitLicences"
,
"userInfos"
,
"useContact"
,
"contactPhone"
,
"industrySupervisor"
,
"longitude"
,
"latitude"
,
"geographic"
,
"unitBusinessLicense"
);
dto
.
setModel
(
urlParms
);
dto
.
setNextExecuteUser
(
workflowResultDto
.
getNextExecutorRoleIds
());
dto
.
setPageType
(
"look"
);
...
...
@@ -716,7 +614,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
commonServiceImpl
.
buildTaskModel
(
list
);
}
p
ublic
void
updateTask
(
JyjcOpeningApplication
model
,
WorkflowResultDto
workflowResultDto
,
String
op
)
{
p
rivate
void
updateTask
(
JyjcOpeningApplication
model
,
WorkflowResultDto
workflowResultDto
,
String
op
)
{
// 更新代办状态
HashMap
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"relationId"
,
model
.
getWorkflowProstanceId
());
...
...
@@ -730,16 +628,16 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
TaskModelDto
taskModelDto
=
new
TaskModelDto
();
BeanUtils
.
copyProperties
(
taskV2Model
,
taskModelDto
);
JyjcOpeningApplication
urlParms
=
new
JyjcOpeningApplication
();
BeanUtil
.
copyProperties
(
model
,
urlParms
,
"unitCode"
,
"unitAddress"
,
"unitCodeName"
,
"detectionRegion"
,
"detectionRegionName"
,
"applicationSeq"
,
"resultType"
,
"expiryDate"
,
"acceptDate"
,
"remark"
,
"applyTime"
,
"baseUnitLicences"
,
"userInfos"
,
"useContact"
,
"contactPhone"
,
"industrySupervisor"
,
"longitude"
,
"latitude"
,
"geographic"
,
"unitBusinessLicense"
);
BeanUtil
.
copyProperties
(
model
,
urlParms
,
"unitCode"
,
"unitAddress"
,
"unitCodeName"
,
"detectionRegion"
,
"detectionRegionName"
,
"applicationSeq"
,
"resultType"
,
"expiryDate"
,
"acceptDate"
,
"remark"
,
"applyTime"
,
"baseUnitLicences"
,
"userInfos"
,
"useContact"
,
"contactPhone"
,
"industrySupervisor"
,
"longitude"
,
"latitude"
,
"geographic"
,
"unitBusinessLicense"
);
taskModelDto
.
setModel
(
urlParms
);
taskModelDto
.
setTaskName
(
workflowResultDto
.
getNextTaskName
());
taskModelDto
.
setExecuteUserIds
(
workflowResultDto
.
getNextExecutorUserIds
());
if
(
"0"
.
equals
(
op
)){
if
(
"0"
.
equals
(
op
))
{
taskModelDto
.
setTaskStatusLabel
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
());
taskModelDto
.
setTaskStatus
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
());
taskModelDto
.
setFlowStatus
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
());
taskModelDto
.
setFlowStatusLabel
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
());
}
else
{
}
else
{
taskModelDto
.
setTaskStatusLabel
(
FlowStatusEnum
.
REJECTED
.
getName
());
taskModelDto
.
setTaskStatus
(
FlowStatusEnum
.
REJECTED
.
getCode
());
taskModelDto
.
setFlowStatus
(
FlowStatusEnum
.
REJECTED
.
getCode
());
...
...
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