From c78ffe15080b3218671f03c7d85a5e8edd484b62 Mon Sep 17 00:00:00 2001
From: lg <999544862qq.com>
Date: 星期日, 22 九月 2024 20:54:15 +0800
Subject: [PATCH] 仓库管理

---
 DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs |  434 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 421 insertions(+), 13 deletions(-)

diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
index 2b078be..38b4766 100644
--- a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
+++ b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
@@ -1,6 +1,5 @@
 锘縰sing Newtonsoft.Json.Linq;
 using System;
-using System.Collections.Generic;
 using System.Data;
 using System.IO;
 using System.Linq;
@@ -10,8 +9,13 @@
 using System.Resources;
 using System.Drawing;
 using Newtonsoft.Json;
-using Gs.DevApp.Models;
+using Gs.DevApp.Entity;
 using System.Windows.Forms;
+using static System.Windows.Forms.Control;
+using DevExpress.XtraEditors;
+using DevExpress.XtraTab;
+using System.Text.RegularExpressions;
+using System.Collections.Generic;
 
 namespace Gs.DevApp.ToolBox
 {
@@ -70,6 +74,17 @@
             }
             return responseStr;
         }
+
+        /// <summary>
+        /// 璇诲彇榛樿椤靛ぇ灏�
+        /// </summary>
+        /// <returns></returns>
+        public static int GetPageSize()
+        {
+            return 50;
+            // return int.Parse(System.Configuration.ConfigurationSettings.AppSettings.Get("PageSize").ToString());
+        }
+
         /// <summary>
         /// 鏍规嵁鍥剧墖鍚嶈鍙栬祫婧愭枃浠�,涓嶅甫鍚庣紑鍚�
         /// </summary>
@@ -109,11 +124,11 @@
             return token;
         }
         /// <summary>
-        /// 鏍囧噯json涓茶繑鍥濺eturnModel-->table锛�
+        /// 鏍囧噯json杩斿洖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);
@@ -134,11 +149,11 @@
             return rto;
         }
         /// <summary>
-        /// 鏍囧噯json涓茶繑鍥濺eturnModel->瀛楃涓诧紝
+        /// 鏍囧噯json杩斿洖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);
@@ -147,18 +162,411 @@
             rto.rtnData = json["rtnData"];
             return rto;
         }
+
         /// <summary>
-        /// 璁剧疆绯荤粺瀛椾綋澶у皬锛岀洰鍓嶅苟涓嶉�氱敤
+        /// 鏍囧噯json涓茶繑鍥濺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)
+            ReturnModel<DataTable> rto = new ReturnModel<DataTable>();
+            JObject json = JObject.Parse(strReturn);
+            rto.rtnCode = int.Parse(json["rtnCode"].ToString());
+            rto.rtnMsg = json["rtnMsg"].ToString();
+            rto.rtnData = new DataTable();
+            JArray array = new JArray();
+            var d = json["rtnData"];
+            foreach (var a in d)
             {
-                childControl.Font = new Font(childControl.Font.FontFamily, size, childControl.Font.Style);
-                SetFont(childControl);
+                array.Add(a);
             }
