| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using Infragistics.Win.UltraWinEditors;
- using Infragistics.Win.UltraWinGrid;
- using CoreFS.CA06;
- using System.Data;
- using Core.Mes.Client.Comm.Server;
- namespace Core.StlMes.Client.SaleOrder
- {
- class OrderSpecialInfoTool
- {
- /// <summary>
- /// 初始化上限符号
- /// </summary>
- /// <param name="uce">下拉框</param>
- public static void NitializeSignMax(UltraComboEditor uce)
- {
- DataTable dt = new DataTable();
- dt.Columns.Add("STDMAX_SIGN");
- DataRow dr1 = dt.NewRow();
- dr1["STDMAX_SIGN"] = "";
- DataRow dr2 = dt.NewRow();
- dr2["STDMAX_SIGN"] = "<";
- DataRow dr3 = dt.NewRow();
- dr3["STDMAX_SIGN"] = "<=";
- dt.Rows.Add(dr1);
- dt.Rows.Add(dr2);
- dt.Rows.Add(dr3);
- uce.DataSource = dt;
- uce.DisplayMember = "STDMAX_SIGN";
- }
- /// <summary>
- /// 初始化下限符号
- /// </summary>
- /// <param name="uce">下拉框</param>
- public static void NitializeSignMin(UltraComboEditor uce)
- {
- DataTable dt = new DataTable();
- dt.Columns.Add("STDMIN_SIGN");
- DataRow dr1 = dt.NewRow();
- dr1["STDMIN_SIGN"] = "";
- DataRow dr2 = dt.NewRow();
- dr2["STDMIN_SIGN"] = ">";
- DataRow dr3 = dt.NewRow();
- dr3["STDMIN_SIGN"] = ">=";
- DataRow dr4 = dt.NewRow();
- dr4["STDMIN_SIGN"] = "=";
- dt.Rows.Add(dr1);
- dt.Rows.Add(dr2);
- dt.Rows.Add(dr3);
- dt.Rows.Add(dr4);
- uce.DataSource = dt;
- uce.DisplayMember = "STDMIN_SIGN";
- }
- /// <summary>
- /// 列绑定下拉框
- /// </summary>
- /// <param name="uce">下拉框</param>
- /// <param name="column">列名</param>
- /// <param name="column">行</param>
- public static void BindColumn(UltraComboEditor uce, string column, UltraGridBand ugb)
- {
- ugb.Columns[column].EditorComponent = uce;
- ugb.Columns[column].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
- }
- /// <summary>
- ///化学元素
- /// </summary>
- /// <param name="uce">下拉框</param>
- /// <param name="isNull">空行</param>
- /// <param name="ob"></param>
- public static void NitializeChemicalElement(UltraComboEditor uce, Boolean isNull, OpeBase ob)
- {
- NitializeDropDownBox(uce, "com.steering.pss.qcm.ComBaseQuery.getCombaseChem", "CHEM_NAME", "CHEM_CODE", isNull, ob);
- }
- /// <summary>
- ///加工标准工序点
- /// </summary>
- /// <param name="uce">下拉框</param>
- /// <param name="isNull">空行</param>
- /// <param name="ob"></param>
- public static void NitializeStationCode(UltraComboEditor uce, Boolean isNull, OpeBase ob)
- {
- NitializeDropDownBox(uce, "com.steering.pss.sale.order.CoreOrderSpecialInfo.queryStationCode", "STATION_DESC", "STATION_CODE", isNull, ob);
- }
- /// <summary>
- ///公差项
- /// </summary>
- /// <param name="uce">下拉框</param>
- /// <param name="isNull">空行</param>
- /// <param name="ob"></param>
- public static void NitializeTolerance(UltraComboEditor uce, Boolean isNull, OpeBase ob)
- {
- NitializeDropDownBox(uce, "com.steering.pss.qcm.ComBaseQuery.geComBaseInfo4040", "BASENAME", "BASECODE", isNull, ob);
- }
- /// <summary>
- ///探伤检验项
- /// </summary>
- /// <param name="uce">下拉框</param>
- /// <param name="isNull">空行</param>
- /// <param name="ob"></param>
- public static void NitializeDetectionPhy(UltraComboEditor uce, Boolean isNull, OpeBase ob)
- {
- NitializeDropDownBox(uce, "com.steering.pss.qcm.ComBaseQuery.getComBasePhyD", "PHY_NAME", "PHY_CODE", isNull, ob);
- }
- /// <summary>
- ///探伤级别
- /// </summary>
- /// <param name="uce">下拉框</param>
- /// <param name="isNull">空行</param>
- /// <param name="ob"></param>
- public static void NitializeDetectionLV(UltraComboEditor uce, Boolean isNull, OpeBase ob)
- {
- NitializeDropDownBox(uce, "com.steering.pss.qcm.ComBaseQuery.geComBaseInfo4022", "BASENAME", "BASECODE", isNull, ob);
- }
- /// <summary>
- ///探伤标准
- /// </summary>
- /// <param name="uce">下拉框</param>
- /// <param name="isNull">空行</param>
- /// <param name="ob"></param>
- public static void NitializeDetectionStandard(UltraComboEditor uce, Boolean isNull, OpeBase ob)
- {
- NitializeDropDownBox(uce, "com.steering.pss.qcm.ComBaseQuery.geComBaseInfo4021", "BASENAME", "BASECODE", isNull, ob);
- }
- /// <summary>
- ///探伤位置
- /// </summary>
- /// <param name="uce">下拉框</param>
- /// <param name="isNull">空行</param>
- /// <param name="ob"></param>
- public static void NitializeDetectionPosition(UltraComboEditor uce, Boolean isNull, OpeBase ob)
- {
- NitializeDropDownBox(uce, "com.steering.pss.qcm.ComBaseQuery.geComBaseInfo4020", "BASENAME", "BASECODE", isNull, ob);
- }
- /// <summary>
- /// 附加要求项目
- /// </summary>
- /// <param name="uce">下拉框</param>
- /// <param name="isNull">空行</param>
- /// <param name="ob"></param>
- public static void NitializeAskIime(UltraComboEditor uce, Boolean isNull, OpeBase ob)
- {
- NitializeDropDownBox(uce, "com.steering.pss.qcm.ComBaseQuery.getAskItem", "ASK_ITEM_DESC", "ASK_ITEM_NO", isNull, ob);
- }
- /// <summary>
- /// 理化检验项大类
- /// </summary>
- /// <param name="uce">下拉框</param>
- /// <param name="isNull">空行</param>
- /// <param name="ob"></param>
- public static void NitializePhyMax(UltraComboEditor uce, Boolean isNull, OpeBase ob)
- {
- NitializeDropDownBox(uce, "com.steering.pss.qcm.ComBaseQuery.geComBasePhyRStd", "PHY_TYPE", "PHY_CODE", isNull, ob);
- }
-
-
- /// <summary>
- /// 初始化下拉框
- /// </summary>
- /// <param name="uce">下拉框</param>
- /// <param name="methodID">方法名</param>
- /// <param name="showValue">显示值</param>
- /// <param name="hiddenValue">隐藏值</param>
- /// <param name="isNull">是否增加空行</param>
- /// <param name="ob">OB对象</param>
- public static void NitializeDropDownBox(UltraComboEditor uce, string methodID, string showValue, string hiddenValue, Boolean isNull, OpeBase ob)
- {
- DataTable dt = ServerHelper.GetData(methodID, new Object[] { }, ob);
- if (dt != null && dt.Rows.Count > 0 && isNull)
- {
- DataRow dr = dt.NewRow();
- for (int i = 0; i < dt.Columns.Count; i++)
- {
- dr[i] = "";
- }
- dt.Rows.InsertAt(dr, 0);
- }
- uce.DataSource = dt;
- uce.DisplayMember = showValue;
- uce.ValueMember = hiddenValue;
- //ClsBaseInfo.SetComboItemHeight(uce);
- }
- /// <summary>
- /// 初始下拉框
- /// </summary>
- public static void InitDropList(UltraComboEditor uce, DataTable dt, string showValue, Boolean isNull)
- {
- if (dt != null && dt.Rows.Count > 0)
- {
- DataTable dtNext = new DataTable();
- dtNext.Columns.Add("ID");
- dtNext.Columns.Add("NAME");
- if (isNull)
- {
- DataRow dr = dtNext.NewRow();
- dr["ID"] = "";
- dr["NAME"] = "";
- dtNext.Rows.Add(dr);
- }
- for (int i = 0; i < dt.Rows.Count; i++)
- {
- DataRow dr = dtNext.NewRow();
- string str = "";
- for (int j = 0; j < dt.Columns.Count; j++)
- {
- if (dt.Columns[j].Caption.Equals(showValue))
- dr["NAME"] = dt.Rows[i][j].ToString();
- else
- {
- str = str + "@" + dt.Rows[i][j].ToString();
- }
- }
- dr["ID"] = str.Substring(1);
- dtNext.Rows.Add(dr);
- }
- uce.DataSource = dtNext;
- uce.DisplayMember = "NAME";
- uce.ValueMember = "ID";
- }
- }
- /// <summary>
- /// ultragrid不可编辑
- /// </summary>
- /// <param name="ug"></param>
- public static void SetUltraGridNoEdit(UltraGrid ug)
- {
- for (int i = 0; i < ug.Rows.Count; i++)
- {
- UltraGridRow ugr = ug.Rows[i];
- for (int j = 0; j < ugr.Cells.Count; j++)
- {
- if (!ugr.Cells[j].Column.Key.Equals("CHC"))
- {
- ugr.Cells[j].Activation = Activation.ActivateOnly;
- }
- }
- }
- }
- /// <summary>
- /// 选中行指定列可编辑
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- public static void setCanEdit(Infragistics.Win.UltraWinGrid.CellEventArgs e)
- {
- if (e.Cell.Column.Key.Equals("CHC"))
- {
- Activation activation = Activation.ActivateOnly;
- if (Convert.ToBoolean(e.Cell.Value))
- {
- activation = Activation.AllowEdit;
- }
- CellsCollection cells = e.Cell.Row.Cells;
- for (int i = 0; i < cells.Count; i++)
- {
- if (!cells[i].Column.Key.Equals("CHC"))
- {
- e.Cell.Row.Cells[i].Activation = activation;
- }
- }
- }
- }
- public static void SetInsertRowUnEdit(UltraGrid ug, RowEventArgs e)
- {
- ug.UpdateData();
- //增加行如果没有勾选则不可编辑
- if (!Convert.ToBoolean(e.Row.Cells["CHC"].Value))
- {
- for (int i = 0; i < e.Row.Cells.Count; i++)
- {
- if (!e.Row.Cells[i].Column.Key.Equals("CHC"))
- e.Row.Cells[i].Activation = Activation.ActivateOnly;
- }
- }
- }
- /// <summary>
- /// 比较两个相同列的Datable里的数据是否完全相同
- /// </summary>
- /// <param name="dtA"></param>
- /// <param name="dtB"></param>
- /// <returns></returns>
- public static bool CompareTablesCommon(DataTable dtA, DataTable dtB)
- {
- if (dtA.Rows.Count != dtB.Rows.Count)
- {
- return false;
- }
- for (int i = 0; i < dtA.Rows.Count; i++)
- {
- for (int j = 0; j < dtB.Rows.Count; j++)
- {
- if (!dtA.Rows[i][j].Equals(dtB.Rows[i][j]))
- {
- return false;
- }
- }
- }
- return true;
- }
- /// <summary>
- /// 获取UltraGrid所有字段组成的字符串
- /// </summary>
- /// <param name="ug"></param>
- /// <returns></returns>
- public static string GetUltraGridData(UltraGrid ug,string[] strArray)
- {
- string content = "";
- if (ug.Rows.Count == 0)
- {
- return content;
- }
-
- for (int i = 0; i < ug.Rows.Count; i++)
- {
- if (ug.Rows[i].GetValue("CHC") == "False" && ug.Rows[i].GetValue("VALIDFLAG") == "") continue;
- if (content != "")
- {
- content += "\r\n ";
- }
- for (int k = 0; k < strArray.Length; k++)
- {
- string columnKey = strArray[k];
- for (int j = 0; j < ug.Rows[i].Cells.Count; j++)
- {
- if (ug.Rows[i].Cells[j].Column.Key.Equals(columnKey))
- {
- if (ug.Rows[i].Cells[j].Text.Trim() == "") break;
- content += ug.Rows[i].Cells[j].Text + "; ";
- break;
- }
-
- }
- }
-
- }
- return content;
- }
- /// <summary>
- /// 验证数据是否完全相同
- /// </summary>
- /// <param name="checkValue"></param>
- /// <param name="dtA"></param>
- /// <param name="dtB"></param>
- /// <param name="ob"></param>
- /// <param name="standDt"></param>
- /// <param name="msc"></param>
- /// <returns></returns>
- private bool CheckIsCommon(string checkValue, DataTable dtA,DataTable dtB, OpeBase ob, DataTable[] standDt, string msc)
- {
- dtA.PrimaryKey = new DataColumn[] { dtA.Columns["USE_CODE"] };
- DataRow dr = dtA.Rows.Find(checkValue);
- if (dr != null)
- {
- return true;
- }
- dtB.PrimaryKey = new DataColumn[] { dtB.Columns["CUST_ALPHA_NO"] };
- dr = dtB.Rows.Find(checkValue);
- if (dr != null)
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo..checkAlphaNoPass", new Object[] { checkValue }, ob);
- if (dt != null && dt.Rows.Count > 0)
- {
- return true;
- }
- }
- DataTable dtChem = standDt[0];
- dtChem.Columns.Remove("CUST_ALPHA_NO");
- dtChem.Columns.Remove("INDEX_SEQ");
- DataTable dtPhy = standDt[1];
- dtPhy.Columns.Remove("INDEX_SEQ");
- DataTable dtSpec = standDt[2];
- DataTable dtDete = standDt[3];
- DataTable dtWater = standDt[4];
- dtWater.Columns.Remove("CUST_ALPHA_NO");
- dtWater.Columns.Remove("INDEX_SEQ");
- foreach (DataRow drs in dtA.Rows)
- {
- string compareValue = drs["USE_CODE"].ToString();
- DataTable dt1 = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo.queryMscCic", new Object[] { msc, compareValue, "a" }, ob);
- if (!OrderSpecialInfoTool.CompareTablesCommon(dt1, dtChem))
- {
- continue;
- }
- DataTable dt2 = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo.queryMscPic", new Object[] { msc, compareValue, "a" }, ob);
- if (!OrderSpecialInfoTool.CompareTablesCommon(dt2, dtPhy))
- {
- continue;
- }
- DataTable dt3 = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo.queryMscSic", new Object[] { msc, compareValue, "a" }, ob);
- if (!OrderSpecialInfoTool.CompareTablesCommon(dt3, dtSpec))
- {
- continue;
- }
- DataTable dt4 = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo.queryMscDic", new Object[] { msc, compareValue, "a" }, ob);
- if (!OrderSpecialInfoTool.CompareTablesCommon(dt4, dtDete))
- {
- continue;
- }
- DataTable dt5 = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo.queryMscWic", new Object[] { msc, compareValue, "a" }, ob);
- if (!OrderSpecialInfoTool.CompareTablesCommon(dt5, dtWater))
- {
- continue;
- }
- else
- {
- return true;
- }
- }
- foreach (DataRow drs in dtB.Rows)
- {
- string compareValue = drs["CUST_ALPHA_NO"].ToString();
- DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo..checkAlphaNoPass", new Object[] { compareValue }, ob);
- if (dt == null)
- {
- continue;
- }
- DataTable dt1 = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo.queryMscCic", new Object[] { msc, compareValue, "b" }, ob);
- if (!OrderSpecialInfoTool.CompareTablesCommon(dt1, dtChem))
- {
- continue;
- }
- DataTable dt2 = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo.queryMscPic", new Object[] { msc, compareValue, "b" }, ob);
- if (!OrderSpecialInfoTool.CompareTablesCommon(dt2, dtPhy))
- {
- continue;
- }
- DataTable dt3 = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo.queryMscSic", new Object[] { msc, compareValue, "b" }, ob);
- if (!OrderSpecialInfoTool.CompareTablesCommon(dt3, dtSpec))
- {
- continue;
- }
- DataTable dt4 = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo.queryMscDic", new Object[] { msc, compareValue, "b" }, ob);
- if (!OrderSpecialInfoTool.CompareTablesCommon(dt4, dtDete))
- {
- continue;
- }
- DataTable dt5 = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo.queryMscWic", new Object[] { msc, compareValue, "b" }, ob);
- if (!OrderSpecialInfoTool.CompareTablesCommon(dt5, dtWater))
- {
- continue;
- }
- else
- {
- return true;
- }
- }
- return true;
- }
- }
- }
|