From d4a7c6729238148e9849081740e47e044eb9d313 Mon Sep 17 00:00:00 2001 From: lu <99954486@qq.com> Date: 星期六, 30 十一月 2024 21:49:58 +0800 Subject: [PATCH] 1 --- DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs | 1260 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 1,206 insertions(+), 54 deletions(-) diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs index 2b078be..f596b2b 100644 --- a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs +++ b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs @@ -1,29 +1,101 @@ -锘縰sing Newtonsoft.Json.Linq; -using System; +锘縰sing System; using System.Collections.Generic; +using System.Configuration; using System.Data; -using System.IO; -using System.Linq; -using System.Net; -using System.Reflection; -using System.Text; -using System.Resources; using System.Drawing; -using Newtonsoft.Json; -using Gs.DevApp.Models; +using System.IO; +using System.Net; +using System.Net.Cache; +using System.Net.Http; +using System.Reflection; +using System.Resources; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; using System.Windows.Forms; +using DevExpress.XtraEditors; +using DevExpress.XtraEditors.Controls; +using DevExpress.XtraGrid; +using DevExpress.XtraGrid.Columns; +using DevExpress.XtraGrid.Views.Grid; +using DevExpress.XtraTab; +using DevExpress.XtraTreeList; +using Gs.DevApp.Entity; +using Gs.DevApp.UserControl; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using static System.Windows.Forms.Control; namespace Gs.DevApp.ToolBox { /// <summary> - /// 閫氱敤绫� + /// 閫氱敤绫� /// </summary> public class UtilityHelper { - private static string WebApiUrl = System.Configuration.ConfigurationSettings.AppSettings.Get("WebApiUrl").ToString(); + private static readonly string WebApiUrl = + ConfigurationManager.AppSettings["WebApiUrl"]; + + + public static async Task<string> UploadFileAsync(string filePath) + { + using (var httpClient = new HttpClient()) + using (var form = new MultipartFormDataContent()) + { + httpClient.DefaultRequestHeaders.Add("token", + GetBasicAuthTicket()); + using (var fs = File.OpenRead(filePath)) + using (var streamContent = new StreamContent(fs)) + { + form.Add(streamContent, "file", Path.GetFileName(filePath)); + var response = + await httpClient.PostAsync( + WebApiUrl + "Upload/UploadFile", form); + var responseString = + await response.Content.ReadAsStringAsync(); + return responseString; + } + } + } + /// <summary> + /// httpPost璁块棶鏈嶅姟 + /// </summary> + /// <param name="url">鏈嶅姟鍦板潃</param> + /// <param name="meth">鏂规硶鍚嶇О</param> + /// <param name="param">鍙傛暟</param> + /// <returns></returns> + public static async Task<string> HttpPostAsync(string url, string meth, string param) + { + if (string.IsNullOrEmpty(url)) + url = WebApiUrl; + url += meth; + var request = (HttpWebRequest)WebRequest.Create(url); + request.Method = "POST"; + request.ContentType = "application/json"; + request.Headers.Add("token", GetBasicAuthTicket()); + request.Accept = "*/*"; + request.Timeout = 15000; + request.AllowAutoRedirect = false; + request.ServicePoint.Expect100Continue = false; + HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore); + request.CachePolicy = noCachePolicy; + using (Stream requestStream = await request.GetRequestStreamAsync()) + { + byte[] dataBytes = Encoding.UTF8.GetBytes(param); + await requestStream.WriteAsync(dataBytes, 0, dataBytes.Length); + } + + using (WebResponse response = await request.GetResponseAsync()) + { + using (StreamReader reader = new StreamReader(response.GetResponseStream())) + { + return await reader.ReadToEndAsync(); + } + } + } /// <summary> - /// httpPost璁块棶鏈嶅姟 + /// httpPost璁块棶鏈嶅姟 /// </summary> /// <param name="url">鏈嶅姟鍦板潃</param> /// <param name="meth">鏂规硶鍚嶇О</param> @@ -34,13 +106,16 @@ if (string.IsNullOrEmpty(url)) url = WebApiUrl; url += meth; - HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); + var request = (HttpWebRequest)WebRequest.Create(url); request.Method = "POST"; request.ContentType = "application/json"; request.Headers.Add("token", GetBasicAuthTicket()); request.Accept = "*/*"; request.Timeout = 15000; request.AllowAutoRedirect = false; + request.ServicePoint.Expect100Continue = false; + HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore); + request.CachePolicy = noCachePolicy; StreamWriter requestStream = null; WebResponse response = null; string responseStr = null; @@ -52,7 +127,8 @@ response = request.GetResponse(); if (response != null) { - StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8); + var reader = new StreamReader(response.GetResponseStream(), + Encoding.UTF8); responseStr = reader.ReadToEnd(); //File.WriteAllText(Server.MapPath("~/") + @"\test.txt", responseStr); reader.Close(); @@ -60,6 +136,7 @@ } catch (Exception ex) { + LogHelper.Debug(url, param + ":" + ex.Message); throw ex; } finally @@ -68,97 +145,1172 @@ requestStream = null; response = null; } + return responseStr; } + /// <summary> - /// 鏍规嵁鍥剧墖鍚嶈鍙栬祫婧愭枃浠�,涓嶅甫鍚庣紑鍚� + /// 榛樿椤靛ぇ灏� + /// </summary> + /// <returns></returns> + public static int GetPageSize() + { + return int.Parse(ConfigurationSettings.AppSettings.Get("PageSize")); + } + + /// <summary> + /// 鏍规嵁鍥剧墖鍚嶈鍙栬祫婧愭枃浠�,涓嶅甫鍚庣紑鍚� /// </summary> /// <param name="imageName"></param> /// <param name="lay">1涓哄ぇ鍥�</param> /// <returns></returns> public static Image GetImgFromResource(string imageName, int lay) { - // 鑾峰彇褰撳墠绋嬪簭闆� - Assembly assembly = Assembly.GetExecutingAssembly(); - // 鍒涘缓璧勬簮绠$悊鍣ㄦ潵璁块棶璧勬簮 - ResourceManager resourceManager = new ResourceManager("Gs.DevApp.Properties.Resources", assembly); - // 灏濊瘯鑾峰彇鍥剧墖璧勬簮 + var assembly = Assembly.GetExecutingAssembly(); + var resourceManager = + new ResourceManager("Gs.DevApp.Properties.Resources", assembly); try { - Image image = resourceManager.GetObject(imageName) as Image; - if (image != null) - { - return image; - } + var image = resourceManager.GetObject(imageName) as Image; + if (image != null) return image; } catch (Exception ex) { } - Image image2 = resourceManager.GetObject(lay == 1 ? "chartsshowlegend_32x32" : "linktoprevious_16x16") as Image; + + var image2 = resourceManager.GetObject(lay == 1 + ? "chartsshowlegend_32x32" + : "linktoprevious_16x16") as Image; return image2; } + /// <summary> - /// 鐢熸垚token + /// 鍒濆鍖栦竴涓〃 + /// </summary> + /// <param name="gc"></param> + /// <param name="gv"></param> + public static void SetDefaultTable(GridControl gc, GridView gv) + { + var dt = new DataTable(); + foreach (GridColumn col in gv.Columns) + dt.Columns.Add(col.FieldName, typeof(string)); + gc.BindingContext = new BindingContext(); + gc.DataSource = dt; + gc.ForceInitialize(); + } + + /// <summary> + /// 鐢熸垚璁块棶鏈嶅姟鐨則oken /// </summary> /// <returns></returns> public static string GetBasicAuthTicket() { - string userGuid = string.IsNullOrEmpty(LoginInfoModel.CurrentUser.LoginUserGuid) ? Guid.NewGuid().ToString() : LoginInfoModel.CurrentUser.LoginUserGuid; - string orgGuid = string.IsNullOrEmpty(LoginInfoModel.CurrentUser.LoginOrgGuid) ? Guid.NewGuid().ToString() : LoginInfoModel.CurrentUser.LoginOrgGuid; - string token = (userGuid + "~" + orgGuid); + var userGuid = + string.IsNullOrEmpty(LoginInfoModel.CurrentUser.LoginUserGuid) + ? Guid.NewGuid().ToString() + : LoginInfoModel.CurrentUser.LoginUserGuid; + var orgGuid = + string.IsNullOrEmpty(LoginInfoModel.CurrentUser.LoginOrgGuid) + ? Guid.NewGuid().ToString() + : LoginInfoModel.CurrentUser.LoginOrgGuid; + var token = userGuid + "~" + orgGuid; return token; } + /// <summary> - /// 鏍囧噯json涓茶繑鍥濺eturnModel-->table锛� + /// 鏈嶅姟杩斿洖鐨刯son杞负ReturnModel-->鍖呭惈TablePage鍒嗛〉锛� /// </summary> /// <param name="strReturn"></param> /// <returns></returns> - public static ReturnModel<PageListModel> GetTableByJson(string strReturn) + public static ReturnModel<PageListModel> ReturnToTablePage( + string strReturn) { - ReturnModel<PageListModel> rto = new ReturnModel<PageListModel>(); - JObject json = JObject.Parse(strReturn); + var rto = new ReturnModel<PageListModel>(); + var json = JObject.Parse(strReturn); rto.rtnCode = int.Parse(json["rtnCode"].ToString()); rto.rtnMsg = json["rtnMsg"].ToString(); rto.rtnData = new PageListModel(); rto.rtnData.pages = int.Parse(json["rtnData"]["pages"].ToString()); rto.rtnData.total = int.Parse(json["rtnData"]["total"].ToString()); - rto.rtnData.everyPageSize = int.Parse(json["rtnData"]["everyPageSize"].ToString()); - JArray array = new JArray(); + rto.rtnData.everyPageSize = + int.Parse(json["rtnData"]["everyPageSize"].ToString()); + var array = new JArray(); var d = json["rtnData"]["list"]; - foreach (var a in d) - { - array.Add(a); - } - DataTable dt = JsonConvert.DeserializeObject<DataTable>(array.ToString()); + foreach (var a in d) array.Add(a); + var dt = JsonConvert.DeserializeObject<DataTable>(array.ToString()); rto.rtnData.list = dt; return rto; } + /// <summary> - /// 鏍囧噯json涓茶繑鍥濺eturnModel->瀛楃涓诧紝 + /// 鏈嶅姟杩斿洖鐨刯son杩斿洖ReturnModel锛� /// </summary> /// <param name="strReturn"></param> /// <returns></returns> - public static ReturnModel<dynamic> GetDataByJson(string strReturn) + public static ReturnModel<dynamic> ReturnToDynamic(string strReturn) { - ReturnModel<dynamic> rto = new ReturnModel<dynamic>(); - JObject json = JObject.Parse(strReturn); + var rto = new ReturnModel<dynamic>(); + var json = JObject.Parse(strReturn); rto.rtnCode = int.Parse(json["rtnCode"].ToString()); rto.rtnMsg = json["rtnMsg"].ToString(); rto.rtnData = json["rtnData"]; return rto; } + /// <summary> - /// 璁剧疆绯荤粺瀛椾綋澶у皬锛岀洰鍓嶅苟涓嶉�氱敤 + /// 鏈嶅姟杩斿洖鐨刯son涓茶繑鍥濺eturnModel-->浠呬粎鏈塴ist,涓嶅垎椤碉紝 /// </summary> - public static float GetFontSize = 10; - public static void SetFont(Control control) + /// <param name="strReturn"></param> + /// <returns></returns> + public static ReturnModel<DataTable> ReturnToList(string strReturn) { - float size = GetFontSize; - foreach (Control childControl in control.Controls) + var rto = new ReturnModel<DataTable>(); + var json = JObject.Parse(strReturn); + rto.rtnCode = int.Parse(json["rtnCode"].ToString()); + rto.rtnMsg = json["rtnMsg"].ToString(); + rto.rtnData = new DataTable(); + var array = new JArray(); + var d = json["rtnData"]; + foreach (var a in d) array.Add(a); + var dt = JsonConvert.DeserializeObject<DataTable>(array.ToString()); + rto.rtnData = dt; + return rto; + } + + /// <summary> + /// 鏍规嵁瀵硅薄鎵归噺璁剧疆鏂囨湰妗嗙殑鍊� + /// </summary> + /// <param name="controls">controls:涓篻roupBox1.Controls/panel1.Controls</param> + /// <param name="dynamicObject">瀵瑰儚</param> + /// <param name="isEdt">鏄惁鍙紪杈�</param> + /// <param name="gridViews">鍏宠仈鐨刧rid</param> + public static void SetValueByObj(ControlCollection controls, + dynamic dynamicObject, bool isEdt, List<GridView> gridViews = null) + { + isEdt = !isEdt; + if (gridViews != null) + foreach (var gv in gridViews) + { + foreach (GridColumn colmn in gv.Columns) + { + if (colmn.Name.ToString().Contains("gvMxDel")) + { + colmn.Visible = !isEdt; + break; + } + } + gv.OptionsBehavior.Editable = !isEdt; + } + var _btnAry = controls.Find("btnSelect", false); + if (_btnAry.Length > 0) { - childControl.Font = new Font(childControl.Font.FontFamily, size, childControl.Font.Style); - SetFont(childControl); + var _btnType = _btnAry[0]; + _btnType.Enabled = !isEdt; + } + var _btnAry2 = controls.Find("btnTui", false); + if (_btnAry2.Length > 0) + { + var _btnType = _btnAry2[0]; + _btnType.Enabled = !isEdt; + } + foreach (JProperty property in dynamicObject.Properties()) + { + var strName = property.Name; + var strVal = property.Value.ToString(); + try + { + var _dddddd = "txt_" + strName; + var cols = controls.Find(_dddddd, true); + if (cols.Length > 0) + { + var colType = cols[0]; + if (colType is LookUpEdit) + { + var txt = colType as LookUpEdit; + if (txt != null) txt.EditValue = strVal; + txt.ReadOnly = isEdt; + continue; + } + + if (colType is ImageComboBoxEdit) + { + var txt = colType as ImageComboBoxEdit; + for (var i = 0; i < txt.Properties.Items.Count; i++) + { + if (txt.Properties.Items[i].Description == + strVal) + { + txt.ReadOnly = isEdt; + txt.SelectedIndex = i; + } + } + continue; + } + + if (colType is ComboBoxEdit) + { + var txt = colType as ComboBoxEdit; + if (txt.Properties.TextEditStyle == + TextEditStyles.DisableTextEditor) + txt.SelectedIndex = int.Parse(strVal); + else + txt.Text = strVal; + txt.ReadOnly = isEdt; + continue; + } + + //涓嬫媺 + if (colType is ComboBoxEdit) + { + var txt = colType as ComboBoxEdit; + if (txt.Properties.TextEditStyle == + TextEditStyles.DisableTextEditor) + txt.SelectedIndex = int.Parse(strVal); + else + txt.Text = strVal; + txt.ReadOnly = isEdt; + continue; + } + + //鑷畾涔変笅鎷� + if (colType is UcComBox) + { + var txt = colType as UcComBox; + txt.Val = strVal; + txt.Enabled = !isEdt; + continue; + } + + //鏂囨湰 + if (colType is TextEdit) + { + var txt = colType as TextEdit; + if (txt != null) + txt.Text = strVal; + txt.ReadOnly = isEdt; + continue; + } + if (colType is MemoEdit) + { + var txt = colType as MemoEdit; + if (txt != null) + txt.Text = strVal; + txt.ReadOnly = isEdt; + continue; + } + + //鏁板瓧鍗� + if (colType is NumericUpDown) + { + var txt = colType as NumericUpDown; + if (txt != null) + txt.Text = strVal; + txt.ReadOnly = isEdt; + continue; + } + + //鍗曢�� + if (colType is CheckEdit) + { + var txt = colType as CheckEdit; + if (txt != null) + switch (strVal) + { + case "True": + txt.Checked = true; + break; + case "1": + txt.Checked = true; + break; + case "False": + txt.Checked = false; + break; + default: + txt.Checked = false; + break; + } + + txt.ReadOnly = isEdt; + continue; + } + + //鍗曢�� + if (colType is CheckBox) + { + var txt = colType as CheckBox; + if (txt != null) + txt.Checked = bool.Parse(strVal); + txt.Enabled = !isEdt; + continue; + } + if (colType is CheckEdit) + { + var txt = colType as CheckEdit; + if (txt != null) + txt.Checked = bool.Parse(strVal); + txt.ReadOnly = isEdt; + continue; + } + //鏃堕棿 + if (colType is DateTimePicker) + { + var txt = colType as DateTimePicker; + txt.Text = strVal; + txt.Enabled = !isEdt; + continue; + } + + //Label + if (colType is Label) + { + var txt = colType as Label; + if (_dddddd == "txt_checkStatus") + { + if (strVal == "True" || strVal == "1") + txt.Text = "宸插鏍�"; + if (strVal == "False" || strVal == "0" || strVal == "") + txt.Text = "鏈鏍�"; + } + else + { + txt.Text = strVal; + } + } + //鑷畾涔変粨搴� + if (colType is UcLookCk) + { + var txt = colType as UcLookCk; + txt.SetIdOrCode(strVal); + if (txt.IsReadly == false) + txt.Enabled = !isEdt; + else + txt.Enabled = false; + continue; + } + //鑷畾涔変緵搴斿晢 + if (colType is UcLookSupplier) + { + var txt = colType as UcLookSupplier; + txt.SetIdOrCode(strVal); + if (txt.IsReadly == false) + txt.Enabled = !isEdt; + else + txt.Enabled = false; + continue; + } + //鑷畾涔夌墿鏂� + if (colType is UcLookItems) + { + var txt = colType as UcLookItems; + txt.SetIdOrCode(strVal); + if (txt.IsReadly == false) + txt.Enabled = !isEdt; + else + txt.Enabled = false; + continue; + } + //鑷畾杞﹂棿 + if (colType is UcLookWorkshop) + { + var txt = colType as UcLookWorkshop; + txt.SetIdOrCode(strVal); + if (txt.IsReadly == false) + txt.Enabled = !isEdt; + else + txt.Enabled = false; + continue; + } + //鑷畾浜х嚎 + if (colType is UcLookWorkline) + { + var txt = colType as UcLookWorkline; + txt.SetIdOrCode(strVal); + if (txt.IsReadly == false) + txt.Enabled = !isEdt; + else + txt.Enabled = false; + continue; + } + //鑷畾鍗曚綅 + if (colType is UcLookUnit) + { + var txt = colType as UcLookUnit; + txt.SetIdOrCode(strVal); + if (txt.IsReadly == false) + txt.Enabled = !isEdt; + else + txt.Enabled = false; + continue; + } + if (colType is SimpleButton) + { + var txt = colType as SimpleButton; + txt.Enabled = !isEdt; + continue; + } + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + } } } + + /// <summary> + /// 娓呯┖瀹瑰櫒閲岄潰鐨勬帶浠� + /// </summary> + /// <param name="controls">controls:涓篻roupBox1.Controls/panel1.Controls</param> + /// <param name="isEdt">鏄惁鍙紪杈�</param> + /// <param name="gridViews">鍏宠仈鐨刧rid</param> + public static void CleanValueByControl(ControlCollection controls, + bool isEdt, List<GridView> gridViews = null) + { + isEdt = !isEdt; + if (gridViews != null) + foreach (var gv in gridViews) + { + foreach (GridColumn colmn in gv.Columns) + { + if (colmn.Name.ToString().Contains("gvMxDel")) + { + colmn.Visible = !isEdt; + break; + } + } + gv.OptionsBehavior.Editable = !isEdt; + } + foreach (Control ctrl in controls) + { + //澶氳鏂囨湰 + if (ctrl is MemoEdit) + { + var txt = ctrl as MemoEdit; + txt.Text = ""; + txt.ReadOnly = isEdt; + continue; + } + + //涓嬫媺 + if (ctrl is ComboBoxEdit) + { + var txt = ctrl as ComboBoxEdit; + if (txt.Properties.TextEditStyle == + TextEditStyles.DisableTextEditor) + txt.SelectedIndex = 0; + else + txt.Text = ""; + txt.ReadOnly = isEdt; + continue; + } + + //鑷畾涔夌殑涓嬫媺 + if (ctrl is UcComBox) + { + var txt = ctrl as UcComBox; + txt.Val = "0"; + txt.Enabled = !isEdt; + continue; + } + + //鏂囨湰 + if (ctrl is TextEdit) + { + var txt = ctrl as TextEdit; + txt.Text = ""; + txt.ReadOnly = isEdt; + continue; + } + if (ctrl is MemoEdit) + { + var txt = ctrl as MemoEdit; + if (txt != null) + txt.Text = ""; + txt.ReadOnly = isEdt; + continue; + } + //鏃堕棿 + if (ctrl is DateTimePicker) + { + var txt = ctrl as DateTimePicker; + txt.Enabled = !isEdt; + continue; + } + //鍗曢�� + if (ctrl is CheckBox) + { + var txt = ctrl as CheckBox; + txt.Checked = false; + txt.Enabled = !isEdt; + } + if (ctrl is CheckEdit) + { + var txt = ctrl as CheckEdit; + txt.ReadOnly = isEdt; + continue; + } + + //鑷畾涔変粨搴� + if (ctrl is UcLookCk) + { + var txt = ctrl as UcLookCk; + txt.SetIdOrCode("-1"); + txt.Enabled = !isEdt; + continue; + } + //鑷畾涔変緵搴斿晢 + if (ctrl is UcLookSupplier) + { + var txt = ctrl as UcLookSupplier; + txt.SetIdOrCode("-1"); + txt.Enabled = !isEdt; + continue; + } + //鑷畾涔夌墿鏂� + if (ctrl is UcLookItems) + { + var txt = ctrl as UcLookItems; + txt.SetIdOrCode("-1"); + txt.Enabled = !isEdt; + continue; + } + //鑷畾杞﹂棿 + if (ctrl is UcLookWorkshop) + { + var txt = ctrl as UcLookWorkshop; + txt.SetIdOrCode("-1"); + txt.Enabled = !isEdt; + continue; + } + //鑷畾浜х嚎 + if (ctrl is UcLookWorkline) + { + var txt = ctrl as UcLookWorkline; + txt.SetIdOrCode("-1"); + txt.Enabled = !isEdt; + continue; + } + //鑷畾鍗曚綅 + if (ctrl is UcLookUnit) + { + var txt = ctrl as UcLookUnit; + txt.SetIdOrCode("-1"); + txt.Enabled = !isEdt; + continue; + } + if (ctrl is SimpleButton) + { + var txt = ctrl as SimpleButton; + txt.Enabled = !isEdt; + continue; + } + + } + } + + /// <summary> + /// 绂佺敤鎴栧惎鐢ㄥ鍣ㄩ噷闈㈢殑鎺т欢 + /// </summary> + /// <param name="controls">controls:涓篻roupBox1.Controls/panel1.Controls</param> + /// <param name="isEdt"></param> + /// <param name="gridViews"></param> + public static void ChangeEnableByControl(ControlCollection controls, + bool isEdt, List<GridView> gridViews = null) + { + isEdt = !isEdt; + if (gridViews != null) + foreach (var gv in gridViews) + { + foreach (GridColumn colmn in gv.Columns) + { + if (colmn.Name.ToString().Contains("gvMxDel")) + { + colmn.Visible = !isEdt; + break; + } + } + gv.OptionsBehavior.Editable = !isEdt; + } + foreach (Control ctrl in controls) + { + //鏂囨湰 + if (ctrl is TextEdit) + { + var txt = ctrl as TextEdit; + txt.ReadOnly = isEdt; + continue; + } + if (ctrl is MemoEdit) + { + var txt = ctrl as MemoEdit; + txt.ReadOnly = isEdt; + continue; + } + //鏁板瓧鍗� + if (ctrl is NumericUpDown) + { + var txt = ctrl as NumericUpDown; + txt.ReadOnly = isEdt; + continue; + } + //涓嬫媺 + if (ctrl is UcComBox) + { + var txt = ctrl as UcComBox; + txt.Val = "0"; + txt.Enabled = !isEdt; + continue; + } + + //鏃ユ湡 + if (ctrl is DateTimePicker) + { + ctrl.Enabled = !isEdt; + continue; + } + + //鍗曢�� + if (ctrl is CheckBox) + { + ctrl.Enabled = !isEdt; + continue; + } + // + if (ctrl is CheckEdit) + { + var txt = ctrl as CheckEdit; + txt.ReadOnly = isEdt; + continue; + } + //鑷畾涔変粨搴� + if (ctrl is UcLookCk) + { + var txt = ctrl as UcLookCk; + if (txt.IsReadly == false) + txt.Enabled = !isEdt; + else + txt.Enabled = false; + continue; + } + //鑷畾涔変緵搴斿晢 + if (ctrl is UcLookSupplier) + { + var txt = ctrl as UcLookSupplier; + if (txt.IsReadly == false) + txt.Enabled = !isEdt; + else + txt.Enabled = false; + continue; + } + //鑷畾涔夌墿鏂� + if (ctrl is UcLookItems) + { + var txt = ctrl as UcLookItems; + if (txt.IsReadly == false) + txt.Enabled = !isEdt; + else + txt.Enabled = false; + continue; + } + //鑷畾涔夎溅闂� + if (ctrl is UcLookWorkshop) + { + var txt = ctrl as UcLookWorkshop; + if (txt.IsReadly == false) + txt.Enabled = !isEdt; + else + txt.Enabled = false; + continue; + } + //鑷畾涔変骇绾� + if (ctrl is UcLookWorkline) + { + var txt = ctrl as UcLookWorkline; + if (txt.IsReadly == false) + txt.Enabled = !isEdt; + else + txt.Enabled = false; + continue; + } + //鑷畾涔夊崟浣� + if (ctrl is UcLookUnit) + { + var txt = ctrl as UcLookUnit; + if (txt.IsReadly == false) + txt.Enabled = !isEdt; + else + txt.Enabled = false; + continue; + } + } + } + + /// <summary> + /// 鍒囨崲閫夐」鍗� + /// </summary> + /// <param name="tabControl">閫夐」鍗″鍣�</param> + /// <param name="idx">浠�0寮�濮嬶紝濡傛灉鏄�999锛屽垯鍏ㄩ儴鍙敤</param> + public static void JumpToTab(XtraTabControl tabControl, int idx) + { + if (idx == 999) + { + for (var i = 0; i < tabControl.TabPages.Count; i++) + tabControl.TabPages[i].PageEnabled = true; + tabControl.SelectedTabPageIndex = tabControl.TabPages.Count - 1; + return; + } + + for (var i = 0; i < tabControl.TabPages.Count; i++) + tabControl.TabPages[i].PageEnabled = false; + tabControl.TabPages[idx].PageEnabled = true; + tabControl.SelectedTabPageIndex = idx; + } + + /// <summary> + /// TreeView鑱斿姩閫夋嫨 + /// </summary> + /// <param name="e"></param> + public static void TreeViewCheck(TreeViewEventArgs e) + { + try + { + if (e.Node.Nodes.Count > 0) + foreach (TreeNode tn in e.Node.Nodes) + { + tn.Checked = e.Node.Checked; + foreach (TreeNode x in tn.Nodes) + { + x.Checked = e.Node.Checked; + foreach (TreeNode y in x.Nodes) + y.Checked = e.Node.Checked; + } + } + + if (e.Node.Checked && e.Node.Parent != null && + e.Node.Parent.Nodes.Count > 0) + { + var currentNode = e.Node; + while (currentNode != null) + { + currentNode.Checked = e.Node.Checked; + currentNode = currentNode.Parent; + } + } + } + catch (Exception ex) + { + MsgHelper.ShowError(ex.Message); + } + } + + /// <summary> + /// 杞┘宄板懡鍚� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + public static string ToCamelCase(string strItem) + { + //濡傛灉鍖呭惈灏忓啓锛屼絾涓嶅寘鍚笅鍒掔嚎 + var hasLowercase = Regex.IsMatch(strItem, @"[a-z]"); + if (hasLowercase && !strItem.Contains("_")) + { + var chars = strItem.ToCharArray(); + chars[0] = char.ToLower(chars[0]); + return new string(chars); + } + + var strItems = strItem.ToLower().Split('_'); + var strItemTarget = strItems[0]; + for (var j = 1; j < strItems.Length; j++) + { + var temp = strItems[j]; + var temp1 = temp[0].ToString().ToUpper(); + var temp2 = ""; + temp2 = temp1 + temp.Remove(0, 1); + strItemTarget += temp2; + } + + return strItemTarget; + } + + /// <summary> + /// 杞珿uid + /// </summary> + /// <param name="str"></param> + /// <returns></returns> + public static Guid ToGuid(string str) + { + if (string.IsNullOrEmpty(str)) return Guid.Empty; + return Guid.Parse(str); + } + + public static int ToInt(string str) + { + try + { + return int.Parse(str); + } + catch (Exception) + { + + return 0; + } + } + public static long ToLong(string str) + { + try + { + return long.Parse(str); + } + catch (Exception) + { + + return 0; + } + } + /// <summary> + /// 璇诲彇grid鐨勫綋鍓嶈 + /// </summary> + /// <param name="xtraTabControl1"></param> + /// <param name="lbGuid">缂栬緫妗嗕腑鐨勪富閿悕</param> + /// <param name="txtName">缂栬緫妗嗕腑鐨勬枃鏈鍚�</param> + /// <param name="gridView1"></param> + /// <param name="SelectedTabPageIndex"></param> + /// <returns></returns> + public static (string, string) GetCurrentRow( + XtraTabControl xtraTabControl1 + , Label lbGuid + , TextEdit txtName + , GridView gridView1 + , string fileName = "" + , int SelectedTabPageIndex = 1) + { + var _strGuid = ""; + var _strName = ""; + if (xtraTabControl1.SelectedTabPageIndex == SelectedTabPageIndex && + lbGuid.Text.Length > 10) + { + _strGuid = lbGuid.Text.Trim(); + _strName = txtName.Text.Trim(); + } + else + { + var dr = gridView1.GetFocusedDataRow(); + if (dr == null || string.IsNullOrEmpty(dr["guid"].ToString())) + { + } + else + { + _strGuid = dr["guid"].ToString(); + if (string.IsNullOrEmpty(fileName)) + _strName = dr[1].ToString(); + else + _strName = dr[fileName].ToString(); + } + } + + return (_strGuid, _strName); + } + + /// <summary> + /// 璇诲彇TreeView鐨勫綋鍓嶈 + /// </summary> + /// <param name="xtraTabControl1"></param> + /// <param name="lbGuid"></param> + /// <param name="txtName"></param> + /// <param name="tlMenu"></param> + /// <param name="SelectedTabPageIndex"></param> + /// <returns></returns> + public static (string, string) GetCurrentRow( + XtraTabControl xtraTabControl1 + , Label lbGuid + , TextEdit txtName + , TreeView tlMenu + , int SelectedTabPageIndex = 1) + { + var _strGuid = ""; + var _strName = ""; + if (xtraTabControl1.SelectedTabPageIndex == SelectedTabPageIndex && + lbGuid.Text.Length > 10) + { + _strGuid = lbGuid.Text.Trim(); + _strName = txtName.Text.Trim(); + } + else + { + var clickedNode = tlMenu.SelectedNode; + if (clickedNode != null) + { + _strGuid = clickedNode.Name; + _strName = clickedNode.Text.Trim(); + } + } + + return (_strGuid, _strName); + } + + /// <summary> + /// 璇诲彇TreeList鐨勫綋鍓嶈 + /// </summary> + /// <param name="xtraTabControl1"></param> + /// <param name="lbGuid"></param> + /// <param name="txtName"></param> + /// <param name="tlMenu"></param> + /// <param name="SelectedTabPageIndex"></param> + /// <returns></returns> + public static (string, string) GetCurrentRow( + XtraTabControl xtraTabControl1 + , Label lbGuid + , TextEdit txtName + , TreeList tlMenu + , int SelectedTabPageIndex = 1) + { + var _strGuid = ""; + var _strName = ""; + if (xtraTabControl1.SelectedTabPageIndex == SelectedTabPageIndex && + lbGuid.Text.Length > 10) + { + _strGuid = lbGuid.Text.Trim(); + _strName = txtName.Text.Trim(); + } + else + { + _strGuid = tlMenu.FocusedNode.GetValue("guid").ToString(); + _strName = tlMenu.FocusedNode.GetValue(0).ToString(); + } + + return (_strGuid, _strName); + } + + /// <summary> + /// 璇诲彇GridView鍙屽嚮鐨勪富閿� + /// </summary> + /// <param name="gridView1"></param> + /// <param name="e"></param> + /// <param name="colName"></param> + /// <returns></returns> + public static string GetCurrentDoubleRow(GridView gridView1 + , MouseEventArgs e + , string colName) + { + var info = gridView1.CalcHitInfo(e.Location); + if (info.InRow) + { + var view = info.View; + if (view != null) + { + var row = view.GetDataRow(info.RowHandle); + if (row != null) + { + var rowGuid = row[colName].ToString(); + return rowGuid; + } + } + } + + return ""; + } + + + /// <summary> + /// 璇诲彇GridView鍙屽嚮鐨勪富閿� + /// </summary> + /// <param name="gridView1"></param> + /// <param name="e"></param> + /// <param name="colName"></param> + /// <returns></returns> + public static string GetCurrentDoubleRow(TreeList tlMenu + , MouseEventArgs e + , string colName) + { + var info = tlMenu.CalcHitInfo(e.Location); + if (info.Node != null) + { + var clickedNode = tlMenu.FocusedNode; + if (clickedNode.FirstNode == null) + { + var rowGuid = clickedNode.GetValue(colName).ToString(); + return rowGuid; + } + } + + return ""; + } + + + /// <summary> + /// + /// </summary> + /// <param name="s"></param> + /// <param name="btnChkIco"></param> + /// <param name="fm"></param> + /// <param name="fileName">瀵瑰簲鐨勫鏍稿瓧娈靛悕绉�</param> + /// <param name="icoName"></param> + public static void SetCheckIco(object s, PictureBox btnChkIco, Form fm, string fileName = "checkStatus", string icoName = "") + { + GridView dgv = s as GridView; + if (dgv != null) + { + if (dgv.GetSelectedRows() != null) + { + var selectedRow = dgv.GetSelectedRows()[0]; // 鑾峰彇绗竴涓�変腑琛岀殑绱㈠紩 + if (selectedRow >= 0) + { + var checkStatus = dgv.GetRowCellValue(selectedRow, fileName).ToString(); // 鑾峰彇鎸囧畾鍒楃殑鍊� + btnChkIco.Text = checkStatus; + btnChkIco.Visible = true; + if (checkStatus == "1" || checkStatus.ToUpper() == true.ToString().ToUpper()) + btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_check; + else + btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_noCheck; + btnChkIco.Anchor = AnchorStyles.Top | AnchorStyles.Right; // 闈犲彸 + btnChkIco.Location = new Point(fm.ClientSize.Width - btnChkIco.Width - 20, 80); // 璺濈椤堕儴10鍍忕礌 + } + } + } + } + + + #region 璁剧疆鎼滅储 + public static string getQueryWord(string str) + { + return str.ToUpper().Replace("query_".ToUpper(), ""); + } + public static FilterEntity getFilterEntityWord(string id, string idDec, string val) + { + return new FilterEntity(getQueryWord(id), idDec + ")", " like ", "鍖呭惈)", "%" + val + "%"); + } + public static List<FilterEntity> GetDilter(GridColumnCollection Columns) + { + List<FilterEntity> fiList = new List<FilterEntity>(); + foreach (DevExpress.XtraGrid.Columns.GridColumn col in Columns) + { + ColumnFilterInfo filter = col.FilterInfo; + if (string.IsNullOrEmpty(filter.FilterString)) + continue; + // fiList.Add(new FilterEntity("b.FNumber", "浣跨敤缁勭粐", " like ", "鍖呭惈", "%" + filter.Value + "%")); + string[] ddd = filter.FilterString.Replace("Contains","").Replace("(","").Replace(")","").Replace("'", "").Replace("'", "").Split(','); + //Contains([fSubsidiary], '005') + fiList.Add(getFilterEntityWord(col.Tag.ToString(), col.Caption.Trim(), ddd[1].Trim())); + } + return fiList; + } + + /// <summary> + /// 鏍规嵁杩囨护鍣紝璇诲彇鏌ヨ鏉′欢,org琛ㄤ负缁勭粐 + /// </summary> + /// <param name="_filterList"></param> + /// <returns></returns> + public static string GetSearchWhere(List<FilterEntity> _filterList) + { + var _sbSqlWhere = new StringBuilder(); + foreach (var itm in _filterList) + { + if (itm.fileId.ToUpper().Contains("org".ToUpper())) + { + if (IsNumeric(itm.fileValue.Replace("%", ""))) + _sbSqlWhere.Append(" and org.FNumber " + itm.fileOper + "'" + itm.fileValue + "'"); + else + { + _sbSqlWhere.Append(" and org.NAME " + itm.fileOper + "'" + itm.fileValue.Trim() + "'"); + } + } + else + _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + + itm.fileValue + "'"); + } + return _sbSqlWhere.ToString(); + } + /// <summary> + /// 鍒濆鍖杇ridview + /// </summary> + /// <param name="gridView1"></param> + public static void SetGridSear(GridView gridView1) + { + foreach (GridColumn column in gridView1.Columns) + { + column.OptionsFilter.AutoFilterCondition = AutoFilterCondition.Contains; + column.OptionsFilter.ImmediateUpdateAutoFilter = false; + column.OptionsColumn.AllowEdit = false; + if (column.Tag==null || column.Tag.ToString().Length <= 0) + column.OptionsFilter.AllowAutoFilter = false; + } + gridView1.OptionsFilter.AllowAutoFilterConditionChange = DevExpress.Utils.DefaultBoolean.False; + gridView1.OptionsFilter.AllowFilterEditor = false; + gridView1.OptionsFilter.ShowCustomFunctions = DevExpress.Utils.DefaultBoolean.False; + } + #endregion + + + public static bool IsNumeric(string str) + { + Regex regex = new Regex("^[0-9]+$"); + return regex.IsMatch(str); + } } -} + + /// <summary> + /// 涓嬫媺妗嗘潯鐩被 + /// </summary> + public class CboItemEntity + { + public CboItemEntity() + { + } + + public CboItemEntity(string val, string text) + { + Text = text; + Value = val; + } + + /// <summary> + /// 鏄剧ず鍊� + /// </summary> + public object Text { get; set; } = 0; + + /// <summary> + /// 瀵硅薄鍊� + /// </summary> + public object Value { get; set; } = ""; + + public override string ToString() + { + return Text.ToString(); + } + + } + + /// <summary> + /// 鏌ヨ妗� + /// </summary> + public class FilterEntity + { + /// <summary> + /// </summary> + /// <param name="id">瀛楁鍚�</param> + /// <param name="idDec">瀛楁鍚嶅娉�</param> + /// <param name="oper">鎿嶄綔绗�</param> + /// <param name="operDec">鎿嶄綔绗﹀娉�</param> + /// <param name="val"></param> + public FilterEntity(string id, string idDec, string oper, + string operDec, string val) + { + fileId = id; + fileIdDec = idDec; + fileOper = oper; + fileOperDec = operDec; + fileValue = val; + } + + public string fileId { get; set; } + + public string fileIdDec { get; set; } + + public string fileOper { get; set; } + + public string fileOperDec { get; set; } + + public string fileValue { get; set; } + } +} \ No newline at end of file -- Gitblit v1.9.3