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.Mat
{
public partial class FrmMatLabSampleConfirm : FrmBase
{
private string[] arrId;//数据权限
public FrmMatLabSampleConfirm()
{
InitializeComponent();
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
publicUltraGridDetail1.Ug.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
publicUltraGridDetail2.Ug.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
}
private void FrmMatLabSampleConfirm_Load(object sender, EventArgs e)
{
//arrId = this.ValidDataPurviewIds;//获取数据权限
arrId = UserInfo.GetUserName() == "admin" ? PublicMat.ValidData() : this.ValidDataPurviewIds;
InitColumns();
}
private void InitColumns()
{
//"SAMPLE_WEIGHT","试样重量",
publicUltraGridDetail1.InitColumnsBaseDetail(new string[] { "CHK", "CHECK_NO", "BATCH_NO", "SAMPLE_NO", "ITEM_NAME", "SAMPLE_WEIGHT", "PRODUCT_STD", "GRADE", "WEIGHT", "CHECK_COUNT_DESC", "CONSIGN_DEPT", "CONSIGN_NAME", "CONSIGN_TIME", "DEPT_ID_DESC", "SAMPLE_REMARK" }, true, new string[] { "CHK", "SAMPLE_WEIGHT" });
publicUltraGridDetail2.InitColumnsBaseDetail(new string[] { "CHK", "FLAG_DESC", "CHECK_NO", "BATCH_NO", "SAMPLE_NO", "ITEM_NAME", "SAMPLE_WEIGHT", "PRODUCT_STD", "GRADE", "WEIGHT", "CHECK_COUNT_DESC", "CONSIGN_DEPT", "CONSIGN_NAME", "CONSIGN_TIME", "DEPT_ID_DESC", "LAB_RECEIVE_NAME", "LAB_RECEIVE_TIME", "SAMPLE_REMARK" }, true, new string[] { "CHK" });
}
///
/// 重写基类方法
///
///
///
public override void ToolBar_Click(object sender, string ToolbarKey)
{
//新增、修改修约值、审核、删除、退出
switch (ToolbarKey)
{
case "Query":
if (ultraTabControl1.SelectedTab.Index == 0)
{
QueryCheckConsignDetail_Dept(publicUltraGridDetail1, "0");
}
else if (ultraTabControl1.SelectedTab.Index == 1)
{
QueryCheckConsignDetail_Dept(publicUltraGridDetail2, "12345");
}
break;
case "Confirm":
UpdateCheckConsignDetail();
break;
case "Cancel":
CancelUpdateCheckConsignDetail();
break;
case "Print":
if (ultraTabControl1.SelectedTab.Index == 0)
{
RepLimsMatLabSampleConfirm(publicUltraGridDetail1, "0");
}
else if (ultraTabControl1.SelectedTab.Index == 1)
{
RepLimsMatLabSampleConfirm(publicUltraGridDetail2, "12345");
}
break;
case "Close":
if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes)
{
this.Close();
}
break;
}
}
//查询检验委托基本信息
private void QueryCheckConsignDetail_Dept(PublicUltraGridDetail publicUltraGridDetail, string strFlag)
{
try
{
ArrayList arrayList = matQueryBase1.GetQueryInfo(strFlag);
DataTable dt = PublicServer.GetData("com.steering.lims.data.mat.FrmMatSampleConfirm.QueryCheckConsignBaseDetail_Dept", arrId == null ? new Object[] { arrayList, new string[] { UserInfo.GetDeptid() } } : new Object[] { arrayList, arrId }, ob);
if (dt == null || dt.Rows.Count == 0)
{
publicUltraGridDetail.DataTable.Rows.Clear();
return;
}
GridHelper.CopyDataToDatatable(dt, publicUltraGridDetail.DataTable, true);//把dt复制给dataTable4
//GridHelper.RefreshAndAutoSize(publicUltraGridDetail.Ug);//刷新Grid
PublicMat.RefreshAndAutoSizeColumns(publicUltraGridDetail.Ug, new string[] { "SAMPLE_REMARK" }, false);
}
catch (Exception ex)
{
MessageUtil.ShowWarning(ex.Message);
return;
}
}
//来样确认
private void UpdateCheckConsignDetail()
{
try
{
if (publicUltraGridDetail1.Ug == null || publicUltraGridDetail1.Ug.Rows.Count == 0)
{
return;
}
if (ultraTabControl1.SelectedTab.Index != 0)
{
MessageUtil.ShowTips("只有选择了未确认页才能进行来样确认操作!");
return;
}
publicUltraGridDetail1.Ug.UpdateData();
DataRow[] arrBase = publicUltraGridDetail1.DataTable.Select("CHK = 'True'");
if (arrBase == null || arrBase.Length == 0)
{
MessageUtil.ShowTips("请勾选至少一条需要进行来样确认的信息!");
return;
}
if (MessageUtil.ShowYesNoAndQuestion("是否来样确认?") == DialogResult.Yes)
{
ArrayList alBase = new ArrayList();//存放所有需要更新的基础信息
ArrayList alBaseParams = new ArrayList();//存放单个基础参数信息
foreach (DataRow row in arrBase)
{
alBaseParams = new ArrayList();//增加要更新的基础标志位信息
alBaseParams.Add(row["SAMPLE_WEIGHT"].ToString());//试样重量
alBaseParams.Add("1");
alBaseParams.Add(UserInfo.GetUserName());//收样人
alBaseParams.Add(DateTime.Now.ToString());//收样时间
alBaseParams.Add("");
alBaseParams.Add("");//样品备注row["SAMPLE_REMARK"].ToString()
alBaseParams.Add("0");
alBaseParams.Add(row["DEPT_ID"].ToString());
alBaseParams.Add(row["SAMPLE_NO"].ToString());
alBaseParams.Add(row["SAMPLE_NO"].ToString());
alBaseParams.Add(row["SAMPLE_NO"].ToString());
alBaseParams.Add(row["CHECK_NO"].ToString());
alBase.Add(alBaseParams);
}
PublicServer.SetData("com.steering.lims.data.mat.FrmMatSampleConfirm.UpdateCheckConsignDetail",
new Object[] { alBase }, ob);
QueryCheckConsignDetail_Dept(publicUltraGridDetail1, "0");
QueryCheckConsignDetail_Dept(publicUltraGridDetail2, "1234");
MessageUtil.ShowTips("来样确认成功!");
}
}
catch (Exception e)
{
MessageUtil.ShowWarning(e.Message);
}
}
private void CancelUpdateCheckConsignDetail()
{
try
{
if (publicUltraGridDetail2.Ug == null || publicUltraGridDetail2.Ug.Rows.Count == 0)
{
return;
}
if (ultraTabControl1.SelectedTab.Index != 1)
{
MessageUtil.ShowTips("只有选择了已确认页才能进行取消确认操作!");
return;
}
publicUltraGridDetail2.Ug.UpdateData();
DataRow[] arrBase = publicUltraGridDetail2.DataTable.Select("CHK = 'True' AND FLAG = '1'");
if (arrBase == null || arrBase.Length == 0)
{
MessageUtil.ShowTips("请勾选至少一条状态为已确认的信息!");
return;
}
WinCancelReason pc = new WinCancelReason();
pc.ShowDialog();
if (pc.DialogResult != DialogResult.OK)
{
return;
}
string strRemark = pc.StrRemark;
strRemark = this.Text + "取消确认由于" + strRemark + "(" + UserInfo.GetUserName() + " " + DateTime.Now.ToString() + ")";
ArrayList alBase = new ArrayList();//存放所有需要更新的基础信息
ArrayList alBaseParams = new ArrayList();//存放单个基础参数信息
foreach (DataRow row in arrBase)
{
alBaseParams = new ArrayList();//增加要更新的基础标志位信息
alBaseParams.Add("");
alBaseParams.Add("0");
alBaseParams.Add("");//收样人
alBaseParams.Add("");//收样时间
alBaseParams.Add(strRemark);
alBaseParams.Add(strRemark);//样品备注row["SAMPLE_REMARK"].ToString()
alBaseParams.Add("1");
alBaseParams.Add(row["DEPT_ID"].ToString());
alBaseParams.Add(row["SAMPLE_NO"].ToString());
alBaseParams.Add(row["SAMPLE_NO"].ToString());
alBaseParams.Add(row["SAMPLE_NO"].ToString());
alBaseParams.Add(row["CHECK_NO"].ToString());
alBase.Add(alBaseParams);
}
PublicServer.SetData("com.steering.lims.data.mat.FrmMatSampleConfirm.UpdateCheckConsignDetail",
new Object[] { alBase }, ob);
QueryCheckConsignDetail_Dept(publicUltraGridDetail2, "1234");
QueryCheckConsignDetail_Dept(publicUltraGridDetail1, "0");
MessageUtil.ShowTips("取消确认成功!");
}
catch (Exception e)
{
MessageUtil.ShowWarning(e.Message);
}
}
private void RepLimsMatLabSampleConfirm(PublicUltraGridDetail publicUltraGridDetail, string strFlag)
{
try
{
//if (ultraTabControl1.SelectedTab.Index != 0)
//{
// MessageUtil.ShowWarning("只有在未确认任务单页才能进行打印来样确认单操作!");
// return;
//}
this.Cursor = Cursors.WaitCursor;
publicUltraGridDetail.Ug.UpdateData();
DataRow[] arrBase = publicUltraGridDetail.DataTable.Select("CHK = 'True'");
if (arrBase == null || arrBase.Length == 0)
{
MessageUtil.ShowWarning("请选择您要打印的来样确认单!");
return;
}
string strCHECK_NO = "";
foreach (DataRow row in arrBase)
{
strCHECK_NO += "'" + row["CHECK_NO"].ToString() + row["SAMPLE_NO"].ToString() + row["DEPT_ID"].ToString() + "',";
}
strCHECK_NO = strCHECK_NO.Remove(0, 1);
strCHECK_NO = strCHECK_NO.Remove(strCHECK_NO.Length - 2);
string strurl = "";
if (ob.MainUrl.StartsWith("http://127.0.0.1"))
{
strurl = "http://localhost:8075/WebReport/ReportServer?reportlet=RepLimsMatLabSampleConfirm.cpt&bypagesize=false&CHECK_NO=" + strCHECK_NO;
}
else
{
strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepLimsMatLabSampleConfirm.cpt&bypagesize=false" + "&CHECK_NO=" + strCHECK_NO + "&FLAG=" + strFlag;
}
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;
}
}
}
}