/// <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); }
/// <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; } }
/// <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); } }
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 })); }
public void EnsureSignin(MeetingJobEntity meetingJob, string districtId, DateTime date) { taskService.EnsureSignin(meetingJob, districtId, date); }
public void EnsureStatus(MeetingJobEntity item, string userId) { IHumanDangerTrainingService service = new HumanDangerTrainingService(); service.Ensure(item, userId); }