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 System.Diagnostics;
using System.IO;
using System.Text.RegularExpressions;
using CoreFS.CA06;
using Core.Mes.Client.Comm.Server;
using Core.Mes.Client.Comm.Control;
using Core.Mes.Client.Comm.Tool;
using Infragistics.Win.UltraWinGrid;
using Infragistics.Win;
using System.Net;
using System.Collections;
using CoreFS.SA06;
namespace Core.StlMes.Client.BuyBillet
{
public partial class FrmCGpRkTH : FrmBase
{
private string ord_no_pk;
private string gpreq_id;
private string stove_no;
private string judge_stove_no;
private string car_no;
public FrmCGpRkTH()
{
InitializeComponent();
}
private void FrmCGpRk_Load(object sender, System.EventArgs e)
{
string deptId = this.UserInfo.GetDeptid();
//天淮deptid,002023
if(!deptId.StartsWith("002023")&&UserInfo.GetUserID()!="admin")
{
MessageUtil.ShowTips("非天淮用户,请勿使用!");
return;
}
Initial_rukuData();
Bind_Supplier();
ds_rukuinfo.Tables[0].AcceptChanges();
var ids = this.ValidDataPurviewIds;
Bind_Stock();
Bind_Level();
ForbidSort(this.ug_rukinfo);
this.ultraCheckEditor2.Visible = false;
this.cb_supplier_cd.Visible = false;
setTpcoTH();
}
private void Initial_rukuData()
{
for(int i=0;i<7;i++)
{
DataRow row = ds_rukuinfo.Tables[0].NewRow();
row["倍尺"] = i + 1;
ds_rukuinfo.Tables[0].Rows.Add(row);
}
}
private void setToolBarAppearance(DefaultableBoolean appearance0, DefaultableBoolean appearance1, DefaultableBoolean appearance2)
{
if (toolMenu == null)
{
return;
}
string toolBarItem = string.Empty;
toolBarItem = "doSave";
if (toolMenu.Toolbars[0].Tools.Exists(toolBarItem))
{
toolMenu.Toolbars[0].Tools[toolBarItem].InstanceProps.Visible = appearance0;
}
toolBarItem = "doDelete";
if (toolMenu.Toolbars[0].Tools.Exists(toolBarItem))
{
toolMenu.Toolbars[0].Tools[toolBarItem].InstanceProps.Visible = appearance1;
}
toolBarItem = "doJQCancel";
if (toolMenu.Toolbars[0].Tools.Exists(toolBarItem))
{
toolMenu.Toolbars[0].Tools[toolBarItem].InstanceProps.Visible = appearance2;
}
toolBarItem = "doJQ";
if (toolMenu.Toolbars[0].Tools.Exists(toolBarItem))
{
toolMenu.Toolbars[0].Tools[toolBarItem].InstanceProps.Visible = appearance2;
}
}
private void tabC_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
{
if (tabC.ActiveTab.Key == "tab1")
{
setToolBarAppearance(DefaultableBoolean.True, DefaultableBoolean.False, DefaultableBoolean.False);
}
if (tabC.ActiveTab.Key == "tab2")
{
setToolBarAppearance(DefaultableBoolean.False, DefaultableBoolean.True, DefaultableBoolean.False);
}
if (tabC.ActiveTab.Key == "tab3")
{
setToolBarAppearance(DefaultableBoolean.False, DefaultableBoolean.False, DefaultableBoolean.True);
}
}
private void doSave1(){
ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.test071211", new object[] { }, this.ob);
return;
}
public override void ToolBar_Click(object sender, string ToolbarKey)
{
base.ToolBar_Click(sender, ToolbarKey);
switch (ToolbarKey)
{
case "Close":
this.Close();
break;
case "doQuery":
doQuery();
break;
case "doSave":
//doSave1();
//return;
if (!Query_Jielu())
{
doSave();
}
else
{
MessageUtil.ShowTips("此判定炉号已结炉!");
}
break;
case "doDelete":
doChedan();
break;
case "doJQ":
doJQ();
break;
case "doJQCancel":
doJQCancel();
break;
}
}
///
/// 撤销交齐
///
private void doJQCancel()
{
//ArrayList list = new ArrayList();
//list.Add("a");
//list.Add("b");
//list.Add("c");
////ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.test171224", new object[] { list }, this.ob);
//List matgpList = EntityHelper.GetData
// ("com.steering.pss.buybillet.Buybillet.test171224", new object[] { list }, this.ob);
//return;
UltraGridRow row = ug_wgpstockinfo.ActiveRow;
if (row == null)
return;
string judge_apply_code = row.Cells["jugde_apply_code"].Value.ToString();
string stove_no = row.Cells["stove_no"].Value.ToString();
if (!string.IsNullOrEmpty(judge_apply_code))
{
MessageUtil.ShowTips("已申请判定,不能撤销结炉!");
return;
}
string isJielu = row.Cells["node_fur_flag"].Value.ToString();
if (isJielu == "否")
{
MessageUtil.ShowTips("未结炉,不需要撤销!");
return;
}
if (MessageUtil.ShowYesNoAndTips("确认撤销:" + stove_no + " 结炉?") == DialogResult.No)
{
return;
}
//以下进行实际退结炉操作
ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.deleteJieluTH", new object[] { stove_no }, this.ob);
Query_wgpStockinfo();
MessageUtil.ShowTips("撤销成功!");
}
///
/// 交齐(库存标注交齐使用)
///
private void doJQ()
{
UltraGridRow row = ug_wgpstockinfo.ActiveRow;
if (row == null)
return;
string stove_no = row.Cells["stove_no"].Value.ToString();
string isJielu = row.Cells["node_fur_flag"].Value.ToString();
if (isJielu == "是")
{
MessageUtil.ShowTips("已结炉,不需要再次结炉!");
return;
}
if (string.IsNullOrEmpty(isJielu))
{
MessageUtil.ShowTips("未找到实际入库信息,无法结炉!");
return;
}
//string stockname = cb_stock_jl.Value.ToString();
//DataTable dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.get_CGP_Stock_JIELUINFO", new object[] { judge_stove_no_no }, this.ob);
//ArrayList arr = new ArrayList();
//bool hasStock = false;
//foreach (DataRow dtrow in dt.Rows)
//{
// ArrayList arr1 = new ArrayList();
// string tempstock = dtrow["storage_name"].ToString();
// string temp_judge_apply_code = dtrow["jugde_apply_code"].ToString();
// string gpreq_id = dtrow["gpreq_id"].ToString();
// if (!string.IsNullOrEmpty(gpreq_id) && !arr1.Contains(gpreq_id))
// {
// arr1.Add(gpreq_id);
// arr1.Add(stove_no);
// arr.Add(arr1);
// }
// if (tempstock == stockname)
// hasStock = true;
//}
//string message = string.Empty;
//if (!hasStock)
//{
// message += "本仓库无库存,不能在此结炉.\n";
//}
//if (!string.IsNullOrEmpty(message))
//{
// MessageUtil.ShowTips(message);
// return;
//}
if (MessageUtil.ShowYesNoAndTips("确认:" + stove_no + " 结炉?") == DialogResult.No)
{
return;
}
//以下进行实际结炉操作
ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.updateMatGpMStocksJieluTH", new object[] { stove_no }, this.ob);
Query_wgpStockinfo();
MessageUtil.ShowTips("结炉成功!");
}
///
/// 撤单
///
private void doChedan()
{
//UltraGridRow row = ug_rkinfo_p.ActiveRow;
//string instock_doc = row.GetValue("INSTOCK_DOC");
StringBuilder sb = new StringBuilder();
StringBuilder sb1 = new StringBuilder();
ArrayList arr = new ArrayList();
int resultCount = 0;
foreach (UltraGridRow row in ug_rkinfo_p.Rows)
{
ArrayList arr1 = new ArrayList();
if (row.Cells["CHK"].Text.ToString() == "True")
{
//sb.Append(row.Cells["INSTOCK_DOC"].Value.ToString());
//sb.Append(",");
string instock_doc = row.Cells["INSTOCK_DOC"].Value.ToString();
string gpreq_id = row.Cells["GPREQ_ID"].Value.ToString();
string judge_stove_no = row.Cells["JUDGE_STOVE_NO"].Value.ToString();
arr1.Add(gpreq_id);
arr1.Add(judge_stove_no);
arr1.Add(instock_doc);
arr.Add(arr1);
sb.Append(instock_doc);
sb.Append(",");
sb1.Append(judge_stove_no);
sb1.Append(",");
resultCount++;
}
}
string ids = sb.ToString();
if (ids.EndsWith(","))
{
ids = ids.Substring(0, ids.Length - 1);
}
string ids1 = sb1.ToString();
if (ids1.EndsWith(","))
{
ids1 = ids1.Substring(0, ids1.Length - 1);
}
if (string.IsNullOrEmpty(ids))
{
MessageBox.Show("未选中有效的记录!");
return;
}
if(MessageUtil.ShowYesNoAndTips("确认撤销:"+resultCount+"条记录")== DialogResult.No){
return;
}
//调用取消虚拟炉计划
//CoreClientParam ccp = new CoreClientParam();
//string create_name = this.UserInfo.GetUserName();
//ccp.ServerName = "com.steering.pss.plnsaleord.stove.ComPlanFurnace";
//ccp.MethodName = "deletePlnOutsourc";
//ccp.ServerParams = new object[] { arr, create_name };
//ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
//if (ccp.ReturnInfo != "成功")
//{
// MessageUtil.ShowTips(ccp.ReturnInfo);
// return;
//}
string stockcode = cb_stock_cd.Value.ToString();
ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.delete_CGP_Stock_CHEDAN_TH", new object[] { ids, stockcode,ids1 }, this.ob);
Query_wgpKucun();
ds_rkinfo_c.Tables[0].Rows.Clear();
MessageUtil.ShowTips("操作完成!");
}
//查询(共用)
private void doQuery()
{
if(tabC.ActiveTab.Key=="tab1")
{
Query_wgpOrders();
}
if (tabC.ActiveTab.Key == "tab2")
{
Query_wgpKucun();
}
if (tabC.ActiveTab.Key == "tab3")
{
Query_wgpStockinfo();
}
}
private string queryIsRKinfoOk()
{
string resultMessage = string.Empty;
UltraGridRow row = ug_orders.ActiveRow;
if (row == null)
return "未选中有效合同";
string dbpc = row.GetValue("单倍坯长");
string dm = row.GetValue("断面");
string gz = row.GetValue("钢种");
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.buybillet.Buybillet";
ccp.MethodName = "queryRkinfo";
ccp.ServerParams = new object[] { judge_stove_no, dm, dbpc, gz };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
resultMessage = ccp.ReturnInfo;
//if (ccp.ReturnCode != -1)
//{
// if (ccp.ReturnInfo.Equals("保存成功!"))
// {
// }
// else
// {
// MessageUtil.ShowTips(ccp.ReturnInfo);
// }
//}
return resultMessage;
}
//入库操作
private void doSave()
{
bool zdzl = true;
get_stove_no();
stove_no = stove_no.Trim();
judge_stove_no = judge_stove_no.Trim();
stove_no = stove_no.Replace(" ", "");
judge_stove_no = judge_stove_no.Replace(" ", "");
string departmentid = this.UserInfo.GetDeptid();
string deptId = this.UserInfo.GetDeptid();
if (string.IsNullOrEmpty(stove_no))
{
MessageUtil.ShowTips("炉号不能为空!");
return;
}
if (string.IsNullOrEmpty(judge_stove_no) && !deptId.StartsWith("002023"))
{
MessageUtil.ShowTips("判定炉号不能为空!");
return;
}
if (!Regex.Match(stove_no, "^\\d+$").Success && !deptId.StartsWith("002023"))
{
MessageUtil.ShowTips("炉号含有非数字字符!");
return;
}
if (!Regex.Match(judge_stove_no, "^\\d+$").Success && !deptId.StartsWith("002023"))
{
MessageUtil.ShowTips("判定炉号含有非数字字符!");
return;
}
judge_stove_no = stove_no;
if (stove_no != judge_stove_no)
{
MessageUtil.ShowTips("炉号和判定炉号不相等,不能保存!");
return;
}
string locationtemp = txt_location.Text.Trim();
locationtemp += "AAA";
if (string.IsNullOrEmpty(locationtemp))
{
MessageUtil.ShowTips("库位不能为空!");
return;
}
string ischongfu = queryIsRKinfoOk();
if(!string.IsNullOrEmpty(ischongfu))
{
MessageUtil.ShowTips(ischongfu);
return;
}
string isJielu = "0";
if (ck_jielu.Checked && MessageUtil.ShowYesNoAndQuestion("是否确认结炉?") == DialogResult.No)
{
return;
}
if (ck_jielu.Checked)
{
isJielu = "1";
}
this.ug_rukinfo.UpdateData();
String username = this.UserInfo.GetUserName();
String stockname = cb_stock.Text;
String location = txt_location.Text.Trim();
String level = cb_level.Text;
ArrayList parm = new ArrayList();
DataTable dt = this.ds_rukuinfo.Tables[0].GetChanges(DataRowState.Modified);
if(dt == null)
{
return;
}
if (dt.GetChanges(DataRowState.Modified) == null)
{
MessageBox.Show("没有修改的数据!");
}
else
{
var rs = from rows in dt.AsEnumerable()
where rows.RowState == DataRowState.Modified
select rows;
foreach (var row in rs)
{
string bc = row["倍尺"].ToString();
int count = 0;
int.TryParse(row["支数"].ToString(), out count);
decimal weight = 0;
decimal.TryParse(row["重量"].ToString(), out weight);
int gplength = 0;
int.TryParse(row["管坯长度"].ToString(), out gplength);
string message = bc + "倍尺 :";
if (count == 0)
{
message += " 支数不正确;";
}
if (weight == 0)
{
message += " 重量不正确;";
}
if (gplength == 0)
{
message += " 管坯长度不正确;";
}
if (count == 0 && weight == 0)
{
continue;
}
if (count == 0 || weight == 0)
{
MessageUtil.ShowTips(message);
return;
}
string str = string.Empty;
str += "bc:";
str += row["倍尺"].ToString();
str += ";";
str += "count:";
str += row["支数"].ToString();
str += ";";
str += "weight:";
str += row["重量"].ToString();
str += ";";
str += "gplength:";
str += row["管坯长度"].ToString();
str += ";";
parm.Add(str);
if (deptId.StartsWith("002023") && row["管坯长度"].ToString() != row["管坯理论长度"].ToString())
{
zdzl = false;
}
}
if (parm.Count == 0)
{
return;
}
//天淮deptid,如果是天淮,首先获取最大炉号(天淮不再获得判定炉号)
//if (deptId.StartsWith("002023"))
//{
// DataTable dtJudge_stove_no = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.get_TH_GP_JUDGE_STOVE_NO", new object[] { }, this.ob);
// if (dtJudge_stove_no != null && dtJudge_stove_no.Rows.Count > 0)
// {
// judge_stove_no = dtJudge_stove_no.Rows[0][0].ToString();
// }
//}
ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.do_CGP_RK_TH", new object[] { ord_no_pk,stove_no,judge_stove_no,car_no,departmentid,parm,username,stockname,location,level,isJielu }, this.ob);
//foreach (var row in rs)
//{
// string bc = row["倍尺"].ToString();
// string count = row["支数"].ToString();
// CoreClientParam ccp = new CoreClientParam();
// ccp.ServerName = "com.steering.pss.buybillet.Buybillet";
// ccp.MethodName = "update_RKZL";
// ccp.ServerParams = new object[] { ord_no_pk, stove_no };
// ccp = ob.ExecuteNonQuery(ccp,CoreInvokeType.Internal);
// if(ccp.ReturnCode.Equals(1))
// {
// MessageUtil.ShowTips("操作成功!");
// }
//}
UltraGridRow rowOrder = ug_orders.ActiveRow;
String type = "1";
if (rowOrder != null)
{
String gptype = rowOrder.Cells["管坯类型"].Value.ToString();
if (gptype == "锻坯")
type = "0";
}
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.buybillet.Buybillet";
ccp.MethodName = "update_RKZL";
ccp.ServerParams = new object[] { ord_no_pk, stove_no, judge_stove_no,type };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
//if (ccp.ReturnCode.Equals(1))
//{
// MessageUtil.ShowTips("操作成功!");
//}
//ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.update_RKZL", new object[] { ord_no_pk, stove_no, judge_stove_no }, this.ob);
//以下调用虚拟炉计划(结炉时调用)
//if (ck_jielu.Checked && zdzl)
//{
// string create_name = this.UserInfo.GetUserName();
// ccp.ServerName = "com.steering.pss.plnsaleord.stove.ComPlanFurnace";
// ccp.MethodName = "queryPlnOutsourc";
// ccp.ServerParams = new object[] { gpreq_id, judge_stove_no, create_name };
// ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
//}
MessageUtil.ShowTips("操作成功!");
this.ug_rukinfo.UpdateData();
foreach(DataRow row in this.ds_rukuinfo.Tables[0].Rows)
{
row["支数"] = DBNull.Value;
row["重量"] = DBNull.Value;
row["理论重量"] = DBNull.Value;
row["管坯理论重量"] = DBNull.Value;
}
ds_rukuinfo.Tables[0].AcceptChanges();
txt_carno.Focus();
txt_stove_no.Text = string.Empty;
txt_judge_stove_no.Text = string.Empty;
bind_ug_orders();
}
}
///
/// 查询外购坯合同
///
private void Query_wgpOrders()
{
//ds_orders
string supplier = "";
string orderno = "";
if (ck_supplier.Checked)
{
supplier = cb_supplier.Text;
}
if(ck_orderno.Checked)
{
orderno = txt_orderno.Text.Trim();
}
string deptId = this.UserInfo.GetDeptid();
DataTable dt = new DataTable();
//天淮deptid
if (deptId.StartsWith("002023"))
{
dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.get_CGP_RK_OrdersTH", new object[] { supplier, orderno }, this.ob);
}
else
{
dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.get_CGP_RK_Orders", new object[] { supplier, orderno }, this.ob);
}
GridHelper.CopyDataToDatatable(dt,ds_orders.Tables[0], true);
RefreshAndAutoSize(ug_orders);
}
///
/// 查询入库清单(撤单用)
///
private void Query_wgpKucun()
{
//查询条件仓库编码
string stockcode = cb_stock_cd.Value.ToString();
string orderno = "";
string judge_stove_no = "";
if(ultraCheckEditor1.Checked)
{
orderno = txt_orderno_cd.Text.Trim();
}
if (ultraCheckEditor3.Checked)
{
judge_stove_no = this.txt_stove_judgeno_cd.Text.Trim();
}
DataTable dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.get_CGP_Stock_CHEDAN_TH", new object[] { stockcode, orderno, judge_stove_no }, this.ob);
GridHelper.CopyDataToDatatable(dt, ds_rkinfo_p.Tables[0], true);
RefreshAndAutoSize(ug_rkinfo_p);
}
///
/// 查询外购坯到厂预报
///
private void Query_wgpDcyb(string ord_no_pk)
{
//ds_dcyb = ???
DataTable dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.get_CGP_Orders_Dcyb", new object[] { ord_no_pk }, this.ob);
GridHelper.CopyDataToDatatable(dt, ds_dcyb.Tables[0], true);
}
//绑定供应商
private void Bind_Supplier()
{
DataTable dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.queryBUY_BASE_CUSTOMER", new object[] { }, this.ob);
DataTable _dt = new DataTable();
_dt.Columns.Add("SUPPLIER", typeof(string));
var _rows = dt.AsEnumerable().OrderBy(r => r.Field("CUSTOMER_NO"));
foreach (var row in _rows)
{
if(row["CUSTOMER_NM"].ToString()=="全部")
{
continue;
}
DataRow _row = _dt.NewRow();
_row["SUPPLIER"] = row["CUSTOMER_NM"];
_dt.Rows.Add(_row);
}
this.cb_supplier.DataSource = _dt;
this.cb_supplier_cd.DataSource = _dt;
}
///
/// 绑定仓库
///
private void Bind_Stock()
{
var departments = this.ValidDataPurviewIds;
DataTable dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.get_CGP_Stock", new object[] { departments }, this.ob);
if (dt.Rows.Count > 0)
{
cb_stock.DataSource = dt;
cb_stock.DisplayMember = "storage_name";
cb_stock.ValueMember = "storage_no";
cb_stock.SelectedIndex = 0;
cb_stock_cd.DataSource = dt;
cb_stock_cd.DisplayMember = "storage_name";
cb_stock_cd.ValueMember = "storage_no";
cb_stock_cd.SelectedIndex = 0;
cb_stock_jl.DataSource = dt;
cb_stock_jl.DisplayMember = "storage_name";
cb_stock_jl.ValueMember = "storage_no";
cb_stock_jl.SelectedIndex = 0;
}
}
///
/// 绑定层数
///
private void Bind_Level()
{
DataTable dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.get_CGP_RK_Level", new object[] { }, this.ob);
cb_level.DataSource = dt;
cb_level.SelectedIndex = 0;
}
private void ck_orderno_CheckedChanged(object sender, System.EventArgs e)
{
if (ck_orderno.Checked)
{
txt_orderno.Enabled = true;
}
else
{
txt_orderno.Enabled = false;
}
}
///
/// 选择行,查询到厂预报
///
///
///
private void ug_orders_ClickCell(object sender, ClickCellEventArgs e)
{
bind_ug_orders();
}
private void ug_orders_Click(object sender, EventArgs e)
{
bind_ug_orders();
}
private void bind_ug_orders()
{
UltraGridRow row = ug_orders.ActiveRow;
if (row == null)
return;
ord_no_pk = row.GetValue("ORD_NO_PK");
gpreq_id = row.GetValue("GPBUYPLANID");
Query_wgpDcyb(ord_no_pk);
string dbpc = row.GetValue("单倍坯长");
Bind_GpLengthTo_ugrkinfo(dbpc);
}
private void Bind_GpLengthTo_ugrkinfo(string db_pc)
{
int dbpc = int.Parse(db_pc);
foreach (DataRow row in ds_rukuinfo.Tables[0].Rows)
{
row["管坯长度"] = Convert.ToInt32(row["倍尺"]) * dbpc;
row["管坯理论长度"] = Convert.ToInt32(row["倍尺"]) * dbpc;
}
}
private void ck_sglcode_CheckedChanged(object sender, System.EventArgs e)
{
txt_stove_no.Text = string.Empty;
txt_judge_stove_no.Text = string.Empty;
if(ck_sglcode.Checked)
{
txt_stove_no.Enabled = true;
txt_judge_stove_no.Enabled = true;
}
else
{
txt_stove_no.Enabled = false;
txt_judge_stove_no.Enabled = false;
}
}
///
/// 获取炉号以及判定炉号
///
private void get_stove_no()
{
UltraGridRow row = ug_dcyb.ActiveRow;
if(row != null)
{
stove_no = row.Cells["炉号"].Value.ToString();
judge_stove_no = row.Cells["判定炉号"].Value.ToString();
}
if(ck_sglcode.Checked)
{
stove_no = txt_stove_no.Text.Trim();
judge_stove_no = txt_judge_stove_no.Text.Trim();
}
car_no = txt_carno.Text.Trim();
}
private void cb_stock_SelectionChanged(object sender, System.EventArgs e)
{
string stockname = cb_stock.Text;
Bind_location(stockname);
}
private void Bind_location(string stockname)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.get_CGP_Stock_Location", new object[] {stockname}, this.ob);
if (dt.Rows.Count > 0)
{
cb_location.DataSource = dt;
cb_location.DisplayMember = "LOCATION_NAME";
cb_location.ValueMember = "LOCATION_NAME";
cb_location.SelectedIndex = 0;
txt_location.Text = dt.Rows[0]["LOCATION_NAME"].ToString();
}
}
private bool Query_Jielu()
{
get_stove_no();
if(string.IsNullOrEmpty(ord_no_pk) || string.IsNullOrEmpty(judge_stove_no))
{
return false;
}
bool flag = false;
DataTable dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.get_CGP_RK_JIELU", new object[] { ord_no_pk, judge_stove_no }, this.ob);
if(int.Parse(dt.Rows[0][0].ToString())>0)
{
flag = true;
}
return flag;
}
///
/// 刷新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)
{
column.PerformAutoResize(Infragistics.Win.UltraWinGrid.PerformAutoSizeType.AllRowsInBand);
}
}
ultraGrid.Refresh();
}
catch { }
}
///
/// 查询详细信息
///
///
///
private void ug_rkinfo_p_ClickCell(object sender, ClickCellEventArgs e)
{
UltraGridRow row = ug_rkinfo_p.ActiveRow;
if (row == null)
return;
string instock_doc = row.GetValue("INSTOCK_DOC");
DataTable dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.get_CGP_Stock_CHEDAN_DETAILS_TH", new object[] { instock_doc }, this.ob);
GridHelper.CopyDataToDatatable(dt, ds_rkinfo_c.Tables[0], true);
RefreshAndAutoSize(ug_rkinfo_c);
SetStaticsInfocd();
}
private void ug_rkinfo_p_Click(object sender, EventArgs e)
{
UltraGridRow row = ug_rkinfo_p.ActiveRow;
if (row == null)
return;
string instock_doc = row.GetValue("INSTOCK_DOC");
DataTable dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.get_CGP_Stock_CHEDAN_DETAILS_TH", new object[] { instock_doc }, this.ob);
GridHelper.CopyDataToDatatable(dt, ds_rkinfo_c.Tables[0], true);
RefreshAndAutoSize(ug_rkinfo_c);
SetStaticsInfocd();
}
private void FrmCGpRk_Shown(object sender, EventArgs e)
{
setToolBarAppearance(DefaultableBoolean.True, DefaultableBoolean.False, DefaultableBoolean.False);
RefreshAndAutoSize(ug_orders);
RefreshAndAutoSize(ug_dcyb);
}
private void ultraCheckEditor1_CheckedChanged(object sender, EventArgs e)
{
if (ultraCheckEditor1.Checked)
{
txt_orderno_cd.Enabled = true;
}
else
{
txt_orderno_cd.Enabled = false;
}
}
private void ultraCheckEditor3_CheckedChanged(object sender, EventArgs e)
{
if (ultraCheckEditor3.Checked)
{
txt_stove_judgeno_cd.Enabled = true;
}
else
{
txt_stove_judgeno_cd.Enabled = false;
}
}
private void ug_rkinfo_p_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
{
foreach (UltraGridRow uRow in ug_rkinfo_p.Selected.Rows)
{
if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
{
uRow.Cells["CHK"].Value = true;
}
}
}
///
/// 禁止排序
///
///
public void ForbidSort(UltraGrid ugr)
{
foreach (UltraGridColumn ugc in ugr.DisplayLayout.Bands[0].Columns)
{
ugc.SortIndicator = SortIndicator.Disabled;
ugc.AllowRowFiltering = DefaultableBoolean.False;
}
}
private void ug_rkinfo_p_AfterRowActivate(object sender, EventArgs e)
{
UltraGridRow row = ug_rkinfo_p.ActiveRow;
string instock_doc = row.GetValue("INSTOCK_DOC");
DataTable dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.get_CGP_Stock_CHEDAN_DETAILS_TH", new object[] { instock_doc }, this.ob);
GridHelper.CopyDataToDatatable(dt, ds_rkinfo_c.Tables[0], true);
RefreshAndAutoSize(ug_rkinfo_c);
SetStaticsInfocd();
}
private void ug_orders_AfterRowActivate(object sender, EventArgs e)
{
bind_ug_orders();
}
private void txt_location_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
{
string stockname = cb_stock.Text;
StockLocationPopup frm = new StockLocationPopup(this.ob);
frm.StockName = stockname;
frm.StartPosition = FormStartPosition.CenterScreen;
frm.Show();
frm.onSelected += frm_onSelected;
}
private void frm_onSelected(string location)
{
txt_location.Text = location;
}
private void Query_wgpStockinfo()
{
string judge_stove_no = txt_judge_stoveno_jl.Text.Trim();
string stockcode = cb_stock_jl.Value.ToString();
DataTable dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.get_CGP_Stock_INFO_TH", new object[] { stockcode, judge_stove_no }, this.ob);
GridHelper.CopyDataToDatatable(dt, ds_stockinfo_qry.Tables[0], true);
RefreshAndAutoSize(ug_wgpstockinfo);
}
private void btn_cancelJieLu_Click_1(object sender, EventArgs e)
{
UltraGridRow row = ug_wgpstockinfo.ActiveRow;
if (row == null)
return;
string judge_apply_code = row.Cells["jugde_apply_code"].Value.ToString();
if(!string.IsNullOrEmpty(judge_apply_code))
{
MessageUtil.ShowTips("已申请判定,不能撤销结炉!");
return;
}
string isJielu = row.Cells["node_fur_flag"].Value.ToString();
if (isJielu=="否")
{
MessageUtil.ShowTips("未结炉,不需要撤销!");
return;
}
MessageUtil.ShowTips("撤销成功!");
}
private void ug_rukinfo_AfterCellUpdate(object sender, CellEventArgs e)
{
if (e.Cell.Column.Key == "支数" || e.Cell.Column.Key == "管坯长度")
{
UltraGridRow row = e.Cell.Row;
calculate_ug_rukinfo_theoryweight(row);
}
}
private void calculate_ug_rukinfo_theoryweight(UltraGridRow _row)
{
object value = _row.GetValue("支数");
string gplength = _row.GetValue("管坯长度");
string gplengthll = _row.GetValue("管坯理论长度");
if (value == null)
return;
int quantity;
if (Int32.TryParse(value.ToString(), out quantity) && quantity > 0)
{
UltraGridRow row = ug_orders.ActiveRow;
if (row == null)
return;
string diam = row.GetValue("断面");
double d = double.Parse(diam) / 1000;
double weight = quantity * (d * d / 4) * 3.1415 * 7.8 * double.Parse(gplength) / 1000;
double weightll = quantity * (d * d / 4) * 3.1415 * 7.8 * double.Parse(gplengthll) / 1000;
_row.SetValue("理论重量", Math.Round(weight, 3).ToString());
_row.SetValue("管坯理论重量", Math.Round(weightll, 3).ToString());
}
else
{
_row.Cells["理论重量"].Value = DBNull.Value;
_row.Cells["管坯理论重量"].Value = DBNull.Value;
_row.Cells["重量"].Value = DBNull.Value;
}
SetStaticsInfo();
}
private void SetStaticsInfo()
{
try
{
if (this.ug_rukinfo.Rows.Count == 0)
{
this.ug_rukinfo.DisplayLayout.Bands[0].Summaries.Clear();
}
else
{
ArrayList alist = new ArrayList();
//废钢
alist.Add("支数");
alist.Add("理论重量");
alist.Add("重量");
SetStaticsInfoSum(ref this.ug_rukinfo, alist, true);
}
}
catch { }
}
private void SetStaticsInfocd()
{
try
{
if (this.ug_rkinfo_c.Rows.Count == 0)
{
this.ug_rkinfo_c.DisplayLayout.Bands[0].Summaries.Clear();
}
else
{
ArrayList alist = new ArrayList();
//废钢
alist.Add("支数");
alist.Add("重量");
SetStaticsInfoSum(ref this.ug_rkinfo_c, alist, true);
}
}
catch { }
}
public void SetStaticsInfoSum(ref UltraGrid myGrid1, ArrayList alistColumns, bool clearExists)
{
try
{
UltraGridBand band = myGrid1.DisplayLayout.Bands[0];
if (clearExists)
band.Summaries.Clear();
band.Override.SummaryFooterCaptionVisible = Infragistics.Win.DefaultableBoolean.False;
for (int i = 0; i < alistColumns.Count; i++)
{
try
{
SummarySettings summary = band.Summaries.Add(SummaryType.Sum, band.Columns[alistColumns[i].ToString()]);
summary.SummaryDisplayArea = SummaryDisplayAreas.BottomFixed;
summary.SummaryPosition = SummaryPosition.UseSummaryPositionColumn;
if (alistColumns[i].ToString().Contains("COUNT") || alistColumns[i].ToString().Contains("支数"))
{
summary.DisplayFormat = "{0:N0}";
}
else
{
summary.DisplayFormat = "{0:N3}";
}
summary.Appearance.TextHAlign = Infragistics.Win.HAlign.Right;
summary.Appearance.TextVAlign = Infragistics.Win.VAlign.Middle;
summary.Appearance.FontData.Bold = DefaultableBoolean.True;
summary.Lines = 3;
}
catch { }
}
//band.Summaries.Add("Summary1", SummaryType.Count, band.Columns["GTLRATEYLG"]);
//band.Summaries["Summary1"].Formula ="sum([FGSTYLG])*100/sum([MATERIALOUTYLG])";
}
catch { }
}
///
/// 设置tpco 天淮 是否可以修改长度及隐藏 参考列
///
public void setTpcoTH()
{
string deptId = this.UserInfo.GetDeptid();
if (deptId.StartsWith("002023"))
{
ug_rukinfo.DisplayLayout.Bands[0].Columns["管坯长度"].CellActivation = Activation.AllowEdit;
}
ug_rukinfo.DisplayLayout.Bands[0].Columns["管坯理论长度"].Hidden = true;
ug_rukinfo.DisplayLayout.Bands[0].Columns["管坯理论重量"].Hidden = true;
txt_stove_no.Enabled = true;
}
}
}