Exemplo n.º 1
0
        public void TaskDone(BPMObArg TaskArg)
        {
            var note   = TaskArg.ProcessData.ContainsKey("note") ? TaskArg.ProcessData["note"].ToString() : "";
            var taskID = TaskArg.ProcessData.ContainsKey("userTaskID") ? TaskArg.ProcessData["userTaskID"].ToString() : "";

            _IUserTaskService.TaskDone(int.Parse(taskID), note);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 设置高等级的档案可下载可借阅
        /// </summary>
        /// <param name="TaskArg"></param>
        /// <returns></returns>
        public Dictionary <string, object> Excute(BPMObArg TaskArg)
        {
            var objProcess = _IObjectProcessService.Get(TaskArg.ProcessID);


            _IBorrowService.HighArchiveCanBorrow(objProcess.ObjectID);

            return(null);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 设置低等级的档案可下载可借阅
        /// </summary>
        /// <param name="TaskArg"></param>
        /// <returns></returns>
        public Dictionary <string, object> Excute(BPMObArg TaskArg)
        {
            var result = new Dictionary <string, object>();

            var objProcess = _IObjectProcessService.Get(TaskArg.ProcessID);

            result.Add(TaskArg.ArgName, _IBorrowService.LowArchiveCanBorrow(objProcess.ObjectID));

            return(result);
        }
Exemplo n.º 4
0
        public async Task <bool> TaskTurnCall(BPMObArg arg)
        {
            return(await Task <bool> .Factory.StartNew(() =>
            {
                var userTask = new UserTaskEntity()
                {
                    Identity = new Guid(arg.TaskID),
                    ProcessID = new Guid(arg.ProcessID),
                    Name = arg.TaskName,
                    TaskModelID = arg.TaskModelID,
                    ReceiveDate = DateTime.Now,
                    Source = (int)TaskSource.生产,
                    Status = (int)TaskStatus.达,
                    Type = 1,
                    Args = arg.ArgName,
                    Time = 1
                };

                if (arg.IsBack)
                {
                    var existsTaskCount = _IUserTaskService.Count(t => t.ProcessID == userTask.ProcessID && t.TaskModelID == userTask.TaskModelID && !t.IsDelete);

                    userTask.Time = existsTaskCount + 1;
                }

                if (arg.JoinSigns != null)
                {
                    foreach (var item in arg.JoinSigns)
                    {
                        userTask.UserID = item.Value;
                        userTask.Args = "SignID#" + item.Key.ToString() + "," + arg.ArgName;

                        _IUserTaskService.Add(userTask);
                    }
                }
                else
                {
                    userTask.UserID = int.Parse(arg.TaskUser);
                    _IUserTaskService.Add(userTask);
                }


                return false;
            }));
        }
Exemplo n.º 5
0
        public override void TaskDone(BPMObArg TaskArg)
        {
            if (TaskArg.TaskModelID == "_5")
            {
                var carApplyProcess = _IObjectProcessService.Get(TaskArg.ProcessID);
                var applyInfo       = _ICarUseService.Get(carApplyProcess.ObjectID);
                var carInfo         = _ICarService.Get(applyInfo.CarID);
                // 车辆管理员通过审批
                _ICarService.ChangeStatus(applyInfo.CarID, CarStatus.待出发);

                _NotifySrv.Send(new
                {
                    Target  = applyInfo.Manager,
                    Head    = "用车申请",
                    Title   = "申请通过",
                    Content = string.Format("车辆:{3},{0}前往{1},预计返回时间:{2},请按时出发!",
                                            applyInfo.StartDate, applyInfo.TargetPlace, applyInfo.BackDate, carInfo.Name),
                });
            }

            base.TaskDone(TaskArg);
        }
Exemplo n.º 6
0
        public async Task <bool> TaskTurnCall(BPMObArg arg)
        {
            var userTask = new UserTaskEntity()
            {
                Identity    = new Guid(arg.TaskID),
                ProcessID   = new Guid(arg.ProcessID),
                Name        = arg.TaskName,
                TaskModelID = arg.TaskModelID,
                ReceiveDate = DateTime.Now,
                Source      = (int)TaskSource.提资,
                Status      = (int)TaskStatus.达,
                Type        = 1,
                //UserID = int.Parse(arg.TaskUser),
                Args = arg.ArgName,
                Time = 1
            };

            if (arg.TaskModelID == "_3" && !arg.IsBack)
            {
                // 流程第一次启动
                //userTask.Status = (int)TaskStatus.完成;
                //userTask.FinishDate = DateTime.Now;

                userTask.UserID = arg.CreateUser;

                var id = _IUserTaskService.Add(userTask);
                arg.ProcessData.Add("userTaskID", id);

                // 自动执行这个任务
                await ProcessEngine.Instance.Continu(arg.TaskID, arg.CreateUser, arg.ProcessData);

                return(true);
            }
            else
            {
                if (arg.IsBack)
                {
                    var existsTaskCount = _IUserTaskService.Count(t => t.ProcessID == userTask.ProcessID && t.TaskModelID == userTask.TaskModelID && !t.IsDelete);

                    userTask.Time = existsTaskCount + 1;
                }

                if (arg.JoinSigns != null)
                {
                    foreach (var item in arg.JoinSigns)
                    {
                        userTask.UserID = item.Value;
                        userTask.Args   = "SignID#" + item.Key.ToString() + "," + arg.ArgName;

                        _IUserTaskService.Add(userTask);
                    }
                }
                else
                {
                    userTask.UserID = int.Parse(arg.TaskUser);
                    _IUserTaskService.Add(userTask);
                }

                return(false);
            }
        }