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
c8b63d0d
Commit
c8b63d0d
authored
Jan 12, 2024
by
tianyiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
停用启用保存并提交修改
parent
94bb9c1f
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
180 additions
and
41 deletions
+180
-41
JgEnableDisable.java
...ejoin/amos/boot/module/jg/api/entity/JgEnableDisable.java
+11
-0
BusinessTypeEnum.java
...ejoin/amos/boot/module/jg/api/enums/BusinessTypeEnum.java
+2
-2
JgEnableDisableServiceImpl.java
...odule/jg/biz/service/impl/JgEnableDisableServiceImpl.java
+167
-39
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/entity/JgEnableDisable.java
View file @
c8b63d0d
...
...
@@ -136,4 +136,15 @@ public class JgEnableDisable extends BaseEntity {
*/
@TableField
(
value
=
"next_task_id"
)
private
String
nextTaskId
;
@TableField
(
value
=
"create_user_company_name"
)
private
String
createUserCompanyName
;
@TableField
(
exist
=
false
)
private
String
equList
;
@TableField
(
exist
=
false
)
private
String
supervisoryCode
;
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/enums/BusinessTypeEnum.java
View file @
c8b63d0d
...
...
@@ -32,8 +32,8 @@ public enum BusinessTypeEnum {
JG_RENOVATION_REGISTRATION
(
"111"
,
"改造变更登记"
),
JG_EQUIPMENT_ST
OP
(
"112-1"
,
"设备启用"
),
JG_EQUIPMENT_ST
ART
(
"112-2"
,
"设备停用"
),
JG_EQUIPMENT_ST
ART
(
"112-1"
,
"设备启用"
),
JG_EQUIPMENT_ST
OP
(
"112-2"
,
"设备停用"
),
JG_EQUIPMENT_MOVE
(
"113-1"
,
"移装报废"
),
JG_EQUIPMENT_CANCEL
(
"113-2"
,
"注销报废"
),
...
...
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/JgEnableDisableServiceImpl.java
View file @
c8b63d0d
...
...
@@ -9,24 +9,28 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.
entity.JgEnableDisable
;
import
com.yeejoin.amos.boot.module.jg.api.
entity.JgEnableDisableEq
;
import
com.yeejoin.amos.boot.module.jg.api.entity.
JgMaintenanceContract
;
import
com.yeejoin.amos.boot.module.jg.api.en
tity.JgUseRegistration
;
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.en
ums.BusinessTypeEnum
;
import
com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.JgEnableDisableEqMapper
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.JgEnableDisableMapper
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.JgMaintainNoticeMapper
;
import
com.yeejoin.amos.boot.module.jg.api.service.IJgEnableDisableService
;
import
com.yeejoin.amos.boot.module.jg.api.dto.JgEnableDisableDto
;
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.flc.api.fegin.WorkFlowFeignService
;
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.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.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.ObjectUtils
;
import
org.typroject.tyboot.core.foundation.context.RequestContext
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
...
...
@@ -55,33 +59,54 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
JgEnableDisableEqServiceImpl
jgEnableDisableEqService
;
@Autowired
JgEnableDisableEqMapper
jgEnableDisableEqMapper
;
@Autowired
JgMaintainNoticeMapper
jgMaintainNoticeMapper
;
@Autowired
TzsServiceFeignClient
tzsServiceFeignClient
;
private
final
String
WORK_FLOW
_KEY
=
"deactivateEnable"
;
private
final
String
PROCESS_DEFINITION
_KEY
=
"deactivateEnable"
;
private
static
final
String
SUBMIT_TYPE_FLOW
=
"1"
;
public
void
saveOrUpdate
(
JSONObject
map
,
ReginParams
reginParams
)
{
@Autowired
private
CommonServiceImpl
commonService
;
@Autowired
ICmWorkflowService
iCmWorkflowService
;
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
saveOrUpdate
(
JSONObject
map
,
ReginParams
reginParams
)
{
JgEnableDisable
jgEnableDisable
=
new
JgEnableDisable
();
jgEnableDisable
.
setApplyDate
(
new
Date
());
String
submit
=
String
.
valueOf
(
map
.
get
(
"submit"
));
String
pageType
=
String
.
valueOf
(
map
.
get
(
"pageType"
));
if
(
map
.
containsKey
(
"receiveOrgCode"
))
{
// 接收机构
String
[]
splitMaintenanceUnitCode
=
String
.
valueOf
(
map
.
getString
(
"receiveOrgCode"
)).
split
(
"_"
);
jgEnableDisable
.
setReceiveOrgCode
(
splitMaintenanceUnitCode
[
0
]);
jgEnableDisable
.
setReceiveOrgName
(
splitMaintenanceUnitCode
[
1
]);
String
record
=
String
.
valueOf
(
map
.
get
(
"record"
));
List
<
WorkflowResultDto
>
workflowResultList
=
new
ArrayList
<>();
String
instanceId
=
""
;
if
(
map
.
containsKey
(
"instanceId"
))
{
instanceId
=
map
.
get
(
"instanceId"
).
toString
();
}
else
{
// 启动工作流并返回信息
workflowResultList
=
workFlowInfo
(
submit
,
record
);
}
jgEnableDisable
.
setUseUnitCreditCode
(
reginParams
.
getCompany
().
getCompanyCode
());
jgEnableDisable
.
setUseUnitName
(
reginParams
.
getCompany
().
getCompanyName
());
// 获取申请编号
ResponseModel
<
List
<
String
>>
listResponseModel
=
tzsServiceFeignClient
.
applicationFormCode
(
ApplicationFormTypeEnum
.
getCode
.
get
(
String
.
valueOf
(
map
.
get
(
"businessCode"
))),
1
);
//业务数据组装等
if
(!
ObjectUtils
.
isEmpty
(
listResponseModel
))
{
jgEnableDisable
.
setApplyNo
(
listResponseModel
.
getResult
().
get
(
0
));
}
String
businessCode
=
String
.
valueOf
(
map
.
get
(
"businessCode"
));
businessData
(
submit
,
reginParams
,
jgEnableDisable
,
map
,
workflowResultList
);
// 仅保存
if
(
"add"
.
equals
(
pageType
))
{
// 获取申请编号
ResponseModel
<
List
<
String
>>
listResponseModel
=
tzsServiceFeignClient
.
applicationFormCode
(
ApplicationFormTypeEnum
.
getCode
.
get
(
String
.
valueOf
(
map
.
get
(
"businessCode"
))),
1
);
if
(!
ObjectUtils
.
isEmpty
(
listResponseModel
))
{
jgEnableDisable
.
setApplyNo
(
listResponseModel
.
getResult
().
get
(
0
));
}
jgEnableDisable
.
setAuditStatus
(
WorkFlowStatusEnum
.
ENABLE_SUBMIT
.
getPass
());
this
.
save
(
jgEnableDisable
);
}
else
{
// 编辑
...
...
@@ -93,27 +118,88 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
}
// 关联设备表
JgEnableDisableEq
jgEnableDisableEq
=
new
JgEnableDisableEq
();
jgEnableDisableEq
.
setEquId
(
String
.
valueOf
(
map
.
get
(
"record"
))
);
jgEnableDisableEq
.
setEquId
(
record
);
jgEnableDisableEq
.
setEnableDisableApplyId
(
jgEnableDisable
.
getSequenceNbr
().
toString
());
jgEnableDisableEqService
.
save
(
jgEnableDisableEq
);
// 提交启动流程
if
(
"1"
.
equals
(
submit
))
{
String
instanceId
=
""
;
if
(
map
.
containsKey
(
"instanceId"
))
{
instanceId
=
map
.
get
(
"instanceId"
).
toString
();
}
else
{
instanceId
=
startByVariable
();
}
if
(!
ObjectUtils
.
isEmpty
(
instanceId
))
{
// 更新数据状态
updateExecuteIds
(
instanceId
,
jgEnableDisable
.
getSequenceNbr
(),
"0"
);
// 执行流程
flowExecute
(
jgEnableDisable
.
getSequenceNbr
(),
instanceId
,
"0"
,
""
);
}
// 如果为保存并提交,则创建代办
if
(
SUBMIT_TYPE_FLOW
.
equals
(
submit
))
{
buildTask
(
Arrays
.
asList
(
jgEnableDisable
),
businessCode
,
workflowResultList
);
}
}
/**
* 组装业务数据
*/
private
void
businessData
(
String
submitType
,
ReginParams
reginParams
,
JgEnableDisable
jgEnableDisable
,
JSONObject
map
,
List
<
WorkflowResultDto
>
workflowResultList
)
{
// 接收机构
String
[]
splitMaintenanceUnitCode
=
String
.
valueOf
(
map
.
getString
(
"receiveOrgCode"
)).
split
(
"_"
);
jgEnableDisable
.
setReceiveOrgCode
(
splitMaintenanceUnitCode
[
0
]);
jgEnableDisable
.
setReceiveOrgName
(
splitMaintenanceUnitCode
[
1
]);
jgEnableDisable
.
setUseUnitCreditCode
(
reginParams
.
getCompany
().
getCompanyCode
());
jgEnableDisable
.
setUseUnitName
(
reginParams
.
getCompany
().
getCompanyName
());
jgEnableDisable
.
setRemark
(
String
.
valueOf
(
map
.
get
(
"remark"
)));
jgEnableDisable
.
setApplyType
(
map
.
getString
(
"applyType"
));
jgEnableDisable
.
setCreateUserCompanyName
(
reginParams
.
getCompany
().
getCompanyName
());
jgEnableDisable
.
setPromoter
(
reginParams
.
getUserModel
().
getUserId
());
jgEnableDisable
.
setInstanceId
(
workflowResultList
.
get
(
0
).
getInstanceId
());
if
(
SUBMIT_TYPE_FLOW
.
equals
(
submitType
))
{
jgEnableDisable
.
setNextExecutorIds
(
workflowResultList
.
get
(
0
).
getNextExecutorRoleIds
());
jgEnableDisable
.
setExecuteSequence
(
workflowResultList
.
get
(
0
).
getNextExecutorRoleIds
()
+
","
+
workflowResultList
.
get
(
0
).
getExecutorRoleIds
());
jgEnableDisable
.
setPromoter
(
reginParams
.
getUserModel
().
getUserId
());
jgEnableDisable
.
setNextTaskId
(
workflowResultList
.
get
(
0
).
getNextTaskId
());
}
jgEnableDisable
.
setEquList
(
map
.
get
(
"equListDesc"
).
toString
());
jgEnableDisable
.
setSupervisoryCode
(
map
.
get
(
"supervisoryCode"
).
toString
());
if
(!
CollectionUtils
.
isEmpty
(
workflowResultList
))
{
jgEnableDisable
.
setInstanceId
(
workflowResultList
.
get
(
0
).
getInstanceId
());
jgEnableDisable
.
setAuditStatus
(
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
()));
}
else
{
jgEnableDisable
.
setAuditStatus
(
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_SUBMITTED
.
getCode
()));
}
jgEnableDisable
.
setCreateUserName
(
reginParams
.
getUserModel
().
getRealName
());
jgEnableDisable
.
setCreateUserId
(
reginParams
.
getUserModel
().
getUserId
());
}
/**
* 插入代办
*/
private
void
buildTask
(
List
<
JgEnableDisable
>
list
,
String
businessCode
,
List
<
WorkflowResultDto
>
workflowResultList
)
{
String
taskType
=
businessCode
.
equals
(
ApplicationFormTypeEnum
.
SBQY
.
getBusinessCode
())?
BusinessTypeEnum
.
JG_EQUIPMENT_START
.
getCode
():
BusinessTypeEnum
.
JG_EQUIPMENT_STOP
.
getCode
();
String
taskTypeLabel
=
businessCode
.
equals
(
ApplicationFormTypeEnum
.
SBQY
.
getBusinessCode
())?
BusinessTypeEnum
.
JG_EQUIPMENT_START
.
getName
():
BusinessTypeEnum
.
JG_EQUIPMENT_STOP
.
getName
();
List
<
TaskModelDto
>
taskModelDtoList
=
new
ArrayList
<>();
WorkflowResultDto
workflowResultDto
=
workflowResultList
.
get
(
0
);
list
.
forEach
(
item
->
{
TaskModelDto
taskModelDto
=
new
TaskModelDto
();
taskModelDto
.
setFlowCreateDate
(
item
.
getCreateDate
());
taskModelDto
.
setTaskName
(
workflowResultDto
.
getNextTaskName
());
// 工作流API返回
taskModelDto
.
setTaskCode
(
item
.
getApplyNo
());
taskModelDto
.
setTaskType
(
taskType
);
taskModelDto
.
setTaskTypeLabel
(
taskTypeLabel
);
taskModelDto
.
setRelationId
(
item
.
getInstanceId
());
taskModelDto
.
setExecuteUserIds
(
workflowResultDto
.
getNextExecutorUserIds
());
// 工作流API返回
taskModelDto
.
setTaskStatusLabel
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
());
taskModelDto
.
setFlowStatus
(
commonService
.
getDictionaryCodeByName
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
()));
// 流程状态枚举
taskModelDto
.
setFlowStatusLabel
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
());
taskModelDto
.
setFlowCode
(
item
.
getNextTaskId
());
taskModelDto
.
setStartUserId
(
item
.
getCreateUserId
());
taskModelDto
.
setStartUser
(
item
.
getCreateUserName
());
taskModelDto
.
setStartUserCompanyName
(
item
.
getCreateUserCompanyName
());
// 任务发起人所在单位
taskModelDto
.
setStartDate
(
item
.
getCreateDate
());
taskModelDto
.
setModel
(
item
);
taskModelDto
.
setNextExecuteUser
(
item
.
getExecuteSequence
());
taskModelDto
.
setTaskContent
(
String
.
format
(
"来自%s【%s】的业务办理,【申请单号:%s】"
,
item
.
getEquList
(),
item
.
getSupervisoryCode
(),
item
.
getApplyNo
()));
taskModelDtoList
.
add
(
taskModelDto
);
});
commonService
.
buildTaskModel
(
taskModelDtoList
);
}
public
Page
<
Map
<
String
,
Object
>>
pageList
(
Page
<
Map
<
String
,
Object
>>
page
,
JgEnableDisableDto
dto
)
{
ReginParams
reginParams
=
JSONObject
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
dto
.
setUseUnitCreditCode
(
reginParams
.
getCompany
().
getCompanyCode
());
...
...
@@ -126,7 +212,7 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
//启动流程
try
{
ActWorkflowStartDTO
dto
=
new
ActWorkflowStartDTO
();
dto
.
setProcessDefinitionKey
(
WORK_FLOW
_KEY
);
dto
.
setProcessDefinitionKey
(
PROCESS_DEFINITION
_KEY
);
dto
.
setBusinessKey
(
"submit"
);
AjaxResult
ajaxResult
=
Workflow
.
taskClient
.
startByVariable
(
dto
);
instanceId
=
((
Map
<?,
?>)
ajaxResult
.
get
(
"data"
)).
get
(
"id"
).
toString
();
...
...
@@ -136,6 +222,35 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
return
instanceId
;
}
/**
* 工作流启动并执行
* @param submitType 是否提交
* @param record 设备record
* @return 工作流返回相关数据
*/
private
List
<
WorkflowResultDto
>
workFlowInfo
(
String
submitType
,
String
record
)
{
if
(
SUBMIT_TYPE_FLOW
.
equals
(
submitType
))
{
ActWorkflowBatchDTO
actWorkflowBatchDTO
=
new
ActWorkflowBatchDTO
();
List
<
ActWorkflowStartDTO
>
list
=
new
ArrayList
<>();
ActWorkflowStartDTO
dto
=
new
ActWorkflowStartDTO
();
dto
.
setProcessDefinitionKey
(
PROCESS_DEFINITION_KEY
);
dto
.
setBusinessKey
(
record
);
dto
.
setCompleteFirstTask
(
Boolean
.
TRUE
);
list
.
add
(
dto
);
actWorkflowBatchDTO
.
setProcess
(
list
);
List
<
ProcessTaskDTO
>
processTaskDTOS
=
iCmWorkflowService
.
startBatch
(
actWorkflowBatchDTO
);
// 组装工作流返回的数据
return
commonService
.
buildWorkFlowInfo
(
processTaskDTOS
);
}
return
new
ArrayList
<>();
}
public
void
flowExecute
(
Long
id
,
String
instanceId
,
String
operate
,
String
comment
)
{
try
{
JgEnableDisable
jgEnableDisable
=
this
.
baseMapper
.
selectById
(
id
);
...
...
@@ -266,7 +381,20 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
}
public
Map
<
String
,
Object
>
getDetail
(
Long
sequenceNbr
)
{
return
this
.
baseMapper
.
getDetail
(
sequenceNbr
);
Map
<
String
,
Object
>
resultMap
=
this
.
baseMapper
.
getDetail
(
sequenceNbr
);
JgEnableDisableEq
jgEnableDisableEq
=
jgEnableDisableEqMapper
.
selectOne
(
new
LambdaQueryWrapper
<
JgEnableDisableEq
>().
eq
(
JgEnableDisableEq:
:
getEnableDisableApplyId
,
sequenceNbr
));
Map
<
String
,
Object
>
map
=
jgMaintainNoticeMapper
.
getEquipInfoByRecord
(
jgEnableDisableEq
.
getEquId
());
map
.
put
(
"equListDesc"
,
map
.
get
(
"equList"
));
map
.
put
(
"equCategoryDesc"
,
map
.
get
(
"equCategory"
));
map
.
put
(
"equDefineDesc"
,
map
.
get
(
"equDefine"
));
String
[]
fields
=
{
"productPhoto"
,
"designDoc"
,
"designStandard"
,
"factoryStandard"
,
"productQualityYieldProve"
,
"insUseMaintainExplain"
,
"inspectReport"
,
"proxyStatementAttachment"
,
"installContractAttachment"
};
for
(
String
s
:
fields
)
{
if
(
map
.
containsKey
(
s
)
&&
!
ObjectUtils
.
isEmpty
(
map
.
get
(
s
)))
map
.
put
(
s
,
JSON
.
parseArray
(
map
.
get
(
s
).
toString
()));
}
resultMap
.
putAll
(
map
);
return
resultMap
;
}
...
...
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