From 9ce8cb1ee053fb5ad4b51d724a5736e0e27ff0aa Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期五, 23 五月 2025 09:10:52 +0800
Subject: [PATCH] 仓库

---
 DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs |  296 +++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 168 insertions(+), 128 deletions(-)

diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
index 3967e2b..178d1de 100644
--- a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
+++ b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
@@ -43,33 +43,12 @@
         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;
-                }
-            }
-        }
-
         public static (Size, string, Color, Padding) getLoading()
         {
             Size _size = new Size(360, 90);
             return (_size, "鎷煎懡鍔犺浇涓紝璇风◢鍚�...", System.Drawing.Color.LightSkyBlue, new Padding(15));
         }
-        public static string HttpPost(string url, string meth, string param)
+        public static string HttpPost(string url, string meth, string param, bool isLoading = true)
         {
             Size _size; string _caption; Color _color; Padding _pad;
             (_size, _caption, _color, _pad) = getLoading();
@@ -77,6 +56,7 @@
             wdf.BackColor = _color;
             wdf.Padding = _pad;
             wdf.SetCaption("鍔犺浇杩涘害:" + meth);
+            wdf.Visible = isLoading;
             HttpWebRequest request = null;
             StreamWriter requestStream = null;
             WebResponse response = null;
@@ -251,6 +231,8 @@
             var array = new JArray();
             var d = json["rtnData"];
             foreach (var a in d) array.Add(a);
+            //if (array.Count <=0)
+            //    return null;
             var dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
             rto.rtnData = dt;
             return rto;
@@ -489,7 +471,6 @@
                                 txt.Text = strVal;
                             }
                         }
-
                         //鑷畾涔変粨搴�
                         if (colType is UcLookCk)
                         {
@@ -613,7 +594,10 @@
                         if (colType is SimpleButton)
                         {
                             var txt = colType as SimpleButton;
-                            txt.Enabled = !isEdt;
+                            if (txt.Tag != null && txt.Tag.ToString() == "gvBtnAlawys")
+                                txt.Enabled = true;
+                            else
+                                txt.Enabled = !isEdt;
                             continue;
                         }
                         //鑷畾宸ュ簭
@@ -628,6 +612,14 @@
                         if (colType is UcDictionary)
                         {
                             var txt = colType as UcDictionary;
+                            txt.TextTxt = (strVal);
+                            txt.IsReadly = isEdt;
+                            continue;
+                        }
+                        //鑷畾鍗曟嵁绫诲瀷涓嬫媺
+                        if (colType is UcDictionaryComBox)
+                        {
+                            var txt = colType as UcDictionaryComBox;
                             txt.TextTxt = (strVal);
                             txt.IsReadly = isEdt;
                             continue;
@@ -909,10 +901,21 @@
                     txt.IsReadly = isEdt;
                     continue;
                 }
+                //鑷畾涔夊崟鎹被鍨嬩笅鎷�
+                if (ctrl is UcDictionaryComBox)
+                {
+                    var txt = ctrl as UcDictionaryComBox;
+                    //txt.SetIdOrCode("-1");
+                    txt.IsReadly = isEdt;
+                    continue;
+                }
                 if (ctrl is SimpleButton)
                 {
                     var txt = ctrl as SimpleButton;
-                    txt.Enabled = !isEdt;
+                    if (txt.Tag != null && txt.Tag.ToString() == "gvBtnAlawys")
+                        txt.Enabled = true;
+                    else
+                        txt.Enabled = !isEdt;
                     continue;
                 }
             }
@@ -1006,7 +1009,6 @@
                     ctrl.Enabled = !isEdt;
                     continue;
                 }
-                //
                 if (ctrl is CheckEdit)
                 {
                     var txt = ctrl as CheckEdit;
@@ -1090,7 +1092,6 @@
                     txt.IsReadly = isEdt;
                     continue;
                 }
-
                 //鑷畾閮ㄩ棬
                 if (ctrl is UcLookDepartment)
                 {
@@ -1133,17 +1134,32 @@
                     txt.IsReadly = isEdt;
                     continue;
                 }
+                //鑷畾鍗曟嵁绫诲瀷涓嬫媺
+                if (ctrl is UcDictionaryComBox)
+                {
+                    var txt = ctrl as UcDictionaryComBox;
+                    txt.IsReadly = isEdt;
+                    continue;
+                }
                 if (ctrl is SimpleButton)
                 {
                     var txt = ctrl as SimpleButton;
-                    txt.Enabled = !isEdt;
+                    if (txt.Tag != null && txt.Tag.ToString() == "gvBtnAlawys")
+                        txt.Enabled = true;
+                    else
+                        txt.Enabled = !isEdt;
                     continue;
                 }
             }
         }
         #endregion
 
