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
a3ce85aa
Commit
a3ce85aa
authored
Jan 08, 2024
by
韩桐桐
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix(jg):电梯注销添加代办
parent
6770ab6c
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
171 additions
and
4 deletions
+171
-4
JgScrapCancelController.java
...oot/module/jg/biz/controller/JgScrapCancelController.java
+1
-1
JgScrapCancelServiceImpl.java
.../module/jg/biz/service/impl/JgScrapCancelServiceImpl.java
+160
-3
urlInfo.json
...s-boot-module-jg-biz/src/main/resources/json/urlInfo.json
+10
-0
No files found.
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/controller/JgScrapCancelController.java
View file @
a3ce85aa
...
...
@@ -37,7 +37,7 @@ public class JgScrapCancelController extends BaseController {
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/save"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"新增/新增并提交"
,
notes
=
"新增/新增并提交"
)
public
ResponseModel
<
Object
>
save
(
@RequestParam
String
submitType
,
@RequestBody
Map
<
String
,
JSON
Object
>
model
)
{
public
ResponseModel
<
Object
>
save
(
@RequestParam
String
submitType
,
@RequestBody
Map
<
String
,
Object
>
model
)
{
jgScrapCancelService
.
save
(
submitType
,
model
);
return
ResponseHelper
.
buildResponse
(
"ok"
);
}
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/service/impl/JgScrapCancelServiceImpl.java
View file @
a3ce85aa
...
...
@@ -15,7 +15,6 @@ import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import
com.yeejoin.amos.boot.module.jg.api.dto.JgScrapCancelDto
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgScrapCancel
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgScrapCancelEq
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration
;
import
com.yeejoin.amos.boot.module.jg.api.enums.CancelTypeEnum
;
import
com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.JgScrapCancelEqMapper
;
...
...
@@ -35,13 +34,20 @@ import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgRegisterInfoMapper;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgUseInfoMapper
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.SuperviseInfoMapper
;
import
com.yeejoin.amos.component.feign.model.FeignClientResult
;
import
com.yeejoin.amos.feign.privilege.Privilege
;
import
com.yeejoin.amos.feign.privilege.model.AgencyUserModel
;
import
com.yeejoin.amos.feign.systemctl.Systemctl
;
import
com.yeejoin.amos.feign.systemctl.model.TaskV2Model
;
import
com.yeejoin.amos.feign.workflow.Workflow
;
import
com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO
;
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
fr.opensagres.xdocreport.core.io.IOUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.core.io.Resource
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -53,9 +59,13 @@ import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
java.io.IOException
;
import
java.nio.charset.StandardCharsets
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
static
com
.
alibaba
.
fastjson
.
JSON
.
parseArray
;
/**
* 设备注销报废服务实现类
*
...
...
@@ -87,6 +97,8 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
SuperviseInfoMapper
superviseInfoMapper
;
@Autowired
RedisUtils
redisUtils
;
@Value
(
"classpath:/json/urlInfo.json"
)
private
Resource
bizTypeInfo
;
public
Page
<
Map
<
String
,
Object
>>
getList
(
JgScrapCancelDto
dto
,
Page
<
Map
<
String
,
Object
>>
page
,
List
<
String
>
roleIds
)
{
ReginParams
reginParams
=
JSONObject
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
...
...
@@ -122,10 +134,10 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
@SuppressWarnings
({
"Duplicates"
,
"rawtypes"
})
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
save
(
String
submitType
,
Map
<
String
,
JSON
Object
>
jgInstallationNoticeDtoMap
)
{
public
void
save
(
String
submitType
,
Map
<
String
,
Object
>
jgInstallationNoticeDtoMap
)
{
ReginParams
reginParams
=
JSONObject
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
String
[]
taskName
=
new
String
[]{
"流程结束"
};
JSONObject
jgScrapCancelAdd
=
jgInstallationNoticeDtoMap
.
get
(
"jgScrapCancelAdd"
);
JSONObject
jgScrapCancelAdd
=
(
JSONObject
)
jgInstallationNoticeDtoMap
.
get
(
"jgScrapCancelAdd"
);
String
equipId
=
jgScrapCancelAdd
.
get
(
"record"
).
toString
();
jgScrapCancelAdd
.
remove
(
"record"
);
...
...
@@ -241,6 +253,31 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
equipList
.
add
(
jgRelationEquip
);
});
this
.
saveBatch
(
list
);
list
.
forEach
(
item
->
{
// 代办业务
if
(
"1"
.
equals
(
submitType
))
{
TaskV2Model
taskV2Model
=
new
TaskV2Model
();
//获取待办任务执行人
List
<
AgencyUserModel
>
userList
=
Privilege
.
agencyUserClient
.
queryByRoleId
(
item
.
getNextExecuteIds
(),
null
,
Boolean
.
FALSE
).
getResult
();
List
<
String
>
userIds
=
userList
.
stream
().
map
(
AgencyUserModel:
:
getUserId
).
collect
(
Collectors
.
toList
());
taskV2Model
.
setExecuteUserIds
(
CollectionUtils
.
isEmpty
(
userIds
)
?
""
:
String
.
join
(
","
,
userIds
));
taskV2Model
.
setExtras
(
JSON
.
toJSONString
(
item
));
taskV2Model
.
setRelationId
(
item
.
getInstanceId
());
taskV2Model
.
setTaskType
(
"scrapCancel"
);
taskV2Model
.
setTaskTypeLabel
(
"注销报废"
);
String
url
=
getUrl
(
taskV2Model
.
getTaskType
(),
"look"
);
String
format
=
String
.
format
(
url
,
item
.
getSequenceNbr
(),
item
.
getNextExecuteIds
(),
item
.
getNextExecuteIds
(),
item
.
getAuditStatus
(),
item
.
getInstanceId
());
taskV2Model
.
setRoutePath
(
format
);
taskV2Model
.
setTaskTitle
(
item
.
getStatus
());
taskV2Model
.
setTaskName
(
item
.
getStatus
());
taskV2Model
.
setTaskStatus
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
());
taskV2Model
.
setTaskStatusLabel
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
());
taskV2Model
.
setTaskCode
(
item
.
getApplyNo
());
buildTaskModel
(
taskV2Model
);
}
});
List
<
JgScrapCancelEq
>
jgScrapCancelEqList
=
equipList
.
stream
().
map
(
t
->
{
List
<
JgScrapCancel
>
collect
=
list
.
stream
().
filter
(
item
->
t
.
getEquipTransferId
().
equals
(
item
.
getApplyNo
())).
collect
(
Collectors
.
toList
());
Long
sequenceNbr
=
collect
.
get
(
0
).
getSequenceNbr
();
...
...
@@ -263,6 +300,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
if
(
Objects
.
isNull
(
jgScrapCancelDto
)
||
StringUtils
.
isEmpty
(
submitType
))
{
throw
new
IllegalArgumentException
(
"参数不能为空"
);
}
boolean
instancedId
=
ObjectUtils
.
isEmpty
(
jgScrapCancelDto
.
getInstanceId
());
String
[]
taskName
=
new
String
[]{
"流程结束"
};
// 字段转换
this
.
convertField
(
jgScrapCancelDto
);
...
...
@@ -310,6 +348,36 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
jgScrapCancel
.
setAuditStatus
(
String
.
valueOf
(
WorkFlowStatusEnum
.
CANCEL_RECEIVE
.
getPass
()));
this
.
updateById
(
jgScrapCancel
);
}
if
(!
instancedId
)
{
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"relationId"
,
jgScrapCancelDto
.
getInstanceId
());
map
.
put
(
"taskStatus"
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getCode
());
map
.
put
(
"taskStatusLabel"
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
());
updateTaskModel
(
map
);
}
TaskV2Model
taskV2Model
=
new
TaskV2Model
();
//获取待办任务执行人
List
<
AgencyUserModel
>
userList
=
Privilege
.
agencyUserClient
.
queryByRoleId
(
jgScrapCancel
.
getNextExecuteIds
(),
null
,
Boolean
.
FALSE
).
getResult
();
List
<
String
>
userIds
=
userList
.
stream
().
map
(
AgencyUserModel:
:
getUserId
).
collect
(
Collectors
.
toList
());
taskV2Model
.
setExecuteUserIds
(
CollectionUtils
.
isEmpty
(
userIds
)
?
""
:
String
.
join
(
","
,
userIds
));
taskV2Model
.
setExtras
(
JSON
.
toJSONString
(
jgScrapCancel
));
taskV2Model
.
setRelationId
(
jgScrapCancel
.
getInstanceId
());
taskV2Model
.
setTaskType
(
"scrapCancel"
);
taskV2Model
.
setTaskTypeLabel
(
"注销报废"
);
String
url
=
getUrl
(
taskV2Model
.
getTaskType
(),
"look"
);
String
format
=
String
.
format
(
url
,
jgScrapCancel
.
getSequenceNbr
(),
jgScrapCancel
.
getNextExecuteIds
(),
jgScrapCancel
.
getNextExecuteIds
(),
jgScrapCancel
.
getAuditStatus
(),
jgScrapCancel
.
getInstanceId
());
taskV2Model
.
setRoutePath
(
format
);
taskV2Model
.
setTaskTitle
(
jgScrapCancel
.
getStatus
());
taskV2Model
.
setTaskName
(
jgScrapCancel
.
getStatus
());
taskV2Model
.
setTaskStatus
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
());
taskV2Model
.
setTaskStatusLabel
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
());
taskV2Model
.
setTaskCode
(
jgScrapCancel
.
getApplyNo
());
buildTaskModel
(
taskV2Model
);
}
else
{
JgScrapCancel
bean
=
new
JgScrapCancel
();
BeanUtils
.
copyProperties
(
jgScrapCancelDto
,
bean
);
...
...
@@ -367,6 +435,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
}
}
}
@Autowired
IdxBizJgRegisterInfoMapper
idxBizJgRegisterInfoMapper
;
...
...
@@ -435,6 +504,13 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
if
(!
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
().
equals
(
taskCode
))
{
jgScrapCancel
.
setAuditStatus
(
WorkFlowStatusEnum
.
getMessage
(
taskCode
).
getRollBack
());
}
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"relationId"
,
instanceId
);
map
.
put
(
"taskStatus"
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getCode
());
map
.
put
(
"taskStatusLabel"
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
());
map
.
put
(
"isDelete"
,
Boolean
.
TRUE
);
updateTaskModel
(
map
);
String
join
=
String
.
join
(
","
,
roleList
);
jgScrapCancel
.
setPromoter
(
reginParams
.
getUserModel
().
getUserId
());
jgScrapCancel
.
setNextExecuteIds
(
join
);
...
...
@@ -513,10 +589,38 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
if
(
"0"
.
equals
(
operate
))
{
// 通过操作
jgScrapCancel
.
setAuditStatus
(
WorkFlowStatusEnum
.
getMessage
(
taskCode
).
getPass
());
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"relationId"
,
instanceId
);
map
.
put
(
"taskStatus"
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getCode
());
map
.
put
(
"taskStatusLabel"
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
());
updateTaskModel
(
map
);
}
else
{
// 驳回操作
jgScrapCancel
.
setAuditStatus
(
WorkFlowStatusEnum
.
getMessage
(
taskCode
).
getReject
());
jgScrapCancel
.
setPromoter
(
null
);
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"relationId"
,
instanceId
);
map
.
put
(
"taskStatus"
,
FlowStatusEnum
.
REJECTED
.
getCode
());
map
.
put
(
"taskStatusLabel"
,
FlowStatusEnum
.
REJECTED
.
getName
());
TaskV2Model
taskV2ModelOld
=
updateTaskModel
(
map
);
TaskV2Model
taskV2Model
=
new
TaskV2Model
();
taskV2Model
.
setExecuteUserIds
(
taskV2ModelOld
.
getCreateUserId
());
taskV2Model
.
setExtras
(
JSON
.
toJSONString
(
jgScrapCancel
));
taskV2Model
.
setRelationId
(
instanceId
);
taskV2Model
.
setTaskType
(
"scrapCancel"
);
taskV2Model
.
setTaskTypeLabel
(
"注销报废"
);
String
url
=
getUrl
(
taskV2Model
.
getTaskType
(),
"edit"
);
String
format
=
String
.
format
(
url
,
jgScrapCancel
.
getSequenceNbr
(),
jgScrapCancel
.
getNextExecuteIds
(),
jgScrapCancel
.
getNextExecuteIds
(),
jgScrapCancel
.
getAuditStatus
(),
""
,
instanceId
);
taskV2Model
.
setRoutePath
(
format
);
taskV2Model
.
setTaskTitle
(
jgScrapCancel
.
getStatus
());
taskV2Model
.
setTaskName
(
jgScrapCancel
.
getStatus
());
taskV2Model
.
setTaskStatus
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
());
taskV2Model
.
setTaskStatusLabel
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
());
taskV2Model
.
setTaskCode
(
jgScrapCancel
.
getApplyNo
());
buildTaskModel
(
taskV2Model
);
}
}
else
{
...
...
@@ -559,4 +663,56 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
this
.
getBaseMapper
().
updateById
(
jgScrapCancel
);
}
public
TaskV2Model
updateTaskModel
(
Map
<
String
,
Object
>
params
)
{
ReginParams
reginParams
=
JSONObject
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
List
<
TaskV2Model
>
result
=
Systemctl
.
taskV2Client
.
selectListByRelationId
(
params
.
get
(
"relationId"
).
toString
()).
getResult
();
TaskV2Model
model
=
result
.
stream
().
sorted
((
r1
,
r2
)
->
r2
.
getCreateDate
().
compareTo
(
r1
.
getCreateDate
()))
// 按时间降序排序
.
findFirst
()
.
orElse
(
null
);
model
.
setTaskStatus
(
Integer
.
valueOf
(
params
.
get
(
"taskStatus"
).
toString
()));
model
.
setRoutePath
(
model
.
getRoutePath
().
replace
(
"nextExecuteIds"
,
"nextExecuteIdsOld"
));
model
.
setTaskStatusLabel
(
params
.
get
(
"taskStatusLabel"
).
toString
());
model
.
setEndDate
(
new
Date
());
model
.
setFinishStatus
(
Boolean
.
TRUE
);
model
.
setEndUserId
(
reginParams
.
getUserModel
().
getUserId
());
if
(
params
.
containsKey
(
"isDelete"
))
{
Systemctl
.
taskV2Client
.
delete
(
model
.
getSequenceNbr
().
toString
());
}
else
{
Systemctl
.
taskV2Client
.
update
(
model
,
model
.
getSequenceNbr
());
}
return
model
;
}
public
void
buildTaskModel
(
TaskV2Model
model
)
{
ReginParams
reginParams
=
JSONObject
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
model
.
setStartDate
(
new
Date
());
model
.
setStartUserId
(
reginParams
.
getUserModel
().
getUserId
());
model
.
setTaskSource
(
"workFlow"
);
model
.
setCreateDate
(
new
Date
());
model
.
setFinishStatus
(
Boolean
.
FALSE
);
model
.
setCreateUserId
(
reginParams
.
getUserModel
().
getUserId
());
model
.
setAgencyCode
(
reginParams
.
getUserModel
().
getAgencyCode
());
model
.
setTaskTitle
(
reginParams
.
getUserModel
().
getRealName
()
+
"发起了"
+
model
.
getTaskTitle
());
Systemctl
.
taskV2Client
.
create
(
model
);
}
private
String
getUrl
(
String
type
,
String
pageType
)
{
String
json
=
null
;
try
{
json
=
IOUtils
.
toString
(
bizTypeInfo
.
getInputStream
(),
java
.
lang
.
String
.
valueOf
(
StandardCharsets
.
UTF_8
));
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
List
<
Map
>
list
=
parseArray
(
json
,
Map
.
class
);
String
url
=
null
;
for
(
Map
map
:
list
)
{
if
(
map
.
get
(
"type"
).
equals
(
type
)
&&
pageType
.
equals
(
map
.
get
(
"pageType"
)))
{
url
=
map
.
get
(
"url"
).
toString
();
break
;
}
}
return
url
;
}
}
\ No newline at end of file
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/resources/json/urlInfo.json
View file @
a3ce85aa
[
{
"type"
:
"scrapCancel"
,
"pageType"
:
"look"
,
"url"
:
"/mixuap?appId=1742358052905971713&id=1737357871097606146&sequenceNbr=%s&roleIds=%s&nextExecuteIds=%s&formType=detail¬iceStatus=%s&instanceId=%s"
},
{
"type"
:
"scrapCancel"
,
"pageType"
:
"edit"
,
"url"
:
"/mixuap?appId=1742358052905971713&id=1737358169170014210&sequenceNbr=%s&roleIds=%s&nextExecuteIds=%s&formType=edit¬iceStatus=%s&userId=%s&instanceId=%s"
},
{
"type"
:
"installNotice"
,
"pageType"
:
"look"
,
"url"
:
"/mixuap?appId=1742358052905971713&id=1735246137364869121&sequenceNbr=%s&roleIds=%s&nextExecuteIds=%s&formType=detail¬iceStatus=%s&instanceId=%s"
...
...
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