290 lines
11 KiB
C#
290 lines
11 KiB
C#
using AIMS;
|
||
using AIMSBLL;
|
||
using AIMSExtension;
|
||
using AIMSModel;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Data;
|
||
using System.Linq;
|
||
using System.Net;
|
||
using System.Windows.Forms;
|
||
|
||
namespace DataDictionary.UI
|
||
{
|
||
public partial class frmOperationRoom : Form
|
||
{
|
||
/// <summary>
|
||
/// 手术间集合
|
||
/// </summary>
|
||
public List<OperationRoom> list;
|
||
public List<Department> listNew = new List<Department>();
|
||
public List<Department> listOnit = new List<Department>();
|
||
public string cboDepartmentText;
|
||
/// <summary>
|
||
/// 声明保存数据时的状态
|
||
/// </summary>
|
||
public EditState _state;
|
||
public frmOperationRoom()
|
||
{
|
||
InitializeComponent();
|
||
}
|
||
|
||
private void frmOperationRoom_Load(object sender, EventArgs e)
|
||
{
|
||
list = BOperationRoom.Select(" order by Site,[RoomOrder] asc", new ParameterList(), RecursiveType.None, 0);
|
||
ControlExtension.EnabledControl(panel1, false);
|
||
|
||
//listOnit = BDepartment.Select(" id in (select roomtype from operationroom) order by id desc ", new ParameterList(), RecursiveType.None, 0);
|
||
//listOnit.Insert(0, new Department() { Id = -1, Name = "" });
|
||
//this.cboDepartment.Items.AddRange(listOnit.ToArray());
|
||
//cboDepartment.ValueMember = "Id";
|
||
//cboDepartment.DisplayMember = "Name";
|
||
//cboDepartment.Text = cboDepartmentText;
|
||
//cboDepartment.Enabled = true;
|
||
|
||
BindDgv(list);
|
||
}
|
||
/// <summary>
|
||
/// 为DataGridView绑定数据
|
||
/// </summary>
|
||
private void BindDgv(List<OperationRoom> list)
|
||
{
|
||
dgvOperationsRoom.AutoGenerateColumns = false;
|
||
dgvOperationsRoom.Rows.Clear();
|
||
int num = 1;
|
||
foreach (OperationRoom item in list)
|
||
{
|
||
try
|
||
{
|
||
int index = this.dgvOperationsRoom.Rows.Add();
|
||
this.dgvOperationsRoom.Rows[index].Cells["Id"].Value = item.Id;
|
||
this.dgvOperationsRoom.Rows[index].Cells["Index"].Value = num;
|
||
num++;
|
||
this.dgvOperationsRoom.Rows[index].Cells["oName"].Value = item.Name;
|
||
this.dgvOperationsRoom.Rows[index].Cells["type"].Value = item.Site;
|
||
this.dgvOperationsRoom.Rows[index].Cells["Ip1"].Value = item.Ip;
|
||
this.dgvOperationsRoom.Rows[index].Cells["Ip2"].Value = item.Ip2;
|
||
this.dgvOperationsRoom.Rows[index].Cells["Ip3"].Value = item.Ip3;
|
||
this.dgvOperationsRoom.Rows[index].Cells["OrderBy"].Value = item.RoomOrder;
|
||
this.dgvOperationsRoom.Rows[index].Cells["IsValid"].Value = item.IsValid == 1 ? "有效" : "无效";
|
||
}
|
||
catch (Exception)
|
||
{
|
||
}
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 退出事件
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
private void tsbExit_Click(object sender, EventArgs e)
|
||
{
|
||
this.Close();
|
||
}
|
||
/// <summary>
|
||
/// 新增事件
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
private void tsbAdd_Click(object sender, EventArgs e)
|
||
{
|
||
//设置状态为新增
|
||
_state = EditState.ADD;
|
||
ControlExtension.EnabledControl(panel1, true);
|
||
ControlExtension.ClearControl(panel1);
|
||
}
|
||
/// <summary>
|
||
/// 修改事件
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
private void tsbModify_Click(object sender, EventArgs e)
|
||
{
|
||
//设置状态为修改
|
||
_state = EditState.EDIT;
|
||
if (!(dgvOperationsRoom.SelectedRows.Count > 0))
|
||
{
|
||
MessageBox.Show("请选择列表中的一项!");
|
||
return;
|
||
}
|
||
ControlExtension.EnabledControl(panel1, true);
|
||
txtName.Text = dgvOperationsRoom.SelectedRows[0].Cells["oName"].Value.ToString();
|
||
if (dgvOperationsRoom.SelectedRows[0].Cells["Ip1"].EditedFormattedValue.ToString() != "")
|
||
{
|
||
txtIp1.Text = dgvOperationsRoom.SelectedRows[0].Cells["Ip1"].Value.ToString();
|
||
}
|
||
if (dgvOperationsRoom.SelectedRows[0].Cells["Ip2"].EditedFormattedValue.ToString() != "")
|
||
{
|
||
txtIp2.Text = dgvOperationsRoom.SelectedRows[0].Cells["Ip2"].Value.ToString();
|
||
}
|
||
if (dgvOperationsRoom.SelectedRows[0].Cells["Ip3"].EditedFormattedValue.ToString() != "")
|
||
{
|
||
txtIp3.Text = dgvOperationsRoom.SelectedRows[0].Cells["Ip3"].Value.ToString();
|
||
}
|
||
cbotype.Text = dgvOperationsRoom.SelectedRows[0].Cells["type"].Value.ToString();
|
||
txtOrderBy.Text = dgvOperationsRoom.SelectedRows[0].Cells["OrderBy"].Value.ToString();
|
||
chkIsValid.Checked = dgvOperationsRoom.SelectedRows[0].Cells["IsValid"].Value.ToString() == "有效" ? true : false;
|
||
|
||
//try
|
||
//{
|
||
// cboDepartment.Text = dgvOperationsRoom.SelectedRows[0].Cells["DepartmentNameColumn"].EditedFormattedValue.ToString();
|
||
//}
|
||
//catch (Exception)
|
||
//{
|
||
//}
|
||
}
|
||
/// <summary>
|
||
/// 取消事件
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
private void tsbCancel_Click(object sender, EventArgs e)
|
||
{
|
||
ControlExtension.ClearControl(panel1);
|
||
ControlExtension.EnabledControl(panel1, false);
|
||
cboDepartment.SelectedIndex = -1;
|
||
cboDepartment.Text = "";
|
||
}
|
||
/// <summary>
|
||
/// 保存数据事件
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
private void tsbSave_Click(object sender, EventArgs e)
|
||
{
|
||
if (!ValidInput())
|
||
{
|
||
return;
|
||
}
|
||
if (_state == EditState.ADD && dgvOperationsRoom.Rows.Count > 0 && ControlExtension.ValidDataGridViewExistsItemName(dgvOperationsRoom, "oName", txtName.Text.Trim()))
|
||
{
|
||
MessageBox.Show("该手术间已存在,请重新输入!");
|
||
txtName.Focus();
|
||
return;
|
||
}
|
||
OperationRoom opr = new OperationRoom();
|
||
opr.Name = txtName.Text.Trim();
|
||
opr.HelpCode = PublicMethod.GetFirstLetter(txtName.Text.Trim());
|
||
opr.Ip = txtIp1.Text.Trim();
|
||
opr.Ip2 = txtIp2.Text.Trim();
|
||
opr.Ip3 = txtIp3.Text.Trim();
|
||
opr.Site = cbotype.Text.Trim();
|
||
opr.RoomOrder = Convert.ToInt32(txtOrderBy.Text.Trim());
|
||
opr.IsValid = chkIsValid.Checked == true ? 1 : 0;
|
||
opr.OperatorName = PublicMethod.OperatorName;
|
||
opr.OperatorNo = PublicMethod.OperatorNo;
|
||
opr.OperateDate = DateTime.Now;
|
||
int num = 0;
|
||
if (_state == EditState.ADD)
|
||
{
|
||
num = BOperationRoom.Insert(opr);
|
||
}
|
||
else if (_state == EditState.EDIT)
|
||
{
|
||
opr.Id = Convert.ToInt32(dgvOperationsRoom.SelectedRows[0].Cells["Id"].Value);
|
||
num = BOperationRoom.Update(opr);
|
||
}
|
||
if (num > 0)
|
||
{
|
||
MessageBox.Show("保存成功!");
|
||
ControlExtension.EnabledControl(panel1, false);
|
||
ControlExtension.ClearControl(panel1);
|
||
list = BOperationRoom.Select(" order by Site,[RoomOrder] asc", new ParameterList(), RecursiveType.None, 0); ;
|
||
BindDgv(list);
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 输入验证
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
private bool ValidInput()
|
||
{
|
||
bool key = false;
|
||
if (txtName.Text.Trim().Length < 1)
|
||
{
|
||
MessageBox.Show("请输入手术间!");
|
||
txtName.Focus();
|
||
}
|
||
else if (txtIp1.Text.Trim().Length < 1)
|
||
{
|
||
MessageBox.Show("请输入一个Ip地址!");
|
||
txtIp1.Focus();
|
||
}
|
||
else if (txtOrderBy.Text.Trim().Length < 1)
|
||
{
|
||
MessageBox.Show("请输入排序顺序!");
|
||
txtOrderBy.Focus();
|
||
}
|
||
else
|
||
{
|
||
key = true;
|
||
}
|
||
return key;
|
||
}
|
||
/// <summary>
|
||
/// 判断DataGridView是否显示全部记录
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
private void chkAll_CheckedChanged(object sender, EventArgs e)
|
||
{
|
||
if (chkAll.Checked == true)
|
||
{
|
||
BindDgv(list);
|
||
}
|
||
else
|
||
{
|
||
var results = from p in list
|
||
where p.IsValid == 1
|
||
select p;
|
||
BindDgv(results.ToList());
|
||
}
|
||
}
|
||
|
||
private void txtIp1_Leave(object sender, EventArgs e)
|
||
{
|
||
TextBox tb = (TextBox)sender;
|
||
if (tb.Text.Trim().Length == 0)
|
||
{
|
||
return;
|
||
}
|
||
IPAddress ip;
|
||
if (!IPAddress.TryParse(tb.Text.Trim(), out ip))
|
||
{
|
||
MessageBox.Show("非法IP地址,请重新输入!");
|
||
tb.Text = "";
|
||
tb.Focus();
|
||
}
|
||
}
|
||
|
||
private void cboDepartment_TextUpdate(object sender, EventArgs e)
|
||
{
|
||
//清空combobox
|
||
this.cboDepartment.Items.Clear();
|
||
//清空listNew
|
||
listNew.Clear();
|
||
//遍历全部备查数据
|
||
listNew = BDepartment.Select("IsValid=1 and (HCode like '%" + cboDepartment.Text + "%' or Name like '%" + cboDepartment.Text + "%' )", new ParameterList(), RecursiveType.None, 0);
|
||
if (listNew.Count <= 0)
|
||
{
|
||
listNew = BDepartment.Select("IsValid=1 ", new ParameterList(), RecursiveType.None, 0);
|
||
listNew.Insert(0, new Department() { Id = -1, Name = "全部科室" });
|
||
}
|
||
|
||
//combobox添加已经查到的关键词
|
||
this.cboDepartment.Items.AddRange(listNew.ToArray());
|
||
//设置光标位置,否则光标位置始终保持在第一列,造成输入关键词的倒序排列
|
||
this.cboDepartment.SelectionStart = this.cboDepartment.Text.Length;
|
||
//保持鼠标指针原来状态,有时候鼠标指针会被下拉框覆盖,所以要进行一次设置。
|
||
Cursor = Cursors.Default;
|
||
//自动弹出下拉框
|
||
this.cboDepartment.DroppedDown = true;
|
||
}
|
||
|
||
private void tsbClear_Click(object sender, EventArgs e)
|
||
{
|
||
}
|
||
}
|
||
}
|