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 Core.Mes.Client.Comm.Tool;
using System.Collections;
using Core.Mes.Client.Comm.Control;
using Infragistics.Win.UltraWinGrid;
namespace Core.StlMes.Client.Lims.Data.Steer
{
public partial class FrmSteerDataManage : FrmBase
{
public FrmSteerDataManage()
{
InitializeComponent();
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
ultraGrid1.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
ultraGrid2.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
}
private void FrmSteerDataManage_Load(object sender, EventArgs e)
{
InitColumns();
PublicSteer.ColumnsWidth(ultraGrid1, 0, 60);
PublicSteer.ColumnsWidth(ultraGrid2, 0, 60);
}
private void InitColumns()
{
string[] chemMax = PublicSteer.chemMax.Split(' ');
string[] chemMin = PublicSteer.chemMin.Split(' ');
string[] arrColumnsBase = new string[] { "CHK", "ID", "HEAT_NO", "SAMPLE_NO", "STEEL_NO", "CHECK_NAME", "CHECK_TIME", "CHECK_SHIFT", "CHECK_CLASS" };
string[] arrCaptionBase = new string[] { "选择", "ID", "炉号", "试样号", "钢号", "录入人", "录入时间", "班次", "班组" };
PublicSteer.InitColumns(arrColumnsBase, chemMax, arrCaptionBase, chemMin, dataTable1);
PublicSteer.setColumnShowOrHidden(ultraGrid1, new string[] { "ID" }, false);
PublicSteer.setOtherColumnReadOnly(ultraGrid1, new string[] { "CHK", "CHECK_SHIFT", "CHECK_CLASS" });//可编辑列
//ultraGrid1.DisplayLayout.Bands[0].Columns["CHECK_SHIFT"].EditorComponent = ultraCHECK_SHIFT;
//ultraGrid1.DisplayLayout.Bands[0].Columns["CHECK_CLASS"].EditorComponent = ultraCHECK_CLASS;
PublicSteer.setOtherColumnReadOnly(ultraGrid2, new string[] { "CHK", "UPDATE_VALUE" });//可编辑列
}
public override void ToolBar_Click(object sender, string ToolbarKey)
{
//查询、确认、退出
switch (ToolbarKey)
{
case "Query":
QueryChemAuditResult();//查询采集信息
break;
case "Add":
//AddChemAuditResult();
break;
case "Update":
UpdateChemAuditResult();
break;
case "UpdateClass":
UpdateChemAuditResult_Class();
break;
case "Delete":
DeleteChemAuditResult();
break;
case "Audit":
//CancelUpdateCheckConsignDetail();
break;
case "Close":
if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes)
{
this.Close();
}
break;
}
}
//查询已审核数据
private void QueryChemAuditResult()
{
try
{
ArrayList arrayList = steerQueryBase1.GetQueryInfo();
string[] arr = this.ValidDataPurviewIds;//获取数据权限ID
if (arr == null)
{
MessageUtil.ShowTips("无科室权限,请配置科室权限!");
return;
}
DataTable dt = PublicServer.GetData("com.steering.lims.data.steer.FrmSteerDataCollect.QueryChemAuditResult",
new Object[] { arrayList, arr, chkCHECK_CLASS.Checked.ToString().ToUpper() }, ob);
if (dt == null || dt.Rows.Count == 0)
{
dataTable1.Rows.Clear();
dataTable2.Rows.Clear();
return;
}
GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable
UltraGridColumn[] cols = new UltraGridColumn[] { ultraGrid1.DisplayLayout.Bands[0].Columns["CHECK_TIME"] };
PublicSteer.RefreshAndAutoSizeColumns(ultraGrid1, cols);//刷新Grid
}
catch (Exception e)
{
MessageUtil.ShowWarning(e.Message);
return;
}
}
private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
{
try
{
dataTable2.Rows.Clear();
ArrayList al = new ArrayList();
al.Add(ultraGrid1.ActiveRow.Cells["SAMPLE_NO"].Text.Trim());
al.Add(ultraGrid1.ActiveRow.Cells["HEAT_NO"].Text.Trim());
DataTable dt = PublicServer.GetData("com.steering.lims.data.steer.FrmSteerDataCollect.QueryChemAuditResultHeatSampleNo",
new Object[] { al }, ob);
//foreach (DataColumn dc in dt.Columns)
//{
//if (dc.ColumnName.IndexOf("ANA_") == 0 && dt.Rows[0][dc.ColumnName].ToString().Trim() != "" && dc.ColumnName != "ANA_O" && dc.ColumnName != "ANA_N" && dc.ColumnName != "ANA_H")
//{
//20160426修改
if (dt != null && dt.Rows.Count > 0)
{
foreach (DataColumn dc in dataTable1.Columns)
{
if (dc.ColumnName.IndexOf("ANA_") == 0 && dt.Columns.Contains(dc.ColumnName) && dc.ColumnName != "ANA_O" && dc.ColumnName != "ANA_N" && dc.ColumnName != "ANA_H")
{
DataRow dr = dataTable2.NewRow();
dr["CHK"] = "False";
dr["ELEMENTS"] = dc.ColumnName.Substring(4, 1) + dc.ColumnName.Substring(4).ToLower().Remove(0, 1);
dr["START_VALUE"] = dt.Rows[0][dc.ColumnName].ToString().Trim();
dr["UPDATE_VALUE"] = "";
dataTable2.Rows.Add(dr);
}
}
}
//GridHelper.CopyDataToDatatable(dt, dataTable4, true);//把dt复制给dataTable
//GridHelper.RefreshAndAutoSize(ultraGrid2);//刷新Grid
UltraGridColumn[] cols = new UltraGridColumn[] { ultraGrid2.DisplayLayout.Bands[0].Columns["CHK"], ultraGrid2.DisplayLayout.Bands[0].Columns["ELEMENTS"] };
PublicSteer.RefreshAndAutoSizeColumns(ultraGrid2, cols);//刷新Grid
}
catch (Exception ex)
{
MessageUtil.ShowWarning(ex.Message);
return;
}
}
//修改熔炼数据
private void UpdateChemAuditResult()
{
try
{
if (dataTable1 == null || dataTable1.Rows.Count == 0)
{
MessageUtil.ShowWarning("请选择需要修改的数据!");
return;
}
//判定是否勾选了数据
string strCondition = "";//拼接SQL条件
string strCondition1 = "";
bool isUpdate = false;
ultraGrid2.UpdateData();
//foreach (DataRow dr in dataTable2.Rows)
//{
// //20160426修改
// if (dr["CHK"].ToString() == "True" && (dr["ELEMENTS"].ToString() == "Als" || dr["UPDATE_VALUE"].ToString().Trim() != ""))
// {
// isUpdate = true;
// strCondition += ",ANA_" + dr["ELEMENTS"].ToString() + "='" + dr["UPDATE_VALUE"].ToString() + "'";
// }
//}
string strSAMPLE_NO = ultraGrid1.ActiveRow.Cells["SAMPLE_NO"].Text.Trim();
string strHEAT_NO = ultraGrid1.ActiveRow.Cells["HEAT_NO"].Text.Trim();
if (!doQueryCxData(strHEAT_NO, strSAMPLE_NO))
{
foreach (DataRow dr in dataTable2.Rows)
{
//20160426修改
if (dr["CHK"].ToString() == "True" && dr["ELEMENTS"].ToString() == "Als" && dr["UPDATE_VALUE"].ToString().Trim() != "")
{
isUpdate = true;
strCondition = ",ANA_Als='" + dr["UPDATE_VALUE"].ToString() + "'";
}
}
}
else
{
foreach (DataRow dr in dataTable2.Rows)
{
//20160426修改
if (dr["CHK"].ToString() == "True" && dr["UPDATE_VALUE"].ToString().Trim() != "")
{
isUpdate = true;
strCondition += ",ANA_" + dr["ELEMENTS"].ToString() + "='" + dr["UPDATE_VALUE"].ToString() + "'";
}
}
}
if (isUpdate == false)
{
MessageUtil.ShowWarning("没有勾选填写需要修改的数据!");
return;
}
strCondition = strCondition.Remove(0, 1);
ArrayList alDelete = new ArrayList();
alDelete.Add(strSAMPLE_NO);
alDelete.Add(strHEAT_NO);
if (MessageUtil.ShowYesNoAndQuestion("是否确认修改?") == DialogResult.Yes)
{
ArrayList alOperate = new ArrayList();
alOperate.Add(UserInfo.GetUserName());//操作人
alOperate.Add("0");//操作类型
alOperate.Add("0");
alOperate.Add(strSAMPLE_NO);
alOperate.Add(strHEAT_NO);
alOperate.Add(ultraGrid1.ActiveRow.Cells["ID"].Text.Trim());
ArrayList al = new ArrayList();
al.Add(strSAMPLE_NO);
al.Add(strHEAT_NO);
al.Add(ultraGrid1.ActiveRow.Cells["ID"].Text.Trim());
// PublicServer.GetDataTips("com.steering.lims.data.steer.FrmSteerDataCollect.QueryChemAuditResultTips",
//new Object[] { alDelete, "11", "质保部已判定不能修改!" }, ob);//判定状态位是否能修改暂时用
// PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.DeleteZBResult",
//new Object[] { alDelete }, this.ob);
PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.UpdateChemAuditResult",
new Object[] { strCondition, al, alOperate }, this.ob);
//20160324修改先保存到检化验数据库再删除SQL server
// PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.DeleteZBResult",
//new Object[] { alDelete }, this.ob);//删除质保数据
QueryChemAuditResult();
PublicSteer.ActiveOperateRow(ultraGrid1, new string[] { "SAMPLE_NO", "HEAT_NO" }, al.ToArray());
MessageUtil.ShowTips("修改成功!");
}
}
catch (Exception e)
{
MessageUtil.ShowWarning(e.Message);
return;
}
}
///
/// 查询产销是否同步产销成分
///
///
private bool doQueryCxData(string strHEAT_NO, string strSAMPLE_NO)
{
DataTable ds = PublicServer.GetData("com.steering.lims.data.steer.FrmSteerDataCollect.doQueryCxFlag", new object[] { strHEAT_NO, strSAMPLE_NO }, ob);
if (ds.Rows[0][0].ToString().Equals("1"))
{
//MessageUtil.ShowTips(strHEAT_NO + "熔炼成分已同步产销,不允许操作数据!");
return false;
}
return true;
}
//修改熔炼数据
private void UpdateChemAuditResult_Class()
{
try
{
if (dataTable1 == null || dataTable1.Rows.Count == 0)
{
MessageUtil.ShowWarning("请选择需要修改的数据!");
return;
}
if (ultraCHECK_SHIFT.Text == "")
{
MessageUtil.ShowWarning("班次不能为空!");
return;
}
if (ultraCHECK_CLASS.Text == "")
{
MessageUtil.ShowWarning("班组不能为空!");
return;
}
if (MessageUtil.ShowYesNoAndQuestion("是否确认修改班次班组?") == DialogResult.Yes)
{
bool isAdd = false;
ArrayList all = new ArrayList();
ArrayList alOperate = new ArrayList();
ultraGrid1.UpdateData();
foreach (DataRow dr in dataTable1.Rows)
{
if (dr["CHK"].ToString() == "True")
{
isAdd = true;
alOperate = new ArrayList();
alOperate.Add(UserInfo.GetUserName());//操作人
alOperate.Add(ultraCHECK_SHIFT.Text.Trim());//操作类型
alOperate.Add(ultraCHECK_CLASS.Text.Trim());
alOperate.Add(dr["SAMPLE_NO"].ToString());
alOperate.Add(dr["HEAT_NO"].ToString());
all.Add(alOperate);
}
}
if (isAdd == false)
{
MessageUtil.ShowWarning("请选择至少一条需要修改的数据!");
return;
}
PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.UpdateChemAuditResult_Class",
new Object[] { all }, this.ob);
QueryChemAuditResult();
//PublicSteer.ActiveOperateRow(ultraGrid1, new string[] { "SAMPLE_NO", "HEAT_NO" }, al.ToArray());
MessageUtil.ShowTips("修改班次班组成功!");
}
}
catch (Exception e)
{
MessageUtil.ShowWarning(e.Message);
return;
}
}
//修改熔炼数据
private void DeleteChemAuditResult()
{
try
{
if (dataTable1 == null || dataTable1.Rows.Count == 0 || ultraGrid1.ActiveRow == null || ultraGrid1.ActiveRow.Activated == false)
{
MessageUtil.ShowWarning("请点击选择需要删除的数据!");
return;
}
string strSAMPLE_NO = ultraGrid1.ActiveRow.Cells["SAMPLE_NO"].Text.Trim();
string strHEAT_NO = ultraGrid1.ActiveRow.Cells["HEAT_NO"].Text.Trim();
ArrayList alDelete = new ArrayList();
alDelete.Add(strSAMPLE_NO);
alDelete.Add(strHEAT_NO);
if (!doQueryCxData(strHEAT_NO, strSAMPLE_NO))
{
return;
}
if (MessageUtil.ShowYesNoAndQuestion("是否确认删除?") == DialogResult.Yes)
{
ArrayList alOperate = new ArrayList();
alOperate.Add(UserInfo.GetUserName());//操作人
alOperate.Add("0");//操作类型
alOperate.Add("1");
alOperate.Add(strSAMPLE_NO);
alOperate.Add(strHEAT_NO);
alOperate.Add(ultraGrid1.ActiveRow.Cells["ID"].Text.Trim());
ArrayList al = new ArrayList();
al.Add(strSAMPLE_NO);
al.Add(strHEAT_NO);
al.Add(ultraGrid1.ActiveRow.Cells["ID"].Text.Trim());
// PublicServer.GetDataTips("com.steering.lims.data.steer.FrmSteerDataCollect.QueryChemAuditResultTips",
//new Object[] { alDelete, "11", "质保部已判定不能删除!" }, ob);//判定状态位是否能修改暂时用
// PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.DeleteZBResult",
//new Object[] { alDelete }, this.ob);
PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.DeleteChemAuditResult",
new Object[] { al, alOperate }, this.ob);
//20160324修改先保存到检化验数据库再删除SQL server
// PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.DeleteZBResult",
//new Object[] { alDelete }, this.ob);//删除质保数据
QueryChemAuditResult();
//PublicSteer.ActiveOperateRow(ultraGrid1, new string[] { "SAMPLE_NO", "HEAT_NO" }, al.ToArray());
MessageUtil.ShowTips("删除成功!");
}
}
catch (Exception e)
{
MessageUtil.ShowWarning(e.Message);
return;
}
}
private void ultraGrid1_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
{
PublicSteer.SelectRow(ultraGrid1);
}
}
}