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.PlnSaleOrd.Controls { /// /// /// /// Author TJG 2015-03-27 class PipeManageClass { /// /// 单号自增 /// /// 原单号 /// 单号前缀 /// 流水号 /// 返回值 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; } /// /// 查询当天是否有入库单号 /// /// 快速索引码,参数数组 /// 界面OB对象 /// public static DataTable getInList(ArrayList sortCode, OpeBase ob) { return ServerHelper.GetData("com.steering.pss.ydm.pipemanage.PipeManageClassInfo.queryInList", new object[] { sortCode }, ob); } /// /// 获取产线信息 /// /// 快速索引码,参数数组 /// 界面OB对象 /// public static DataTable getComPlineInfo(string sortCode, OpeBase ob) { return ServerHelper.GetData("com.steering.pss.ydm.pipemanage.PipeManageClassInfo.queryPline", new object[] { sortCode }, ob); } /// /// 获取扣型信息 /// /// 快速索引码,参数数组 /// 界面OB对象 /// public static DataTable getComModelInfo(string strCode,OpeBase ob) { return ServerHelper.GetData("com.steering.pss.ydm.pipemanage.PipeManageClassInfo.queryModel", new object[] { strCode }, ob); } /// /// 获取物料信息 /// /// 快速索引码,参数数组 /// 界面OB对象 /// public static DataTable getComMaterialInfo(ArrayList sortCode, OpeBase ob) { return ServerHelper.GetData("com.steering.pss.ydm.pipemanage.PipeManageClassInfo.queryMaterial", new object[] { sortCode }, ob); } /// /// 获取指定的仓库号信息 /// /// 快速索引码,参数数组 /// 界面OB对象 /// public static DataTable getComBaseInfo(ArrayList sortCode, OpeBase ob) { return ServerHelper.GetData("com.steering.pss.ydm.pipemanage.PipeManageClassInfo.queryStorage", new object[] { sortCode }, ob); } /// /// 绑定指定的原仓库号 /// /// 快速索引码,参数数组 /// 需填充的控件 /// 界面OB对象 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); } /// /// 获取指定的料位号信息 /// /// 快速索引码,参数数组 /// 界面OB对象 /// public static DataTable getLocationInfo(ArrayList sortCode, OpeBase ob) { return ServerHelper.GetData("com.steering.pss.ydm.pipemanage.PipeManageClassInfo.queryLocation", new object[] { sortCode }, ob); } /// /// 绑定指定的目标仓库号 /// /// 快速索引码,参数数组 /// 需填充的控件 /// 界面OB对象 public static void BindLocationInfo(ArrayList sortCode, UltraComboEditor cmb, OpeBase ob) { DataTable table = getLocationInfo(sortCode, ob); cmb.DataSource = table; cmb.ValueMember = "LOCATION_NO"; SetComboItemHeight(cmb); } /// /// 获取作业类型信息 /// /// 快速索引码,参数数组 /// 界面OB对象 /// public static DataTable getComTypeInfo(string sortCode, OpeBase ob) { return ServerHelper.GetData("com.steering.pss.ydm.pipemanage.PipeManageClassInfo.queryType", new object[] { sortCode }, ob); } /// /// 设置UltraComboEditor中的中文和非中文统一高度。 /// /// 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; } } } /// /// 校验字符串是否只包含字母与数字和/ /// /// 需要校验的字符串 /// true表示符合要求,false表示不符合要求 public static bool IsOnlyLetterAndDigit(string toVerified) { Regex rx = new Regex(@"^[a-zA-Z0-9-/]*$"); return rx.IsMatch(toVerified.Trim(), 0); } /// /// 过滤 /// /// ultraGrid /// true 显示,false 隐藏 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 { } } /// /// 求缴库支数最后一支重量 /// /// 支数 /// 重量 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(); } /// /// 根据DataSet设定条件进行过滤 /// /// /// /// 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; } /// /// 根据DataTable设定条件进行过滤 /// /// /// /// 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; } } }