public HttpResponseMessage TaskList(string Taskname = "", int page = 1, int pageSize = 10, EnumTaskSearchOrderBy orderByAll = EnumTaskSearchOrderBy.OrderById, bool isDes = true) { //验证是否有非法字符 Regex reg = new Regex(@"^[^ %@#!*~&',;=?$\x22]+$"); if (!string.IsNullOrEmpty(Taskname)) { var m = reg.IsMatch(Taskname); if (!m) { return(PageHelper.toJson(PageHelper.ReturnValue(false, "搜索输入存在非法字符!"))); } } var taskcondition = new TaskSearchCondition { OrderBy = orderByAll, Taskname = Taskname, Page = page, PageCount = pageSize, IsDescending = isDes }; try { var taskList = _taskService.GetTasksByCondition(taskcondition).Select(p => new { Taskname = p.Taskname, Name = p.TaskType.Name, Endtime = p.Endtime, Adduser = p.Adduser, Id = p.Id }).ToList().Select(p => new { Taskname = p.Taskname, Name = p.Name, Endtime = p.Endtime.ToShortDateString(), // Adduser = _brokerService.GetBrokerByUserId(p.Adduser).Brokername, Adduser = _userservice.GetUserById(p.Adduser) == null ? p.Adduser.ToString() : _userservice.GetUserById(p.Adduser).UserName, Id = p.Id }).ToList(); var taskCount = _taskService.GetTaskCount(taskcondition); if (taskCount > 0) { return(PageHelper.toJson(new { list = taskList, totalCount = taskCount, condition = taskcondition })); } else { return(PageHelper.toJson(PageHelper.ReturnValue(true, "不存在数据!"))); } } catch { return(PageHelper.toJson(PageHelper.ReturnValue(false, "出现数据错误!"))); } }
public HttpResponseMessage TaskListMobile(int page, string type) { int pageSize = 10; var taskcondition = new TaskSearchCondition { OrderBy = EnumTaskSearchOrderBy.OrderById, Page = page, PageCount = pageSize, }; if (type == "today")///查找今天的任务,否则查询所有任务 { //taskcondition.AddtimeBegin = DateTime.Today; //taskcondition.AddtimeEnd = DateTime.Today.AddDays(1); taskcondition.PageCount = 5; taskcondition.Page = 1; taskcondition.IsDescending = true;//降序 } var taskList = _taskService.GetTasksByCondition(taskcondition).Select(p => new { Taskname = p.Taskname, Name = p.TaskType.Name, awardname = p.TaskAward.Name, awardvalue = p.TaskAward.Value, Endtime = p.Endtime, Adduser = p.Adduser, Id = p.Id, }).ToList(); var taskCount = _taskService.GetTaskCount(taskcondition); if (taskCount > 0) { return(PageHelper.toJson(new { list = taskList, totalCount = taskCount, condition = taskcondition })); } else { return(PageHelper.toJson(PageHelper.ReturnValue(true, "不存在数据!"))); } }
public HttpResponseMessage DelTaskTag(int id) { try { var cond = new TaskSearchCondition() { tagId = id }; int tlistcout = _taskService.GetTaskCount(cond); if (tlistcout > 0) { return(PageHelper.toJson(PageHelper.ReturnValue(false, "该目标使用中,删除失败"))); } else { _taskTagService.Delete(_taskTagService.GetTaskTagById(id)); return(PageHelper.toJson(PageHelper.ReturnValue(true, "删除成功"))); } } catch (Exception) { return(PageHelper.toJson(PageHelper.ReturnValue(false, "删除失败"))); } }
public HttpResponseMessage AddTask([FromBody] TaskModel taskModel) { if (!string.IsNullOrEmpty(taskModel.Taskname)) { //用正则表达式验证是否存在非法字符/^(\d{4})-(0\d{1}|1[0-2])-(0\d{1}|[12]\d{1}|3[01])$/ Regex reg = new Regex(@"^[^ %@#!*~&',;=?$\x22]+$"); var m = reg.IsMatch(taskModel.Taskname); if (!m) { return(PageHelper.toJson(PageHelper.ReturnValue(false, "任务名称存在非法字符!"))); } //验证日期格式 if (taskModel.Endtime == null) { return(PageHelper.toJson(PageHelper.ReturnValue(false, "结束时间格式错误!"))); } if (DateTime.Today >= Convert.ToDateTime(taskModel.Endtime)) { return(PageHelper.toJson(PageHelper.ReturnValue(false, "结束时间至少是明天!"))); } if (!string.IsNullOrEmpty(taskModel.Describe)) { var m1 = reg.IsMatch(taskModel.Describe); if (!m1) { return(PageHelper.toJson(PageHelper.ReturnValue(false, "描述存在非法字符!"))); } } var user = (UserBase)_workContext.CurrentUser; var model = new TaskEntity { Id = user.Id, TaskPunishment = _taskPunishmentService.GetTaskPunishmentById(taskModel.TaskPunishmentId), TaskAward = _taskAwardService.GetTaskAwardById(taskModel.TaskAwardId), TaskTag = _taskTagService.GetTaskTagById(taskModel.TaskTagId), TaskType = _taskTypeService.GetTaskTypeById(taskModel.TaskTypeId), Taskname = taskModel.Taskname, Describe = taskModel.Describe, Endtime = Convert.ToDateTime(taskModel.Endtime), Adduser = _workContext.CurrentUser.Id, Addtime = DateTime.Now, Upuser = 0, Uptime = DateTime.Now, }; var mo1 = new TaskSearchCondition { TasknameRe = taskModel.Taskname }; if (taskModel.Type == "add") { //判断是否存在同名名称 int taskCount = _taskService.GetTaskCount(mo1); if (taskCount == 0) { try { if (_taskService.Create(model) != null) { return(PageHelper.toJson(PageHelper.ReturnValue(true, "添加成功"))); } } catch (Exception) { return(PageHelper.toJson(PageHelper.ReturnValue(false, "添加失败"))); } } else { return(PageHelper.toJson(PageHelper.ReturnValue(false, "任务名称已存在,请换名称"))); } } if (taskModel.Type == "edit") { var cond = new TaskListSearchCondition() { TaskId = taskModel.Id }; //判断任务是否被接手 int tlistcout = _taskListService.GetTaskListCount(cond); //判断是否存在同名名称 var mo11 = new TaskSearchCondition { TasknameRe = taskModel.Taskname, Id = taskModel.Id }; int tasknameCount = _taskService.GetTaskCount(mo11); if (tlistcout > 0) { return(PageHelper.toJson(PageHelper.ReturnValue(false, "不能修改,已经有人接手任务"))); } else if (tasknameCount > 0) { return(PageHelper.toJson(PageHelper.ReturnValue(false, "任务名称已存在,请换名称"))); } else { var mdel = _taskService.GetTaskById(taskModel.Id); mdel.Id = taskModel.Id; mdel.TaskPunishment = _taskPunishmentService.GetTaskPunishmentById(taskModel.TaskPunishmentId); mdel.TaskAward = _taskAwardService.GetTaskAwardById(taskModel.TaskAwardId); mdel.TaskTag = _taskTagService.GetTaskTagById(taskModel.TaskTagId); mdel.TaskType = _taskTypeService.GetTaskTypeById(taskModel.TaskTypeId); mdel.Taskname = taskModel.Taskname; mdel.Describe = taskModel.Describe; mdel.Endtime = Convert.ToDateTime(taskModel.Endtime); mdel.Upuser = _workContext.CurrentUser.Id; mdel.Uptime = DateTime.Now; try { _taskService.Update(mdel); return(PageHelper.toJson(PageHelper.ReturnValue(true, "修改成功"))); } catch (Exception) { return(PageHelper.toJson(PageHelper.ReturnValue(false, "修改失败"))); } } } } else { return(PageHelper.toJson(PageHelper.ReturnValue(false, "任务名称不能为空!"))); } return(PageHelper.toJson(PageHelper.ReturnValue(false, "数据验证失败"))); }
public IQueryable <TaskEntity> GetTasksByCondition(TaskSearchCondition condition) { var query = _taskRepository.Table; try { if (condition.EndtimeBegin.HasValue) { query = query.Where(q => q.Endtime >= condition.EndtimeBegin.Value); } if (condition.EndtimeEnd.HasValue) { query = query.Where(q => q.Endtime < condition.EndtimeEnd.Value); } if (condition.AddtimeBegin.HasValue) { query = query.Where(q => q.Addtime >= condition.AddtimeBegin.Value); } if (condition.AddtimeEnd.HasValue) { query = query.Where(q => q.Addtime < condition.AddtimeEnd.Value); } if (condition.UptimeBegin.HasValue) { query = query.Where(q => q.Uptime >= condition.UptimeBegin.Value); } if (condition.UptimeEnd.HasValue) { query = query.Where(q => q.Uptime < condition.UptimeEnd.Value); } if (!string.IsNullOrEmpty(condition.Taskname)) { query = query.Where(q => q.Taskname.Contains(condition.Taskname)); } if (condition.Ids != null && condition.Ids.Any()) { query = query.Where(q => condition.Ids.Contains(q.Id)); } if (condition.Id > 0) { query = query.Where(q => condition.Id == q.Id); } if (condition.TaskPunishments != null && condition.TaskPunishments.Any()) { query = query.Where(q => condition.TaskPunishments.Contains(q.TaskPunishment)); } if (condition.TaskAwards != null && condition.TaskAwards.Any()) { query = query.Where(q => condition.TaskAwards.Contains(q.TaskAward)); } if (condition.TaskTags != null && condition.TaskTags.Any()) { query = query.Where(q => condition.TaskTags.Contains(q.TaskTag)); } if (condition.TaskTypes != null && condition.TaskTypes.Any()) { query = query.Where(q => condition.TaskTypes.Contains(q.TaskType)); } if (condition.Addusers != null && condition.Addusers.Any()) { query = query.Where(q => condition.Addusers.Contains(q.Adduser)); } if (condition.Upusers != null && condition.Upusers.Any()) { query = query.Where(q => condition.Upusers.Contains(q.Upuser)); } if (condition.OrderBy.HasValue) { switch (condition.OrderBy.Value) { case EnumTaskSearchOrderBy.OrderById: query = condition.IsDescending?query.OrderByDescending(q => q.Id):query.OrderBy(q => q.Id); break; case EnumTaskSearchOrderBy.OrderByTaskname: query = condition.IsDescending ? query.OrderByDescending(q => q.Taskname) : query.OrderBy(q => q.Taskname); break; case EnumTaskSearchOrderBy.OrderByName: query = condition.IsDescending ? query.OrderByDescending(q => q.TaskType.Name) : query.OrderBy(q => q.TaskType.Name); break; case EnumTaskSearchOrderBy.OrderByEndtime: query = condition.IsDescending ? query.OrderByDescending(q => q.Endtime) : query.OrderBy(q => q.Endtime); break; case EnumTaskSearchOrderBy.OrderByAdduser: query = condition.IsDescending ? query.OrderByDescending(q => q.Adduser) : query.OrderBy(q => q.Adduser); break; } } else { query = query.OrderBy(q => q.Id); } if (condition.Page.HasValue && condition.PageCount.HasValue) { query = query.Skip((condition.Page.Value - 1) * condition.PageCount.Value).Take(condition.PageCount.Value); } return(query); } catch (Exception e) { _log.Error(e, "数据库操作出错"); return(null); } }
public int GetTaskCount(TaskSearchCondition condition) { var query = _taskRepository.Table; try { if (condition.EndtimeBegin.HasValue) { query = query.Where(q => q.Endtime >= condition.EndtimeBegin.Value); } if (condition.EndtimeEnd.HasValue) { query = query.Where(q => q.Endtime < condition.EndtimeEnd.Value); } if (condition.AddtimeBegin.HasValue) { query = query.Where(q => q.Addtime >= condition.AddtimeBegin.Value); } if (condition.AddtimeEnd.HasValue) { query = query.Where(q => q.Addtime < condition.AddtimeEnd.Value); } if (condition.UptimeBegin.HasValue) { query = query.Where(q => q.Uptime >= condition.UptimeBegin.Value); } if (condition.UptimeEnd.HasValue) { query = query.Where(q => q.Uptime < condition.UptimeEnd.Value); } if (!string.IsNullOrEmpty(condition.Taskname)) { query = query.Where(q => q.Taskname.Contains(condition.Taskname)); } if (!string.IsNullOrEmpty(condition.TasknameRe)) { query = query.Where(q => q.Taskname == condition.TasknameRe); } if (condition.Ids != null && condition.Ids.Any()) { query = query.Where(q => condition.Ids.Contains(q.Id)); } if (condition.TaskPunishments != null && condition.TaskPunishments.Any()) { query = query.Where(q => condition.TaskPunishments.Contains(q.TaskPunishment)); } if (condition.TaskAwards != null && condition.TaskAwards.Any()) { query = query.Where(q => condition.TaskAwards.Contains(q.TaskAward)); } if (condition.TaskTags != null && condition.TaskTags.Any()) { query = query.Where(q => condition.TaskTags.Contains(q.TaskTag)); } if (condition.TaskTypes != null && condition.TaskTypes.Any()) { query = query.Where(q => condition.TaskTypes.Contains(q.TaskType)); } if (condition.Addusers != null && condition.Addusers.Any()) { query = query.Where(q => condition.Addusers.Contains(q.Adduser)); } if (condition.Addusers != null && condition.Addusers.Any()) { query = query.Where(q => condition.Addusers.Contains(q.Adduser)); } if (condition.typeId > 0) { query = query.Where(q => q.TaskType.Id == condition.typeId); } if (condition.awardId > 0) { query = query.Where(q => q.TaskAward.Id == condition.awardId); } if (condition.punishId > 0) { query = query.Where(q => q.TaskPunishment.Id == condition.punishId); } if (condition.tagId > 0) { query = query.Where(q => q.TaskTag.Id == condition.tagId); } if (condition.Id > 0) { query = query.Where(q => q.Id != condition.Id); } return(query.Count()); } catch (Exception e) { _log.Error(e, "数据库操作出错"); return(-1); } }