//主页请求的数据 public JsonResult WorkListList(WorkListQuery query) { var totalcount = 0; query.CusMemberId = CookieOperate.AccountCookie.AccountId; var list = WorkListDBOperate.GetPagerList(query, out totalcount); PagerList <WorkList> pagerList = new PagerList <WorkList>(); var status = CommonMethod.GetEnumItems <WorkListStatusEnum>(); //var userList = CompanyUserDBOperate.GetUserByUserNames(string.Join(",", list.Select(a => a.Users)).Split(',').ToArray()); var detailList = WorkListDetailDBOperate.GetList(list.Select(a => a.Guid).ToArray()); list.ForEach(a => { a.StatusTxt = status.FirstOrDefault(b => b.Key == a.Status).Value; a.StatusClass = CommonMethod.GetWorkListStatusClass(a.Status); a.DetailList = detailList.Where(b => b.WorkId == a.Guid).ToList(); //if (string.IsNullOrEmpty(a.Users)) { return; } //var thisUserList = new List<CompanyUser>(); //var thisUserArray = a.Users.Split(',').ToArray(); //foreach (var item in thisUserArray) //{ // if (!string.IsNullOrEmpty(item)) // thisUserList.Add(userList.FirstOrDefault(b => b.UserName == item)); //} //a.UserList = thisUserList; }); pagerList.rows = list; pagerList.total = totalcount; return(Json(pagerList)); }
public JsonResult GetWorkDetailById(int projectId) { var result = new ResultInfo <WorkList>(); var model = WorkListDBOperate.GetModelById(projectId); var detail = WorkListDetailDBOperate.GetList(new string[] { model.Guid }); var guid = detail.Select(a => a.Guid).ToArray(); var items = WorkListItemsDBOperate.GetList(guid); model.DetailList = detail; model.ItemList = items; result.Data = model; result.IsSuccess = true; return(Json(result)); }
public static bool ImportExcel(DataTable dt, CompanyUser user, out string message) { message = string.Empty; try { var workName = dt.Columns[1].ColumnName.Trim(); var work = WorkListDBOperate.GetModelByName(workName); if (work == null) { message = "工单不存在,请先导入或创建工单"; return(false); } var addList = new List <WorkListItems>(); var detailName = new List <string>(); for (int i = 1; i < dt.Rows.Count; i++) { var dr = dt.Rows[i]; var detail = dr[1].ToString(); if (!detailName.Contains(detail)) { detailName.Add(detail); } var col = dr.ItemArray; //从第二列开始算 for (int j = 2; j < col.Length; j++) { var info = col[j].ToString(); if (string.IsNullOrEmpty(info)) { continue; } var model = new WorkListItems() { CompanyId = work.CompanyId, CompanyName = work.CompanyName, ProjectId = work.ProjectId, WorkId = work.Id, Name = detail, Level = 999, Status = ItemStatus.XuQiu.ToString(), DayCount = 0, CreateBy = user.UserName, CreateDate = DateTime.Now, IsDeleted = 0, Infos = info, }; addList.Add(model); } } var detailList = WorkListDetailDBOperate.GetModelByNames(detailName.ToArray(), work.Guid); var flag = true; var notExistList = new List <string>(); addList.ForEach(a => { var myDetail = detailList.FirstOrDefault(b => b.Infos == a.Name); if (myDetail == null) { flag = false; notExistList.Add(a.Name); return; } a.DetailId = myDetail.Id; a.DetailGuid = myDetail.Guid; }); if (!flag) { message = string.Format("[{0}]工单内容不存在,无法导入", string.Join(",", notExistList.Distinct())); return(false); } return(WorkListItemsDBOperate.AddWorkListItems(addList)); } catch (Exception ex) { message = ex.Message; } return(false); }