コード例 #1
0
        /// <summary>
        /// 获取任务的详情
        /// </summary>
        /// <param name="jobId">任务的ID</param>
        /// <returns></returns>
        public object GetJobDetail(string jobId)
        {
            var url = BSFramework.Util.Config.GetValue("AppUrl");
            var db  = new RepositoryFactory().BaseRepository();
            MeetingJobEntity entity = db.FindEntity <MeetingJobEntity>(jobId);
            var dangermeasureQuery  = from q1 in db.IQueryable <JobDangerousEntity>()
                                      join q2 in db.IQueryable <JobMeasureEntity>() on q1.JobDangerousId equals q2.JobDangerousId into into1
                                      where q1.JobId == jobId
                                      select new
            {
                q1.Content,
                MeasureList = into1.Select(p => new { p.Content })
            };
            var dangermeasureList = dangermeasureQuery.ToList();

            if (entity == null)
            {
                return(null);
            }
            var query = from q2 in db.IQueryable <MeetingAndJobEntity>()
                        join q3 in db.IQueryable <JobUserEntity>() on q2.MeetingJobId equals q3.MeetingJobId into into1

                        join q4 in db.IQueryable <DangerEntity>() on q2.MeetingJobId equals q4.JobId into into2
                        from q4 in into2.DefaultIfEmpty()
                        join q5 in db.IQueryable <FileInfoEntity>() on q2.MeetingJobId equals q5.RecId into into3
                        join q7 in db.IQueryable <WorkmeetingEntity>() on q2.StartMeetingId equals q7.MeetingId
                        where q2.JobId == entity.JobId
                        orderby q7.MeetingStartTime ascending
                        select new
            {
                q2.MeetingJobId,
                UserList     = into1.Select(p => new { p.UserName, p.JobType }).ToList(),
                TrainingDone = q4 == null ? false : q4.Status == 2,
                SoundFile    = into3.Where(x => x.Description == "音频").Select(p => new { p.FileId, p.FileName, FilePath = p.FilePath != null ? p.FilePath.Replace("~/", url) : null }).ToList(),
                PhotoFile    = into3.Where(x => x.Description == "照片").Select(p => new { p.FileId, p.FileName, FilePath = p.FilePath != null ? p.FilePath.Replace("~/", url) : null }).ToList(),
                JobDate      = q7.MeetingStartTime
            };
            var itemInfo = query.ToList();
            var data     = new
            {
                MeetingJob =
                    new
                {
                    entity.JobId,
                    entity.Job,
                    entity.StartTime,
                    entity.EndTime,
                    entity.TicketCode,
                    entity.Dangerous,
                    entity.Measure,
                    entity.Description,
                    DangerousList = dangermeasureList
                },
                ItemData = itemInfo
            };

            return(data);
        }
コード例 #2
0
 /// <summary>
 /// 保存表单(新增、修改)
 /// </summary>
 /// <param name="keyValue">主键值</param>
 /// <param name="entity">实体对象</param>
 /// <returns></returns>
 public DangerEntity Save(MeetingJobEntity entity)
 {
     try
     {
         return(service.Save(entity));
     }
     catch (Exception)
     {
         throw;
     }
 }
コード例 #3
0
ファイル: TaskService.cs プロジェクト: paddy235/BSFramework
        /// <summary>
        /// 签到状态
        /// </summary>
        /// <param name="meetingJob"></param>
        /// <param name="districtId"></param>
        /// <param name="date"></param>
        public void EnsureSignin(MeetingJobEntity meetingJob, string districtId, DateTime date)
        {
            var query = from q in _context.Set <DistrictSignInEntity>()
                        where q.SigninDate == date && q.DistrictId == districtId
                        select q;

            var data = query.ToList();

            foreach (var item in meetingJob.Relation.JobUsers)
            {
                item.IsSignin = data.Any(x => x.UserId == item.UserId);
            }
        }
