using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using CoreFS.CA06; using Core.Mes.Client.Comm.Tool; using System.Collections; using Core.Mes.Client.Comm.Format; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Control; using Infragistics.Win.UltraWinGrid; namespace Core.StlMes.Client.SaleOrder.OrderForm { public partial class FrmWellAdjust : FrmBase { private DataSourceList _wellUseListEntityList = new DataSourceList(); private DataSourceList _wellOrderListEntityList = new DataSourceList(); private string strWellNo = ""; private string strYear = ""; private string strMonth = ""; public FrmWellAdjust() { InitializeComponent(); this.IsLoadUserView = true; } private void FrmWellAdjust_Load(object sender, EventArgs e) { EntityHelper.ShowGridCaption(grdWell.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(grdWellOrder.DisplayLayout.Bands[0]); LoadWell(""); DateTime now = GetSYSDATE(); for (int i = now.Year; i < now.Year + 100; i++) { ultraComboEditor1.Items.Add(i); } for (int i = now.Year - 100; i <= now.Year + 200; i++) { ultraComboEditor3.Items.Add(i); } ultraComboEditor3.Value = now.Year; Clear(); } private void LoadWell(string wellCode) { List _lists = new List(); _lists.Add("1"); _lists.Add(wellCode); string[] _params = _lists.ToArray(); cmbWell.DataSource = ServerHelper.GetData("com.steering.pss.sale.order.CoreWellAdjust.getBaseWell", new object[] { _params }, this.ob); cmbWell.DisplayMember = "WELL_NAME"; cmbWell.ValueMember = "WELL_CODE"; } public override void ToolBar_Click(object sender, string ToolbarKey) { base.ToolBar_Click(sender, ToolbarKey); switch (ToolbarKey) { case "doQuery": QueryWellInfo(); break; case "doSave": DoSave(); break; case "doAdjust": DoAdjust(); break; case "doClose": this.Close(); break; } } private DateTime GetSYSDATE() { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreWellAdjust.getSYSDATE", new object[]{ }, ob); string date = dt.Rows[0][0].ToString(); return DateTime.ParseExact(date, "yyyy-MM-dd HH:mm:ss", null); } private void QueryWellInfo() { Clear(); List _lists = new List(); _lists.Add(ultraComboEditor3.Value.ToString()); string[] _params = _lists.ToArray(); _wellUseListEntityList = EntityHelper.GetData( "com.steering.pss.sale.order.CoreWellAdjust.getWellUseInfo", new object[] { _params }, ob); _wellUseListEntityList.AcceptChanges(); slmWellUseEntityBindingSource.DataSource = _wellUseListEntityList; } private void QueryWellOrderInfo(string _wellNo, string _year, string _month) { List _lists = new List(); _lists.Add(_year); _lists.Add(_month); _lists.Add(_wellNo); string[] _params = _lists.ToArray(); _wellOrderListEntityList = EntityHelper.GetData( "com.steering.pss.sale.order.CoreWellAdjust.getWellOrderInfo", new object[] { _params }, ob); _wellOrderListEntityList.AcceptChanges(); slmWellOrderEntityBindingSource.DataSource = _wellOrderListEntityList; } private void grdWell_ClickCellButton(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e) { try { this.Cursor = Cursors.WaitCursor; strWellNo = e.Cell.Row.Cells["WellCode"].Value.ToString(); strYear = e.Cell.Row.Cells["WellYear"].Value.ToString(); strMonth = e.Cell.Column.Tag.ToString(); int month = GetSYSDATE().Month; ultraComboEditor2.Items.Clear(); for (int i = month; i <= 12; i++) { ultraComboEditor2.Items.Add(i); } ultraComboEditor2.Value = month; ultraLabel1.Text = strYear + "年" + strMonth + "月产能井占用合同"; this.QueryWellOrderInfo(strWellNo, strYear, strMonth); } finally { this.Cursor = Cursors.Default; } } private void grdWellOrder_MouseUp(object sender, MouseEventArgs e) { UltraGrid grid = (UltraGrid)sender; foreach (UltraGridRow row in grid.Rows) { if (row.Selected) { row.Cells["CHK"].Value = true; } } grid.UpdateData(); } private void grdWellOrder_AfterSelectChange(object sender, AfterSelectChangeEventArgs e) { foreach (UltraGridRow uRow in grdWellOrder.Selected.Rows) { if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow)) { uRow.Cells["CHK"].Value = true; } } } private void DoSave() { if (grdWell.ActiveRow == null) { MessageUtil.ShowWarning("请选择一条记录!"); return; } ArrayList parms = new ArrayList(); var wellUse = EntityHelper.CopyEntity(grdWell.ActiveRow.ListObject); var rows = grdWellOrder.Rows.Where(a=>a.GetValue("Chk") == "True"); if (rows.Count() == 0) { MessageUtil.ShowWarning("请选择占用合同!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否确认保存?") == System.Windows.Forms.DialogResult.No) { return; } foreach (var row in rows) { var wellOrder = EntityHelper.CopyEntity(row.ListObject); string[] parm = new string[] { wellUse.WellCode, wellUse.WellYear, strMonth, wellOrder.WellUseCode, wellOrder.OrdLnDlyPk, cmbWell.Value.ToString2(), cmbWell.Text, ultraComboEditor1.Value.ToString2(), ultraComboEditor2.Value.ToString2(), wellOrder.OrdLnPk}; parms.Add(parm); } ServerHelper.SetData("com.steering.pss.sale.order.CoreWellAdjust.Save", new object[] { parms }, ob); MessageUtil.ShowTips("保存成功!"); } private void DoAdjust() { grdWellOrder.UpdateData(); UltraGridRow urgRows = grdWellOrder.ActiveRow; if (urgRows == null) return; var rows = grdWellOrder.Rows.Where(a => a.GetValue("CHK") == "True").GroupBy(a => new { ordLnPk = a.GetValue("OrdLnPk") }). Select(a => new { ordLnPk = a.Key.ordLnPk, wellUseCode = a.Max(b=>b.GetValue("WellUseCode"))}); if (rows.Count() == 0) { MessageUtil.ShowWarning("请选择你要刷新的合同!"); return; } ArrayList list = new ArrayList(); foreach (var row in rows) { SlmWellUseEntity wellUse = EntityHelper.CopyEntity(grdWell.ActiveRow.ListObject); wellUse.UseCode = row.wellUseCode; wellUse.UseMonth = strMonth; wellUse.OrdLnPk = row.ordLnPk; list.Add(JSONFormat.Format(wellUse)); } if (MessageUtil.ShowYesNoAndQuestion("是否刷新所选择合同对应的产能井?") == DialogResult.No) return; CoreClientParam ccp = new CoreClientParam(); this.Cursor = Cursors.WaitCursor; //控制鼠标的样式为等待 WaitingForm2 wf = new WaitingForm2("正在处理,请稍候...."); ccp.ServerName = "com.steering.pss.sale.order.CoreWellAdjust"; ccp.MethodName = "updateWell"; ccp.ServerParams = new object[] { list, grdWell.ActiveRow.GetValue("WellCode") }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); this.Cursor = Cursors.Default; wf.Close(); if (ccp.ReturnInfo != "") { MessageUtil.ShowWarning(ccp.ReturnInfo); return; } MessageUtil.ShowTips("刷新成功!"); string wellCode = grdWell.ActiveRow.GetValue("WellCode"); QueryWellInfo(); var relocatRow = grdWell.Rows.Where(a => a.GetValue("WellCode") == wellCode).FirstOrDefault(); if (relocatRow != null) { relocatRow.Activate(); } } private void ultraNumericEditor4_ValueChanged(object sender, EventArgs e) { } private void Clear() { ultraLabel1.Text = ""; slmWellOrderEntityBindingSource.Clear(); } private void grdWell_AfterRowActivate(object sender, EventArgs e) { try { this.Cursor = Cursors.WaitCursor; ultraComboEditor1.Items.Clear(); DateTime now = GetSYSDATE(); int year = now.Year; for (int i = year; i < year + 100; i++) { ultraComboEditor1.Items.Add(i); } Clear(); ultraComboEditor1.SelectedIndex = 0; ultraComboEditor2.Items.Clear(); int month = now.Month; for (int i = month; i <= 12; i++) { ultraComboEditor2.Items.Add(i); } ultraComboEditor2.SelectedIndex = 0; LoadWell(grdWell.GetActiveRowValue("WellCode")); cmbWell.Value = grdWell.GetActiveRowValue("WellCode"); } finally { this.Cursor = Cursors.Default; } } private void grdWellOrder_CellChange(object sender, CellEventArgs e) { e.Cell.Row.Update(); } private void ultraComboEditor1_ValueChanged(object sender, EventArgs e) { ultraComboEditor2.Items.Clear(); int month; DateTime now = GetSYSDATE(); if (ultraComboEditor1.Value.ToString2() == now.Year.ToString()) { month = now.Month; } else { month = 1; } for (int i = month; i <= 12; i++) { ultraComboEditor2.Items.Add(i); } ultraComboEditor2.Value = month; } } }