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.Server;
using Core.Mes.Client.Comm.Control;
using Infragistics.Win.UltraWinGrid;
using Infragistics.Win;
using System.Net;
using System.Collections;
using CoreFS.SA06;
using System.Globalization;
namespace Core.StlMes.Client.BuyBillet
{
public partial class FrmBuyBillet : FrmBase
{
public FrmBuyBillet()
{
InitializeComponent();
}
///
/// 在主窗体显示后,设置命令按钮的显示或隐藏,此时toolMenu 对象已经生成
///
///
///
private void FrmBuyBillet_Shown(object sender, EventArgs e)
{
setToolBarAppearance(DefaultableBoolean.True, DefaultableBoolean.False);
}
///
/// 平台命令按钮路由
///
///
///
public override void ToolBar_Click(object sender, string ToolbarKey)
{
base.ToolBar_Click(sender, ToolbarKey);
switch (ToolbarKey)
{
case "Close":
this.Close();
break;
//case "doLYl":
// doLYl();
// break;
case "doAdd":
doAdd();
break;
//case "doYP":
// doYP();
// break;
case "doTbXs":
doTbXs();
break;
case "doTbCH":
doTbCH();
break;
case "doJq":
doJq();
break;
case "doJqCancel":
doJqCancel();
break;
case "doDel":
doDel();
break;
case "doQuery":
doQuery();
break;
case "doTD":
doTD();
break;
case "doExcel":
doExcel();
break;
case "doUpdateVer":
doUpdateVer();
break;
}
}
///
/// 修改管坯版本号
///
private void doUpdateVer()
{
ultraGrid2.UpdateData();
ArrayList ids = new ArrayList();
foreach (UltraGridRow row in ultraGrid2.Rows)
{
if (row.Cells["CHK"].Text.ToString() == "True")
{
Object[] o = new Object[] { row.Cells["GPREQ_VERSION"].Value.ToString(), row.Cells["GPREQ_ID"].Value.ToString() };
ids.Add(o);
}
}
if (ids.Count <= 0)
{
MessageBox.Show("未选中有效的记录!");
return;
}
int suceed = ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.updateGpreqVersion", new object[] { ids }, this.ob);
if (suceed > 0)
{
MessageBox.Show("修改成功!");
ultraGrid2_bind();
}
}
#region 界面数据绑定方法
///
/// 外购坯需求列表数据绑定
///
private void ultraGrid1_bind()
{
DataTable dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.queryPLN_REQINF_GP", new object[] { }, this.ob);
DataTable dt1 = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.queryPLN_REQINF_GP_DETAILS", new object[] { }, this.ob);
DataSet dataSet = new DataSet();
dataSet.Tables.Add(dt);
dataSet.Tables.Add(dt1);
dataSet.Tables[0].TableName = "Customers";
dataSet.Tables[1].TableName = "Orders";
dataSet.Relations.Add("Orders", new DataColumn[]
{
dataSet.Tables["Customers"].Columns["MATERIAL_NAME"],dataSet.Tables["Customers"].Columns["LEN_GP_SINGLE"]
}, new DataColumn[]
{
dataSet.Tables["Orders"].Columns["MATERIAL_NAME"],dataSet.Tables["Orders"].Columns["LEN_GP_SINGLE"]
}, false);
this.ultraGrid1.DataSource = dataSet;
}
///
/// 外购坯需求数据绑定
///
private void ultraGrid2_bind()
{
string deptId = this.UserInfo.GetDeptid();
string isTH = "TPCO";
//天淮deptid
if (deptId.StartsWith("002023"))
{
isTH = "TH";
}
DataTable dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.queryBUY_GP_REQ2", new object[] {isTH }, this.ob);
DataTable dt2 = new DataTable();
foreach(DataColumn col in dt.Columns)
{
if(col.ColumnName =="ISSUED_TIME" || col.ColumnName=="CREATE_TIME")
{
dt2.Columns.Add(col.ColumnName, typeof(DateTime));
}
else if (col.ColumnName == "DIAMETER_GP" || col.ColumnName == "LEN_GP_SINGLE" || col.ColumnName == "GP_WEIGHT" || col.ColumnName == "GP_SYWEIGHT")
{
dt2.Columns.Add(col.ColumnName, typeof(decimal));
}
else
{
dt2.Columns.Add(col.ColumnName);
}
}
foreach (DataRow row in dt.Rows)
{
DataRow _row = dt2.NewRow();
foreach (DataColumn col in dt.Columns)
{
_row[col.ColumnName] = row[col.ColumnName];
}
dt2.Rows.Add(_row);
}
this.ultraGrid2.DataSource = dt2;
RefreshAndAutoSize(ultraGrid2);
}
///
/// 预排操作界面完成后,重新刷新外购坯需求界面
///
private void frm_OnAddNewYpFinished()
{
ultraGrid2_bind();
}
#endregion
#region 控件事件
private void ultraGrid1_CellChange(object sender, CellEventArgs e)
{
if (e.Cell.Column.Key == "CHK")
{
foreach (UltraGridRow row in e.Cell.Row.ChildBands[0].Rows)
{
row.Cells["CK"].Value = e.Cell.Text;
}
}
if (e.Cell.Column.Key == "CK")
{
if (e.Cell.Text == "False")
{
e.Cell.Row.ParentRow.Cells["CHK"].Value = false;
}
}
}
///
/// Tab页切换事件,绑定数据或者是显示隐藏命令按钮
///
///
///
private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
{
if (e.Tab.Index == 1)
{
ultraGrid2_bind();
setToolBarAppearance(DefaultableBoolean.True, DefaultableBoolean.False);
string[] colalign = { "DIAMETER_GP", "LEN_GP_SINGLE", "GP_WEIGHT" };
foreach (string colname in colalign)
{
ultraGrid2.DisplayLayout.Bands[0].Columns[colname].CellAppearance.TextHAlign = HAlign.Right;
}
RefreshAndAutoSize(ultraGrid3);
}
if (e.Tab.Index == 0)
{
//ultraGrid1_bind();
//setToolBarAppearance(DefaultableBoolean.True, DefaultableBoolean.False);
}
}
#endregion
private void setToolBarAppearance(DefaultableBoolean appearance0, DefaultableBoolean appearance1)
{
#region tab1显示或隐藏
if (toolMenu == null)
{
return;
}
if (toolMenu.Toolbars[0].Tools.Exists("doLYl"))
{
toolMenu.Toolbars[0].Tools["doLYl"].InstanceProps.Visible = appearance0;
}
if (toolMenu.Toolbars[0].Tools.Exists("doAdd"))
{
toolMenu.Toolbars[0].Tools["doAdd"].InstanceProps.Visible = appearance0;
}
if (toolMenu.Toolbars[0].Tools.Exists("doYP"))
{
toolMenu.Toolbars[0].Tools["doYP"].InstanceProps.Visible = appearance0;
}
if (toolMenu.Toolbars[0].Tools.Exists("doTbXs"))
{
toolMenu.Toolbars[0].Tools["doTbXs"].InstanceProps.Visible = appearance0;
}
if (toolMenu.Toolbars[0].Tools.Exists("doTbCH"))
{
toolMenu.Toolbars[0].Tools["doTbCH"].InstanceProps.Visible = appearance0;
}
if (toolMenu.Toolbars[0].Tools.Exists("doJq"))
{
toolMenu.Toolbars[0].Tools["doJq"].InstanceProps.Visible = appearance0;
}
if (toolMenu.Toolbars[0].Tools.Exists("doDel"))
{
toolMenu.Toolbars[0].Tools["doDel"].InstanceProps.Visible = appearance0;
}
if (toolMenu.Toolbars[0].Tools.Exists("doQuery"))
{
toolMenu.Toolbars[0].Tools["doQuery"].InstanceProps.Visible = appearance0;
}
if (toolMenu.Toolbars[0].Tools.Exists("doTD"))
{
toolMenu.Toolbars[0].Tools["doTD"].InstanceProps.Visible = appearance0;
}
if (toolMenu.Toolbars[0].Tools.Exists("doUpdateVer"))
{
toolMenu.Toolbars[0].Tools["doUpdateVer"].InstanceProps.Visible = appearance0;
}
#endregion
}
#region 业务方法
///
/// 生成需求单
///
private void doAdd()
{
StringBuilder sb = new StringBuilder();
foreach (UltraGridRow row in ultraGrid1.Rows)
{
foreach (UltraGridRow _row in row.ChildBands[0].Rows)
{
if (_row.Cells["CK"].Text.ToString() == "True")
{
sb.Append(_row.Cells["GPREQ_ID"].Value.ToString());
sb.Append(",");
}
}
}
string ids = sb.ToString();
if (ids.EndsWith(","))
{
ids = ids.Substring(0, ids.Length - 1);
}
if (string.IsNullOrEmpty(ids))
{
MessageBox.Show("未选中有效的记录!");
return;
}
ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.InsertBUY_GP_REQ", new object[] { ids }, this.ob);
ultraGrid1_bind();
}
///
/// 生成预排需求单
///
///
///
private void doYP()
{
FrmBuyYP frm = new FrmBuyYP(this.ob);
frm.StartPosition = FormStartPosition.CenterScreen;
frm.OnAddNewYpFinished += new Action(frm_OnAddNewYpFinished);
frm.Show();
}
///
/// 提报销售
///
///
///
private void doTbXs()
{
updatestatus("1");
}
///
/// 撤回销售
///
///
///
private void doTbCH()
{
updatestatus("0");
}
private void updatestatus(string rec_status)
{
this.ultraGrid2.ActiveCell = null;
StringBuilder sb = new StringBuilder();
foreach (UltraGridRow row in this.ultraGrid2.Rows)
{
if (row.Cells["CHK"].Value.ToString().ToLower() == "true")
{
string buyid = row.Cells["GPREQ_ID"].Value.ToString();
sb.Append("'"+buyid+"'");
sb.Append(",");
}
}
string tempstr = sb.ToString();
if (tempstr.EndsWith(","))
{
tempstr = tempstr.Substring(0, tempstr.Length - 1);
}
if (string.IsNullOrEmpty(tempstr))
{
MessageBox.Show("未选中有效的记录!");
return;
}
if (rec_status == "0")
{
ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.updateBUY_GP_REQ_Status01", new object[] { tempstr }, this.ob);
}
if (rec_status == "1")
{
ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.updateBUY_GP_REQ_Status11", new object[] { tempstr }, this.ob);
}
MessageBox.Show("操作完成!");
ultraGrid2_bind();
}
///
/// 删除需求单
///
///
///
private void doDel()
{
this.ultraGrid2.ActiveCell = null;
StringBuilder sb = new StringBuilder();
foreach (UltraGridRow row in this.ultraGrid2.Rows)
{
if (row.Cells["CHK"].Value.ToString().ToLower() == "true")
{
string buyid = row.Cells["GPBUYPLANID"].Value.ToString();
sb.Append("'" + buyid + "'");
sb.Append(",");
}
}
string tempstr = sb.ToString();
if (tempstr.EndsWith(","))
{
tempstr = tempstr.Substring(0, tempstr.Length - 1);
}
if (string.IsNullOrEmpty(tempstr))
{
MessageBox.Show("未选中有效的记录!");
return;
}
ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.DeleteBUY_GP_REQ", new object[] { tempstr }, this.ob);
MessageBox.Show("操作完成!");
ultraGrid2_bind();
}
///
/// 利余量
///
///
///
private void doLYl()
{
List list = new List();
foreach (UltraGridRow row in ultraGrid1.Rows)
{
foreach (UltraGridRow _row in row.ChildBands[0].Rows)
{
if (_row.Cells["CK"].Text.ToString() == "True")
{
list.Add(_row.Cells["GPREQ_ID"].Value.ToString());
}
}
}
if (list.Count==0)
{
MessageBox.Show("未选中有效的记录!");
return;
}
if (list.Count > 1)
{
MessageBox.Show("请逐条利余量!");
return;
}
int rowcount = ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.update_LYL", new object[] {list[0]}, this.ob);
ultraGrid1_bind();
MessageBox.Show("操作完成!");
}
///
/// 标注交齐
///
///
///
private void doJq()
{
StringBuilder sb = new StringBuilder();
foreach (UltraGridRow row in ultraGrid2.Rows)
{
if (row.Cells["CHK"].Text.ToString() == "True")
{
sb.Append(row.Cells["GPREQ_ID"].Value.ToString());
sb.Append(",");
}
}
string ids = sb.ToString();
if (ids.EndsWith(","))
{
ids = ids.Substring(0, ids.Length - 1);
}
if (string.IsNullOrEmpty(ids))
{
MessageBox.Show("未选中有效的记录!");
return;
}
ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.UpdateBUY_GP_REQ_JQ", new object[] { ids }, this.ob);
MessageBox.Show("操作完成");
ultraGrid2_bind();
}
///
/// 取消交齐
///
private void doJqCancel()
{
StringBuilder sb = new StringBuilder();
foreach (UltraGridRow row in ultraGrid2.Rows)
{
if (row.Cells["CHK"].Text.ToString() == "True")
{
sb.Append(row.Cells["GPREQ_ID"].Value.ToString());
sb.Append(",");
}
}
string ids = sb.ToString();
if (ids.EndsWith(","))
{
ids = ids.Substring(0, ids.Length - 1);
}
if (string.IsNullOrEmpty(ids))
{
MessageBox.Show("未选中有效的记录!");
return;
}
ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.UpdateBUY_GP_REQ_JQ_CANCEL", new object[] { ids }, this.ob);
MessageBox.Show("操作完成");
ultraGrid2_bind();
}
private void doQuery()
{
ultraGrid2_bind();
}
private void doTD()
{
StringBuilder sb = new StringBuilder();
string gpreq_id = string.Empty;
foreach (UltraGridRow row in ultraGrid3.Rows)
{
if (row.Cells["CHK"].Text.ToString() == "True")
{
gpreq_id = row.Cells["管坯需求号"].Value.ToString();
sb.Append(row.Cells["PLAN_ID"].Value.ToString());
sb.Append(",");
}
}
string ids = sb.ToString();
if (ids.EndsWith(","))
{
ids = ids.Substring(0, ids.Length - 1);
}
if (string.IsNullOrEmpty(ids))
{
MessageBox.Show("未选中有效的记录!");
return;
}
MessageBox.Show(gpreq_id);
MessageBox.Show(ids);
return;
ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.UpdateBUY_GP_REQ_TD", new object[] { gpreq_id, ids }, this.ob);
MessageBox.Show("操作完成");
ultraGrid2_bind();
ultraGrid3_bind(gpreq_id);
}
private void doExcel()
{
ultraGrid2.DisplayLayout.Bands[0].Columns["CHK"].Hidden = true;
ExportExcel(ultraGrid2, "外购坯需求");
ultraGrid2.DisplayLayout.Bands[0].Columns["CHK"].Hidden = false;
}
private void ExportExcel(UltraGrid ulGrid, string sFileName)
{
GridHelper.ulGridToExcel(ulGrid, sFileName);
}
#endregion
private void ultraGrid2_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
{
foreach (UltraGridRow uRow in ultraGrid2.Selected.Rows)
{
if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
{
uRow.Cells["CHK"].Value = true;
}
}
}
///
/// 刷新Grid数据并根据数据调整Grid列宽
///
/// 需要处理的Grid
public static void RefreshAndAutoSize(Infragistics.Win.UltraWinGrid.UltraGrid ultraGrid)
{
try
{
ultraGrid.DataBind();
foreach (Infragistics.Win.UltraWinGrid.UltraGridBand band in ultraGrid.DisplayLayout.Bands)
{
foreach (Infragistics.Win.UltraWinGrid.UltraGridColumn column in band.Columns)
{
if (column.Key.Equals("GPREQ_VERSION"))
{
return;
}
column.PerformAutoResize(Infragistics.Win.UltraWinGrid.PerformAutoSizeType.AllRowsInBand);
}
}
ultraGrid.Refresh();
}
catch { }
}
private void ultraGrid2_ClickCell(object sender, ClickCellEventArgs e)
{
string gpreq_id = e.Cell.Row.Cells["GPREQ_ID"].Text;
ultraGrid3_bind(gpreq_id);
}
private void ultraGrid3_bind(string gpreq_id)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.queryBUY_GP_REQ_SCORDER", new object[] { gpreq_id }, this.ob);
DataTable dt3 = dataSet3.Tables[0];
GridHelper.CopyDataToDatatable(dt, dt3, true);
RefreshAndAutoSize(ultraGrid3);
string[] colalign = { "断面", "单倍坯长", "名义外径", "名义壁厚", "需坯量" };
foreach (string colname in colalign)
{
ultraGrid3.DisplayLayout.Bands[0].Columns[colname].CellAppearance.TextHAlign = HAlign.Right;
if (colname == "名义外径" || colname == "名义壁厚")
{
ultraGrid3.DisplayLayout.Bands[0].Columns[colname].Format = "#.00";
}
}
}
private void ultraGrid2_AfterSelectChange_1(object sender, AfterSelectChangeEventArgs e)
{
foreach (UltraGridRow uRow in ultraGrid2.Selected.Rows)
{
if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
{
uRow.Cells["CHK"].Value = true;
}
}
}
private void ultraGrid3_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
{
foreach (UltraGridRow uRow in ultraGrid3.Selected.Rows)
{
if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
{
uRow.Cells["CHK"].Value = true;
}
}
}
private void FrmBuyBillet_Load(object sender, EventArgs e)
{
if (this.UserInfo.GetDeptid().StartsWith("002023"))
{
ultraGrid2.Rows.Band.Columns["GPREQ_VERSION"].Hidden = false;
}
}
}
}