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.Collections;
using CoreFS.CA06;
namespace Core.LZMes.Client.UIM
{
public partial class UIM010040 : FrmBase
{
//钢卷号
private string COIL_NO = "";
internal string before_yard = "1-01A-01";
public UIM010040()
{
InitializeComponent();
}
public override void ToolBar_Click(object sender, string ToolbarKey)
{
switch (ToolbarKey)
{
case "Query":
this.DoQuery();
break;
case "Add":
//this.DoAdd();
break;
case "Update":
//this.DoUpdate();
break;
case "Delete":
//this.DoDelete();
break;
case "Save":
this.DoSave();
break;
case "Exit":
this.Close();
break;
}
}
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void label2_Click(object sender, EventArgs e)
{
}
///
/// 查询钢卷在系统中的位置
///
private void DoQuery()
{
try
{
this.dataSet1.Tables[0].Clear();
string coilNo = "R" + this.textBox1.Text.Trim() /*+ "-" */+ this.textBox2.Text.Trim()
+ "A" + this.textBox3.Text.Trim();
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "UIM.UIM010040";
ccp.MethodName = "queryCoilStatus";
ccp.ServerParams = new object[] { coilNo };
ccp.SourceDataTable = this.dataSet1.Tables[0];
this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
this.dataSet1.Tables[1].Clear();
CoreClientParam ccp1 = new CoreClientParam();
ccp1.ServerName = "UIM.UIM010040";
ccp1.MethodName = "queryCoilOtherInfo";
ccp1.ServerParams = new object[] { coilNo };
ccp1.SourceDataTable = this.dataSet1.Tables[1];
this.ExecuteQueryToDataTable(ccp1, CoreInvokeType.Internal);
COIL_NO = coilNo;
foreach (Infragistics.Win.UltraWinGrid.UltraGridRow ugr in ultraGrid1.Rows)
{
if (ugr.Cells["CUR_PROG_CD"].Value.ToString().Equals("酸轧指示待机") || ugr.Cells["CUR_PROG_CD"].Value.ToString().Equals("基料卷充当待机"))
{
ugr.Appearance.BackColor = Color.LightGreen;
}
else
{
ugr.Appearance.BackColor = Color.White;
}
if (ugr.Cells["TOT_DEC_GRD"].Value.ToString().Equals("不合格"))
{
ugr.Cells["TOT_DEC_GRD"].Appearance.BackColor = Color.Red;
}
//添加生产判定信息显示
if (ugr.Cells["TECH_DCS_CD"].Value.ToString().Equals("不合格"))
{
ugr.Cells["TECH_DCS_CD"].Appearance.BackColor = Color.Red;
ugr.Cells["TECH_DCS_DESC"].Appearance.BackColor = Color.Red;
}
//添加了生产判定信息,这个里的凸度楔形报红就取消了
//double xiexin = System.Math.Abs(double.Parse(ugr.Cells["HC_XIE_XIN"].Value.ToString()));
//double tudu = System.Math.Abs(double.Parse(ugr.Cells["HC_TU_DU"].Value.ToString()));
//if (xiexin>tudu)
//{
// ugr.Cells["HC_XIE_XIN"].Appearance.BackColor = Color.Red;
// ugr.Cells["HC_TU_DU"].Appearance.BackColor = Color.Red;
//}
}
//添加了生产判定信息,这个里的温度报红就取消了
//foreach (Infragistics.Win.UltraWinGrid.UltraGridRow ugr in ultraGrid2.Rows)
//{
// double wendu = double.Parse(ugr.Cells["DC_TEMP_AVG"].Value.ToString());
// if (wendu > 760)
// {
// ugr.Cells["DC_TEMP_AVG"].Appearance.BackColor = Color.Red;
// //ugr.Cells["HC_TU_DU"].Appearance.BackColor = Color.Red;
// }
//}
foreach (Infragistics.Win.UltraWinGrid.UltraGridRow ugr in ultraGrid3.Rows)
{
foreach (Infragistics.Win.UltraWinGrid.UltraGridCell ugc in ugr.Cells)
{
if (ugc.Text.Trim().Equals("不合格"))
{
ugc.Appearance.BackColor = Color.Red;
}
else
{
ugc.Appearance.BackColor = Color.White;
}
}
}
//CoreClientParam ccp = new CoreClientParam();
//ccp.ServerName = "UIM.UIM010040";
//ccp.MethodName = "addYard";
//this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
}
catch (Exception EX)
{
MessageBox.Show(EX.ToString());
}
}
private void FDoQuery()
{
try
{
this.dataSet1.Tables[0].Clear();
string coilNo = "L" + this.textBox6.Text.Trim() + "-" + this.textBox5.Text.Trim()
+ "-" + this.textBox4.Text.Trim();
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "UIM.UIM010040";
ccp.MethodName = "queryfanxiu";
ccp.ServerParams = new object[] { coilNo };
ccp.SourceDataTable = this.dataSet1.Tables[0];
this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
this.dataSet1.Tables[1].Clear();
CoreClientParam ccp1 = new CoreClientParam();
ccp1.ServerName = "UIM.UIM010040";
ccp1.MethodName = "queryCoilOtherInfo";
ccp1.ServerParams = new object[] { coilNo };
ccp1.SourceDataTable = this.dataSet1.Tables[1];
this.ExecuteQueryToDataTable(ccp1, CoreInvokeType.Internal);
COIL_NO = coilNo;
foreach (Infragistics.Win.UltraWinGrid.UltraGridRow ugr in ultraGrid1.Rows)
{
if (ugr.Cells["CUR_PROG_CD"].Value.ToString().Equals("酸轧指示待机") || ugr.Cells["CUR_PROG_CD"].Value.ToString().Equals("基料卷充当待机"))
{
ugr.Appearance.BackColor = Color.LightGreen;
}
else
{
ugr.Appearance.BackColor = Color.White;
}
if (ugr.Cells["TOT_DEC_GRD"].Value.ToString().Equals("不合格"))
{
ugr.Cells["TOT_DEC_GRD"].Appearance.BackColor = Color.Red;
}
//添加生产判定信息显示
if (ugr.Cells["TECH_DCS_CD"].Value.ToString().Equals("不合格"))
{
ugr.Cells["TECH_DCS_CD"].Appearance.BackColor = Color.Red;
ugr.Cells["TECH_DCS_DESC"].Appearance.BackColor = Color.Red;
}
}
foreach (Infragistics.Win.UltraWinGrid.UltraGridRow ugr in ultraGrid3.Rows)
{
foreach (Infragistics.Win.UltraWinGrid.UltraGridCell ugc in ugr.Cells)
{
if (ugc.Text.Trim().Equals("不合格"))
{
ugc.Appearance.BackColor = Color.Red;
}
else
{
ugc.Appearance.BackColor = Color.White;
}
}
}
}
catch (Exception EX)
{
MessageBox.Show(EX.ToString());
}
}
///
/// 原料库钢卷入库
///
private void DoSave()
{
try
{
if (this.dataTable1.Rows.Count < 1)
{
MessageBox.Show("没有查询到相应的钢卷信息!");
return;
}
DataRow dr = dataTable1.Rows[0];
if (dr["CUR_PROG_CD"].ToString().Equals("酸轧轧制待机") || dr["CUR_PROG_CD"].ToString().Equals("酸轧卷取待机"))
{
MessageBox.Show("已经下发轧制计划,不能修改入库数据!");
return;
}
string curProcCd = "PRC";
string ordFL = dr["ORD_FL"].ToString();
if (ordFL.Equals("1"))
{
curProcCd = "PCA";
}
string entryShift = this.UserInfo.GetUserOrder();//入库班次
string entryGroup = this.UserInfo.GetUserGroup();//入库班组
string entryDtime = this.ultraDateTimeEditor1.DateTime.ToString("yyyyMMddHHmmss");//入库时间
string reg_id = this.UserInfo.GetUserID();//操作人
string C_CUR_LOAD_LOC = dr["CUR_LOAD_LOC"].ToString();
//DataTable dt = new DataTable();
//CoreClientParam ccp2 = new CoreClientParam();
//ccp2.ServerName = "UIM.UIM010040";
//ccp2.MethodName = "DoSelect";
//ccp2.ServerParams = new object[] { C_CUR_LOAD_LOC, COIL_NO };
//ccp2.SourceDataTable = dt;
//this.ExecuteQueryToDataTable(ccp2, CoreInvokeType.Internal);
if (C_CUR_LOAD_LOC=="")
{
if (dr["CUR_PROG_CD"].ToString().Equals("基料卷入库待机") || dr["CUR_PROG_CD"].ToString().Equals("基料卷充当待机"))
{
UIM010041 dlg = new UIM010041(this, 1);
if (DialogResult.OK == dlg.ShowDialog(this))
{
string yardAddr = dlg.YARD_ADDR.ToUpper();//垛位
string[] tmpArray = yardAddr.Split('-');
try
{
if (tmpArray[1].Length < 3)
{
tmpArray[1] = "0" + tmpArray[1];
}
if (tmpArray[2].Length < 2)
{
tmpArray[2] = "0" + tmpArray[2];
}
if (Convert.ToInt32(tmpArray[0]) != 1)
{
if (Convert.ToInt32(tmpArray[0]) != 6)
{
MessageBox.Show("垛位输入有误,请重新输入!");
return;
}
}
//if (tmpArray[1] > "17A")
//{
// MessageBox.Show("垛位输入有误,请重新输入!");
// return;
//}
if (Convert.ToInt32(tmpArray[2]) > 69)
{
MessageBox.Show("垛位行数不能超过69,请重新输入!");
return;
}
if (Convert.ToInt32(tmpArray[1].Substring(0, 2)) > 50)//20171226列数扩大 原27
{
if (Convert.ToInt32(tmpArray[1].Substring(0, 2)) != 81)
{
MessageBox.Show("垛位列数不能超过50,请重新输入!");
return;
}
}
if ((tmpArray[1].Substring(2, 1)) != "A" && (tmpArray[1].Substring(2, 1)) != "B")
{
MessageBox.Show("垛位格式不对,请重新输入!");
return;
}
yardAddr = tmpArray[0] + "-" + tmpArray[1] + "-" + tmpArray[2];
}
catch (Exception ex)
{
MessageBox.Show("垛位信息错误!");
return;
}
DataTable dt = new DataTable();
CoreClientParam ccpx = new CoreClientParam();
ccpx.ServerName = "UIM.UIM010040";
ccpx.MethodName = "SelectCoilYard";
ccpx.ServerParams = new object[] { yardAddr };
ccpx.SourceDataTable = dt;
this.ExecuteQueryToDataTable(ccpx, CoreInvokeType.Internal);
if (yardAddr == "1-81A-01" || yardAddr == "1-81A-1")//20160318新增一个虚拟垛位用于热轧移送by:wl
dt.Clear();
if (dt.Rows.Count <= 0)
{
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "UIM.UIM010040";
ccp.MethodName = "saveCoilYard";
ccp.ServerParams = new object[] { COIL_NO, yardAddr, entryShift, entryGroup, entryDtime, reg_id, curProcCd };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode != 0)
{
MessageBox.Show(ccp.ReturnInfo);
return;
}
}
else
{
MessageBox.Show("该位置上已经有了钢卷,请重新输入!");
return;
}
}
else
{
return;
}
}
}
ultraGrid1.UpdateData();
ultraGrid2.UpdateData();
string thk = ultraGrid1.ActiveRow.Cells["COIL_THK"].Value.ToString().Trim();
string wth = ultraGrid1.ActiveRow.Cells["COIL_WTH"].Value.ToString().Trim();
string len = ultraGrid1.ActiveRow.Cells["COIL_LEN"].Value.ToString().Trim();
string actWgt = ultraGrid1.ActiveRow.Cells["ACT_WGT"].Value.ToString().Trim();
string calWgt = ultraGrid1.ActiveRow.Cells["CAL_WGT"].Value.ToString().Trim();
string india = ultraGrid1.ActiveRow.Cells["COIL_INDIA"].Value.ToString().Trim();
string outdia = ultraGrid1.ActiveRow.Cells["COIL_OUTDIA"].Value.ToString().Trim();
string crkCd1 = ultraGrid2.ActiveRow.Cells["CRK_CD1"].Value.ToString().Trim();
string crkCd2 = ultraGrid2.ActiveRow.Cells["CRK_CD2"].Value.ToString().Trim();
string crkCd3 = ultraGrid2.ActiveRow.Cells["CRK_CD3"].Value.ToString().Trim();
string crkCd4 = ultraGrid2.ActiveRow.Cells["CRK_CD4"].Value.ToString().Trim();
string crkCd5 = ultraGrid2.ActiveRow.Cells["CRK_CD5"].Value.ToString().Trim();
string fmAvg = ultraGrid2.ActiveRow.Cells["FM_EXT_STRIP_TEMP_AVG"].Value.ToString().Trim();
string cdAvg = ultraGrid2.ActiveRow.Cells["DC_TEMP_AVG"].Value.ToString().Trim();
string cExtShape = ultraGrid2.ActiveRow.Cells["C_EXTSHAPE_DEC_GRD"].Value.ToString().Trim();
string crkCDDesc = ultraGrid2.ActiveRow.Cells["CRK_CD_DESC"].Value.ToString().Trim();
CoreClientParam ccp1 = new CoreClientParam();
ccp1.ServerName = "UIM.UIM010040";
ccp1.MethodName = "updateCoilInfo";
ccp1.ServerParams = new object[] { COIL_NO, thk, wth, len, actWgt, calWgt, india, outdia, crkCd1, crkCd2, crkCd3, crkCd4, crkCd5, fmAvg, cdAvg, reg_id, cExtShape, crkCDDesc };
ccp1 = this.ExecuteNonQuery(ccp1, CoreInvokeType.Internal);
this.SaveYtg();
this.DoQuery();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void SaveYtg()
{
try
{
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "UIM.UIM010040";
ccp.MethodName = "SaveYtg";
ccp.ServerParams = new object[] { COIL_NO };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void UIM010040_Load(object sender, EventArgs e)
{
this.dataSet4.Tables[0].Clear();
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "UIM.UIM010040";
ccp.MethodName = "queryDefectInfo";
ccp.SourceDataTable = this.dataSet4.Tables[0];
this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
DataRowCollection drs = dataTable4.Rows;
Infragistics.Win.ValueListItem[] valueListItems = new Infragistics.Win.ValueListItem[drs.Count];
for (int i = 0; i < drs.Count; i++)
{
Infragistics.Win.ValueListItem item = new Infragistics.Win.ValueListItem();
item.DataValue = drs[i]["SM_CD"].ToString().Clone().ToString();
item.DisplayText = drs[i]["SM_CFNM"].ToString().Clone().ToString();
valueListItems[i] = item;
}
this.ultraComboEditor1.Items.AddRange(valueListItems);
Infragistics.Win.ValueListItem[] valueListItems2 = new Infragistics.Win.ValueListItem[2];
Infragistics.Win.ValueListItem item1 = new Infragistics.Win.ValueListItem();
item1.DataValue = "1";
item1.DisplayText = "合格";
valueListItems2[0] = item1;
Infragistics.Win.ValueListItem item2 = new Infragistics.Win.ValueListItem();
item2.DataValue = "2";
item2.DisplayText = "不合格";
valueListItems2[1] = item2;
this.ultraComboEditor2.Items.AddRange(valueListItems2);
}
///
/// 查询区域中一行的垛位信息
///
///
///
///
internal void queryYardRows(int areaType,int areaNo, string yardCol)
{
this.dataSet3.Tables[0].Clear();
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "UIM.UIM010070";
ccp.MethodName = "queryYardRows";
ccp.ServerParams = new object[] { areaType,areaNo, yardCol };
ccp.SourceDataTable = this.dataSet3.Tables[0];
this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
}
///
/// 查询区域中一行的垛位中钢卷信息
///
///
///
///
internal void queryYardRowCoils(int areaType,int areaNo, string yardCol)
{
this.dataSet2.Tables[0].Clear();
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "UIM.UIM010070";
ccp.MethodName = "queryYardRowCoils";
ccp.ServerParams = new object[] { areaType,areaNo, yardCol };
ccp.SourceDataTable = this.dataSet2.Tables[0];
this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
}
internal int queryMinYardRow(int areaType, int areaNo, string yardCol)
{
int minRow = 1;
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "UIM.UIM010070";
ccp.MethodName = "queryMinYardRow";
ccp.ServerParams = new object[] { areaType, areaNo, yardCol };
ccp = this.ExecuteQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnObject != null)
{
minRow = int.Parse(ccp.ReturnObject.ToString());
}
return minRow;
}
///
/// 查询库存区域
///
///
///
internal ArrayList queryYardAreas(int areaType)
{
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "UIM.UIM010040";
ccp.MethodName = "queryYardAreas";
ccp.ServerParams = new object[] { areaType };
ccp = this.ExecuteQuery(ccp, CoreInvokeType.Internal);
ArrayList retList = (ArrayList)ccp.ReturnObject;
return retList;
}
///
/// 查询库存区分
///
///
///
internal ArrayList queryYardColsByArea(int areaNo)
{
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "UIM.UIM010040";
ccp.MethodName = "queryYardColsByArea";
ccp.ServerParams = new object[] { areaNo };
ccp = this.ExecuteQuery(ccp, CoreInvokeType.Internal);
ArrayList retList = (ArrayList)ccp.ReturnObject;
return retList;
}
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
{
textBox2.Focus();
}
if ((int)e.KeyChar == 3)
{
Clipboard.SetDataObject("R"+textBox1.Text.Trim()+"-"+textBox2.Text.Trim()+"A"+textBox3.Text.Trim(), true);
}
if ((int)e.KeyChar == 22)
{
// GetDataObject检索当前剪贴板上的数据
IDataObject iData = Clipboard.GetDataObject();
// 将数据与指定的格式进行匹配,返回bool
if (iData.GetDataPresent(DataFormats.Text))
{
// GetData检索数据并指定一个格式
string text = (string)iData.GetData(DataFormats.Text);
if (text.Length >= 13)
{
textBox1.Text = text.Substring(1, 1);
textBox2.Text = text.Substring(3, 6);
textBox3.Text = text.Substring(10, 3);
}
}
}
e.Handled = (e.KeyChar == 3 || e.KeyChar == 22);
}
private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
{
textBox3.Focus();
}
}
private void textBox3_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
{
this.DoQuery();
}
}
private void ultraGrid2_AfterRowActivate(object sender, EventArgs e)
{
ultraGrid2.ActiveRow.Cells["CRK_CD1"].ValueList = ultraComboEditor1.ValueList ;
ultraGrid2.ActiveRow.Cells["CRK_CD2"].ValueList = ultraComboEditor1.ValueList;
ultraGrid2.ActiveRow.Cells["CRK_CD3"].ValueList = ultraComboEditor1.ValueList;
ultraGrid2.ActiveRow.Cells["CRK_CD4"].ValueList = ultraComboEditor1.ValueList;
ultraGrid2.ActiveRow.Cells["CRK_CD5"].ValueList = ultraComboEditor1.ValueList;
ultraGrid2.ActiveRow.Cells["C_EXTSHAPE_DEC_GRD"].ValueList = ultraComboEditor2.ValueList;
}
private void button2_Click(object sender, EventArgs e)
{
this.FDoQuery();
}
}
}