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
a7911fd0
Commit
a7911fd0
authored
Jan 11, 2024
by
chenzhao
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/develop_tzs_register' into develop_tzs_register
parents
e0a84038
34ffae7b
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
870 additions
and
836 deletions
+870
-836
TaskModelDto.java
...com/yeejoin/amos/boot/module/jg/api/dto/TaskModelDto.java
+6
-0
JgChangeRegistrationReform.java
...boot/module/jg/api/entity/JgChangeRegistrationReform.java
+10
-1
JgEquipTransfer.java
...ejoin/amos/boot/module/jg/api/entity/JgEquipTransfer.java
+3
-0
JgMaintenanceContract.java
...amos/boot/module/jg/api/entity/JgMaintenanceContract.java
+6
-0
JgTransferNotice.java
...join/amos/boot/module/jg/api/entity/JgTransferNotice.java
+2
-2
WorkFlowStatusEnum.java
...oin/amos/boot/module/jg/api/enums/WorkFlowStatusEnum.java
+1
-1
JgMaintenanceContractController.java
...le/jg/biz/controller/JgMaintenanceContractController.java
+1
-47
CommonServiceImpl.java
...os/boot/module/jg/biz/service/impl/CommonServiceImpl.java
+1
-1
IdxBizJgRegisterInfoServiceImpl.java
.../jg/biz/service/impl/IdxBizJgRegisterInfoServiceImpl.java
+4
-0
JgChangeRegistrationNameServiceImpl.java
...biz/service/impl/JgChangeRegistrationNameServiceImpl.java
+33
-11
JgChangeRegistrationReformServiceImpl.java
...z/service/impl/JgChangeRegistrationReformServiceImpl.java
+41
-18
JgEquipTransferServiceImpl.java
...odule/jg/biz/service/impl/JgEquipTransferServiceImpl.java
+315
-242
JgMaintenanceContractServiceImpl.java
...jg/biz/service/impl/JgMaintenanceContractServiceImpl.java
+244
-360
JgTransferNoticeServiceImpl.java
...dule/jg/biz/service/impl/JgTransferNoticeServiceImpl.java
+20
-16
JgUseRegistrationServiceImpl.java
...ule/jg/biz/service/impl/JgUseRegistrationServiceImpl.java
+171
-125
urlInfo.json
...s-boot-module-jg-biz/src/main/resources/json/urlInfo.json
+9
-9
UseInfo.java
.../com/yeejoin/amos/boot/module/ymt/api/entity/UseInfo.java
+3
-3
No files found.
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/dto/TaskModelDto.java
View file @
a7911fd0
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
dto
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
...
...
@@ -9,6 +12,9 @@ import java.util.Date;
* @author Administrator
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public
class
TaskModelDto
{
/**
* 工作流创建时间
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/entity/JgChangeRegistrationReform.java
View file @
a7911fd0
...
...
@@ -221,6 +221,15 @@ public class JgChangeRegistrationReform extends BaseEntity {
*/
@TableField
(
value
=
"next_task_id"
)
private
String
nextTaskId
;
/**
* 创建人
*/
@TableField
(
"create_user_name"
)
private
String
createUserName
;
/**
*
*/
@TableField
(
value
=
"create_user_company_name"
)
private
String
createUserCompanyName
;
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/entity/JgEquipTransfer.java
View file @
a7911fd0
...
...
@@ -150,4 +150,7 @@ public class JgEquipTransfer extends BaseEntity {
*/
@TableField
(
value
=
"next_task_id"
)
private
String
nextTaskId
;
@TableField
(
value
=
"create_user_company_name"
)
private
String
createUserCompanyName
;
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/entity/JgMaintenanceContract.java
View file @
a7911fd0
...
...
@@ -214,6 +214,12 @@ public class JgMaintenanceContract extends BaseEntity {
private
String
createUserId
;
/**
* 创建人名称
*/
@TableField
(
"create_user_name"
)
private
String
createUserName
;
/**
* 创建时间
*/
@TableField
(
"create_date"
)
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/entity/JgTransferNotice.java
View file @
a7911fd0
...
...
@@ -298,11 +298,11 @@ public class JgTransferNotice extends BaseEntity {
@TableField
(
value
=
"handle_date"
)
private
Date
handleDate
;
@TableField
(
value
=
"
create_user_company_name
"
)
@TableField
(
value
=
"
\"create_user_company_name\"
"
)
private
String
createUserCompanyName
;
//下一步任务ID
@TableField
(
value
=
"
next_taskId
"
)
@TableField
(
value
=
"
\"next_taskId\"
"
)
private
String
nextTaskId
;
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/enums/WorkFlowStatusEnum.java
View file @
a7911fd0
...
...
@@ -25,7 +25,7 @@ public enum WorkFlowStatusEnum {
/**
* 维保
流程
* 维保
备案
*/
MAIN_SUBMIT
(
"使用单位提交"
,
"mainSubmit"
,
"使用单位待提交"
,
"维保单位已驳回"
,
"使用单位已撤回"
),
MAIN_RECEIVE
(
"维保单位审核确认"
,
"mainReceive"
,
"维保单位待受理"
,
"监管单位已驳回"
,
"维保单位已撤回"
),
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/controller/JgMaintenanceContractController.java
View file @
a7911fd0
...
...
@@ -56,51 +56,6 @@ public class JgMaintenanceContractController extends BaseController {
return
ResponseHelper
.
buildResponse
(
jgMaintenanceContractServiceImpl
.
saveOrSubmit
(
submit
,
model
,
reginParams
));
}
/**
* 更新维保合同和设备对应关系
*
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/updateMaintenanceAndEquipment"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"更新维保合同和设备对应关系"
,
notes
=
"更新维保合同和设备对应关系"
)
public
ResponseModel
<
Object
>
updateMaintenanceAndEquipment
(
@RequestBody
Map
<
String
,
Object
>
model
,
@RequestParam
(
value
=
"submit"
,
required
=
false
,
defaultValue
=
"0"
)
String
submit
)
{
JgMaintenanceContractDto
dto
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
model
),
JgMaintenanceContractDto
.
class
);
List
<
Map
<
String
,
Object
>>
list
=
(
List
<
Map
<
String
,
Object
>>)
model
.
get
(
"equipmentLists"
);
return
ResponseHelper
.
buildResponse
(
jgMaintenanceContractServiceImpl
.
updateMaintenanceAndEquipment
(
submit
,
dto
,
list
));
}
/**
* 提交
*
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/submit"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"维保合同提交"
,
notes
=
"维保合同提交"
)
public
ResponseModel
<
Object
>
submit
(
@RequestBody
Map
<
String
,
Object
>
model
)
{
JgMaintenanceContractDto
dto
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
model
),
JgMaintenanceContractDto
.
class
);
String
comment
=
String
.
valueOf
(
model
.
get
(
"comment"
));
String
operate
=
String
.
valueOf
(
model
.
get
(
"operate"
));
return
ResponseHelper
.
buildResponse
(
jgMaintenanceContractServiceImpl
.
submit
(
dto
,
comment
,
operate
));
}
/**
* 审批
*
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/approval"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"审批"
,
notes
=
"审批"
)
public
ResponseModel
<
Object
>
approval
(
@RequestBody
Map
<
String
,
Object
>
model
)
{
JgMaintenanceContractDto
dto
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
model
.
get
(
"formData"
)),
JgMaintenanceContractDto
.
class
);
String
comment
=
String
.
valueOf
(
model
.
get
(
"comment"
));
String
operate
=
String
.
valueOf
(
model
.
get
(
"operate"
));
return
ResponseHelper
.
buildResponse
(
jgMaintenanceContractServiceImpl
.
approval
(
dto
,
comment
,
operate
));
}
/**
* 撤回
...
...
@@ -216,8 +171,7 @@ public class JgMaintenanceContractController extends BaseController {
public
ResponseModel
<
Page
<
JgMaintenanceContractVo
>>
queryForPage
(
@RequestParam
(
value
=
"current"
)
int
current
,
@RequestParam
(
value
=
"size"
)
int
size
,
@RequestParam
(
value
=
"phase"
)
int
phase
,
Map
<
String
,
Object
>
map
,
JgMaintenanceContractDto
maintenanceContractDto
)
{
Map
<
String
,
Object
>
map
)
{
Page
<
JgMaintenanceContract
>
page
=
new
Page
<>();
page
.
setCurrent
(
current
);
page
.
setSize
(
size
);
...
...
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/CommonServiceImpl.java
View file @
a7911fd0
...
...
@@ -631,7 +631,7 @@ public class CommonServiceImpl implements ICommonService {
}
model
.
setFlowStatus
(
obj
.
getTaskStatus
());
model
.
setFlowCode
(
obj
.
getTaskStatusLabel
());
model
.
setTask
Type
(
"0"
);
model
.
setTask
Status
(
0
);
model
.
setFlowInstanceId
(
model
.
getRelationId
());
model
.
setTaskTitle
(
obj
.
getStartUser
()
+
"发起了"
+
obj
.
getTaskName
());
model
.
setTaskSource
(
"workFlow"
);
...
...
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/IdxBizJgRegisterInfoServiceImpl.java
View file @
a7911fd0
...
...
@@ -224,6 +224,10 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
Map
<
String
,
Object
>
equipParamsMap
=
this
.
getEquipParamsMap
(
record
,
""
,
equIpClassMap
.
get
(
"EQU_LIST"
).
toString
());
if
(!
ValidationUtil
.
isEmpty
(
equipParamsMap
))
{
// 给技术参数中添加设备种类,标记技术参数属于那个设备
equipParamsMap
.
put
(
"EQU_LIST"
,
equIpClassMap
.
get
(
"EQU_LIST"
).
toString
());
equipParamsMap
.
put
(
"EQU_CATEGORY"
,
equIpClassMap
.
get
(
"EQU_CATEGORY"
).
toString
());
equipParamsMap
.
put
(
"EQU_DEFINE"
,
equIpClassMap
.
get
(
"EQU_DEFINE"
).
toString
());
resultMap
.
put
(
EQUIP_PARAMS_FORM_ID
,
equipParamsMap
);
}
}
...
...
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/JgChangeRegistrationNameServiceImpl.java
View file @
a7911fd0
...
...
@@ -13,6 +13,7 @@ import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import
com.yeejoin.amos.boot.biz.common.utils.RedisUtils
;
import
com.yeejoin.amos.boot.module.jg.api.dto.JgChangeRegistrationNameDto
;
import
com.yeejoin.amos.boot.module.jg.api.dto.TaskModelDto
;
import
com.yeejoin.amos.boot.module.jg.api.dto.WorkflowResultDto
;
import
com.yeejoin.amos.boot.module.jg.api.entity.*
;
import
com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum
;
import
com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum
;
...
...
@@ -137,6 +138,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
List
<
String
>
roleListNext
=
new
ArrayList
<>();
List
<
String
>
roleListAll
=
new
ArrayList
<>();
String
applyNo
=
applyNoList
.
get
(
0
);
String
nextUserIds
=
""
;
if
(
"1"
.
equals
(
submitType
))
{
// 发起流程
try
{
...
...
@@ -153,6 +155,8 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
instanceId
=
processTasks
.
get
(
0
).
getProcessInstance
().
getId
();
nextTaskId
=
processTasks
.
get
(
0
).
getNextTask
().
get
(
0
).
getId
();
taskName
[
0
]
=
processTasks
.
get
(
0
).
getNextTask
().
get
(
0
).
getName
();
List
<
WorkflowResultDto
>
workflowResultDtos
=
commonService
.
buildWorkFlowInfo
(
processTasks
);
nextUserIds
=
workflowResultDtos
.
get
(
0
).
getNextExecutorUserIds
();
this
.
buildRoleList
(
processTasks
,
roleListNext
,
roleListAll
);
}
catch
(
Exception
e
)
{
log
.
error
(
"提交失败:{}"
,
e
);
...
...
@@ -177,9 +181,11 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
}
dto
.
setUseUnitCreditCode
(
reginParams
.
getCompany
().
getCompanyCode
());
dto
.
setUseUnitName
(
reginParams
.
getCompany
().
getCompanyName
());
dto
.
setCreateUserId
(
RequestContext
.
getExeUserId
());
dto
.
setCreateUserName
(
reginParams
.
getUserModel
().
getRealName
());
this
.
save
(
dto
);
// 创建代办
this
.
createTaskModel
(
dto
,
taskName
[
0
],
submitType
);
this
.
createTaskModel
(
dto
,
taskName
[
0
],
submitType
,
nextUserIds
);
}
private
void
buildRoleList
(
List
<
ProcessTaskDTO
>
processTasks
,
List
<
String
>
roleListNext
,
List
<
String
>
roleListAll
)
{
...
...
@@ -192,7 +198,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
});
}
private
void
createTaskModel
(
JgChangeRegistrationName
dto
,
String
taskName
,
String
submitType
)
{
private
void
createTaskModel
(
JgChangeRegistrationName
dto
,
String
taskName
,
String
submitType
,
String
nextUserIds
)
{
ReginParams
reginParams
=
JSON
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
if
(
"1"
.
equals
(
submitType
))
{
TaskModelDto
taskModelDto
=
new
TaskModelDto
();
...
...
@@ -204,7 +210,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
taskModelDto
.
setTaskType
(
BusinessTypeEnum
.
JG_NAME_CHANGE_REGISTRATION
.
getCode
());
taskModelDto
.
setTaskTypeLabel
(
BusinessTypeEnum
.
JG_NAME_CHANGE_REGISTRATION
.
getName
());
taskModelDto
.
setRelationId
(
dto
.
getInstanceId
());
taskModelDto
.
setExecuteUserIds
(
dto
.
getNextExecutorIds
()
);
taskModelDto
.
setExecuteUserIds
(
nextUserIds
);
taskModelDto
.
setTaskStatus
(
this
.
getTaskCodeByName
(
dto
.
getAuditStatus
()));
taskModelDto
.
setTaskStatusLabel
(
dto
.
getAuditStatus
());
taskModelDto
.
setStartUserId
(
dto
.
getCreateUserId
());
...
...
@@ -259,6 +265,8 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
String
nextTaskId
=
processTasks
.
get
(
0
).
getNextTask
().
get
(
0
).
getId
();
String
taskName
=
processTasks
.
get
(
0
).
getNextTask
().
get
(
0
).
getName
();
this
.
buildRoleList
(
processTasks
,
roleListNext
,
roleListAll
);
List
<
WorkflowResultDto
>
workflowResultDtos
=
commonService
.
buildWorkFlowInfo
(
processTasks
);
String
nextUserIds
=
workflowResultDtos
.
get
(
0
).
getNextExecutorUserIds
();
jgChangeRegistrationNameDto
.
setInstanceStatus
(
String
.
join
(
","
,
roleListAll
));
jgChangeRegistrationNameDto
.
setInstanceId
(
instanceId
);
jgChangeRegistrationNameDto
.
setNextExecutorIds
(
String
.
join
(
","
,
roleListNext
));
...
...
@@ -266,7 +274,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
// 创建待办
JgChangeRegistrationName
bean
=
new
JgChangeRegistrationName
();
BeanUtil
.
copyProperties
(
jgChangeRegistrationNameDto
,
bean
);
createTaskModel
(
bean
,
taskName
,
"1"
);
createTaskModel
(
bean
,
taskName
,
"1"
,
nextUserIds
);
}
catch
(
Exception
e
)
{
log
.
error
(
"提交失败:{}"
,
e
);
throw
new
BadRequest
(
"提交失败"
+
e
.
getMessage
());
...
...
@@ -277,6 +285,8 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
String
nextTaskId
=
processTaskDTO
.
getNextTask
().
get
(
0
).
getId
();
String
taskName
=
processTaskDTO
.
getNextTask
().
get
(
0
).
getName
();
this
.
buildRoleList
(
Collections
.
singletonList
(
processTaskDTO
),
roleListNext
,
roleListAll
);
List
<
WorkflowResultDto
>
workflowResultDtos
=
commonService
.
buildWorkFlowInfo
(
Collections
.
singletonList
(
processTaskDTO
));
String
nextUserIds
=
workflowResultDtos
.
get
(
0
).
getNextExecutorUserIds
();
// 查询下节点任务
if
(!
ObjectUtils
.
isEmpty
(
jgChangeRegistrationName
.
getInstanceStatus
()))
{
jgChangeRegistrationName
.
setInstanceStatus
(
jgChangeRegistrationName
.
getInstanceStatus
()
+
","
+
String
.
join
(
""
,
roleListNext
));
...
...
@@ -287,7 +297,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
jgChangeRegistrationName
.
setNextExecutorIds
(
String
.
join
(
","
,
roleListNext
));
jgChangeRegistrationName
.
setAuditStatus
(
String
.
valueOf
(
WorkFlowStatusEnum
.
UNIT_RENAME_RECEIVE
.
getPass
()));
jgChangeRegistrationName
.
setNextTaskId
(
nextTaskId
);
executeOneStep
(
jgChangeRegistrationName
);
executeOneStep
(
jgChangeRegistrationName
,
taskName
,
nextUserIds
);
}
BeanUtils
.
copyProperties
(
jgChangeRegistrationNameDto
,
jgChangeRegistrationName
);
...
...
@@ -300,12 +310,19 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
return
jgChangeRegistrationNameDto
;
}
private
void
executeOneStep
(
JgChangeRegistrationName
jgChangeRegistrationName
)
{
private
void
executeOneStep
(
JgChangeRegistrationName
jgChangeRegistrationName
,
String
taskName
,
String
nextUserIds
)
{
// 先更新之前的待办
TaskV2Model
taskV2Model
=
updateTaskModel
(
jgChangeRegistrationName
);
// 再插入新代办、数据待定
taskV2Model
.
setExecuteUserIds
(
jgChangeRegistrationName
.
getNextExecutorIds
());
Systemctl
.
taskV2Client
.
create
(
taskV2Model
);
taskV2Model
.
setTaskName
(
taskName
);
taskV2Model
.
setExecuteUserIds
(
nextUserIds
);
taskV2Model
.
setTaskStatus
(
this
.
getTaskStatusByName
(
jgChangeRegistrationName
.
getAuditStatus
()));
taskV2Model
.
setTaskStatusLabel
(
jgChangeRegistrationName
.
getAuditStatus
());
TaskModelDto
modelDto
=
new
TaskModelDto
();
BeanUtil
.
copyProperties
(
taskV2Model
,
modelDto
);
modelDto
.
setNextExecuteUser
(
jgChangeRegistrationName
.
getNextExecutorIds
());
modelDto
.
setModel
(
jgChangeRegistrationName
);
commonService
.
buildTaskModel
(
Collections
.
singletonList
(
modelDto
));
}
...
...
@@ -322,7 +339,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
}
private
void
convertField
(
JgChangeRegistrationNameDto
model
)
{
// 处理文件
// 处理文件
1
if
(!
ValidationUtil
.
isEmpty
(
model
.
getChangeCertificateList
()))
{
model
.
setChangeCertificate
(
JSON
.
toJSONString
(
model
.
getChangeCertificateList
()));
}
...
...
@@ -403,16 +420,21 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
List
<
String
>
roleListAll
=
new
ArrayList
<>();
String
taskCode
=
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
();
String
taskName
=
""
;
String
nextTaskId
=
""
;
JgChangeRegistrationName
jgChangeRegistrationName
=
this
.
getBaseMapper
().
selectById
(
sequenceNbr
);
if
(
processTaskDTO
!=
null
){
if
(
processTaskDTO
!=
null
&&
processTaskDTO
.
getNextTask
()
!=
null
&&
processTaskDTO
.
getNextTask
().
size
()
>
0
){
taskCode
=
processTaskDTO
.
getNextTask
().
get
(
0
).
getKey
();
taskName
=
processTaskDTO
.
getNextTask
().
get
(
0
).
getName
();
nextTaskId
=
processTaskDTO
.
getNextTask
().
get
(
0
).
getId
();
}
if
(!
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
().
equals
(
taskCode
))
{
this
.
buildRoleList
(
Collections
.
singletonList
(
processTaskDTO
),
roleListNext
,
roleListAll
);
List
<
WorkflowResultDto
>
workflowResultDtos
=
commonService
.
buildWorkFlowInfo
(
Collections
.
singletonList
(
processTaskDTO
));
String
nextUserIds
=
workflowResultDtos
.
get
(
0
).
getNextExecutorUserIds
();
jgChangeRegistrationName
.
setNextExecutorIds
(
String
.
join
(
","
,
roleListNext
));
jgChangeRegistrationName
.
setPromoter
(
RequestContext
.
getExeUserId
());
jgChangeRegistrationName
.
setInstanceId
(
instanceId
);
jgChangeRegistrationName
.
setNextTaskId
(
nextTaskId
);
if
(!
ObjectUtils
.
isEmpty
(
jgChangeRegistrationName
.
getInstanceStatus
()))
{
jgChangeRegistrationName
.
setInstanceStatus
(
jgChangeRegistrationName
.
getInstanceStatus
()
+
","
+
String
.
join
(
","
,
roleListNext
));
}
else
{
...
...
@@ -427,7 +449,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
jgChangeRegistrationName
.
setPromoter
(
null
);
}
// 更新上一步待办、创建待办
executeOneStep
(
jgChangeRegistrationName
);
executeOneStep
(
jgChangeRegistrationName
,
taskName
,
nextUserIds
);
}
else
{
jgChangeRegistrationName
.
setAuditStatus
(
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
());
jgChangeRegistrationName
.
setAuditPassDate
(
new
Date
());
...
...
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/JgChangeRegistrationReformServiceImpl.java
View file @
a7911fd0
...
...
@@ -18,21 +18,16 @@ import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum;
import
com.yeejoin.amos.boot.module.jg.api.mapper.*
;
import
com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationReformService
;
import
com.yeejoin.amos.boot.module.jg.api.dto.JgChangeRegistrationReformDto
;
import
com.yeejoin.amos.boot.module.jg.api.service.IJgRegistrationHistoryService
;
import
com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient
;
import
com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService
;
import
com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgUseInfoService
;
import
com.yeejoin.amos.boot.module.jg.biz.utils.JsonUtils
;
import
com.yeejoin.amos.boot.module.jg.flc.api.fegin.WorkFlowFeignService
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.*
;
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.*
;
import
com.yeejoin.amos.component.feign.model.FeignClientResult
;
import
com.yeejoin.amos.feign.privilege.model.AgencyUserModel
;
import
com.yeejoin.amos.feign.workflow.Workflow
;
import
com.yeejoin.amos.feign.systemctl.model.TaskV2Model
;
import
com.yeejoin.amos.feign.workflow.model.*
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.ObjectUtils
;
...
...
@@ -58,8 +53,6 @@ import java.util.stream.Collectors;
@Service
public
class
JgChangeRegistrationReformServiceImpl
extends
BaseService
<
JgChangeRegistrationReformDto
,
JgChangeRegistrationReform
,
JgChangeRegistrationReformMapper
>
implements
IJgChangeRegistrationReformService
{
@Autowired
WorkFlowFeignService
workFlowFeginService
;
@Autowired
TzsServiceFeignClient
tzsServiceFeignClient
;
@Autowired
RedisUtils
redisUtils
;
...
...
@@ -207,11 +200,12 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
// updateExecuteIds(instanceId, jgChangeRegistrationReform.getSequenceNbr(), "0");
}
else
{
// 如果是新启动的流程开启自动访问
jgChangeRegistrationReform
.
setCreateUserName
(
reginParams
.
getUserModel
().
getRealName
());
jgChangeRegistrationReform
.
setCreateUserCompanyName
(
reginParams
.
getCompany
().
getCompanyName
());
ProcessTaskDTO
processTaskDTO
=
startByVariable
();
updateExecuteIds
(
instanceId
,
jgChangeRegistrationReform
,
"startWorkfow"
,
processTaskDTO
);
List
<
TaskModelDto
>
taskModelDtoList
=
Arrays
.
asList
(
getTaskModelDtoList
(
jgChangeRegistrationReform
,
processTaskDTO
));
//
commonServiceImpl.buildTaskModel(taskModelDtoList);
commonServiceImpl
.
buildTaskModel
(
taskModelDtoList
);
}
...
...
@@ -245,6 +239,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
}
public
void
updateExecuteIds
(
String
instanceId
,
JgChangeRegistrationReform
jgChangeRegistrationReform
,
String
operate
,
ProcessTaskDTO
processTaskDTO
)
{
Boolean
updateTodoAndCreate
=
Boolean
.
TRUE
;
ReginParams
reginParams
=
JSONObject
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
WorkflowResultDto
workflowResultDto
=
conveterProcessTaskDTO2WorkflowResultDto
(
processTaskDTO
);
String
nextTaskid
=
Optional
.
ofNullable
(
workflowResultDto
.
getNextTaskId
()).
orElse
(
""
);
...
...
@@ -257,6 +252,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
role
=
Optional
.
ofNullable
(
workflowResultDto
.
getExecutorRoleIds
()).
orElse
(
""
)+
","
+
Optional
.
ofNullable
(
workflowResultDto
.
getNextExecutorRoleIds
()).
orElse
(
""
);
operate
=
"0"
;
instanceId
=
workflowResultDto
.
getInstanceId
();
updateTodoAndCreate
=
Boolean
.
FALSE
;
}
if
(!
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
().
equals
(
taskCode
))
{
jgChangeRegistrationReform
.
setNextTaskId
(
nextTaskid
);
...
...
@@ -278,6 +274,24 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
jgChangeRegistrationReform
.
setStatus
(
WorkFlowStatusEnum
.
getMessage
(
taskCode
).
getReject
());
jgChangeRegistrationReform
.
setPromoter
(
null
);
}
if
(
updateTodoAndCreate
)
{
// 上个代办改为已办
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"taskStatus"
,
commonServiceImpl
.
getDictionaryCodeByName
(
jgChangeRegistrationReform
.
getStatus
()));
map
.
put
(
"taskStatusLabel"
,
jgChangeRegistrationReform
.
getStatus
());
map
.
put
(
"relationId"
,
jgChangeRegistrationReform
.
getInstanceId
());
TaskV2Model
taskV2Model
=
commonServiceImpl
.
updateTaskModel
(
map
);
TaskModelDto
taskModelDto
=
new
TaskModelDto
();
BeanUtils
.
copyProperties
(
taskV2Model
,
taskModelDto
);
// 创建新的代办
taskModelDto
.
setModel
(
jgChangeRegistrationReform
);
taskModelDto
.
setTaskName
(
workflowResultDto
.
getNextTaskName
());
taskModelDto
.
setExecuteUserIds
(
workflowResultDto
.
getNextExecutorUserIds
());
taskModelDto
.
setTaskStatus
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
());
taskModelDto
.
setTaskStatusLabel
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
());
taskModelDto
.
setNextExecuteUser
(
workflowResultDto
.
getNextExecutorRoleIds
());
commonServiceImpl
.
buildTaskModel
(
Collections
.
singletonList
(
taskModelDto
));
}
}
else
{
jgChangeRegistrationReform
.
setAuditPassDate
(
new
Date
());
jgChangeRegistrationReform
.
setAuditStatus
(
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
());
...
...
@@ -286,6 +300,11 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
String
newUseRegistrationCertificateNumber
=
getCode
(
jgChangeRegistrationReform
.
getSupervisoryCode
());
jgChangeRegistrationReform
.
setUseRegistrationCode
(
newUseRegistrationCertificateNumber
);
updateTechparamsByEquIdAndCurrentDoucumentId
(
jgChangeRegistrationReformEq
.
getEquId
(),
jgChangeRegistrationReform
.
getSequenceNbr
().
toString
(),
newUseRegistrationCertificateNumber
,
jgChangeRegistrationReform
.
getApplyNo
());
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"taskStatus"
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getCode
());
map
.
put
(
"taskStatusLabel"
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
());
map
.
put
(
"relationId"
,
jgChangeRegistrationReform
.
getInstanceId
());
TaskV2Model
taskV2Model
=
commonServiceImpl
.
updateTaskModel
(
map
);
}
this
.
getBaseMapper
().
updateById
(
jgChangeRegistrationReform
);
}
...
...
@@ -336,6 +355,8 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
jgChangeRegistrationReform
.
setPromoter
(
reginParams
.
getUserModel
().
getUserId
());
jgChangeRegistrationReform
.
setNextExecutorIds
(
role
);
this
.
update
(
jgChangeRegistrationReform
,
lambda
);
// commonServiceImpl.deleteTaskModel(instanceId);
commonServiceImpl
.
rollbackTask
(
instanceId
);
}
public
void
deleteBatch
(
List
<
Long
>
ids
)
{
...
...
@@ -594,7 +615,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
*/
public
String
getSummaryInfo
(
JgChangeRegistrationReform
jgChangeRegistrationReform
)
{
String
result
=
"来自%s【%s】的业务办理,【申请单号:%s】"
;
return
String
.
format
(
"电梯"
,
jgChangeRegistrationReform
.
getSupervisoryCode
(),
jgChangeRegistrationReform
.
getApplyNo
());
return
String
.
format
(
result
,
"电梯"
,
jgChangeRegistrationReform
.
getSupervisoryCode
(),
jgChangeRegistrationReform
.
getApplyNo
());
}
public
TaskModelDto
getTaskModelDtoList
(
JgChangeRegistrationReform
jgChangeRegistrationReform
,
ProcessTaskDTO
processTaskDTO
)
{
...
...
@@ -605,7 +626,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
//工作流创建时间
taskModelDto
.
setFlowCreateDate
(
jgChangeRegistrationReform
.
getCreateDate
());
//工作流返回节点名称
taskModelDto
.
setTaskName
(
processTaskDTO
.
getNextTask
().
get
(
0
).
get
Name
());
taskModelDto
.
setTaskName
(
workflowResultDto
.
getNextTask
Name
());
//taskCode 使用申请单编号
taskModelDto
.
setTaskCode
(
jgChangeRegistrationReform
.
getApplyNo
());
//摘要
...
...
@@ -615,25 +636,27 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
//任务类型
taskModelDto
.
setTaskType
(
BusinessTypeEnum
.
JG_RENOVATION_REGISTRATION
.
getCode
());
//任务类型名称
taskModelDto
.
setTaskType
(
BusinessTypeEnum
.
JG_RENOVATION_REGISTRATION
.
getName
());
taskModelDto
.
setTaskType
Label
(
BusinessTypeEnum
.
JG_RENOVATION_REGISTRATION
.
getName
());
//工作流实例id
taskModelDto
.
setRelationId
(
jgChangeRegistrationReform
.
getInstanceId
());
//执行人id
taskModelDto
.
setExecuteUserIds
(
workflowResultDto
.
get
ExecutorId
());
taskModelDto
.
setExecuteUserIds
(
workflowResultDto
.
get
NextExecutorUserIds
());
//任务状态code
// taskModelDto.setTaskStatus(
);
taskModelDto
.
setTaskStatus
(
commonServiceImpl
.
getDictionaryCodeByName
(
jgChangeRegistrationReform
.
getStatus
())
);
//任务状态名称
taskModelDto
.
setTaskStatusLabel
(
jgChangeRegistrationReform
.
getStatus
());
//任务创建人id
taskModelDto
.
setStartUserId
(
jgChangeRegistrationReform
.
getCreateUserId
());
//任务创建人名称
taskModelDto
.
setStartUser
(
workflowResultDto
.
getStart
UserName
());
taskModelDto
.
setStartUser
(
jgChangeRegistrationReform
.
getCreate
UserName
());
//任务发起人所在单位
// taskModelDto.setStartUserCompanyName(startUser.getCompanys().get(0).get
CompanyName());
taskModelDto
.
setStartUserCompanyName
(
jgChangeRegistrationReform
.
getCreateUser
CompanyName
());
//任务发起人发起时间
taskModelDto
.
setStartDate
(
new
Date
());
taskModelDto
.
setNextExecuteUser
(
jgChangeRegistrationReform
.
getNextExecutorIds
());
//跳转路径
// taskModelDto.setRoutePath();
taskModelDto
.
setModel
(
jgChangeRegistrationReform
);
return
taskModelDto
;
}
...
...
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/JgEquipTransferServiceImpl.java
View file @
a7911fd0
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
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.toolkit.Wrappers
;
import
com.yeejoin.amos.boot.biz.common.bo.ReginParams
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisKey
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisUtils
;
import
com.yeejoin.amos.boot.module.jg.api.dto.*
;
import
com.yeejoin.amos.boot.module.jg.api.entity.*
;
import
com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.JgEquipTransferEqMapper
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.JgEquipTransferMapper
;
import
com.yeejoin.amos.boot.module.jg.api.service.IJgEquipTransferService
;
import
com.yeejoin.amos.boot.module.jg.api.dto.JgEquipTransferDto
;
import
com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient
;
import
com.yeejoin.amos.boot.module.ymt.api.common.BaseException
;
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.OtherInfoMapper
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.RegistrationInfoMapper
;
import
com.yeejoin.amos.component.feign.model.FeignClientResult
;
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
com.yeejoin.amos.feign.systemctl.model.TaskV2Model
;
import
com.yeejoin.amos.feign.workflow.model.*
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -41,158 +38,187 @@ import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.IntStream
;
/**
* 设备移交服务实现类
*
* @author
system_generator
* @author
LiuLin
* @date 2023-12-20
*/
@Slf4j
@Service
public
class
JgEquipTransferServiceImpl
extends
BaseService
<
JgEquipTransferDto
,
JgEquipTransfer
,
JgEquipTransferMapper
>
implements
IJgEquipTransferService
{
private
static
final
String
EQUIP_TRANSFER_PROCESS_KEY
=
"equipmentHandover"
;
private
static
final
String
SUBMIT_TYPE_FLOW
=
"1"
;
@Autowired
JgEquipTransferEqMapper
jgEquipTransferEqMapper
;
@Autowired
OtherInfoMapper
tzsJgOtherInfoMapper
;
@Autowired
RegistrationInfoMapper
tzsJgRegistrationInfoMapper
;
@Autowired
RedisUtils
redisUtils
;
@Autowired
TzsServiceFeignClient
tzsServiceFeignClient
;
@Autowired
CmWorkflowServiceImpl
workflowService
;
@Autowired
CommonServiceImpl
commonService
;
@Autowired
CmWorkflowServiceImpl
cmWorkflowService
;
@Transactional
(
rollbackFor
=
{
Exception
.
class
,
BaseException
.
class
})
public
void
saveTransfer
(
String
submitType
,
JSONObject
jsonObjectMap
,
ReginParams
reginParams
)
{
String
[]
taskName
=
new
String
[]{
"流程结束"
};
JgEquipTransferDto
model
=
BeanUtil
.
toBeanIgnoreError
(
jsonObjectMap
.
get
(
"model"
),
JgEquipTransferDto
.
class
);
JgEquipTransferDto
model
=
JSON
.
parseObject
(
JSONObject
.
toJSONString
(
jsonObjectMap
),
JgEquipTransferDto
.
class
);
// 字段转换
convertField
(
model
);
// 获取告知设备列表
List
<
Map
<
String
,
Object
>>
deviceList
=
model
.
getDeviceList
();
if
(
CollectionUtils
.
isEmpty
(
deviceList
))
{
return
;
}
ResponseModel
<
List
<
String
>>
listResponseModel
=
tzsServiceFeignClient
.
applicationFormCode
(
ApplicationFormTypeEnum
.
SBYJ
.
getCode
(),
deviceList
.
size
());
if
(!
org
.
springframework
.
util
.
ObjectUtils
.
isEmpty
(
listResponseModel
)
&&
listResponseModel
.
getStatus
()
!=
HttpStatus
.
OK
.
value
())
{
log
.
error
(
"告知单获取失败: {}"
,
listResponseModel
.
getMessage
());
throw
new
BadRequest
(
"告知单生成失败!"
);
}
List
<
String
>
applyNoList
=
listResponseModel
.
getResult
();
if
(
CollectionUtils
.
isEmpty
(
applyNoList
))
{
log
.
error
(
"告知单返回为空"
);
throw
new
BadRequest
(
"告知单生成失败!"
);
}
handleResponseModel
(
listResponseModel
,
"告知单获取失败: "
);
List
<
String
>
applyNoList
=
listResponseModel
.
getResult
();
handleApplyNoList
(
applyNoList
);
ArrayList
<
String
>
roleListFirst
=
new
ArrayList
<>();
ArrayList
<
String
>
roleListSecond
=
new
ArrayList
<>();
ArrayList
<
String
>
instanceIdList
=
new
ArrayList
<>();
if
(
SUBMIT_TYPE_FLOW
.
equals
(
submitType
))
{
ActWorkflowBatchDTO
actWorkflowBatchDTO
=
new
ActWorkflowBatchDTO
();
List
<
ActWorkflowStartDTO
>
list
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
deviceList
.
size
();
i
++
)
{
ActWorkflowStartDTO
dto
=
new
ActWorkflowStartDTO
();
dto
.
setProcessDefinitionKey
(
EQUIP_TRANSFER_PROCESS_KEY
);
dto
.
setBusinessKey
(
String
.
valueOf
(
i
));
list
.
add
(
dto
);
}
actWorkflowBatchDTO
.
setProcess
(
list
);
try
{
FeignClientResult
result
=
Workflow
.
taskV2Client
.
startByVariableBatch
(
actWorkflowBatchDTO
);
List
<
Object
>
returnList
=
(
List
<
Object
>)
result
.
getResult
();
for
(
Object
obj
:
returnList
)
{
JSONObject
jsonObject
=
JSON
.
parseObject
(
JSONObject
.
toJSONString
(
obj
));
String
instanceId
=
jsonObject
.
getString
(
"id"
);
instanceIdList
.
add
(
instanceId
);
// 查询下节点任务
if
(
returnList
.
get
(
0
).
equals
(
obj
))
{
getNext
(
roleListFirst
,
instanceId
,
taskName
);
}
// 推动下一个节点
AjaxResult
ajaxResult
=
Workflow
.
taskClient
.
getTask
(
instanceId
);
JSONObject
dataObject
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
ajaxResult
.
get
(
"data"
)));
String
taskId
=
dataObject
.
getString
(
"id"
);
//组装信息
TaskResultDTO
dto
=
new
TaskResultDTO
();
dto
.
setResultCode
(
"approvalStatus"
);
dto
.
setTaskId
(
taskId
);
dto
.
setComment
(
"提交流程"
);
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"approvalStatus"
,
"0"
);
dto
.
setVariable
(
map
);
//执行流程
AjaxResult
ajaxResult1
;
try
{
ajaxResult1
=
Workflow
.
taskClient
.
completeByTask
(
taskId
,
dto
);
if
(
ajaxResult1
.
get
(
"code"
).
equals
(
200
))
{
getNext
(
roleListSecond
,
instanceId
,
taskName
);
}
else
{
log
.
error
(
"提交失败"
);
}
}
catch
(
Exception
e
)
{
log
.
error
(
"提交失败:{}"
,
e
.
getMessage
());
}
}
}
catch
(
Exception
e
)
{
log
.
error
(
"提交失败:{}"
,
e
.
getMessage
());
}
}
List
<
WorkflowResultDto
>
workflowResultList
=
workFlowInfo
(
submitType
,
deviceList
);
List
<
JgEquipTransfer
>
list
=
new
ArrayList
<>();
List
<
JgEquipTransferEq
>
equipTransferEqList
=
new
ArrayList
<>();
deviceList
.
forEach
(
obj
->
{
JgEquipTransferEq
jgEquipTransferEq
=
new
JgEquipTransferEq
();
JgEquipTransfer
dto
=
new
JgEquipTransfer
();
BeanUtils
.
copyProperties
(
model
,
dto
);
int
i
=
deviceList
.
indexOf
(
obj
);
IntStream
.
range
(
0
,
deviceList
.
size
()).
forEach
(
i
->
{
Map
<
String
,
Object
>
obj
=
deviceList
.
get
(
i
);
String
applyNo
=
applyNoList
.
get
(
i
);
dto
.
setApplyNo
(
applyNo
);
dto
.
setApplyDate
(
new
Date
());
if
(
SUBMIT_TYPE_FLOW
.
equals
(
submitType
))
{
dto
.
setNextExecuteIds
(
String
.
join
(
","
,
roleListSecond
));
dto
.
setInstanceStatus
(
String
.
join
(
","
,
roleListFirst
));
dto
.
setPromoter
(
reginParams
.
getUserModel
().
getUserId
());
dto
.
setApplyStatus
(
taskName
[
0
]);
}
jgEquipTransferEq
.
setEquId
(
String
.
valueOf
(
obj
.
get
(
"SEQUENCE_NBR"
)));
jgEquipTransferEq
.
setEquipTransferId
(
applyNo
);
if
(!
CollectionUtils
.
isEmpty
(
instanceIdList
))
{
dto
.
setInstanceId
(
instanceIdList
.
get
(
i
));
dto
.
setApplyStatus
(
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
()));
}
else
{
dto
.
setApplyStatus
(
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_SUBMITTED
.
getCode
()));
}
JgEquipTransferEq
jgEquipTransferEq
=
buildJgEquipTransferEq
(
obj
,
applyNo
);
JgEquipTransfer
dto
=
buildJgEquipTransfer
(
model
,
applyNo
,
reginParams
,
submitType
,
workflowResultList
,
i
);
dto
.
setCreateUserName
(
reginParams
.
getUserModel
().
getRealName
());
dto
.
setCreateUserId
(
reginParams
.
getUserModel
().
getUserId
());
dto
.
setCreateUserCompanyName
(
reginParams
.
getCompany
().
getCompanyName
());
list
.
add
(
dto
);
equipTransferEqList
.
add
(
jgEquipTransferEq
);
});
this
.
baseMapper
.
insertBatchSomeColumn
(
list
);
List
<
JgEquipTransferEq
>
jgEquipTransferEqList
=
equipTransferEqList
.
stream
().
map
(
transferEq
->
{
List
<
JgEquipTransfer
>
collect
=
list
.
stream
().
filter
(
transfer
->
transferEq
.
getEquipTransferId
().
equals
(
transfer
.
getApplyNo
())).
collect
(
Collectors
.
toList
()
);
Long
sequenceNbr
=
collect
.
get
(
0
).
getSequenceNbr
();
return
transferEq
.
setEquipTransferId
(
String
.
valueOf
(
sequenceNbr
));
}).
collect
(
Collectors
.
toList
()
);
if
(
SUBMIT_TYPE_FLOW
.
equals
(
submitType
))
{
buildTask
(
list
,
workflowResultList
);
}
List
<
JgEquipTransferEq
>
jgEquipTransferEqList
=
buildJgEquipTransferEqList
(
equipTransferEqList
,
list
);
jgEquipTransferEqMapper
.
insertBatchSomeColumn
(
jgEquipTransferEqList
);
}
private
JgEquipTransferEq
buildJgEquipTransferEq
(
Map
<
String
,
Object
>
obj
,
String
applyNo
)
{
JgEquipTransferEq
jgEquipTransferEq
=
new
JgEquipTransferEq
();
jgEquipTransferEq
.
setEquId
(
String
.
valueOf
(
obj
.
get
(
"SEQUENCE_NBR"
)));
jgEquipTransferEq
.
setEquipTransferId
(
applyNo
);
return
jgEquipTransferEq
;
}
private
JgEquipTransfer
buildJgEquipTransfer
(
JgEquipTransferDto
model
,
String
applyNo
,
ReginParams
reginParams
,
String
submitType
,
List
<
WorkflowResultDto
>
workflowResultList
,
int
i
)
{
JgEquipTransfer
dto
=
new
JgEquipTransfer
();
BeanUtils
.
copyProperties
(
model
,
dto
);
dto
.
setApplyNo
(
applyNo
);
dto
.
setApplyDate
(
new
Date
());
if
(
SUBMIT_TYPE_FLOW
.
equals
(
submitType
))
{
WorkflowResultDto
workflowResult
=
workflowResultList
.
get
(
i
);
dto
.
setNextExecuteIds
(
workflowResult
.
getNextExecutorRoleIds
());
dto
.
setInstanceStatus
(
workflowResult
.
getNextExecutorRoleIds
()
+
","
+
workflowResult
.
getExecutorRoleIds
());
dto
.
setPromoter
(
reginParams
.
getUserModel
().
getUserId
());
dto
.
setNextTaskId
(
workflowResult
.
getNextTaskId
());
}
return
dto
;
}
private
List
<
JgEquipTransferEq
>
buildJgEquipTransferEqList
(
List
<
JgEquipTransferEq
>
equipTransferEqList
,
List
<
JgEquipTransfer
>
list
)
{
return
equipTransferEqList
.
stream
()
.
map
(
transferEq
->
{
Long
sequenceNbr
=
list
.
stream
()
.
filter
(
transfer
->
transferEq
.
getEquipTransferId
().
equals
(
transfer
.
getApplyNo
()))
.
findFirst
()
.
map
(
JgEquipTransfer:
:
getSequenceNbr
)
.
orElse
(
null
);
return
transferEq
.
setEquipTransferId
(
String
.
valueOf
(
sequenceNbr
));
})
.
collect
(
Collectors
.
toList
());
}
private
void
handleResponseModel
(
ResponseModel
<
List
<
String
>>
listResponseModel
,
String
errorMessagePrefix
)
{
if
(
listResponseModel
==
null
||
listResponseModel
.
getStatus
()
!=
HttpStatus
.
OK
.
value
())
{
log
.
error
(
errorMessagePrefix
+
"{}"
,
listResponseModel
!=
null
?
listResponseModel
.
getMessage
()
:
"null"
);
throw
new
BadRequest
(
"告知单生成失败!"
);
}
}
private
void
handleApplyNoList
(
List
<
String
>
applyNoList
)
{
if
(
CollectionUtils
.
isEmpty
(
applyNoList
))
{
log
.
error
(
"告知单返回为空"
);
throw
new
BadRequest
(
"告知单生成失败!"
);
}
}
/**
* 插入代办
*/
private
void
buildTask
(
List
<
JgEquipTransfer
>
list
,
List
<
WorkflowResultDto
>
workflowResultList
)
{
if
(
CollectionUtils
.
isEmpty
(
list
)
||
CollectionUtils
.
isEmpty
(
workflowResultList
))
{
return
;
}
WorkflowResultDto
workflowResultDto
=
workflowResultList
.
get
(
0
);
List
<
TaskModelDto
>
taskModelDtoList
=
list
.
stream
().
map
(
item
->
buildTaskModelDto
(
item
,
workflowResultDto
)).
collect
(
Collectors
.
toList
());
commonService
.
buildTaskModel
(
taskModelDtoList
);
}
private
TaskModelDto
buildTaskModelDto
(
JgEquipTransfer
item
,
WorkflowResultDto
workflowResultDto
)
{
return
TaskModelDto
.
builder
()
.
flowCreateDate
(
item
.
getCreateDate
())
.
taskName
(
workflowResultDto
.
getNextTaskName
())
.
taskCode
(
item
.
getApplyNo
())
.
taskType
(
BusinessTypeEnum
.
JG_EQUIPMENT_HANDOVER
.
getCode
())
.
taskTypeLabel
(
BusinessTypeEnum
.
JG_EQUIPMENT_HANDOVER
.
getName
())
.
relationId
(
item
.
getInstanceId
())
.
executeUserIds
(
workflowResultDto
.
getNextExecutorUserIds
())
.
taskStatus
(
commonService
.
getDictionaryCodeByName
(
item
.
getApplyStatus
()))
.
taskStatusLabel
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
())
.
startUserId
(
item
.
getCreateUserId
())
.
startUser
(
item
.
getCreateUserName
())
.
startUserCompanyName
(
item
.
getCreateUserCompanyName
())
.
startDate
(
item
.
getCreateDate
())
.
model
(
item
)
.
nextExecuteUser
(
item
.
getNextExecuteIds
())
.
build
();
}
private
List
<
WorkflowResultDto
>
workFlowInfo
(
String
submitType
,
List
<
Map
<
String
,
Object
>>
deviceList
)
{
if
(!
SUBMIT_TYPE_FLOW
.
equals
(
submitType
))
{
return
new
ArrayList
<>();
}
ActWorkflowBatchDTO
actWorkflowBatchDTO
=
new
ActWorkflowBatchDTO
();
List
<
ActWorkflowStartDTO
>
list
=
deviceList
.
stream
()
.
map
(
item
->
{
ActWorkflowStartDTO
dto
=
new
ActWorkflowStartDTO
();
dto
.
setProcessDefinitionKey
(
EQUIP_TRANSFER_PROCESS_KEY
);
dto
.
setBusinessKey
(
item
.
get
(
"SEQUENCE_NBR"
).
toString
());
dto
.
setCompleteFirstTask
(
Boolean
.
TRUE
);
return
dto
;
})
.
collect
(
Collectors
.
toList
());
actWorkflowBatchDTO
.
setProcess
(
list
);
List
<
ProcessTaskDTO
>
processTaskDTOS
=
cmWorkflowService
.
startBatch
(
actWorkflowBatchDTO
);
// 组装工作流返回的数据
return
commonService
.
buildWorkFlowInfo
(
processTaskDTOS
);
}
private
void
convertField
(
JgEquipTransferDto
model
)
{
if
(
null
==
model
)
return
;
...
...
@@ -207,45 +233,6 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
}
}
void
getNext
(
ArrayList
<
String
>
roleListFirst
,
String
instanceId
,
String
[]
taskName
)
{
AjaxResult
aj
=
Workflow
.
taskClient
.
getTaskNoAuth
(
instanceId
);
JSONObject
taskNoAuth
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
aj
.
get
(
"data"
)));
if
(!
org
.
springframework
.
util
.
ObjectUtils
.
isEmpty
(
taskNoAuth
))
{
String
nextTaskId
=
taskNoAuth
.
getString
(
"id"
);
AjaxResult
taskGroupName
=
Workflow
.
taskClient
.
getTaskGroupName
(
nextTaskId
);
taskName
[
0
]
=
taskNoAuth
.
getString
(
"name"
);
JSONArray
data
=
JSON
.
parseArray
(
JSON
.
toJSONString
(
taskGroupName
.
get
(
"data"
)));
for
(
Object
datum
:
data
)
{
if
(((
Map
)
datum
).
containsKey
(
"groupId"
))
{
roleListFirst
.
add
(((
Map
)
datum
).
get
(
"groupId"
).
toString
());
}
}
}
}
/**
* 启动工作流
*
* @param businessKey businessKey
* @return s
* @throws Exception e
*/
public
String
startFlow
(
String
businessKey
)
throws
Exception
{
// 重新开启工作流
ActWorkflowStartDTO
dto
=
new
ActWorkflowStartDTO
();
dto
.
setProcessDefinitionKey
(
EQUIP_TRANSFER_PROCESS_KEY
);
dto
.
setBusinessKey
(
StringUtils
.
defaultString
(
businessKey
,
"1"
));
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
();
}
@Override
public
Page
<
JgEquipTransferDto
>
queryForJgEquipTransferPage
(
Page
<
JgEquipTransferDto
>
page
,
JgEquipTransferDto
dto
,
String
type
,
ReginParams
reginParams
)
{
Page
<
JgEquipTransferDto
>
equipTransferPage
=
this
.
baseMapper
.
queryForPage
(
page
,
dto
,
type
,
reginParams
.
getCompany
().
getCompanyCode
());
...
...
@@ -303,130 +290,216 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
}
public
void
accept
(
JgEquipTransferDto
jgEquipTransferDto
,
String
op
)
{
String
[]
taskName
=
new
String
[]{
"流程结束"
};
String
userId
=
RequestContext
.
getExeUserId
();
ReginParams
reginParams
=
JSONObject
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
JgEquipTransfer
jgEquipTransfer
=
this
.
baseMapper
.
selectById
(
jgEquipTransferDto
.
getSequenceNbr
());
ProcessTaskDTO
processTaskDTO
;
WorkflowResultDto
workflowResultDto
;
TaskResultDTO
workDto
=
new
TaskResultDTO
();
workDto
.
setResultCode
(
"approvalStatus"
);
workDto
.
setTaskId
(
jgEquipTransfer
.
getNextTaskId
());
HashMap
<
String
,
Object
>
commMap
=
new
HashMap
<>();
if
(
jgEquipTransfer
.
getApplyStatus
().
equals
(
"6614"
)
||
jgEquipTransfer
.
getApplyStatus
().
equals
(
"6615"
))
{
commMap
.
put
(
"approvalStatus"
,
"提交"
);
}
else
{
commMap
.
put
(
"approvalStatus"
,
op
);
}
workDto
.
setVariable
(
commMap
);
workDto
.
setComment
(
jgEquipTransferDto
.
getProcessAdvice
());
processTaskDTO
=
cmWorkflowService
.
complete
(
jgEquipTransfer
.
getNextTaskId
(),
workDto
);
// 提取节点等信息
workflowResultDto
=
commonService
.
buildWorkFlowInfo
(
Collections
.
singletonList
(
processTaskDTO
)).
get
(
0
);
jgEquipTransfer
.
setPromoter
(
reginParams
.
getUserModel
().
getUserId
());
TaskV2Model
taskV2Model
=
new
TaskV2Model
();
jgEquipTransfer
.
setProcessAdvice
(
jgEquipTransferDto
.
getProcessAdvice
());
JgEquipTransferEq
jgEquipTransferEq
=
jgEquipTransferEqMapper
.
selectOne
(
Wrappers
.<
JgEquipTransferEq
>
lambdaQuery
().
select
(
JgEquipTransferEq:
:
getEquId
)
.
eq
(
JgEquipTransferEq:
:
getEquipTransferId
,
jgEquipTransferDto
.
getSequenceNbr
()));
ArrayList
<
String
>
roleList
=
new
ArrayList
<>();
boolean
submit
=
submit
(
jgEquipTransfer
,
op
);
if
(
submit
)
{
getNext
(
roleList
,
jgEquipTransferDto
.
getInstanceId
(),
taskName
);
jgEquipTransfer
.
setApplyStatus
(
taskName
[
0
]);
if
(
"0"
.
equals
(
op
))
{
if
(
roleList
.
isEmpty
())
{
jgEquipTransfer
.
setApplyStatus
(
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_FINISHED
.
getCode
()));
jgEquipTransfer
.
setPromoter
(
""
);
if
(
jgEquipTransferEq
!=
null
){
Map
<
String
,
Map
<
String
,
Object
>>
resultMap
=
new
HashMap
<>();
Map
<
String
,
Object
>
esParamMap
=
new
HashMap
<>();
esParamMap
.
put
(
"USC_UNIT_NAME"
,
jgEquipTransfer
.
getInstallUnitName
());
esParamMap
.
put
(
"USC_UNIT_CREDIT_CODE"
,
jgEquipTransfer
.
getInstallUnitName
());
resultMap
.
put
(
jgEquipTransferEq
.
getEquId
(),
esParamMap
);
tzsServiceFeignClient
.
commonUpdateEsDataByIds
(
resultMap
);
}
}
else
{
jgEquipTransfer
.
setNextExecuteIds
(
String
.
join
(
","
,
roleList
));
if
(!
ObjectUtils
.
isEmpty
(
jgEquipTransfer
.
getInstanceStatus
()))
{
jgEquipTransfer
.
setInstanceStatus
(
jgEquipTransfer
.
getInstanceStatus
()
+
","
+
String
.
join
(
","
,
roleList
));
}
else
{
jgEquipTransfer
.
setInstanceStatus
(
String
.
join
(
","
,
roleList
));
}
jgEquipTransfer
.
setPromoter
(
userId
);
jgEquipTransfer
.
setApplyStatus
(
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
()));
if
(
"0"
.
equals
(
op
))
{
if
(
StringUtils
.
isEmpty
(
workflowResultDto
.
getNextExecutorRoleIds
()))
{
jgEquipTransfer
.
setApplyStatus
(
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_FINISHED
.
getCode
()));
jgEquipTransfer
.
setPromoter
(
""
);
if
(
jgEquipTransferEq
!=
null
){
Map
<
String
,
Map
<
String
,
Object
>>
resultMap
=
MapBuilder
.<
String
,
Map
<
String
,
Object
>>
create
()
.
put
(
jgEquipTransferEq
.
getEquId
(),
MapBuilder
.<
String
,
Object
>
create
()
.
put
(
"USC_UNIT_NAME"
,
jgEquipTransfer
.
getInstallUnitName
())
.
put
(
"USC_UNIT_CREDIT_CODE"
,
jgEquipTransfer
.
getInstallUnitName
())
.
build
())
.
build
();
tzsServiceFeignClient
.
commonUpdateEsDataByIds
(
resultMap
);
}
// 上个代办改为已办
taskV2Model
=
commonService
.
updateTaskModel
(
MapBuilder
.<
String
,
Object
>
create
()
.
put
(
"taskStatus"
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getCode
())
.
put
(
"taskStatusLabel"
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
())
.
put
(
"relationId"
,
jgEquipTransfer
.
getInstanceId
())
.
build
());
}
else
{
//驳回
jgEquipTransfer
.
setPromoter
(
""
);
jgEquipTransfer
.
setApplyStatus
(
String
.
valueOf
(
FlowStatusEnum
.
REJECTED
.
getCode
()));
}
updateById
(
jgEquipTransfer
);
}
}
jgEquipTransfer
.
setNextExecuteIds
(
workflowResultDto
.
getNextExecutorRoleIds
());
if
(!
ObjectUtils
.
isEmpty
(
jgEquipTransfer
.
getInstanceStatus
()))
{
jgEquipTransfer
.
setInstanceStatus
(
jgEquipTransfer
.
getInstanceStatus
()
+
","
+
workflowResultDto
.
getNextExecutorRoleIds
());
}
else
{
jgEquipTransfer
.
setInstanceStatus
(
workflowResultDto
.
getNextExecutorRoleIds
());
}
jgEquipTransfer
.
setPromoter
(
userId
);
jgEquipTransfer
.
setApplyStatus
(
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
()));
// 上个代办改为已办
commonService
.
updateTaskModel
(
MapBuilder
.<
String
,
Object
>
create
()
.
put
(
"taskStatus"
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getCode
())
.
put
(
"taskStatusLabel"
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
())
.
put
(
"relationId"
,
jgEquipTransfer
.
getInstanceId
())
.
build
());
// 创建新的代办
TaskModelDto
taskModelDto
=
TaskModelDto
.
builder
()
.
flowCreateDate
(
taskV2Model
.
getFlowCreateDate
())
.
taskName
(
workflowResultDto
.
getNextTaskName
())
.
taskCode
(
taskV2Model
.
getTaskCode
())
.
taskType
(
taskV2Model
.
getTaskType
())
.
taskTypeLabel
(
taskV2Model
.
getTaskTypeLabel
())
.
relationId
(
taskV2Model
.
getRelationId
())
.
executeUserIds
(
workflowResultDto
.
getNextExecutorUserIds
())
.
taskStatus
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
())
.
taskStatusLabel
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
())
.
startUserId
(
taskV2Model
.
getStartUserId
())
.
startUser
(
taskV2Model
.
getStartUser
())
.
startDate
(
taskV2Model
.
getStartDate
())
.
model
(
jgEquipTransfer
)
.
nextExecuteUser
(
workflowResultDto
.
getNextExecutorRoleIds
())
.
build
();
commonService
.
buildTaskModel
(
Collections
.
singletonList
(
taskModelDto
));
public
boolean
submit
(
JgEquipTransfer
transfer
,
String
op
)
{
AjaxResult
ajaxResult
=
Workflow
.
taskClient
.
getTask
(
transfer
.
getInstanceId
());
JSONObject
dataObject
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
ajaxResult
.
get
(
"data"
)));
String
taskId
=
dataObject
.
getString
(
"id"
);
//组装信息
TaskResultDTO
dto
=
new
TaskResultDTO
();
dto
.
setResultCode
(
"approvalStatus"
);
dto
.
setTaskId
(
taskId
);
dto
.
setComment
(
"提交流程"
);
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"approvalStatus"
,
op
);
dto
.
setVariable
(
map
);
//执行流程
AjaxResult
ajaxResult1
;
try
{
ajaxResult1
=
Workflow
.
taskClient
.
completeByTask
(
taskId
,
dto
);
return
ajaxResult1
.
get
(
"code"
).
equals
(
200
);
}
catch
(
Exception
e
)
{
log
.
error
(
"提交失败:{}"
,
e
.
getMessage
());
return
false
;
}
}
else
{
//驳回
jgEquipTransfer
.
setPromoter
(
""
);
jgEquipTransfer
.
setApplyStatus
(
String
.
valueOf
(
FlowStatusEnum
.
REJECTED
.
getCode
()));
// 上个代办改为已办
commonService
.
updateTaskModel
(
MapBuilder
.<
String
,
Object
>
create
()
.
put
(
"taskStatus"
,
commonService
.
getDictionaryCodeByName
(
jgEquipTransfer
.
getApplyStatus
()))
.
put
(
"taskStatusLabel"
,
jgEquipTransfer
.
getApplyStatus
())
.
put
(
"relationId"
,
jgEquipTransfer
.
getInstanceId
())
.
build
());
TaskModelDto
taskModelDto
=
new
TaskModelDto
();
BeanUtils
.
copyProperties
(
taskV2Model
,
taskModelDto
);
// 创建新的代办
taskModelDto
.
setModel
(
jgEquipTransfer
);
taskModelDto
.
setTaskName
(
workflowResultDto
.
getNextTaskName
());
taskModelDto
.
setExecuteUserIds
(
workflowResultDto
.
getNextExecutorUserIds
());
taskModelDto
.
setTaskStatus
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
());
taskModelDto
.
setTaskStatusLabel
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
());
taskModelDto
.
setNextExecuteUser
(
workflowResultDto
.
getNextExecutorRoleIds
());
commonService
.
buildTaskModel
(
Collections
.
singletonList
(
taskModelDto
));
}
updateById
(
jgEquipTransfer
);
}
/**
* 撤回
* @param equipTransferInfo equipTransferInfo
*/
public
void
cancel
(
JgEquipTransferDto
equipTransferInfo
)
{
FeignClientResult
ajaxResult
=
Workflow
.
taskV2Client
.
rollBack
(
equipTransferInfo
.
getInstanceId
());
JgEquipTransfer
equipTransfer
=
this
.
baseMapper
.
selectById
(
equipTransferInfo
.
getSequenceNbr
());
if
(
ajaxResult
.
getStatus
()
==
200
)
{
equipTransfer
.
setApplyStatus
(
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_SUBMITTED
.
getCode
()));
equipTransfer
.
setPromoter
(
""
);
this
.
baseMapper
.
updateById
(
equipTransfer
);
}
ProcessTaskDTO
processTaskDTO
=
cmWorkflowService
.
rollBack
(
equipTransferInfo
.
getInstanceId
());
WorkflowResultDto
workflowResultDto
=
commonService
.
buildWorkFlowInfo
(
Collections
.
singletonList
(
processTaskDTO
)).
get
(
0
);
equipTransfer
.
setPromoter
(
""
);
equipTransfer
.
setNextExecuteIds
(
workflowResultDto
.
getNextExecutorRoleIds
());
equipTransfer
.
setApplyStatus
(
String
.
valueOf
(
FlowStatusEnum
.
ROLLBACK
.
getCode
()));
this
.
baseMapper
.
updateById
(
equipTransfer
);
commonService
.
deleteTaskModel
(
equipTransfer
.
getInstanceId
());
commonService
.
rollbackTask
(
equipTransfer
.
getInstanceId
());
}
public
JgEquipTransferDto
updateEquipTransfer
(
String
submitType
,
JgEquipTransferDto
equipTransferDto
,
String
op
)
{
if
(
Objects
.
isNull
(
equipTransferDto
)
||
StringUtils
.
isEmpty
(
submitType
))
throw
new
IllegalArgumentException
(
"参数不能为空"
);
String
[]
taskName
=
new
String
[]{
"流程结束"
};
ReginParams
reginParams
=
JSONObject
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
// 字段转换
this
.
convertField
(
equipTransferDto
);
ArrayList
<
String
>
roleListFirst
=
new
ArrayList
<>(
);
ArrayList
<
String
>
roleListSecond
=
new
ArrayList
<>(
);
equipTransferDto
.
setPromoter
(
reginParams
.
getUserModel
().
getUserId
()
);
JgEquipTransfer
transfer
=
this
.
getById
(
equipTransferDto
.
getSequenceNbr
()
);
if
(
SUBMIT_TYPE_FLOW
.
equals
(
submitType
))
{
AjaxResult
ajaxResult
;
// 发起流程
if
(!
org
.
springframework
.
util
.
StringUtils
.
hasText
(
equipTransferDto
.
getInstanceId
()))
{
// 发起流程
ProcessTaskDTO
processTaskDTO
;
WorkflowResultDto
workflowResultDto
;
ActWorkflowBatchDTO
actWorkflowBatchDTO
=
new
ActWorkflowBatchDTO
();
List
<
ActWorkflowStartDTO
>
list
=
new
ArrayList
<>();
ActWorkflowStartDTO
dto
=
new
ActWorkflowStartDTO
();
dto
.
setProcessDefinitionKey
(
EQUIP_TRANSFER_PROCESS_KEY
);
dto
.
setBusinessKey
(
"1"
);
try
{
ajaxResult
=
Workflow
.
taskClient
.
startByVariable
(
dto
);
String
instanceId
=
((
Map
)
ajaxResult
.
get
(
"data"
)).
get
(
"id"
).
toString
();
equipTransferDto
.
setInstanceId
(
instanceId
);
// 查询下节点任务
getNext
(
roleListFirst
,
instanceId
,
taskName
);
equipTransferDto
.
setInstanceStatus
(
String
.
join
(
","
,
roleListFirst
));
}
catch
(
Exception
e
)
{
log
.
error
(
"提交失败:{}"
,
e
.
getMessage
());
throw
new
RuntimeException
(
e
);
dto
.
setBusinessKey
(
equipTransferDto
.
getSequenceNbr
().
toString
());
dto
.
setCompleteFirstTask
(
Boolean
.
TRUE
);
list
.
add
(
dto
);
actWorkflowBatchDTO
.
setProcess
(
list
);
processTaskDTO
=
cmWorkflowService
.
startBatch
(
actWorkflowBatchDTO
).
get
(
0
);
// 提取节点等信息
workflowResultDto
=
commonService
.
buildWorkFlowInfo
(
Collections
.
singletonList
(
processTaskDTO
)).
get
(
0
);
BeanUtils
.
copyProperties
(
equipTransferDto
,
transfer
);
if
(!
ObjectUtils
.
isEmpty
(
transfer
.
getInstanceStatus
()))
{
transfer
.
setInstanceStatus
(
transfer
.
getInstanceStatus
()
+
","
+
workflowResultDto
.
getNextExecutorRoleIds
());
}
else
{
transfer
.
setInstanceStatus
(
workflowResultDto
.
getNextExecutorRoleIds
());
}
}
JgEquipTransfer
transfer
=
new
JgEquipTransfer
();
BeanUtils
.
copyProperties
(
equipTransferDto
,
transfer
);
boolean
submit
=
submit
(
transfer
,
op
);
if
(
submit
)
{
// 查询下节点任务
getNext
(
roleListSecond
,
transfer
.
getInstanceId
(),
taskName
);
transfer
.
setApplyStatus
(
taskName
[
0
]);
if
(!
org
.
springframework
.
util
.
ObjectUtils
.
isEmpty
(
transfer
.
getInstanceStatus
()))
{
transfer
.
setInstanceStatus
(
transfer
.
getInstanceStatus
()
+
","
+
roleListSecond
);
transfer
.
setPromoter
(
RequestContext
.
getExeUserId
());
transfer
.
setNextExecuteIds
(
String
.
join
(
","
,
workflowResultDto
.
getNextExecutorRoleIds
()));
transfer
.
setApplyStatus
(
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
()));
updateById
(
transfer
);
// 如果为保存并提交,则创建代办
buildTask
(
Collections
.
singletonList
(
transfer
),
Collections
.
singletonList
(
workflowResultDto
));
}
else
{
ProcessTaskDTO
processTaskDTO
=
new
ProcessTaskDTO
();
WorkflowResultDto
workflowResultDto
=
new
WorkflowResultDto
();
TaskResultDTO
dto
=
new
TaskResultDTO
();
dto
.
setResultCode
(
"approvalStatus"
);
dto
.
setTaskId
(
transfer
.
getNextTaskId
());
HashMap
<
String
,
Object
>
commMap
=
new
HashMap
<>();
if
(
transfer
.
getApplyStatus
().
equals
(
"6614"
)
||
transfer
.
getApplyStatus
().
equals
(
"6615"
))
{
commMap
.
put
(
"approvalStatus"
,
"提交"
);
}
else
{
commMap
.
put
(
"approvalStatus"
,
op
);
}
dto
.
setVariable
(
commMap
);
processTaskDTO
=
cmWorkflowService
.
complete
(
transfer
.
getNextTaskId
(),
dto
);
// 提取节点等信息
workflowResultDto
=
commonService
.
buildWorkFlowInfo
(
Collections
.
singletonList
(
processTaskDTO
)).
get
(
0
);
BeanUtils
.
copyProperties
(
equipTransferDto
,
transfer
);
if
(!
ObjectUtils
.
isEmpty
(
transfer
.
getInstanceStatus
()))
{
transfer
.
setInstanceStatus
(
transfer
.
getInstanceStatus
()
+
","
+
workflowResultDto
.
getNextExecutorRoleIds
());
}
else
{
transfer
.
setInstanceStatus
(
String
.
join
(
","
,
roleListSecond
));
transfer
.
setInstanceStatus
(
workflowResultDto
.
getNextExecutorRoleIds
(
));
}
transfer
.
setPromoter
(
RequestContext
.
getExeUserId
());
transfer
.
setNextExecuteIds
(
String
.
join
(
","
,
roleListSecond
));
transfer
.
setNextExecuteIds
(
String
.
join
(
","
,
workflowResultDto
.
getNextExecutorRoleIds
()
));
transfer
.
setApplyStatus
(
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
()));
updateById
(
transfer
);
// 上个代办改为已办
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"taskStatus"
,
commonService
.
getDictionaryCodeByName
(
transfer
.
getApplyStatus
()));
map
.
put
(
"taskStatusLabel"
,
transfer
.
getApplyStatus
());
map
.
put
(
"relationId"
,
transfer
.
getInstanceId
());
TaskV2Model
taskV2Model
=
commonService
.
updateTaskModel
(
map
);
TaskModelDto
taskModelDto
=
new
TaskModelDto
();
BeanUtils
.
copyProperties
(
taskV2Model
,
taskModelDto
);
// 创建新的代办
taskModelDto
.
setModel
(
transfer
);
taskModelDto
.
setTaskName
(
workflowResultDto
.
getNextTaskName
());
taskModelDto
.
setExecuteUserIds
(
workflowResultDto
.
getNextExecutorUserIds
());
taskModelDto
.
setTaskStatus
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
());
taskModelDto
.
setTaskStatusLabel
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
());
taskModelDto
.
setNextExecuteUser
(
workflowResultDto
.
getNextExecutorRoleIds
());
commonService
.
buildTaskModel
(
Collections
.
singletonList
(
taskModelDto
));
}
}
else
{
JgEquipTransfer
bean
=
new
JgEquipTransfer
();
...
...
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/JgMaintenanceContractServiceImpl.java
View file @
a7911fd0
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
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.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.service.impl.DataDictionaryServiceImpl
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisKey
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisUtils
;
import
com.yeejoin.amos.boot.module.jg.api.dto.JgMaintenanceContractDto
;
import
com.yeejoin.amos.boot.module.jg.api.dto.TaskModelDto
;
import
com.yeejoin.amos.boot.module.jg.api.dto.WorkflowResultDto
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContract
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContractEq
;
import
com.yeejoin.amos.boot.module.jg.api.enums.*
;
import
com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum
;
import
com.yeejoin.amos.boot.module.jg.api.enums.MaintenanceEnum
;
import
com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.JgMaintenanceContractEqMapper
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.JgMaintenanceContractMapper
;
import
com.yeejoin.amos.boot.module.jg.api.service.IJgMaintenanceContractService
;
import
com.yeejoin.amos.boot.module.jg.api.vo.JgMaintenanceContractVo
;
import
com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient
;
import
com.yeejoin.amos.boot.module.jg.
flc.api.fegin.WorkFlowFeign
Service
;
import
com.yeejoin.amos.boot.module.jg.
biz.service.ICmWorkflow
Service
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum
;
import
com.yeejoin.amos.
component.feign.model.FeignClientResult
;
import
com.yeejoin.amos.feign.workflow.
Workflow
;
import
com.yeejoin.amos.
feign.systemctl.model.TaskV2Model
;
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.
ProcessTaskDTO
;
import
com.yeejoin.amos.feign.workflow.model.TaskResultDTO
;
import
org.elasticsearch.client.RestHighLevelClient
;
import
org.springframework.beans.BeanUtils
;
...
...
@@ -35,8 +37,10 @@ import org.springframework.http.HttpStatus;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.StringUtils
;
import
org.typroject.tyboot.core.foundation.context.RequestContext
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
java.util.*
;
...
...
@@ -54,37 +58,29 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
public
static
final
String
SUBMIT_DATA
=
"0"
;
public
static
final
String
SUBMIT_TYPE_FLOW
=
"1"
;
public
static
final
String
WB_PROCESS_DEFINITION_KEY
=
"maintenanceFiling"
;
private
static
final
String
HANDLING_STATUS_DICTIONARY
=
"JGGZZZ"
;
private
static
final
String
USE
=
"使用"
;
@Autowired
TzsServiceFeignClient
tzsServiceFeignClient
;
@Autowired
RestHighLevelClient
restHighLevelClient
;
@Autowired
WorkFlowFeignService
workFlowFeginService
;
@Autowired
private
JgMaintenanceContractMapper
maintenanceContractMapper
;
@Autowired
private
JgMaintenanceContractEqMapper
maintenanceContractEqMapper
;
@Autowired
private
JgMaintenanceContractEqServiceImpl
jgMaintenanceContractEqService
;
@Autowired
private
DataDictionaryServiceImpl
iDataDictionaryService
;
@Autowired
RedisUtils
redisUtils
;
@Autowired
ICmWorkflowService
workflowService
;
@Autowired
CommonServiceImpl
commonService
;
/**
* 分页查询
*/
public
Page
<
JgMaintenanceContractVo
>
queryForPage
(
Page
<
JgMaintenanceContract
>
page
,
int
phase
,
// JgMaintenanceContractDto dto,
Map
<
String
,
Object
>
map
,
ReginParams
reginParams
)
{
// JgMaintenanceContractDto dto = new JgMaintenanceContractDto();
// JgMaintenanceContractDto dto = (JgMaintenanceContractDto)map;
public
Page
<
JgMaintenanceContractVo
>
queryForPage
(
Page
<
JgMaintenanceContract
>
page
,
int
phase
,
Map
<
String
,
Object
>
map
,
ReginParams
reginParams
)
{
JgMaintenanceContractDto
dto
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
map
.
get
(
"jgMaintenanceContractDto"
)),
JgMaintenanceContractDto
.
class
);
Page
<
JgMaintenanceContractDto
>
contractList
=
new
Page
<>();
...
...
@@ -117,7 +113,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
BeanUtils
.
copyProperties
(
dto
,
vo
);
vo
.
setMaintenanceContract
(
ObjectUtils
.
isEmpty
(
dto
.
getMaintenanceContract
())
?
null
:
JSON
.
parseArray
(
dto
.
getMaintenanceContract
()));
List
<
Map
<
String
,
Object
>>
list
=
maintenanceContractMapper
.
selectEquipList
(
sequenceNbr
);
if
(!
ObjectUtils
.
isEmpty
(
list
)){
if
(!
ObjectUtils
.
isEmpty
(
list
))
{
vo
.
setEquipmentLists
(
list
);
}
return
vo
;
...
...
@@ -136,9 +132,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
public
void
flowExecute
(
Long
id
,
String
instanceId
,
String
operate
,
String
comment
,
Boolean
update
)
{
try
{
JgMaintenanceContract
jgMaintenanceContract
=
this
.
getBaseMapper
().
selectById
(
id
);
JSONObject
task
=
workFlowFeginService
.
getTaskNoAuth
(
instanceId
);
JSONObject
taskMessage
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
task
.
get
(
"data"
)));
String
taskId
=
taskMessage
.
getString
(
"id"
);
String
taskId
=
jgMaintenanceContract
.
getNextTaskId
();
//组装信息
TaskResultDTO
dto
=
new
TaskResultDTO
();
dto
.
setResultCode
(
"approvalStatus"
);
...
...
@@ -150,55 +144,30 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
map
.
put
(
"approvalStatus"
,
"提交"
);
}
dto
.
setVariable
(
map
);
//执行流程
Workflow
.
taskClient
.
completeByTask
(
taskId
,
dto
);
ProcessTaskDTO
complete
=
workflowService
.
complete
(
taskId
,
dto
);
List
<
WorkflowResultDto
>
workflowResultDtos
=
commonService
.
buildWorkFlowInfo
(
Collections
.
singletonList
(
complete
));
String
nextUserIds
=
workflowResultDtos
.
get
(
0
).
getNextExecutorUserIds
();
createTaskModel
(
jgMaintenanceContract
,
complete
.
getNextTask
().
get
(
0
).
getName
(),
operate
,
nextUserIds
);
// 更新下一步执行人
updateExecuteIds
(
complete
,
id
,
operate
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
// 更新下一步执行人
updateExecuteIds
(
instanceId
,
id
,
operate
);
}
public
void
updateStatus
(
Long
id
,
String
taskName
,
String
role
,
Boolean
rollBack
)
{
ReginParams
reginParams
=
JSONObject
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
LambdaQueryWrapper
<
JgMaintenanceContract
>
lambda
=
new
QueryWrapper
<
JgMaintenanceContract
>().
lambda
();
lambda
.
eq
(
JgMaintenanceContract:
:
getSequenceNbr
,
id
);
JgMaintenanceContract
jgMaintenanceContract
=
this
.
getBaseMapper
().
selectOne
(
lambda
);
if
(
"流程结束"
.
equals
(
taskName
))
{
jgMaintenanceContract
.
setStatus
(
taskName
);
jgMaintenanceContract
.
setApplyStatus
(
"已完成"
);
}
else
{
jgMaintenanceContract
.
setNextExecuteIds
(
role
);
jgMaintenanceContract
.
setPromoter
(
reginParams
.
getUserModel
().
getUserId
());
if
(!
ObjectUtils
.
isEmpty
(
jgMaintenanceContract
.
getInstanceStatus
()))
{
jgMaintenanceContract
.
setInstanceStatus
(
jgMaintenanceContract
.
getInstanceStatus
()
+
","
+
role
);
}
else
{
jgMaintenanceContract
.
setInstanceStatus
(
role
);
}
UseStatusEnum
message
=
UseStatusEnum
.
getMessage
(
taskName
);
jgMaintenanceContract
.
setStatus
(
message
.
getPass
());
}
if
(
rollBack
){
this
.
getBaseMapper
().
update
(
jgMaintenanceContract
,
lambda
);
this
.
getBaseMapper
().
updatePromoter
(
jgMaintenanceContract
.
getSequenceNbr
());
}
else
{
this
.
getBaseMapper
().
update
(
jgMaintenanceContract
,
lambda
);
}
}
/**
* 批量删除
*/
@Transactional
public
Boolean
deleteForBatch
(
Long
[]
ids
)
{
List
<
Long
>
list
=
Arrays
.
asList
(
ids
);
list
.
forEach
(
x
->
{
list
.
forEach
(
x
->
{
QueryWrapper
<
JgMaintenanceContract
>
wrapper
=
new
QueryWrapper
<>();
wrapper
.
eq
(
"sequence_nbr"
,
x
);
JgMaintenanceContract
jgMaintenanceContract
=
maintenanceContractMapper
.
selectOne
(
wrapper
);
LambdaQueryWrapper
<
JgMaintenanceContractEq
>
queryWrapper
=
new
LambdaQueryWrapper
<
JgMaintenanceContractEq
>()
.
eq
(
JgMaintenanceContractEq:
:
getEquipTransferId
,
jgMaintenanceContract
.
getApplyNo
())
.
eq
(
JgMaintenanceContractEq:
:
getEquipTransferId
,
jgMaintenanceContract
.
getApplyNo
())
.
eq
(
JgMaintenanceContractEq:
:
getIsDelete
,
false
);
List
<
Long
>
listSeq
=
jgMaintenanceContractEqService
.
list
(
queryWrapper
).
stream
()
.
map
(
JgMaintenanceContractEq:
:
getSequenceNbr
).
collect
(
Collectors
.
toList
());
...
...
@@ -208,151 +177,32 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
return
true
;
}
public
String
startByVariable
()
{
String
instanceId
=
""
;
//启动流程
try
{
ActWorkflowStartDTO
dto
=
new
ActWorkflowStartDTO
();
dto
.
setProcessDefinitionKey
(
WB_PROCESS_DEFINITION_KEY
);
dto
.
setBusinessKey
(
"submit"
);
AjaxResult
ajaxResult
=
Workflow
.
taskClient
.
startByVariable
(
dto
);
instanceId
=
((
Map
<?,
?>)
ajaxResult
.
get
(
"data"
)).
get
(
"id"
).
toString
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
instanceId
;
}
/**
* 维保合同提交
*/
@Transactional
public
Boolean
submit
(
JgMaintenanceContractDto
dto
,
String
comment
,
String
operate
)
{
String
instanceId
=
""
;
try
{
AjaxResult
ajaxResult
;
ActWorkflowStartDTO
flowDto
=
new
ActWorkflowStartDTO
();
flowDto
.
setProcessDefinitionKey
(
WB_PROCESS_DEFINITION_KEY
);
flowDto
.
setBusinessKey
(
"1"
);
ajaxResult
=
Workflow
.
taskClient
.
startByVariable
(
flowDto
);
instanceId
=
((
Map
<?,
?>)
ajaxResult
.
get
(
"data"
)).
get
(
"id"
).
toString
();
ajaxResult
=
Workflow
.
taskClient
.
getTask
(
instanceId
);
// 执行一步
JSONObject
dataObject
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
ajaxResult
.
get
(
"data"
)));
String
taskId
=
dataObject
.
getString
(
"id"
);
//组装信息
TaskResultDTO
taskResultDTO
=
new
TaskResultDTO
();
taskResultDTO
.
setResultCode
(
"approvalStatus"
);
taskResultDTO
.
setTaskId
(
taskId
);
taskResultDTO
.
setComment
(
comment
);
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"approvalStatus"
,
operate
);
taskResultDTO
.
setVariable
(
map
);
//执行流程
Workflow
.
taskClient
.
completeByTask
(
taskId
,
taskResultDTO
);
Workflow
.
taskClient
.
completeByTask
(
taskId
,
taskResultDTO
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
dto
.
setApplyStatus
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
());
dto
.
setInstanceId
(
instanceId
);
dto
.
setReceiveOrgCode
(
null
);
return
this
.
updateBySequenceNbr
(
dto
);
}
@Transactional
public
Boolean
approval
(
JgMaintenanceContractDto
dto
,
String
comment
,
String
operate
)
{
String
instanceId
=
dto
.
getInstanceId
();
try
{
AjaxResult
ajaxResult
;
ajaxResult
=
Workflow
.
taskClient
.
getTask
(
instanceId
);
JSONObject
dataObject
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
ajaxResult
.
get
(
"data"
)));
String
taskId
=
dataObject
.
getString
(
"id"
);
//组装信息
TaskResultDTO
taskResultDTO
=
new
TaskResultDTO
();
taskResultDTO
.
setResultCode
(
"approvalStatus"
);
taskResultDTO
.
setTaskId
(
taskId
);
taskResultDTO
.
setComment
(
comment
);
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"approvalStatus"
,
operate
);
taskResultDTO
.
setVariable
(
map
);
//执行流程
Workflow
.
taskClient
.
completeByTask
(
taskId
,
taskResultDTO
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
// if("tongguo"){
// if("weibao"){
// dto.setApplyStatus(FlowStatusEnum.TO_BE_PROCESSED.getName());
// }else {
// dto.setApplyStatus(FlowStatusEnum.TO_BE_PROCESSED.getName());
// }
// }else {
// if("weibao"){
// dto.setApplyStatus(FlowStatusEnum.TO_BE_PROCESSED.getName());
// }else {
// dto.setApplyStatus(FlowStatusEnum.TO_BE_PROCESSED.getName());
// }
// }
if
(
"1"
.
equals
(
operate
)){
}
//审批通过
if
(
"0"
.
equals
(
operate
)){
}
dto
.
setApplyStatus
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
());
dto
.
setInstanceId
(
instanceId
);
dto
.
setReceiveOrgCode
(
null
);
return
this
.
updateBySequenceNbr
(
dto
);
}
/**
* 维保合同撤回
*/
@Transactional
public
void
revocation
(
String
instanceId
)
{
ReginParams
reginParams
=
JSONObject
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
String
taskCode
=
""
;
JgMaintenanceContract
jgMaintenanceContract
=
new
JgMaintenanceContract
();
LambdaQueryWrapper
<
JgMaintenanceContract
>
lambda
=
new
QueryWrapper
<
JgMaintenanceContract
>().
lambda
();
lambda
.
eq
(
JgMaintenanceContract:
:
getInstanceId
,
instanceId
);
ArrayList
<
String
>
roleList
=
new
ArrayList
<>();
try
{
workFlowFeginService
.
rollBack
(
instanceId
);
JSONObject
taskNoAuth
=
workFlowFeginService
.
getTaskNoAuth
(
instanceId
);
JSONObject
nextTask
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
taskNoAuth
.
get
(
"data"
)));
taskCode
=
nextTask
.
getString
(
"name"
);
if
(!
ObjectUtils
.
isEmpty
(
taskNoAuth
.
get
(
"data"
)))
{
String
nextTaskId
=
nextTask
.
getString
(
"id"
);
FeignClientResult
<
JSONObject
>
nodeInfo
=
workFlowFeginService
.
getNodeInfo
(
nextTaskId
);
JSONObject
result
=
nodeInfo
.
getResult
();
Map
<
String
,
Object
>
taskInfo
=
(
Map
<
String
,
Object
>)
result
.
get
(
"taskInfo"
);
taskCode
=
String
.
valueOf
(
taskInfo
.
get
(
"taskDefinitionKey"
));
AjaxResult
taskGroupName
=
Workflow
.
taskClient
.
getTaskGroupName
(
nextTaskId
);
JSONArray
data
=
JSON
.
parseArray
(
JSON
.
toJSONString
(
taskGroupName
.
get
(
"data"
)));
for
(
Object
datum
:
data
)
{
if
(((
Map
<?,
?>)
datum
).
containsKey
(
"groupId"
))
{
roleList
.
add
(((
Map
<?,
?>)
datum
).
get
(
"groupId"
).
toString
());
}
}
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
if
(!
ObjectUtils
.
isEmpty
(
taskCode
))
{
jgMaintenanceContract
.
setStatus
(
WorkFlowStatusEnum
.
getMessage
(
taskCode
).
getRollBack
());
public
void
revocation
(
String
instanceId
)
{
// 执行流程
JgMaintenanceContract
contract
=
new
JgMaintenanceContract
();
QueryWrapper
<
JgMaintenanceContract
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
lambda
().
eq
(
JgMaintenanceContract:
:
getInstanceId
,
instanceId
);
List
<
String
>
roleListNext
=
new
ArrayList
<>();
List
<
String
>
roleListAll
=
new
ArrayList
<>();
ProcessTaskDTO
processTaskDTO
=
workflowService
.
rollBack
(
instanceId
);
String
nextTaskId
=
processTaskDTO
.
getNextTask
().
get
(
0
).
getId
();
this
.
buildRoleList
(
Collections
.
singletonList
(
processTaskDTO
),
roleListNext
,
roleListAll
);
// 待调整
String
taskCode
=
processTaskDTO
.
getNextTask
().
get
(
0
).
getKey
();
if
(!
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
().
equals
(
taskCode
))
{
contract
.
setApplyStatus
(
WorkFlowStatusEnum
.
getMessage
(
taskCode
).
getRollBack
());
}
String
join
=
String
.
join
(
","
,
roleList
);
jgMaintenanceContract
.
setPromoter
(
reginParams
.
getUserModel
().
getUserId
());
jgMaintenanceContract
.
setNextExecuteIds
(
join
);
this
.
update
(
jgMaintenanceContract
,
lambda
);
contract
.
setPromoter
(
RequestContext
.
getExeUserId
());
contract
.
setNextExecuteIds
(
String
.
join
(
","
,
roleListNext
));
contract
.
setNextTaskId
(
nextTaskId
);
this
.
update
(
contract
,
queryWrapper
);
// 删除待办
commonService
.
deleteTaskModel
(
contract
.
getInstanceId
());
commonService
.
rollbackTask
(
contract
.
getInstanceId
());
}
/**
...
...
@@ -360,12 +210,13 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
saveOrSubmit
(
String
submit
,
Map
<
String
,
Object
>
map
,
ReginParams
reginParams
)
{
JgMaintenanceContractDto
d
to
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
map
),
JgMaintenanceContractDto
.
class
);
JgMaintenanceContractDto
contractD
to
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
map
),
JgMaintenanceContractDto
.
class
);
List
<
Map
<
String
,
Object
>>
equipmentLists
=
(
List
<
Map
<
String
,
Object
>>)
map
.
get
(
"equipmentLists"
);
CompanyBo
company
=
reginParams
.
getCompany
();
JgMaintenanceContract
contract
=
new
JgMaintenanceContract
();
BeanUtils
.
copyProperties
(
dto
,
contract
);
contract
.
setCreateDate
(
new
Date
());
// JgMaintenanceContract contract = new JgMaintenanceContract();
// BeanUtils.copyProperties(contractDto, contract);
contractDto
.
setCreateDate
(
new
Date
());
contractDto
.
setPromoter
(
reginParams
.
getUserModel
().
getUserId
());
//获取维保备案编号
ResponseModel
<
List
<
String
>>
listResponseModel
=
tzsServiceFeignClient
.
applicationFormCode
(
ApplicationFormTypeEnum
.
WBBA
.
getCode
(),
1
);
if
(!
ObjectUtils
.
isEmpty
(
listResponseModel
)
&&
listResponseModel
.
getStatus
()
!=
HttpStatus
.
OK
.
value
())
{
...
...
@@ -373,36 +224,32 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
return
false
;
}
String
wbApplyNo
=
listResponseModel
.
getResult
().
get
(
0
);
contract
.
setApplyNo
(
wbApplyNo
);
contract
.
setUseUnitCode
(
company
.
getCompanyCode
());
contract
.
setUseUnitName
(
company
.
getCompanyName
());
contract
Dto
.
setApplyNo
(
wbApplyNo
);
contract
Dto
.
setUseUnitCode
(
company
.
getCompanyCode
());
contract
Dto
.
setUseUnitName
(
company
.
getCompanyName
());
//管理员信息
String
[]
MaintenanceManager
=
d
to
.
getMaintenanceManagerId
().
split
(
"_"
);
contract
.
setMaintenanceManagerId
(
MaintenanceManager
[
0
]);
contract
.
setMaintenanceManagerName
(
MaintenanceManager
[
1
]);
String
[]
MaintenanceManager
=
contractD
to
.
getMaintenanceManagerId
().
split
(
"_"
);
contract
Dto
.
setMaintenanceManagerId
(
MaintenanceManager
[
0
]);
contract
Dto
.
setMaintenanceManagerName
(
MaintenanceManager
[
1
]);
//接收机构信息
String
[]
splitReceiveOrgCode
=
d
to
.
getReceiveOrgCode
().
split
(
"_"
);
contract
.
setReceiveOrgCode
(
splitReceiveOrgCode
[
0
]);
contract
.
setReceiveOrgName
(
splitReceiveOrgCode
[
1
]);
String
[]
splitReceiveOrgCode
=
contractD
to
.
getReceiveOrgCode
().
split
(
"_"
);
contract
Dto
.
setReceiveOrgCode
(
splitReceiveOrgCode
[
0
]);
contract
Dto
.
setReceiveOrgName
(
splitReceiveOrgCode
[
1
]);
//维保单位信息
String
[]
splitMaintenanceUnitCode
=
dto
.
getMaintenanceUnitCode
().
split
(
"_"
);
contract
.
setMaintenanceUnitCode
(
splitMaintenanceUnitCode
[
0
]);
contract
.
setMaintenanceUnitName
(
splitMaintenanceUnitCode
[
1
]);
contract
.
setApplyStatus
(
FlowStatusEnum
.
TO_BE_SUBMITTED
.
getName
());
contract
.
setEquNum
(
equipmentLists
.
size
());
// 新增编辑
if
(
"add"
.
equals
(
String
.
valueOf
(
map
.
get
(
"pageType"
))))
{
contract
.
setStatus
(
SUBMIT_DATA
.
equals
(
submit
)
?
WorkFlowStatusEnum
.
MAIN_SUBMIT
.
getPass
()
:
WorkFlowStatusEnum
.
MAIN_RECEIVE
.
getPass
());
this
.
save
(
contract
);
}
else
{
String
[]
splitMaintenanceUnitCode
=
contractDto
.
getMaintenanceUnitCode
().
split
(
"_"
);
contractDto
.
setMaintenanceUnitCode
(
splitMaintenanceUnitCode
[
0
]);
contractDto
.
setMaintenanceUnitName
(
splitMaintenanceUnitCode
[
1
]);
contractDto
.
setApplyStatus
(
FlowStatusEnum
.
TO_BE_SUBMITTED
.
getName
());
contractDto
.
setEquNum
(
equipmentLists
.
size
());
JgMaintenanceContract
contract
=
getById
(
contractDto
.
getSequenceNbr
());
BeanUtils
.
copyProperties
(
contractDto
,
contract
);
if
(!
"add"
.
equals
(
String
.
valueOf
(
map
.
get
(
"pageType"
))))
{
//编辑
this
.
getBaseMapper
().
updateById
(
contract
);
LambdaQueryWrapper
<
JgMaintenanceContractEq
>
lambda
=
new
QueryWrapper
<
JgMaintenanceContractEq
>().
lambda
();
lambda
.
eq
(
JgMaintenanceContractEq:
:
getEquipTransferId
,
contract
.
getSequenceNbr
());
jgMaintenanceContractEqService
.
getBaseMapper
().
delete
(
lambda
);
}
//关联设备信息
List
<
JgMaintenanceContractEq
>
equipList
=
new
ArrayList
<>();
equipmentLists
.
forEach
(
x
->
{
...
...
@@ -413,162 +260,198 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
});
// 保存维保关联设备信息
jgMaintenanceContractEqService
.
saveBatch
(
equipList
);
// 判断当前是否为提交
List
<
String
>
roleListNext
=
new
ArrayList
<>();
List
<
String
>
roleListAll
=
new
ArrayList
<>();
if
(
SUBMIT_TYPE_FLOW
.
equals
(
submit
))
{
String
instanceId
=
null
;
// 提交启动流程
if
(
map
.
containsKey
(
"instanceId"
)
&&
!
ObjectUtils
.
isEmpty
(
map
.
get
(
"instanceId"
)))
{
instanceId
=
String
.
valueOf
(
map
.
get
(
"instanceId"
));
if
(!
StringUtils
.
isEmpty
(
contract
.
getInstanceId
()))
{
// 发起流程
try
{
List
<
ProcessTaskDTO
>
processTasks
=
new
ArrayList
<>();
ActWorkflowBatchDTO
actWorkflowBatchDTO
=
new
ActWorkflowBatchDTO
();
List
<
ActWorkflowStartDTO
>
list
=
new
ArrayList
<>();
ActWorkflowStartDTO
dto
=
new
ActWorkflowStartDTO
();
dto
.
setProcessDefinitionKey
(
WB_PROCESS_DEFINITION_KEY
);
dto
.
setBusinessKey
(
contract
.
getApplyNo
());
dto
.
setCompleteFirstTask
(
true
);
list
.
add
(
dto
);
actWorkflowBatchDTO
.
setProcess
(
list
);
processTasks
=
workflowService
.
startBatch
(
actWorkflowBatchDTO
);
String
instanceId
=
processTasks
.
get
(
0
).
getProcessInstance
().
getId
();
String
nextTaskId
=
processTasks
.
get
(
0
).
getNextTask
().
get
(
0
).
getId
();
String
taskName
=
processTasks
.
get
(
0
).
getNextTask
().
get
(
0
).
getName
();
this
.
buildRoleList
(
processTasks
,
roleListNext
,
roleListAll
);
List
<
WorkflowResultDto
>
workflowResultDtos
=
commonService
.
buildWorkFlowInfo
(
processTasks
);
String
nextUserIds
=
workflowResultDtos
.
get
(
0
).
getNextExecutorUserIds
();
contract
.
setInstanceStatus
(
String
.
join
(
","
,
roleListAll
));
contract
.
setInstanceId
(
instanceId
);
contract
.
setNextExecuteIds
(
String
.
join
(
","
,
roleListNext
));
contract
.
setNextTaskId
(
nextTaskId
);
// 创建待办
JgMaintenanceContract
bean
=
new
JgMaintenanceContract
();
BeanUtil
.
copyProperties
(
contract
,
bean
);
createTaskModel
(
bean
,
taskName
,
"1"
,
nextUserIds
);
}
catch
(
Exception
e
)
{
log
.
error
(
"提交失败:{}"
,
e
);
throw
new
BadRequest
(
"提交失败"
+
e
.
getMessage
());
}
}
else
{
instanceId
=
startByVariable
();
}
if
(!
ObjectUtils
.
isEmpty
(
instanceId
))
{
// 修改数据信息
updateExecuteIds
(
instanceId
,
contract
.
getSequenceNbr
(),
"0"
);
// 默认执行流程
flowExecute
(
contract
.
getSequenceNbr
(),
instanceId
,
"0"
,
""
,
false
);
// 执行一步
ProcessTaskDTO
processTaskDTO
=
this
.
submit
(
"0"
,
contract
.
getNextTaskId
());
String
nextTaskId
=
processTaskDTO
.
getNextTask
().
get
(
0
).
getId
();
String
taskName
=
processTaskDTO
.
getNextTask
().
get
(
0
).
getName
();
this
.
buildRoleList
(
Collections
.
singletonList
(
processTaskDTO
),
roleListNext
,
roleListAll
);
List
<
WorkflowResultDto
>
workflowResultDtos
=
commonService
.
buildWorkFlowInfo
(
Collections
.
singletonList
(
processTaskDTO
));
String
nextUserIds
=
workflowResultDtos
.
get
(
0
).
getNextExecutorUserIds
();
// 查询下节点任务
if
(!
ObjectUtils
.
isEmpty
(
contract
.
getInstanceStatus
()))
{
contract
.
setInstanceStatus
(
contract
.
getInstanceStatus
()
+
","
+
String
.
join
(
""
,
roleListNext
));
}
else
{
contract
.
setInstanceStatus
(
String
.
join
(
","
,
roleListAll
));
}
contract
.
setPromoter
(
RequestContext
.
getExeUserId
());
contract
.
setNextExecuteIds
(
String
.
join
(
","
,
roleListNext
));
contract
.
setApplyStatus
(
String
.
valueOf
(
WorkFlowStatusEnum
.
MAIN_RECEIVE
.
getPass
()));
contract
.
setNextTaskId
(
nextTaskId
);
executeOneStep
(
contract
,
taskName
,
nextUserIds
);
}
updateById
(
contract
);
}
else
{
// 新增
contract
.
setStatus
(
SUBMIT_DATA
.
equals
(
submit
)
?
WorkFlowStatusEnum
.
MAIN_SUBMIT
.
getPass
()
:
WorkFlowStatusEnum
.
MAIN_RECEIVE
.
getPass
());
this
.
save
(
contract
);
}
return
true
;
}
public
void
updateExecuteIds
(
String
instanceId
,
Long
sequenceNbr
,
String
operate
){
ReginParams
reginParams
=
JSONObject
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
String
role
=
""
;
String
taskCode
=
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
();
ArrayList
<
String
>
roleList
=
new
ArrayList
<>();
JgMaintenanceContract
jgMaintenanceContract
=
this
.
getBaseMapper
().
selectById
(
sequenceNbr
);
try
{
// 查询下节点任务
public
ProcessTaskDTO
submit
(
String
op
,
String
taskId
)
{
//组装信息
TaskResultDTO
dto
=
new
TaskResultDTO
();
dto
.
setResultCode
(
"approvalStatus"
);
dto
.
setTaskId
(
taskId
);
dto
.
setComment
(
"提交流程"
);
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"approvalStatus"
,
op
);
dto
.
setVariable
(
map
);
return
workflowService
.
complete
(
taskId
,
dto
);
}
JSONObject
taskNoAuth
=
workFlowFeginService
.
getTaskNoAuth
(
instanceId
);
if
(!
ObjectUtils
.
isEmpty
(
taskNoAuth
.
get
(
"data"
)))
{
JSONObject
nextTask
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
taskNoAuth
.
get
(
"data"
)));
String
nextTaskId
=
nextTask
.
getString
(
"id"
);
FeignClientResult
<
JSONObject
>
nodeInfo
=
workFlowFeginService
.
getNodeInfo
(
nextTaskId
);
JSONObject
result
=
nodeInfo
.
getResult
();
Map
<
String
,
Object
>
taskInfo
=
(
Map
<
String
,
Object
>)
result
.
get
(
"taskInfo"
);
taskCode
=
String
.
valueOf
(
taskInfo
.
get
(
"taskDefinitionKey"
));
AjaxResult
taskGroupName
=
Workflow
.
taskClient
.
getTaskGroupName
(
nextTaskId
);
JSONArray
data
=
JSON
.
parseArray
(
JSON
.
toJSONString
(
taskGroupName
.
get
(
"data"
)));
for
(
Object
datum
:
data
)
{
if
(((
Map
)
datum
).
containsKey
(
"groupId"
))
{
roleList
.
add
(((
Map
)
datum
).
get
(
"groupId"
).
toString
());
}
}
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
private
void
buildRoleList
(
List
<
ProcessTaskDTO
>
processTasks
,
List
<
String
>
roleListNext
,
List
<
String
>
roleListAll
)
{
processTasks
.
forEach
(
p
->
{
p
.
getNextCandidateGroups
().
values
().
forEach
(
e
->
{
roleListNext
.
addAll
(
e
);
roleListAll
.
addAll
(
e
);
});
roleListAll
.
addAll
(
p
.
getCandidateGroups
());
});
}
public
void
updateExecuteIds
(
ProcessTaskDTO
processTaskDTO
,
Long
sequenceNbr
,
String
operate
)
{
List
<
String
>
roleListNext
=
new
ArrayList
<>();
List
<
String
>
roleListAll
=
new
ArrayList
<>();
String
taskCode
=
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
();
String
taskName
=
""
;
String
nextTaskId
=
""
;
JgMaintenanceContract
contract
=
this
.
getBaseMapper
().
selectById
(
sequenceNbr
);
if
(
processTaskDTO
!=
null
&&
processTaskDTO
.
getNextTask
()
!=
null
&&
processTaskDTO
.
getNextTask
().
size
()
>
0
)
{
taskCode
=
processTaskDTO
.
getNextTask
().
get
(
0
).
getKey
();
taskName
=
processTaskDTO
.
getNextTask
().
get
(
0
).
getName
();
nextTaskId
=
processTaskDTO
.
getNextTask
().
get
(
0
).
getId
();
}
if
(!
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
().
equals
(
taskCode
)){
role
=
String
.
join
(
","
,
roleList
);
jgMaintenanceContract
.
setNextExecuteIds
(
role
);
jgMaintenanceContract
.
setPromoter
(
reginParams
.
getUserModel
().
getUserId
());
jgMaintenanceContract
.
setInstanceId
(
instanceId
);
if
(!
ObjectUtils
.
isEmpty
(
jgMaintenanceContract
.
getInstanceStatus
()))
{
jgMaintenanceContract
.
setInstanceStatus
(
jgMaintenanceContract
.
getInstanceStatus
()
+
","
+
role
);
if
(!
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
().
equals
(
taskCode
))
{
this
.
buildRoleList
(
Collections
.
singletonList
(
processTaskDTO
),
roleListNext
,
roleListAll
);
List
<
WorkflowResultDto
>
workflowResultDtos
=
commonService
.
buildWorkFlowInfo
(
Collections
.
singletonList
(
processTaskDTO
));
String
nextUserIds
=
workflowResultDtos
.
get
(
0
).
getNextExecutorUserIds
();
contract
.
setNextExecuteIds
(
String
.
join
(
","
,
roleListNext
));
contract
.
setPromoter
(
RequestContext
.
getExeUserId
());
contract
.
setInstanceId
(
processTaskDTO
.
getProcessInstance
().
getId
());
contract
.
setNextTaskId
(
nextTaskId
);
if
(!
ObjectUtils
.
isEmpty
(
contract
.
getInstanceStatus
()))
{
contract
.
setInstanceStatus
(
contract
.
getInstanceStatus
()
+
","
+
String
.
join
(
","
,
roleListNext
));
}
else
{
jgMaintenanceContract
.
setInstanceStatus
(
role
);
contract
.
setInstanceStatus
(
String
.
join
(
","
,
roleListNext
)
);
}
if
(
"0"
.
equals
(
operate
)){
if
(
"0"
.
equals
(
operate
))
{
// 通过操作
jgMaintenanceC
ontract
.
setStatus
(
WorkFlowStatusEnum
.
getMessage
(
taskCode
).
getPass
());
}
else
{
c
ontract
.
setStatus
(
WorkFlowStatusEnum
.
getMessage
(
taskCode
).
getPass
());
}
else
{
// 驳回操作
jgMaintenanceC
ontract
.
setStatus
(
WorkFlowStatusEnum
.
getMessage
(
taskCode
).
getReject
());
jgMaintenanceC
ontract
.
setPromoter
(
null
);
c
ontract
.
setStatus
(
WorkFlowStatusEnum
.
getMessage
(
taskCode
).
getReject
());
c
ontract
.
setPromoter
(
null
);
}
}
else
{
jgMaintenanceContract
.
setApplyDate
(
new
Date
());
jgMaintenanceContract
.
setStatus
(
taskCode
);
executeOneStep
(
contract
,
taskName
,
nextUserIds
);
}
else
{
contract
.
setApplyDate
(
new
Date
());
contract
.
setStatus
(
taskCode
);
updateTaskModel
(
contract
);
}
this
.
getBaseMapper
().
updateById
(
jgMaintenanceContract
);
this
.
getBaseMapper
().
updateById
(
contract
);
}
private
void
executeOneStep
(
JgMaintenanceContract
contract
,
String
taskName
,
String
nextUserIds
)
{
// 先更新之前的待办
TaskV2Model
taskV2Model
=
updateTaskModel
(
contract
);
// 再插入新代办、数据待定
taskV2Model
.
setTaskName
(
taskName
);
taskV2Model
.
setExecuteUserIds
(
nextUserIds
);
taskV2Model
.
setTaskStatus
(
this
.
getTaskStatusByName
(
contract
.
getApplyStatus
()));
taskV2Model
.
setTaskStatusLabel
(
contract
.
getApplyStatus
());
TaskModelDto
modelDto
=
new
TaskModelDto
();
BeanUtil
.
copyProperties
(
taskV2Model
,
modelDto
);
modelDto
.
setNextExecuteUser
(
contract
.
getNextExecuteIds
());
modelDto
.
setModel
(
contract
);
commonService
.
buildTaskModel
(
Collections
.
singletonList
(
modelDto
));
}
private
void
extracted
(
String
instanceId
,
ArrayList
<
String
>
roleList
,
JgMaintenanceContract
contract
)
{
JSONObject
taskNoAuth
=
workFlowFeginService
.
getTaskNoAuth
(
instanceId
);
if
(!
ObjectUtils
.
isEmpty
(
taskNoAuth
.
get
(
"data"
)))
{
JSONObject
nextTask
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
taskNoAuth
.
get
(
"data"
)));
String
nextTaskId
=
nextTask
.
getString
(
"id"
);
AjaxResult
taskGroupName
=
Workflow
.
taskClient
.
getTaskGroupName
(
nextTaskId
);
JSONArray
data
=
JSON
.
parseArray
(
JSON
.
toJSONString
(
taskGroupName
.
get
(
"data"
)));
for
(
Object
datum
:
data
)
{
if
(((
Map
<?,
?>)
datum
).
containsKey
(
"groupId"
))
{
roleList
.
add
(((
Map
<?,
?>)
datum
).
get
(
"groupId"
).
toString
());
}
}
}
contract
.
setInstanceStatus
(
String
.
join
(
","
,
roleList
));
private
TaskV2Model
updateTaskModel
(
JgMaintenanceContract
contract
)
{
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"relationId"
,
contract
.
getInstanceId
());
params
.
put
(
"taskStatus"
,
this
.
getTaskStatusByName
(
contract
.
getApplyStatus
()));
params
.
put
(
"taskStatusLabel"
,
contract
.
getApplyStatus
());
return
commonService
.
updateTaskModel
(
params
);
}
/**
* 更新维保合同和设备对应关系
*/
@Transactional
public
Boolean
updateMaintenanceAndEquipment
(
String
submit
,
JgMaintenanceContractDto
dto
,
List
<
Map
<
String
,
Object
>>
list
)
{
String
instanceId
=
null
;
private
Integer
getTaskStatusByName
(
String
auditStatus
)
{
return
commonService
.
getDictionaryCodeByName
(
auditStatus
);
}
//更新维保合同表
String
[]
MaintenanceManager
=
dto
.
getMaintenanceManagerId
().
split
(
"_"
);
dto
.
setMaintenanceManagerId
(
dto
.
getMaintenanceManagerId
());
dto
.
setMaintenanceManagerName
(
MaintenanceManager
[
1
]);
private
void
createTaskModel
(
JgMaintenanceContract
dto
,
String
taskName
,
String
submitType
,
String
nextUserIds
)
{
ReginParams
reginParams
=
JSON
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
if
(
"1"
.
equals
(
submitType
))
{
TaskModelDto
taskModelDto
=
new
TaskModelDto
();
taskModelDto
.
setFlowCreateDate
(
dto
.
getApplyDate
());
taskModelDto
.
setTaskName
(
taskName
);
taskModelDto
.
setTaskCode
(
dto
.
getApplyNo
());
taskModelDto
.
setTaskContent
(
this
.
buildTaskContent
(
dto
));
taskModelDto
.
setTaskDesc
(
""
);
taskModelDto
.
setTaskType
(
BusinessTypeEnum
.
JG_MAINTENANCE_RECORD
.
getCode
());
taskModelDto
.
setTaskTypeLabel
(
BusinessTypeEnum
.
JG_MAINTENANCE_RECORD
.
getName
());
taskModelDto
.
setRelationId
(
dto
.
getInstanceId
());
taskModelDto
.
setExecuteUserIds
(
nextUserIds
);
taskModelDto
.
setTaskStatus
(
this
.
getTaskCodeByName
(
dto
.
getApplyStatus
()));
taskModelDto
.
setTaskStatusLabel
(
dto
.
getApplyStatus
());
taskModelDto
.
setStartUserId
(
dto
.
getCreateUserId
());
taskModelDto
.
setStartUser
(
reginParams
.
getUserModel
().
getRealName
());
taskModelDto
.
setStartUserCompanyName
(
dto
.
getUseUnitName
());
taskModelDto
.
setNextExecuteUser
(
dto
.
getNextExecuteIds
());
taskModelDto
.
setStartDate
(
dto
.
getCreateDate
());
taskModelDto
.
setModel
(
dto
);
commonService
.
buildTaskModel
(
Collections
.
singletonList
(
taskModelDto
));
}
}
String
[]
splitReceiveOrgCode
=
dto
.
getReceiveOrgCode
().
split
(
"_"
);
dto
.
setReceiveOrgCode
(
splitReceiveOrgCode
[
0
]
);
dto
.
setReceiveOrgName
(
splitReceiveOrgCode
[
1
]);
private
Integer
getTaskCodeByName
(
String
auditStatus
)
{
return
commonService
.
getDictionaryCodeByName
(
auditStatus
);
}
String
[]
splitMaintenanceUnitCode
=
dto
.
getMaintenanceUnitCode
().
split
(
"_"
);
dto
.
setMaintenanceUnitCode
(
dto
.
getMaintenanceUnitCode
());
dto
.
setMaintenanceUnitName
(
splitMaintenanceUnitCode
[
1
]);
// 判断当前是否为提交
if
(
SUBMIT_TYPE_FLOW
.
equals
(
submit
))
{
// 发起流程
try
{
ActWorkflowStartDTO
flowDto
=
new
ActWorkflowStartDTO
();
flowDto
.
setProcessDefinitionKey
(
WB_PROCESS_DEFINITION_KEY
);
flowDto
.
setBusinessKey
(
"1"
);
AjaxResult
ajaxResult
=
Workflow
.
taskClient
.
startByVariable
(
flowDto
);
instanceId
=
((
Map
<?,
?>)
ajaxResult
.
get
(
"data"
)).
get
(
"id"
).
toString
();
ajaxResult
=
Workflow
.
taskClient
.
getTask
(
instanceId
);
// 执行一步
JSONObject
dataObject
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
ajaxResult
.
get
(
"data"
)));
String
taskId
=
dataObject
.
getString
(
"id"
);
TaskResultDTO
taskResultDTO
=
new
TaskResultDTO
();
taskResultDTO
.
setResultCode
(
"approvalStatus"
);
taskResultDTO
.
setTaskId
(
taskId
);
taskResultDTO
.
setComment
(
"提交流程"
);
HashMap
<
String
,
Object
>
hashMap
=
new
HashMap
<>();
hashMap
.
put
(
"approvalStatus"
,
"0"
);
taskResultDTO
.
setVariable
(
hashMap
);
//执行流程
Workflow
.
taskClient
.
completeByTask
(
taskId
,
taskResultDTO
);
// dto.setApplyFlow(MaintenanceEnum.SHIYONG.getMsg()+","+MaintenanceEnum.WEIBAO.getMsg());
dto
.
setInstanceId
(
instanceId
);
}
catch
(
Exception
e
)
{
log
.
error
(
"维保使用单位提交流程启动失败:{}"
,
e
);
}
}
this
.
updateBySequenceNbr
(
dto
);
//更新对应设备表
if
(!
list
.
isEmpty
())
{
//先删除原先设备对应关系
LambdaQueryWrapper
<
JgMaintenanceContractEq
>
queryWrapper
=
new
LambdaQueryWrapper
<
JgMaintenanceContractEq
>()
.
eq
(
JgMaintenanceContractEq:
:
getEquId
,
list
.
get
(
0
).
get
(
"SEQUENCE_NBR"
))
.
eq
(
JgMaintenanceContractEq:
:
getIsDelete
,
false
);
List
<
Long
>
listSeq
=
jgMaintenanceContractEqService
.
list
(
queryWrapper
).
stream
()
.
map
(
JgMaintenanceContractEq:
:
getSequenceNbr
).
collect
(
Collectors
.
toList
());
jgMaintenanceContractEqService
.
deleteBatchSeq
(
listSeq
);
//重新生成关系表
List
<
JgMaintenanceContractEq
>
equipList
=
new
ArrayList
<>();
list
.
forEach
(
x
->
{
JgMaintenanceContractEq
equip
=
new
JgMaintenanceContractEq
();
equip
.
setEquId
(
String
.
valueOf
(
x
.
get
(
"SEQUENCE_NBR"
)));
equip
.
setEquipTransferId
(
dto
.
getApplyNo
());
equipList
.
add
(
equip
);
});
return
jgMaintenanceContractEqService
.
saveBatch
(
equipList
);
}
return
true
;
/**
* 摘要构建
*
* @param dto 业务
* @return 摘要
*/
private
String
buildTaskContent
(
JgMaintenanceContract
dto
)
{
return
"申请单号:"
+
dto
.
getApplyNo
()
+
"的业务办理"
;
}
}
\ No newline at end of file
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/JgTransferNoticeServiceImpl.java
View file @
a7911fd0
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.date.DateUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
...
...
@@ -365,7 +366,7 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto
@SuppressWarnings
({
"Duplicates"
,
"rawtypes"
})
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
saveNotice
(
String
submitType
,
Map
<
String
,
Object
>
jgTransferNoticeDtoMap
,
ReginParams
reginParams
)
{
JgTransferNoticeDto
model
=
JSON
.
parseObject
(
jgTransferNoticeDtoMap
.
get
(
TABLE_PAGE_ID
).
toString
(
),
JgTransferNoticeDto
.
class
);
JgTransferNoticeDto
model
=
JSON
.
parseObject
(
JSONObject
.
toJSONString
(
jgTransferNoticeDtoMap
.
get
(
TABLE_PAGE_ID
)
),
JgTransferNoticeDto
.
class
);
// 字段转换
convertField
(
model
);
// 获取告知设备列表
...
...
@@ -379,8 +380,7 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto
return
;
}
// 判断当前是否为提交
List
<
String
>
instanceIdList
=
new
ArrayList
<>();
// 启动工作流并返回信息
List
<
WorkflowResultDto
>
workflowResultList
=
workFlowInfo
(
submitType
,
deviceList
);
...
...
@@ -406,12 +406,14 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto
dto
.
setInstallUnitCreditCode
(
reginParams
.
getCompany
().
getCompanyCode
());
jgRelationEquip
.
setEquId
(
String
.
valueOf
(
obj
.
get
(
"SEQUENCE_NBR"
)));
jgRelationEquip
.
setEquipTransferId
(
applyNo
);
if
(!
CollectionUtils
.
isEmpty
(
instanceId
List
))
{
dto
.
setInstanceId
(
instanceIdList
.
get
(
i
));
if
(!
CollectionUtils
.
isEmpty
(
workflowResult
List
))
{
dto
.
setInstanceId
(
workflowResultList
.
get
(
i
).
getInstanceId
(
));
dto
.
setNoticeStatus
(
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
()));
}
else
{
dto
.
setNoticeStatus
(
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_SUBMITTED
.
getCode
()));
}
dto
.
setCreateUserName
(
reginParams
.
getUserModel
().
getRealName
());
dto
.
setCreateUserId
(
reginParams
.
getUserModel
().
getUserId
());
list
.
add
(
dto
);
equipList
.
add
(
jgRelationEquip
);
});
...
...
@@ -443,12 +445,12 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto
taskModelDto
.
setFlowCreateDate
(
item
.
getCreateDate
());
taskModelDto
.
setTaskName
(
workflowResultDto
.
getNextTaskName
());
// 工作流API返回
taskModelDto
.
setTaskCode
(
item
.
getApplyNo
());
taskModelDto
.
setTaskType
(
BusinessTypeEnum
.
JG_
INSTALLATION_NOTIFICATION
.
getCode
());
taskModelDto
.
setTaskTypeLabel
(
BusinessTypeEnum
.
JG_
INSTALLATION_NOTIFICATION
.
getName
());
taskModelDto
.
setTaskType
(
BusinessTypeEnum
.
JG_
ADVICE_REMOVAL
.
getCode
());
taskModelDto
.
setTaskTypeLabel
(
BusinessTypeEnum
.
JG_
ADVICE_REMOVAL
.
getName
());
taskModelDto
.
setRelationId
(
item
.
getInstanceId
());
taskModelDto
.
setExecuteUserIds
(
workflowResultDto
.
getNextExecutorUserIds
());
// 工作流API返回
taskModelDto
.
setTaskStatus
(
commonService
.
getDictionaryCodeByName
(
item
.
getNoticeStatus
()));
// 流程状态枚举
taskModelDto
.
setTaskStatusLabel
(
item
.
getNoticeStatus
());
taskModelDto
.
setTaskStatus
(
commonService
.
getDictionaryCodeByName
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
()));
// 流程状态枚举
taskModelDto
.
setTaskStatusLabel
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
());
taskModelDto
.
setStartUserId
(
item
.
getCreateUserId
());
taskModelDto
.
setStartUser
(
item
.
getCreateUserName
());
taskModelDto
.
setStartUserCompanyName
(
item
.
getCreateUserCompanyName
());
// 任务发起人所在单位
...
...
@@ -472,7 +474,9 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto
list
.
add
(
dto
);
});
actWorkflowBatchDTO
.
setProcess
(
list
);
System
.
out
.
println
(
"============== "
+
DateUtil
.
now
());
List
<
ProcessTaskDTO
>
processTaskDTOS
=
iCmWorkflowService
.
startBatch
(
actWorkflowBatchDTO
);
System
.
out
.
println
(
"============== "
+
DateUtil
.
now
());
// 组装工作流返回的数据
return
commonService
.
buildWorkFlowInfo
(
processTaskDTOS
);
}
...
...
@@ -565,7 +569,6 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto
jgInstallationNotice
.
setNextExecuteIds
(
workflowResultDto
.
getNextExecutorRoleIds
());
jgInstallationNotice
.
setNoticeStatus
(
String
.
valueOf
(
FlowStatusEnum
.
ROLLBACK
.
getCode
()));
jgTransferNoticeMapper
.
updateById
(
jgInstallationNotice
);
commonService
.
deleteTaskModel
(
jgInstallationNotice
.
getInstanceId
());
commonService
.
rollbackTask
(
jgInstallationNotice
.
getInstanceId
());
}
...
...
@@ -598,6 +601,7 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto
commMap
.
put
(
"approvalStatus"
,
op
);
}
workDto
.
setVariable
(
commMap
);
workDto
.
setComment
(
opinion
);
processTaskDTO
=
iCmWorkflowService
.
complete
(
jgTransferNotice
.
getNextTaskId
(),
workDto
);
// 提取节点等信息
workflowResultDto
=
commonService
.
buildWorkFlowInfo
(
Collections
.
singletonList
(
processTaskDTO
)).
get
(
0
);
...
...
@@ -623,8 +627,8 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto
this
.
generateTransferNoticeReport
(
jgTransferNotice
.
getSequenceNbr
());
// 上个代办改为已办
HashMap
<
String
,
Object
>
taskMap
=
new
HashMap
<>();
taskMap
.
put
(
"taskStatus"
,
commonService
.
getDictionaryCodeByName
(
jgTransferNotice
.
getNoticeStatus
()
));
taskMap
.
put
(
"taskStatusLabel"
,
jgTransferNotice
.
getNoticeStatus
());
taskMap
.
put
(
"taskStatus"
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getCode
(
));
taskMap
.
put
(
"taskStatusLabel"
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
());
taskMap
.
put
(
"relationId"
,
jgTransferNotice
.
getInstanceId
());
taskV2Model
=
commonService
.
updateTaskModel
(
taskMap
);
}
else
{
...
...
@@ -637,8 +641,8 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto
jgTransferNotice
.
setNoticeStatus
(
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
()));
// 上个代办改为已办
HashMap
<
String
,
Object
>
taskMap
=
new
HashMap
<>();
taskMap
.
put
(
"taskStatus"
,
commonService
.
getDictionaryCodeByName
(
jgTransferNotice
.
getNoticeStatus
()
));
taskMap
.
put
(
"taskStatusLabel"
,
jgTransferNotice
.
getNoticeStatus
());
taskMap
.
put
(
"taskStatus"
,
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
(
));
taskMap
.
put
(
"taskStatusLabel"
,
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
());
taskMap
.
put
(
"relationId"
,
jgTransferNotice
.
getInstanceId
());
taskV2Model
=
commonService
.
updateTaskModel
(
taskMap
);
TaskModelDto
taskModelDto
=
new
TaskModelDto
();
...
...
@@ -657,8 +661,8 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto
jgTransferNotice
.
setNoticeStatus
(
String
.
valueOf
(
FlowStatusEnum
.
REJECTED
.
getCode
()));
// 上个代办改为已办
HashMap
<
String
,
Object
>
taskMap
=
new
HashMap
<>();
taskMap
.
put
(
"taskStatus"
,
commonService
.
getDictionaryCodeByName
(
jgTransferNotice
.
getNoticeStatus
()
));
taskMap
.
put
(
"taskStatusLabel"
,
jgTransferNotice
.
getNoticeStatus
());
taskMap
.
put
(
"taskStatus"
,
jgTransferNotice
.
getNoticeStatus
(
));
taskMap
.
put
(
"taskStatusLabel"
,
FlowStatusEnum
.
REJECTED
.
getName
());
taskMap
.
put
(
"relationId"
,
jgTransferNotice
.
getInstanceId
());
taskV2Model
=
commonService
.
updateTaskModel
(
taskMap
);
TaskModelDto
taskModelDto
=
new
TaskModelDto
();
...
...
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/JgUseRegistrationServiceImpl.java
View file @
a7911fd0
...
...
@@ -11,9 +11,12 @@ import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import
com.yeejoin.amos.boot.biz.common.utils.RedisKey
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisUtils
;
import
com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationDto
;
import
com.yeejoin.amos.boot.module.jg.api.dto.TaskModelDto
;
import
com.yeejoin.amos.boot.module.jg.api.dto.WorkflowResultDto
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgRegistrationHistory
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistrationEq
;
import
com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum
;
import
com.yeejoin.amos.boot.module.jg.api.enums.EquipTypeEnum
;
import
com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.JgUseRegistrationEqMapper
;
...
...
@@ -36,15 +39,15 @@ import com.yeejoin.amos.boot.module.ymt.api.mapper.InspectionDetectionInfoMapper
import
com.yeejoin.amos.boot.module.ymt.api.mapper.OtherInfoMapper
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.UseInfoMapper
;
import
com.yeejoin.amos.component.feign.model.FeignClientResult
;
import
com.yeejoin.amos.feign.systemctl.model.TaskV2Model
;
import
com.yeejoin.amos.feign.workflow.Workflow
;
import
com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO
;
import
com.yeejoin.amos.feign.workflow.model.AjaxResult
;
import
com.yeejoin.amos.feign.workflow.model.TaskResultDTO
;
import
com.yeejoin.amos.feign.workflow.model.*
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.StopWatch
;
import
org.typroject.tyboot.core.foundation.context.RequestContext
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
...
...
@@ -90,6 +93,10 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
private
IdxBizJgFactoryInfoServiceImpl
idxBizJgFactoryInfoService
;
@Autowired
ICommonService
commonService
;
@Autowired
CommonServiceImpl
commonServiceImpl
;
@Autowired
CmWorkflowServiceImpl
cmWorkflowService
;
public
Page
<
Map
<
String
,
Object
>>
getList
(
JgUseRegistrationDto
dto
,
Page
<
Map
<
String
,
Object
>>
page
,
List
<
String
>
roleIds
)
{
Page
<
Map
<
String
,
Object
>>
listPage
=
this
.
baseMapper
.
getListPage
(
page
,
dto
,
roleIds
);
...
...
@@ -100,7 +107,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
return
this
.
baseMapper
.
getEquipListPage
(
page
,
factoryNum
,
equList
,
equCategory
);
}
public
void
updateEquipMessage
(
String
currentDocumentId
,
String
useOrgCode
){
public
void
updateEquipMessage
(
String
currentDocumentId
,
String
useOrgCode
)
{
LambdaQueryWrapper
<
JgRegistrationHistory
>
lambdaSelect
=
new
QueryWrapper
<
JgRegistrationHistory
>().
lambda
();
lambdaSelect
.
eq
(
JgRegistrationHistory:
:
getCurrentDocumentId
,
currentDocumentId
);
JgRegistrationHistory
jgRegistrationHistory
=
jgRegistrationHistoryService
.
getBaseMapper
().
selectOne
(
lambdaSelect
);
...
...
@@ -122,17 +129,17 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
idxBizJgRegisterInfoMapper
.
updateUseOrgCodeByEquip
(
String
.
valueOf
(
map
.
get
(
"equipId"
)),
useOrgCode
);
}
public
void
updateHistory
(
JSONObject
map
,
String
equipId
,
String
currentDocumentId
,
String
supervisoryCode
){
public
void
updateHistory
(
JSONObject
map
,
String
equipId
,
String
currentDocumentId
,
String
supervisoryCode
)
{
JgRegistrationHistory
jgRegistrationHistory
=
new
JgRegistrationHistory
();
LambdaQueryWrapper
<
JgRegistrationHistory
>
lambda
=
new
QueryWrapper
<
JgRegistrationHistory
>().
lambda
();
lambda
.
eq
(
JgRegistrationHistory:
:
getEquId
,
equipId
);
lambda
.
eq
(
JgRegistrationHistory:
:
getCurrentDocumentId
,
currentDocumentId
);
lambda
.
eq
(
JgRegistrationHistory:
:
getRegistrationClass
,
"使用登记"
);
Integer
integer
=
jgRegistrationHistoryService
.
getBaseMapper
().
selectCount
(
lambda
);
if
(
integer
>
0
){
if
(
integer
>
0
)
{
jgRegistrationHistory
.
setChangeData
(
JSON
.
toJSONString
(
map
));
jgRegistrationHistoryService
.
update
(
jgRegistrationHistory
,
lambda
);
}
else
{
}
else
{
jgRegistrationHistory
.
setChangeData
(
JSON
.
toJSONString
(
map
));
jgRegistrationHistory
.
setStatus
(
"new"
);
jgRegistrationHistory
.
setRegistrationClass
(
"使用登记"
);
...
...
@@ -189,7 +196,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
// List<String> applicationFormCode = iCreateCodeServicevice.createApplicationFormCode(ApplicationFormTypeEnum.SYDJ.getCode(), 1);
// jgUseRegistration.setApplyNo(applicationFormCode.get(0));
ResponseModel
<
List
<
String
>>
listResponseModel
=
tzsServiceFeignClient
.
applicationFormCode
(
ApplicationFormTypeEnum
.
SYDJ
.
getCode
(),
1
);
if
(!
ObjectUtils
.
isEmpty
(
listResponseModel
))
{
if
(!
ObjectUtils
.
isEmpty
(
listResponseModel
))
{
jgUseRegistration
.
setApplyNo
(
listResponseModel
.
getResult
().
get
(
0
));
}
jgUseRegistration
.
setAuditStatus
(
"待提交"
);
...
...
@@ -206,19 +213,132 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
instanceId
=
map
.
get
(
"instanceId"
).
toString
();
}
else
{
// 启动并执行流程
instanceId
=
startByVariable
();
// jgUseRegistration.setInstanceStatus("1460532889249755137");
// jgUseRegistration.setReceiveCompanyCode("610000");
updateExecuteIds
(
instanceId
,
jgUseRegistration
.
getSequenceNbr
(),
"0"
);
// instanceId = startByVariable();
ActWorkflowBatchDTO
actWorkflowBatchDTO
=
new
ActWorkflowBatchDTO
();
ActWorkflowStartDTO
dto
=
new
ActWorkflowStartDTO
();
ArrayList
<
ActWorkflowStartDTO
>
list
=
new
ArrayList
<>();
dto
.
setProcessDefinitionKey
(
"useRegistration"
);
dto
.
setBusinessKey
(
"test"
);
dto
.
setCompleteFirstTask
(
Boolean
.
TRUE
);
list
.
add
(
dto
);
actWorkflowBatchDTO
.
setProcess
(
list
);
List
<
ProcessTaskDTO
>
processTaskDTOS
=
cmWorkflowService
.
startBatch
(
actWorkflowBatchDTO
);
List
<
WorkflowResultDto
>
resultDto
=
commonServiceImpl
.
buildWorkFlowInfo
(
processTaskDTOS
);
if
(!
ObjectUtils
.
isEmpty
(
resultDto
)
&&
!
ObjectUtils
.
isEmpty
(
resultDto
.
get
(
0
)))
{
WorkflowResultDto
workflowResultDto
=
resultDto
.
get
(
0
);
JgUseRegistration
useRegistration
=
updateData
(
jgUseRegistration
.
getSequenceNbr
(),
"0"
,
workflowResultDto
,
Boolean
.
TRUE
);
buildTask
(
useRegistration
,
workflowResultDto
);
}
// updateExecuteIds(instanceId, jgUseRegistration.getSequenceNbr(), "0");
}
if
(!
ObjectUtils
.
isEmpty
(
instanceId
))
{
// 执行流程
flowExecute
(
jgUseRegistration
.
getSequenceNbr
(),
instanceId
,
"0"
,
""
);
// 更新数据信息
updateExecuteIds
(
instanceId
,
jgUseRegistration
.
getSequenceNbr
(),
"0"
);
// updateExecuteIds(instanceId, jgUseRegistration.getSequenceNbr(), "0");
}
}
}
public
JgUseRegistration
updateData
(
Long
sequenceNbr
,
String
operate
,
WorkflowResultDto
workflowResultDto
,
Boolean
isFirst
)
{
ReginParams
reginParams
=
JSONObject
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
String
role
=
workflowResultDto
.
getNextExecutorRoleIds
();
String
taskCode
=
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
();
if
(!
ObjectUtils
.
isEmpty
(
workflowResultDto
.
getNextTaskCode
()))
{
taskCode
=
workflowResultDto
.
getNextTaskCode
();
}
JgUseRegistration
jgUseRegistration
=
this
.
getBaseMapper
().
selectById
(
sequenceNbr
);
jgUseRegistration
.
setNextTaskId
(
workflowResultDto
.
getNextTaskId
());
if
(
isFirst
)
{
jgUseRegistration
.
setInstanceStatus
(
workflowResultDto
.
getExecutorRoleIds
());
jgUseRegistration
.
setInstanceId
(
workflowResultDto
.
getInstanceId
());
}
if
(!
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
().
equals
(
taskCode
))
{
jgUseRegistration
.
setNextExecuteIds
(
role
);
jgUseRegistration
.
setPromoter
(
reginParams
.
getUserModel
().
getUserId
());
if
(!
ObjectUtils
.
isEmpty
(
jgUseRegistration
.
getInstanceStatus
()))
{
jgUseRegistration
.
setInstanceStatus
(
jgUseRegistration
.
getInstanceStatus
()
+
","
+
role
);
}
else
{
jgUseRegistration
.
setInstanceStatus
(
role
);
}
if
(
"0"
.
equals
(
operate
))
{
// 通过操作
jgUseRegistration
.
setStatus
(
WorkFlowStatusEnum
.
getMessage
(
taskCode
).
getPass
());
}
else
{
// 驳回操作
jgUseRegistration
.
setStatus
(
WorkFlowStatusEnum
.
getMessage
(
taskCode
).
getReject
());
jgUseRegistration
.
setPromoter
(
null
);
}
}
else
{
// 流程结束
jgUseRegistration
.
setStatus
(
taskCode
);
if
(!
ObjectUtils
.
isEmpty
(
jgUseRegistration
.
getSupervisoryCode
()))
{
// 生成使用登记证编号
jgUseRegistration
.
setUseRegistrationCode
(
getCode
(
jgUseRegistration
.
getSupervisoryCode
()));
jgUseRegistration
.
setAuditPassDate
(
new
Date
());
}
// 更新设备信息
updateEquipMessage
(
String
.
valueOf
(
sequenceNbr
),
jgUseRegistration
.
getUseRegistrationCode
());
}
this
.
getBaseMapper
().
updateById
(
jgUseRegistration
);
return
jgUseRegistration
;
}
public
void
test
()
{
ActWorkflowBatchDTO
actWorkflowBatchDTO
=
new
ActWorkflowBatchDTO
();
ActWorkflowStartDTO
dto
=
new
ActWorkflowStartDTO
();
ArrayList
<
ActWorkflowStartDTO
>
list
=
new
ArrayList
<>();
dto
.
setProcessDefinitionKey
(
"useRegistration"
);
dto
.
setBusinessKey
(
"test"
);
dto
.
setCompleteFirstTask
(
Boolean
.
TRUE
);
list
.
add
(
dto
);
actWorkflowBatchDTO
.
setProcess
(
list
);
StopWatch
stopWatch
=
new
StopWatch
();
stopWatch
.
start
();
List
<
ProcessTaskDTO
>
processTaskDTOS
=
cmWorkflowService
.
startBatch
(
actWorkflowBatchDTO
);
stopWatch
.
stop
();
System
.
out
.
println
(
"请求耗时:"
+
stopWatch
.
getTotalTimeSeconds
());
if
(!
ObjectUtils
.
isEmpty
(
processTaskDTOS
))
{
List
<
WorkflowResultDto
>
workflowResultDtos
=
commonServiceImpl
.
buildWorkFlowInfo
(
processTaskDTOS
);
if
(!
ObjectUtils
.
isEmpty
(
workflowResultDtos
))
{
}
}
}
public
void
buildTask
(
JgUseRegistration
jgUseRegistration
,
WorkflowResultDto
workflowResultDto
)
{
// 代办消息
ArrayList
<
TaskModelDto
>
list
=
new
ArrayList
<>();
TaskModelDto
dto
=
new
TaskModelDto
();
dto
.
setTaskType
(
String
.
valueOf
(
BusinessTypeEnum
.
JG_USAGE_REGISTRATION
.
getCode
()));
dto
.
setTaskTypeLabel
(
BusinessTypeEnum
.
JG_USAGE_REGISTRATION
.
getName
());
dto
.
setFlowCreateDate
(
jgUseRegistration
.
getCreateDate
());
dto
.
setTaskName
(
workflowResultDto
.
getNextTaskName
());
dto
.
setTaskCode
(
workflowResultDto
.
getNextTaskCode
());
dto
.
setTaskDesc
(
"来自"
+
"电梯"
+
"【"
+
jgUseRegistration
.
getSupervisoryCode
()
+
"】,"
+
"【申请单号:"
+
jgUseRegistration
.
getApplyNo
()
+
"】"
);
dto
.
setTaskContent
(
"来自"
+
"电梯"
+
"【"
+
jgUseRegistration
.
getSupervisoryCode
()
+
"】,"
+
"【申请单号:"
+
jgUseRegistration
.
getApplyNo
()
+
"】"
);
dto
.
setRelationId
(
workflowResultDto
.
getInstanceId
());
dto
.
setExecuteUserIds
(
workflowResultDto
.
getNextExecutorUserIds
());
dto
.
setTaskStatus
(
commonServiceImpl
.
getDictionaryCodeByName
(
WorkFlowStatusEnum
.
getMessage
(
workflowResultDto
.
getNextTaskCode
()).
getPass
()));
dto
.
setTaskStatusLabel
(
workflowResultDto
.
getNextTaskName
());
dto
.
setStartUser
(
jgUseRegistration
.
getCreateUserId
());
dto
.
setStartUser
(
jgUseRegistration
.
getRecUserName
());
dto
.
setStartUserCompanyName
(
jgUseRegistration
.
getUseUnitName
());
dto
.
setStartDate
(
new
Date
());
jgUseRegistration
.
setInstanceId
(
workflowResultDto
.
getInstanceId
());
jgUseRegistration
.
setNextExecuteIds
(
workflowResultDto
.
getNextExecutorRoleIds
());
dto
.
setModel
(
jgUseRegistration
);
dto
.
setNextExecuteUser
(
workflowResultDto
.
getNextExecutorRoleIds
());
list
.
add
(
dto
);
commonServiceImpl
.
buildTaskModel
(
list
);
}
public
void
updateTask
()
{
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
TaskV2Model
taskV2Model
=
commonServiceImpl
.
updateTaskModel
(
map
);
}
public
String
startByVariable
()
{
...
...
@@ -236,49 +356,6 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
return
instanceId
;
}
// public String flowExecute(Long id,String instanceId, String operate, String comment, Boolean update) {
// String role = "";
// String taskName = "流程结束";
// ArrayList<String> roleList = new ArrayList<>();
// try {
// JSONObject task = workFlowFeginService.getTaskNoAuth(instanceId);
// JSONObject taskMessage = JSON.parseObject(JSON.toJSONString(task.get("data")));
// String taskId = taskMessage.getString("id");
// //组装信息
// TaskResultDTO dto = new TaskResultDTO();
// dto.setResultCode("approvalStatus");
// dto.setTaskId(taskId);
// dto.setComment(comment);
// HashMap<String, Object> map = new HashMap<>();
// map.put("approvalStatus", operate);
// dto.setVariable(map);
// //执行流程
// Workflow.taskClient.completeByTask(taskId, dto);
// // 查询下节点任务
// JSONObject taskNoAuth = workFlowFeginService.getTaskNoAuth(instanceId);
// if (!ObjectUtils.isEmpty(taskNoAuth.get("data"))) {
// JSONObject nextTask = JSON.parseObject(JSON.toJSONString(taskNoAuth.get("data")));
// String nextTaskId = nextTask.getString("id");
// taskName = nextTask.getString("name");
// AjaxResult taskGroupName = Workflow.taskClient.getTaskGroupName(nextTaskId);
// JSONArray data = JSON.parseArray(JSON.toJSONString(taskGroupName.get("data")));
// for (Object datum : data) {
// if (((Map) datum).containsKey("groupId")) {
// roleList.add(((Map) datum).get("groupId").toString());
// }
// }
// }
// } catch (Exception e) {
// e.printStackTrace();
// }
// role= String.join(",", roleList);
// if (update) {
// Boolean rollBack = "1".equals(operate) ? true : false;
// updateStatus(id,instanceId, taskName, role, rollBack);
// }
// return role;
// }
public
void
updateExecuteIds
(
String
instanceId
,
Long
sequenceNbr
,
String
operate
)
{
ReginParams
reginParams
=
JSONObject
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
String
role
=
""
;
...
...
@@ -342,60 +419,29 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
}
public
void
flowExecute
(
Long
id
,
String
instanceId
,
String
operate
,
String
comment
)
{
try
{
JgUseRegistration
jgUseRegistration
=
this
.
getBaseMapper
().
selectById
(
id
);
JSONObject
task
=
workFlowFeginService
.
getTaskNoAuth
(
instanceId
);
JSONObject
taskMessage
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
task
.
get
(
"data"
)));
String
taskId
=
taskMessage
.
getString
(
"id"
);
//组装信息
TaskResultDTO
dto
=
new
TaskResultDTO
();
dto
.
setResultCode
(
"approvalStatus"
);
dto
.
setTaskId
(
taskId
);
dto
.
setComment
(
comment
);
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"approvalStatus"
,
operate
);
if
(
jgUseRegistration
.
getStatus
().
equals
(
WorkFlowStatusEnum
.
USE_SUBMIT
.
getReject
())
||
jgUseRegistration
.
getStatus
().
equals
(
WorkFlowStatusEnum
.
USE_SUBMIT
.
getRollBack
()))
{
map
.
put
(
"approvalStatus"
,
"提交"
);
}
dto
.
setVariable
(
map
);
//执行流程
Workflow
.
taskClient
.
completeByTask
(
taskId
,
dto
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
JgUseRegistration
jgUseRegistration
=
this
.
getBaseMapper
().
selectById
(
id
);
//组装信息
TaskResultDTO
dto
=
new
TaskResultDTO
();
dto
.
setResultCode
(
"approvalStatus"
);
dto
.
setTaskId
(
jgUseRegistration
.
getNextTaskId
());
dto
.
setComment
(
comment
);
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"approvalStatus"
,
operate
);
if
(
jgUseRegistration
.
getStatus
().
equals
(
WorkFlowStatusEnum
.
USE_SUBMIT
.
getReject
())
||
jgUseRegistration
.
getStatus
().
equals
(
WorkFlowStatusEnum
.
USE_SUBMIT
.
getRollBack
()))
{
map
.
put
(
"approvalStatus"
,
"提交"
);
}
dto
.
setVariable
(
map
);
ProcessTaskDTO
complete
=
cmWorkflowService
.
complete
(
jgUseRegistration
.
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
workflowResultDto
=
resultDto
.
get
(
0
);
updateData
(
jgUseRegistration
.
getSequenceNbr
(),
"0"
,
workflowResultDto
,
Boolean
.
FALSE
);
}
// 更新下一步执行人
updateExecuteIds
(
instanceId
,
id
,
operate
);
}
// public void updateStatus(Long id , String instanceId, String taskName, String role, Boolean rollBack) {
// ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
// LambdaQueryWrapper<JgUseRegistration> lambda = new QueryWrapper<JgUseRegistration>().lambda();
// lambda.eq(JgUseRegistration::getSequenceNbr, id);
// JgUseRegistration jgUseRegistration = this.getBaseMapper().selectOne(lambda);
// if ("流程结束".equals(taskName)) {
// jgUseRegistration.setStatus(taskName);
// jgUseRegistration.setAuditStatus("已完成");
// } else {
// jgUseRegistration.setNextExecuteIds(role);
// jgUseRegistration.setPromoter(reginParams.getUserModel().getUserId());
// if (!ObjectUtils.isEmpty(jgUseRegistration.getInstanceStatus())) {
// jgUseRegistration.setInstanceStatus(jgUseRegistration.getInstanceStatus() + "," + role);
// } else {
// jgUseRegistration.setInstanceStatus(role);
// }
// UseStatusEnum message = UseStatusEnum.getMessage(taskName);
// jgUseRegistration.setStatus(message.getPass());
// }
// if (rollBack){
// this.getBaseMapper().update(jgUseRegistration, lambda);
// this.getBaseMapper().updatePromoter(jgUseRegistration.getSequenceNbr());
// }else {
// this.getBaseMapper().update(jgUseRegistration, lambda);
// }
// }
public
void
withdraw
(
String
instanceId
)
{
ReginParams
reginParams
=
JSONObject
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
String
taskCode
=
""
;
...
...
@@ -444,23 +490,23 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
}
public
Map
<
String
,
Object
>
getDetail
(
String
id
,
Long
sequenceNbr
)
{
if
(!
ObjectUtils
.
isEmpty
(
sequenceNbr
)){
if
(!
ObjectUtils
.
isEmpty
(
sequenceNbr
))
{
JgUseRegistration
jgUseRegistration
=
this
.
getBaseMapper
().
selectById
(
sequenceNbr
);
LambdaQueryWrapper
<
JgRegistrationHistory
>
lambda
=
new
QueryWrapper
<
JgRegistrationHistory
>().
lambda
();
lambda
.
eq
(
JgRegistrationHistory:
:
getCurrentDocumentId
,
sequenceNbr
);
lambda
.
eq
(
JgRegistrationHistory:
:
getEquId
,
id
);
JgRegistrationHistory
jgRegistrationHistory
=
jgRegistrationHistoryService
.
getBaseMapper
().
selectOne
(
lambda
);
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
jgRegistrationHistory
.
getChangeData
());
jsonObject
.
put
(
"receiveOrgCode"
,
jgUseRegistration
.
getReceiveCompanyCode
()
+
"_"
+
jgUseRegistration
.
getReceiveOrgName
());
jsonObject
.
put
(
"receiveOrgCode"
,
jgUseRegistration
.
getReceiveCompanyCode
()
+
"_"
+
jgUseRegistration
.
getReceiveOrgName
());
return
jsonObject
;
}
Map
<
String
,
Object
>
detail
=
this
.
baseMapper
.
getDetail
(
id
);
Map
<
String
,
Object
>
inspectDetail
=
this
.
baseMapper
.
getInspectDetail
(
id
);
Map
<
String
,
Object
>
useDetail
=
this
.
baseMapper
.
getUseDetail
(
id
);
if
(!
ObjectUtils
.
isEmpty
(
inspectDetail
)){
if
(!
ObjectUtils
.
isEmpty
(
inspectDetail
))
{
detail
.
putAll
(
inspectDetail
);
}
if
(!
ObjectUtils
.
isEmpty
(
useDetail
)){
if
(!
ObjectUtils
.
isEmpty
(
useDetail
))
{
detail
.
putAll
(
useDetail
);
}
detail
.
put
(
"proDuctPhoto"
,
JSON
.
parse
(
String
.
valueOf
(
detail
.
get
(
"proDuctPhoto"
))));
...
...
@@ -500,22 +546,22 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
throw
new
BadRequest
(
"使用登记证导出失败,请稍后重试!"
);
}
//登记机关
if
(
ValidationUtil
.
isEmpty
(
useRegistration
.
getReceiveOrgName
()))
{
if
(
ValidationUtil
.
isEmpty
(
useRegistration
.
getReceiveOrgName
()))
{
throw
new
BadRequest
(
"使用登记证导出失败,登记机关为空!"
);
}
exportParamsMap
.
put
(
"receiveOrgName"
,
useRegistration
.
getReceiveOrgName
());
//使用登记证编号
if
(
ValidationUtil
.
isEmpty
(
useRegistration
.
getUseRegistrationCode
()))
{
if
(
ValidationUtil
.
isEmpty
(
useRegistration
.
getUseRegistrationCode
()))
{
throw
new
BadRequest
(
"使用登记证导出失败,使用登记证编号为空!"
);
}
exportParamsMap
.
put
(
"useRegistrationCode"
,
useRegistration
.
getUseRegistrationCode
());
//使用单位名称
if
(
ValidationUtil
.
isEmpty
(
useRegistration
.
getUseUnitName
()))
{
if
(
ValidationUtil
.
isEmpty
(
useRegistration
.
getUseUnitName
()))
{
throw
new
BadRequest
(
"使用登记证导出失败,使用单位名称为空!"
);
}
exportParamsMap
.
put
(
"useUnitName"
,
useRegistration
.
getUseUnitName
());
//监管码
if
(
ValidationUtil
.
isEmpty
(
useRegistration
.
getSupervisoryCode
()))
{
if
(
ValidationUtil
.
isEmpty
(
useRegistration
.
getSupervisoryCode
()))
{
throw
new
BadRequest
(
"使用登记证导出失败,监管码为空!"
);
}
exportParamsMap
.
put
(
"supervisoryCode"
,
useRegistration
.
getSupervisoryCode
());
...
...
@@ -527,7 +573,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
//查询设备注册信息
IdxBizJgRegisterInfo
registerInfo
=
idxBizJgRegisterInfoService
.
getOne
(
new
QueryWrapper
<
IdxBizJgRegisterInfo
>().
eq
(
"RECORD"
,
useRegistrationEq
.
getEquId
()));
if
(!
ValidationUtil
.
isEmpty
(
registerInfo
))
{
if
(!
ValidationUtil
.
isEmpty
(
registerInfo
))
{
//设备种类、类别、品种
String
equList
=
registerInfo
.
getEquList
();
//设备种类
String
equCategory
=
registerInfo
.
getEquCategory
();
//设备类别
...
...
@@ -536,39 +582,39 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
List
<
EquipmentCategory
>
categoryList1
=
commonService
.
getEquipmentCategoryList
(
equCategory
,
null
);
List
<
EquipmentCategory
>
categoryList2
=
commonService
.
getEquipmentCategoryList
(
equDefine
,
null
);
if
(
CollectionUtils
.
isNotEmpty
(
categoryList0
))
{
if
(
ValidationUtil
.
isEmpty
(
categoryList0
.
get
(
0
).
getName
()))
{
if
(
ValidationUtil
.
isEmpty
(
categoryList0
.
get
(
0
).
getName
()))
{
throw
new
BadRequest
(
"使用登记证导出失败,设备种类为空!"
);
}
exportParamsMap
.
put
(
"equList"
,
categoryList0
.
get
(
0
).
getName
());
}
if
(
CollectionUtils
.
isNotEmpty
(
categoryList1
))
{
if
(
ValidationUtil
.
isEmpty
(
categoryList1
.
get
(
0
).
getName
()))
{
if
(
ValidationUtil
.
isEmpty
(
categoryList1
.
get
(
0
).
getName
()))
{
throw
new
BadRequest
(
"使用登记证导出失败,设备类别为空!"
);
}
exportParamsMap
.
put
(
"equCategory"
,
categoryList1
.
get
(
0
).
getName
());
}
if
(
CollectionUtils
.
isNotEmpty
(
categoryList2
))
{
if
(
ValidationUtil
.
isEmpty
(
categoryList2
.
get
(
0
).
getName
()))
{
if
(
ValidationUtil
.
isEmpty
(
categoryList2
.
get
(
0
).
getName
()))
{
throw
new
BadRequest
(
"使用登记证导出失败,设备品种为空!"
);
}
exportParamsMap
.
put
(
"equDefine"
,
categoryList2
.
get
(
0
).
getName
());
}
//设备代码
if
(
ValidationUtil
.
isEmpty
(
registerInfo
.
getEquCode
()))
{
if
(
ValidationUtil
.
isEmpty
(
registerInfo
.
getEquCode
()))
{
throw
new
BadRequest
(
"使用登记证导出失败,设备代码为空!"
);
}
exportParamsMap
.
put
(
"equCode"
,
registerInfo
.
getEquCode
());
}
IdxBizJgUseInfo
useInfo
=
idxBizJgUseInfoService
.
getOneData
(
useRegistrationEq
.
getEquId
());
if
(!
ValidationUtil
.
isEmpty
(
useInfo
))
{
if
(
ValidationUtil
.
isEmpty
(
useInfo
.
getUseInnerCode
()))
{
if
(!
ValidationUtil
.
isEmpty
(
useInfo
))
{
if
(
ValidationUtil
.
isEmpty
(
useInfo
.
getUseInnerCode
()))
{
throw
new
BadRequest
(
"使用登记证导出失败,设备单位内部编码为空!"
);
}
//单位内部编码
exportParamsMap
.
put
(
"useInnerCode"
,
useInfo
.
getUseInnerCode
());
//设备使用地址
String
fullAddress
=
""
;
String
fullAddress
=
""
;
if
(!
ObjectUtils
.
isEmpty
(
useInfo
.
getProvinceName
()))
{
fullAddress
+=
useInfo
.
getProvinceName
();
}
...
...
@@ -584,7 +630,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
if
(!
ObjectUtils
.
isEmpty
(
useInfo
.
getAddress
()))
{
fullAddress
+=
useInfo
.
getAddress
();
}
if
(
ValidationUtil
.
isEmpty
(
fullAddress
))
{
if
(
ValidationUtil
.
isEmpty
(
fullAddress
))
{
throw
new
BadRequest
(
"使用登记证导出失败,设备使用地址为空!"
);
}
exportParamsMap
.
put
(
"fullAddress"
,
fullAddress
);
...
...
@@ -592,8 +638,8 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
IdxBizJgFactoryInfo
factoryInfo
=
idxBizJgFactoryInfoService
.
getOneData
(
useRegistrationEq
.
getEquId
());
//产品编号(出厂编号)
if
(!
ValidationUtil
.
isEmpty
(
factoryInfo
))
{
if
(
ValidationUtil
.
isEmpty
(
factoryInfo
.
getFactoryNum
()))
{
if
(!
ValidationUtil
.
isEmpty
(
factoryInfo
))
{
if
(
ValidationUtil
.
isEmpty
(
factoryInfo
.
getFactoryNum
()))
{
throw
new
BadRequest
(
"使用登记证导出失败,产品编号为空!"
);
}
exportParamsMap
.
put
(
"factoryNum"
,
factoryInfo
.
getFactoryNum
());
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/resources/json/urlInfo.json
View file @
a7911fd0
...
...
@@ -51,7 +51,7 @@
"type"
:
"105"
,
"pageType"
:
"look"
,
"name"
:
"移装告知"
,
"url"
:
""
"url"
:
"
/mixuap?appId=1742358052905971713&id=1736722525146083329&formType=detail&userId={userId}&roleIds={roleIds}
"
},
{
"type"
:
"105"
,
...
...
@@ -75,25 +75,25 @@
"type"
:
"107"
,
"pageType"
:
"look"
,
"name"
:
"使用登记"
,
"url"
:
"
url:/mixuap?appId=1742358052905971713&id=1735202405437435906
&roleIds={roleIds}&userId={userId}&pageType=look"
"url"
:
"
/mixuap?appId=1742358052905971713&id=1734864899516952578
&roleIds={roleIds}&userId={userId}&pageType=look"
},
{
"type"
:
"107"
,
"pageType"
:
"edit"
,
"name"
:
"使用登记"
,
"url"
:
"
url:/mixuap?appId=1742358052905971713&id=1735202405437435906
&roleIds={roleIds}&userId={userId}&pageType=edit"
"url"
:
"
/mixuap?appId=1742358052905971713&id=1734864899516952578
&roleIds={roleIds}&userId={userId}&pageType=edit"
},
{
"type"
:
"108"
,
"pageType"
:
"look"
,
"name"
:
"更名变更登记"
,
"url"
:
"/mixuap?appId=1742358052905971713&id=1739186702624256001&roleIds={roleIds}&userId={userId}&pageType=look
"
"pageType"
:
"look"
,
"name"
:
"更名变更登记"
,
"url"
:
"/mixuap?appId=1742358052905971713&id=1739186702624256001&roleIds={roleIds}&userId={userId}&formType=detail
"
},
{
"type"
:
"108"
,
"pageType"
:
"edit"
,
"name"
:
"更名变更登记"
,
"url"
:
"/mixuap?appId=1742358052905971713&id=1739186702624256001&roleIds={roleIds}&userId={userId}&
pageType=edit
"
"url"
:
"/mixuap?appId=1742358052905971713&id=1739186702624256001&roleIds={roleIds}&userId={userId}&
formType=detail
"
},
{
"type"
:
"109"
,
...
...
@@ -123,13 +123,13 @@
"type"
:
"111"
,
"name"
:
"改造变更登记"
,
"pageType"
:
"look"
,
"url"
:
"/mixuap?appId=1742358052905971713&id=1737415693835464705&
sequenceNbr=%s&roleIds=%s&nextExecuteIds=%s&pageType=look¬iceStatus=%s&instanceId=%s
"
"url"
:
"/mixuap?appId=1742358052905971713&id=1737415693835464705&
roleIds={roleIds}&nextExecuteIds={userId}&pageType=look
"
},
{
"type"
:
"111"
,
"pageType"
:
"edit"
,
"name"
:
"改造变更登记"
,
"url"
:
"/mixuap?appId=1742358052905971713&id=1737415710281330690&
sequenceNbr=%s&roleIds=%s&nextExecuteIds=%s&pageType=edit¬iceStatus=%s&userId=%s&instanceId=%s
"
"url"
:
"/mixuap?appId=1742358052905971713&id=1737415710281330690&
roleIds={roleIds}&nextExecuteIds={userId}&pageType=edit
"
},
{
"type"
:
"112"
,
...
...
amos-boot-system-tzs/amos-boot-module-ymt/amos-boot-module-ymt-api/src/main/java/com/yeejoin/amos/boot/module/ymt/api/entity/UseInfo.java
View file @
a7911fd0
...
...
@@ -186,12 +186,12 @@ public class UseInfo extends AbstractEquipBaseEntity {
@TableField
(
value
=
"\"IS_NOT_ES\""
)
private
Integer
isNotEs
;
@TableField
(
value
=
"
NEXT_INSPECT_DATE
"
)
@TableField
(
value
=
"
\"NEXT_INSPECT_DATE\"
"
)
private
Date
nextInspectDate
;
@TableField
(
value
=
"
LAST_INSPECT_REPORT_NO
"
)
@TableField
(
value
=
"
\"LAST_INSPECT_REPORT_NO\"
"
)
private
String
lastInspectReportNo
;
@TableField
(
value
=
"
LAST_INSPECT_TYPE
"
)
@TableField
(
value
=
"
\"LAST_INSPECT_TYPE\"
"
)
private
String
lastInspectType
;
}
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