| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291 |
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Linq;
- using System.Text;
- using Core.Mes.Client.Comm.Server;
- using CoreFS.CA06;
- using Infragistics.Win;
- using Infragistics.Win.UltraWinEditors;
- using Infragistics.Win.UltraWinGrid;
- using System.Text.RegularExpressions;
- namespace Core.StlMes.Client.PlnSaleOrd.工序排产
- {
- public class PlanHelper
- {
-
- /// <summary>
- /// 初始化编辑区产线
- /// </summary>
- /// <param name="processCode">工序</param>
- /// <param name="ug">UltraGrid</param>
- /// <param name="from">窗体</param>
- public static void InitEditPline(string processCode, string plineCode, UltraGrid ug, FrmBase from)
- {
- DataTable dt1 = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.BaseHelper.initPline", new object[] { processCode, "", plineCode }, from.ob);
- UltraComboEditor uce = new UltraComboEditor();
- from.Controls.Add(uce);
- uce.Visible = false;
- uce.DropDownListWidth = -1;
- uce.DropDownStyle = DropDownStyle.DropDownList;
- uce.DataSource = dt1;
- uce.DisplayMember = "PLINE_NAME";
- uce.ValueMember = "PLINE_CODE";
- ug.DisplayLayout.Bands[0].Columns["PlineCode"].EditorComponent = uce;
- ug.DisplayLayout.Bands[0].Columns["PlineCode"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
- }
- public static Dictionary<string, UltraComboEditor> GetPlineUcb(string sortCode, string processCode, FrmBase frm)
- {
- Dictionary<string, UltraComboEditor> ucbDicton = new Dictionary<string, UltraComboEditor>();
- DataTable dtGroup = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.BaseHelper.initGroup", new object[] { sortCode }, frm.ob);
- if (dtGroup != null && dtGroup.Rows.Count > 0)
- {
- foreach (DataRow dr in dtGroup.Rows)
- {
- string key = dr["BASECODE"].ToString();
- if (!ucbDicton.ContainsKey(key))
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.BaseHelper.initPline", new object[] { processCode, key, "" }, frm.ob);
- UltraComboEditor uce = new UltraComboEditor();
- frm.Controls.Add(uce);
- uce.Visible = false;
- uce.DropDownListWidth = -1;
- uce.DropDownStyle = DropDownStyle.DropDownList;
- uce.DataSource = dt;
- uce.DisplayMember = "PLINE_NAME";
- uce.ValueMember = "PLINE_CODE";
- ucbDicton.Add(key, uce);
- }
- }
- }
- return ucbDicton;
- }
- /// <summary>
- /// 初始化计划分组
- /// </summary>
- /// <param name="sortCode">检索码</param>
- /// <param name="ug">ultraGrid</param>
- /// <param name="from">窗体</param>
- /// <param name="code">字段名称</param>
- /// <param name="ob"></param>
- public static void InitEditGroup(string sortCode, UltraGrid ug, FrmBase from, string code)
- {
- DataTable dt1 = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.BaseHelper.initGroup", new object[] { sortCode }, from.ob);
- UltraComboEditor uce = new UltraComboEditor();
- from.Controls.Add(uce);
- uce.Visible = false;
- uce.DropDownListWidth = -1;
- uce.DropDownStyle = DropDownStyle.DropDownList;
- uce.DataSource = dt1;
- uce.DisplayMember = "BASENAME";
- uce.ValueMember = "BASECODE";
- ug.DisplayLayout.Bands[0].Columns[code].EditorComponent = uce;
- ug.DisplayLayout.Bands[0].Columns[code].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
- }
- /// <summary>
- /// 初始化下拉框计划分组
- /// </summary>
- /// <param name="sortCode"></param>
- /// <param name="uce"></param>
- /// <param name="code"></param>
- public static void InitDropGroup(string sortCode, UltraComboEditor uce,OpeBase ob)
- {
- DataTable dt1 = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.BaseHelper.initGroup", new object[] { sortCode }, ob);
- uce.DataSource = dt1;
- uce.DisplayMember = "BASENAME";
- uce.ValueMember = "BASECODE";
- }
- /// <summary>
- /// 设置UltraComboEditor中的中文和非中文统一高度。
- /// </summary>
- /// <param name="cmb"></param>
- public static void SetComboItemHeight(UltraComboEditor cmb)
- {
- 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>
- public static void InitRepairType(UltraGrid ug, FrmBase from)
- {
- UltraComboEditor uce = new UltraComboEditor();
- from.Controls.Add(uce);
- uce.Visible = false;
- uce.DropDownListWidth = -1;
- uce.DropDownStyle = DropDownStyle.DropDownList;
- DataTable dt = new DataTable();
- dt.Columns.Add("RepairType");
- DataRow dr1 = dt.NewRow();
- dr1["RepairType"] = "检修";
- dt.Rows.Add(dr1);
- DataRow dr2 = dt.NewRow();
- dr2["RepairType"] = "停机";
- dt.Rows.Add(dr2);
- uce.DataSource = dt;
- uce.DisplayMember = "RepairType";
- uce.ValueMember = "RepairType";
- ug.DisplayLayout.Bands[0].Columns["RepairType"].EditorComponent = uce;
- ug.DisplayLayout.Bands[0].Columns["RepairType"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
- }
- /// <summary>
- /// 控制行是否可编辑(排产专用)
- /// </summary>
- /// <param name="row"></param>
- public static void ControlCellEdit(UltraGridRow row)
- {
- foreach (UltraGridCell cell in row.Cells)
- {
- //选择 允许操作
- if (cell.Column.Key.Equals("CHC"))
- {
- cell.Activation = Activation.AllowEdit;
- }
- else
- {
- //带颜色与特殊字段
- if (cell.Column.CellAppearance.BackColor == System.Drawing.Color.FromArgb(255, 255, 128) || cell.Column.Key.Equals("RepairType") || cell.Column.Key.Equals("PlanUsetime") || cell.Column.Key.Equals("PlanTimeB"))
- {
- //如果选中
- if (row.Cells["CHC"].Value.ToString() == "True")
- {
- if ((row.Cells["ExeStatus"].Value.ToString().Equals("生产中") || row.Cells["ExeStatus"].Value.ToString().Equals("计划")) && cell.Column.Key.Equals("PlanTimeB") && row.Index == 0)
- {
- cell.Activation = Activation.AllowEdit;
- cell.Appearance.BackColor = System.Drawing.Color.FromArgb(255, 255, 128);
- }
- else
- {
- if (cell.Row.Cells["IsRepairPln"].Text.Equals("是"))
- {
- if (cell.Column.Key.Equals("PlanTimeB"))
- {
- cell.Activation = Activation.ActivateOnly;
- }
- else
- {
- if (cell.Column.Key.Equals("RepairType") && cell.Value.ToString().Equals("承揽"))
- {
- cell.Activation = Activation.ActivateOnly;
- }
- else
- {
- cell.Activation = Activation.AllowEdit;
- }
-
- }
-
- }
- else
- {
- if (cell.Column.Key.Equals("RepairType") || cell.Column.Key.Equals("PlanUsetime") || cell.Column.Key.Equals("PlanTimeB"))
- {
- cell.Activation = Activation.ActivateOnly;
- }
- else
- {
- cell.Activation = Activation.AllowEdit;
- }
- }
- }
- }
- else
- {
- //没选中
- cell.Activation = Activation.ActivateOnly;
- }
- }
- else
- {
- cell.Activation = Activation.ActivateOnly;
- }
- }
- }
- }
- public static string[] SetData(string methodId, object[] param, OpeBase ob)
- {
- CoreClientParam ccp = new CoreClientParam();
- ccp.ServerName = methodId.Substring(0, methodId.LastIndexOf("."));
- ccp.MethodName = methodId.Substring(methodId.LastIndexOf(".") + 1);
- ccp.ServerParams = param;
- ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
- if (ccp.ReturnCode == -1)
- {
- return null;
- }
- else
- {
- string[] strArray = new string[2];
- strArray[0] = ccp.ReturnObject.ToString();
- strArray[1] = ccp.ReturnInfo;
- return strArray;
- }
- }
- /// <summary>
- /// 初始化产线
- /// </summary>
- /// <param name="processCode">工序</param>
- /// <param name="plineCode">同一分组的产线</param>
- /// <param name="ugc">下拉框</param>
- /// <param name="ob"></param>
- public static void InitDropPline(string processCode, string plineCode, UltraComboEditor ugc, OpeBase ob)
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.BaseHelper.initPline", new object[] { processCode, "", plineCode }, ob);
- if (dt != null && dt.Rows.Count > 0)
- {
- ugc.DataSource = dt;
- ugc.ValueMember = "PLINE_CODE";
- ugc.DisplayMember = "PLINE_NAME";
- }
- }
- /// <summary>
- /// 通过权限初始化产线
- /// </summary>
- /// <param name="processCode"></param>
- /// <param name="ugc"></param>
- /// <param name="validDataPurviewIds"></param>
- /// <param name="ob"></param>
- public static string[] InitDropPlinePower(string processCode, UltraComboEditor ugc,string[] validDataPurviewIds, OpeBase ob)
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.BaseHelper.initPlinePower", new object[] { processCode, validDataPurviewIds }, ob);
- if (dt != null && dt.Rows.Count > 0)
- {
- ugc.DataSource = dt;
- ugc.ValueMember = "PLINE_CODE";
- ugc.DisplayMember = "PLINE_NAME";
- string[] plineArr=new string[dt.Rows.Count];
- for(int i=0;i<dt.Rows.Count;i++){
- plineArr[i]=dt.Rows[i]["PLINE_CODE"].ToString();
- }
- ugc.SelectedIndex = 0;
- return plineArr;
- }
- else
- {
- return null;
- }
- }
-
- }
- }
|