-
+        /// <summary>
+        /// 鍒ゆ柇鎺т欢鍙鐘舵��
+        /// </summary>
+        /// <param name="obj"></param>
+        /// <param name="isEdt"></param>
+        /// <returns></returns>
         private static bool _isRead(object obj, bool isEdt = false)
         {
             ///姘歌繙鏄彧璇荤殑
@@ -1257,35 +1273,6 @@
             }
         }
 
-        /// <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
@@ -1314,30 +1301,7 @@
             if (string.IsNullOrEmpty(s)) return null;
             return decimal.Parse(s);
         }
-        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;
-            }
-        }
 
         public static int ToBit(string str)
         {
@@ -1345,12 +1309,7 @@
                 return 1;
             return 0;
         }
-        public static bool ToBoole(string str)
-        {
-            if (str.ToUpper() == "true".ToUpper())
-                return true;
-            return false;
-        }
+
 
         public static bool ToCheck(string str)
         {
@@ -1626,7 +1585,17 @@
 
         public static FilterEntity getFilterEntityWord(string id, string idDec, string val, string type)
         {
-            return new FilterEntity(id, idDec + ")", " like ", "鍖呭惈)", "%" + val + "%", type);
+            switch (type)
+            {
+                case "Bit绫诲瀷":
+                    string _val = (val.ToUpper() == "true".ToUpper() ? "1" : "0");
+                    return new FilterEntity(id, idDec + ")", "=", "绛変簬)", "" + _val + "", type);
+                    break;
+                default:
+                    return new FilterEntity(id, idDec + ")", "like", "鍖呭惈)", "%" + val + "%", type);
+                    break;
+            }
+
         }
         public static List<FilterEntity> GetDilter(GridColumnCollection Columns, GridView gridView1 = null)
         {
@@ -1642,10 +1611,19 @@
                 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(), col.UnboundExpression));
+                string _filterString = filter.FilterString.Replace("Contains", "").Replace("(", "").Replace(")", "").Replace("'", "").Replace("'", "");
+                string[] ddd = _filterString.Split(',');
+                string _val = "";
+                if (ddd.Length > 1)
+                {
+                    _val = ddd[1].Trim();
+                }
+                else
+                {
+                    ddd = _filterString.Split('=');
+                    _val = ddd[1].Trim();
+                }
+                fiList.Add(getFilterEntityWord(col.Tag.ToString(), col.Caption.Trim(), _val, col.UnboundExpression));
             }
             return fiList;
         }
@@ -1676,19 +1654,17 @@
                         case "鏃堕棿绫诲瀷":
                             _sbSqlWhere.Append(" and CONVERT(nvarchar(30)," + itm.fileId + ",23)" + itm.fileOper + "'" + itm.fileValue + "'");
                             break;
-                        //case "鏁板�肩被鍨�":
-                        //    _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'");
-                        //    break;
+                        case "Bit绫诲瀷":
+                            _sbSqlWhere.Append(" and isnull(" + itm.fileId + ",0) =" + itm.fileValue + "");
+                            break;
                         default:
-                            _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'");
+                            _sbSqlWhere.Append(" and " + itm.fileId + " " + itm.fileOper + " '" + itm.fileValue + "'");
                             break;
                     }
                 }
             }
             return _sbSqlWhere.ToString();
         }
-
-
         public delegate void DelegateGetModel(string guid);
         public delegate void DelegateGetList(int currentPage);
         /// <summary>
@@ -1766,7 +1742,7 @@
                 }
             }
 
-            gridView1.IndicatorWidth = 50;
+            gridView1.IndicatorWidth = 60;
             gridView1.CustomDrawRowIndicator += (s, e) =>
             {
                 if (e.Info.IsRowIndicator && e.RowHandle >= 0)
@@ -1820,6 +1796,7 @@
                     DataRow row = gridView1.GetDataRow(e.RowHandle);
                     if (row == null)
                         return;
+                    //杩欐槸danger鑹�
                     bool columnExists = row.Table.Columns.Contains("isRed");
                     if (columnExists == true)
                     {
@@ -1827,6 +1804,16 @@
                         if (_isRed == "1")
                         {
                             e.Appearance.ForeColor = Color.Tomato;
+                        }
+                    }
+                    //杩欐槸success鑹�
+                    columnExists = row.Table.Columns.Contains("isSuccess");
+                    if (columnExists == true)
+                    {
+                        string _isRed = row["isSuccess"].ToString();
+                        if (_isRed == "1")
+                        {
+                            e.Appearance.ForeColor = Color.FromArgb(128, 255, 128);
                         }
                     }
                     // 璁剧疆鐒︾偣琛岀殑鑳屾櫙鑹�
@@ -1937,7 +1924,7 @@
                     }
                     action(_guid);
                 }
