public object Handle(APIContext context)
        {
            var data = JsonHelper.DeserializeJsonToObject <form_confiscatedFinishReq>(context.Data);

            if (data.formConfiscatedItems == null)
            {
                return(null);
            }
            QueryDb.BeginTransaction();
            try
            {
                CreateInfo(data.formConfiscatedItems, data.SourceTaskId, data.EventInfoId);

                EndEvent(data.SourceTaskId, data.EventInfoId);

                _sHBaseService.CreatTasksAndCreatWorkrecor(data.NextTasks, data.SourceTaskId);
            }
            catch (Exception)
            {
                QueryDb.AbortTransaction();
                throw new Exception();
            }
            QueryDb.CompleteTransaction();
            return(true);
        }
Esempio n. 2
0
        public object Handle(APIContext context)
        {
            var data = JsonHelper.DeserializeJsonToObject <case_InfoFinishReq>(context.Data);

            if (data.CaseInfo == null)
            {
                throw new Exception("没有主体数据");
            }
            data.CaseInfo.TaskId      = data.SourceTaskId;
            data.CaseInfo.EventInfoId = data.EventInfoId;
            QueryDb.BeginTransaction();
            try
            {
                string caseid = CreateInfo(data.CaseInfo, data.LawParties);
                if (data.NextTasks != null || data.NextTasks.Length > 0)
                {
                    foreach (var t in data.NextTasks)
                    {
                        t.CaseID = caseid;
                    }
                }
                _sHBaseService.CreatTasksAndCreatWorkrecor(data.NextTasks, data.SourceTaskId);
                _sHBaseService.UpdateWorkTaskState(data.SourceTaskId, WorkTaskStatus.Close);//关闭任务
            }
            catch (Exception e)
            {
                QueryDb.AbortTransaction();
                throw e;
            }
            QueryDb.CompleteTransaction();
            return(true);
        }
        //注意isfine isgood是不是被添加字段修改了
        public object Handle(APIContext context)
        {
            var data = JsonHelper.DeserializeJsonToObject <law_punishmentInfoFinishReq>(context.Data);

            if (data.LawPunishmentInfo == null)
            {
                throw new Exception("没有主体数据");
            }
            QueryDb.BeginTransaction();
            data.LawPunishmentInfo.EventInfoId = data.EventInfoId;
            data.LawPunishmentInfo.TaskId      = data.SourceTaskId;
            try
            {
                CreateInfo(data.LawPunishmentInfo, data.LawParties, data.Attachments);
                _sHBaseService.CreatTasksAndCreatWorkrecor(data.NextTasks, data.SourceTaskId);
                _sHBaseService.UpdateWorkTaskState(data.SourceTaskId, WorkTaskStatus.Close);//关闭任务
            }
            catch (Exception e)
            {
                QueryDb.AbortTransaction();
                throw new Exception(e.Message);
            }
            QueryDb.CompleteTransaction();
            //打印预生成
            var PDFSerivce = ServiceHelper.GetService("form_printPDFService") as form_printPDFService;

            PDFSerivce.AsposeToPdf(new APIContext()
            {
                Data = @"{""formId"":""" + data.LawPunishmentInfo.ID + @""",""formType"":""law_punishmentInfo""}"
            });
            return(true);
        }
Esempio n. 4
0
        public object Handle(APIContext context)
        {
            var data = JsonHelper.DeserializeJsonToObject <task_surveyFinishReq>(context.Data);

            if (data.TaskSurvey == null)
            {
                throw new Exception("没有主体数据");
            }
            ;
            QueryDb.BeginTransaction();
            data.TaskSurvey.TaskId      = data.SourceTaskId;
            data.TaskSurvey.EventInfoId = data.EventInfoId;
            try
            {
                CreateInfo(data.TaskSurvey, data.LawParties, data.Attachments);
                switch (data.TaskSurvey.ProcessingDecisions)
                {
                case 0:
                    EndEvent(data.SourceTaskId, data.EventInfoId);
                    break;

                default:
                    _sHBaseService.CreatTasksAndCreatWorkrecor(data.NextTasks, data.SourceTaskId);
                    break;
                }
            }
            catch (Exception e)
            {
                QueryDb.AbortTransaction();
                throw e;
            }
            QueryDb.CompleteTransaction();
            return(true);
        }
Esempio n. 5
0
        /// <summary>
        /// 创建任务
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        private object CreateTask(APIContext context)
        {
            var data = JsonHelper.DeserializeJsonToObject <work_task>(context.Data);

            QueryDb.BeginTransaction();
            try
            {
                CreatTasksAndCreatWorkrecor(new work_task[] { data }, "");
                if (!string.IsNullOrEmpty(data.WorkAddress))
                {
                    UpdateEventStateHandler(data.EventInfoId, EventStatus.doning, data.WorkAddress + " " + data.MainHandler);
                }
                else
                {
                    UpdateEventState(data.EventInfoId, EventStatus.doning);
                }
                QueryDb.CompleteTransaction();
            }
            catch (Exception e)
            {
                QueryDb.AbortTransaction();
                throw e;
            }
            return(true);
        }
        public object Handle(APIContext context)
        {
            var data = JsonHelper.DeserializeJsonToObject <form_confiscatedFinishReq>(context.Data);

            if (data.formConfiscated == null)
            {
                return(null);
            }
            if (!string.IsNullOrEmpty(data.EventInfoId))
            {
                data.formConfiscated.EventInfoId = data.EventInfoId;
            }
            if (!string.IsNullOrEmpty(data.SourceTaskId))
            {
                data.formConfiscated.TaskId = data.SourceTaskId;
            }
            QueryDb.BeginTransaction();
            try
            {
                CreateInfo(data.formConfiscated, data.formConfiscatedItems);
                _sHBaseService.CreatTasksAndCreatWorkrecor(data.NextTasks, data.SourceTaskId); //创建下一步任务
                _sHBaseService.UpdateWorkTaskState(data.SourceTaskId, WorkTaskStatus.Close);   //关闭任务
            }
            catch (Exception)
            {
                QueryDb.AbortTransaction();
                throw new Exception();
            }
            QueryDb.CompleteTransaction();
            return(true);
        }
Esempio n. 7
0
        public object Handle(APIContext context)
        {
            var data = JsonHelper.DeserializeJsonToObject <case_coverFinishReq>(context.Data);

            if (data.CaseCover == null)
            {
                throw new Exception("没有主体数据");
            }
            data.CaseCover.TaskId      = data.SourceTaskId;
            data.CaseCover.EventInfoId = data.EventInfoId;
            QueryDb.BeginTransaction();
            try
            {
                CreateInfo(data.CaseCover);
                _sHBaseService.CreatTasksAndCreatWorkrecor(data.NextTasks, data.SourceTaskId);
                _sHBaseService.UpdateWorkTaskState(data.SourceTaskId, WorkTaskStatus.Close);//关闭任务
            }
            catch (Exception e)
            {
                QueryDb.AbortTransaction();
                throw e;
            }
            QueryDb.CompleteTransaction();
            return(true);
        }
 /// <summary>
 /// 结束事件和任务
 /// </summary>
 /// <param name="TaskId"></param>
 /// <param name="EventId"></param>
 /// <returns></returns>
 public object EndEvent(string TaskId, string EventId)
 {
     try
     {
         QueryDb.BeginTransaction();
         _sHBaseService.UpdateWorkTaskState(TaskId, WorkTaskStatus.Close); //关闭任务
         _sHBaseService.UpdateEventState(EventId, EventStatus.finish);     //事件改为完成
     }
     catch (Exception)
     {
         QueryDb.AbortTransaction();
         throw new Exception();
     }
     QueryDb.CompleteTransaction();
     return(true);
 }
Esempio n. 9
0
 /// <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();
 }
Esempio n. 10
0
        /// <summary>
        /// 任务转移
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        private object HandOver(APIContext context)
        {
            var data = JsonHelper.DeserializeJsonToObject <FormReqBase>(context.Data);

            QueryDb.BeginTransaction();
            try
            {
                UpdateWorkTaskState(data.SourceTaskId, WorkTaskStatus.HandOver);
                CreatTasksAndCreatWorkrecor(data.NextTasks, data.SourceTaskId);
                QueryDb.CompleteTransaction();
            }
            catch (Exception e)
            {
                QueryDb.AbortTransaction();
                return(false);
            }

            return(true);
        }
Esempio n. 11
0
        /// <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);
        }
Esempio n. 12
0
        /// <summary>
        /// 事件每次生成2条,OriginalID为空的不能用于创建任务,仅用作备份
        /// </summary>
        /// <param name="postdata"></param>
        /// <returns></returns>
        public override object Create(object postdata)
        {
            var eventInfo = postdata as event_info;

            base.QueryDb.BeginTransaction();
            try
            {
                if (!eventInfo.reportTime.HasValue)
                {
                    eventInfo.reportTime = DateTime.Now;
                }
                base.Create(eventInfo);
                eventInfo.OriginalID = eventInfo.objId;
                eventInfo.objId      = Guid.NewGuid().ToString().Replace("-", "");
                base.Create(eventInfo);
                QueryDb.CompleteTransaction();
            }
            catch (Exception ex)
            {
                QueryDb.AbortTransaction();
                return(false);
            }
            return(true);
        }
Esempio n. 13
0
        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);
        }
Esempio n. 14
0
        public object Finish(APIContext context)
        {
            var    data    = JsonHelper.DeserializeJsonToObject <form_inquestrecordFinishReq>(context.Data);
            string formidt = null;

            QueryDb.BeginTransaction();
            try
            {
                if (data.SourceTaskId != null)
                {
                    data.forminquestrecord.TaskId = data.SourceTaskId;
                }
                if (data.EventInfoId != null)
                {
                    data.forminquestrecord.EventInfoId = data.EventInfoId;
                }
                var form = ServiceHelper.GetService("form_inquestrecord").Create(data.forminquestrecord);
                if (string.IsNullOrEmpty((string)form))
                {
                    throw new Exception();
                }
                formidt = form.ToString();
                if (data.lawStaffs != null)
                {
                    foreach (var l in data.lawStaffs)
                    {
                        l.Associatedobjecttype = "form_inquestrecord";
                        l.AssociatedobjectID   = formidt;
                        l.ID           = Guid.NewGuid().ToString();
                        l.CreateDate   = DateTime.Now;
                        l.CreateUserID = SysContext.WanJiangUserID;
                        QueryDb.Insert(l);
                    }
                }
                if (data.lawParties != null)
                {
                    foreach (var l in data.lawParties)
                    {
                        l.Associatedobjecttype = "form_inquestrecord";
                        l.ID = Guid.NewGuid().ToString();
                        l.AssociationobjectID = formidt;
                        l.CreateDate          = DateTime.Now;
                        l.CreateUserID        = SysContext.WanJiangUserID;
                        QueryDb.Insert(l);
                    }
                }
                CreatTasksAndCreatWorkrecor(data.NextTasks, data.SourceTaskId);
                QueryDb.CompleteTransaction();
            }
            catch (Exception e)
            {
                QueryDb.AbortTransaction();
                throw e;
                return(false);
            }

            if (!string.IsNullOrEmpty(formidt))
            {
                //PDF打印预生成
                var PDFSerivce = ServiceHelper.GetService("form_printPDFService") as form_printPDFService;
                PDFSerivce.AsposeToPdf(new APIContext()
                {
                    Data = @"{""formId"":""" + formidt + @""",""formType"":""form_inquestrecord""}"
                });
            }
            return(true);
        }
Esempio n. 15
0
        private object Finish(APIContext context)
        {
            var data = JsonHelper.DeserializeJsonToObject <taskPatrolFinishReq>(context.Data);

            //var data = new taskPatrolFinishReq();

            //var task_patrolData = new task_patrol();
            //task_patrolData.Result = "测试巡查结果";
            //task_patrolData.Needtracking = 0;
            //task_patrolData.Needlawenforcement = 1;
            //data.TaskPatrol = task_patrolData;

            //var taskData = new work_task();
            //taskData.TaskType = "勘察";
            //taskData.TaskContent = "任务内容描述";
            //taskData.EventInfoId = "1";
            //taskData.ExpectedCompletionTime = DateTime.Now.AddDays(1);
            //taskData.MainHandler = "主办人测试";
            //data.SourceTaskId = "2fcb8609-d233-4e77-a12b-a87d61ef9a50";
            //data.NextTasks = new work_task[] { taskData };

            //var a = JsonConvert.SerializeObject(data);

            //保存当前巡查表单
            //开始事务
            QueryDb.BeginTransaction();
            try
            {
                //保存表单信息
                data.TaskPatrol.EventInfoId = data.EventInfoId;
                data.TaskPatrol.TaskId      = data.SourceTaskId;
                var formId      = Create(data.TaskPatrol);
                var attachments = data.Attachments;
                //保存附件
                var _attachment = ServiceHelper.GetService("attachmentService");
                if (attachments != null && attachments.Count > 0)
                {
                    foreach (var a in attachments)
                    {
                        a.Associatedobjecttype = "task_patrol";
                        a.AssociationobjectID  = formId.ToString();
                        a.ID           = Guid.NewGuid().ToString();
                        a.CreateUserID = SysContext.WanJiangUserID;
                        QueryDb.Insert(a);
                        // _attachment.Create(a);
                    }
                }

                //处理事件,任务状态
                if (data.TaskPatrol.Needlawenforcement == 0 && data.TaskPatrol.Needtracking == 0)
                {
                    UpdateWorkTaskState(data.SourceTaskId, WorkTaskStatus.Close);
                    UpdateEventState(data.EventInfoId, EventStatus.finish);
                }
                //创建下一个任务
                CreatTasksAndCreatWorkrecor(data.NextTasks, data.SourceTaskId);
                QueryDb.CompleteTransaction();
            }
            catch (Exception e)
            {
                QueryDb.AbortTransaction();
                throw e;
            }
            return(true);
        }