| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Data;
- using Core.Mes.Client.Comm.Server;
- using Infragistics.Win.UltraWinGrid;
- using Infragistics.Win;
- using System.Drawing;
- using System.Collections;
- using Infragistics.Win.UltraWinEditors;
- using CoreFS.CA06;
- using System.Text.RegularExpressions;
- using Infragistics.Win.UltraWinDataSource;
- namespace Core.StlMes.Client.ZGMil
- {
- /// <summary>
- ///
- /// </summary>
- /// Author TJG 2015-03-27
- class PipeManageClass
- {
- /// <summary>
- /// 单号自增
- /// </summary>
- /// <param name="BaseNumber">原单号</param>
- /// <param name="prefix">单号前缀</param>
- /// <param name="digit">流水号</param>
- /// <returns>返回值</returns>
- public static string NextNumber(string BaseNumber, string prefix, string digit)
- {
- string NewNumber = "";//新值
- int InNumber = 1;//进位
- int PlaceValue;//位值
- char[] No = BaseNumber.ToCharArray();
- for (int i = BaseNumber.Length - 1; i >= 0; i--)
- {
- if (No[i] == '9' && InNumber == 1)
- {
- InNumber = 1;
- NewNumber = "0" + NewNumber;
- }
- else
- if (InNumber == 1 && No[i] >= '0' && No[i] < '9')
- {
- PlaceValue = Int32.Parse(No[i].ToString());
- PlaceValue = (InNumber + PlaceValue);
- InNumber = 0;
- NewNumber = PlaceValue.ToString() + NewNumber;
- }
- else
- {
- InNumber = 0;
- NewNumber = No[i] + NewNumber;
- }
- }
- if (BaseNumber == NewNumber)
- NewNumber = prefix + DateTime.Now.ToString("yyMMdd") + digit;
- return NewNumber;
- }
- /// <summary>
- /// 绑定下拉框
- /// </summary>
- /// <param name="uce"></param>
- /// <param name="methodId"></param>
- /// <param name="valueMember"></param>
- /// <param name="ob"></param>
- /// <param name="isEmpty"></param>
- public static void InitComboEditor(UltraComboEditor uce, string methodId, string valueMember, OpeBase ob, bool isEmpty)
- {
- DataTable dt = ServerHelper.GetData(methodId, null, ob);
- if (dt != null && dt.Rows.Count > 0)
- {
- if (isEmpty)
- {
- Object[] obj = new Object[] { "", "" };
- DataRow dr = dt.NewRow();
- dr.ItemArray = obj;
- dt.Rows.InsertAt(dr, 0);
- }
- uce.DataSource = dt;
- uce.ValueMember = valueMember;
- SetComboItemHeight(uce);
- }
- }
- /// <summary>
- /// 绑定下拉框
- /// </summary>
- /// <param name="uce"></param>
- /// <param name="methodId"></param>
- /// <param name="valueMember"></param>
- /// <param name="ob"></param>
- /// <param name="isEmpty"></param>
- public static void InitComboEditor2(UltraComboEditor uce, string methodId, string valueMember, string deptid, OpeBase ob, bool isEmpty)
- {
- DataTable dt = ServerHelper.GetData(methodId, new object[] { deptid }, ob);
- if (dt != null && dt.Rows.Count > 0)
- {
- if (isEmpty)
- {
- Object[] obj = new Object[] { "", "" };
- DataRow dr = dt.NewRow();
- dr.ItemArray = obj;
- dt.Rows.InsertAt(dr, 0);
- }
- uce.DataSource = dt;
- uce.ValueMember = valueMember;
- SetComboItemHeight(uce);
- }
- }
- /// <summary>
- /// 绑定下拉框
- /// </summary>
- /// <param name="uce"></param>
- /// <param name="methodId"></param>
- /// <param name="valueMember"></param>
- /// <param name="ob"></param>
- /// <param name="isEmpty"></param>
- public static void InitComboEditor1(UltraComboEditor uce, string methodId, string valueMember,string valueText, OpeBase ob, bool isEmpty)
- {
- DataTable dt = ServerHelper.GetData(methodId, null, ob);
- if (dt != null && dt.Rows.Count > 0)
- {
- if (isEmpty)
- {
- Object[] obj = new Object[] { "", "" };
- DataRow dr = dt.NewRow();
- dr.ItemArray = obj;
- dt.Rows.InsertAt(dr, 0);
- }
- uce.DataSource = dt;
- uce.ValueMember = valueMember;
- uce.DisplayMember = valueText;
- SetComboItemHeight(uce);
- }
- }
- /// <summary>
- /// 绑定下拉框
- /// </summary>
- /// <param name="uce"></param>
- /// <param name="methodId"></param>
- /// <param name="valueMember"></param>
- /// <param name="ob"></param>
- /// <param name="isEmpty"></param>
- public static void InitComboEditor2(UltraComboEditor uce, string methodId,ArrayList arrlist, string valueMember, OpeBase ob, bool isEmpty)
- {
- DataTable dt = ServerHelper.GetData(methodId, new object[] { arrlist }, ob);
- if (dt != null && dt.Rows.Count > 0)
- {
- if (isEmpty)
- {
- Object[] obj = new Object[] { "", "" };
- DataRow dr = dt.NewRow();
- dr.ItemArray = obj;
- dt.Rows.InsertAt(dr, 0);
- }
- uce.DataSource = dt;
- uce.ValueMember = valueMember;
- SetComboItemHeight(uce);
- }
- }
- /// <summary>
- /// 绑定下拉框
- /// </summary>
- /// <param name="uce"></param>
- /// <param name="methodId"></param>
- /// <param name="valueMember"></param>
- /// <param name="ob"></param>
- /// <param name="isEmpty"></param>
- public static void InitComboEditor(UltraComboEditor uce,DataTable dt,string valueMember, bool isEmpty)
- {
-
- if (dt != null && dt.Rows.Count > 0)
- {
- if (isEmpty)
- {
- Object[] obj = new Object[] { "", "" };
- DataRow dr = dt.NewRow();
- dr.ItemArray = obj;
- dt.Rows.InsertAt(dr, 0);
- }
- uce.DataSource = dt;
- uce.ValueMember = valueMember;
- SetComboItemHeight(uce);
- }
- }
- /// <summary>
- /// 将下拉框绑定到GRID列
- /// </summary>
- /// <param name="uce">下拉框(已经初始化完成)</param>
- /// <param name="ColumnName">列名</param>
- /// <param name="con">空间集合(每次只需填入this.Controls)</param>
- /// <param name="ug">GRID</param>
- /// <param name="i">GRID的第几层结构</param>
- public static void BindColumn(UltraComboEditor uce, string ColumnName, System.Windows.Forms.Control.ControlCollection con, UltraGrid ug, int i)
- {
- con.Add(uce);
- uce.Visible = false;
- ug.DisplayLayout.Bands[i].Columns[ColumnName].EditorComponent = uce;
- ug.DisplayLayout.Bands[i].Columns[ColumnName].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
- uce.DropDownListWidth = -1;
- SetComboItemHeight(uce);
- }
- /// <summary>
- /// 查询当天是否有入库单号
- /// </summary>
- /// <param name="sortCode">快速索引码,参数数组</param>
- /// <param name="ob">界面OB对象</param>
- /// <returns></returns>
- public static DataTable getInList(ArrayList sortCode, OpeBase ob)
- {
- return ServerHelper.GetData("com.steering.pss.ydm.pipemanage.PipeManageClassInfo.queryInList", new object[] { sortCode }, ob);
- }
- /// <summary>
- /// 获取产线信息
- /// </summary>
- /// <param name="sortCode">快速索引码,参数数组</param>
- /// <param name="ob">界面OB对象</param>
- /// <returns></returns>
- public static DataTable getComPlineInfo(string sortCode, OpeBase ob)
- {
- return ServerHelper.GetData("com.steering.pss.ydm.pipemanage.PipeManageClassInfo.queryPline", new object[] { sortCode }, ob);
- }
- /// <summary>
- /// 获取扣型信息
- /// </summary>
- /// <param name="sortCode">快速索引码,参数数组</param>
- /// <param name="ob">界面OB对象</param>
- /// <returns></returns>
- public static DataTable getComModelInfo(string strCode,OpeBase ob)
- {
- return ServerHelper.GetData("com.steering.pss.ydm.pipemanage.PipeManageClassInfo.queryModel", new object[] { strCode }, ob);
- }
- /// <summary>
- /// 获取物料信息
- /// </summary>
- /// <param name="sortCode">快速索引码,参数数组</param>
- /// <param name="ob">界面OB对象</param>
- /// <returns></returns>
- public static DataTable getComMaterialInfo(ArrayList sortCode, OpeBase ob)
- {
- return ServerHelper.GetData("com.steering.pss.ydm.pipemanage.PipeManageClassInfo.queryMaterial", new object[] { sortCode }, ob);
- }
- /// <summary>
- /// 获取指定的仓库号信息
- /// </summary>
- /// <param name="sortCode">快速索引码,参数数组</param>
- /// <param name="ob">界面OB对象</param>
- /// <returns></returns>
- public static DataTable getComBaseInfo(ArrayList sortCode, OpeBase ob)
- {
- return ServerHelper.GetData("com.steering.pss.ydm.pipemanage.PipeManageClassInfo.queryStorage", new object[] { sortCode }, ob);
- }
- /// <summary>
- /// 绑定指定的原仓库号
- /// </summary>
- /// <param name="sortCode">快速索引码,参数数组</param>
- /// <param name="cmb">需填充的控件</param>
- /// <param name="ob">界面OB对象</param>
- public static void BindComBaseInfo(ArrayList sortCode, UltraComboEditor cmb, OpeBase ob)
- {
- DataTable table = getComBaseInfo(sortCode, ob);
- cmb.DataSource = table;
- cmb.DisplayMember = "STORAGE_NAME";
- cmb.ValueMember = "STORAGE_NO";
- SetComboItemHeight(cmb);
- }
- /// <summary>
- /// 获取指定的料位号信息
- /// </summary>
- /// <param name="sortCode">快速索引码,参数数组</param>
- /// <param name="ob">界面OB对象</param>
- /// <returns></returns>
- public static DataTable getLocationInfo(ArrayList sortCode, OpeBase ob)
- {
- return ServerHelper.GetData("com.steering.pss.ydm.pipemanage.PipeManageClassInfo.queryLocation", new object[] { sortCode }, ob);
- }
- /// <summary>
- /// 绑定指定的目标仓库号
- /// </summary>
- /// <param name="sortCode">快速索引码,参数数组</param>
- /// <param name="cmb">需填充的控件</param>
- /// <param name="ob">界面OB对象</param>
- public static void BindLocationInfo(ArrayList sortCode, UltraComboEditor cmb, OpeBase ob)
- {
- DataTable table = getLocationInfo(sortCode, ob);
- cmb.DataSource = table;
- cmb.ValueMember = "LOCATION_NO";
- SetComboItemHeight(cmb);
- }
- /// <summary>
- /// 获取作业类型信息
- /// </summary>
- /// <param name="sortCode">快速索引码,参数数组</param>
- /// <param name="ob">界面OB对象</param>
- /// <returns></returns>
- public static DataTable getComTypeInfo(string sortCode, OpeBase ob)
- {
- return ServerHelper.GetData("com.steering.mes.signature.PipeManageClassInfo.queryType", new object[] { sortCode }, ob);
- }
- /// <summary>
- /// 设置UltraComboEditor中的中文和非中文统一高度。
- /// </summary>
- /// <param name="cmb"></param>
- public static void SetComboItemHeight(UltraComboEditor cmb)
- {
- cmb.Update();
- foreach (ValueListItem item in cmb.Items)
- {
- if (Regex.IsMatch(item.DisplayText, @"[\u4e00-\u9fa5]+"))
- {
- item.Appearance.FontData.SizeInPoints = 9.0F;
- }
- else
- {
- item.Appearance.FontData.SizeInPoints = 10.5F;
- }
- }
- }
- /// <summary>
- /// 校验字符串是否只包含字母与数字和/
- /// </summary>
- /// <param name="toVerified">需要校验的字符串</param>
- /// <returns>true表示符合要求,false表示不符合要求</returns>
- public static bool IsOnlyLetterAndDigit(string toVerified)
- {
- Regex rx = new Regex(@"^[a-zA-Z0-9-/]*$");
- return rx.IsMatch(toVerified.Trim(), 0);
- }
- /// <summary>
- /// 过滤
- /// </summary>
- /// <param name="myGrid1">ultraGrid</param>
- /// <param name="bAllowFilter">true 显示,false 隐藏</param>
- public static void SetUltraGridRowFilter(ref UltraGrid myGrid1, bool bAllowFilter)
- {
- try
- {
- if (bAllowFilter)
- {
- if (myGrid1.DisplayLayout.Override.FilterUIType != FilterUIType.FilterRow)
- myGrid1.DisplayLayout.Override.FilterUIType = FilterUIType.FilterRow;
- for (int i = 0; i < myGrid1.DisplayLayout.Bands.Count; i++)
- {
- if (myGrid1.DisplayLayout.Bands[i].CardView) continue;
- for (int j = 0; j < myGrid1.DisplayLayout.Bands[i].Columns.Count; j++)
- {
- try
- {
- if (!myGrid1.DisplayLayout.Bands[i].Columns[j].Hidden &&
- myGrid1.DisplayLayout.Bands[i].Columns[j].RowLayoutColumnInfo.LabelPosition != LabelPosition.LabelOnly)
- myGrid1.DisplayLayout.Bands[i].Columns[j].AllowRowFiltering = Infragistics.Win.DefaultableBoolean.True;
- }
- catch { }
- }
- }
- }
- else
- {
- if (myGrid1.DisplayLayout.Override.FilterUIType != FilterUIType.HeaderIcons)
- myGrid1.DisplayLayout.Override.FilterUIType = FilterUIType.HeaderIcons;
- for (int i = 0; i < myGrid1.DisplayLayout.Bands.Count; i++)
- {
- if (myGrid1.DisplayLayout.Bands[i].CardView) continue;
- try
- {
- myGrid1.DisplayLayout.Bands[i].ColumnFilters.ClearAllFilters();
- }
- catch { }
- for (int j = 0; j < myGrid1.DisplayLayout.Bands[i].Columns.Count; j++)
- {
- try
- {
- myGrid1.DisplayLayout.Bands[i].Columns[j].AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
- }
- catch { }
- }
- }
- }
- }
- catch { }
- }
- /// <summary>
- /// 求缴库支数最后一支重量
- /// </summary>
- /// <param name="conut">支数</param>
- /// <param name="weight">重量</param>
- public static string SetQualityAverage(string conut, string weight)
- {
- double Lastcount =0;//最后一支重量
- double dbcount= Convert.ToDouble(conut);
- double dbweight= Convert.ToDouble(weight);
- string avg = (dbweight / dbcount).ToString("f3");//平均值
- double all = Convert.ToDouble(avg) * dbcount;
- Lastcount = Convert.ToDouble(avg) + dbweight - all;
- return Lastcount.ToString();
- }
- /// <summary>
- /// 根据DataSet设定条件进行过滤
- /// </summary>
- /// <param name="dsVal"></param>
- /// <param name="RowWhere"></param>
- /// <returns></returns>
- public static DataSet RowFilterDataSet(DataSet dsVal, string RowWhere)
- {
- if (dsVal == null) return null;
- DataSet ds = dsVal;
- ds.Tables[0].DefaultView.RowFilter = RowWhere;
- DataSet dsnew = new DataSet();
- dsnew.Tables.Add(ds.Tables[0].DefaultView.ToTable());
- return dsnew;
- }
- /// <summary>
- /// 根据DataTable设定条件进行过滤
- /// </summary>
- /// <param name="dt"></param>
- /// <param name="RowWhere"></param>
- /// <returns></returns>
- public static DataTable RowFilterDataTable(DataTable dt, string RowWhere)
- {
- if (dt == null) return null;
- DataTable dtVal = dt;
- dtVal.DefaultView.RowFilter = RowWhere;
- DataTable dtNew = new DataTable();
- dtNew = dtVal.DefaultView.ToTable();
- return dtNew;
- }
- /// <summary>
- /// 通过科室查找对应的部门
- /// </summary>
- /// <param name="sectionName">科室ID</param>
- /// <param name="ob"></param>
- /// <returns>部门ID</returns>
- public static string GetDepartIdBySectionId(string sectionId, OpeBase ob)
- {
- DataTable dt = ServerHelper.GetData("com.steering.mes.signature.PipeManageClassInfo.getDeptBySection", new object[] { sectionId }, ob);
- if (dt.Rows.Count > 0)
- {
- return dt.Rows[0]["DEPARTID"].ToString();
- }
- else
- {
- return "";
- }
- }
- /// <summary>
- /// 通过科室查找对应的部门
- /// </summary>
- /// <param name="sectionName">科室ID</param>
- /// <param name="ob"></param>
- /// <returns>部门名称</returns>
- public static string GetDepartBySectionId(string sectionId, OpeBase ob)
- {
- DataTable dt = ServerHelper.GetData("com.steering.mes.signature.PipeManageClassInfo.getDeptBySection", new object[] { sectionId }, ob);
- if (dt.Rows.Count > 0)
- {
- return dt.Rows[0]["DEPARTNAME"].ToString();
- }
- else
- {
- return "";
- }
- }
- }
- }
|