From 0bab28c7959335969f6d07c3cb33acbeffed1de5 Mon Sep 17 00:00:00 2001 From: lu <99954486@qq.com> Date: 星期五, 29 十一月 2024 17:34:52 +0800 Subject: [PATCH] 1 --- DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs | 447 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 434 insertions(+), 13 deletions(-) diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs index 57aea1e..46e8be7 100644 --- a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs +++ b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs @@ -5,6 +5,7 @@ using System.Drawing; using System.IO; using System.Net; +using System.Net.Cache; using System.Net.Http; using System.Reflection; using System.Resources; @@ -56,6 +57,42 @@ } } } + /// <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璁块棶鏈嶅姟 @@ -76,6 +113,9 @@ 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; @@ -250,7 +290,29 @@ 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) + { + 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; @@ -281,10 +343,7 @@ txt.ReadOnly = isEdt; txt.SelectedIndex = i; } - - ; } - continue; } @@ -326,6 +385,14 @@ 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; @@ -376,7 +443,14 @@ 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) { @@ -392,15 +466,77 @@ var txt = colType as Label; if (_dddddd == "txt_checkStatus") { - if (strVal == "True") + if (strVal == "True" || strVal == "1") txt.Text = "宸插鏍�"; - if (strVal == "False") + 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 SimpleButton) + { + var txt = colType as SimpleButton; + txt.Enabled = !isEdt; + continue; } } } @@ -423,7 +559,17 @@ 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) { //澶氳鏂囨湰 @@ -465,7 +611,14 @@ 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) { @@ -473,7 +626,6 @@ txt.Enabled = !isEdt; continue; } - //鍗曢�� if (ctrl is CheckBox) { @@ -481,6 +633,60 @@ 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 SimpleButton) + { + var txt = ctrl as SimpleButton; + txt.Enabled = !isEdt; + continue; + } + } } @@ -496,7 +702,17 @@ 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) { //鏂囨湰 @@ -506,7 +722,12 @@ txt.ReadOnly = isEdt; continue; } - + if (ctrl is MemoEdit) + { + var txt = ctrl as MemoEdit; + txt.ReadOnly = isEdt; + continue; + } //鏁板瓧鍗� if (ctrl is NumericUpDown) { @@ -514,7 +735,6 @@ txt.ReadOnly = isEdt; continue; } - //涓嬫媺 if (ctrl is UcComBox) { @@ -532,7 +752,68 @@ } //鍗曢�� - if (ctrl is CheckBox) ctrl.Enabled = !isEdt; + 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; + } } } @@ -629,12 +910,36 @@ /// </summary> /// <param name="str"></param> /// <returns></returns> - public Guid ToGuid(string str) + 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> @@ -649,6 +954,7 @@ , Label lbGuid , TextEdit txtName , GridView gridView1 + , string fileName = "" , int SelectedTabPageIndex = 1) { var _strGuid = ""; @@ -668,7 +974,10 @@ else { _strGuid = dr["guid"].ToString(); - _strName = dr[2].ToString(); + if (string.IsNullOrEmpty(fileName)) + _strName = dr[1].ToString(); + else + _strName = dr[fileName].ToString(); } } @@ -799,6 +1108,117 @@ 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> @@ -830,6 +1250,7 @@ { return Text.ToString(); } + } /// <summary> -- Gitblit v1.9.3