-                if (xtraTabControl1.SelectedTabPageIndex == 0)
+                if (pageBar1 != null && xtraTabControl1.SelectedTabPageIndex == 0)
                 {
                     page(pageBar1.CurrentPage);
                     int rowHandle = 0;
@@ -1996,7 +1983,7 @@
             gridView1.OptionsFind.ShowSearchNavButtons = false;
             gridView1.OptionsView.ShowAutoFilterRow = false;
             gridView1.OptionsView.ShowGroupPanel = false;
-            gridView1.IndicatorWidth = 40;
+            gridView1.IndicatorWidth = 60;
             gridView1.CustomDrawRowIndicator += (s, e) =>
             {
                 if (e.Info.IsRowIndicator && e.RowHandle >= 0)
@@ -2028,15 +2015,70 @@
                     }
                 }
             };
+
+            gridView1.RowStyle += (s, e) =>
+            {
+                //榛樿閫変腑琛屼笉鍙樿壊
+                gridView1.OptionsSelection.EnableAppearanceFocusedRow = false;
+                //榛樿閫変腑鍗曞厓鏍间笉鍙樿壊
+                gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;
+                if (e.RowHandle >= 0)
+                {
+                    DataRow row = gridView1.GetDataRow(e.RowHandle);
+                    if (row == null)
+                        return;
+                    //杩欐槸danger鑹�
+                    bool columnExists = row.Table.Columns.Contains("isRed");
+                    if (columnExists == true)
+                    {
+                        string _isRed = row["isRed"].ToString();
+                        if (_isRed == "1")
+                        {
+                            e.Appearance.ForeColor = Color.Tomato;
+                        }
+                    }
+                    //杩欐槸success鑹�
+                    columnExists = row.Table.Columns.Contains("isSuccess");
+                    if (columnExists == true)
+                    {
+                        string _isRed = row["isSuccess"].ToString();
+                        if (_isRed == "1")
+                        {
+                            e.Appearance.ForeColor = Color.FromArgb(128, 255, 128);
+                        }
+                    }
+                    // 璁剧疆鐒︾偣琛岀殑鑳屾櫙鑹�
+                    if (gridView1.GetRow(e.RowHandle) == gridView1.GetFocusedRow())
+                    {
+                        e.Appearance.BackColor = Color.Azure;
+                        e.Appearance.BackColor2 = Color.LightSkyBlue;
+                    }
+                    //else if (gridView1.IsRowHotTracked(e.RowHandle))
+                    //{
+                    //    // 璁剧疆榧犳爣鎮仠琛岀殑鑳屾櫙鑹�
+                    //    e.Appearance.BackColor = Color.LightBlue;
+                    //    e.Appearance.BackColor2 = Color.LightBlue;
+                    //}
+                }
+            };
         }
 
         #endregion
-
+        /// <summary>
+        /// 鍒ゆ柇鏄笉鏄竴涓湁鏁堢殑鏁板��
+        /// </summary>
+        /// <param name="str"></param>
+        /// <returns></returns>
         public static bool IsNumeric(string str)
         {
             Regex regex = new Regex("^[0-9]+$");
             return regex.IsMatch(str);
         }
+        /// <summary>
+        /// 鍒ゆ柇鏄笉鏄竴涓湁鏁堟灉鐨刣ecimal鏁板��
+        /// </summary>
+        /// <param name="str"></param>
+        /// <returns></returns>
         public static bool IsNumeric2(string str)
         {
             string input = str;
@@ -2058,7 +2100,16 @@
                 return true;
             return false;
         }
