2023-08-13 21:05:09 +08:00

223 lines
9.5 KiB
C#

using AIMS;
using AIMSBLL;
using AIMSModel;
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 DataDictionary.UI
{
public partial class frmDrugs : Form
{
public AIMSExtension.EditState _state;
private int SelectDrugsRowId = 0;
public frmDrugs()
{
InitializeComponent();
}
private void frmDrugs_Load(object sender, EventArgs e)
{
ControlExtension.SetDgvAttribute(dgv);
ControlExtension.EnabledControl(panel4, false);
txtName.Enabled = true;
List<BasicDictionary> _dUnitList = BBasicDictionary.GetBasicDictionaryByName("给药单位").SubItem;
_dUnitList.Insert(0, new BasicDictionary() { Id = -1, Name = "" });
cboDosageUnit.DataSource = _dUnitList;
cboDosageUnit.DisplayMember = "Name";
cboDosageUnit.ValueMember = "Name";
cboDosageUnit.SelectedIndex = -1;
List<BasicDictionary> _channelList = BBasicDictionary.GetBasicDictionaryByName("用药途径","asc").SubItem;
_channelList.Insert(0, new BasicDictionary() { Id = -1, Name = "" });
txtChannel.DataSource = _channelList;
txtChannel.DisplayMember = "Name";
txtChannel.ValueMember = "Name";
txtChannel.SelectedIndex = -1;
_state = AIMSExtension.EditState.BROWSE;
GetDrugsDataTable("");
}
private void tsbAdd_Click(object sender, EventArgs e)
{
_state = AIMSExtension.EditState.ADD;
ControlExtension.EnabledControl(panel4, true);
ControlExtension.ClearControl(panel4);
txtName.Enabled = true;
}
private void tsbModify_Click(object sender, EventArgs e)
{
_state = AIMSExtension.EditState.EDIT;
ControlExtension.EnabledControl(panel4, true);
txtName.Enabled = true;
if (dgv.Rows.Count > 0)
{
SelectDrugsRowId = int.Parse(dgv.CurrentRow.Cells["Id"].Value.ToString());
txtName.Text = dgv.CurrentRow.Cells["NameColumn"].Value.ToString();
cboDrugKind.Text = dgv.CurrentRow.Cells["DrugKindColumn"].Value.ToString();
txtStand.Text = dgv.CurrentRow.Cells["StandColumn"].Value.ToString();
cboDosageUnit.Text = dgv.CurrentRow.Cells["DosageUnitColumn"].Value.ToString();
txtUnit.Text = dgv.CurrentRow.Cells["UnitColumn"].Value.ToString();
txtHelpCode.Text = dgv.CurrentRow.Cells["HelpCodeColumn"].Value.ToString();
txtUseRate.Text = dgv.CurrentRow.Cells["UseRate"].Value.ToString();
txtRemark.Text = dgv.CurrentRow.Cells["Remark"].Value.ToString();
txtChannel.Text = dgv.CurrentRow.Cells["Channel"].Value.ToString();
txtDosage.Text = dgv.CurrentRow.Cells["Dosage"].Value.ToString();
txtUseDose1.Text = dgv.CurrentRow.Cells["UseDose1"].Value.ToString();
txtUseDose2.Text = dgv.CurrentRow.Cells["UseDose2"].Value.ToString();
txtUseDose3.Text = dgv.CurrentRow.Cells["UseDose3"].Value.ToString();
txtComment.Text = dgv.CurrentRow.Cells["Comment"].Value.ToString();
cboZFBL.Text = dgv.CurrentRow.Cells["ZFBL"].Value.ToString();
if (dgv.CurrentRow.Cells["IsValidColumn"].Value.ToString() == "有效")
{
chkIsValid.Checked = true;
}
else
{
chkIsValid.Checked = false;
}
}
}
private void tsbCancel_Click(object sender, EventArgs e)
{
ControlExtension.EnabledControl(panel4, false);
ControlExtension.ClearControl(panel4);
_state = AIMSExtension.EditState.BROWSE;
txtName.Enabled = true;
GetDrugsDataTable("");
}
private void tsbSava_Click(object sender, EventArgs e)
{
if (txtName.Text == "")
{
return;
}
Drugs DrugsObj = new Drugs();
DrugsObj.Name = txtName.Text.Trim();
DrugsObj.HelpCode = txtHelpCode.Text.Trim();
DrugsObj.DrugKind = cboDrugKind.Text;
DrugsObj.Stand = txtStand.Text.Trim();
DrugsObj.Dosage = txtDosage.Text.Trim();
DrugsObj.DosageUnit = cboDosageUnit.Text.Trim();
DrugsObj.Unit = txtUnit.Text.Trim();
DrugsObj.Remark = txtRemark.Text.Trim();
DrugsObj.Channel = txtChannel.Text.Trim();
DrugsObj.UseRate = int.Parse(txtUseRate.Text.Trim());
DrugsObj.OperatorNo = AIMSExtension.PublicMethod.OperatorNo;
DrugsObj.OperatorName = AIMSExtension.PublicMethod.OperatorName;
DrugsObj.OperateDate = AIMSExtension.PublicMethod.SystemDate();
DrugsObj.UseDose1 = txtUseDose1.Text.Trim();
DrugsObj.UseDose2 = txtUseDose2.Text.Trim();
DrugsObj.UseDose3 = txtUseDose3.Text.Trim();
DrugsObj.ZFBL = cboZFBL.Text.Trim();
DrugsObj.Comment = txtComment.Text.Trim();
if (chkIsValid.Checked)
{
DrugsObj.IsValid = 1;
}
else
{
DrugsObj.IsValid = 0;
}
if (_state == AIMSExtension.EditState.ADD)
{
BDrugs.Add(DrugsObj);
}
if (_state == AIMSExtension.EditState.EDIT)
{
DrugsObj.Id = SelectDrugsRowId;
BDrugs.Update(DrugsObj);
}
dgv.CurrentRow.Cells["NameColumn"].Value = txtName.Text;
dgv.CurrentRow.Cells["DrugKindColumn"].Value = cboDrugKind.Text;
dgv.CurrentRow.Cells["StandColumn"].Value = txtStand.Text;
dgv.CurrentRow.Cells["DosageUnitColumn"].Value = cboDosageUnit.Text;
dgv.CurrentRow.Cells["UnitColumn"].Value = txtUnit.Text;
dgv.CurrentRow.Cells["HelpCodeColumn"].Value = txtHelpCode.Text;
dgv.CurrentRow.Cells["UseRate"].Value = txtUseRate.Text;
dgv.CurrentRow.Cells["Remark"].Value = txtRemark.Text;
dgv.CurrentRow.Cells["Dosage"].Value = txtDosage.Text;
dgv.CurrentRow.Cells["UseDose1"].Value = txtUseDose1.Text;
dgv.CurrentRow.Cells["UseDose2"].Value = txtUseDose2.Text;
dgv.CurrentRow.Cells["UseDose3"].Value = txtUseDose3.Text;
dgv.CurrentRow.Cells["Comment"].Value = txtComment.Text;
dgv.CurrentRow.Cells["Channel"].Value = txtChannel.Text;
dgv.CurrentRow.Cells["IsValidColumn"].Value = chkIsValid.Checked == true ? "有效" : "无效";
ControlExtension.EnabledControl(panel4, false);
ControlExtension.ClearControl(panel4);
_state = AIMSExtension.EditState.BROWSE;
txtName.Enabled = true;
}
private void tsbExit_Click(object sender, EventArgs e)
{
Close();
}
private void txtName_TextChanged(object sender, EventArgs e)
{
if (_state == AIMSExtension.EditState.BROWSE)
GetDrugsDataTable("");
else
txtHelpCode.Text = AIMSExtension.PublicMethod.GetFirstLetter(txtName.Text.Trim());
}
private void GetDrugsDataTable(string DrugKind)
{
dgv.Rows.Clear();
DataTable dt = BDrugs.GetDataTable(DrugKind,txtName.Text);
for (int i = 0; i < dt.Rows.Count; i++)
{
dgv.Rows.Add(dt.Rows[i]["Id"].ToString(),
dt.Rows[i]["Code"].ToString(),
dt.Rows[i]["Name"].ToString(),
dt.Rows[i]["HelpCode"].ToString(),
dt.Rows[i]["DrugKind"].ToString(),
dt.Rows[i]["Stand"].ToString(),
dt.Rows[i]["Dosage"].ToString(),
dt.Rows[i]["DosageUnit"].ToString(),
dt.Rows[i]["UseDose1"].ToString(),
dt.Rows[i]["UseDose2"].ToString(),
dt.Rows[i]["UseDose3"].ToString(),
dt.Rows[i]["Unit"].ToString(),
dt.Rows[i]["UseRate"].ToString(),
dt.Rows[i]["Remark"].ToString(),
dt.Rows[i]["Channel"].ToString(),
dt.Rows[i]["Comment"].ToString(),
dt.Rows[i]["ZFBL"].ToString(),
dt.Rows[i]["IsValid"].ToString());
dgv.Rows[i].Cells["Id"].Selected = false;
}
if (dgv.Rows.Count > 0)
{
dgv.ClearSelection();
dgv.Rows[0].Selected = false;
dgv.Rows[dgv.Rows.Count - 1].Selected = true;
dgv.CurrentCell = this.dgv.Rows[dgv.Rows.Count - 1].Cells[1];
}
}
private void treeView1_MouseDoubleClick(object sender, MouseEventArgs e)
{
if (treeView1.SelectedNode.Name != "")
{
GetDrugsDataTable(treeView1.SelectedNode.Name);
}
}
}
}