1
lu
2024-11-29 0bab28c7959335969f6d07c3cb33acbeffed1de5
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;
@@ -12,7 +13,6 @@
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;
using DevExpress.Office.Model;
using DevExpress.XtraEditors;
using DevExpress.XtraEditors.Controls;
using DevExpress.XtraGrid;
@@ -76,6 +76,9 @@
            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);
@@ -110,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;
@@ -475,7 +481,10 @@
                        {
                            var txt = colType as UcLookCk;
                            txt.SetIdOrCode(strVal);
                            txt.Enabled = !isEdt;
                            if (txt.IsReadly == false)
                                txt.Enabled = !isEdt;
                            else
                                txt.Enabled = false;
                            continue;
                        }
                        //自定义供应商
@@ -483,7 +492,10 @@
                        {
                            var txt = colType as UcLookSupplier;
                            txt.SetIdOrCode(strVal);
                            txt.Enabled = !isEdt;
                            if (txt.IsReadly == false)
                                txt.Enabled = !isEdt;
                            else
                                txt.Enabled = false;
                            continue;
                        }
                        //自定义物料
@@ -491,9 +503,35 @@
                        {
                            var txt = colType as UcLookItems;
                            txt.SetIdOrCode(strVal);
                            txt.Enabled = !isEdt;
                            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;
@@ -626,6 +664,22 @@
                    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;
@@ -703,11 +757,61 @@
                    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;
                }
            }
@@ -850,6 +954,7 @@
            , Label lbGuid
            , TextEdit txtName
            , GridView gridView1
            , string fileName = ""
            , int SelectedTabPageIndex = 1)
        {
            var _strGuid = "";
@@ -869,7 +974,10 @@
                else
                {
                    _strGuid = dr["guid"].ToString();
                    _strName = dr[1].ToString();
                    if (string.IsNullOrEmpty(fileName))
                        _strName = dr[1].ToString();
                    else
                        _strName = dr[fileName].ToString();
                }
            }
@@ -1000,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>
        /// 初始化gridview
        /// </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>
@@ -1031,6 +1250,7 @@
        {
            return Text.ToString();
        }
    }
    /// <summary>