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