修改日期 | 修改人 | 备注 |
2020-04-29 11:27:10[当前版本] | 魏漫漫 | 格式调整 |
2020-04-29 11:25:50 | 魏漫漫 | 格式调整 |
2020-04-29 11:13:30 | 魏漫漫 | 格式调整 |
2020-04-28 16:36:26 | 魏漫漫 | 创建版本 |
近期在参与质量监督系统功能开发,涉及到工作流的使用操作,技术方案采用本部门已研究的第三方OA工作流。
具体开发过程中的总结记录如下:以质量监督申报流程举例
整个流程环节:质量监督申报--->窗口审核--->领导审核
当窗口审核通过则继续下一步流程操作,如果窗口审核未通过,则通知申报人,重新进行申报。
质量监督申报流程图如下:
质量监督申报流程图如下:
1、流程关联表(实体):
Application:应用(阶段)管理表
Process:流程管理表
Instance:工作(实例)管理表
Activity:活动管理表
2、业务主表(实体):
QualityProject:质量监督工程记录
QualitySupervisionApply:质量监督申报记录
1、质量监督申请
接口输入参数如下:
public class StartQualitySupervisionWFDto { /// <summary> /// 质量监督申报实体 /// </summary> public QualitySupervisionApplyDto QuaSuperInput { get; set; } /// <summary> /// 流程输入数据 /// </summary> public WFProcessDto ProcessInput { get; set; } /// <summary> /// 启动工作流数据传入对象 /// </summary> public StartWorkFlowInDto WFInParam { get; set; } /// <summary> /// 工作流流转数据传入对象 /// </summary> public TaskActionInDto TaskActionInParam { get; set; } }接口输出参数:申报唯一标识
2、获取当前流程信息
输入参数:
/// <param name="WorkOrWorkCompleted">workid</param>
/// <param name="identity">当前登陆用户标识</param>
/// <param name="ProjectGuid">工程唯一标识</param>
输出参数实体格式:
public class CurrentWFOutput { /// <summary> /// TaskID 下一步任务唯一标识 /// </summary> public string TaskID { get; set; } /// <summary> /// 上一步操作名称 /// </summary> public string LastStepName { get; set; } /// <summary> /// 上一步操作人 /// </summary> public string LastStepOperateUser { get; set; } /// <summary> /// 上一步操作时间 /// </summary> public DateTime LastStepOperateTime { get; set; } /// <summary> /// 当前操作名称 /// </summary> public string CurrentStepName { get; set; } /// <summary> /// 当前操作路由 /// </summary> public string[] RouteNameList { get; set; } /// <summary> /// 当前操作是否有权限 /// </summary> public bool Jurisdiction { get; set; } /// <summary> /// 待办任务 /// </summary> public WFOutTaskListDto NextTask { get; set; } /// <summary> /// 业务表唯一标识(质监申报表、监督检查表) /// </summary> public string BusinessID { get; set; } }
3、执行下一步流程
输入参数实体类:
public class NextWFInputDto { /// <summary> /// 阶段信息 /// </summary> public StageInput stage { get; set; } /// <summary> /// 监督小组信息 /// </summary> public QualityGroupInput group { get; set; } /// <summary> /// 待执行任务 /// </summary> public WFOutTaskListDto NextTask { get; set; } /// <summary> /// 工程名称 /// </summary> public string ProjectName { get; set; } /// <summary> /// 工作唯一标识 /// </summary> public string WorkID { get; set; } /// <summary> /// 当前操作人 /// </summary> public string OperatorName { get; set; } /// <summary> /// 业务表唯一标识 /// </summary> public string BusinessID { get; set; } }输出参数:bool类型,执行成功或失败。
4、质量监督重新申请
输入参数实体类:
public class AgainQualityApplyWFDto { /// <summary> /// 质量监督重新申报实体 /// </summary> public AgainQualityApplyDto ApplyInput { get; set; } /// <summary> /// 下一步任务 /// </summary> public WFOutTaskListDto NextTask { get; set; } /// <summary> /// 阶段信息 /// </summary> public StageInput stage { get; set; } }输出数据:申报唯一标识
5、获取工程阶段审批意见
输入参数:
/// <param name="projectguid">工程唯一标识</param>
/// <param name="processguid">流程唯一标识</param>
输出参数实体类格式:输出数据为List集合
public class ApprovalInfoOutput { public string StepName { get; set; }// StepName: "步骤名称", public string Remark { get; set; }// Remark: "意见详情", public DateTime OperateTime { get; set; }// OperateTime: "提交时间", public string OperateDisplayName { get; set; }// OperateDisplayName: "提交人", /// <summary> /// 申请业务表唯一标识 /// </summary> public string BusinessID { get; set; } }
6、获取审批意见
输入参数:
/// <param name="projectguid">工程唯一标识</param>
/// <param name="processguid">流程唯一标识</param>
输出参数实体类格式如下:输出为List集合
public class AuditOpinionOutput { /// <summary> /// 步骤名称 /// </summary> public string StepName { get; set; } /// <summary> /// 唯一标识 /// </summary> public string RowGuid { get; set; } /// <summary> /// 是否开始节点 /// </summary> public int IsStartNode { get; set; }// "IsStartNode":1, /// <summary> /// 操作人唯一标识 /// </summary> public string OperateUserName { get; set; }// "OperateUserName":"1958fd7769054a9aa34e62972f80dc63", /// <summary> /// 审批意见 /// </summary> public string Remark { get; set; }// "Remark":"【测试工程-地下室-墙体】", public string InstanceGuid { get; set; }// "InstanceGuid":"ccfd2e3b-f052-48bd-b9d7-63f4648376da", public string ApplicationId { get; set; }// "ApplicationId":"c8d6aa1b-9503-4397-82ef-0506cc240798", /// <summary> /// 操作时间 /// </summary> public DateTime OperateTime { get; set; }// "OperateTime":"2020-03-24T11:48:50.037", /// <summary> /// 操作人 /// </summary> public string OperateDisplayName { get; set; }// "OperateDisplayName":"贵阳江河建设工程管理有限公司", /// <summary> /// 路由的名称 /// </summary> public string ResultText { get; set; }// "ResultText":"企业申请" /// <summary> /// 申请业务表唯一标识 /// </summary> public string BusinessID { get; set; } }
开发中的界面,凑合看下