コード例 #4
0
        public JsonResult Edit(string id, DepartmentTaskEntity model)
        {
            var user    = OperatorProvider.Provider.Current();
            var success = true;
            var message = "保存成功!";

            try
            {
                if (string.IsNullOrEmpty(id))
                {
                    model.TaskId       = Guid.NewGuid().ToString();
                    model.Status       = "未开始";
                    model.CreateUserId = model.ModifyUserId = user.UserId;
                    model.CreateUser   = model.ModifyUser = user.UserName;
                    model.CreateTime   = model.ModifyTime = DateTime.Now;
                    model.CreateDeptId = user.DeptId;
                    model.CreateDept   = user.DeptName;
                }
                else
                {
                    model.TaskId       = id;
                    model.ModifyTime   = DateTime.Now;
                    model.ModifyUserId = user.UserId;
                    model.ModifyUser   = user.UserName;
                }

                if (model.SubTasks == null)
                {
                    model.SubTasks = new List <DepartmentTaskEntity>();
                }
                foreach (var item in model.SubTasks)
                {
                    item.CreateUserId = item.ModifyUserId = user.UserId;
                    item.CreateUser   = item.ModifyUser = user.UserName;
                    item.CreateTime   = item.ModifyTime = DateTime.Now;
                    item.CreateDeptId = user.DeptId;
                    item.CreateDept   = user.DeptName;
                    item.ParentTaskId = model.TaskId;
                    if (item.Status != "已完成" && item.Status != "已取消")
                    {
                        item.Status = "未开始";
                    }
                }

                var bll = new DepartmentTaskBLL();
                bll.Edit(model);

                WorkmeetingBLL meetBll      = new WorkmeetingBLL();
                var            deptbll      = new DepartmentBLL();
                var            trainingtype = Config.GetValue("TrainingType");
                foreach (var item in model.SubTasks)
                {
                    if (item.IsPublish == true)
                    {
                        continue;
                    }

                    var dept = deptbll.GetEntity(item.DutyDepartmentId);
                    if (dept == null)
                    {
                        continue;
                    }
                    if (dept.Nature != "班组")
                    {
                        continue;
                    }

                    var job = new MeetingJobEntity();
                    job.JobId                 = Guid.NewGuid().ToString();
                    job.CreateDate            = DateTime.Now;
                    job.CreateUserId          = user.UserId;
                    job.GroupId               = dept.DepartmentId;
                    job.Relation              = new MeetingAndJobEntity();
                    job.Relation.MeetingJobId = Guid.NewGuid().ToString();
                    job.Relation.JobId        = job.JobId;
                    job.IsFinished            = job.Relation.IsFinished = "undo";
                    job.Relation.JobUserId    = item.DutyUserId;
                    job.Relation.JobUser      = item.DutyUser;
                    job.Job               = item.Content;
                    job.TemplateId        = item.TaskId;
                    job.StartTime         = DateTime.Parse(item.StartDate.Value.ToString("yyyy/MM/dd") + " 08:30");
                    job.EndTime           = DateTime.Parse(item.EndDate.Value.ToString("yyyy/MM/dd") + " 17:30");
                    job.RiskLevel         = "低风险";
                    job.TaskType          = "管理任务";
                    job.Relation.JobUsers = new List <JobUserEntity>()
                    {
                        new JobUserEntity()
                        {
                            UserId = item.DutyUserId, UserName = item.DutyUser, JobUserId = Guid.NewGuid().ToString(), JobType = "ischecker", CreateDate = DateTime.Now, MeetingJobId = job.Relation.MeetingJobId
                        }
                    };
                    if (job.DangerousList == null)
                    {
                        job.DangerousList = new List <JobDangerousEntity>();
                    }

                    job = meetBll.PostJob(job);
                    if (string.IsNullOrEmpty(job.Relation.StartMeetingId))
                    {
                        message = "任务已分配至班前会,等待下发。";
                    }
                    else
                    {
                        var meeting = meetBll.GetEntity(job.Relation.StartMeetingId);
                        if (meeting.IsOver)
                        {
                            message = "任务已下发。";
                        }
                        else
                        {
                            message = "任务已分配至班前会,等待下发。";
                        }
                    }

                    if (!string.IsNullOrEmpty(job.Relation.StartMeetingId))
                    {
                        var meeting = meetBll.GetDetail(job.Relation.StartMeetingId);
                        if (meeting != null && meeting.IsOver && job.NeedTrain)
                        {
                            if (trainingtype == "人身风险预控")
                            {
                                var training = new HumanDangerTrainingEntity()
                                {
                                    TrainingId = Guid.NewGuid().ToString(), TrainingTask = job.Job, CreateTime = DateTime.Now, CreateUserId = user.UserId, MeetingJobId = job.Relation.MeetingJobId, DeptId = job.GroupId, TrainingPlace = job.JobAddr, No = job.TicketCode
                                };
                                if (!string.IsNullOrEmpty(job.TemplateId))
                                {
                                    training.HumanDangerId = job.TemplateId;
                                }
                                training.TrainingUsers = job.Relation.JobUsers.Select(x => new TrainingUserEntity()
                                {
                                    TrainingUserId = Guid.NewGuid().ToString(), UserId = x.UserId, UserName = x.UserName, TrainingRole = x.JobType == "ischecker" ? 1 : 0
                                }).ToList();
                                new HumanDangerTrainingBLL().Add(training);
                            }
                            else
                            {
                                var dangerbll  = new DangerBLL();
                                var messagebll = new MessageBLL();

                                var danger = dangerbll.Save(job);
                                if (danger != null)
                                {
                                    messagebll.SendMessage("危险预知训练", danger.Id);
                                }
                            }
                        }
                    }
                    var msgbll = new MessageBLL();
                    msgbll.SendMessage("工作提示", job.Relation.MeetingJobId);

                    item.IsPublish = true;
                }

                bll.Publish(model.SubTasks.Where(x => x.IsPublish == true).ToList());
            }
            catch (Exception ex)
            {
                success = false;
                message = ex.Message;
            }
            return(Json(new AjaxResult()
            {
                type = success ? ResultType.success : ResultType.error, message = message
            }));
        }
コード例 #5
0
ファイル: TaskBLL.cs プロジェクト: paddy235/BSFramework
 public void EnsureSignin(MeetingJobEntity meetingJob, string districtId, DateTime date)
 {
     taskService.EnsureSignin(meetingJob, districtId, date);
 }
コード例 #6
0
        public void EnsureStatus(MeetingJobEntity item, string userId)
        {
            IHumanDangerTrainingService service = new HumanDangerTrainingService();

            service.Ensure(item, userId);
        }