温馨提示:本文最后更新于
2025-07-09 14:58:07
,某些文章具有时效性,若有错误或已失效,请在下方留言。检修计划
审批通过后,将任务明细项
下发给负责人,负责人进行现场的检修工作。检修计划的流程,如下所示。

审批通过后,调用 任务下发接口
,将检修明细项下发给负责人。
任务下发接口
根据检修计划ID
获取检修计划明细项
,再根据检修明细项 ID
获取检修明细项实体,然后触发检修计划明细流程。
后台 Java 代码
/**
* 根据检修计划 ID 获取检修明细,并创建检修明细项流程
* @param id 检修计划 ID
* @return ActionResult
*/
@Operation(summary = "创建检修明细项流程")
@PostMapping("/createMaintenanceScheduleItemsFlow")
public ActionResult createMaintenanceScheduleItemsFlow(@RequestParam(value = "id") String id) {
// 获取检修计划信息
MaintenanceScheduleEntity info = maintenanceScheduleService.getInfo(id);
if (ObjectUtil.isNull(info)) {
return ActionResult.fail(MsgCode.FA001.get());
}
// 获取检修明细项列表
List<MaintenanceScheduleItemsEntity> items = info.getMaintenanceScheduleItems();
if (items.isEmpty()) {
return ActionResult.fail("没有检修明细项可供创建流程");
}
for (MaintenanceScheduleItemsEntity item : items) {
// 获取检修明细项的负责人
String personIncharge = item.getPersonincharge();
// 关联的检修明细实体
MaintenanceDetailsEntity entity = maintenanceDetailsService.getInfo(item.getRelationformfield94996e());
if(entity==null){
return ActionResult.fail(MsgCode.FA001.get());
}
// 设置检修明细项的负责人
entity.setPersonincharge(personIncharge);
Map<String, Object> maintenanceDetailsMap=JsonUtil.entityToMap(entity);
maintenanceDetailsMap.put("id", maintenanceDetailsMap.get("f_id"));
//副表数据
//子表数据
List<MaintenanceDetailsRepairEntity> maintenanceDetailsRepairList = entity.getMaintenanceDetailsRepair();
maintenanceDetailsMap.put("tableField2fdc6d",JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(maintenanceDetailsRepairList)));
List<MaintenanceDetailsMaterielEntity> maintenanceDetailsMaterielList = entity.getMaintenanceDetailsMateriel();
maintenanceDetailsMap.put("tableFieldb6cb30",JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(maintenanceDetailsMaterielList)));
List<MaintenanceDetailsTasksEntity> maintenanceDetailsTasksList = entity.getMaintenanceDetailsTasks();
maintenanceDetailsMap.put("tableField560738",JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(maintenanceDetailsTasksList)));
maintenanceDetailsMap.put("personInCharge", personIncharge);
maintenanceDetailsMap.put("maintenancePlanID", info.getId());
// 创建检修明细项流程
FlowModel fo = new FlowModel();
fo.setFlowId("712323600488600069");
fo.setStatus(1);
fo.setFlowUrgent(1);
fo.setIsFlow(0);
fo.setFormData(maintenanceDetailsMap);
// 设置办理节点人员信息
try {
taskService.batchSaveOrSubmit(fo);
if (ObjectUtil.equals(TaskStatusEnum.RUNNING.getCode(), fo.getStatus())) {
operatorUtil.event(fo, 1);
}
TaskEntity taskEntity = fo.getTaskEntity();
if (taskEntity.getRejectDataId() == null) {
operatorUtil.autoAudit(fo);
operatorUtil.handleEvent();
}
List<OperatorEntity> list = fo.getList();
if (CollectionUtil.isNotEmpty(list)) {
TimeUtil.timeModel(list, fo, redisUtil);
}
String msg = TaskStatusEnum.TO_BE_SUBMIT.getCode().equals(fo.getStatus()) ? MsgCode.SU002.get() : MsgCode.SU006.get();
TaskEntity task = taskService.getById(taskEntity.getId());
taskEntity = task == null ? taskEntity : task;
AuditModel model = taskUtil.getAuditModel(taskEntity.getId(), fo, null);
} catch (Exception e) {
log.error("创建检修明细项流程失败", e);
return ActionResult.fail(MsgCode.FA028.get());
}
}
return ActionResult.success();
}
前端接口配置
检修明细项流程
检修明细项流程,如下所示。

在流程发起
节点,表单权限的设置中,负责人
以及 巡检计划 ID
必须是可 编辑 的,否接上述接口无法将数据写入数据库。
© 版权声明
THE END
暂无评论内容