mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2025-09-21 02:57:54 +08:00
去掉草稿
This commit is contained in:
@@ -205,33 +205,7 @@ namespace OpenAuth.App
|
||||
throw;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 保存工作流进程实例
|
||||
/// </summary>
|
||||
/// <param name="processInstanceEntity"></param>
|
||||
/// <returns></returns>
|
||||
public int SaveProcess(WFProcessInstance processInstanceEntity)
|
||||
{
|
||||
try
|
||||
{
|
||||
WFProcessInstance isExistEntity = _unitWork.FindSingle<WFProcessInstance>(u =>u.Id ==processInstanceEntity.Id);
|
||||
if (isExistEntity == null)
|
||||
{
|
||||
processInstanceEntity.Create();
|
||||
_unitWork.Add(processInstanceEntity);
|
||||
}
|
||||
else
|
||||
{
|
||||
processInstanceEntity.Modify(processInstanceEntity.Id);
|
||||
_unitWork.Update(processInstanceEntity);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
catch
|
||||
{
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 删除工作流实例进程(删除草稿使用)
|
||||
/// </summary>
|
||||
@@ -357,9 +331,7 @@ namespace OpenAuth.App
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#region 流程处理API
|
||||
/// <summary>
|
||||
/// 创建一个实例
|
||||
@@ -462,214 +434,7 @@ namespace OpenAuth.App
|
||||
}
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// 创建一个实例(草稿创建)
|
||||
/// </summary>
|
||||
/// <param name="processId"></param>
|
||||
/// <param name="code"></param>
|
||||
/// <param name="customName"></param>
|
||||
/// <param name="description"></param>
|
||||
/// <param name="frmData"></param>
|
||||
/// <returns></returns>
|
||||
public bool CreateInstance(WFProcessInstance WFProcessInstance, string frmData = null)
|
||||
{
|
||||
try
|
||||
{
|
||||
WFProcessInstance _WFProcessInstance = GetEntity(WFProcessInstance.Id);
|
||||
WFProcessScheme WFProcessScheme = _unitWork.FindSingle<WFProcessScheme>(u => u.Id == WFProcessInstance.ProcessSchemeId);
|
||||
dynamic schemeContentJson = WFProcessScheme.SchemeContent.ToJson();//获取工作流模板内容的json对象;
|
||||
WF_RuntimeInitModel wfRuntimeInitModel = new WF_RuntimeInitModel()
|
||||
{
|
||||
schemeContent = schemeContentJson.SchemeContent.Value,
|
||||
currentNodeId = "",
|
||||
frmData = frmData,
|
||||
processId = WFProcessScheme.Id
|
||||
};
|
||||
IWF_Runtime wfruntime = null;
|
||||
|
||||
if (frmData == null)
|
||||
{
|
||||
throw new Exception("自定义表单需要提交表单数据");
|
||||
}
|
||||
else
|
||||
{
|
||||
wfruntime = new WF_Runtime(wfRuntimeInitModel);
|
||||
}
|
||||
|
||||
|
||||
#region 实例信息
|
||||
WFProcessInstance.ActivityId = wfruntime.runtimeModel.nextNodeId;
|
||||
WFProcessInstance.ActivityType = wfruntime.GetStatus();//-1无法运行,0会签开始,1会签结束,2一般节点,4流程运行结束
|
||||
WFProcessInstance.ActivityName = wfruntime.runtimeModel.nextNode.name;
|
||||
WFProcessInstance.PreviousId = wfruntime.runtimeModel.currentNodeId;
|
||||
WFProcessInstance.EnabledMark = 1;//正式运行
|
||||
WFProcessInstance.MakerList = (wfruntime.GetStatus() != 4 ? GetMakerList(wfruntime) : "");//当前节点可执行的人信息
|
||||
WFProcessInstance.IsFinish = (wfruntime.GetStatus() == 4 ? 1 : 0);
|
||||
#endregion
|
||||
|
||||
#region 实例模板
|
||||
var data = new
|
||||
{
|
||||
SchemeContent = schemeContentJson.SchemeContent.Value,
|
||||
frmData = frmData
|
||||
};
|
||||
WFProcessScheme.ProcessType = 1;//1正式,0草稿
|
||||
WFProcessScheme.SchemeContent = data.ToJson().ToString();
|
||||
#endregion
|
||||
|
||||
#region 流程操作记录
|
||||
WFProcessOperationHistory processOperationHistoryEntity = new WFProcessOperationHistory();
|
||||
processOperationHistoryEntity.Content = "【创建】" + "todo name" + "创建了一个流程进程【" + WFProcessInstance.Code + "/" + WFProcessInstance.CustomName + "】";
|
||||
#endregion
|
||||
|
||||
#region 流转记录
|
||||
WFProcessTransitionHistory processTransitionHistoryEntity = new WFProcessTransitionHistory();
|
||||
processTransitionHistoryEntity.FromNodeId = wfruntime.runtimeModel.currentNodeId;
|
||||
processTransitionHistoryEntity.FromNodeName = wfruntime.runtimeModel.currentNode.name.Value;
|
||||
processTransitionHistoryEntity.FromNodeType = wfruntime.runtimeModel.currentNodeType;
|
||||
processTransitionHistoryEntity.ToNodeId = wfruntime.runtimeModel.nextNodeId;
|
||||
processTransitionHistoryEntity.ToNodeName = wfruntime.runtimeModel.nextNode.name.Value;
|
||||
processTransitionHistoryEntity.ToNodeType = wfruntime.runtimeModel.nextNodeType;
|
||||
processTransitionHistoryEntity.TransitionSate = 0;
|
||||
processTransitionHistoryEntity.IsFinish = (processTransitionHistoryEntity.ToNodeType == 4 ? 1 : 0);
|
||||
#endregion
|
||||
|
||||
#region 委托记录
|
||||
//List<WFDelegateRecord> delegateRecordEntitylist = GetDelegateRecordList(WFProcessScheme.SchemeInfoId, WFProcessInstance.Code, WFProcessInstance.CustomName, WFProcessInstance.MakerList);
|
||||
//WFProcessInstance.MakerList += delegateUserList;
|
||||
#endregion
|
||||
|
||||
SaveProcess(wfruntime.runtimeModel, WFProcessInstance, WFProcessScheme, processOperationHistoryEntity, processTransitionHistoryEntity);
|
||||
return true;
|
||||
}
|
||||
catch
|
||||
{
|
||||
throw;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 编辑表单再次提交(驳回后处理)
|
||||
/// </summary>
|
||||
/// <param name="processId"></param>
|
||||
/// <param name="description"></param>
|
||||
/// <param name="frmData"></param>
|
||||
/// <returns></returns>
|
||||
public bool EditionInstance(Guid processId, string description, string frmData = null)
|
||||
{
|
||||
try
|
||||
{
|
||||
WFProcessInstance WFProcessInstance = GetEntity(processId);
|
||||
WFProcessScheme WFProcessScheme = _unitWork.FindSingle<WFProcessScheme>(u => u.Id == WFProcessInstance.ProcessSchemeId);
|
||||
dynamic schemeContentJson = WFProcessScheme.SchemeContent.ToJson();//获取工作流模板内容的json对象;
|
||||
var data = new
|
||||
{
|
||||
SchemeContent = schemeContentJson.SchemeContent.Value,
|
||||
frmData = frmData
|
||||
};
|
||||
WFProcessScheme.SchemeContent = data.ToJson().ToString();
|
||||
|
||||
WFProcessInstance.IsFinish = 0;
|
||||
if (string.IsNullOrEmpty(description))
|
||||
{
|
||||
WFProcessInstance.Description = description;
|
||||
}
|
||||
WFProcessInstance.CreateDate = DateTime.Now;
|
||||
|
||||
#region 流程操作记录
|
||||
WFProcessOperationHistory processOperationHistoryEntity = new WFProcessOperationHistory();
|
||||
processOperationHistoryEntity.Content = "【创建】" + "todo name" + "创建了一个流程进程【" + WFProcessInstance.Code + "/" + WFProcessInstance.CustomName + "】";
|
||||
#endregion
|
||||
|
||||
#region 委托记录
|
||||
//List<WFDelegateRecord> delegateRecordEntitylist = GetDelegateRecordList(WFProcessScheme.SchemeInfoId, WFProcessInstance.Code, WFProcessInstance.CustomName, WFProcessInstance.MakerList);
|
||||
//WFProcessInstance.MakerList += delegateUserList;
|
||||
#endregion
|
||||
|
||||
SaveProcess(WFProcessInstance, WFProcessScheme, processOperationHistoryEntity);
|
||||
|
||||
return true;
|
||||
}
|
||||
catch
|
||||
{
|
||||
throw;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 创建一个草稿
|
||||
/// </summary>
|
||||
/// <param name="processId"></param>
|
||||
/// <param name="schemeInfoId"></param>
|
||||
/// <param name="wfLevel"></param>
|
||||
/// <param name="code"></param>
|
||||
/// <param name="customName"></param>
|
||||
/// <param name="description"></param>
|
||||
/// <param name="frmData"></param>
|
||||
/// <returns></returns>
|
||||
public bool CreateRoughdraft(Guid processId, Guid schemeInfoId, WFProcessInstance WFProcessInstance, string frmData = null)
|
||||
{
|
||||
try
|
||||
{
|
||||
WFSchemeInfo WFSchemeInfo = _unitWork.FindSingle<WFSchemeInfo>(u => u.Id == schemeInfoId);
|
||||
WFSchemeContent WFSchemeContent = _unitWork.FindSingle<WFSchemeContent>(u => u.SchemeInfoId == schemeInfoId
|
||||
&& u.SchemeVersion == WFSchemeInfo.SchemeVersion);
|
||||
|
||||
WFProcessInstance.ActivityId = "";
|
||||
WFProcessInstance.ActivityName = "";
|
||||
WFProcessInstance.ActivityType = 0;//开始节点
|
||||
WFProcessInstance.IsFinish = 0;
|
||||
WFProcessInstance.SchemeType = WFSchemeInfo.SchemeType;
|
||||
WFProcessInstance.EnabledMark = 3;//草稿
|
||||
WFProcessInstance.CreateDate = DateTime.Now;
|
||||
WFProcessInstance.FrmType = WFSchemeInfo.FrmType;
|
||||
|
||||
WFProcessScheme WFProcessScheme = new WFProcessScheme();
|
||||
WFProcessScheme.SchemeInfoId = schemeInfoId;
|
||||
WFProcessScheme.SchemeVersion = WFSchemeInfo.SchemeVersion;
|
||||
WFProcessScheme.ProcessType = WFProcessInstance.EnabledMark;
|
||||
var data = new
|
||||
{
|
||||
SchemeContent = WFSchemeContent.SchemeContent,
|
||||
frmData = frmData
|
||||
};
|
||||
WFProcessScheme.SchemeContent = data.ToJson();
|
||||
|
||||
SaveProcess(processId, WFProcessInstance, WFProcessScheme);
|
||||
|
||||
return true;
|
||||
}
|
||||
catch
|
||||
{
|
||||
throw;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 创建一个草稿
|
||||
/// </summary>
|
||||
/// <param name="WFProcessInstance"></param>
|
||||
/// <param name="frmData"></param>
|
||||
/// <returns></returns>
|
||||
public bool EditionRoughdraft(WFProcessInstance WFProcessInstance, string frmData = null)
|
||||
{
|
||||
try
|
||||
{
|
||||
WFProcessScheme WFProcessScheme = _unitWork.FindSingle<WFProcessScheme>(u => u.Id == WFProcessInstance.ProcessSchemeId);
|
||||
dynamic schemeContentJson = WFProcessScheme.SchemeContent.ToJson();//获取工作流模板内容的json对象;
|
||||
var data = new
|
||||
{
|
||||
SchemeContent = schemeContentJson.SchemeContent.Value,
|
||||
frmData = frmData
|
||||
};
|
||||
WFProcessScheme.SchemeContent = data.ToJson().ToString();
|
||||
WFProcessInstance.IsFinish = 0;
|
||||
WFProcessInstance.CreateDate = DateTime.Now;
|
||||
SaveProcess(WFProcessInstance.Id, WFProcessInstance, WFProcessScheme);
|
||||
return true;
|
||||
}
|
||||
catch
|
||||
{
|
||||
throw;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 节点审核
|
||||
/// </summary>
|
||||
|
Reference in New Issue
Block a user