public void Complete(DepartmentTaskEntity model) { IRepository db = new RepositoryFactory().BaseRepository(); var entity = db.FindEntity <DepartmentTaskEntity>(model.TaskId); if (entity == null) { return; } entity.Status = model.Status; db.Update(entity); }
public ViewResult Detail(string id) { var user = OperatorProvider.Provider.Current(); var model = new DepartmentTaskEntity() { DutyDepartmentId = user.DeptId, DutyDepartment = user.DeptName }; if (!string.IsNullOrEmpty(id)) { var bll = new DepartmentTaskBLL(); model = bll.Detail(id); } if (model.SubTasks == null) { model.SubTasks = new List <DepartmentTaskEntity>(); } model.SubTasks.ForEach(x => x.State = 0); model.SubTasks = model.SubTasks.Select(x => new { Seq = x.DutyDepartmentId == user.DeptId ? 0 : 1, Task = x }).OrderBy(x => x.Seq).ThenBy(x => x.Task.DutyDepartmentId).ThenByDescending(x => x.Task.CreateTime).Select(x => x.Task).ToList(); ViewBag.userid = user.UserId; ViewBag.id = id; var date = DateTime.Today; if (model.Status == "未开始") { if (model.StartDate.Value <= date && model.EndDate.Value >= date) { model.Status = "进行中"; } else if (model.EndDate < DateTime.Now) { model.Status = "未完成"; } } return(View(model)); }
private void BuildRecords(DepartmentTaskEntity newEntity, DepartmentTaskEntity oldEntity, string user) { if (oldEntity.UpdateRecords == null) { oldEntity.UpdateRecords = string.Empty; } if (newEntity.Content != oldEntity.Content) { oldEntity.UpdateRecords += string.Format("{0}更新于{1},任务名称从{2}变更为{3}。{4}", user, DateTime.Now.ToString("yyyy-MM-dd HH:mm"), oldEntity.Content, newEntity.Content, System.Environment.NewLine); } if (newEntity.StartDate != oldEntity.StartDate || newEntity.EndDate != oldEntity.EndDate) { oldEntity.UpdateRecords += string.Format("{0}更新于{1},计划时间从{2}变更为{3}。{4}", user, DateTime.Now.ToString("yyyy-MM-dd HH:mm"), oldEntity.StartDate.Value.ToString("yyyy-MM-dd") + "至" + oldEntity.EndDate.Value.ToString("yyyy-MM-dd"), newEntity.StartDate.Value.ToString("yyyy-MM-dd") + "至" + newEntity.EndDate.Value.ToString("yyyy-MM-dd"), System.Environment.NewLine); } if (newEntity.DutyUser != oldEntity.DutyUser) { oldEntity.UpdateRecords += string.Format("{0}更新于{1},责任人从{2}变更为{3}。{4}", user, DateTime.Now.ToString("yyyy-MM-dd HH:mm"), oldEntity.DutyUser, newEntity.DutyUser, System.Environment.NewLine); } if (newEntity.Status == "已取消") { oldEntity.UpdateRecords += string.Format("{0}更新于{1},工作任务已取消{2}", user, DateTime.Now.ToString("yyyy-MM-dd HH:mm"), System.Environment.NewLine); } }
public ViewResult Update(string id) { var user = OperatorProvider.Provider.Current(); var model = new DepartmentTaskEntity() { DutyDepartmentId = user.DeptId, DutyDepartment = user.DeptName }; if (!string.IsNullOrEmpty(id)) { var bll = new DepartmentTaskBLL(); model = bll.Detail(id); } if (model.SubTasks == null) { model.SubTasks = new List <DepartmentTaskEntity>(); } model.SubTasks.ForEach(x => x.State = 0); model.SubTasks = model.SubTasks.Select(x => new { Seq = x.DutyDepartmentId == user.DeptId ? 0 : 1, Task = x }).OrderBy(x => x.Seq).ThenBy(x => x.Task.DutyDepartmentId).ThenByDescending(x => x.Task.CreateTime).Select(x => x.Task).ToList(); ViewBag.userid = user.UserId; ViewBag.id = id; return(View(model)); }
public void Edit(DepartmentTaskEntity model) { IRepository db = new RepositoryFactory().BaseRepository().BeginTrans(); try { var query = from q1 in db.IQueryable <DepartmentTaskEntity>() join q2 in db.IQueryable <DepartmentTaskEntity>() on q1.TaskId equals q2.ParentTaskId into into2 where q1.TaskId == model.TaskId select new { q1, q2 = into2 }; var entity = query.FirstOrDefault(); if (entity == null) { db.Insert(model); db.Insert(model.SubTasks); } else { BuildRecords(model, entity.q1, model.ModifyUser); entity.q1.Content = model.Content; entity.q1.StartDate = model.StartDate; entity.q1.EndDate = model.EndDate; entity.q1.DutyDepartmentId = model.DutyDepartmentId; entity.q1.DutyDepartment = model.DutyDepartment; entity.q1.DutyUserId = model.DutyUserId; entity.q1.DutyUser = model.DutyUser; entity.q1.TodoUserId = model.TodoUserId; entity.q1.TodoUser = model.TodoUser; entity.q1.Remark = model.Remark; entity.q1.Status = model.Status; db.Update(entity.q1); foreach (var item in entity.q2) { var m = model.SubTasks.Find(x => x.TaskId == item.TaskId); BuildRecords(m, item, model.ModifyUser); item.Content = m.Content; item.StartDate = m.StartDate; item.EndDate = m.EndDate; item.DutyDepartmentId = m.DutyDepartmentId; item.DutyDepartment = m.DutyDepartment; item.DutyUserId = m.DutyUserId; item.DutyUser = m.DutyUser; item.Remark = m.Remark; item.Status = m.Status; db.Update(item); var taskquery = from q in db.IQueryable <DepartmentTaskEntity>() where q.ParentTaskId == item.TaskId select q; var subquery = from q1 in db.IQueryable <DepartmentTaskEntity>() join q2 in query on q1.ParentTaskId equals item.TaskId select q1; while (subquery.Count() > 0) { taskquery = taskquery.Concat(subquery); subquery = from q1 in db.IQueryable <DepartmentTaskEntity>() join q2 in subquery on q1.ParentTaskId equals q2.TaskId select q1; } var data = taskquery.ToList(); foreach (var item1 in data) { item1.Status = "已取消"; item1.UpdateRecords += string.Format("{0}更新于{1},工作任务已取消{2}", model.ModifyUser, DateTime.Now.ToString("yyyy-MM-dd HH:mm"), System.Environment.NewLine); } db.Update(data); } var newitems = model.SubTasks.Where(x => !entity.q2.Any(y => y.TaskId == x.TaskId)).ToList(); db.Insert(newitems); newitems.ForEach(x => x.State = 1); } db.Commit(); } catch (Exception) { db.Rollback(); throw; } }
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 Complete(DepartmentTaskEntity model) { IDepartmentTaskService service = new DepartmentTaskService(); service.Complete(model); }
public void Edit(DepartmentTaskEntity model) { IDepartmentTaskService service = new DepartmentTaskService(); service.Edit(model); }