using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using ICSSoft.Frame.WorkPoint.Entity;
using ICSSoft.Frame.WorkPoint.BLL;
using ICSSoft.Base.Config.AppConfig;
using ICSSoft.Base.Config.DBHelper;
using System.Text.RegularExpressions;
using ICSSoft.Frame.Data.Entity;
using ICSSoft.Base.ReferForm.AppReferForm;
using ICSSoft.Frame.Data.BLL;
using ICSSoft.Frame.Helper;
namespace ICSSoft.Frame.APP
{
public partial class FormICSEQPDataAdd : DevExpress.XtraEditors.XtraForm
{
FormICSEQPDataUIModel equipmentUIModel;
int Flag;
string eqpid;
string guid;
string checkitemname;
///
/// add new
///
public FormICSEQPDataAdd()
{
InitializeComponent();
chargeFormState("Add");
Flag = 0;
}
///
/// edit
///
///
public FormICSEQPDataAdd(string id)
{
InitializeComponent();
chargeFormState("Edit");
SearchShiftInfo(id);
Flag = 1;
}
private void chargeFormState(string state)
{
switch (state)
{
case "Add":
//txtSetValueMax.Properties.ReadOnly = true;
//txtSetValueMin.Properties.ReadOnly = true;
////txtUNIT.Properties.ReadOnly = true;
//txtMUSERName.Text = AppConfig.UserName;
//txtMTIME.Text = AppConfig.GetSeverDateTime("yyyy-MM-dd hh:mm:ss").ToString();
//txtMUSERName.Properties.ReadOnly = true;
//txtMTIME.Properties.ReadOnly = true;
break;
case "Edit":
//txtSetValueMax.Properties.ReadOnly = true;
//txtSetValueMin.Properties.ReadOnly = true;
////txtUNIT.Properties.ReadOnly = true;
//txtEQPCode.Properties.Buttons[0].Visible = false;
////txtEQPStatus.Properties.ReadOnly = false;
//txtMUSERName.Properties.ReadOnly = true;
//txtMTIME.Properties.ReadOnly = true;
break;
}
}
#region 移动窗体
private const int WM_NCHITTEST = 0x84;
private const int HTCLIENT = 0x1;
private const int HTCAPTION = 0x2;
//首先必须了解Windows的消息传递机制,当有鼠标活动消息时,
//系统发送WM_NCHITTEST 消息给窗体作为判断消息发生地的根据。 nchittest
//假如你点击的是标题栏,窗体收到的消息值就是 HTCAPTION ,
//同样地,若接受到的消息是 HTCLIENT,说明用户点击的是客户区,也就是鼠标消息发生在客户区。
//重写窗体,使窗体可以不通过自带标题栏实现移动
protected override void WndProc(ref Message m)
{
//当重载窗体的 WndProc 方法时,可以截获 WM_NCHITTEST 消息并改些该消息,
//当判断鼠标事件发生在客户区时,改写改消息,发送 HTCAPTION 给窗体,
//这样,窗体收到的消息就时 HTCAPTION ,在客户区通过鼠标来拖动窗体就如同通过标题栏来拖动一样。
//注意:当你重载 WndProc 并改写鼠标事件后,整个窗体的鼠标事件也就随之改变了。
switch (m.Msg)
{
case WM_NCHITTEST:
base.WndProc(ref m);
if ((int)m.Result == HTCLIENT)
m.Result = (IntPtr)HTCAPTION;
return;
}
//拦截双击标题栏、移动窗体的系统消息
if (m.Msg != 0xA3)
{
base.WndProc(ref m);
}
}
#endregion
private void SearchShiftInfo(string id)
{
equipmentUIModel = ICSEQPDataBLL.SearchEquipmentInfoByCode(id, AppConfig.AppConnectString);
txtEQPCode.Text = equipmentUIModel.equipment.EQPCode;
txtCKGROUP.Text = equipmentUIModel.oqcckgroup.CKGROUP;
//txtCKItemCode.Text = equipmentUIModel.oqccklist.CKITEMCODE;
//txtSetValueMax.Text = equipmentUIModel.oqccklist.SetValueMax;
//txtSetValueMin.Text = equipmentUIModel.oqccklist.SetValueMin;
//txtUNIT.Text = equipmentUIModel.oqccklist.UNIT;
//txtRealValue.Text = equipmentUIModel.RealValue;
//txtMUSERName.Text = AppConfig.UserName;
//txtMTIME.Text = AppConfig.GetSeverDateTime("yyyy-MM-dd hh:mm:ss").ToString();
eqpid = equipmentUIModel.equipment.EQPID;
guid = equipmentUIModel.GUID;
}
#region 关闭
private void btnCancle_Click(object sender, EventArgs e)
{
this.Close();
this.DialogResult = DialogResult.Cancel;
}
private void btnClose_Click(object sender, EventArgs e)
{
this.Close();
this.DialogResult = DialogResult.Cancel;
}
#endregion
#region 设备编号按钮
private void txtEQPCode_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
{
ButtonEdit btn = (ButtonEdit)sender;
string sql = "select distinct EQPID as [设备ID],EQPCode as [设备编号],EQPDESC as [设备描述] from dbo.ICSEquipment with(nolock) WHERE 1=1";
//object obj = AppConfig.InvokeWebservice(AppConfig.BaseServiceUri, "WebBaseService", "BaseService", "GetHuaRongErpConnectString", new object[] { });
//if (obj == null)
//{
// ICSBaseSimpleCode.AppshowMessageBox(1, "ERP数据库连接取得失败!");
//}
DataTable data = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql).Tables[0];
FormDataRefer reForm = new FormDataRefer();
reForm.FormTitle = "设备信息";
DataTable menuData = data;
reForm.DataSource = menuData;
reForm.MSelectFlag = false;
reForm.RowIndexWidth = 35;
reForm.HideCols.Add("设备ID");
reForm.FormWidth = 500;
reForm.FormHeight = 500;
//reForm.FilterKey = btn.Text;
//grvDetail.GetRowCellValue(grvDetail.FocusedRowHandle, grvDetail.FocusedColumn).ToString().Trim();
if (reForm.ShowDialog() == DialogResult.OK)
{
DataTable retData = reForm.ReturnData;
foreach (DataRow dr in retData.Rows)
{
txtEQPCode.Text = dr["设备编号"].ToString();
eqpid = dr["设备ID"].ToString();
}
}
}
#endregion
#region 检验项目组按钮
private void txtCKGROUP_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
{
ButtonEdit btn = (ButtonEdit)sender;
string sql = @"select distinct a.CKGROUP as [检验项目组],a.CKGROUPDESC as [检验项目组描述]
from dbo.ICSOQCCKGROUP a
left join dbo.ICSEQPCHECKLIST b on a.CKGROUP=b.CKGROUP
WHERE b.EQPCode='" + txtEQPCode.Text + "' and 1=1";
//object obj = AppConfig.InvokeWebservice(AppConfig.BaseServiceUri, "WebBaseService", "BaseService", "GetHuaRongErpConnectString", new object[] { });
//if (obj == null)
//{
// ICSBaseSimpleCode.AppshowMessageBox(1, "ERP数据库连接取得失败!");
//}
DataTable data = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql).Tables[0];
FormDataRefer reForm = new FormDataRefer();
reForm.FormTitle = "检验项目组信息";
DataTable menuData = data;
reForm.DataSource = menuData;
reForm.MSelectFlag = false;
reForm.RowIndexWidth = 35;
reForm.HideCols.Add("设备ID");
reForm.FormWidth = 500;
reForm.FormHeight = 500;
//reForm.FilterKey = btn.Text;
//grvDetail.GetRowCellValue(grvDetail.FocusedRowHandle, grvDetail.FocusedColumn).ToString().Trim();
if (reForm.ShowDialog() == DialogResult.OK)
{
DataTable retData = reForm.ReturnData;
foreach (DataRow dr in retData.Rows)
{
txtCKGROUP.Text = dr["检验项目组"].ToString();
}
}
searchinfo(txtEQPCode.Text,txtCKGROUP.Text);
}
#endregion
#region 检验项目按钮
private void txtCKItemCode_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
{
ButtonEdit btn = (ButtonEdit)sender;
string sql = @"select distinct a.CKITEMCODE as [检验项目],a.CKITEMDESC as [检验项目描述]
from dbo.ICSOQCCKLIST a
left join dbo.ICSOQCCKGROUP2LIST b on a.CKITEMCODE=b.CKITEMCODE
WHERE b.CKGROUP='" + txtCKGROUP.Text + "' and 1=1";
//object obj = AppConfig.InvokeWebservice(AppConfig.BaseServiceUri, "WebBaseService", "BaseService", "GetHuaRongErpConnectString", new object[] { });
//if (obj == null)
//{
// ICSBaseSimpleCode.AppshowMessageBox(1, "ERP数据库连接取得失败!");
//}
DataTable data = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql).Tables[0];
FormDataRefer reForm = new FormDataRefer();
reForm.FormTitle = "检验项目信息";
DataTable menuData = data;
reForm.DataSource = menuData;
reForm.MSelectFlag = false;
reForm.RowIndexWidth = 35;
reForm.HideCols.Add("设备ID");
reForm.FormWidth = 500;
reForm.FormHeight = 500;
//reForm.FilterKey = btn.Text;
//grvDetail.GetRowCellValue(grvDetail.FocusedRowHandle, grvDetail.FocusedColumn).ToString().Trim();
if (reForm.ShowDialog() == DialogResult.OK)
{
DataTable retData = reForm.ReturnData;
foreach (DataRow dr in retData.Rows)
{
//txtCKItemCode.Text = dr["检验项目"].ToString();
//txtSetValueMax.Text = ICSSoft.Frame.Data.BLL.ICSEQPDataBLL.searchCheckListInfo(txtCKItemCode.Text).Rows[0]["最大设定值"].ToString();
//txtSetValueMin.Text = ICSSoft.Frame.Data.BLL.ICSEQPDataBLL.searchCheckListInfo(txtCKItemCode.Text).Rows[0]["最小设定值"].ToString();
//txtUNIT.Text = ICSSoft.Frame.Data.BLL.ICSEQPDataBLL.searchCheckListInfo(txtCKItemCode.Text).Rows[0]["单位"].ToString();
}
}
}
#endregion
#region 新增 修改
private void btnOK_Click(object sender, EventArgs e)
{
//if (txtEQPCode.Text.Trim() == "")
//{
// ICSBaseSimpleCode.AppshowMessageBox("设备编号不能为空!");
// return;
//}
//if (txtCKGROUP.Text.Trim() == "")
//{
// ICSBaseSimpleCode.AppshowMessageBox("检验项目组不能为空!");
// return;
//}
//if (txtCKItemCode.Text.Trim() == "")
//{
// ICSBaseSimpleCode.AppshowMessageBox("检验项目不能为空!");
// return;
//}
//FormICSEQPDataUIModel eqpdata = new FormICSEQPDataUIModel();
//eqpdata.GUID = guid;
//eqpdata.EQPID = eqpid;
//eqpdata.EQPCode = txtEQPCode.Text.Trim();
//eqpdata.CKGROUP = txtCKGROUP.Text.Trim();
//eqpdata.CKItemCode = txtCKItemCode.Text.Trim();
//eqpdata.SetValueMax = txtSetValueMax.Text.Trim();
//eqpdata.SetValueMin = txtSetValueMin.Text.Trim();
//eqpdata.RealValue = txtRealValue.Text.Trim();
//eqpdata.UNIT = txtUNIT.Text.Trim();
//eqpdata.MUSER = AppConfig.UserId;
//eqpdata.MUSERName = AppConfig.UserName;
//eqpdata.MTIME = System.DateTime.Parse(txtMTIME.Text);
//eqpdata.WorkPoint = AppConfig.WorkPointCode;
//eqpdata.EATTRIBUTE1 = null;
//try
//{
// ICSEQPDataBLL.Add(eqpdata, AppConfig.AppConnectString);
// this.Close();
// ICSBaseSimpleCode.AppshowMessageBox("操作成功");
//}
//catch (Exception ex)
//{
// ICSBaseSimpleCode.AppshowMessageBox(ex.Message);
//}
}
#endregion
private void searchinfo(string eqpcode,string ckgroup)
{
try
{
string sql = @"select '' as [isSelect],
b.EQPID as EQPID,
b.EQPCode as EQPCode,
b.EQPName as EQPName,
c.CKGROUP as CKGROUP,
c.CKGROUPDESC as CKGROUPDESC,
d.CKITEMCODE as CKItemCode,
d.CKITEMDESC as CKItemName,
d.SetValueMax as SetValueMax,
d.SetValueMin as SetValueMin,
'' as RealValue,
d.UNIT as UNIT
from dbo.ICSEQPCHECKLIST a
left join dbo.ICSEquipment b on a.EQPCode=b.EQPCode
left join dbo.ICSOQCCKGROUP c on a.CKGROUP=c.CKGROUP
left join dbo.ICSOQCCKGROUP2LIST e on c.CKGROUP=e.CKGROUP
left join dbo.ICSOQCCKLIST d on e.CKITEMCODE=d.CKITEMCODE
where b.EQPCode='" + eqpcode + "' and c.CKGROUP='" + ckgroup + "' and 1=1";
DataTable ddf = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
grdDetail.DataSource = ddf;
}
catch (Exception ex)
{
MessageBox.Show("异常:" + ex.Message, "异常", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}