/// <summary> /// 创建表单和当事人 /// </summary> /// <param name="TaskSurvey"></param> /// <param name="law_Parties"></param> /// <returns></returns> private void CreateInfo(law_punishmentInfo lawpunishmentInfo, List <law_party> law_Parties, List <attachment> attachments) { var lawpunishment_Info = base.Create(lawpunishmentInfo) as string;//保存原始信息 lawpunishmentInfo.ID = lawpunishment_Info; if (law_Parties != null && law_Parties.Count > 0)//创建当事人 { foreach (var l in law_Parties) { l.Associatedobjecttype = "law_punishmentInfo"; l.AssociationobjectID = lawpunishment_Info; l.ID = Guid.NewGuid().ToString(); l.CreateDate = DateTime.Now; l.CreateUserID = SysContext.WanJiangUserID; QueryDb.Insert(l); } } if (attachments != null && attachments.Count > 0) { foreach (var a in attachments) { a.Associatedobjecttype = "law_punishmentInfo"; a.AssociationobjectID = lawpunishment_Info; a.ID = Guid.NewGuid().ToString(); a.CreateDate = DateTime.Now; a.CreateUserID = SysContext.WanJiangUserID; QueryDb.Insert(a); } } //更新案件信息 if (string.IsNullOrEmpty(lawpunishmentInfo.TaskId)) { if (!string.IsNullOrEmpty(lawpunishmentInfo.CaseId)) { var caseinfo = QueryDb.FirstOrDefault <case_Info>("where Id=@0", lawpunishmentInfo.CaseId); if (caseinfo != null) { caseinfo.CaseStatus = "做出处罚决定"; QueryDb.Update(caseinfo); } } } else { var tasknow = ServiceHelper.GetService("work_task").GetDetailData(lawpunishmentInfo.TaskId, null); if (tasknow != null) { var caseid = (string)tasknow["CaseID"]; if (!string.IsNullOrEmpty(caseid)) { var caseinfo = QueryDb.FirstOrDefault <case_Info>("where Id=@0", caseid); if (caseinfo != null) { caseinfo.CaseStatus = "做出处罚决定"; QueryDb.Update(caseinfo); } } } } }
/// <summary> /// 传入instance_id来更改业务表上的数据上的审批状态 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="instance_id"></param> /// <param name="FormState"></param> private void UpdateFormState <T>(string instance_id, string FormState) { QueryDb.BeginTransaction(); try { if (!QueryDb.Exists <T>("where processInstanceId = @0", instance_id)) { throw new Exception("该instanceID不存在"); } QueryDb.Update <T>("set FormState = @0 where processInstanceId = @1", FormState, instance_id); } catch (Exception e) { QueryDb.AbortTransaction(); throw e; } QueryDb.OnEndTransaction(); }
/// <summary> /// 创建表单 /// </summary> /// <param name="TaskSurvey"></param> /// <param name="law_Parties"></param> /// <returns></returns> private void CreateInfo(case_cover casecover) { var CaseInfoSource = base.Create(casecover) as string; ///更新案件信息 var tasknow = ServiceHelper.GetService("work_task").GetDetailData(casecover.TaskId, null); if (tasknow != null) { var caseid = (string)tasknow["CaseID"]; if (string.IsNullOrEmpty(caseid)) { var caseinfo = QueryDb.FirstOrDefault <case_Info>("where CaseId=@0", caseid); if (caseinfo != null) { caseinfo.CaseStatus = "已归档"; QueryDb.Update(caseinfo); } } } }
/* * * /// <summary> * /// 简易流程 * /// </summary> * /// <returns></returns> * private object EasyProcess(case_Info caseInfo,List<law_party> law_Parties) * { * QueryDb.BeginTransaction(); * try * { * CreateInfo(caseInfo, law_Parties); * //结束当前任务 * _sHBaseService.UpdateWorkTaskState(caseInfo.TaskId,WorkTaskStatus.Close); * //TODO 创建简易流程任务处罚决定书 * _sHBaseService.CreateSaveWorkTask(caseInfo.TaskId, TaskType.law_punishmentInfo); * ////修改事件状态 * //if(!string.IsNullOrEmpty(caseInfo.EventInfoId)) * //_sHBaseService.UpdateEventState(caseInfo.EventInfoId,EventStatus.); * } * catch (Exception) * { * QueryDb.AbortTransaction(); * return false; * } * QueryDb.CompleteTransaction(); * return true; * } * * //一般程序 * private object NormalProcess(case_Info caseInfo) * { * return null; * } * */ /// <summary> /// 创建表单和当事人 /// </summary> /// <param name="TaskSurvey"></param> /// <param name="law_Parties"></param> /// <returns></returns> private string CreateInfo(case_Info caseInfo, List <law_party> law_Parties) { caseInfo.CaseStatus = "已建档"; var CaseInfoSource = base.Create(caseInfo) as string;//保存原始信息 var CaseInfoTemp = caseInfo; CaseInfoTemp.PreviousformID = CaseInfoSource; var CaseInfoNew = base.Create(CaseInfoTemp) as string; //可变更的信息 if (law_Parties != null && law_Parties.Count > 0) //创建当事人 { foreach (var l in law_Parties) //原始的当事人 { l.Associatedobjecttype = "case_Info"; l.AssociationobjectID = CaseInfoSource; l.ID = Guid.NewGuid().ToString(); l.CreateDate = DateTime.Now; l.CreateUserID = SysContext.WanJiangUserID; QueryDb.Insert(l); } foreach (var l in law_Parties)//创建新建的 { l.Associatedobjecttype = "case_Info"; l.AssociationobjectID = CaseInfoNew; l.ID = Guid.NewGuid().ToString(); l.CreateDate = DateTime.Now; l.CreateUserID = SysContext.WanJiangUserID; QueryDb.Insert(l); } } //将Caseid更新到本次任务上 var tasknow = QueryDb.FirstOrDefault <work_task>("where Id=@0", caseInfo.TaskId); if (tasknow != null) { tasknow.CaseID = CaseInfoNew; QueryDb.Update(tasknow); } return(CaseInfoNew); }
/// <summary> /// 拒绝 /// </summary> /// <param name="context"></param> /// <returns></returns> private object Reject(APIContext context) { var data = JsonHelper.DeserializeJsonToObject <TaskRejectReq>(context.Data); QueryDb.BeginTransaction(); try { var taskInfo = GetWorkTask(data.SourceTaskId); taskInfo.TaskStatus = (int)WorkTaskStatus.HandOver; taskInfo.RejectReason = data.Reason; QueryDb.Update(taskInfo); UpdateEventState(data.EventInfoId, EventStatus.untreated); QueryDb.CompleteTransaction(); } catch (Exception e) { QueryDb.AbortTransaction(); return(false); } return(true); }
/// <summary> /// 任务状态更新 /// </summary> /// <param name="taskid"></param> /// <param name="workTaskStatus"></param> public void UpdateWorkTaskState(string taskid, WorkTaskStatus workTaskStatus) { if (taskid == null) { return; } var taskInfo = GetWorkTask(taskid); if (taskInfo == null) { return; } taskInfo.TaskStatus = (int)workTaskStatus; taskInfo.CompleteTime = DateTime.Now; if (workTaskStatus == WorkTaskStatus.Normal) { WorkrecordUpdate(taskInfo.AssignUsers, taskInfo.TodotaskID); } QueryDb.Update(taskInfo); }
public object Handle(APIContext context) { var data = JsonHelper.DeserializeJsonToObject <case_reportFinishReq>(context.Data); if (data.CaseReport == null) { throw new Exception("没有主体数据"); } data.CaseReport.TaskId = data.SourceTaskId; data.CaseReport.EventInfoId = data.EventInfoId; QueryDb.BeginTransaction(); try { #region 发起钉钉的审批 并将其返回的ID写入Task内 if (data.oapiProcessinstanceCreateRequest != null) { //填值 var UsrService = SysContext.GetService <IUserServices>(); var loginClientInfo = SysContext.GetService <WanJiang.Framework.Infrastructure.Logging.ClientInfo>(); //ServiceConfig userServiceConfig = ServiceHelper.GetServiceConfig("user"); //var OTDB = SysContext.GetOtherDB(userServiceConfig.model.dbName); //var deptId = OTDB.FirstOrDefault<long>(@"SELECT org.id FROM organization org // inner join organizationuser ou on ou.OrganizationId = org.Id // inner join user usr on usr.Id = ou.UserId // where usr.AccountId = @0", loginClientInfo.AccountId); //// //if (deptId == null) // throw new Exception("无组织部门"); var usrDetail = UsrService.GetUserDetails(loginClientInfo.UserId); var ddService = SysContext.GetService <IDingDingServices>(); if (usrDetail.Result.Organizations == null || usrDetail.Result.Organizations.Count <= 0) { throw new Exception("无组织部门"); } var deptId = usrDetail.Result.Organizations[0].Id; data.oapiProcessinstanceCreateRequest.DeptId = deptId; data.oapiProcessinstanceCreateRequest.OriginatorUserId = loginClientInfo.AccountId; var result = ddService.ProcessInstaceCreateAsync(data.oapiProcessinstanceCreateRequest); var test = result.Result; if (result.Result.Errcode != 0) { throw new Exception("发起审核流失败" + result.Result.ErrMsg); } data.CaseReport.ProcessInstanceId = result.Result.ProcessInstanceId; data.CaseReport.FormState = "待审核"; //更新该Report上的信息 //var targetId = result.Result.ProcessInstanceId; //if (data.CaseReport.TaskId == null || data.CaseReport.TaskId == "") // throw new Exception("Task为空"); //var taskObj = QueryDb.FirstOrDefault<work_task>("where TaskID =@0", data.CaseReport.TaskId); //if (taskObj == null) // throw new Exception("该Task不存在"); ////更新值 //taskObj.processInstanceId = result.Result.ProcessInstanceId; //data.CaseReport.FormState = "待审批"; ////data.CaseReport. //QueryDb.Update(taskObj); //ServiceHelper.GetService("work_task").Update(taskObj); } #endregion CreateInfo(data.CaseReport); if (!string.IsNullOrEmpty(data.CaseReport.CaseId)) { var caseinfo = QueryDb.FirstOrDefault <case_Info>("select * from case_Info where Id=@0", data.CaseReport.CaseId); if (caseinfo == null) { throw new Exception("没有案件信息"); } caseinfo.CaseStatus = "完成处罚"; QueryDb.Update(caseinfo); } else { throw new Exception("没有案件信息"); } _sHBaseService.CreatTasksAndCreatWorkrecor(data.NextTasks, data.SourceTaskId); _sHBaseService.UpdateWorkTaskState(data.SourceTaskId, WorkTaskStatus.Close);//关闭任务 //打印预生成 var PDFSerivce = ServiceHelper.GetService("form_printPDFService") as form_printPDFService; PDFSerivce.AsposeToPdf(new APIContext() { Data = @"{""formId"":""" + data.CaseReport.ID + @""",""formType"":""case_report""}" }); } catch (Exception e) { QueryDb.AbortTransaction(); throw e; } QueryDb.CompleteTransaction(); return(true); }