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 Infragistics.Win.UltraWinGrid;
using Core.Mes.Client.Comm.Tool;
using System.Collections;
using Core.Mes.Client.Comm.Control;
namespace Core.StlMes.Client.Lims.Data.PipeAndOutdec
{
public partial class FrmCheckConsignQuery : FrmBase
{
private string[] plineCodes = { };
public FrmCheckConsignQuery()
{
InitializeComponent();
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
publicUltraGridDetail1.Ug.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;//不默认加载筛选条件框
publicUltraGridChemDetail1.Ug.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
ultraGrid3.DisplayLayout.Override.RowSelectors = Infragistics.Win.DefaultableBoolean.False;//不显示行头
ultraGrid3.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
pipeQueryBase1.EnterHandler += QueryCheckConsignBase;
plineCodes = comm.GetPlineCode(ValidDataPurviewIds, ob);
}
private void FrmCheckConsignQuery_Load(object sender, EventArgs e)
{
InitColumns();
}
private void InitColumns()
{
publicUltraGridBase1.PublicUltraGridBaseActive += new EventHandler(outdecUltraGridBase1_PublicUltraGridBaseActive);//调用委托事件
publicUltraGridBase1.InitColumnsPipeBase(new string[] { "CHECK_NO", "CRAFT_SOURCE", "CIC", "PROCESS_CODE" }, true, null);
//string[] arrColumnsBase = new string[] { "CHECK_NO", "HEAT_NO", "STEEL_GRADE", "STEEL_NO", "PRODUCT_STD", "CONTRACT_NO", "DIMATER", "HEIGHT", "CONSIGN_DEPT", "CONSIGN_NAME", "CONSIGN_TIME", "ISPRODUCER", "SPEC_REQ", "FLAG", "FLAG_DESC", "REMARK", "IS_RUSH" };
//string[] arrCaptionBase = new string[] { "检验编号", "炉号", "钢级", "钢号", "技术标准", "合同号", "外径", "壁厚", "委托单位", "委托人", "委托时间", "是否监制", "特殊要求", "标志位", "标志位", "备注", "加急" };
//publicUltraGridBase1.InitColumns(arrColumnsBase, arrCaptionBase);
//publicUltraGridBase1.setColumnShowOrHidden(new string[] { "CHECK_NO" }, true);
//publicUltraGridBase1.setOtherColumnReadOnly(null);//可编辑列
string[] arrColumns = new string[] { "BATCH_NO","HEAD_MAT_NO","SAMPLE_NO", "HX", "ONH" };//"FLAG","CHK",
string[] arrCaption = new string[] { "批号", "样管编号", "试样号", "化学", "ONH" };//"试样状态","选择",
publicUltraGridDetail1.InitColumns(arrColumns, arrCaption);
//publicUltraGridDetail1.setOtherColumnReadOnly(null);//可编辑列
//publicUltraGridDetail1.setColumnShowOrHidden(new string[] { "FLAG" }, false);//不需要显示的行
//publicUltraGridDetail1.Ug.DisplayLayout.Bands[0].Override.AllowAddNew = AllowAddNew.TemplateOnBottom;
string[] arrColumnsBaseDetail = new string[] { "PHY_CODE_MAX", "PHY_NAME_MAX", "PHY_CODE", "PHY_NAME", "ITEM_CODE_F", "ITEM_NAME_F", "ITEM_CODE_W", "ITEM_NAME_W", "ITEM_CODE_S", "ITEM_NAME_S", "ISRCL" };
string[] arrCaptionBaseDetail = new string[] { "检验项代码", "检验项名称", "检验基础项代码", "检验基础项名称", "方向代码", "方向", "温度代码", "温度", "尺寸代码", "尺寸", "是否小样热处理" };
PublicPipeAndOutdec.InitColumns(arrColumnsBaseDetail, arrCaptionBaseDetail, dataTable3);
PublicPipeAndOutdec.setColumnShowOrHidden(ultraGrid3, new string[] { "PHY_CODE_MAX", "PHY_CODE", "ITEM_CODE_F", "ITEM_NAME_F", "ITEM_CODE_W", "ITEM_NAME_W", "ITEM_CODE_S", "ITEM_NAME_S" }, false);
PublicPipeAndOutdec.setOtherColumnReadOnly(ultraGrid3, null);
//PublicPipeAndOutdec.setOtherColumnReadOnly(publicUltraGridChemDetail1.Ug, null);
}
///
/// 重写基类方法
///
///
///
public override void ToolBar_Click(object sender, string ToolbarKey)
{
//新增、修改修约值、审核、删除、退出
switch (ToolbarKey)
{
case "Query":
QueryCheckConsignBase();
break;
case "Update":
UpdateCheckConsignBase();
break;
case "Cancel":
CancelCheckConsignBase();
break;
case "Producer":
UpdateProducer();
break;
case "NoProducer":
CancelNoProducer();
break;
case "Send":
UpdateCheckConsignDetail();
break;
case "Print":
RepLimsPipeJGCheckTaskOrder();
break;
case"AddPhy":
addPhyCodeMaxPhy();
break;
case "Close":
if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes)
{
this.Close();
}
break;
}
}
///
/// 增加检验项
///
private void addPhyCodeMaxPhy()
{
UltraGridRow row = publicUltraGridBase1.Ur;
if(row == null)return;
if (!row.Cells["CHECK_NO"].Text.Contains("K") && !row.Cells["CHECK_NO"].Text.Contains("Y") && !row.Cells["CHECK_NO"].Text.Contains("N") && !row.Cells["CHECK_NO"].Text.Contains("L"))
{
if (!checkFileNew(row))
{
return;
}
}
FrmAddPhy addPhy = new FrmAddPhy(this.ob,row.Cells["CHECK_NO"].Text);
addPhy.ShowDialog();
}
///
/// 验证该炉计划工艺序号是否是最新版本
///
///
///
private bool checkFileNew(UltraGridRow row)
{
string planCraftSeq = "";
string craftSeq = "";
//查询炉计划工艺版本序号
DataTable dsPlan = PublicServer.GetData("com.steering.lims.data.pipe.FrmCheckConsignQuery.doQueryPlanCraftSeq", new object[] { row.Cells["HEAT_NO"].Text, row.Cells["PROCESS_CODE"].Text }, ob);
if (dsPlan.Rows.Count > 0)
{
planCraftSeq = dsPlan.Rows[0][0].ToString();
}
//查询工艺最新版本号
DataTable dsCraft = PublicServer.GetData("com.steering.lims.data.pipe.FrmCheckConsignQuery.doQueryCraftSeq", new object[] { row.Cells["CRAFT_FILE_NO"].Text }, ob);
if (dsCraft.Rows.Count > 0)
{
craftSeq = dsCraft.Rows[0][0].ToString();
}
else
{
craftSeq = "0";
}
if (planCraftSeq == craftSeq)
{
return true;
}
else
{
MessageUtil.ShowTips("炉计划未获取最新工艺版本,不允许增加理化项!");
return false;
}
}
//查询检验委托基本信息
private void QueryCheckConsignBase()
{
try
{
ArrayList arrayList = new ArrayList();
arrayList = pipeQueryBase1.GetQueryInfo("012345");
arrayList.Add("");
arrayList.Add(plineCodes);
arrayList.Add(this.CustomInfo.ToString());
publicUltraGridBase1.QueryCheckConsignBase("pipe.PublicPipeBase", arrayList, this.ob);
if (publicUltraGridBase1.Ug.Rows.Count == 0)
{
ClearCheckConsign();
}
}
catch (Exception e)
{
MessageUtil.ShowWarning(e.Message);
return;
}
}
void outdecUltraGridBase1_PublicUltraGridBaseActive(object sender, EventArgs e)
{
try
{
this.Cursor = Cursors.WaitCursor;
pipeShowBase1.ShowBaseInfo(publicUltraGridBase1.Ur);
QueryCheckConsignDetail();
QueryCheckConsignChemDetail();
QueryCheckConsignPhyDetail();
}
finally
{
this.Cursor = Cursors.Default;
}
}
//查询检验委托项目明细信息
///
/// 查询检验委托项目明细信息
///
private void QueryCheckConsignPhyDetail()
{
try
{
DataTable dt = PublicServer.GetData("com.steering.lims.data.pipe.FrmCheckConsignQuery.QueryCheckConsignPhyDetail",
new Object[] { publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text.Trim() }, ob);
if (dt == null || dt.Rows.Count == 0)
{
dataTable3.Rows.Clear();
ultraExpandableGroupBox1.Hide();
return;
}
ultraExpandableGroupBox1.Show();
GridHelper.CopyDataToDatatable(dt, dataTable3, true);//把dt复制给dataTable4
GridHelper.RefreshAndAutoSize(ultraGrid3);//刷新Grid
}
catch (Exception ex)
{
MessageUtil.ShowWarning(ex.Message);
return;
}
}
//查询检验委托明细信息
///
/// 查询检验委托明细信息
///
private void QueryCheckConsignDetail()
{
try
{
ArrayList al = new ArrayList();
al.Add("");
al.Add(publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text.Trim());
publicUltraGridDetail1.QueryCheckConsignDetail("pipe.PublicPipeBase", al, this.ob, 4);
string strHide = "HX,ONH";
PublicPipeAndOutdec.HideNullColumn(strHide, publicUltraGridDetail1.Ug);
publicUltraGridDetail1.setOtherColumnReadOnly(null);//可编辑列
//RefreshAutoSize();//自适应
if (publicUltraGridDetail1.DataTable != null)
{
pipeShowBase1.ShowValue(publicUltraGridDetail1.DataTable.Rows.Count.ToString());
}
}
catch (Exception ex)
{
MessageUtil.ShowWarning(ex.Message);
return;
}
}
//查询检验委托化学明细信息
///
/// 查询检验委托化学明细信息
///
private void QueryCheckConsignChemDetail()
{
try
{
ArrayList al = new ArrayList();
al.Add("");
al.Add(publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text.Trim());
publicUltraGridChemDetail1.QueryCheckConsignChemDetail("pipe.PublicPipeBase", al, this.ob);
//PublicPipeAndOutdec.setOtherColumnReadOnly(publicUltraGridChemDetail1.Ug, null);
//RefreshAutoSize();//自适应
}
catch (Exception ex)
{
MessageUtil.ShowWarning(ex.Message);
return;
}
}
///
/// 监制
///
private void UpdateProducer()
{
try
{
if (publicUltraGridBase1.Ug == null || publicUltraGridBase1.Ug.Rows.Count == 0)
{
return;
}
if (MessageUtil.ShowYesNoAndQuestion("是否确认监制?") == DialogResult.Yes)
{
ArrayList alBase = new ArrayList();
alBase.Add("1");
alBase.Add("0");
alBase.Add(publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text.Trim());
PublicServer.SetData("com.steering.lims.data.pipe.FrmCheckConsignQuery.UpdateProducer",
new Object[] { alBase }, ob);
QueryCheckConsignBase();
MessageUtil.ShowTips("检验监制!");
}
}
catch (Exception e)
{
MessageUtil.ShowWarning(e.Message);
}
}
///
/// 取消监制
///
private void CancelNoProducer()
{
try
{
if (publicUltraGridBase1.Ug == null || publicUltraGridBase1.Ug.Rows.Count == 0)
{
return;
}
if (MessageUtil.ShowYesNoAndQuestion("是否确认取消监制?") == DialogResult.Yes)
{
ArrayList alBase = new ArrayList();
alBase.Add("0");
alBase.Add("1");
alBase.Add(publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text.Trim());
PublicServer.SetData("com.steering.lims.data.pipe.FrmCheckConsignQuery.UpdateProducer",
new Object[] { alBase }, ob);
QueryCheckConsignBase();
MessageUtil.ShowTips("检验取消监制!");
}
}
catch (Exception e)
{
MessageUtil.ShowWarning(e.Message);
}
}
//加急
///
/// 加急
///
private void UpdateCheckConsignBase()
{
try
{
if (publicUltraGridBase1.Ug == null || publicUltraGridBase1.Ug.Rows.Count == 0)
{
return;
}
if (MessageUtil.ShowYesNoAndQuestion("是否确认加急?") == DialogResult.Yes)
{
ArrayList alBase = new ArrayList();
alBase.Add("1");
alBase.Add(UserInfo.GetUserName());
alBase.Add(DateTime.Now.ToString());
alBase.Add("0");
alBase.Add(publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text.Trim());
PublicServer.SetData("com.steering.lims.data.pipe.FrmCheckConsignQuery.UpdateCheckConsignBase",
new Object[] { alBase }, ob);
QueryCheckConsignBase();
MessageUtil.ShowTips("检验加急成功!");
}
}
catch (Exception e)
{
MessageUtil.ShowWarning(e.Message);
}
}
//取消加急
///
/// 取消加急
///
private void CancelCheckConsignBase()
{
try
{
if (publicUltraGridBase1.Ug == null || publicUltraGridBase1.Ug.Rows.Count == 0)
{
return;
}
if (MessageUtil.ShowYesNoAndQuestion("是否确认取消加急?") == DialogResult.Yes)
{
ArrayList alBase = new ArrayList();
alBase.Add("0");
alBase.Add("");
alBase.Add("");
alBase.Add("1");
alBase.Add(publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text.Trim());
PublicServer.SetData("com.steering.lims.data.pipe.FrmCheckConsignQuery.UpdateCheckConsignBase",
new Object[] { alBase }, ob);
QueryCheckConsignBase();
MessageUtil.ShowTips("取消加急成功!");
}
}
catch (Exception e)
{
MessageUtil.ShowWarning(e.Message);
}
}
///
/// 调整试验室
///
private void UpdateCheckConsignDetail()
{
try
{
if (publicUltraGridBase1.Ur == null || publicUltraGridBase1.Ug == null || publicUltraGridBase1.Ug.Rows.Count == 0)
{
return;
}
if (MessageUtil.ShowYesNoAndQuestion("是否确认调整权限?") == DialogResult.Yes)
{
WinLabItemsSend pc = new WinLabItemsSend();
pc.Ob = this.ob;
pc.StrCheck = publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text.Trim();
pc.StrPath = "pipe.FrmCheckConsignQuery";
pc.ShowDialog();
if (pc.DialogResult != DialogResult.OK)
{
return;
}
MessageUtil.ShowTips("调整权限成功!");
}
}
catch (Exception e)
{
MessageUtil.ShowWarning(e.Message);
}
}
//清空检验委托
private void ClearCheckConsign()
{
publicUltraGridDetail1.DataTable.Rows.Clear();
PublicPipeAndOutdec.ReMoveColumns(publicUltraGridDetail1.DataTable, 3);//清除列
dataTable3.Rows.Clear();
publicUltraGridChemDetail1.DataTable.Rows.Clear();
}
private void RepLimsPipeJGCheckTaskOrder()
{
try
{
this.Cursor = Cursors.WaitCursor;
UltraGridRow ugr = publicUltraGridBase1.Ur;
if (ugr == null)
{
MessageUtil.ShowWarning("请选择您要打印的检验任务单!");
return;
}
string strCHECK_NO = ugr.Cells["CHECK_NO"].Value.ToString();
string strurl = "";
//if (ob.MainUrl.StartsWith("http://127.0.0.1"))
//{
// strurl = "http://localhost:8075/webroot/decision/view/report?viewlet=RepLimsPipeJGCheckTaskOrder.cpt&bypagesize=false&CHECK_NO=" + strCHECK_NO;
//}
//else
//{
strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepLimsPipeJGCheckTaskOrder.cpt&bypagesize=false&CHECK_NO=" + strCHECK_NO;
//}
FrmRepExcel fBug = new FrmRepExcel(ob, strurl);
fBug.AutoSize = true;
fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
fBug.WindowState = FormWindowState.Maximized;
fBug.Text = "检验任务单";
fBug.Show();
}
finally
{
this.Cursor = Cursors.Default;
}
}
}
}