chenhaozhe
1 天以前 14ae0e21c8660dbb3ac20a5b0d9db9b6dde3cfb9
WebAPI/Controllers/WebAPIController.cs
@@ -340,6 +340,7 @@
        /// <returns></returns>
        [Route("Web/GetUser")]
        [HttpGet]
        [AllowAnonymous]
        public object GetUser(string UserName, string PassWord, string HOrgName)
        {
            try
@@ -384,11 +385,23 @@
                    }
                }
                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)
@@ -2619,6 +2632,7 @@
        /// <returns></returns>
        [Route("Web/GetDataBases")]
        [HttpGet]
        [AllowAnonymous]
        public object GetDataBases()
        {
            try
@@ -18965,6 +18979,7 @@
        /// <returns></returns>
        [Route("Web/GetOrganizations")]
        [HttpGet]
        [AllowAnonymous]
        public object GetOrganizations()
        {
            try
@@ -18997,6 +19012,7 @@
        /// <returns></returns>
        [Route("Web/BaseInfo")]
        [HttpGet]
        [AllowAnonymous]
        public object GetBaseInfo()
        {
            try
@@ -21765,6 +21781,8 @@
            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")]
@@ -21871,6 +21889,163 @@
        }
        #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 [菜单目录自定义]
@@ -23746,11 +23921,15 @@
                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; // 匹配到第一个分类后停止(避免重复匹配)