AIMS/AIMS/PublicUI/frmPerson.cs
2022-09-14 16:23:59 +08:00

275 lines
13 KiB
C#

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;
namespace AIMS.PublicUI.UI
{
public partial class frmPerson : Form
{
public AIMSExtension.EditState _state;
private Model.Person SelectPerson = new Model.Person();
public frmPerson()
{
InitializeComponent();
}
private void frmPerson_Load(object sender, EventArgs e)
{
AIMSExtension.PublicMethod.SetDgvAttribute(dgvPerson);
AIMSExtension.PublicMethod.EnabledControl(panel1, false);
Initial();
intPersonOrder.Text = "0";
GetPersonDataTable("", "");
}
private void Initial()
{
cboDepartment.DisplayMember = "Name";
cboDepartment.ValueMember = "Id";
cboDepartment.DataSource = BLL.Department.GetDepartmentDataTable("");
cboDepartment.SelectedIndex = -1;
cboRole.DisplayMember = "RoleName";
cboRole.ValueMember = "Id";
cboRole.DataSource = BLL.Role.GetDataTable();
cboRole.SelectedIndex = -1;
cboDiploma.DisplayMember = "Name";
cboDiploma.ValueMember = "Id";
cboDiploma.DataSource = DataDictionary.BLL.DataDictionary.GetDataDictionaryDataTable(" ParentId IN (SELECT Id FROM BasicDictionary WHERE NAME='学历')");
cboDiploma.SelectedIndex = -1;
cboJobTitle.DisplayMember = "Name";
cboJobTitle.ValueMember = "Id";
cboJobTitle.DataSource = DataDictionary.BLL.DataDictionary.GetDataDictionaryDataTable(" ParentId IN (SELECT Id FROM BasicDictionary WHERE NAME='工作职称')");
cboJobTitle.SelectedIndex = -1;
cboPersonType.DisplayMember = "Name";
cboPersonType.ValueMember = "Id";
cboPersonType.DataSource = DataDictionary.BLL.DataDictionary.GetDataDictionaryDataTable(" ParentId IN (SELECT Id FROM BasicDictionary WHERE NAME='人员类型')");
cboPersonType.SelectedIndex = -1;
this.txtName.Enabled = true;
this.txtName.TextChanged += new System.EventHandler(this.txtName_TextChanged);
this.cboDepartment.Enabled = true;
this.cboDepartment.SelectedIndexChanged += new System.EventHandler(this.cboDepartment_SelectedIndexChanged);
}
private void tsbExit_Click(object sender, EventArgs e)
{
Close();
}
private void tsbAdd_Click(object sender, EventArgs e)
{
_state = AIMSExtension.EditState.ADD;
this.txtName.TextChanged -= new System.EventHandler(this.txtName_TextChanged);
this.cboDepartment.SelectedIndexChanged -= new System.EventHandler(this.cboDepartment_SelectedIndexChanged);
AIMSExtension.PublicMethod.EnabledControl(panel1, true);
AIMSExtension.PublicMethod.ClearControl(panel1);
}
private void tsbModify_Click(object sender, EventArgs e)
{
_state = AIMSExtension.EditState.EDIT;
this.txtName.TextChanged -= new System.EventHandler(this.txtName_TextChanged);
this.cboDepartment.SelectedIndexChanged -= new System.EventHandler(this.cboDepartment_SelectedIndexChanged);
AIMSExtension.PublicMethod.EnabledControl(panel1, true);
if (dgvPerson.Rows.Count > 0)
{
SelectPerson.Id = int.Parse(dgvPerson.CurrentRow.Cells["Id"].Value.ToString());
cboDepartment.Text = dgvPerson.CurrentRow.Cells["DepNameColumn"].Value.ToString();
txtNo.Text = dgvPerson.CurrentRow.Cells["NoColumn"].Value.ToString();
txtName.Text = dgvPerson.CurrentRow.Cells["NameColumn"].Value.ToString();
txtHelpCode.Text = dgvPerson.CurrentRow.Cells["HelpCodeColumn"].Value.ToString();
cboSex.Text = dgvPerson.CurrentRow.Cells["SexColumn"].Value.ToString();
cboDiploma.Text = dgvPerson.CurrentRow.Cells["DiplomaColumn"].Value.ToString();
cboJobTitle.Text = dgvPerson.CurrentRow.Cells["JobTitleColumn"].Value.ToString();
dtpBirthDay.Text = dgvPerson.CurrentRow.Cells["BirthDayColumn"].Value.ToString();
dtpTimeToWork.Text = dgvPerson.CurrentRow.Cells["TimeToWorkColumn"].Value.ToString();
cboPersonType.Text = dgvPerson.CurrentRow.Cells["PersonTypeColumn"].Value.ToString();
cboRole.Text = dgvPerson.CurrentRow.Cells["RoleNameColumn"].Value.ToString();
txtPassWord.Text = dgvPerson.CurrentRow.Cells["PassWordColumn"].Value.ToString();
intPersonOrder.Text = dgvPerson.CurrentRow.Cells["PersonOrderColumn"].Value.ToString();
if (dgvPerson.CurrentRow.Cells["IsValidColumn"].Value.ToString() == "有效")
{
chkIsValid.Checked = true;
}
else
{
chkIsValid.Checked = false;
}
}
}
private void tsbCancel_Click(object sender, EventArgs e)
{
_state = AIMSExtension.EditState.BROWSE;
AIMSExtension.PublicMethod.EnabledControl(panel1, false);
AIMSExtension.PublicMethod.ClearControl(panel1);
this.txtName.Enabled = true;
this.txtName.TextChanged += new System.EventHandler(this.txtName_TextChanged);
this.cboDepartment.Enabled = true;
this.cboDepartment.SelectedIndexChanged += new System.EventHandler(this.cboDepartment_SelectedIndexChanged);
}
private void tsbSava_Click(object sender, EventArgs e)
{
if (ValidInput())
{
Model.Person PersonObj = new Model.Person();
PersonObj.DepId = int.Parse(cboDepartment.SelectedValue.ToString());
PersonObj.No = txtNo.Text;
PersonObj.Name = txtName.Text.Trim();
PersonObj.HelpCode = txtHelpCode.Text;
PersonObj.Sex = cboSex.Text;
PersonObj.Diploma = cboDiploma.Text;
PersonObj.JobTitle = cboJobTitle.Text;
PersonObj.BirthDay = dtpBirthDay.Text;
PersonObj.TimeToWork = dtpTimeToWork.Text;
PersonObj.PersonType = cboPersonType.Text;
PersonObj.RoleId = int.Parse(cboRole.SelectedValue.ToString());
PersonObj.OperatorNo = AIMSExtension.PublicMethod.OperatorNo;
PersonObj.OperatorName = AIMSExtension.PublicMethod.OperatorName;
PersonObj.OperateDate = AIMSExtension.PublicMethod.SystemDate();
PersonObj.PassWord = txtPassWord.Text.Trim();
PersonObj.PersonOrder = int.Parse(intPersonOrder.Text);
PersonObj.IsValid = int.Parse(chkIsValid.Checked ? "1" : "0");
if (_state == AIMSExtension.EditState.ADD)
{
BLL.Person.Add(PersonObj);
dgvPerson.CurrentRow.Cells["DepNameColumn"].Value = cboDepartment.Text;
dgvPerson.CurrentRow.Cells["NoColumn"].Value = txtNo.Text;
dgvPerson.CurrentRow.Cells["NameColumn"].Value = txtName.Text;
dgvPerson.CurrentRow.Cells["HelpCodeColumn"].Value = txtHelpCode.Text;
dgvPerson.CurrentRow.Cells["SexColumn"].Value = cboSex.Text;
dgvPerson.CurrentRow.Cells["DiplomaColumn"].Value = cboDiploma.Text;
dgvPerson.CurrentRow.Cells["JobTitleColumn"].Value = cboJobTitle.Text;
dgvPerson.CurrentRow.Cells["BirthDayColumn"].Value = dtpBirthDay.Text;
dgvPerson.CurrentRow.Cells["TimeToWorkColumn"].Value = dtpTimeToWork.Text;
dgvPerson.CurrentRow.Cells["PersonTypeColumn"].Value = cboPersonType.Text;
dgvPerson.CurrentRow.Cells["RoleNameColumn"].Value = cboRole.Text;
dgvPerson.CurrentRow.Cells["PassWordColumn"].Value = txtPassWord.Text;
dgvPerson.CurrentRow.Cells["PersonOrderColumn"].Value = intPersonOrder.Text;
}
if (_state == AIMSExtension.EditState.EDIT)
{
PersonObj.Id = SelectPerson.Id;
BLL.Person.Update(PersonObj);
dgvPerson.CurrentRow.Cells["DepNameColumn"].Value = cboDepartment.Text;
dgvPerson.CurrentRow.Cells["NoColumn"].Value = txtNo.Text;
dgvPerson.CurrentRow.Cells["NameColumn"].Value = txtName.Text;
dgvPerson.CurrentRow.Cells["HelpCodeColumn"].Value = txtHelpCode.Text;
dgvPerson.CurrentRow.Cells["SexColumn"].Value = cboSex.Text;
dgvPerson.CurrentRow.Cells["DiplomaColumn"].Value = cboDiploma.Text;
dgvPerson.CurrentRow.Cells["JobTitleColumn"].Value = cboJobTitle.Text;
dgvPerson.CurrentRow.Cells["BirthDayColumn"].Value = dtpBirthDay.Text;
dgvPerson.CurrentRow.Cells["TimeToWorkColumn"].Value = dtpTimeToWork.Text;
dgvPerson.CurrentRow.Cells["PersonTypeColumn"].Value = cboPersonType.Text;
dgvPerson.CurrentRow.Cells["RoleNameColumn"].Value = cboRole.Text;
dgvPerson.CurrentRow.Cells["PassWordColumn"].Value = txtPassWord.Text;
dgvPerson.CurrentRow.Cells["PersonOrderColumn"].Value = intPersonOrder.Text;
}
_state = AIMSExtension.EditState.BROWSE;
AIMSExtension.PublicMethod.EnabledControl(panel1, false);
AIMSExtension.PublicMethod.ClearControl(panel1);
this.txtName.Enabled = true;
this.txtName.TextChanged += new System.EventHandler(this.txtName_TextChanged);
this.cboDepartment.Enabled = true;
this.cboDepartment.SelectedIndexChanged += new System.EventHandler(this.cboDepartment_SelectedIndexChanged);
}
}
private bool ValidInput()
{
bool result = false;
if (cboDepartment.Text.Trim().Length < 1)
{
MessageBox.Show("科室不能为空!");
}
else if (txtNo.Text.Trim().Length < 1)
{
MessageBox.Show("工号不能为空!");
}
else if (this.txtName.Text.Trim().Length < 1)
{
MessageBox.Show("名称不能为空!");
}
//else if (cboSex.Text.Trim().Length < 1)
//{
// MessageBox.Show("性别不能为空!");
//}
else if (cboRole.Text.Trim().Length < 1)
{
MessageBox.Show("角色不能为空!");
}
else
{
result = true;
}
return result;
}
private void txtName_TextChanged(object sender, EventArgs e)
{
txtHelpCode.Text = AIMSExtension.PublicMethod.GetFirstLetter(txtName.Text.Trim());
GetPersonDataTable(txtName.Text.Trim(), "");
}
private void GetPersonDataTable(string name, string DepartName)
{
dgvPerson.Rows.Clear();
DataTable dt = BLL.Person.GetPersonDataTable(name,DepartName);
for (int i = 0; i < dt.Rows.Count; i++)
{
dgvPerson.Rows.Add(dt.Rows[i]["Id"].ToString(),
dt.Rows[i]["DepName"].ToString(),
dt.Rows[i]["No"].ToString(),
dt.Rows[i]["Name"].ToString(),
dt.Rows[i]["HelpCode"].ToString(),
dt.Rows[i]["Sex"].ToString(),
dt.Rows[i]["Diploma"].ToString(),
dt.Rows[i]["JobTitle"].ToString(),
dt.Rows[i]["BirthDay"].ToString(),
dt.Rows[i]["TimeToWork"].ToString(),
dt.Rows[i]["PersonType"].ToString(),
dt.Rows[i]["RoleName"].ToString(),
dt.Rows[i]["PassWord"].ToString(),
dt.Rows[i]["IsValid"].ToString(),
dt.Rows[i]["PersonOrder"].ToString());
}
if (dgvPerson.Rows.Count > 0)
{
dgvPerson.ClearSelection();
dgvPerson.Rows[0].Selected = false;
dgvPerson.Rows[dgvPerson.Rows.Count - 1].Selected = true;
dgvPerson.CurrentCell = this.dgvPerson.Rows[dgvPerson.Rows.Count - 1].Cells[1];
}
}
private void cboDepartment_SelectedIndexChanged(object sender, EventArgs e)
{
GetPersonDataTable("", cboDepartment.Text.Trim());
}
}
}