using com.steering.pss.sale.price.entity; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using CoreFS.CA06; using Infragistics.Win.UltraWinEditors; using Infragistics.Win.UltraWinGrid; using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Core.Mes.Client.Comm.Format; using Core.Mes.Client.Comm.Control; namespace Core.StlMes.Client.SalePrice.BaseForm { public partial class FrmPriceBaseFrame : FrmBase { string isValid = "1"; public FrmPriceBaseFrame() { InitializeComponent(); } private void FrmPriceBaseFrame_Load(object sender, EventArgs e) { EntityHelper.ShowGridCaption(gdPriceBaseFrame.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(gdPriceBaseFrameClassify.DisplayLayout.Bands[0]); // gdPriceBaseFrameClassify InitForm(); } private void InitForm() { UltraComboEditor uce1 = new UltraComboEditor(); SalePriceClass.InitComboEditorWithParm(uce1, "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryFacName", "FACTOR_ID", "FACTOR_NAME", this.ob, true, null); gdPriceBaseFrame.DisplayLayout.Bands[0].Columns["X1FACTORID"].EditorComponent = uce1; gdPriceBaseFrame.DisplayLayout.Bands[0].Columns["X1FACTORID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; this.Controls.Add(uce1); uce1.Visible = false; UltraComboEditor uce2 = new UltraComboEditor(); SalePriceClass.InitComboEditorWithParm(uce2, "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryFacName", "FACTOR_ID", "FACTOR_NAME", this.ob, true, null); gdPriceBaseFrame.DisplayLayout.Bands[0].Columns["X2FACTORID"].EditorComponent = uce2; gdPriceBaseFrame.DisplayLayout.Bands[0].Columns["X2FACTORID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; this.Controls.Add(uce2); uce2.Visible = false; UltraComboEditor uce3 = new UltraComboEditor(); SalePriceClass.InitComboEditorWithParm(uce3, "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryFacName", "FACTOR_ID", "FACTOR_NAME", this.ob, true, null); gdPriceBaseFrame.DisplayLayout.Bands[0].Columns["X3FACTORID"].EditorComponent = uce3; gdPriceBaseFrame.DisplayLayout.Bands[0].Columns["X3FACTORID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; this.Controls.Add(uce3); uce3.Visible = false; UltraComboEditor uce4 = new UltraComboEditor(); SalePriceClass.InitComboEditorWithParm(uce4, "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryFacName", "FACTOR_ID", "FACTOR_NAME", this.ob, true, null); gdPriceBaseFrame.DisplayLayout.Bands[0].Columns["X4FACTORID"].EditorComponent = uce4; gdPriceBaseFrame.DisplayLayout.Bands[0].Columns["X4FACTORID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; this.Controls.Add(uce4); uce4.Visible = false; UltraComboEditor uce5 = new UltraComboEditor(); SalePriceClass.InitComboEditorWithParm(uce5, "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryFacName", "FACTOR_ID", "FACTOR_NAME", this.ob, true, null); gdPriceBaseFrame.DisplayLayout.Bands[0].Columns["X5FACTORID"].EditorComponent = uce5; gdPriceBaseFrame.DisplayLayout.Bands[0].Columns["X5FACTORID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; this.Controls.Add(uce5); uce5.Visible = false; UltraComboEditor uce6 = new UltraComboEditor(); SalePriceClass.InitComboEditorWithParm(uce6, "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryFacName", "FACTOR_ID", "FACTOR_NAME", this.ob, true, null); gdPriceBaseFrame.DisplayLayout.Bands[0].Columns["X6FACTORID"].EditorComponent = uce6; gdPriceBaseFrame.DisplayLayout.Bands[0].Columns["X6FACTORID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; this.Controls.Add(uce6); uce6.Visible = false; UltraComboEditor uce7 = new UltraComboEditor(); SalePriceClass.InitComboEditorWithParm(uce7, "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryFacName", "FACTOR_ID", "FACTOR_NAME", this.ob, true, null); gdPriceBaseFrame.DisplayLayout.Bands[0].Columns["X7FACTORID"].EditorComponent = uce7; gdPriceBaseFrame.DisplayLayout.Bands[0].Columns["X7FACTORID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; this.Controls.Add(uce7); uce7.Visible = false; UltraComboEditor uce8 = new UltraComboEditor(); SalePriceClass.InitComboEditorWithParm(uce8, "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryFacName", "FACTOR_ID", "FACTOR_NAME", this.ob, true, null); gdPriceBaseFrame.DisplayLayout.Bands[0].Columns["X8FACTORID"].EditorComponent = uce8; gdPriceBaseFrame.DisplayLayout.Bands[0].Columns["X8FACTORID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; this.Controls.Add(uce8); uce8.Visible = false; UltraComboEditor uce9 = new UltraComboEditor(); SalePriceClass.InitComboEditorWithParm(uce9, "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryRangeName", "CLASS_D_ID", "CLASS_D_NAME", this.ob, true, null); gdPriceBaseFrame.DisplayLayout.Bands[0].Columns["Y1FACTORID"].EditorComponent = uce9; gdPriceBaseFrame.DisplayLayout.Bands[0].Columns["Y1FACTORID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; this.Controls.Add(uce9); uce9.Visible = false; UltraComboEditor uce10 = new UltraComboEditor(); SalePriceClass.InitComboEditorWithParm(uce10, "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryRangeName", "CLASS_D_ID", "CLASS_D_NAME", this.ob, true, null); gdPriceBaseFrame.DisplayLayout.Bands[0].Columns["Y2FACTORID"].EditorComponent = uce10; gdPriceBaseFrame.DisplayLayout.Bands[0].Columns["Y2FACTORID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; this.Controls.Add(uce10); uce10.Visible = false; UltraComboEditor uce11 = new UltraComboEditor(); SalePriceClass.NitializeSignMin(uce11); gdPriceBaseFrameClassify.DisplayLayout.Bands[0].Columns["factorMinSign"].EditorComponent = uce11; gdPriceBaseFrameClassify.DisplayLayout.Bands[0].Columns["factorMinSign"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; this.Controls.Add(uce11); uce11.Visible = false; UltraComboEditor uce12 = new UltraComboEditor(); SalePriceClass.NitializeSignMax(uce12); gdPriceBaseFrameClassify.DisplayLayout.Bands[0].Columns["factorMaxSign"].EditorComponent = uce12; gdPriceBaseFrameClassify.DisplayLayout.Bands[0].Columns["factorMaxSign"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; this.Controls.Add(uce12); uce12.Visible = false; UltraComboEditor uce13 = new UltraComboEditor(); SalePriceClass.NitializeFactorClassifyId(uce13); gdPriceBaseFrameClassify.DisplayLayout.Bands[0].Columns["FactorclassifyId"].EditorComponent = uce13; gdPriceBaseFrameClassify.DisplayLayout.Bands[0].Columns["FactorclassifyId"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; this.Controls.Add(uce13); uce13.Visible = false; } public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": QueryData(); break; case "Save": SaveFormData(); break; case "Delete": DeleteOrResume(true); break; case "Resume": DeleteOrResume(false); break; case "Close": this.Close(); break; } } /// /// 查询数据 /// private void QueryData() { //string rangeId = ""; //string rangeName = ""; ////if (labelTextBox1.Checked) //// rangeName = labelTextBox1.Text.Trim(); ////if (labelTextBox2.Checked) //// rangeId = labelTextBox2.Text.Trim(); List list = EntityHelper.GetData( "com.steering.pss.sale.price.server.CorePriceBaseFrame.query", new object[] { isValid }, this.ob); slmPriceBaseframeSetEntityBindingSource.DataSource = list; UltraGridBand ugb = this.gdPriceBaseFrame.DisplayLayout.Bands[0]; UltraGridColumn[] col = new UltraGridColumn[] { }; GridHelper.RefreshAndAutoSizeExceptColumns(gdPriceBaseFrame, col); } /// /// 保存界面数据 /// private void SaveFormData() { //基价框架 gdPriceBaseFrame.UpdateData(); gdPriceBaseFrameClassify.UpdateData(); UltraGridRow[] row = gdPriceBaseFrame.Rows.AsQueryable().Where(a => a.Cells["CHK"].Value.ToString().ToUpper() == "TRUE").ToArray(); UltraGridRow[] row1 = gdPriceBaseFrameClassify.Rows.AsQueryable().Where(a => a.Cells["CHK"].Value.ToString().ToUpper() == "TRUE").ToArray(); if (row.Length + row1.Length <= 0) { MessageUtil.ShowWarning("请选择需要保存的数据!"); return; } if (row.Length>0) { ArrayList parm = CheckFormData(row); if (parm == null || parm.Count <= 0) { return; } if (MessageUtil.ShowYesNoAndQuestion("是否确认保存数据!") == DialogResult.No) return; int i = ServerHelper.SetData("com.steering.pss.sale.price.server.CorePriceBaseFrame.save", new object[] { parm }, this.ob); if (i > 0) { MessageUtil.ShowTips("数据保存成功!"); QueryData(); } else { MessageUtil.ShowTips("数据保存失败!"); QueryData(); } } if (row1.Length>0) { if (row1.Length <= 0) { MessageUtil.ShowWarning("请选择需要保存的数据!"); return; } ArrayList parm1 = CheckFormRangeData(row1); if (parm1 == null || parm1.Count <= 0) { return; } if (MessageUtil.ShowYesNoAndQuestion("是否确认保存数据!") == DialogResult.No) return; int i1 = ServerHelper.SetData("com.steering.pss.sale.price.server.CorePriceBaseFrame.saveRange", new object[] { parm1 }, this.ob); if (i1 > 0) { MessageUtil.ShowTips("数据保存成功!"); QueryDataRange(); } else { MessageUtil.ShowTips("数据保存失败!"); QueryDataRange(); } } //基价框架范围 // UltraGridRow[] row1 = gdPriceBaseFrameClassify.Rows.AsQueryable().Where(a => a.Cells["CHK"].Value.ToString().ToUpper() == "TRUE").ToArray(); } private ArrayList CheckFormRangeData(UltraGridRow[] row1) { ArrayList parm = new ArrayList(); List list = new List(); foreach (var uRow in row1) { SlmPriceBaseframeClassifyEntity spf = (SlmPriceBaseframeClassifyEntity)uRow.ListObject; if (spf.Validflag == "无效" && spf.CreateName != "") { MessageUtil.ShowWarning("【" + spf.FrameId + "】的因素已经无效,不能修改!"); return null; } spf.CreateName = UserInfo.GetUserName(); spf.UpdateName = UserInfo.GetUserName(); parm.Add(JSONFormat.Format(spf)); } return parm; } private void QueryDataRange() { if (gdPriceBaseFrame.ActiveRow.Cells["FrameId"].Value.ToString() != "") { string FrameId = gdPriceBaseFrame.ActiveRow.Cells["FrameId"].Value.ToString(); string isValid = "1"; EntityHelper.ShowGridCaption(gdPriceBaseFrameClassify.DisplayLayout.Bands[0]); List list = EntityHelper.GetData( "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryRange", new object[] { FrameId, isValid }, this.ob); slmPriceBaseframeClassifyEntityBindingSource.DataSource = list; UltraGridBand ugb = this.gdPriceBaseFrameClassify.DisplayLayout.Bands[0]; UltraGridColumn[] col = new UltraGridColumn[] { }; GridHelper.RefreshAndAutoSizeExceptColumns(gdPriceBaseFrameClassify, col); } } /// /// 删除或恢复 /// /// private void DeleteOrResume(bool flag) { gdPriceBaseFrame.UpdateData(); UltraGridRow[] row = gdPriceBaseFrame.Rows.AsQueryable().Where(a => a.Cells["CHK"].Value.ToString() == "True").ToArray(); if (row.Length <= 0) { MessageUtil.ShowWarning("请选择需要" + (flag ? "删除" : "恢复") + "的数据!"); return; } ArrayList parm = new ArrayList(); if (flag) { foreach (var uRow in row) { SlmPriceBaseframeSetEntity spf = (SlmPriceBaseframeSetEntity)uRow.ListObject; if (spf.Validflag == "无效") { MessageUtil.ShowWarning("您勾选的数据中存在已删除的数据,不必重复删除!"); return; } spf.CreateName = UserInfo.GetUserName(); spf.UpdateName = UserInfo.GetUserName(); parm.Add(JSONFormat.Format(spf)); } } else { foreach (var uRow in row) { SlmPriceBaseframeSetEntity spf = (SlmPriceBaseframeSetEntity)uRow.ListObject; if (spf.Validflag == "有效") { MessageUtil.ShowWarning("您勾选的数据中存在有效的数据,不必进行恢复!"); return; } //ArrayList parm1 = new ArrayList(); //parm1.Add(JSONFormat.Format(spf)); ////恢复前判断是否存在相同因素名称的数据 //DataTable dt = ServerHelper.GetData("com.steering.pss.sale.price.server.CorePriceBaseFrame.canResume", new object[] { parm1 }, this.ob); //if (dt != null && dt.Rows.Count > 0) //{ // MessageUtil.ShowWarning("系统已存在名称为【" + spf.FrameId + "】并且有效的基价框架,不能恢复!"); // return; //} //不需要判断 此项 spf.CreateName = UserInfo.GetUserName(); spf.UpdateName = UserInfo.GetUserName(); parm.Add(JSONFormat.Format(spf)); } } if (MessageUtil.ShowYesNoAndQuestion("是否" + (flag ? "删除" : "恢复") + "所选的数据!") == DialogResult.No) return; int i= ServerHelper.SetData("com.steering.pss.sale.price.server.CorePriceBaseFrame.deleteOrResume", new object[] { parm ,flag }, this.ob); if (i>=0) { MessageUtil.ShowTips("数据" + (flag ? "删除" : "恢复") + "成功!"); QueryData(); } else { MessageUtil.ShowTips("数据" + (flag ? "删除" : "恢复") + "失败!"); QueryData(); } } /// /// 验证界面数据 /// /// 界面数据 /// private ArrayList CheckFormData(UltraGridRow[] row) { ArrayList parm = new ArrayList(); List list = new List(); foreach (var uRow in row) { SlmPriceBaseframeSetEntity spf = (SlmPriceBaseframeSetEntity)uRow.ListObject; ArrayList FactorSValue = new ArrayList(); for (int i = 0; i < uRow.Cells.Count-4; i++) { if (uRow.Cells[i].Value.ToString() != "") { FactorSValue.Add(uRow.Cells[i].Value); } } if (SalePriceClass.IsRepeat(FactorSValue) == true) { MessageUtil.ShowWarning("因素值有重复!"); return null; } if (spf.Validflag == "无效" && spf.CreateName != "") { MessageUtil.ShowWarning("【" + spf.FrameId + "】的因素已经无效,不能修改!"); return null; } spf.CreateName = UserInfo.GetUserName(); spf.UpdateName = UserInfo.GetUserName(); parm.Add(JSONFormat.Format(spf)); } return parm; } private void gdPriceBaseFrame_AfterRowInsert(object sender, RowEventArgs e) { string maxId = gdPriceBaseFrame.Rows.AsQueryable().Max(a => a.Cells["FrameId"].Value.ToString()); if (maxId == "") { e.Row.Cells["FrameId"].Value = "A000001"; } else { string str = "A" + (Convert.ToInt32(maxId.Substring(1, 6)) + 1).ToString().PadLeft(6, '0'); e.Row.Cells["FrameId"].Value = str; } } private void chkValid_CheckedChanged(object sender, EventArgs e) { if (chkValid.Checked) { isValid = "0"; } else { isValid = "1"; } } private void gdPriceBaseFrame_InitializeRow(object sender, InitializeRowEventArgs e) { if (e.Row.Cells["VALIDFLAG"].Value.ToString() == "无效") { e.Row.Appearance.ForeColor = Color.Red; } else { e.Row.Appearance.ForeColor = Color.Black; } } private void gdPriceBaseFrame_InitializeLayout(object sender, InitializeLayoutEventArgs e) { } private void gdPriceBaseFrameClassify_AfterRowInsert(object sender, RowEventArgs e) { string maxId = gdPriceBaseFrameClassify.Rows.AsQueryable().Max(a => a.Cells["BrID"].Value.ToString()); if (maxId == "") { e.Row.Cells["BrID"].Value = "R000001"; } else { string str = "R" + (Convert.ToInt32(maxId.Substring(1, 6)) + 1).ToString().PadLeft(6, '0'); e.Row.Cells["BrID"].Value = str; } e.Row.Cells["Frameid"].Value = gdPriceBaseFrame.ActiveRow.Cells["FrameId"].Value.ToString(); } private void gdPriceBaseFrame_AfterRowActivate(object sender, EventArgs e) { QueryDataRange(); } } }