Commit 196baf06 authored by chenzhao's avatar chenzhao

迁移工具类

parent eb0b9a8a
package com.yeejoin.amos.boot.module.jyjc.api.model;
import lombok.Data;
@Data
public class TaskMessageDto {
/**
* 流程实例id
*/
String instanceId;
/**
* 流程状态
*/
String status;
/**
* 上一步操作人id
*/
String promoter;
/**
* 下个节点可操作人ids
*/
String nextExecuteUserIds;
/**
* 业务数据id
*/
Long sequenceNbr;
/**
* 下个节点可操作角色ids
*/
String nextExecuteIds;
/**
* 移装/安装 告知状态
*/
String noticeStatus;
/**
* 登记 告知状态
*/
String auditStatus;
/**
* 设备移交
*/
String applyStatus;
/**
* 流程创建(发起)人
*/
String createUserId;
/**
* 设备id、使用登记使用
*/
String equipId;
}
package com.yeejoin.amos.boot.module.jyjc.api.model;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* @author Administrator
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class TaskModelDto {
/**
* 工作流创建时间
*/
private Date flowCreateDate;
/**
* 工作流返回节点名称
*/
private String taskName;
/**
* 任务编号 可以使用申请单编号
*/
private String taskCode;
/**
* 流程任务ID
*/
private String flowCode;
/**
* 统一定义的枚举code 例如 6612 待受理
*/
private Integer flowStatus;
/**
* 统一定义的枚举code 例如 6612 待受理
*/
private String flowStatusLabel;
/**
* 摘要-来源
*/
private String taskContent;
/**
* 描述-非必输
*/
private String taskDesc;
/**
* 任务类型 从BusinessTypeEnum中获取自己对应类型code
**/
private String taskType;
/**
* 任务类型名称 汉字 从BusinessTypeEnum中获取自己对应类型名称
**/
private String taskTypeLabel;
/***
* 关联id 传工作流实例id
* */
private String relationId;
/**
* 执行人id 从工作流中获取
**/
private String executeUserIds;
/**
* 任务状态 操作名称 0 待处理 1驳回 2通过 3重新提交
*/
private Integer taskStatus;
/**
* 任务状态 操作名称 0 待处理 1驳回 2通过 3重新提交
*/
private String taskStatusLabel;
/**
* 任务发起人id 不变 第一次提交的人
* 从业务表中 created_uesr_id
*/
private String startUserId;
/**
* 任务发起人名称 不变
* 名字
*/
private String startUser;
/**
* 任务发起人所在单位 不变
*/
private String startUserCompanyName;
/**
* 任务发起人发起时间 不变
*/
private Date startDate;
/**
* 跳转路径
*/
private String routePath;
/**
* 当前业务实体对象
*/
private Object model;
/**
* 下一节点执行角色
*/
private String nextExecuteUser;
/**
* 是否跳转编辑页面
* */
private String pageType;
}
package com.yeejoin.amos.boot.module.jyjc.api.model;
import lombok.Data;
@Data
public class WorkflowResultDto {
/**
* WORKFLOW实例ids
* */
String instanceId;
/**
* 执行人角色
* */
String executorRoleIds;
String startUserId;
String startUserName;
String executorId;
String executorName;
/**
* 下一步执行人角色
* */
String nextExecutorRoleIds;
String nextTaskId;
/**
* 下一步执行人用户id 待办用
* */
String nextExecutorUserIds;
/**
* 当前节点任务名称
* */
String taskName;
/**
* 下一节点任务名称
* */
String nextTaskName;
/**
*
* 下一节点code
*/
String nextTaskCode;
}
package com.yeejoin.amos.boot.module.jyjc.biz.config;
import org.typroject.tyboot.core.foundation.exception.BaseException;
public class LocalBadRequest extends BaseException {
public LocalBadRequest(String message)
{
super(message, com.yeejoin.amos.component.robot.BadRequest.class.getSimpleName(),message);
this.httpStatus = 500;
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.jyjc.biz.service;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO;
import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO;
import com.yeejoin.amos.feign.workflow.model.TaskResultDTO;
import java.util.List;
/**
* @author Administrator
*/
public interface ICmWorkflowService {
List<ProcessTaskDTO> startBatch(ActWorkflowBatchDTO params);
ProcessTaskDTO complete(String taskId, TaskResultDTO data);
ProcessTaskDTO rollBack(String processInstanceId);
}
package com.yeejoin.amos.boot.module.jyjc.biz.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.jyjc.biz.config.LocalBadRequest;
import com.yeejoin.amos.boot.module.jyjc.biz.service.ICmWorkflowService;
import com.yeejoin.amos.component.feign.config.InnerInvokException;
import com.yeejoin.amos.component.feign.utils.FeignUtil;
import com.yeejoin.amos.feign.workflow.Workflow;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO;
import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO;
import com.yeejoin.amos.feign.workflow.model.TaskResultDTO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author Administrator
*/
@Service
@Slf4j
public class CmWorkflowServiceImpl implements ICmWorkflowService {
@Override
public List<ProcessTaskDTO> startBatch(ActWorkflowBatchDTO params) {
List<ProcessTaskDTO> processTasks;
try {
log.info("开始请求工作流启动接口:/start/batch,请求参数:{}", JSONObject.toJSONString(params));
processTasks = Workflow.taskV2Client.startForBatch(params).getResult();
} catch (InnerInvokException e) {
//拦截无审核人异常信息
String devMessage = e.getDevMessage();
devMessage = devMessage.contains(";") ? devMessage.split(";")[0] : devMessage;
log.error(devMessage);
throw new LocalBadRequest(devMessage);
} catch (Exception e) {
log.error("调用工作流批量启动失败", e);
throw new RuntimeException("调用工作流批量启动失败");
}
return processTasks;
}
@Override
public ProcessTaskDTO complete(String taskId, TaskResultDTO data) {
ProcessTaskDTO processTaskDTO;
try {
log.info("开始请求工作流完成任务接口:/complete/standard/{taskId},请求参数:{},{}", taskId, JSONObject.toJSONString(data));
processTaskDTO = Workflow.taskV2Client.completeByTaskFroStandard(taskId, data).getResult();
} catch (InnerInvokException e) {
//拦截无审核人异常信息
String devMessage = e.getDevMessage();
devMessage = devMessage.contains(";") ? devMessage.split(";")[0] : devMessage;
log.error(devMessage);
throw new LocalBadRequest(devMessage);
} catch (Exception e) {
log.error("调用工作流完成任务接口失败", e);
throw new RuntimeException("调用工作流完成任务接口失败");
}
return processTaskDTO;
}
@Override
public ProcessTaskDTO rollBack(String processInstanceId) {
log.info("开始请求工作流撤回接口:/rollBack/standard/{processInstanceId},请求参数:{}", processInstanceId);
return FeignUtil.remoteCall(() -> Workflow.taskV2Client.rollBackTask(processInstanceId));
}
}
...@@ -6,8 +6,11 @@ import org.springframework.core.io.Resource; ...@@ -6,8 +6,11 @@ import org.springframework.core.io.Resource;
import java.io.IOException; import java.io.IOException;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.Map; import java.util.Map;
import static com.alibaba.fastjson.JSON.parseArray;
public class JsonUtils { public class JsonUtils {
//将json文件转化为Map<list<Map<>>> //将json文件转化为Map<list<Map<>>>
...@@ -20,4 +23,18 @@ public class JsonUtils { ...@@ -20,4 +23,18 @@ public class JsonUtils {
} }
return JSONObject.parseObject(json, Map.class); return JSONObject.parseObject(json, Map.class);
} }
//将json文件转化为List<Map>
public static List<Map> getResourceList(Resource resource) {
String json = null;
try {
json = IOUtils.toString(resource.getInputStream(), String.valueOf(StandardCharsets.UTF_8));
} catch (IOException e) {
throw new RuntimeException(resource + "json文件转化失败");
}
List<Map> list = parseArray(json, Map.class);
return list;
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment