From 29d1395e49636e6db2f96c92bbb30a280cf8078e Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期三, 27 十一月 2024 09:04:04 +0800
Subject: [PATCH] 1
---
DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs | 349 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 331 insertions(+), 18 deletions(-)
diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
index 5685fb1..2a711c6 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;
@@ -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;
@@ -57,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璁块棶鏈嶅姟
@@ -77,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;
@@ -251,14 +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 _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;
@@ -336,6 +390,14 @@
txt.ReadOnly = isEdt;
continue;
}
+ if (colType is MemoEdit)
+ {
+ var txt = colType as MemoEdit;
+ if (txt != null)
+ txt.Text = strVal;
+ txt.ReadOnly = isEdt;
+ continue;
+ }
//鏁板瓧鍗�
if (colType is NumericUpDown)
@@ -404,9 +466,9 @@
var txt = colType as Label;
if (_dddddd == "txt_checkStatus")
{
- if (strVal == "True" || strVal=="1")
+ if (strVal == "True" || strVal == "1")
txt.Text = "宸插鏍�";
- if (strVal == "False" || strVal=="0" || strVal=="")
+ if (strVal == "False" || strVal == "0" || strVal == "")
txt.Text = "鏈鏍�";
}
else
@@ -418,8 +480,11 @@
if (colType is UcLookCk)
{
var txt = colType as UcLookCk;
- txt.SetIdOrCode( strVal);
- txt.Enabled = !isEdt;
+ txt.SetIdOrCode(strVal);
+ if (txt.IsReadly == false)
+ txt.Enabled = !isEdt;
+ else
+ txt.Enabled = false;
continue;
}
//鑷畾涔変緵搴斿晢
@@ -427,12 +492,26 @@
{
var txt = colType as UcLookSupplier;
txt.SetIdOrCode(strVal);
- txt.Enabled = !isEdt;
+ 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 SimpleButton)
{
- var txt = colType as UcLookCk;
+ var txt = colType as SimpleButton;
txt.Enabled = !isEdt;
continue;
}
@@ -457,7 +536,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)
{
//澶氳鏂囨湰
@@ -499,7 +588,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)
{
@@ -520,6 +616,38 @@
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 SimpleButton)
+ {
+ var txt = ctrl as SimpleButton;
+ txt.Enabled = !isEdt;
+ continue;
+ }
+
}
}
@@ -535,7 +663,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)
{
//鏂囨湰
@@ -545,7 +683,12 @@
txt.ReadOnly = isEdt;
continue;
}
-
+ if (ctrl is MemoEdit)
+ {
+ var txt = ctrl as MemoEdit;
+ txt.ReadOnly = isEdt;
+ continue;
+ }
//鏁板瓧鍗�
if (ctrl is NumericUpDown)
{
@@ -553,7 +696,6 @@
txt.ReadOnly = isEdt;
continue;
}
-
//涓嬫媺
if (ctrl is UcComBox)
{
@@ -571,15 +713,46 @@
}
//鍗曢��
- if (ctrl is CheckBox) {
+ 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;
}
}
@@ -678,12 +851,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>
@@ -698,6 +895,7 @@
, Label lbGuid
, TextEdit txtName
, GridView gridView1
+ , string fileName = ""
, int SelectedTabPageIndex = 1)
{
var _strGuid = "";
@@ -717,7 +915,10 @@
else
{
_strGuid = dr["guid"].ToString();
- _strName = dr[1].ToString();
+ if (string.IsNullOrEmpty(fileName))
+ _strName = dr[1].ToString();
+ else
+ _strName = dr[fileName].ToString();
}
}
@@ -848,6 +1049,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>
@@ -879,6 +1191,7 @@
{
return Text.ToString();
}
+
}
/// <summary>
--
Gitblit v1.9.3