| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301 |
- 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;
- using Core.StlMes.Client.YdmPipeManage.Tool;
- namespace Core.StlMes.Client.YdmPipeManage.Controls
- {
- /// <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="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);
- BaseMethod.InitComboEditor(cmb, table, "LOCATION_NAME", "LOCATION_NO");
- //cmb.DataSource = table;
- //cmb.ValueMember = "LOCATION_NAME";
- //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.pss.ydm.pipemanage.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;
- }
- }
- }
|