|
|
@@ -50,7 +50,7 @@ namespace MySystem.Areas.Admin.Controllers
|
|
|
/// 创客预设职级列表
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
- public JsonResult IndexData(UserRankWhite data, string MakerCode, string RealName, string StatusSelect, int page = 1, int limit = 30)
|
|
|
+ public JsonResult IndexData(UserRankWhite data, string MakerCode, string RealName, string StatusSelect, string TopMakerCode, string UpdateDateData, int page = 1, int limit = 30)
|
|
|
{
|
|
|
|
|
|
Dictionary<string, string> Fields = new Dictionary<string, string>();
|
|
|
@@ -71,6 +71,42 @@ namespace MySystem.Areas.Admin.Controllers
|
|
|
{
|
|
|
condition += " and Status=" + StatusSelect;
|
|
|
}
|
|
|
+ //顶级创客编号
|
|
|
+ if (!string.IsNullOrEmpty(TopMakerCode))
|
|
|
+ {
|
|
|
+ var topUser = db.Users.FirstOrDefault(m => m.MakerCode == TopMakerCode) ?? new Users();
|
|
|
+ var childIds = "";
|
|
|
+ // if (!string.IsNullOrEmpty(topUser.ParentNav))
|
|
|
+ // {
|
|
|
+ // string[] ParentNavList = topUser.ParentNav.Trim(',').Replace(",,", ",").Split(',');
|
|
|
+ // var topUserId = "," + topUser.Id + ",";
|
|
|
+ // if (ParentNavList.Length > 1)
|
|
|
+ // {
|
|
|
+ // var childUser = db.Users.Where(m => m.ParentNav.Contains(topUserId)).ToList();
|
|
|
+ // foreach (var item in childUser)
|
|
|
+ // {
|
|
|
+ // childIds = item.Id + ",";
|
|
|
+ // }
|
|
|
+ // childIds = childIds.TrimEnd(',');
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ var topUserId = "," + topUser.Id + ",";
|
|
|
+ var childUser = db.Users.Where(m => m.ParentNav.Contains(topUserId)).ToList();
|
|
|
+ foreach (var item in childUser)
|
|
|
+ {
|
|
|
+ childIds += item.Id + ",";
|
|
|
+ }
|
|
|
+ childIds = childIds.TrimEnd(',');
|
|
|
+ condition += " and UserId in (" + childIds + ")";
|
|
|
+ }
|
|
|
+ //到期时间
|
|
|
+ if (!string.IsNullOrEmpty(UpdateDateData))
|
|
|
+ {
|
|
|
+ string[] datelist = UpdateDateData.Split(new string[] { " - " }, StringSplitOptions.None);
|
|
|
+ string start = datelist[0];
|
|
|
+ string end = datelist[1];
|
|
|
+ condition += " and UpdateDate>='" + start + " 00:00:00' and UpdateDate<='" + end + " 23:59:59'";
|
|
|
+ }
|
|
|
|
|
|
Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("UserRankWhite", Fields, "Id desc", "0", page, limit, condition);
|
|
|
List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
|
|
|
@@ -82,17 +118,28 @@ namespace MySystem.Areas.Admin.Controllers
|
|
|
dic["MakerCode"] = user.MakerCode;
|
|
|
dic["RealName"] = user.RealName;
|
|
|
if (user.ParentUserId > 0)
|
|
|
- {
|
|
|
+ {
|
|
|
Users puser = db.Users.FirstOrDefault(m => m.Id == user.ParentUserId) ?? new Users();
|
|
|
dic["ParentMakerCode"] = puser.MakerCode;
|
|
|
dic["ParentRealName"] = puser.RealName;
|
|
|
}
|
|
|
if (!string.IsNullOrEmpty(user.ParentNav))
|
|
|
- {
|
|
|
- int TopId = int.Parse(user.ParentNav.Trim(',').Replace(",,", ",").Split(',')[0]);
|
|
|
- Users tuser = db.Users.FirstOrDefault(m => m.Id == TopId) ?? new Users();
|
|
|
- dic["TopMakerCode"] = tuser.MakerCode;
|
|
|
- dic["TopRealName"] = tuser.RealName;
|
|
|
+ {
|
|
|
+ string[] ParentNavList = user.ParentNav.Trim(',').Replace(",,", ",").Split(',');
|
|
|
+ if (ParentNavList.Length > 1)
|
|
|
+ {
|
|
|
+ int TopId = int.Parse(user.ParentNav.Trim(',').Replace(",,", ",").Split(',')[1]);
|
|
|
+ Users tuser = db.Users.FirstOrDefault(m => m.Id == TopId) ?? new Users();
|
|
|
+ dic["TopMakerCode"] = tuser.MakerCode;
|
|
|
+ dic["TopRealName"] = tuser.RealName;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ int TopId = int.Parse(user.ParentNav.Trim(',').Replace(",,", ",").Split(',')[0]);
|
|
|
+ Users tuser = db.Users.FirstOrDefault(m => m.Id == TopId) ?? new Users();
|
|
|
+ dic["TopMakerCode"] = tuser.MakerCode;
|
|
|
+ dic["TopRealName"] = tuser.RealName;
|
|
|
+ }
|
|
|
}
|
|
|
dic["Status"] = dic["Status"].ToString() == "1" ? "有效" : "无效";
|
|
|
}
|
|
|
@@ -129,7 +176,7 @@ namespace MySystem.Areas.Admin.Controllers
|
|
|
{
|
|
|
bool check = db.UserForMakerCode.Any(m => m.MakerCode == MakerCode);
|
|
|
if (!check)
|
|
|
- {
|
|
|
+ {
|
|
|
return "创客编号不存在";
|
|
|
}
|
|
|
Dictionary<string, object> Fields = new Dictionary<string, object>();
|
|
|
@@ -152,7 +199,7 @@ namespace MySystem.Areas.Admin.Controllers
|
|
|
|
|
|
UserRank rank = RedisDbconn.Instance.Get<UserRank>("UserRank:" + user.UserId);
|
|
|
if (rank != null)
|
|
|
- {
|
|
|
+ {
|
|
|
rank.WhiteRank = data.Rank;
|
|
|
RedisDbconn.Instance.Set("UserRank:" + user.UserId, rank);
|
|
|
}
|
|
|
@@ -175,11 +222,11 @@ namespace MySystem.Areas.Admin.Controllers
|
|
|
|
|
|
UserRankWhite editData = db.UserRankWhite.FirstOrDefault(m => m.Id == Id) ?? new UserRankWhite();
|
|
|
ViewBag.data = editData;
|
|
|
-
|
|
|
+
|
|
|
Users user = db.Users.FirstOrDefault(m => m.Id == editData.UserId) ?? new Users();
|
|
|
ViewBag.MakerCode = user.MakerCode;
|
|
|
ViewBag.RealName = user.RealName;
|
|
|
-
|
|
|
+
|
|
|
return View();
|
|
|
}
|
|
|
|
|
|
@@ -333,7 +380,7 @@ namespace MySystem.Areas.Admin.Controllers
|
|
|
/// 导出Excel
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
- public JsonResult ExportExcel(UserRankWhite data, string MakerCode, string RealName, string StatusSelect)
|
|
|
+ public JsonResult ExportExcel(UserRankWhite data, string MakerCode, string RealName, string StatusSelect, string TopMakerCode, string UpdateDateData)
|
|
|
{
|
|
|
Dictionary<string, string> Fields = new Dictionary<string, string>();
|
|
|
|
|
|
@@ -353,6 +400,42 @@ namespace MySystem.Areas.Admin.Controllers
|
|
|
{
|
|
|
condition += " and Status=" + StatusSelect;
|
|
|
}
|
|
|
+ //顶级创客编号
|
|
|
+ if (!string.IsNullOrEmpty(TopMakerCode))
|
|
|
+ {
|
|
|
+ var topUser = db.Users.FirstOrDefault(m => m.MakerCode == TopMakerCode) ?? new Users();
|
|
|
+ var childIds = "";
|
|
|
+ // if (!string.IsNullOrEmpty(topUser.ParentNav))
|
|
|
+ // {
|
|
|
+ // string[] ParentNavList = topUser.ParentNav.Trim(',').Replace(",,", ",").Split(',');
|
|
|
+ // var topUserId = "," + topUser.Id + ",";
|
|
|
+ // if (ParentNavList.Length > 1)
|
|
|
+ // {
|
|
|
+ // var childUser = db.Users.Where(m => m.ParentNav.Contains(topUserId)).ToList();
|
|
|
+ // foreach (var item in childUser)
|
|
|
+ // {
|
|
|
+ // childIds = item.Id + ",";
|
|
|
+ // }
|
|
|
+ // childIds = childIds.TrimEnd(',');
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ var topUserId = "," + topUser.Id + ",";
|
|
|
+ var childUser = db.Users.Where(m => m.ParentNav.Contains(topUserId)).ToList();
|
|
|
+ foreach (var item in childUser)
|
|
|
+ {
|
|
|
+ childIds += item.Id + ",";
|
|
|
+ }
|
|
|
+ childIds = childIds.TrimEnd(',');
|
|
|
+ condition += " and UserId in (" + childIds + ")";
|
|
|
+ }
|
|
|
+ //到期时间
|
|
|
+ if (!string.IsNullOrEmpty(UpdateDateData))
|
|
|
+ {
|
|
|
+ string[] datelist = UpdateDateData.Split(new string[] { " - " }, StringSplitOptions.None);
|
|
|
+ string start = datelist[0];
|
|
|
+ string end = datelist[1];
|
|
|
+ condition += " and UpdateDate>='" + start + " 00:00:00' and UpdateDate<='" + end + " 23:59:59'";
|
|
|
+ }
|
|
|
|
|
|
Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("UserRankWhite", Fields, "Id desc", "0", 1, 20000, condition, "UserId,Rank,Status,CreateDate", false);
|
|
|
List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
|
|
|
@@ -364,13 +447,13 @@ namespace MySystem.Areas.Admin.Controllers
|
|
|
dic["MakerCode"] = user.MakerCode;
|
|
|
dic["RealName"] = user.RealName;
|
|
|
if (user.ParentUserId > 0)
|
|
|
- {
|
|
|
+ {
|
|
|
Users puser = db.Users.FirstOrDefault(m => m.Id == user.ParentUserId) ?? new Users();
|
|
|
dic["ParentMakerCode"] = puser.MakerCode;
|
|
|
dic["ParentRealName"] = puser.RealName;
|
|
|
}
|
|
|
if (!string.IsNullOrEmpty(user.ParentNav))
|
|
|
- {
|
|
|
+ {
|
|
|
int TopId = int.Parse(user.ParentNav.Trim(',').Replace(",,", ",").Split(',')[0]);
|
|
|
Users tuser = db.Users.FirstOrDefault(m => m.Id == TopId) ?? new Users();
|
|
|
dic["TopMakerCode"] = tuser.MakerCode;
|
|
|
@@ -394,6 +477,7 @@ namespace MySystem.Areas.Admin.Controllers
|
|
|
ReturnFields.Add("Rank", "等级名称");
|
|
|
ReturnFields.Add("Status", "有效状态");
|
|
|
ReturnFields.Add("CreateDate", "创建时间");
|
|
|
+ ReturnFields.Add("UpdateDate", "过期时间");
|
|
|
result.Add("Fields", ReturnFields);
|
|
|
AddSysLog("0", "UserRankWhite", "ExportExcel");
|
|
|
return Json(result);
|
|
|
@@ -401,5 +485,81 @@ namespace MySystem.Areas.Admin.Controllers
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+ #region 快捷导出Excel
|
|
|
+ public IActionResult QuickExportExcel(string right)
|
|
|
+ {
|
|
|
+ ViewBag.RightInfo = RightInfo;
|
|
|
+ ViewBag.right = right;
|
|
|
+
|
|
|
+ return View();
|
|
|
+ }
|
|
|
+
|
|
|
+ [HttpPost]
|
|
|
+ public string QuickExportExcelDo(string MakerCode, string RealName, string StatusSelect, string TopMakerCode, string UpdateDateData)
|
|
|
+ {
|
|
|
+
|
|
|
+ string condition = " where 1=1 and a.Status>-1";
|
|
|
+ //创客编号
|
|
|
+ if (!string.IsNullOrEmpty(MakerCode))
|
|
|
+ {
|
|
|
+ condition += " and a.UserId in (select UserId from UserForMakerCode where MakerCode='" + MakerCode + "')";
|
|
|
+ }
|
|
|
+ //创客名称
|
|
|
+ if (!string.IsNullOrEmpty(RealName))
|
|
|
+ {
|
|
|
+ condition += " and a.UserId in (select UserId from UserForRealName where RealName='" + RealName + "')";
|
|
|
+ }
|
|
|
+ //状态
|
|
|
+ if (!string.IsNullOrEmpty(StatusSelect))
|
|
|
+ {
|
|
|
+ condition += " and a.Status=" + StatusSelect;
|
|
|
+ }
|
|
|
+ //顶级创客编号
|
|
|
+ if (!string.IsNullOrEmpty(TopMakerCode))
|
|
|
+ {
|
|
|
+ var topUser = db.Users.FirstOrDefault(m => m.MakerCode == TopMakerCode) ?? new Users();
|
|
|
+ var childIds = "";
|
|
|
+ // if (!string.IsNullOrEmpty(topUser.ParentNav))
|
|
|
+ // {
|
|
|
+ // string[] ParentNavList = topUser.ParentNav.Trim(',').Replace(",,", ",").Split(',');
|
|
|
+ // var topUserId = "," + topUser.Id + ",";
|
|
|
+ // if (ParentNavList.Length > 1)
|
|
|
+ // {
|
|
|
+ // var childUser = db.Users.Where(m => m.ParentNav.Contains(topUserId)).ToList();
|
|
|
+ // foreach (var item in childUser)
|
|
|
+ // {
|
|
|
+ // childIds = item.Id + ",";
|
|
|
+ // }
|
|
|
+ // childIds = childIds.TrimEnd(',');
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ var topUserId = "," + topUser.Id + ",";
|
|
|
+ var childUser = db.Users.Where(m => m.ParentNav.Contains(topUserId)).ToList();
|
|
|
+ foreach (var item in childUser)
|
|
|
+ {
|
|
|
+ childIds += item.Id + ",";
|
|
|
+ }
|
|
|
+ childIds = childIds.TrimEnd(',');
|
|
|
+ condition += " and a.UserId in (" + childIds + ")";
|
|
|
+ }
|
|
|
+ //到期时间
|
|
|
+ if (!string.IsNullOrEmpty(UpdateDateData))
|
|
|
+ {
|
|
|
+ string[] datelist = UpdateDateData.Split(new string[] { " - " }, StringSplitOptions.None);
|
|
|
+ string start = datelist[0];
|
|
|
+ string end = datelist[1];
|
|
|
+ condition += " and a.UpdateDate>='" + start + " 00:00:00' and a.UpdateDate<='" + end + " 23:59:59'";
|
|
|
+ }
|
|
|
+ var Sql = "SELECT b.MakerCode '创客编号',b.RealName '创客姓名',b.UserLevel '创客职级',c.MakerCode '上级创客编号',c.RealName ' 上级创客姓名',d.MakerCode '顶级创客编号',d.RealName '顶级创客姓名',DATE_FORMAT(a.CreateDate,'%Y-%m-%d %H:%i:%s') '创建时间',DATE_FORMAT(a.UpdateDate,'%Y-%m-%d %H:%i:%s') '到期时间',a.Rank '预设职级' FROM UserRankWhite a LEFT JOIN Users b ON a.UserId=b.Id LEFT JOIN Users c ON b.ParentUserId=c.Id LEFT JOIN Users d ON SUBSTRING_INDEX(SUBSTRING_INDEX(b.ParentNav,',',4),',',-1)=d.Id" + condition;
|
|
|
+ var sysAdmin = bsdb.SysAdmin.FirstOrDefault(m => m.AdminName == SysUserName && m.Status > -1);
|
|
|
+ var FileName = "创客预设职级记录" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
+ string SendData = "{\"Operater\":\"" + sysAdmin.Id + "\",\"SqlString\":\"" + Sql + "\",\"FileName\":\"" + FileName + "\",\"MaxCount\":\"0\"}";
|
|
|
+ RedisDbconn.Instance.AddList("ExportQueue", SendData);
|
|
|
+ return "success";
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+
|
|
|
}
|
|
|
}
|