| | |
| | | /// <returns></returns> |
| | | [Route("Web/GetUser")] |
| | | [HttpGet] |
| | | [AllowAnonymous] |
| | | public object GetUser(string UserName, string PassWord, string HOrgName) |
| | | { |
| | | try |
| | |
| | | } |
| | | } |
| | | |
| | | if (!oSystemParameter.ShowBill(ref DBUtility.ClsPub.sErrInfo)) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "登录异常!Token 生成异常,无法获取公司信息!"; |
| | | } |
| | | |
| | | string tokenStr = Utility.JWTHelper.GenerateToken(UserName.Trim(), DBUtility.ClsPub.StrToPsd(PassWord.Trim())); |
| | | |
| | | |
| | | objjson.code = "0"; |
| | | objjson.count = 1; |
| | | objjson.Message = "[0000-1-073]登录成功!"; |
| | | objjson.data = ds.Tables[0]; |
| | | return objjson; |
| | | JObject jobjJsonResult = JObject.FromObject(objjson); |
| | | jobjJsonResult["token"] = tokenStr; |
| | | return jobjJsonResult; |
| | | |
| | | } |
| | | catch (Exception e) |
| | |
| | | /// <returns></returns> |
| | | [Route("Web/GetDataBases")] |
| | | [HttpGet] |
| | | [AllowAnonymous] |
| | | public object GetDataBases() |
| | | { |
| | | try |
| | |
| | | /// <returns></returns> |
| | | [Route("Web/GetOrganizations")] |
| | | [HttpGet] |
| | | [AllowAnonymous] |
| | | public object GetOrganizations() |
| | | { |
| | | try |
| | |
| | | /// <returns></returns> |
| | | [Route("Web/BaseInfo")] |
| | | [HttpGet] |
| | | [AllowAnonymous] |
| | | public object GetBaseInfo() |
| | | { |
| | | try |
| | |
| | | public string HTranslationText_English { get; set; } |
| | | public string HTranslationText_Spain { get; set; } |
| | | public List<MenuLoad> childMenus { get; set; } |
| | | public DateTime HMakeDate { get; set; } |
| | | public string HMaker { get; set; } |
| | | } |
| | | |
| | | [Route("Web/MenuList")] |
| | |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region 构建路由嵌套对象 |
| | | [Route("Web/MenuList_1")] |
| | | [HttpGet] |
| | | public object MenuList_1(string HMakeName, string HType) |
| | | { |
| | | try |
| | | { |
| | | string filePath = HttpContext.Current.Server.MapPath($"~/RouterDisplay/DisplayConfig.json"); |
| | | string directory = Path.GetDirectoryName(filePath); |
| | | if (!string.IsNullOrEmpty(directory) && !Directory.Exists(directory)) |
| | | { |
| | | Directory.CreateDirectory(directory); |
| | | } |
| | | DateTime lastWriteTime = File.GetLastWriteTime(filePath); |
| | | lastWriteTime = new DateTime(lastWriteTime.Year, lastWriteTime.Month, lastWriteTime.Day, lastWriteTime.Hour, 0, 0); |
| | | DataSet ds = oCN.RunProcReturn($"select top 1 HMakeDate from Gy_Menu_1_build ORDER BY HMakeDate desc ", "Gy_Menu_1_build"); |
| | | |
| | | DateTime dbTime = Convert.ToDateTime(ds.Tables[0].Rows[0]["HMakeDate"]); |
| | | dbTime = new DateTime(dbTime.Year, dbTime.Month, dbTime.Day, dbTime.Hour, 0, 0); |
| | | |
| | | if (dbTime> lastWriteTime) |
| | | { |
| | | List<MenuLoad> mu = new List<MenuLoad>(); //以父子级结构存放菜单清单信息 |
| | | SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); //数据库操作工具 |
| | | string sql = "select HItemID,HPartentID,HNumber,HName,HLevel,Hurl,HType,HPicNum,HShowMode,isnull(HTranslationText_English,HName) HTranslationText_English,isnull(HTranslationText_Spain,HName) HTranslationText_Spain from Gy_MenuDefineSet where HMakeName = '" + HMakeName + "' and HType = '" + HType + "' order by HPosition"; |
| | | ds = oCn.RunProcReturn(sql, "Gy_MenuDefineSet"); //查询当前用户的自定义菜单数据 |
| | | if (ds.Tables[0] == null || ds.Tables[0].Rows.Count == 0) //判断当前用户是否有设置过自定义信息,若记录数为0,则没有设置过,加载所有的菜单信息 |
| | | { |
| | | string sql1 = "select HItemID,HPartentID,HNumber,HName,HLevel,Hurl,HType,HPicNum,HShowMode,isnull(HTranslationText_English,HName) HTranslationText_English,isnull(HTranslationText_Spain,HName) HTranslationText_Spain from Gy_MenuDefineSet where HMakeName=" + |
| | | "(select top 1 c.GroupName from Gy_Czygl a left join System_UserGroupInfo b on a.Czybm = b.UserId " + |
| | | "left join System_UserGroup c on b.GroupId = c.GroupID where a.Czymc ='" + HMakeName + "' order by len(c.GroupName ))"; |
| | | ds = oCn.RunProcReturn(sql1, "Gy_MenuDefineSet"); //查询用户绑定的角色 是否设置菜单信息 取角色名称最短的一个 |
| | | if ((ds.Tables[0] == null || ds.Tables[0].Rows.Count == 0)) |
| | | { |
| | | sql1 = "select HItemID,HPartentID,HNumber,HName,HLevel,Hurl,HType,HPicNum,HShowMode,isnull(HTranslationText_English,HName) HTranslationText_English,isnull(HTranslationText_Spain,HName) HTranslationText_Spain from Gy_MenuDefineSet where HMakeName = 'admin' and HType = '" + HType + "' order by HPosition"; |
| | | ds = oCn.RunProcReturn(sql1, "Gy_MenuDefineSet"); //查询admin 是否设置菜单信息 |
| | | if ((ds.Tables[0] == null || ds.Tables[0].Rows.Count == 0)) |
| | | { |
| | | sql = "Select HitemID,HNumber,HName,HPartentID,HLevel,Hurl,HShowMode,isnull(HTranslationText_English,HName) HTranslationText_English,isnull(HTranslationText_Spain,HName) HTranslationText_Spain,HPicNum from Gy_Menu_1_build where HType = '" + HType + "' Order by HPosition,len(HitemID),HitemID "; |
| | | ds = oCn.RunProcReturn(sql, "Gy_Menu_1_build"); |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | for (int i = 0; i < ds.Tables[0].Rows.Count; i++) //将菜单的根节点保存到列表menu中 |
| | | { |
| | | if (ds.Tables[0].Rows[i]["HPartentID"].ToString() == "0" || ds.Tables[0].Rows[i]["HitemID"].ToString() == ds.Tables[0].Rows[i]["HPartentID"].ToString()) //判断是否最外层根节点 |
| | | { |
| | | MenuLoad tbj = new MenuLoad(); |
| | | tbj.HitemID = ds.Tables[0].Rows[i]["HitemID"].ToString(); |
| | | tbj.HNumber = ds.Tables[0].Rows[i]["HNumber"].ToString(); |
| | | tbj.HName = ds.Tables[0].Rows[i]["HName"].ToString(); |
| | | tbj.HPartentID = ds.Tables[0].Rows[i]["HPartentID"].ToString(); |
| | | tbj.HLevel = int.Parse(ds.Tables[0].Rows[i]["HLevel"].ToString()); |
| | | tbj.Hurl = ds.Tables[0].Rows[i]["Hurl"].ToString(); |
| | | tbj.HShowMode = ds.Tables[0].Rows[i]["HShowMode"].ToString(); |
| | | tbj.HTranslationText_English = ds.Tables[0].Rows[i]["HTranslationText_English"].ToString(); |
| | | tbj.HTranslationText_Spain = ds.Tables[0].Rows[i]["HTranslationText_Spain"].ToString(); |
| | | if (ds.Tables[0].Rows[i]["HPicNum"] != null) |
| | | { |
| | | tbj.HPicNum = ds.Tables[0].Rows[i]["HPicNum"].ToString(); |
| | | } |
| | | mu.Add(tbj); |
| | | } |
| | | } |
| | | diguiLoad(ds.Tables[0], mu); //使用递归,将需要加载的数据以父子级的结构存放在mu中 |
| | | |
| | | |
| | | objJsonResult.code = "1";//信号参数 |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "查询成功!"; |
| | | objJsonResult.data = Newtonsoft.Json.JsonConvert.SerializeObject(mu); |
| | | return objJsonResult; |
| | | } |
| | | else |
| | | { |
| | | string josncontext = File.ReadAllText(filePath); |
| | | objJsonResult.code = "2"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "查询成功!"; |
| | | objJsonResult.data = josncontext; |
| | | return objJsonResult; |
| | | } |
| | | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "查询失败!"; |
| | | objJsonResult.data = e.ToString(); |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | |
| | | public class RequestDto |
| | | { |
| | | public string content { get; set; } |
| | | } |
| | | [Route("Web/buildRouteObj")] |
| | | [HttpPost] |
| | | public object buildRouteObj([FromBody] RequestDto request) |
| | | { |
| | | string filePath = HttpContext.Current.Server.MapPath($"~/RouterDisplay/DisplayConfig.json"); |
| | | try |
| | | { |
| | | string jsonContent = request.content; |
| | | if (string.IsNullOrEmpty(jsonContent)) |
| | | { |
| | | |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "JSON 内容不能为空!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | |
| | | if (string.IsNullOrWhiteSpace(filePath)) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "文件路径不能为空。!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | |
| | | string directory = Path.GetDirectoryName(filePath); |
| | | if (!string.IsNullOrEmpty(directory) && !Directory.Exists(directory)) |
| | | { |
| | | Directory.CreateDirectory(directory); |
| | | } |
| | | string contentToWrite = jsonContent; |
| | | |
| | | File.WriteAllText(filePath, contentToWrite); |
| | | objJsonResult.code = "1"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "文件保存成功,路径为"+filePath; |
| | | objJsonResult.data = null; |
| | | LogService.Write($"路径为{filePath}"); |
| | | return objJsonResult; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | |
| | | LogService.Write("Exception!" + e.ToString()); |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "Exception!" + e.ToString(); |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | |
| | | |
| | | |
| | | #region [菜单目录自定义] |
| | |
| | | foreach (var param in rawParams) |
| | | { |
| | | bool isMatched = false; |
| | | // 遍历所有工艺分类,判断参数名是否包含该分类名称 |
| | | // 遍历所有工艺分类,判断参数名是以该分类名称开头 |
| | | foreach (string category in categoryNames) |
| | | { |
| | | if (param.TechParamName.Contains(category)) |
| | | if (param.TechParamName.StartsWith(category)) |
| | | { |
| | | if(param.TechParamName.Length != category.Length) |
| | | { |
| | | param.TechParamName = param.TechParamName.Substring(category.Length); |
| | | } |
| | | groupedParams[category].Add(param); |
| | | isMatched = true; |
| | | break; // 匹配到第一个分类后停止(避免重复匹配) |