using Core.Mes.Client.Comm.Control;
using Core.Mes.Client.Comm.Format;
using Core.Mes.Client.Comm.Tool;
using Core.StlMes.Client.Lims.Resource.封装类.实体类;
using CoreFS.CA06;
using Infragistics.Win.UltraWinGrid;
using System;
using System.Collections;
using System.Data;
using System.Windows.Forms;
namespace Core.StlMes.Client.Lims.Resource
{
//记录编号年后面六位流水
//ultraGrid2 勾选记录机器
//ultraGrid2 显示此试验室需要填写运行使用记录的设备
//ultraGrid3存放此设备这一段时间内的早中晚班是否记录
public partial class FrmDmUsageRunRecord : FrmBase
{
private string[] arrId;//数据权限
public FrmDmUsageRunRecord()
{
InitializeComponent();
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
ultraGrid1.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
ultraGrid3.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
}
private void FrmDmUsageRunRecord_Load(object sender, EventArgs e)
{
arrId = this.ValidDataPurviewIds;//获取数据权限
InitColumns();
publicUltraDept_ID1.QueryDept_Id(ob, arrId);
QueryFixedAssetsDetail();
}
private void InitColumns()
{
string[] arrColumnsBase = new string[] { "RECORD_ID", "RECORD_NAME", "DEVICE_ID", "DEVICE_NAME", "SPEC", "DEVICE_NO", "USE_NAME", "USE_TIME", "USE_SHIFT", "DEVICE_STATE", "DEVICE_EXCEPTION_DESC", "TEMP", "WETNESS", "DEVICE_ENVIRONMENT", "WORK_CONTENT", "REMARK", "DEPT_ID", "DEPT_NAME" };
string[] arrCaptionBase = new string[] { "记录编号", "记录名称", "资产编号", "资产名称", "规格型号", "设备编号", "操作人", "操作时间", "班次", "设备状况", "设备异常描述", "温度", "湿度(%)", "其他设备坏境", "工作内容", "其他(备注)", "科室", "科室" };
PublicResource.InitColumns(arrColumnsBase, arrCaptionBase, dataTable1, ultraGrid1, new string[] { "RECORD_ID", "DEVICE_ID", "DEPT_ID" }, false, null);
string[] arrColumnsDevice = new string[] { "CHK", "RECORD_NAME", "DEVICE_ID", "DEVICE_NAME", "SPEC", "DEVICE_NO", "DEPT_ID", "DEPT_NAME" };
string[] arrCaptionDevice = new string[] { "选择", "记录名称", "资产编号", "资产名称", "规格型号", "设备编号", "科室", "科室" };
PublicResource.InitColumns(arrColumnsDevice, arrCaptionDevice, dataTable2, ultraGrid2, new string[] { "DEVICE_ID", "DEPT_ID", "DEPT_NAME" }, false, new string[] { "CHK" });
string[] arrColumnsRecord = new string[] { "USE_TIME", "ONE_SHIFT", "TWO_SHIFT", "THREE_SHIFT", "FIVE_SHIFT", "FOUR_SHIFT" };
string[] arrCaptionRecord = new string[] { "日期", "早班", "中班", "夜班", "白班", "常白班" };
PublicResource.InitColumns(arrColumnsRecord, arrCaptionRecord, dataTable3);
//加载工作内容
DataTable dt = PublicServer.GetData("com.steering.lims.resource.device.FrmDmUsageRunRecord.initWorkContent", new object[] { arrId == null ? new string[] { UserInfo.GetDeptid() } : arrId }, ob);
if (dt != null && dt.Rows.Count > 0)
{
ultraWORK_CONTENT.DataSource = dt;
ultraWORK_CONTENT.ValueMember = "WORK_CONTENT";
}
//加载记录人
DataTable dt2 = PublicServer.GetData("com.steering.lims.resource.device.FrmDmUsageRunRecord.initUseName", new object[] { arrId == null ? new string[] { UserInfo.GetDeptid() } : arrId }, ob);
if (dt2 != null && dt2.Rows.Count > 0)
{
ultraUSE_NAME.DataSource = dt2;
ultraUSE_NAME.ValueMember = "USE_NAME";
}
}
///
/// 重写基类方法
///
///
///
public override void ToolBar_Click(object sender, string ToolbarKey)
{
//新增修改删除退出
switch (ToolbarKey)
{
case "Query":
QueryUsageRunRecord();
break;
case "Add":
AddUsageRunRecord();
break;
case "Update":
UpdateUsageRunRecord();
break;
case "Delete":
DeleteUsageRunRecord();
break;
case "Clear":
ClearUsageRunRecord();
break;
case "Export":
ExportUsageRunRecord();
break;
case "Close":
if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes)
{
this.Close();
}
break;
}
}
//根据科室查询有记录名称的设备
///
/// 根据科室查询有记录名称的设备
///
private void QueryFixedAssetsDetail()
{
try
{
//查询此试验室需要 填写运行使用记录的设备
string recordName ; //记录名称
string department = UserInfo.GetDepartment();
string sortCode = "";
string baseName = "";
if (chkRECORD_NAME.Checked)//记录名称
{
recordName = ultraQueryRECORD_NAME.Text.Trim();
}
else
{
recordName = "";
}
if(recordName.Equals("运行记录"))
{
sortCode = "100124%";
}
if (recordName.Equals("使用记录"))
{
sortCode = "100125%";
}
DataTable lxDt = PublicServer.GetData("com.steering.lims.resource.person.FrmPmJJClassRecord.initMeeting", new Object[] { sortCode, department }, ob);
if (lxDt.Rows.Count > 0 && lxDt != null)
{
baseName = lxDt.Rows[0][0].ToString();
}
this.ultraLabel14.Text = recordName + " " + baseName;
DataTable dt = PublicServer.GetData("com.steering.lims.resource.device.FrmDmUsageRunRecord.QueryFixedAssetsDetail",
new Object[] { arrId == null ? new string[] { UserInfo.GetDeptid() } : arrId, recordName }, ob);
if (dt == null || dt.Rows.Count == 0)
{
dataTable2.Rows.Clear();
return;
}
GridHelper.CopyDataToDatatable(dt, dataTable2, true);//把dt复制给dataTable1
GridHelper.RefreshAndAutoSize(ultraGrid2);
}
catch (Exception e)
{
MessageUtil.ShowWarning(e.Message);
return;
}
}
private void QueryUsageRunRecord()
{
try
{
QueryFixedAssetsDetail();
ArrayList arrayList = new ArrayList();//ultraQueryDEVICE_STATE
if (chkDEVICE_STATE.Checked)//设备状况
{
arrayList.Add(ultraQueryDEVICE_STATE.Text.Trim());
arrayList.Add(ultraQueryDEVICE_STATE.Text.Trim());
arrayList.Add(ultraQueryDEVICE_STATE.Text.Trim());
}
else
{
arrayList.Add("");
arrayList.Add("");
arrayList.Add("");
}
if (chkRECORD_NAME.Checked)//记录名称
{
arrayList.Add(ultraQueryRECORD_NAME.Text.Trim());
arrayList.Add(ultraQueryRECORD_NAME.Text.Trim());
arrayList.Add(ultraQueryRECORD_NAME.Text.Trim());
}
else
{
arrayList.Add("");
arrayList.Add("");
arrayList.Add("");
}
if (chkDEPT_ID.Checked)//科室
{
arrayList.Add(publicUltraDept_ID1.UltDept_ID);
arrayList.Add(publicUltraDept_ID1.UltDept_ID);
arrayList.Add(publicUltraDept_ID1.UltDept_ID);
}
else
{
arrayList.Add("");
arrayList.Add("");
arrayList.Add("");
}
if (chkTime.Checked)//日期
{
arrayList.Add(dateBegin.DateTime.ToShortDateString() + " 00:00:00");
arrayList.Add(dateEnd.DateTime.ToShortDateString() + " 23:59:59");
}
else
{
arrayList.Add("0001/01/01 00:00:00");
arrayList.Add("9999/12/31 23:59:59");
}
if (chkDEVICE_NO.Checked)
{
arrayList.Add(ultraDEVICE_NO.Text.Trim());
arrayList.Add(ultraDEVICE_NO.Text.Trim());
arrayList.Add(ultraDEVICE_NO.Text.Trim());//设备编号
}
else
{
arrayList.Add("");
arrayList.Add("");
arrayList.Add("");
}
if (chkDEVICE_NAME.Checked)
{
arrayList.Add(txtQueryDEVICE_NAME.Text.Trim());
arrayList.Add(txtQueryDEVICE_NAME.Text.Trim());
arrayList.Add(txtQueryDEVICE_NAME.Text.Trim());//资产名称
}
else
{
arrayList.Add("");
arrayList.Add("");
arrayList.Add("");
}
DataTable dt = PublicServer.GetData("com.steering.lims.resource.device.FrmDmUsageRunRecord.QueryUsageRunRecord",
new Object[] { arrayList, arrId == null ? new string[] { UserInfo.GetDeptid() } : arrId }, ob);
if (dt == null || dt.Rows.Count == 0)
{
ClearUsageRunRecord();
dataTable1.Rows.Clear();
return;
}
GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable1
GridHelper.RefreshAndAutoSize(ultraGrid1);
}
catch (Exception e)
{
MessageUtil.ShowWarning(e.Message);
return;
}
}
private string IsValid()
{
if (txtDEVICE_NAME.Text == "")
{
return "设备名称不能为空!";
}
return "";
}
///
/// 新增
///
private void AddUsageRunRecord()
{
try
{
//ultraGrid2.Update();
ultraGrid2.UpdateData();
DataRow[] arrDr = dataTable2.Select("CHK = True");
if (arrDr == null || arrDr.Length == 0)
{
MessageUtil.ShowWarning("请至少勾选一条需要增加记录的设备信息!");
return;
}
if (UserInfo.GetDeptid().Equals("002001007010"))
{
if (txtTEMP.Text.Trim() == "")
{
MessageUtil.ShowWarning("温度不能为空!");
return;
}
if (txtWETNESS.Text.Trim() == "")
{
MessageUtil.ShowWarning("湿度不能为空!");
return;
} if (ultraWORK_CONTENT.Text.Trim() == "")
{
MessageUtil.ShowWarning("工作内容不能为空!");
return;
}
}
if (MessageUtil.ShowYesNoAndQuestion("是否确认新增?") == DialogResult.Yes)
{
ArrayList alBase = new ArrayList();
ArrayList alBaseParam = new ArrayList();
foreach (DataRow dr in arrDr)
{
alBaseParam = new ArrayList();
alBaseParam.Add(dr["RECORD_NAME"].ToString());//记录名称
alBaseParam.Add(dr["DEVICE_ID"].ToString());//资产编号
alBaseParam.Add(dr["DEVICE_NO"].ToString());//设备编号
alBaseParam.Add(dr["DEVICE_NAME"].ToString());//资产名称
alBaseParam.Add(dr["SPEC"].ToString());//规格型号specification
alBaseParam.Add(UserInfo.GetUserID());
alBaseParam.Add(UserInfo.GetUserName());
alBaseParam.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));//时间
alBaseParam.Add(UserInfo.GetUserOrderText());//班次
alBaseParam.Add(UserInfo.GetUserGroupText());//班组
alBaseParam.Add(ultraDEVICE_STATE.Text.Trim());//设备状况
alBaseParam.Add(txtDEVICE_EXCEPTION_DESC.Text.Trim());//设备异常描述
alBaseParam.Add(txtTEMP.Text.Trim());//温度
alBaseParam.Add(txtWETNESS.Text.Trim());//湿度
alBaseParam.Add(txtDEVICE_ENVIRONMENT.Text.Trim());//其他设备坏境
alBaseParam.Add(ultraWORK_CONTENT.Text.Trim());//工作内容
alBaseParam.Add(txtREMARK.Text.Trim());//其他(备注)
alBaseParam.Add(dr["DEPT_ID"].ToString());//科室
alBaseParam.Add(dr["DEPT_NAME"].ToString());//记录名称
alBase.Add(alBaseParam);
}
PublicServer.SetData("com.steering.lims.resource.device.FrmDmUsageRunRecord.AddUsageRunRecord",
new Object[] { alBase }, this.ob);
QueryUsageRunRecord();
MessageUtil.ShowTips("新增成功!");
}
}
catch (Exception e)
{
MessageUtil.ShowWarning(e.Message);
return;
}
}
///
/// 修改
///
private void UpdateUsageRunRecord()
{
try
{
UltraGridRow dr = ultraGrid1.ActiveRow;
if (MessageUtil.ShowYesNoAndQuestion("是否确认修改?") == DialogResult.Yes)
{
RmdmUsageRunRecordsEntity runRecords = new RmdmUsageRunRecordsEntity();
runRecords.RecordId = dr.Cells["RECORD_ID"].Text.ToString();
runRecords.UseTime = ttxtUSE_TIME.Value.ToString();
runRecords.UseName = ultraUSE_NAME.Text.ToString();
runRecords.UseShift = ultraUSE_SHIFT.Text.ToString();
runRecords.RecordName = ultraRECORD_NAME.Text.ToString();
runRecords.DeviceState = ultraDEVICE_STATE.Text.ToString();
runRecords.DeviceExceptionDesc = txtDEVICE_EXCEPTION_DESC.Text.ToString();
runRecords.Temp = txtTEMP.Text.ToString();
runRecords.Wetness = txtWETNESS.Text.ToString();
runRecords.DeviceEnvironment = txtDEVICE_ENVIRONMENT.Text.ToString();
runRecords.WorkContent = ultraWORK_CONTENT.Text.ToString();
runRecords.Remark = txtREMARK.Text.ToString();
string runRecordsStr = JSONFormat.Format(runRecords);
PublicServer.SetData("com.steering.lims.resource.device.FrmDmUsageRunRecord.UpdateUsageRunRecord",
new Object[] { runRecordsStr }, this.ob);
QueryUsageRunRecord();
MessageUtil.ShowTips("修改成功!");
}
}
catch (Exception e)
{
MessageUtil.ShowWarning(e.Message);
return;
}
}
///
/// 删除
///
private void DeleteUsageRunRecord()
{
try
{
//DataRow[] arrDr = dataTable2.Select("CHK = True");
UltraGridRow dr = ultraGrid1.ActiveRow;
if (ultraGrid1.ActiveRow == null || dataTable1.Rows.Count == 0)
{
MessageUtil.ShowWarning("请点击选择一条需要修改的记录信息!");
return;
}
if (MessageUtil.ShowYesNoAndQuestion("是否确认删除?") == DialogResult.Yes)
{
PublicServer.SetData("com.steering.lims.resource.device.FrmDmUsageRunRecord.DeleteUsageRunRecord",
new Object[] { dr.Cells["RECORD_ID"].Text.ToString() }, this.ob);
QueryUsageRunRecord();
MessageUtil.ShowTips("删除成功!");
}
}
catch (Exception e)
{
MessageUtil.ShowWarning(e.Message);
return;
}
}
private void ClearUsageRunRecord()
{
PublicResource.ClearBaseInfo(panel6, new string[] { "RECORD_ID", "RECORD_NAME", "DEVICE_ID", "DEVICE_NAME", "DEVICE_NO", "USE_NAME", "USE_TIME", "USE_SHIFT", "DEVICE_STATE", "DEVICE_EXCEPTION_DESC", "TEMP", "WETNESS", "DEVICE_ENVIRONMENT", "WORK_CONTENT", "REMARK", "DEPT_ID", "DEPT_NAME" });
}
///
/// 导出
///
private void ExportUsageRunRecord()
{
ArrayList alUltraGrid = new ArrayList();//需要导出的GRID
ArrayList alSheeft = new ArrayList();//Sheeft名称
alUltraGrid.Add(ultraGrid1);
alSheeft.Add("设备使用运行记录");
if (ultraGrid1.Rows.Count == 0)
{
return;
}
GridHelper.ulGridToExcel(alUltraGrid, alSheeft, DateTime.Now.ToString("yyyyMM") + "设备使用运行记录");//导出excel
}
private void chkRECORD_NAME_CheckedChanged(object sender, EventArgs e)
{
ultraQueryRECORD_NAME.Enabled = chkRECORD_NAME.Checked;
}
private void chkRECORD_ID_CheckedChanged(object sender, EventArgs e)
{
txtQueryDEVICE_NAME.Enabled = chkDEVICE_NAME.Checked;
}
private void chkDEPT_ID_CheckedChanged(object sender, EventArgs e)
{
publicUltraDept_ID1.Enabled = chkDEPT_ID.Checked;
}
private void chkDEVICE_NO_CheckedChanged(object sender, EventArgs e)
{
ultraDEVICE_NO.Enabled = chkDEVICE_NO.Checked;
}
private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
{
PublicResource.ShowBaseInfo(ultraGrid1.ActiveRow, panel6);
}
private void ultraGrid2_AfterRowActivate(object sender, EventArgs e)
{
QueryUsageRunRecord_Device();
}
///
/// 根据资产编号查运行记录
///
private void QueryUsageRunRecord_Device()
{
ArrayList arrayList = new ArrayList();
arrayList.Add(ultraGrid2.ActiveRow.Cells["DEVICE_ID"].Value.ToString());
DataTable dt = PublicServer.GetData("com.steering.lims.resource.device.FrmDmUsageRunRecord.QueryUsageRunRecordDevice",
new Object[] { arrayList }, ob);
if (dt == null || dt.Rows.Count == 0)
{
ClearUsageRunRecord();
dataTable3.Rows.Clear();
return;
}
GridHelper.CopyDataToDatatable(dt, dataTable3, true);//把dt复制给dataTable1
//GridHelper.RefreshAndAutoSize(ultraGrid3);
}
private void ultraGrid2_CellChange(object sender, CellEventArgs e)
{
}
private void chkDEVICE_STATE_CheckedChanged(object sender, EventArgs e)
{
ultraQueryDEVICE_STATE.Enabled = chkDEVICE_STATE.Checked;
}
private void ultraGrid2_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
{
foreach (UltraGridRow uRow in ultraGrid2.Selected.Rows)
{
if (uRow.GetType() != typeof(UltraGridGroupByRow))
{
uRow.Cells["CHK"].Value = true;
}
}
}
}
}