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;
using Infragistics.Win;
namespace Core.StlMes.Client.Lims.Data.Mat
{
public partial class FrmMatGetSamplePlan : FrmBase
{
private DataTable m_dtSelectItems;
public FrmMatGetSamplePlan()
{
InitializeComponent();
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
publicUltraGridBase1.Ug.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;//不默认加载筛选条件框
ultraGrid3.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
publicUltraGridDetail1.Ug.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
publicUltraGridBase2.Ug.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;//不默认加载筛选条件框
ultraGrid6.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
publicUltraGridDetail2.Ug.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
}
private void FrmMatGetSamplePlan_Load(object sender, EventArgs e)
{
InitColumns();
}
private void InitColumns()
{
publicUltraGridBase1.PublicUltraGridBaseActive += new EventHandler(publicUltraGridBase1_PublicUltraGridBaseActive);//调用委托事件
publicUltraGridBase1.InitColumnsBase(new string[] { "CHECK_NO", "ORDER_NO", "DELIVERY_SUB_ID", "BATCH_NO", "DELIVERY_LOCATION", "ITEM_NAME", "STANDARDS_CODE", "PRODUCT_STD", "SUPP_NAME", "WEIGHT", "WEIGHT_UNIT", "CONSIGN_TIME", "GET_SAMPLE_STD", "GET_SAMPLE_STD_DESC" }, true, null);//, "DELIVERY_SUB_ID", "CONSIGN_TIME"
publicUltraGridBase2.PublicUltraGridBaseActive += new EventHandler(publicUltraGridBase2_PublicUltraGridBaseActive);
publicUltraGridBase2.InitColumnsBase(new string[] { "CHECK_NO", "ORDER_NO", "DELIVERY_SUB_ID", "BATCH_NO", "DELIVERY_LOCATION", "ITEM_NAME", "STANDARDS_CODE", "PRODUCT_STD", "SUPP_NAME", "WEIGHT", "WEIGHT_UNIT", "CONSIGN_TIME", "GET_SAMPLE_STD", "GET_SAMPLE_STD_DESC" }, true, null);
publicUltraGridDetail1.AddColumns(0, null, publicUltraGridDetail1.DataTable);
publicUltraGridDetail1.setColumnShowOrHidden(new string[] { "GET_SAMPLE_NAME", "GET_SAMPLE_TIME" }, false);
publicUltraGridDetail2.AddColumns(0, null, publicUltraGridDetail2.DataTable);
string[] arrColumnsItem = new string[] { "MAT_CODE", "MAT_NAME", "STDMIN_SIGN", "STDMIN", "STDMAX_SIGN", "STDMAX", "CHECK_CYCLE", "JUDGE_TYPE_CODE", "JUDGE_TYPE", "CHECK_CONDITION", "REMARK" };
string[] arrCaptionItem = new string[] { "检验项", "检验项", "下限符号", "下限", "上限符号", "上限", "检验周期", "验收方式", "验收方式", "试验要求", "备注" };
PublicMat.InitColumns(arrColumnsItem, arrCaptionItem, dataTable3, ultraGrid3, new string[] { "MAT_CODE", "JUDGE_TYPE_CODE" }, false, null);
PublicMat.InitColumns(arrColumnsItem, arrCaptionItem, dataTable6, ultraGrid6, new string[] { "MAT_CODE", "JUDGE_TYPE_CODE" }, false, null);
}
void publicUltraGridBase1_PublicUltraGridBaseActive(object sender, EventArgs e)
{
QueryCheckConsignDetailItems();
}
//查询检验委托明细信息
private void QueryCheckConsignDetailItems()
{
try
{
ArrayList arrayList = new ArrayList();
arrayList.Add(publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text.Trim());
DataTable dt = PublicServer.GetData("com.steering.lims.data.mat.FrmMatGetSamplePlan.QueryCheckConsignDetail",
new Object[] { arrayList }, ob);
if (dt == null || dt.Rows.Count == 0)
{
publicUltraGridDetail1.DataTable.Rows.Clear();
dataTable3.Rows.Clear();
return;
}
m_dtSelectItems = dt.Copy();
GridHelper.CopyDataToDatatable(dt, dataTable3, true);//把dt复制给dataTable1
GridHelper.RefreshAndAutoSize(ultraGrid3);//刷新Grid
}
catch (Exception ex)
{
MessageUtil.ShowWarning(ex.Message);
return;
}
}
void publicUltraGridBase2_PublicUltraGridBaseActive(object sender, EventArgs e)
{
QueryGetSampleRecord();
QueryCheckConsignDetailItemsShow();
}
//查询检验委托明细信息
private void QueryCheckConsignDetailItemsShow()
{
try
{
ArrayList arrayList = new ArrayList();
arrayList.Add(publicUltraGridBase2.Ur.Cells["CHECK_NO"].Text.Trim());
DataTable dt = PublicServer.GetData("com.steering.lims.data.mat.FrmMatGetSamplePlan.QueryCheckConsignDetail",
new Object[] { arrayList }, ob);
if (dt == null || dt.Rows.Count == 0)
{
publicUltraGridDetail2.DataTable.Rows.Clear();
dataTable7.Rows.Clear();
return;
}
GridHelper.CopyDataToDatatable(dt, dataTable6, true);//把dt复制给dataTable1
GridHelper.RefreshAndAutoSize(ultraGrid6);//刷新Grid
}
catch (Exception ex)
{
MessageUtil.ShowWarning(ex.Message);
return;
}
}
//查询取样记录
public void QueryGetSampleRecord()
{
ArrayList arrayList = new ArrayList();
arrayList.Add(publicUltraGridBase2.Ur.Cells["CHECK_NO"].Text.Trim());
DataTable dt = PublicServer.GetData("com.steering.lims.data.mat.FrmMatGetSamplePlan.QueryGetSampleRecord",
new Object[] { arrayList }, ob);
if (dt == null || dt.Rows.Count == 0)
{
dataTable2.Rows.Clear();
return;
}
GridHelper.CopyDataToDatatable(dt, dataTable6, true);//把dt复制给dataTable1
GridHelper.RefreshAndAutoSize(ultraGrid6);//刷新Grid
//PublicMat.RefreshAndAutoSizeColumns(ultraGrid6, new string[] { "SAMPLE_NO" }, false);
//DataTable dts = PublicMat.GetSelectDt(dt, "SAMPLE_NO IS NOT NULL").DefaultView.ToTable(true, "SAMPLE_NO");
GridHelper.CopyDataToDatatable(PublicMat.GetSelectDt(dt, "SAMPLE_NO IS NOT NULL").DefaultView.ToTable(true, "SAMPLE_NO", "GET_SAMPLE_NAME", "GET_SAMPLE_TIME", "GET_SAMPLE_SHIFT", "GET_SAMPLE_CLASS", "GET_SAMPLE_WEIGHT", "GET_SMALL_COUNT", "GET_SAMPLE_COUNT", "GET_SAMPLE_DEPT", "GET_SAMPLE_AREA", "GET_SAMPLE_REMARK"), publicUltraGridDetail2.DataTable, true);//把dt复制给dataTable1//去掉重复
GridHelper.RefreshAndAutoSize(publicUltraGridDetail2.Ug);//刷新Grid
}
///
/// 重写基类方法
///
///
///
public override void ToolBar_Click(object sender, string ToolbarKey)
{
//新增、修改修约值、审核、删除、退出
switch (ToolbarKey)
{
case "Query":
if (ultraTabControl1.SelectedTab.Index == 0)
{
QueryCheckConsignBase(publicUltraGridBase1, "0");
}
else if (ultraTabControl1.SelectedTab.Index == 1)
{
QueryCheckConsignBase(publicUltraGridBase2, "1");
}
break;
case "Add":
AddCheckConsignDetail();
break;
case "Update":
UpdateCheckConsignDetail();
break;
case "Delete":
DeleteCheckConsignDetail();
break;
case "View":
ViewZbsPosition();
break;
case "Close":
if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes)
{
this.Close();
}
break;
}
}
private void ViewZbsPosition()
{
UltraGridRow ur;
if (ultraTabControl1.SelectedTab.Index == 0)
{
ur = publicUltraGridBase1.Ur;
}
else
{
ur = publicUltraGridBase2.Ur;
}
if (ur == null)
{
MessageUtil.ShowWarning("请选择一条需要查看质保书的记录!");
return;
}
string strZBS = ur.Cells["FILE_POSITION"].Text.Trim();
string path = strZBS;
if (path == "")
{
MessageUtil.ShowWarning("文件路径为空!");
return;
}
if (PublicMat.ViewFilePosition(this.ob, path) == false)//不允许删除
{
}
}
//查询检验委托基本信息
private void QueryCheckConsignBase(PublicUltraGridBase publicUltraGridBase, string strFlag)
{
try
{
publicUltraGridBase.QueryCheckConsignBase("mat.FrmMatGetSamplePlan", matQueryBase1.GetQueryInfo(strFlag), this.ob);
if (publicUltraGridBase == publicUltraGridBase1 && publicUltraGridBase1.Ug.Rows.Count == 0)
{
dataTable3.Rows.Clear();
publicUltraGridDetail1.DataTable.Rows.Clear();
}
else if (publicUltraGridBase == publicUltraGridBase2 && publicUltraGridBase2.Ug.Rows.Count == 0)
{
dataTable6.Rows.Clear();
publicUltraGridDetail2.DataTable.Rows.Clear();
}
}
catch (Exception e)
{
MessageUtil.ShowWarning(e.Message);
return;
}
}
private void AddCheckConsignDetail()
{
try
{
publicUltraGridDetail1.Ug.UpdateData();
if (ultraTabControl1.SelectedTab.Index != 0)
{
MessageUtil.ShowWarning("只有在未取样编制页才能进行新增操作!");
return;
}
if (publicUltraGridBase1.Ur == null || publicUltraGridBase1.Ur.Activated == false)
{
MessageUtil.ShowWarning("请选择需要新增的数据!");
return;
}
if (dataTable3 == null || dataTable3.Rows.Count == 0)
{
MessageUtil.ShowWarning("此检验编号没有对应的检验项请刷新重试!");
return;
}
if (publicUltraGridDetail1.DataTable.Rows.Count == 0)
{
MessageUtil.ShowWarning("取样未完成不能新增!");
return;
}
if (MessageUtil.ShowYesNoAndQuestion("是否确认新增?") == DialogResult.Yes)
{
string strCHECK_NO = publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text;//检验委托编号
string strBATCH_NO = publicUltraGridBase1.Ur.Cells["BATCH_NO"].Text;
string strGET_SAMPLE_STD = publicUltraGridBase1.Ur.Cells["GET_SAMPLE_STD"].Text;
string strGET_SAMPLE_STD_DESC = publicUltraGridBase1.Ur.Cells["GET_SAMPLE_STD_DESC"].Text;
ArrayList alAll = new ArrayList();//整体list,插入几个表增加几个List
ArrayList alBase = new ArrayList();//基础表list
ArrayList alBaseDetail = new ArrayList();
//DataRow[] arrDr;
foreach (DataRow dr in publicUltraGridDetail1.DataTable.Rows)
{
//存检验编号、试样号
alBaseDetail = new ArrayList();
alBaseDetail.Add(strCHECK_NO);
alBaseDetail.Add(dr["SAMPLE_NO"].ToString());
alBaseDetail.Add("");
alBaseDetail.Add("");
alBaseDetail.Add("");
alBaseDetail.Add("");
alBaseDetail.Add("");
alBaseDetail.Add("");
alBaseDetail.Add("");
alBaseDetail.Add("");
alBaseDetail.Add("");
alBaseDetail.Add("");
alBaseDetail.Add("");
alBaseDetail.Add("");
alBaseDetail.Add("");
alBaseDetail.Add("");
alBaseDetail.Add("");
alBaseDetail.Add("");
alBaseDetail.Add(strGET_SAMPLE_STD);
alBaseDetail.Add(strGET_SAMPLE_STD_DESC);
alBaseDetail.Add(UserInfo.GetUserName());
//alBaseDetail.Add(arrDr[0]["GET_SAMPLE_TIME"].ToString());
alBaseDetail.Add(dr["GET_SAMPLE_SHIFT"].ToString());
alBaseDetail.Add(dr["GET_SAMPLE_CLASS"].ToString());
alBaseDetail.Add(dr["GET_SAMPLE_WEIGHT"].ToString());
alBaseDetail.Add(dr["GET_SMALL_COUNT"].ToString());
alBaseDetail.Add("1");
alBaseDetail.Add(dr["GET_SAMPLE_DEPT"].ToString());
alBaseDetail.Add(dr["GET_SAMPLE_AREA"].ToString());
alBaseDetail.Add(dr["GET_SAMPLE_REMARK"].ToString());
alBase.Add(alBaseDetail);
}
ArrayList alBaseInfo = new ArrayList();//基础表list
ArrayList alBaseInfoDetail = new ArrayList();
alBaseInfoDetail.Add("1");
alBaseInfoDetail.Add("0");
alBaseInfoDetail.Add(strCHECK_NO);
alBaseInfo.Add(alBaseInfoDetail);
ArrayList alDelete = new ArrayList();//基础表list
ArrayList alDeleteDetail = new ArrayList();
alDeleteDetail.Add(strCHECK_NO);
alDelete.Add(alDeleteDetail);
ArrayList alDetail = new ArrayList();//明细表list
ArrayList alDetailParams = new ArrayList();
publicUltraGridDetail1.Ug.UpdateData();
if (publicUltraGridDetail1.DataTable.Rows.Count > 0 && m_dtSelectItems != null && m_dtSelectItems.Rows.Count > 0)
{
foreach (DataRow dr in publicUltraGridDetail1.DataTable.Rows)
{
if (dr["SAMPLE_NO"].ToString().Trim() != "")
{
foreach (DataRow drSel in m_dtSelectItems.Rows)
{
//!!!需要检验的检验项才新增进DETAIL表
if (drSel["JUDGE_TYPE_CODE"].ToString().Trim() == "409001" || drSel["JUDGE_TYPE"].ToString().Trim() == "检验")
{
alDetailParams = new ArrayList();
alDetailParams.Add(strCHECK_NO);
alDetailParams.Add(strBATCH_NO);//批次号
alDetailParams.Add(dr["SAMPLE_NO"].ToString().Trim());
alDetailParams.Add(drSel["MAT_CODE"].ToString().Trim());
alDetailParams.Add(drSel["MAT_NAME"].ToString().Trim());
alDetailParams.Add(drSel["MAT_TYPE"].ToString().Trim());
alDetailParams.Add(drSel["MAT_UNIT"].ToString().Trim());
alDetailParams.Add(drSel["VALUE_TYPE"].ToString().Trim());
alDetailParams.Add(drSel["DEPT_ID"].ToString().Trim());
alDetailParams.Add(drSel["ADD_CONDITION"].ToString().Trim());
alDetailParams.Add(drSel["COMPLEX_TYPE"].ToString().Trim());
alDetailParams.Add(drSel["MAT_FORMULA"].ToString().Trim());
alDetailParams.Add(drSel["STDMIN_SIGN"].ToString().Trim());
alDetailParams.Add(drSel["STDMIN"].ToString().Trim());
alDetailParams.Add(drSel["STDMAX_SIGN"].ToString().Trim());
alDetailParams.Add(drSel["STDMAX"].ToString().Trim());
alDetailParams.Add(drSel["CHECK_CYCLE"].ToString().Trim());
alDetailParams.Add(drSel["JUDGE_TYPE_CODE"].ToString().Trim());
alDetailParams.Add(drSel["JUDGE_TYPE"].ToString().Trim());
alDetailParams.Add(drSel["CHECK_CONDITION"].ToString().Trim());
alDetailParams.Add(drSel["STD_TYPE"].ToString().Trim());
alDetail.Add(alDetailParams);
}
}
}
}
}
if (alDetail.Count == 0)
{
return;
}
alAll.Add(alBaseInfo);
alAll.Add(alDelete);
alAll.Add(alDetail);
alAll.Add(alBase);
PublicServer.SetData("com.steering.lims.data.mat.FrmMatGetSamplePlan.AddCheckConsignDetail",
new Object[] { strCHECK_NO, alAll }, this.ob);
QueryCheckConsignBase(publicUltraGridBase1, "0");
MessageUtil.ShowTips("新增成功!");
}
}
catch (Exception e)
{
MessageUtil.ShowWarning(e.Message);
return;
}
}
private void UpdateCheckConsignDetail()
{
}
private void DeleteCheckConsignDetail()
{
try
{
if (ultraTabControl1.SelectedTab.Index != 1)
{
MessageUtil.ShowWarning("只有在已取样编制页才能进行删除操作!");
return;
}
if (publicUltraGridBase2.Ur == null)
{
MessageUtil.ShowWarning("请选择需要删除的数据!");
return;
}
if (MessageUtil.ShowYesNoAndQuestion("是否确认删除?") == DialogResult.Yes)
{
string strCHECK_NO = publicUltraGridBase2.Ur.Cells["CHECK_NO"].Text.Trim();
ArrayList alAll = new ArrayList();
ArrayList alBaseDetail = new ArrayList();
alBaseDetail.Add("0");
alBaseDetail.Add("1");
alBaseDetail.Add(strCHECK_NO);
ArrayList alDelete = new ArrayList();
alDelete.Add(strCHECK_NO);
alAll.Add(alBaseDetail);
alAll.Add(alDelete);
PublicServer.SetData("com.steering.lims.data.mat.FrmMatGetSamplePlan.DeleteCheckConsignDetail",
new Object[] { strCHECK_NO, alAll }, this.ob);
QueryCheckConsignBase(publicUltraGridBase2, "1");
MessageUtil.ShowTips("删除成功!");
}
}
catch (Exception e)
{
MessageUtil.ShowWarning(e.Message);
return;
}
}
private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
{
switch (e.Tool.Key.ToString())
{
case "Add":
AddSampleNo();
break;
case "Cancel":
CancelSampleNo();
break;
}
}
private void AddSampleNo()
{
if (publicUltraGridDetail1.DataTable.Columns.Contains("SAMPLE_NO"))
{
if (publicUltraGridBase1.Ur != null)
{
DataRow dr = publicUltraGridDetail1.DataTable.NewRow();
int count = publicUltraGridDetail1.DataTable.Rows.Count;
string strSample_No = publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text.Trim() + "-" + (count + 1).ToString();
dr["SAMPLE_NO"] = strSample_No;
dr["GET_SAMPLE_SHIFT"] = UserInfo.GetUserOrderText();
dr["GET_SAMPLE_CLASS"] = UserInfo.GetUserGroupText();
publicUltraGridDetail1.DataTable.Rows.Add(dr);
}
}
}
private void CancelSampleNo()
{
if (publicUltraGridDetail1.Ur != null)
{
int count = publicUltraGridDetail1.DataTable.Rows.Count;
int index = publicUltraGridDetail1.Ug.Rows.IndexOf(publicUltraGridDetail1.Ur);
for (int i = 0; i < count - index; i++)
{
publicUltraGridDetail1.DataTable.Rows.RemoveAt(index);
}
}
}
private void FrmMatGetSamplePlan_Shown(object sender, EventArgs e)
{
if (toolMenu == null) return;
if (ultraTabControl1.SelectedTab.Index == 0)
{
if (toolMenu.Toolbars[0].Tools.Exists("Add"))
{
toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.True;
}
if (toolMenu.Toolbars[0].Tools.Exists("Update"))
{
this.toolMenu.Toolbars[0].Tools["Update"].InstanceProps.Visible = DefaultableBoolean.False;
}
if (toolMenu.Toolbars[0].Tools.Exists("Delete"))
{
toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False;
}
if (toolMenu.Toolbars[0].Tools.Exists("Clear"))
{
toolMenu.Toolbars[0].Tools["Clear"].InstanceProps.Visible = DefaultableBoolean.False;
}
}
else if (ultraTabControl1.SelectedTab.Index == 1)
{
if (toolMenu.Toolbars[0].Tools.Exists("Add"))
{
toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.False;
}
if (toolMenu.Toolbars[0].Tools.Exists("Update"))
{
this.toolMenu.Toolbars[0].Tools["Update"].InstanceProps.Visible = DefaultableBoolean.False;
}
if (toolMenu.Toolbars[0].Tools.Exists("Delete"))
{
toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.True;
}
if (toolMenu.Toolbars[0].Tools.Exists("Clear"))
{
toolMenu.Toolbars[0].Tools["Clear"].InstanceProps.Visible = DefaultableBoolean.False;
}
}
}
private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
{
if (toolMenu == null) return;
if (ultraTabControl1.SelectedTab.Index == 0)
{
if (toolMenu.Toolbars[0].Tools.Exists("Add"))
{
toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.True;
}
if (toolMenu.Toolbars[0].Tools.Exists("Update"))
{
this.toolMenu.Toolbars[0].Tools["Update"].InstanceProps.Visible = DefaultableBoolean.False;
}
if (toolMenu.Toolbars[0].Tools.Exists("Delete"))
{
toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False;
}
if (toolMenu.Toolbars[0].Tools.Exists("Clear"))
{
toolMenu.Toolbars[0].Tools["Clear"].InstanceProps.Visible = DefaultableBoolean.False;
}
}
else if (ultraTabControl1.SelectedTab.Index == 1)
{
if (toolMenu.Toolbars[0].Tools.Exists("Add"))
{
toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.False;
}
if (toolMenu.Toolbars[0].Tools.Exists("Update"))
{
this.toolMenu.Toolbars[0].Tools["Update"].InstanceProps.Visible = DefaultableBoolean.False;
}
if (toolMenu.Toolbars[0].Tools.Exists("Delete"))
{
toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.True;
}
if (toolMenu.Toolbars[0].Tools.Exists("Clear"))
{
toolMenu.Toolbars[0].Tools["Clear"].InstanceProps.Visible = DefaultableBoolean.False;
}
}
}
}
}