-        public static void PrintJiSuan(DevExpress.XtraEditors.TextEdit box1, DevExpress.XtraEditors.TextEdit box2, string sum, DevExpress.XtraEditors.RadioGroup rd)
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="box1">txt_psnQty_1:姣忓紶鏉$爜鏁伴噺</param>
+        /// <param name="box2">txt_iCount_1:鏁村紶鏁板��</param>
+        /// <param name="sum">txt_kQty:鍙墦鍗伴噺</param>
+        /// <param name="rd"></param>
+        /// <param name="txt_yuliang">txt_yuliang:浣欓噺</param>
+        public static void PrintJiSuan(DevExpress.XtraEditors.TextEdit box1, DevExpress.XtraEditors.TextEdit box2, string sum, DevExpress.XtraEditors.RadioGroup rd, DevExpress.XtraEditors.TextEdit txt_yuliang = null)
         {
             if (rd.SelectedIndex == 2)
                 return;
@@ -2068,48 +2119,37 @@
                 string t2 = box2.Text.Trim();
                 if (!Gs.DevApp.ToolBox.UtilityHelper.IsNumeric2(t1))
                     return;
+                if (Gs.DevApp.ToolBox.UtilityHelper.ToDecimal(t1) <= 0)
+                    return;
                 decimal? dc = Gs.DevApp.ToolBox.UtilityHelper.GetDecimal(sum);
                 decimal? dc1 = Gs.DevApp.ToolBox.UtilityHelper.GetDecimal(t1);
+                decimal dividend = decimal.Parse(sum); // 琚櫎鏁�
+                decimal divisor = decimal.Parse(t1);   // 闄ゆ暟
+                decimal shang = dividend / divisor;
 
-                int dividend = int.Parse(sum); // 琚櫎鏁�
-                int divisor = int.Parse(t1);   // 闄ゆ暟
+                decimal integerPart = Math.Truncate(shang); // 鑾峰彇鏁存暟閮ㄥ垎
+                decimal decimalPart = dividend - divisor * integerPart; // 鑾峰彇灏忔暟閮ㄥ垎
 
-                int quotient = dividend / divisor; // 鏁存暟閮ㄥ垎
-                int remainder = dividend % divisor; // 浣欐暟
-
-                box2.Text = quotient.ToString();
-
+                //decimal quotient = dividend / divisor; // 鏁存暟閮ㄥ垎
+                //decimal remainder = dividend % divisor; // 浣欐暟
+                box2.Text = integerPart.ToString();
                 if (rd.SelectedIndex == 0)
-                    rd.Properties.Items[0].Description = "鍏ㄨ嚜鍔ㄣ��" + remainder.ToString() + "銆�";
+                    txt_yuliang.Text = decimalPart.ToString();
             }
             catch (Exception ex)
             {
-
-                Gs.DevApp.ToolBox.MsgHelper.ShowError(ex.Message);
+                Gs.DevApp.ToolBox.MsgHelper.ShowError("杈撳叆鏁版嵁閿欒:" + ex.Message);
             }
-
         }
-        public static void PrintAuto(DevExpress.XtraEditors.TextEdit txt_psnQty_1, DevExpress.XtraEditors.TextEdit txt_iCount_1, DevExpress.XtraEditors.RadioGroup radOut)
+        public static void PrintAuto(DevExpress.XtraEditors.TextEdit txt_psnQty_1, DevExpress.XtraEditors.TextEdit txt_iCount_1, DevExpress.XtraEditors.RadioGroup radOut, DevExpress.XtraEditors.TextEdit txt_yuliang = null)
         {
             txt_psnQty_1.Text = "";
             txt_iCount_1.Text = "";
-            radOut.Properties.Items[0].Description = "鍏ㄨ嚜鍔�";
+            txt_yuliang.Text = "";
             if (radOut.SelectedIndex == 2)
                 txt_iCount_1.ReadOnly = false;
             else
                 txt_iCount_1.ReadOnly = true;
-        }
-        public static decimal PrintYuLiang(DevExpress.XtraEditors.RadioGroup rd)
-        {
-            decimal dc = 0;
-            if (rd.SelectedIndex != 0)
-                return 0;
-            string txt = rd.Properties.Items[0].Description;// = "鍏ㄨ嚜鍔ㄣ��" + remainder.ToString() + "銆�";
-            txt = txt.Trim().Replace("鍏ㄨ嚜鍔ㄣ��", "");
-            txt = txt.Replace("銆�", "");
-            if (string.IsNullOrEmpty(txt))
-                return 0;
-            return decimal.Parse(txt);
         }
 
         #region 缁樺埗琛ㄥご鍏ㄩ�夊嬀閫夋

--
Gitblit v1.9.3