| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891 |
- using Core.Mes.Client.Comm.Control;
- using Core.Mes.Client.Comm.Format;
- using Core.Mes.Client.Comm.Server;
- using Core.Mes.Client.Comm.Tool;
- using Core.StlMes.Client.Qcm.model;
- using CoreFS.CA06;
- using Infragistics.Win.UltraWinEditors;
- using Infragistics.Win.UltraWinGrid;
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text.RegularExpressions;
- using System.Windows.Forms;
- namespace Core.StlMes.Client.Qcm
- {
- /// <summary>
- /// 水压标准
- /// </summary>
- public partial class FrmWaterPressureStand : FrmBase
- {
- public FrmWaterPressureStand()
- {
- InitializeComponent();
- ExceptionHelper.RegistException();
- this.IsLoadUserView = true;
- }
- public void PopupLoad(string customInfo, OpeBase ob)
- {
- this.CustomInfo = customInfo;
- this.ob = ob;
- FrmWaterPressureStand_Load(null, null);
- }
- private bool isPasting = false;
- //提示信息
- private string errMessage = "";
- //用于 定位
- private string _wic = "";
- //展开
- private bool _isEx = false;
- //public int isSelect = 0;
- private UltraComboEditor uce = new UltraComboEditor();
- //用户冶金规范管理界面调用。 此处为查询条件。
- public string WIC = "";
- private string msc = "";
- public string Msc
- {
- get { return msc; }
- set { msc = value; }
- }
- private string codeJg = "DefaultValue";
- public string CodeJg
- {
- get { return codeJg; }
- set { codeJg = value; }
- }
- private string stdCode = "";
- public string StdCode
- {
- get { return stdCode; }
- set { stdCode = value; }
- }
- private ArrayList steelCodes = new ArrayList();
- public ArrayList SteelCodes
- {
- get { return steelCodes; }
- set { steelCodes = value; }
- }
- private string produccodeNk = "";
- public string ProduccodeNk
- {
- get { return produccodeNk; }
- set { produccodeNk = value; }
- }
- private string steelcodeNk = "";
- public string SteelcodeNk
- {
- get { return steelcodeNk; }
- set { steelcodeNk = value; }
- }
- private string processCode = "";
- public string ProcessCode
- {
- get { return processCode; }
- set { processCode = value; }
- }
- private string modelCode = "";
- public string ModelCode
- {
- get { return modelCode; }
- set { modelCode = value; }
- }
- private string acceptBid = "";
- public string AcceptBid
- {
- get { return acceptBid; }
- set { acceptBid = value; }
- }
- private string psc = "";
- public string Psc
- {
- get { return psc; }
- set { psc = value; }
- }
- private string ordLnPk = "";
- public string OrdLnPk
- {
- get { return ordLnPk; }
- set { ordLnPk = value; }
- }
- public override void ToolBar_Click(object sender, string ToolbarKey)
- {
- switch (ToolbarKey)
- {
- case "Query":
- this.DoQuery();
- break;
- case "Delete":
- DoUpdateOrResume(true);
- break;
- case "Resume":
- DoUpdateOrResume(false);
- break;
- case "Copy":
- Copy();
- break;
- case "Paste":
- isPasting = true;
- try
- {
- Paste();
- }
- finally
- {
- isPasting = false;
- }
- break;
- case "Save":
- DoSave();
- break;
- case "Refresh":
- BandToUltraGrid();
- break;
- case "Close":
- this.Close();
- break;
- }
- }
- /// <summary>
- /// 复制
- /// </summary>
- private void Copy()
- {
- if (ultraGrid1.ActiveRow == null)
- {
- MessageUtil.ShowWarning("请选择记录后,再进行操作!");
- return;
- }
- ultraGrid1.UpdateData();
- DataTable copyTab = dataTable2.Copy();
- DataTable copyTab2 = dataTable1.Copy();
- copyTab.Clear();
- copyTab2.Clear();
- if (ultraGrid1.ActiveRow.HasParent())
- {
- foreach (UltraGridRow row in ultraGrid1.ActiveRow.ParentRow.ChildBands[0].Rows)
- {
- if (row.GetValue("CHC") != "True") continue;
- DataRow dr = copyTab.NewRow();
- CopyRowToRow(((DataRowView)row.ListObject).Row, dr);
- copyTab.Rows.Add(dr);
- }
- }
- else
- {
- foreach (UltraGridRow row in ultraGrid1.ActiveRow.ChildBands[0].Rows)
- {
- DataRow dr = copyTab.NewRow();
- CopyRowToRow(((DataRowView)row.ListObject).Row, dr);
- copyTab.Rows.Add(dr);
- }
- DataRow dr2 = copyTab2.NewRow();
- CopyRowToRow(((DataRowView)ultraGrid1.ActiveRow.ListObject).Row, dr2);
- copyTab2.Rows.Add(dr2);
- }
- DataTable[] copyTabs = new DataTable[] { copyTab, copyTab2 };
- Clipboard.SetData("Wic", copyTabs);
- }
- private void CopyRowToRow(DataRow srcRow, DataRow desRow)
- {
- for (int i = 0; i < srcRow.Table.Columns.Count; i++)
- {
- string columnName = srcRow.Table.Columns[i].ColumnName;
- desRow[columnName] = srcRow[columnName];
- }
- }
- /// <summary>
- /// 粘贴
- /// </summary>
- private void Paste()
- {
- DataTable[] copyTabs = (DataTable[])Clipboard.GetData("Wic");
- if (copyTabs == null)
- {
- MessageUtil.ShowWarning("没有数据,请复制后再进行操作!");
- return;
- }
- DataTable copyTab = copyTabs[0];
- DataTable copyTab2 = copyTabs[1];
- if (copyTab == null || copyTab.Rows.Count == 0)
- {
- MessageUtil.ShowWarning("没有数据,请复制后再进行操作!");
- return;
- }
- dataTable2.BeginInit();
- string wic = "";
- UltraGridRow rowParent;
- if (ultraGrid1.ActiveRow.HasParent())
- {
- //if (ultraGrid1.ActiveRow.ParentRow.ChildBands[0].Rows.Count > 0)
- //{
- // MessageUtil.ShowWarning("该记录下存在子记录,不能进行粘贴操作!");
- // return;
- //}
- wic = ultraGrid1.ActiveRow.ParentRow.GetValue("WIC");
- rowParent = ultraGrid1.ActiveRow.ParentRow;
- }
- else
- {
- //if (ultraGrid1.ActiveRow.ChildBands[0].Rows.Count > 0)
- //{
- // MessageUtil.ShowWarning("该记录下存在子记录,不能进行粘贴操作!");
- // return;
- //}
- wic = ultraGrid1.GetActiveRowValue("WIC");
- rowParent = ultraGrid1.ActiveRow;
- }
- List<string> notCopyColumns = new List<string>();
- notCopyColumns.AddRange("CHC", "CREATE_TIME", "CREATE_NAME", "UPDATE_TIME", "UPDATE_NAME",
- "DELETE_TIME", "DELETE_NAME", "VALIDFLAG", "WIC", "MSC", "STD_CODE_NK", "STD_NAME_NK", "PSC_DESC", "PSC",
- "STD_NAME", "PRODUCNAME", "STEELNAME", "STDSTYLE", "PROCESS_DESC", "STD_STYLE_DESC",
- "PRODUCCODE_NK", "PRODUCNAME_NK", "PROCESS_CDOE", "PROCESS_DESC", "STEELCODE_NK", "STEELNAME_NK");
- if (copyTab2.Rows.Count > 0)
- {
- DataRow drParent = ((DataRowView)rowParent.ListObject).Row;
- foreach (DataColumn column in dataTable1.Columns)
- {
- string columnName = column.ColumnName;
- if (notCopyColumns.Contains(columnName) == true) continue;
- drParent[columnName] = copyTab2.Rows[0][columnName];
- }
- }
- foreach (DataRow row in copyTab.Rows)
- {
- DataRow tempRow = dataTable2.NewRow();
- foreach (DataColumn column in dataTable2.Columns)
- {
- string columnName = column.ColumnName;
- if (notCopyColumns.Contains(columnName) == true) continue;
- if (!copyTab.Columns.Contains(columnName)) continue;
- tempRow[columnName] = row[columnName];
- }
- tempRow["WIC"] = wic;
- dataTable2.Rows.Add(tempRow);
- }
- dataTable2.EndInit();
- if (copyTab.Rows.Count > 0 && ultraGrid1.ActiveRow != null)
- {
- ultraGrid1.ActiveRow.ExpandAll();
- }
- ultraGrid1.UpdateData();
- }
- private void FrmWaterPressureStand_Load(object sender, EventArgs e)
- {
- BandToUltraGrid();
- HideColumn();
- }
- /// <summary>
- /// 根据参数隐藏不同的列
- /// </summary>
- private void HideColumn()
- {
- if (CustomInfo == "1")
- {
- //隐藏内控标准名称
- ultraGrid1.DisplayLayout.Bands[0].Columns["STD_CODE_NK"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["PROCESS_DESC"].Hidden = true;
- this.ultraGrid1.DisplayLayout.Bands[0].Columns["STEELNAME_NK"].Hidden = true;
- this.ultraGrid1.DisplayLayout.Bands[0].Columns["MODEL_DESC_NK"].Hidden = true;
- this.ultraGrid1.DisplayLayout.Bands[0].Columns["PRODUCCODE_NK"].Hidden = true;
- this.ultraGrid1.DisplayLayout.Bands[0].Columns["PRODUCNAME_NK"].Hidden = true;
- }
- if (CustomInfo == "2")
- {
- ultraGrid1.DisplayLayout.Bands[0].Columns["MSC"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["PSC_DESC"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["PRODUCNAME"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["STD_NAME"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["STEELNAME"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["STEELCODE"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["STD_STYLE_DESC"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["STD_CODE_NK"].Header.Caption = "内控管理编号";
- ultraCheckPscDesc.Visible = false;
- ultraTextPscDesc.Visible = false;
- InnerChange();
- }
- if (CustomInfo == "3")
- {
- ultraGrid1.DisplayLayout.Bands[0].Columns["MSC"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["PSC_DESC"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["PRODUCNAME"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["STD_NAME"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["STEELCODE"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["STEELNAME"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["STD_STYLE_DESC"].Hidden = true;
- ultraCheckPscDesc.Visible = false;
- ultraTextPscDesc.Visible = false;
- ultraGrid1.DisplayLayout.Bands[0].Columns["PROCESS_DESC"].Hidden = true;
- this.ultraGrid1.DisplayLayout.Bands[0].Columns["STEELNAME_NK"].Hidden = true;
- this.ultraGrid1.DisplayLayout.Bands[0].Columns["MODEL_DESC_NK"].Hidden = true;
- this.ultraGrid1.DisplayLayout.Bands[0].Columns["PRODUCCODE_NK"].Hidden = true;
- this.ultraGrid1.DisplayLayout.Bands[0].Columns["PRODUCNAME_NK"].Hidden = true;
- }
- }
- /// <summary>
- /// 查询
- /// </summary>
- private void DoQuery()
- {
- //查询交付标准或者内控标准
- string style = "G";
- if (CustomInfo == "2")
- style = "N";
- if (CustomInfo == "3")
- style = "K";
- ArrayList QueryConditon = GetQueryConditon();
- //查询主表数据
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreWaterStand.getCoreWaterStand",
- new Object[] { QueryConditon, style, msc, codeJg, produccodeNk, steelcodeNk, processCode, modelCode }, this.ob);
- dataTable2.Clear();
- GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable1, true);
- //从表查询
- string valid = "1";
- if (ultraCheckValid.Checked)
- valid = "0";
- DataTable dt1 = ServerHelper.GetData("com.steering.pss.qcm.CoreWaterStand.getCoreWaterStandC",
- new Object[] { valid, stdCode, style, msc, codeJg, produccodeNk, steelcodeNk, processCode, modelCode }, this.ob);
- dt1 = QcmBaseCommon.FilterTable(dt, dt1, "WIC");
- GridHelper.CopyDataToDatatable(ref dt1, ref this.dataTable2, true);
- QcmBaseCommon.SetUltraGridNoEdit(ultraGrid1);
- this.ultraGrid1.DisplayLayout.Bands[1].Columns["Ratio"].CellActivation = Activation.ActivateOnly;
- //自适应
- UltraGridColumn[] col = new UltraGridColumn[] { this.ultraGrid1.DisplayLayout.Bands[0].Columns["MEMO"], this.ultraGrid1.DisplayLayout.Bands[0].Columns["MIN_D"],
- this.ultraGrid1.DisplayLayout.Bands[0].Columns["MAX_D"],this.ultraGrid1.DisplayLayout.Bands[0].Columns["MIN_H"],this.ultraGrid1.DisplayLayout.Bands[0].Columns["MAX_H"]
- ,this.ultraGrid1.DisplayLayout.Bands[0].Columns["MODEL_DESC"]};
- GridHelper.RefreshAndAutoSizeExceptRows(ultraGrid1, col);
- WriteTxtToGrid();
- //isSelect = 0;
- //展开或者定位
- UltraGridRow[] rows1 = GridHelper.GetRowsWithKey(ultraGrid1, new string[] { "WIC" }, new string[] { _wic });
- if (rows1.Length > 0)
- {
- rows1[0].Activate();
- if (_isEx)
- rows1[0].ExpandAll();
- }
- foreach (UltraGridRow ugr in ultraGrid1.Rows)
- {
- ugr.Cells["CHKNK"].Value = "选择";
- }
- _isEx = false;
- _wic = "";
- ultraGrid1.UpdateData();
- dataTable1.AcceptChanges();
- dataTable2.AcceptChanges();
- //清空复制数据
- //_copyedRows.Clear();
- }
- public void QueryPurchaseAgreement(string stdCodeNk)
- {
- dataTable2.Clear();
- dataTable1.Clear();
- DataTable dtP = ServerHelper.GetData("com.steering.pss.qcm.CoreWaterStand.getPurchaseAgreementWic",
- new object[] { stdCodeNk }, ob);
- GridHelper.CopyDataToDatatable(ref dtP, ref this.dataTable1, true);
- DataTable dtC = ServerHelper.GetData("com.steering.pss.qcm.CoreWaterStand.getPurchaseAgreementWater",
- new object[] { stdCodeNk }, ob);
- GridHelper.CopyDataToDatatable(ref dtC, ref this.dataTable2, true);
- QcmBaseCommon.SetGridColor(ultraGrid1, "VALIDFLAG", "无效");
- QcmBaseCommon.SetUltraGridNoEdit(ultraGrid1);
- }
- private void WriteTxtToGrid()
- {
- foreach (UltraGridRow row in ultraGrid1.Rows)
- {
- foreach (UltraGridRow row2 in row.ChildBands[0].Rows)
- {
- row2.Cells["RatioMng"].Value = "维护";
- }
- }
- }
- private int GetGridSelectCount()
- {
- foreach (UltraGridRow row in ultraGrid1.Rows)
- {
- if (row.Cells["CHC"].Value.ToString() == "True")
- {
- return 1;
- }
- UltraGridRow[] rows = GridHelper.GetRowsWithKey(row.ChildBands[0],
- new string[] { "CHC" }, new string[] { "True" });
- if (rows.Length > 0)
- {
- return 1;
- }
- }
- return 0;
- }
- private DataRow GetComBaseStdRowByPk(string stdCode)
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.getComBaseStdByPk",
- new object[] { stdCode }, ob);
- return dt.Rows[0];
- }
- /// <summary>
- /// 保存
- /// </summary>
- private void DoSave()
- {
- ultraGrid1.UpdateData();
- DataRow comBaseStdRow = null;
- string style = "G";
- if (CustomInfo == "2")
- {
- comBaseStdRow = GetComBaseStdRowByPk(stdCode);
- if (comBaseStdRow["ACCEPT_BID"].ToString() == "1")
- {
- style = "N";
- }
- else
- {
- style = "L";
- }
- }
- if (CustomInfo == "3")
- style = "K";
- if (GetGridSelectCount() == 0)
- {
- MessageBox.Show("请选择记录!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- if (CustomInfo == "2")
- {
- if (comBaseStdRow["ACCEPT_BID"].ToString() == "1" && comBaseStdRow["UNIT_CODE"].ToString() != UserInfo.GetDeptid()
- && UserInfo.GetUserID() != "admin" && UserInfo.GetUserID() != "longjinhua")
- {
- MessageUtil.ShowWarning("该记录只有[" + comBaseStdRow["UNIT_DESC"].ToString() + "]的成员才能操作!");
- return;
- }
- }
- ArrayList baseList = new ArrayList();
- ArrayList childList = new ArrayList();
- for (int i = 0; i < ultraGrid1.Rows.Count; i++)
- {
- UltraGridRow ugr = ultraGrid1.Rows[i];
- DataRow rowWic = null;
- //主表行
- if (Convert.ToBoolean(ugr.Cells["CHC"].Value))
- {
- if (ugr.GetValue("VALIDFLAG") != "")
- {
- rowWic = GetMscWicByWic(ugr.GetValue("WIC"));
- }
- if (comBaseStdRow != null && comBaseStdRow["ACCEPT_BID"].ToString() == "0" && rowWic != null)
- {
- string[] units = ClsBaseInfo.GetUnitByUserName(rowWic["CREATE_NAME"].ToString(), ob, "002001007", "002001001", "002023005");
- if (units[0] != UserInfo.GetDeptid() && UserInfo.GetUserID() != "admin")
- {
- MessageUtil.ShowWarning("该记录只有[" + units[1] + "]才能操作!");
- ugr.Activate();
- return;
- }
- }
- PressWaterObject comM = GetBaseData(ugr, rowWic);
- if (comM == null)
- {
- MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- baseList.Add(JSONFormat.Format(comM));
- _wic = comM.Wic.ToString();
- }
- //从表行
- if (ugr.HasChild())
- {
- if (ugr.Cells["VALIDFLAG"].Value.ToString().Equals("") && !Convert.ToBoolean(ugr.Cells["CHC"].Value))
- {
- MessageBox.Show("请选择主记录", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- for (int j = 0; j < ugr.ChildBands[0].Rows.Count; j++)
- {
- UltraGridRow ugrChild = ugr.ChildBands[0].Rows[j];
- if (Convert.ToBoolean(ugrChild.Cells["CHC"].Value))
- {
- if (ugr.GetValue("VALIDFLAG") != "")
- {
- rowWic = GetMscWicByWic(ugr.GetValue("WIC"));
- }
- if (comBaseStdRow != null && comBaseStdRow["ACCEPT_BID"].ToString() == "0" && rowWic != null)
- {
- string[] units = ClsBaseInfo.GetUnitByUserName(rowWic["CREATE_NAME"].ToString(), ob, "002001007", "002001001", "002023005");
- if (units[0] != UserInfo.GetDeptid() && UserInfo.GetUserID() != "admin")
- {
- MessageUtil.ShowWarning("该记录只有[" + units[1] + "]才能操作!");
- ugrChild.Activate();
- return;
- }
- }
- PressWaterCObject comMC = GetChildData(ugrChild, rowWic);
- if (comMC == null)
- {
- if (errMessage == "")
- return;
- MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- childList.Add(JSONFormat.Format(comMC));
- _wic = comMC.Wic;
- _isEx = true;
- }
- }
- }
- }
- if (MessageBox.Show("是否保存选择记录?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
- {
- return;
- }
- if (baseList.Count > 0 || childList.Count > 0)
- {
- int count = ServerHelper.SetData("com.steering.pss.qcm.CoreWaterStand.saveCoreWaterStand",
- new object[] { baseList, childList, style }, this.ob);
- if (count > 0)
- {
- MessageBox.Show("保存成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- DoQuery();
- }
- }
- }
- /// <summary>
- /// 作废或者恢复
- /// </summary>
- /// <param name="flag"></param>
- private void DoUpdateOrResume(bool flag)
- {
- ultraGrid1.UpdateData();
- if (GetGridSelectCount() == 0)
- {
- MessageBox.Show("请选择记录!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- DataRow comBaseStdRow = null;
- if (CustomInfo == "2")
- {
- comBaseStdRow = GetComBaseStdRowByPk(stdCode);
- if (comBaseStdRow["ACCEPT_BID"].ToString() == "1" && comBaseStdRow["UNIT_CODE"].ToString() != UserInfo.GetDeptid()
- && UserInfo.GetUserID() != "admin")
- {
- MessageUtil.ShowWarning("该记录只有[" + comBaseStdRow["UNIT_DESC"].ToString() + "]的成员才能" + (flag ? "作废" : "恢复") + "!");
- return;
- }
- }
- ultraGrid1.UpdateData();
- ArrayList baseList = new ArrayList();
- ArrayList childList = new ArrayList();
- for (int i = 0; i < ultraGrid1.Rows.Count; i++)
- {
- UltraGridRow ugr = ultraGrid1.Rows[i];
- if (Convert.ToBoolean(ugr.Cells["CHC"].Value))
- {
- DataRow rowWic = null;
- if (ugr.GetValue("VALIDFLAG") != "")
- {
- rowWic = GetMscWicByWic(ugr.GetValue("WIC"));
- }
- if (comBaseStdRow != null && comBaseStdRow["ACCEPT_BID"].ToString() == "0" && rowWic != null)
- {
- string[] units = ClsBaseInfo.GetUnitByUserName(rowWic["CREATE_NAME"].ToString(), ob, "002001007", "002001001", "002023005");
- if (units[0] != UserInfo.GetDeptid() && UserInfo.GetUserID() != "admin")
- {
- MessageUtil.ShowWarning("该记录只有[" + units[1] + "]才能操作!");
- ugr.Activate();
- return;
- }
- }
- if (CheckAuthority(ugr) == false)
- {
- MessageUtil.ShowWarning(errMessage);
- }
- PressWaterObject comM = new PressWaterObject();
- comM.DeleteName = UserInfo.GetUserName();
- comM.Wic = ugr.Cells["WIC"].Value.ToString();
- if (ugr.Cells["VALIDFLAG"].Value.Equals("无效") && flag)
- {
- MessageBox.Show("无效记录不能作废", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- if (flag && (ugr.Cells["VALIDFLAG"].Value.Equals("提交审核") || ugr.Cells["VALIDFLAG"].Value.Equals("已审核")))
- {
- MessageBox.Show("提交审核或已审核记录不能作废!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- if (ugr.Cells["VALIDFLAG"].Value.Equals("有效") && (!flag))
- {
- MessageBox.Show("有效记录不能恢复", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- if (ugr.HasChild() && flag)
- {
- //子记录全部删除
- if (MessageBox.Show("对应子记录将全部作废!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
- {
- return;
- }
- foreach (UltraGridRow ugrc in ugr.ChildBands[0].Rows)
- {
- PressWaterCObject comMC = new PressWaterCObject();
- comMC.DeleteName = UserInfo.GetUserName();
- comMC.Wic = ugrc.Cells["WIC"].Value.ToString();
- comMC.Xh = ugrc.Cells["XH"].Value.ToString();
- childList.Add(JSONFormat.Format(comMC));
- }
- }
- baseList.Add(JSONFormat.Format(comM));
- _wic = comM.Wic.ToString();
- }
- if (ugr.HasChild())
- {
- for (int j = 0; j < ugr.ChildBands[0].Rows.Count; j++)
- {
- UltraGridRow ugrc = ugr.ChildBands[0].Rows[j];
- if (Convert.ToBoolean(ugrc.Cells["CHC"].Value))
- {
- DataRow rowWic = null;
- if (ugr.GetValue("VALIDFLAG") != "")
- {
- rowWic = GetMscWicByWic(ugr.GetValue("WIC"));
- }
- if (comBaseStdRow != null && comBaseStdRow["ACCEPT_BID"].ToString() == "0" && rowWic != null)
- {
- string[] units = ClsBaseInfo.GetUnitByUserName(rowWic["CREATE_NAME"].ToString(), ob, "002001007", "002001001", "002023005");
- if (units[0] != UserInfo.GetDeptid() && UserInfo.GetUserID() != "admin")
- {
- MessageUtil.ShowWarning( "该记录只有[" + units[1] + "]才能操作!");
- ugrc.Activate();
- return;
- }
- }
- if (CheckAuthority(ugrc) == false)
- {
- MessageUtil.ShowWarning(errMessage);
- }
- if (!flag && ugrc.ParentRow.Cells["VALIDFLAG"].Value.Equals("无效") && !Convert.ToBoolean(ugrc.ParentRow.Cells["CHC"].Value))
- {
- MessageBox.Show("请选择主记录", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- PressWaterCObject comMC = new PressWaterCObject();
- comMC.DeleteName = UserInfo.GetUserName();
- comMC.Wic = ugrc.Cells["WIC"].Value.ToString();
- comMC.Xh = ugrc.Cells["XH"].Value.ToString();
- if (ugrc.Cells["VALIDFLAG"].Value.Equals("无效") && flag)
- {
- MessageBox.Show("无效记录不能作废", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- if (ugrc.Cells["VALIDFLAG"].Value.Equals("有效") && !flag)
- {
- MessageBox.Show("有效记录不能恢复", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- if (flag)
- {
- if (ugrc.ParentRow.Cells["VALIDFLAG"].Value.ToString() != "录入状态"
- && ugrc.ParentRow.Cells["VALIDFLAG"].Value.ToString() != "无效"
- && ugr.Cells["VALIDFLAG"].Value.ToString() != "")
- {
- MessageUtil.ShowWarning("主记录为提交审核或已审核状态时,无法作废");
- return;
- }
- }
- childList.Add(JSONFormat.Format(comMC));
- _wic = comMC.Wic;
- _isEx = true;
- }
- }
- }
- }
- if (flag)
- {
- if (MessageBox.Show("作废选中记录,您是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
- {
- return;
- }
- }
- else
- {
- if (MessageBox.Show("恢复选中记录,您是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
- {
- return;
- }
- }
- if (baseList.Count > 0 || childList.Count > 0)
- {
- int count = ServerHelper.SetData("com.steering.pss.qcm.CoreWaterStand.deleteOrResume", new Object[] { baseList, childList, flag }, this.ob);
- if (count > 0)
- {
- DoQuery();
- if (flag)
- MessageBox.Show("作废成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- else
- MessageBox.Show("恢复成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- }
- }
- /// <summary>
- /// 新增行
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void ultraGrid1_AfterRowInsert(object sender, Infragistics.Win.UltraWinGrid.RowEventArgs e)
- {
- UltraGridRow ugr = ultraGrid1.DisplayLayout.ActiveRow;
- string style = "G";
- if (CustomInfo == "2")
- style = "N";
- if (CustomInfo == "3")
- style = "K";
- if (!ugr.HasParent()) //主表自动填充主键(水压索引号)
- {
- string wic = "";
- int temp = 0;
- for (int i = 0; i < ultraGrid1.Rows.Count - 1; i++)
- {
- string str = ultraGrid1.Rows[i].Cells["WIC"].Value.ToString().Substring(4, 6);
- if (Convert.ToInt32(str) > temp)
- temp = Convert.ToInt32(str);
- }
- wic = "WIC" + style + string.Format("{0:000000}", temp + 1);
- ugr.Cells["WIC"].Value = wic;
- }
- //从表自动填充序号
- if (ugr.HasParent())
- {
- int index = 0;
- string wic = ugr.Cells["WIC"].Value.ToString();
- foreach (UltraGridRow ug in ultraGrid1.Rows)
- {
- if (ug.Cells["WIC"].Value.ToString().Equals(wic))
- {
- for (int i = 0; i < ug.ChildBands[0].Rows.Count - 1; i++)
- {
- int indexSeq = Convert.ToInt32(ug.ChildBands[0].Rows[i].Cells["XH"].Value.ToString());
- if (indexSeq > index)
- index = indexSeq;
- }
- }
- }
- ugr.Cells["XH"].Value = index + 1;
- ugr.Cells["GET_MAXVALUE"].Value = true;
- ugr.Cells["GET_MINVALUE"].Value = false;
- }
- //增加行如果没有勾选则不可编辑
- if (!Convert.ToBoolean(ugr.Cells["CHC"].Value))
- {
- for (int i = 0; i < ugr.Cells.Count; i++)
- {
- if (!ugr.Cells[i].Column.Key.Equals("CHC"))
- ugr.Cells[i].Activation = Activation.ActivateOnly;
- if (ugr.Cells[i].Column.Key.Equals("CHKNK"))
- ugr.Cells["CHKNK"].Value = "选择";
- }
- }
- e.Row.Update();
- }
- /// <summary>
- /// 值改变触发事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- public void ultraGrid1_CellChange(object sender, CellEventArgs e)
- {
- ultraGrid1.UpdateData();
- UltraGridRow ugr = ultraGrid1.DisplayLayout.ActiveRow;
- if (e.Cell.Column.Key.Equals("SPEC_JG_DESC")) //接箍下拉框操作
- {
- ugr.Cells["SPEC_JG"].Value = ugr.Cells["SPEC_JG_DESC"].Value.ToString();
- }
- if (e.Cell.Column.Key.Equals("PSC_DESC")) //产品规范
- {
- string psc = ugr.Cells["PSC_DESC"].Value.ToString();
- string[] str = psc.Split(',');
- ugr.Cells["PSC"].Value = str[0];
- ugr.Cells["PRODUCNAME"].Value = str[1];
- ugr.Cells["STDSTYLE"].Value = str[2];
- ugr.Cells["STD_NAME"].Value = str[3];
- ugr.Cells["STEELNAME"].Value = str[4];
- ugr.Cells["STD_STYLE_DESC"].Value = str[5];
- }
- if (e.Cell.Column.Key.Equals("PROCESS_DESC")) //工序
- {
- ugr.Cells["PROCESS_CDOE"].Value = ugr.Cells["PROCESS_DESC"].Value.ToString();
- }
- //标准内控
- if (e.Cell.Column.Key.Equals("STD_CODE_NK")) //标准下拉框选择
- {
- ugr.Cells["STD_NAME_NK"].Value = ugr.Cells["STD_CODE_NK"].Text;
- DataRow[] dr = ((DataTable)uce.DataSource).Select("STD_CODE='" + ugr.Cells["STD_CODE_NK"].Value + "'");
- if (dr.Length > 0)
- ugr.Cells["STDSTYLE"].Value = dr[0][2];
- }
- if (e.Cell.Column.Key.Equals("GET_MAXVALUE"))
- {
- if (Convert.ToBoolean(e.Cell.Value))
- {
- e.Cell.Row.Cells["GET_MINVALUE"].Value = false;
- }
- }
- if (e.Cell.Column.Key.Equals("GET_MINVALUE"))
- {
- if (Convert.ToBoolean(e.Cell.Value))
- {
- e.Cell.Row.Cells["GET_MAXVALUE"].Value = false;
- }
- }
- if (e.Cell.Column.Key.Equals("MSC")) //冶金规范码
- {
- string msc = ugr.Cells["MSC"].Value.ToString();
- string[] str = msc.Split('@');
- ugr.Cells["PSC"].Value = str[1];
- ugr.Cells["PSC_DESC"].Value = str[2];
- ugr.Cells["PRODUCNAME"].Value = str[3];
- ugr.Cells["STDSTYLE"].Value = str[7];
- ugr.Cells["STD_NAME"].Value = str[4];
- ugr.Cells["STEELNAME"].Value = str[5];
- ugr.Cells["STD_STYLE_DESC"].Value = str[6];
- ugr.Cells["STEELCODE"].Value = str[8];
- ugr.Cells["STD_CODE"].Value = str[9];
- }
- if (e.Cell.Column.Key.Equals("FORMULA"))
- {
- string formula = ugr.Cells["FORMULA"].Value.ToString();
- if (formula != "")
- {
- if (formula[formula.Length - 1] == 'f')
- FindRatio(e);
- }
- if (!formula.Contains("f"))
- ugr.Cells["Ratio"].Value = "";
- }
- //选择
- if (e.Cell.Column.Key.Equals("CHC"))
- {
- Activation activation = Activation.ActivateOnly;
- if (Convert.ToBoolean(e.Cell.Value))
- {
- activation = Activation.AllowEdit;
- //isSelect += 1;
- }
- //else
- // isSelect -= 1;
- 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;
- }
- }
- }
- if (e.Cell.Column.Key == "PRESSURE_Y" || e.Cell.Column.Key == "PRESSURE")
- {
- e.Cell.Row.Cells["FORMULA"].Value = "";
- e.Cell.Row.Cells["Ratio"].Value = "";
- e.Cell.Row.Cells["ROUND_RULE"].Value = "";
- e.Cell.Row.Cells["SRC_VALUE"].Value = "";
- }
- else if (e.Cell.Column.Key == "SRC_VALUE" || e.Cell.Column.Key == "ROUND_RULE")
- {
- double value = e.Cell.Row.GetValue("SRC_VALUE") == "" ? 0 : double.Parse(e.Cell.Row.GetValue("SRC_VALUE"));
- if (value != 0)
- {
- string roundRule = e.Cell.Row.GetValue("ROUND_RULE");
- CoreClientParam ccp = new CoreClientParam();
- ccp.ServerName = "com.steering.pss.qcm.CoreWaterStand";
- ccp.MethodName = "waterRound";
- ccp.ServerParams = new object[] { value, roundRule };
- ccp = ob.ExecuteQuery(ccp, CoreInvokeType.Internal);
- double[] values = (double[])ccp.ReturnObject;
- double mpa = values[0];
- double psi = values[1];
- e.Cell.Row.SetValue("PRESSURE", mpa.ToString());
- e.Cell.Row.SetValue("PRESSURE_BAR", (mpa * 10).ToString()); // 1bar=0.1MPa
- e.Cell.Row.SetValue("PRESSURE_Y", psi.ToString());
- e.Cell.Row.Cells["FORMULA"].Value = "";
- }
- }
- else if (e.Cell.Column.Key == "FORMULA")
- {
- e.Cell.Row.SetValue("PRESSURE", "");
- e.Cell.Row.SetValue("PRESSURE_Y", "");
- e.Cell.Row.SetValue("SRC_VALUE", "");
- }
- //if (e.Cell.Column.Key == "PRESSURE_Y")
- //{
- // if (e.Cell.Value.ToString() != "")
- // {
- // //英制压力转公制压力系数为0.00689476
- // e.Cell.Row.Cells["PRESSURE"].Value = Math.Round(double.Parse(e.Cell.Value.ToString()) * 0.00689476, 2);
- // }
- // else
- // {
- // e.Cell.Row.Cells["PRESSURE"].Value = 0;
- // }
- //}
- //else if (e.Cell.Column.Key == "PRESSURE")
- //{
- // if (e.Cell.Value.ToString() != "")
- // {
- // if (double.Parse(e.Cell.Value.ToString()) > 6894.76)
- // {
- // MessageUtil.ShowWarning("公制压力上限为68900");
- // e.Cell.Row.Cells["PRESSURE"].Value = 6894.76;
- // }
- // //公制压力转英制压力系数为14.5
- // e.Cell.Row.Cells["PRESSURE_Y"].Value = Math.Round(double.Parse(e.Cell.Value.ToString()) / 0.00689476, 2);
- // }
- // else
- // {
- // e.Cell.Row.Cells["PRESSURE_Y"].Value = 0;
- // }
- //}
- ultraGrid1.UpdateData();
- }
- /// <summary>
- /// 查询条件
- /// </summary>
- /// <returns></returns>
- private ArrayList GetQueryConditon()
- {
- ArrayList list = new ArrayList();
- string stdName = "";
- if (ultraCheckStd.Checked)
- stdName = ultraTextStd.Text.Trim();
- list.Add(stdName);
- string pscDesc = "";
- if (CustomInfo == "1")
- {
- if (ultraCheckPscDesc.Checked)
- {
- pscDesc = ultraTextPscDesc.Text.Trim();
- }
- }
- list.Add(pscDesc);
- string valid = "1";
- if (ultraCheckValid.Checked)
- valid = "0";
- list.Add(valid);
- list.AddRange(stdCode);
- list.Add(WIC);
- return list;
- }
- private DataTable GetMscTabByMsc(string msc)
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.getComMscByMsc",
- new object[] { msc }, ob);
- return dt;
- }
- private string GetMscByWic(string wic)
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreWaterStand.getComWicByWic",
- new object[] { wic }, ob);
- if (dt.Rows.Count > 0)
- {
- return dt.Rows[0]["MSC"].ToString();
- }
- return "";
- }
- /// <summary>
- /// 通过主键查询水压主表
- /// </summary>
- /// <param name="wic"></param>
- /// <returns></returns>
- private DataRow GetMscWicByWic(string wic)
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreWaterStand.getComWicByWic",
- new object[] { wic }, ob);
- if (dt.Rows.Count == 0)
- {
- return null;
- }
- else
- {
- return dt.Rows[0];
- }
- }
- private bool CheckAuthority(UltraGridRow row)
- {
- if (CustomInfo == "1")
- {
- string mscOld;
- if (row.GetValue("VALIDFLAG") != "")
- {
- mscOld = GetMscByWic(row.GetValue("WIC"));
- }
- else
- {
- mscOld = row.HasParent() ? row.ParentRow.GetValue("MSC") : row.GetValue("MSC");
- }
- DataTable dtMsc = GetMscTabByMsc(mscOld);
- //if (dtMsc.Rows[0]["UNIT_CODE"].ToString() != UserInfo.GetDeptid() && UserInfo.GetUserID() != "admin")
- //{
- // errMessage = "该条记录对应的冶金规范是[" + dtMsc.Rows[0]["UNIT_DESC"].ToString() + "]科室维护的,您没有权限!";
- // row.Activate();
- // return false;
- //}
- }
- return true;
- }
- /// <summary>
- /// 主表数据
- /// </summary>
- /// <param name="ugr">行</param>
- /// <returns></returns>
- private PressWaterObject GetBaseData(UltraGridRow ugr, DataRow rowWic)
- {
- PressWaterObject com = new PressWaterObject();
- com.Msc = ugr.Cells["MSC"].Text.Trim();
- if (CustomInfo == "1" && com.Msc == "")
- {
- errMessage = "请选择冶金规范码";
- return null;
- }
- if (CheckAuthority(ugr) == false) return null;
- com.Wic = ugr.Cells["WIC"].Value.ToString().Trim();
- com.Psc = ugr.Cells["PSC"].Value.ToString().Trim();
- //if (CustomInfo=="1"&&com.Psc.Equals(""))
- //{
- // errMessage = "请选择产品规范描述";
- // return null;
- //}
- string stdstyle = ugr.Cells["STDSTYLE"].Value.ToString().Trim();
- if (stdstyle.Equals("订货标准"))
- com.Stdstyle = "G";
- else if (stdstyle.Equals("协议标准"))
- com.Stdstyle = "X";
- else if (stdstyle.Equals("Alpha"))
- com.Stdstyle = "K";
- else if (stdstyle.Equals("内控"))
- com.Stdstyle = "N";
- else if (stdstyle.Equals("试验标准"))
- com.Stdstyle = "S";
- else
- com.Stdstyle = "P";
- com.ProcessCdoe = ugr.Cells["PROCESS_CDOE"].Value.ToString().Trim();
- com.ProcessDesc = ugr.Cells["PROCESS_DESC"].Text.ToString().Trim();
- com.StdCodeNk = ugr.Cells["STD_CODE_NK"].Value.ToString().Trim();
- com.StdNameNk = ugr.Cells["STD_NAME_NK"].Value.ToString().Trim();
- if (CustomInfo != "1" && com.StdNameNk.Equals(""))
- {
- errMessage = "请选择标准名称";
- return null;
- }
- com.MinD = ugr.Cells["MIN_D"].Value.ToString().Trim();
- com.MaxD = ugr.Cells["MAX_D"].Value.ToString().Trim();
- com.MinH = ugr.Cells["MIN_H"].Value.ToString().Trim();
- com.MaxH = ugr.Cells["MAX_H"].Value.ToString().Trim();
- com.SpecJg = ugr.Cells["SPEC_JG"].Value.ToString().Trim();
- com.SpecJgDesc = ugr.Cells["SPEC_JG_DESC"].Text.ToString().Trim();
- if (!com.MinD.Equals("") && !com.MaxD.Equals("") && Convert.ToDouble(com.MinD) > Convert.ToDouble(com.MaxD))
- {
- errMessage = "外径最小值大于最大值,请重新输入";
- return null;
- }
- if (!com.MinH.Equals("") && !com.MaxH.Equals("") && Convert.ToDouble(com.MinH) > Convert.ToDouble(com.MaxH))
- {
- errMessage = "壁厚最小值大于最大值,请重新输入";
- return null;
- }
- if (!com.SpecJg.Equals("") && (!com.MinD.Equals("") || !com.MaxD.Equals("") || !com.MinH.Equals("") || !com.MaxH.Equals("")))
- {
- errMessage = "接箍规格描述与外径壁厚不能同时存在";
- return null;
- }
- com.ModelCode = ugr.Cells["MODEL_CODE"].Value.ToString().Trim();
- com.ModelDesc = ugr.Cells["MODEL_DESC"].Text.ToString().Trim();
- com.CreateName = UserInfo.GetUserName();
- com.CreateTime = ugr.Cells["CREATE_TIME"].Value.ToString().Trim();
- com.UpdateName = UserInfo.GetUserName();
- com.Validflag = ugr.Cells["VALIDFLAG"].Value.ToString().Trim();
- com.ProducHead = ugr.GetValue("PRODUC_HEAD");
- com.CodeJg = codeJg == "DefaultValue" ? "" : codeJg;
- com.SteelcodeNk = ugr.GetValue("STEELCODE_NK");
- com.SteelnameNk = ugr.GetValue("STEELNAME_NK");
- com.ModelCodeNk = ugr.GetValue("MODEL_CODE_NK");
- com.ModelDescNk = ugr.GetValue("MODEL_DESC_NK");
- com.ProduccodeNk = ugr.GetValue("PRODUCCODE_NK");
- com.ProducnameNk = ugr.GetValue("PRODUCNAME_NK");
- com.Memo = ugr.GetValue("MEMO");
- if (rowWic != null && (rowWic["VALIDFLAG"].ToString() == "2" || rowWic["VALIDFLAG"].ToString() == "3"))
- {
- errMessage = "提交审核或已审核记录不能保存!";
- return null;
- }
- //if (CustomInfo == "2" && com.ProduccodeNk == "")
- //{
- // errMessage = "请选择品名!";
- // return null;
- //}
- return com;
- }
- /// <summary>
- /// 从表数据
- /// </summary>
- /// <param name="ugr"></param>
- /// <returns></returns>
- private PressWaterCObject GetChildData(UltraGridRow ugr, DataRow rowWic)
- {
- if (CheckAuthority(ugr) == false) return null;
- if (rowWic != null && (rowWic["VALIDFLAG"].ToString() == "2" || rowWic["VALIDFLAG"].ToString() == "3"))
- {
- errMessage = "主记录为提交审核或已审核状态时,无法修改";
- return null;
- }
- if (CheckFormula() == false)
- {
- errMessage = "";
- return null;
- }
- PressWaterCObject com = new PressWaterCObject();
- com.Wic = ugr.Cells["WIC"].Value.ToString().Trim();
- com.Xh = ugr.Cells["XH"].Value.ToString().Trim();
- com.PressureY = ugr.Cells["pressure_y"].Value.ToString().Trim();
- com.Pressure = ugr.Cells["pressure"].Value.ToString().Trim();
- com.Formula = ugr.Cells["formula"].Text.Trim();
- com.RoundRule = ugr.GetValue("ROUND_RULE");
- com.OutputStyle = ugr.GetValue("OUTPUT_STYLE");
- com.ZbsOutputStyle = ugr.GetValue("ZBS_OUTPUT_STYLE");
- com.PressureBar = ugr.Cells["PRESSURE_BAR"].Value.ToString().Trim();
- if (com.RoundRule == "")
- {
- errMessage = "请选择圆整规则";
- return null;
- }
- if (com.PressureY == "" && com.Pressure == "" && com.Formula == "")
- {
- errMessage = "请输入试验压力或者试验压力公式";
- return null;
- }
- if (com.OutputStyle == "")
- {
- errMessage = "请选择工艺文件输出方式";
- return null;
- }
- if (com.ZbsOutputStyle == "")
- {
- errMessage = "请选择质保书输出方式";
- return null;
- }
- string formula = com.Formula.Replace("f", "1").Replace("YS", "1").Replace("TS", "1").Replace("D", "2").Replace("t", "1");
- if (!com.Formula.Equals("") && formula.CompileFormula() == null)
- {
- errMessage = "公式不合法,请重新输入";
- return null;
- }
- com.SaveTime = ugr.Cells["save_time"].Value.ToString().Trim();
- if (com.SaveTime.Equals(""))
- {
- errMessage = "请输入保压时间";
- return null;
- }
- com.Maxval = ugr.Cells["GET_MAXVALUE"].Value.ToString().Trim();
- com.Minval = ugr.Cells["GET_MINVALUE"].Value.ToString().Trim();
- if ((com.Pressure != "" || com.PressureY != "") && com.Formula != "")
- {
- if (com.Maxval == "" && com.Minval == "")
- {
- errMessage = "请选择取大值或取小值";
- return null;
- }
- }
- if (Convert.ToBoolean(com.Maxval))
- com.Maxval = "1";
- else
- com.Maxval = "0";
- if (Convert.ToBoolean(com.Minval))
- com.Minval = "1";
- else
- com.Minval = "0";
- //if ((com.Pressure != "" || com.PressureY != "") && com.Formula == "")
- //{
- // com.Maxval = "0";
- // com.Minval = "0";
- //}
- //if ((com.Pressure == "" && com.PressureY == "") && com.Formula != "")
- //{
- // com.Maxval = "0";
- // com.Minval = "0";
- //}
- com.CreateName = UserInfo.GetUserName();
- com.CreateTime = ugr.Cells["create_time"].Value.ToString().Trim();
- com.UpdateName = UserInfo.GetUserName();
- com.Validflag = ugr.Cells["validflag"].Value.ToString().Trim();
- com.Memo = ugr.Cells["memo"].Value.ToString();
- //if (com.Formula.Contains("f"))
- //{
- // //if (ugr.Cells["Ratio"].Value == null)
- // //{
- // // errMessage = "找不到符合要求的水压系数,请先维护!";
- // // return null;
- // //}
- // com.Formula = com.Formula.Replace("f", ugr.Cells["Ratio"].Value.ToString());
- //}
- return com;
- }
- public void PopupRefresh()
- {
- if (CustomInfo == "1")
- {
- UltraComboEditor UceMsc = new UltraComboEditor();
- this.Controls.Add(UceMsc);
- UceMsc.Visible = false;
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComBaseQuery.getMsc", new Object[] { msc }, ob);
- QcmBaseCommon.InitDropList(UceMsc, dt, "MSC", false);
- ClsBaseInfo.SetComboItemHeight(UceMsc);
- ultraGrid1.DisplayLayout.Bands[0].Columns["MSC"].EditorComponent = UceMsc;
- ultraGrid1.DisplayLayout.Bands[0].Columns["MSC"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
- }
- }
- /// <summary>
- /// 新增下拉框,并绑定下拉框到ultraGrid1的列
- /// </summary>
- private void BandToUltraGrid()
- {
- UltraComboEditor ultraComPsc = new UltraComboEditor();
- UltraComboEditor ultraComProcess = new UltraComboEditor();
- UltraComboEditor ultraComJG = new UltraComboEditor();
- UltraComboEditor cmbProBigType = new UltraComboEditor();
- UltraComboEditor cmbRound = new UltraComboEditor();
- UltraComboEditor cmbOutput = new UltraComboEditor();
- UltraComboEditor cmbZbsOutput = new UltraComboEditor();
- this.Controls.Add(ultraComPsc);
- this.Controls.Add(ultraComProcess);
- this.Controls.Add(ultraComJG);
- this.Controls.Add(cmbProBigType);
- this.Controls.Add(cmbRound);
- this.Controls.Add(cmbOutput);
- this.Controls.Add(cmbZbsOutput);
- ultraComPsc.Visible = false;
- ultraComProcess.Visible = false;
- ultraComJG.Visible = false;
- cmbProBigType.Visible = false;
- cmbRound.Visible = false;
- cmbOutput.Visible = false;
- cmbZbsOutput.Visible = false;
- //绑定数据源 产品规范描述
- QcmBaseCommon.InitDropUltraComEditor(ultraComPsc, "com.steering.pss.qcm.ComBaseQuery.getPsc", "PSC_DESC", this.ob, false);
- //工序
- //内控标准
- this.Controls.Add(uce);
- uce.Visible = false;
- UltraGridBand ugb = ultraGrid1.DisplayLayout.Bands[0];
- if (this.CustomInfo == "2")
- {
- QcmBaseQuery.NitializeInnerStandard(uce, false, this.ob);
- QcmBaseQuery.BindColumn(uce, "STD_CODE_NK", ugb);
- }
- if (this.CustomInfo == "3")
- {
- QcmBaseQuery.NitializeAlphaStandard(uce, false, this.ob);
- QcmBaseQuery.BindColumn(uce, "STD_CODE_NK", ugb);
- }
- //结箍
- QcmBaseCommon.InitDropUltraComEditor(ultraComJG, "com.steering.pss.qcm.ComBaseQuery.getComMSCJG", "SPEC_JG_DESC", this.ob, true);
- //如果是交付标准则绑定产品规范描述,否则绑定内控标准名称
- if (CustomInfo == "1")
- {
- ugb.Columns["PSC_DESC"].EditorComponent = ultraComPsc;
- ugb.Columns["PSC_DESC"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
- }
- else
- {
- ugb.Columns["STD_CODE_NK"].EditorComponent = uce;
- ugb.Columns["STD_CODE_NK"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
- }
- //结箍
- ugb.Columns["SPEC_JG_DESC"].EditorComponent = ultraComJG;
- ugb.Columns["SPEC_JG_DESC"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
- //不可编辑
- if (CustomInfo == "1")
- {
- UltraComboEditor UceMsc = new UltraComboEditor();
- this.Controls.Add(UceMsc);
- UceMsc.Visible = false;
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComBaseQuery.getMsc", new Object[] { msc }, ob);
- QcmBaseCommon.InitDropList(UceMsc, dt, "MSC", false);
- ClsBaseInfo.SetComboItemHeight(UceMsc);
- ultraGrid1.DisplayLayout.Bands[0].Columns["MSC"].EditorComponent = UceMsc;
- ultraGrid1.DisplayLayout.Bands[0].Columns["MSC"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
- }
- UltraComboEditor cmbWtr = new UltraComboEditor();
- cmbWtr.DropDownListWidth = -1;
- this.Controls.Add(cmbWtr);
- cmbWtr.Visible = false;
- ClsBaseInfo.FillWtrExpress(cmbWtr, ob, true);
- ultraGrid1.DisplayLayout.Bands[1].Columns["FORMULA"].EditorComponent = cmbWtr;
- ultraGrid1.DisplayLayout.Bands[1].Columns["FORMULA"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
- QcmBaseQuery.NitializeProductBigType(cmbProBigType, false, ob);
- QcmBaseQuery.BindColumn(cmbProBigType, "PRODUC_HEAD", ugb);
- ClsBaseInfo.SetComboItemHeight(cmbProBigType);
- //圆整规则
- UltraComboEditor cmbRoundRule = new UltraComboEditor();
- cmbRoundRule.DropDownListWidth = -1;
- cmbRoundRule.Visible = false;
- this.Controls.Add(cmbRoundRule);
- ClsBaseInfo.FillComBaseInfo(cmbRoundRule, "4094", ob, false);
- ultraGrid1.DisplayLayout.Bands[1].Columns["ROUND_RULE"].EditorComponent = cmbRoundRule;
- ultraGrid1.DisplayLayout.Bands[1].Columns["ROUND_RULE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
- //工艺文件压力值输出方式
- cmbOutput.DropDownListWidth = -1;
- ClsBaseInfo.FillComBaseInfo(cmbOutput, "4107", ob, false);
- ((DataTable)cmbOutput.DataSource).DefaultView.Sort = "BASECODE ASC";
- ultraGrid1.DisplayLayout.Bands[1].Columns["OUTPUT_STYLE"].EditorComponent = cmbOutput;
- ultraGrid1.DisplayLayout.Bands[1].Columns["OUTPUT_STYLE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
- //质保书压力值输出方式
- cmbOutput.DropDownListWidth = -1;
- ClsBaseInfo.FillComBaseInfo(cmbZbsOutput, "4109", ob, false);
- ((DataTable)cmbZbsOutput.DataSource).DefaultView.Sort = "BASECODE ASC";
- ultraGrid1.DisplayLayout.Bands[1].Columns["ZBS_OUTPUT_STYLE"].EditorComponent = cmbZbsOutput;
- ultraGrid1.DisplayLayout.Bands[1].Columns["ZBS_OUTPUT_STYLE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
- }
- /// <summary>
- /// 无效则行变颜色
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void ultraGrid1_InitializeRow(object sender, InitializeRowEventArgs e)
- {
- if (e.Row.Cells["VALIDFLAG"].Value.ToString().Equals("无效"))
- {
- e.Row.Appearance.ForeColor = Color.Red;
- }
- else
- {
- e.Row.Appearance.ForeColor = Color.Black;
- }
- if (isPasting)
- {
- e.Row.SetValue("CHC", "True");
- }
- }
- FrmWaterPressureStand _frmWaterPressureStand = null;
- private void ultraGrid1_ClickCellButton(object sender, CellEventArgs e)
- {
- ultraGrid1.UpdateData();
- if (e.Cell.Column.Key.Equals("CHKNK"))
- {
- UltraGridRow ugr = ultraGrid1.ActiveRow;
- _frmWaterPressureStand = new FrmWaterPressureStand();
- _frmWaterPressureStand.PopupLoad("3", ob);
- _frmWaterPressureStand.UltraPanel1.Visible = false;
- _frmWaterPressureStand.ultraToolbarsManager1.Visible = true;
- _frmWaterPressureStand.Msc = msc;
- _frmWaterPressureStand.CodeJg = "";
- _frmWaterPressureStand.DoQuery1();
- if (_frmWaterPressureStand.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- DataRow CurRow, NewRow;
- for (int i = 0; i < _frmWaterPressureStand.dataTable2.Rows.Count; i++)
- {
- CurRow = _frmWaterPressureStand.dataTable2.Rows[i];
- NewRow = dataTable2.NewRow();
- if (!_frmWaterPressureStand.Ids.Contains(CurRow["WIC"].ToString2()))
- {
- continue;
- }
- for (int j = 0; j < _frmWaterPressureStand.dataTable2.Columns.Count; j++)
- {
- try
- {
- if (dataTable2.Columns.Contains(_frmWaterPressureStand.dataTable2.Columns[j].ColumnName))
- {
- if (_frmWaterPressureStand.dataTable2.Columns[j].ColumnName == "WIC")
- {
- NewRow[_frmWaterPressureStand.dataTable2.Columns[j].ColumnName] = ultraGrid1.ActiveRow.GetValue("WIC");
- }
- else
- {
- NewRow[_frmWaterPressureStand.dataTable2.Columns[j].ColumnName] = CurRow[j];
- }
- }
- }
- catch { }
- }
- dataTable2.Rows.Add(NewRow);
- }
- ultraGrid1.UpdateData();
- ultraGrid1.ActiveRow.ExpandAll();
- }
- }
- if (e.Cell.Row.Cells["CHC"].Value.ToString() != "True") return;
- if (e.Cell.Column.Key.Equals("MODEL_DESC") && Convert.ToBoolean(ultraGrid1.DisplayLayout.ActiveRow.Cells["CHC"].Value))
- {
- UltraGridRow row = this.ultraGrid1.DisplayLayout.ActiveRow;
- FrmModel frms = new FrmModel();
- frms.FrmOb = this.ob;
- frms.Desc = row.Cells["MODEL_DESC"].Value.ToString();
- frms.ShowDialog();
- row.Cells["MODEL_CODE"].Value = frms.Code;
- row.Cells["MODEL_DESC"].Value = frms.Desc;
- }
- if (e.Cell.Column.Key == "RatioMng")
- {
- UltraGridRow row = ultraGrid1.ActiveRow.HasParent() ? ultraGrid1.ActiveRow.ParentRow : ultraGrid1.ActiveRow;
- string stdCode = row.Cells["STD_CODE"].Value.ToString();
- string stdName = row.Cells["STD_NAME"].Value.ToString();
- string steelCode = row.Cells["STEELCODE"].Value.ToString();
- string stdStyleCode = row.Cells["STD_STYLE_DESC"].Value.ToString();
- string stdCodeNk = row.Cells["STD_CODE_NK"].Value.ToString();
- if (psc != "")
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.getBasePscByPk",
- new object[] { psc }, ob);
- stdCode = dt.Rows[0]["STD_CODE"].ToString();
- stdName = dt.Rows[0]["STD_NAME"].ToString();
- steelCode = dt.Rows[0]["STD_CODE"].ToString();
- stdStyleCode = dt.Rows[0]["STD_STYLE_DESC"].ToString();
- }
- FrmWaterRatioPopup ratio = new FrmWaterRatioPopup(stdCode, stdName, steelCode, stdStyleCode, ordLnPk, stdCodeNk, ob);
- ratio.ShowDialog();
- }
- }
- private void ultraGrid1_AfterExitEditMode(object sender, EventArgs e)
- {
- ultraGrid1.UpdateData();
- if (this.CustomInfo == "1")
- {
- CheckFormula();
- }
- }
- private bool? CheckFormula()
- {
- UltraGrid ug = ultraGrid1;
- UltraGridCell ugc = ug.ActiveCell;
- if (ugc == null)
- return null;
- if (ugc.Column.Key.Equals("FORMULA") && ugc.Row.Cells["CHC"].Value.ToString().ToUpper() == "TRUE")
- {
- //MessageBox.Show(ugc.Value.ToString());
- //if (TestFormula(ugc.Text) == -1 && !ugc.Value.ToString().Equals(""))
- //{
- // MessageBox.Show("输入的试验压力公式不合法", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- // return false;
- //}
- if (!ugc.Text.ToString().Contains("f"))
- return null;
- UltraGridRow ugr = ugc.Row.ParentRow;
- string stdname = ugr.Cells["STD_NAME"].Value.ToString();
- string steelcode = ugr.Cells["STEELCODE"].Value.ToString();
- string min_d = ugr.Cells["MIN_D"].Value.ToString();
- string max_d = ugr.Cells["MAX_D"].Value.ToString();
- if (min_d == "")
- min_d = "0";
- if (max_d == "")
- max_d = "99999";
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreWaterStand.getWaterRatio", new Object[] { min_d, max_d, stdname, steelcode }, this.ob);
- if (dt != null && dt.Rows.Count > 0)
- {
- DataTable newdt = new DataTable();
- newdt.Columns.Add("Ratio");
- for (int i = 0; i < dt.Rows.Count; i++)
- {
- if (dt.Rows[i][0].ToString() != "")
- {
- DataRow dr = newdt.NewRow();
- dr["Ratio"] = dt.Rows[i][0];
- newdt.Rows.Add(dr);
- }
- if (dt.Rows[i][1].ToString() != "")
- {
- DataRow dr1 = newdt.NewRow();
- dr1["Ratio"] = dt.Rows[i][1];
- newdt.Rows.Add(dr1);
- }
- }
- UltraComboEditor uce = new UltraComboEditor();
- uce.DataSource = newdt;
- uce.DisplayMember = "Ratio";
- uce.ValueMember = "Ratio";
- this.Controls.Add(uce);
- uce.Visible = false;
- ultraGrid1.DisplayLayout.Bands[1].Columns["Ratio"].EditorComponent = uce;
- ultraGrid1.DisplayLayout.Bands[1].Columns["Ratio"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
- ultraGrid1.DisplayLayout.Bands[1].Columns["Ratio"].CellActivation = Activation.AllowEdit;
- ugc.Row.Cells["Ratio"].Value = dt.Rows[0][0];
- }
- else
- {
- MessageBox.Show("找不到符合条件的水压系数,请先维护!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return false;
- }
- }
- else
- {
- ultraGrid1.DisplayLayout.Bands[1].Columns["Ratio"].EditorComponent = null;
- ultraGrid1.DisplayLayout.Bands[1].Columns["Ratio"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.Edit;
- ultraGrid1.DisplayLayout.Bands[1].Columns["Ratio"].CellActivation = Activation.ActivateOnly;
- }
- ultraGrid1.UpdateData();
- return true;
- }
- private void FindRatio(CellEventArgs e)
- {
- UltraGridRow ugr = e.Cell.Row.ParentRow;
- string stdname = ugr.Cells["STD_NAME"].Value.ToString();
- string steelcode = ugr.Cells["STEELCODE"].Value.ToString();
- string min_d = ugr.Cells["MIN_D"].Value.ToString();
- string max_d = ugr.Cells["MAX_D"].Value.ToString();
- if (min_d == "")
- min_d = "0";
- if (max_d == "")
- max_d = "99999";
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreWaterStand.getWaterRatio", new Object[] { min_d, max_d, stdname, steelcode }, this.ob);
- if (dt != null && dt.Rows.Count > 0)
- {
- DataTable newdt = new DataTable();
- newdt.Columns.Add("Ratio");
- for (int i = 0; i < dt.Rows.Count; i++)
- {
- if (dt.Rows[i][0].ToString() != "")
- {
- DataRow dr = newdt.NewRow();
- dr["Ratio"] = dt.Rows[i][0];
- newdt.Rows.Add(dr);
- }
- if (dt.Rows[i][1].ToString() != "")
- {
- DataRow dr1 = newdt.NewRow();
- dr1["Ratio"] = dt.Rows[i][1];
- newdt.Rows.Add(dr1);
- }
- }
- UltraComboEditor uce = new UltraComboEditor();
- uce.DataSource = newdt;
- uce.DisplayMember = "Ratio";
- uce.ValueMember = "Ratio";
- this.Controls.Add(uce);
- uce.Visible = false;
- ultraGrid1.DisplayLayout.Bands[1].Columns["Ratio"].EditorComponent = uce;
- // ultraGrid1.DisplayLayout.Bands[1].Columns["Ratio"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
- e.Cell.Row.Cells["Ratio"].Value = dt.Rows[0][0];
- }
- }
- private int TestFormula(string str)
- {
- if (str == "")
- return -1;
- string formula = str.Replace("YS", "A");
- formula = formula.Replace("(", "(");
- formula = formula.Replace(")", ")");
- //if (!formula.Contains("A"))
- // return -1;
- int left = 0;
- int right = 0;
- for (int i = 0; i < formula.Length; i++)
- {
- if (formula[i] == '(')
- left += 1;
- if (formula[i] == ')')
- right += 1;
- }
- if (left != right)
- {
- return -1;
- }
- string reg = @"^(\(*[ftAD0-9]+(.[ftAD0-9]+)*\)*(\+|-|/|\*))+[ftAD0-9]+(.[ftAD0-9]+)*\)*$"; // f t A D 数字的加减乘除但不能防止其重复出现
- if (!Regex.IsMatch(formula, reg))
- return -1;
- char[] ch = { '*', ' ', '(', ')', '/', 'D' };
- string[] str_for = formula.Split(ch, StringSplitOptions.RemoveEmptyEntries);
- List<string> list = new List<string>();
- for (int i = 0; i < str_for.Length; i++)
- {
- if (!list.Contains(str_for[i]))
- list.Add(str_for[i]);
- }
- if (list.Count < str_for.Length)
- return -1;
- return 0;
- }
- private void ultraGrid1_ClickCell(object sender, ClickCellEventArgs e)
- {
- }
- /// <summary>
- /// 2015-07-15 PDY
- /// </summary>
- private void InnerChange()
- {
- ultraGrid1.DisplayLayout.Bands[0].Columns["PROCESS_DESC"].CellActivation = Activation.ActivateOnly;
- ultraGrid1.DisplayLayout.Bands[0].Columns["STD_CODE_NK"].CellActivation = Activation.ActivateOnly;
- ultraGrid1.DisplayLayout.Bands[0].Columns["MODEL_DESC"].Hidden = true;
- }
- private void ultraTextEditor3_EditorButtonClick(object sender, EditorButtonEventArgs e)
- {
- if (ultraGrid1.ActiveCell.Column.Key == "PROCESS_DESC")
- {
- string processCodes = ultraGrid1.ActiveRow.GetValue("PROCESS_CDOE");
- ChoiceProcessPopup choiceProcessPopup = new ChoiceProcessPopup(processCodes, this.ob);
- if (choiceProcessPopup.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.getProcessByStdCode",
- new object[] { this.stdCode }, ob);
- string stdProcessCodes = dt.Rows[0]["PROCESS_CODE"].ToString();
- string[] processCodesAry = choiceProcessPopup.ProcessCodes.Split(',');
- for (int i = 0; i < processCodesAry.Length; i++)
- {
- if (!stdProcessCodes.Contains(processCodesAry[i].Trim()))
- {
- DataTable dtBaseProcess = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.getProcessDescByCode",
- new object[] { processCodesAry[i].Trim() }, ob);
- string processDesc = dtBaseProcess.Rows[0]["PROCESS_DESC"].ToString();
- MessageUtil.ShowWarning("该标准下不包含工序" + processDesc + ", 不能选择!");
- return;
- }
- }
- ultraGrid1.ActiveRow.SetValue("PROCESS_CDOE", choiceProcessPopup.ProcessCodes);
- ultraGrid1.ActiveRow.SetValue("PROCESS_DESC", choiceProcessPopup.ProcessDescs);
- }
- }
- else if (ultraGrid1.ActiveCell.Column.Key == "STEELNAME_NK")
- {
- FrmRepSteel frmSteel = new FrmRepSteel();
- frmSteel.Ob1 = this.ob;
- frmSteel.Code = ultraGrid1.ActiveRow.GetValue("STEELCODE_NK");
- if (frmSteel.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- ultraGrid1.ActiveRow.SetValue("STEELCODE_NK", frmSteel.Code);
- ultraGrid1.ActiveRow.SetValue("STEELNAME_NK", frmSteel.Desc);
- }
- }
- else if (ultraGrid1.ActiveCell.Column.Key == "MODEL_DESC_NK")
- {
- FrmModel frmMode = new FrmModel();
- frmMode.FrmOb = this.ob;
- frmMode.Code = ultraGrid1.ActiveRow.GetValue("MODEL_CODE_NK");
- frmMode.Desc = ultraGrid1.ActiveRow.GetValue("MODEL_DESC_NK");
- if (frmMode.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- ultraGrid1.ActiveRow.SetValue("MODEL_CODE_NK", frmMode.Code);
- ultraGrid1.ActiveRow.SetValue("MODEL_DESC_NK", frmMode.Desc);
- }
- }
- else if (ultraGrid1.ActiveCell.Column.Key == "PRODUCNAME_NK")
- {
- PopupProductName popupProductName = new PopupProductName(
- ultraGrid1.ActiveRow.GetValue("PRODUCCODE_NK"), ob);
- if (popupProductName.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- ultraGrid1.ActiveRow.SetValue("PRODUCCODE_NK", popupProductName.ProductCodes);
- ultraGrid1.ActiveRow.SetValue("PRODUCNAME_NK", popupProductName.ProductNames);
- }
- }
- }
- private void ultraGrid1_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
- {
- foreach (Infragistics.Win.UltraWinGrid.UltraGridRow ugr in this.ultraGrid1.Selected.Rows)
- {
- ugr.Cells["CHC"].Value = true;
- Activation activation = Activation.ActivateOnly;
- if (Convert.ToBoolean(ugr.Cells["CHC"].Value))
- {
- activation = Activation.AllowEdit;
- //isSelect += 1;
- }
- //else
- //isSelect -= 1;
- CellsCollection cells = ugr.Cells;
- for (int i = 0; i < cells.Count; i++)
- {
- if (!cells[i].Column.Key.Equals("CHC"))
- {
- ugr.Cells[i].Activation = activation;
- }
- }
- }
- }
- private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
- {
- switch (e.Tool.Key)
- {
- case "查询":
- DoQuery1();
- break;
- case "确认选择":
- Choice();
- break;
- }
- }
- private DataRow[] rows;
- public DataRow[] Rows
- {
- get { return rows; }
- set { rows = value; }
- }
- List<string> ids;
- public List<string> Ids
- {
- get { return ids; }
- set { ids = value; }
- }
- private void DoQuery1()
- {
- //查询主表数据
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreWaterStand.getComWaterNK",
- new Object[] { msc }, this.ob);
- dataTable2.Clear();
- GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable1, true);
- //从表查询
- DataTable dt1 = ServerHelper.GetData("com.steering.pss.qcm.CoreWaterStand.getComWaterNKC",
- new Object[] { msc }, this.ob);
- dt1 = QcmBaseCommon.FilterTable(dt, dt1, "WIC");
- GridHelper.CopyDataToDatatable(ref dt1, ref this.dataTable2, true);
- QcmBaseCommon.SetUltraGridNoEdit(ultraGrid1);
- this.ultraGrid1.DisplayLayout.Bands[1].Columns["Ratio"].CellActivation = Activation.ActivateOnly;
- //自适应
- UltraGridColumn[] col = new UltraGridColumn[] { this.ultraGrid1.DisplayLayout.Bands[0].Columns["MEMO"], this.ultraGrid1.DisplayLayout.Bands[0].Columns["MIN_D"],
- this.ultraGrid1.DisplayLayout.Bands[0].Columns["MAX_D"],this.ultraGrid1.DisplayLayout.Bands[0].Columns["MIN_H"],this.ultraGrid1.DisplayLayout.Bands[0].Columns["MAX_H"]
- ,this.ultraGrid1.DisplayLayout.Bands[0].Columns["MODEL_DESC"]};
- GridHelper.RefreshAndAutoSizeExceptRows(ultraGrid1, col);
- WriteTxtToGrid();
- //isSelect = 0;
- //展开或者定位
- UltraGridRow[] rows1 = GridHelper.GetRowsWithKey(ultraGrid1, new string[] { "WIC" }, new string[] { _wic });
- if (rows1.Length > 0)
- {
- rows1[0].Activate();
- if (_isEx)
- rows1[0].ExpandAll();
- }
- _isEx = false;
- _wic = "";
- ultraGrid1.UpdateData();
- dataTable1.AcceptChanges();
- dataTable2.AcceptChanges();
- }
- private void Choice()
- {
- ultraGrid1.UpdateData();
- int count = ultraGrid1.Rows.Where(a => Convert.ToBoolean(a.GetValue("CHC"))).Count();
- if (count > 1)
- {
- MessageUtil.ShowTips("请选择一条数据!");
- return;
- }
- foreach (UltraGridRow ugr in ultraGrid1.Rows.Where(a => Convert.ToBoolean(a.GetValue("CHC"))))
- {
- //从表操作
- if (ugr.HasChild())
- {
- Ids = ugr.ChildBands[0].Rows.Select(p => p.GetValue("WIC")).ToList();
- Rows = dataTable2.Select("WIC IN ('" + string.Join("','", Ids) + "')");
- }
- }
- this.DialogResult = System.Windows.Forms.DialogResult.OK;
- }
- }
- }
|