+            DataTable 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>
+        public static void SetValueByObj(ControlCollection controls, dynamic dynamicObject, Boolean isEdt, List<DevExpress.XtraGrid.Views.Grid.GridView> gridViews = null)
+        {
+            if (gridViews != null)
+            {
+                foreach (DevExpress.XtraGrid.Views.Grid.GridView gv in gridViews)
+                {
+                    gv.OptionsBehavior.Editable = isEdt;
+                }
+            }
+            foreach (JProperty property in dynamicObject.Properties())
+            {
+                string strName = property.Name;
+                string strVal = property.Value.ToString();
+                try
+                {
+                    //    // 濡傛灉value鏄竴涓璞★紝鍙互閫掑綊閬嶅巻
+                    //    if (property.Value is JObject)
+                    //    {
+                    //        JObject nestedObject = (JObject)property.Value;
+                    //        foreach (JProperty nestedProperty in nestedObject.Properties())
+                    //        {
+                    //            Console.WriteLine("\tName: {0}, Value: {1}", nestedProperty.Name, nestedProperty.Value);
+                    //        }
+                    //    }
+                    Control[] cols = controls.Find("txt_" + strName, true);
+                    if (cols.Length > 0)
+                    {
+                        Control colType = cols[0];
+                        //LookUpEdit
+                        if (colType is LookUpEdit)
+                        {
+                            LookUpEdit txt = colType as LookUpEdit;
+                            if (txt != null)
+                            {
+                                txt.EditValue = strVal;
+                                // txt.Text = strVal;
+                            }
+                            txt.Enabled = isEdt;
+                            continue;
+                        }
+                        //涓嬫媺
+                        if (colType is ComboBoxEdit)
+                        {
+                            ComboBoxEdit txt = colType as ComboBoxEdit;
+                            if (txt.Properties.TextEditStyle == DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor)
+                                txt.SelectedIndex = int.Parse(strVal);
+                            else
+                                txt.Text = strVal;
+                            txt.Enabled = isEdt;
+                            continue;
+                        }
+                        //鏂囨湰
+                        if (colType is TextEdit)
+                        {
+                            TextEdit txt = colType as TextEdit;
+                            if (txt != null)
+                                txt.Text = strVal;
+                            txt.Enabled = isEdt;
+                            continue;
+                        }
+                        //鏁板瓧鍗�
+                        if (colType is NumericUpDown)
+                        {
+                            NumericUpDown txt = colType as NumericUpDown;
+                            if (txt != null)
+                                txt.Text = strVal;
+                            txt.Enabled = isEdt;
+                            continue;
+                        }
+                        //鍗曢��
+                        if (colType is CheckEdit)
+                        {
+                            CheckEdit txt = colType as CheckEdit;
+                            if (txt != null)
+                                txt.Checked = (strVal.ToString() == "1" ? true : false);
+                            txt.Enabled = isEdt;
+                            continue;
+                        }
+                        //鏃堕棿
+                        if (colType is DateTimePicker)
+                        {
+                            DateTimePicker txt = colType as DateTimePicker;
+                            if (txt != null)
+                                txt.Checked = (strVal.ToString() == "1" ? true : false);
+                            txt.Enabled = isEdt;
+                            continue;
+                        }
+                    }
+                }
+                catch (Exception ex)
+                {
+
+                    MessageBox.Show(strName + ex.Message);
+                }
+
+            }
+
+        }
+
+        /// <summary>
+        /// 娓呯┖瀹瑰櫒閲岄潰鐨勬帶浠�
+        /// </summary>
+        /// <param name="controls">controls:涓篻roupBox1.Controls/panel1.Controls</param>
+        /// <param name="isEdt">鏄惁鍙紪杈�</param>
+        public static void CleanValueByControl(ControlCollection controls, Boolean isEdt, List<DevExpress.XtraGrid.Views.Grid.GridView> gridViews = null)
+        {
+            if (gridViews != null)
+            {
+                foreach (DevExpress.XtraGrid.Views.Grid.GridView gv in gridViews)
+                {
+                    gv.OptionsBehavior.Editable = isEdt;
+                }
+            }
+            foreach (Control ctrl in controls)
+            {
+                ctrl.Enabled = isEdt;
+                //澶氳鏂囨湰
+                if (ctrl is MemoEdit)
+                {
+                    MemoEdit txt = ctrl as MemoEdit;
+                    txt.Text = "";
+                    txt.Enabled = isEdt;
+                    continue;
+                }
+                //涓嬫媺
+                if (ctrl is ComboBoxEdit)
+                {
+                    ComboBoxEdit txt = ctrl as ComboBoxEdit;
+                    if (txt.Properties.TextEditStyle == DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor)
+                        txt.SelectedIndex = 0;
+                    else
+                        txt.Text = "";
+                    txt.Enabled = isEdt;
+                    continue;
+                }
+                //鏂囨湰
+                if (ctrl is TextEdit)
+                {
+                    ctrl.Text = "";
+                    continue;
+                }
+            }
+        }
+
+        /// <summary>
+        /// 绂佺敤鎴栧惎鐢ㄥ鍣ㄩ噷闈㈢殑鎺т欢
+        /// </summary>
+        /// <param name="controls">controls:涓篻roupBox1.Controls/panel1.Controls</param>
+        /// <param name="isEdt">鏄惁鍙紪杈�</param>
+        public static void ChangeEnableByControl(ControlCollection controls, Boolean isEdt, List<DevExpress.XtraGrid.Views.Grid.GridView> gridViews = null)
+        {
+            if (gridViews != null)
+            {
+                foreach (DevExpress.XtraGrid.Views.Grid.GridView gv in gridViews)
+                {
+                    gv.OptionsBehavior.Editable = isEdt;
+                }
+            }
+          
+            foreach (Control ctrl in controls)
+            {
+                ctrl.Enabled = isEdt;
+                //鏂囨湰
+                if (ctrl is TextEdit)
+                {
+                    ctrl.Enabled = isEdt;
+                    continue;
+                }
+                //鏁板瓧鍗�
+                if (ctrl is NumericUpDown)
+                {
+                    ctrl.Enabled = isEdt;
+                    continue;
+                }
+                //鏃ユ湡
+                if (ctrl is DateTimePicker)
+                {
+                    ctrl.Enabled = isEdt;
+                    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 (int i = 0; i < tabControl.TabPages.Count; i++)
+                {
+                    tabControl.TabPages[i].PageEnabled = true;
+                }
+                tabControl.SelectedTabPageIndex = tabControl.TabPages.Count - 1;
+                return;
+            }
+            for (int i = 0; i < tabControl.TabPages.Count; i++)
+            {
+                tabControl.TabPages[i].PageEnabled = false;
+            }
+            tabControl.TabPages[idx].PageEnabled = true;
+            tabControl.SelectedTabPageIndex = idx;
+        }
+
+        public static void TreeViewCheck(TreeViewEventArgs e)
+        {
+            try
+            {
+                if (e.Node.Nodes.Count > 0)
+                {
+                    bool NoFalse = true;
+                    foreach (TreeNode tn in e.Node.Nodes)
+                    {
+                        if (tn.Checked == false)
+                        {
+                            NoFalse = false;
+                        }
+                    }
+                    if (e.Node.Checked == true || NoFalse)
+                    {
+                        foreach (TreeNode tn in e.Node.Nodes)
+                        {
+                            if (tn.Checked != e.Node.Checked)
+                            {
+                                tn.Checked = e.Node.Checked;
+                            }
+                        }
+                    }
+                }
+                if (e.Node.Parent != null && e.Node.Parent is TreeNode)
+                {
+                    bool ParentNode = true;
+                    foreach (TreeNode tn in e.Node.Parent.Nodes)
+                    {
+                        if (tn.Checked == false)
+                        {
+                            ParentNode = false;
+                        }
+                    }
+                    if (e.Node.Parent.Checked != ParentNode && (e.Node.Checked == false || e.Node.Checked == true && e.Node.Parent.Checked == false))
+                    {
+                        e.Node.Parent.Checked = ParentNode;
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+
+        }
+
+        /// <summary>
+        /// 杞┘宄板懡鍚�
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        public static string ToCamelCase(string propertyName)
+        {
+            if (propertyName.Length > 0 && propertyName.All(char.IsUpper))
+                propertyName = propertyName.ToLower();
+            string dd = Regex.Replace(propertyName, @"_([a-z])", m => m.Groups[1].Value.ToUpper());
+            return dd;
+        }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="xtraTabControl1"></param>
+        /// <param name="lbGuid">缂栬緫妗嗕腑鐨勪富閿悕</param>
+        /// <param name="txtName">缂栬緫妗嗕腑鐨勬枃鏈鍚�</param>
+        /// <param name="gridView1"></param>
+        /// <param name="gridRowName">鍒楄〃涓殑鏂囨湰鍒楀悕</param>
+        /// <param name="SelectedTabPageIndex"></param>
+        /// <returns></returns>
+        public static (string, string) GetCurrentRow(XtraTabControl xtraTabControl1
+            , System.Windows.Forms.Label lbGuid
+            , DevExpress.XtraEditors.TextEdit txtName
+            , DevExpress.XtraGrid.Views.Grid.GridView gridView1
+            , int SelectedTabPageIndex = 1)
+        {
+            string _strGuid = "";
+            string _strName = "";
+            if (xtraTabControl1.SelectedTabPageIndex == SelectedTabPageIndex && lbGuid.Text.Length > 10)
+            {
+                _strGuid = lbGuid.Text.Trim();
+                _strName = txtName.Text.Trim();
+            }
+            else
+            {
+                DataRow dr = gridView1.GetFocusedDataRow();
+                if (dr == null || string.IsNullOrEmpty(dr["guid"].ToString()))
+                {
+
+                }
+                else {
+                    _strGuid = dr["guid"].ToString();
+                    _strName = dr[1].ToString();
+                }
+            }
+            return (_strGuid, _strName);
+        }
+        public static (string, string) GetCurrentRow(XtraTabControl xtraTabControl1
+            , System.Windows.Forms.Label lbGuid
+            , DevExpress.XtraEditors.TextEdit txtName
+            , System.Windows.Forms.TreeView tlMenu
+            , int SelectedTabPageIndex = 1)
+        {
+            string _strGuid = "";
+            string _strName = "";
+            if (xtraTabControl1.SelectedTabPageIndex == SelectedTabPageIndex && lbGuid.Text.Length > 10)
+            {
+                _strGuid = lbGuid.Text.Trim();
+                _strName = txtName.Text.Trim();
+            }
+            else
+            {
+                TreeNode clickedNode = tlMenu.SelectedNode;
+                if (clickedNode != null)
+                {
+                    _strGuid = clickedNode.Name.ToString();
+                    _strName = clickedNode.Text.Trim();
+                }
+            }
+            return (_strGuid, _strName);
+        }
+        public static (string, string) GetCurrentRow(XtraTabControl xtraTabControl1
+            , System.Windows.Forms.Label lbGuid
+             , DevExpress.XtraEditors.TextEdit txtName
+            , DevExpress.XtraTreeList.TreeList tlMenu
+            , int SelectedTabPageIndex = 1)
+        {
+            string _strGuid = "";
+            string _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);
+        }
+    }
+
+    public class CboItemEntity
+    {
+        private object _text = 0;
+        private object _Value = "";
+        /// <summary>
+        /// 鏄剧ず鍊�
+        /// </summary>
+        public object Text
+        {
+            get { return this._text; }
+            set { this._text = value; }
+        }
+        /// <summary>
+        /// 瀵硅薄鍊�
+        /// </summary>
+        public object Value
+        {
+            get { return this._Value; }
+            set { this._Value = value; }
+        }
+
+        public override string ToString()
+        {
+            return this.Text.ToString();
         }
     }
 }

--
Gitblit v1.9.3