/// <summary> /// 存储工作流实例进程(创建实例进程) /// </summary> /// <param name="wfRuntimeModel"></param> /// <param name="processInstanceEntity"></param> /// <param name="processSchemeEntity"></param> /// <param name="processOperationHistoryEntity"></param> /// <param name="delegateRecordEntity"></param> /// <returns></returns> public int SaveProcess(WF_RuntimeModel wfRuntimeModel, WFProcessInstanceEntity processInstanceEntity, WFProcessSchemeEntity processSchemeEntity, WFProcessOperationHistoryEntity processOperationHistoryEntity, WFProcessTransitionHistoryEntity processTransitionHistoryEntity, List <WFDelegateRecordEntity> delegateRecordEntityList) { IRepository db = this.BaseRepository().BeginTrans(); try { if (string.IsNullOrEmpty(processInstanceEntity.Id)) { processSchemeEntity.Create(); db.Insert(processSchemeEntity); processInstanceEntity.Create(); processInstanceEntity.Id = wfRuntimeModel.processId; processInstanceEntity.ProcessSchemeId = processSchemeEntity.Id; db.Insert(processInstanceEntity); } else { processInstanceEntity.Modify(processInstanceEntity.Id); db.Update(processSchemeEntity); db.Update(processInstanceEntity); } processOperationHistoryEntity.Create(); processOperationHistoryEntity.ProcessId = processInstanceEntity.Id; db.Insert(processOperationHistoryEntity); if (processTransitionHistoryEntity != null) { processTransitionHistoryEntity.Create(); processTransitionHistoryEntity.ProcessId = processInstanceEntity.Id; db.Insert(processTransitionHistoryEntity); } foreach (var item in delegateRecordEntityList) { item.Create(); item.ProcessId = processInstanceEntity.Id; db.Insert(item); } //if (processInstanceEntity.FrmType == 0) //{ // DataBaseLinkEntity dataBaseLinkEntity = dataBaseLinkService.GetEntity(wfRuntimeModel.schemeContentJson.Frm.FrmDbId.Value);//获取 // if (wfRuntimeModel.schemeContentJson.Frm.isSystemTable.Value != 0) // { // this.BaseRepository(dataBaseLinkEntity.DbConnection).ExecuteBySql(wfRuntimeModel.sqlFrm); // } //} db.Commit(); return(1); } catch { db.Rollback(); throw; } }
/// <summary> /// 存储工作流实例进程(编辑草稿用) /// </summary> /// <param name="processInstanceEntity"></param> /// <param name="processSchemeEntity"></param> /// <param name="wfOperationHistoryEntity"></param> /// <returns></returns> public int SaveProcess(string processId, WFProcessInstanceEntity processInstanceEntity, WFProcessSchemeEntity processSchemeEntity, WFProcessOperationHistoryEntity wfOperationHistoryEntity = null) { IRepository db = this.BaseRepository().BeginTrans(); try { //草稿不需要流程编号 processInstanceEntity.Code = ""; if (string.IsNullOrEmpty(processInstanceEntity.Id)) { processSchemeEntity.Create(); db.Insert(processSchemeEntity); processInstanceEntity.Create(); processInstanceEntity.Id = processId; processInstanceEntity.ProcessSchemeId = processSchemeEntity.Id; db.Insert(processInstanceEntity); } else { processInstanceEntity.Modify(processId); db.Update(processInstanceEntity); processSchemeEntity.Modify(processInstanceEntity.ProcessSchemeId); db.Update(processSchemeEntity); } if (wfOperationHistoryEntity != null) { wfOperationHistoryEntity.Create(); wfOperationHistoryEntity.ProcessId = processId; db.Insert(wfOperationHistoryEntity); } db.Commit(); return(1); } catch { db.Rollback(); throw; } }
/// <summary> /// 保存工作流进程实例 /// </summary> /// <param name="processInstanceEntity"></param> /// <returns></returns> public int SaveProcess(WFProcessInstanceEntity processInstanceEntity) { try { int num; WFProcessInstanceEntity isExistEntity = this.BaseRepository().FindEntity <WFProcessInstanceEntity>(processInstanceEntity.Id); if (isExistEntity == null) { processInstanceEntity.Create(); num = this.BaseRepository().Insert(processInstanceEntity); } else { processInstanceEntity.Modify(processInstanceEntity.Id); num = this.BaseRepository().Update(processInstanceEntity); } return(num); } catch { throw; } }
/// <summary> /// 存储工作流实例进程(创建实例进程) /// </summary> /// <param name="wfRuntimeModel"></param> /// <param name="processInstanceEntity"></param> /// <param name="processSchemeEntity"></param> /// <param name="processOperationHistoryEntity"></param> /// <param name="delegateRecordEntity"></param> /// <returns></returns> public int SaveProcess(WF_RuntimeModel wfRuntimeModel, WFProcessInstanceEntity processInstanceEntity, WFProcessSchemeEntity processSchemeEntity, WFProcessOperationHistoryEntity processOperationHistoryEntity, WFProcessTransitionHistoryEntity processTransitionHistoryEntity, List <WFDelegateRecordEntity> delegateRecordEntityList) { IRepository db = this.BaseRepository().BeginTrans(); try { //占用单据号 coderuleService.UseRuleSeed(OperatorProvider.Provider.Current().LoginInfo.UserId, "", "10007", db); if (string.IsNullOrEmpty(processInstanceEntity.Id)) { processSchemeEntity.Create(); db.Insert(processSchemeEntity); processInstanceEntity.Create(); processInstanceEntity.Id = wfRuntimeModel.processId; processInstanceEntity.ProcessSchemeId = processSchemeEntity.Id; db.Insert(processInstanceEntity); } else { processInstanceEntity.Modify(processInstanceEntity.Id); db.Update(processSchemeEntity); db.Update(processInstanceEntity); } processOperationHistoryEntity.Create(); processOperationHistoryEntity.ProcessId = processInstanceEntity.Id; db.Insert(processOperationHistoryEntity); if (processTransitionHistoryEntity != null) { processTransitionHistoryEntity.Create(); processTransitionHistoryEntity.ProcessId = processInstanceEntity.Id; db.Insert(processTransitionHistoryEntity); } foreach (var item in delegateRecordEntityList) { item.Create(); item.ProcessId = processInstanceEntity.Id; db.Insert(item); } if (processInstanceEntity.FrmType == 0) { DataBaseLinkEntity dataBaseLinkEntity = dataBaseLinkService.GetEntity(wfRuntimeModel.schemeContentJson.Frm.FrmDbId.Value);//获取 if (wfRuntimeModel.schemeContentJson.Frm.isSystemTable.Value != 0) { //是否执行插入数据 外包员工薪资申请流程处理 create by chand 2016-11-29 if (processSchemeEntity.WFSchemeInfoId != "3416863b-d5c1-4b31-b59f-e5fd8cd2d5f1") { this.BaseRepository(dataBaseLinkEntity.DbConnection).ExecuteBySql(wfRuntimeModel.sqlFrm); } } } db.Commit(); return(1); } catch { db.Rollback(); throw; } }