440 lines
19 KiB
C#
440 lines
19 KiB
C#
using DevExpress.Utils;
|
|
using DevExpress.XtraEditors;
|
|
using DevExpress.XtraEditors.Controls;
|
|
using DevExpress.XtraEditors.Repository;
|
|
using HL_FristAidPlatform_DTO;
|
|
using HL_FristAidPlatform_Public;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Windows.Forms;
|
|
|
|
namespace HL_FristAidPlatform_PreHospitalEmergency
|
|
{
|
|
public partial class Form_DrugManagement : XtraForm
|
|
{
|
|
|
|
/// <summary>
|
|
/// 当前页
|
|
/// </summary>
|
|
public int curPage = 1;
|
|
/// <summary>
|
|
/// 每页大小
|
|
/// </summary>
|
|
public int pageSize = 20;
|
|
/// <summary>
|
|
/// 所有记录条数
|
|
/// </summary>
|
|
public int totalNumber = 0;
|
|
|
|
DataTable ResultDT;
|
|
|
|
|
|
public Form_DrugManagement()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void Form_DrugManagement_Load(object sender, EventArgs e)
|
|
{
|
|
RefreshData();
|
|
}
|
|
|
|
private void btn_Update_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
|
{
|
|
}
|
|
|
|
|
|
|
|
private void btn_Exit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
|
{
|
|
this.Close();
|
|
}
|
|
|
|
private void btn_Select_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
|
{
|
|
RefreshData();
|
|
}
|
|
//绑定数据
|
|
public void RefreshData()
|
|
{
|
|
try
|
|
{
|
|
#region 绑定数据源
|
|
|
|
string Url = string.Format("api/service/T_Service_FirstAid_DrugManagement?hospitalGuid={0}&drugName={1}&batchNumber={2}&manufacturer={3}&temporary={4}&expired={5}&pageIndex={6}&pageSize={7}", Information.Hospital.GUID, "", "", "", false, false, curPage, pageSize);
|
|
ResultDT = DBHelpClass.Get(Url);
|
|
gridControl1.DataSource = ResultDT;//显示分页结果
|
|
gridView1.Appearance.EvenRow.BackColor = Color.FromArgb(245, 245, 245);
|
|
gridView1.Appearance.OddRow.BackColor = Color.FromArgb(255, 255, 255);
|
|
gridView1.OptionsView.EnableAppearanceEvenRow = true;
|
|
gridView1.OptionsView.EnableAppearanceOddRow = true;
|
|
gridView1.BestFitColumns();//列宽自适应
|
|
totalNumber = DBHelpClass.TotalNumber;
|
|
userControlForPage.RefreshPager(pageSize, totalNumber, curPage);//更新分页控件显示。
|
|
#endregion
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
PublicClass.WriteErrorLog(this.Text, "绑定数据源:\r\n" + ex);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void Form_DrugManagement_FormClosed(object sender, FormClosedEventArgs e)
|
|
{
|
|
this.Dispose();
|
|
}
|
|
|
|
private void gridView1_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
|
|
{
|
|
if (gridView1.GetRow(e.RowHandle) == null)
|
|
{
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
|
|
if (e.Column.FieldName == "TermOfValidity")
|
|
{
|
|
DateTime dt = Convert.ToDateTime(gridView1.GetRowCellValue(e.RowHandle, "TermOfValidity").ToString());
|
|
int days = new TimeSpan(dt.Ticks - DateTime.Now.Ticks).Days;
|
|
if (days <= 30) //条件判断
|
|
{
|
|
e.Appearance.BackColor = Color.FromArgb(255, 212, 41);
|
|
e.Appearance.ForeColor = Color.White;
|
|
}
|
|
if (dt < DateTime.Now)
|
|
{
|
|
e.Appearance.BackColor = Color.FromArgb(255, 108, 79);
|
|
e.Appearance.ForeColor = Color.White;
|
|
}
|
|
|
|
}
|
|
if (e.Column.FieldName == "State")
|
|
{
|
|
int state=int.Parse(gridView1.GetRowCellValue(e.RowHandle, "State").ToString());
|
|
switch (state)
|
|
{
|
|
case -1:
|
|
e.Appearance.ForeColor = Color.Gray;
|
|
break;
|
|
case 0:
|
|
e.Appearance.ForeColor = Color.Orange;
|
|
break;
|
|
case 1:
|
|
e.Appearance.ForeColor = Color.Green;
|
|
break;
|
|
case 2:
|
|
e.Appearance.ForeColor = Color.Red;
|
|
break;
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
|
|
private void gridView1_CustomRowCellEdit(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (ResultDT != null && e.Column.Name == "gridColumn_operate")
|
|
{
|
|
RepositoryItemButtonEdit riButtonEdit = new RepositoryItemButtonEdit();
|
|
riButtonEdit.Buttons.Clear();
|
|
riButtonEdit.TextEditStyle = TextEditStyles.HideTextEditor;
|
|
string state = PublicClass.ToString(gridView1.GetRowCellValue(e.RowHandle, "State"), "");
|
|
|
|
if (state == "0")
|
|
{
|
|
EditorButton bt1 = new EditorButton();
|
|
bt1.Kind = ButtonPredefines.Glyph;
|
|
bt1.Caption = "修改";
|
|
bt1.Visible = true;
|
|
bt1.Enabled = true;
|
|
bt1.Appearance.TextOptions.HAlignment = HorzAlignment.Near;
|
|
bt1.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
|
|
|
|
riButtonEdit.Buttons.Add(bt1);
|
|
EditorButton bt2 = new EditorButton();
|
|
bt2.Kind = ButtonPredefines.Glyph;
|
|
bt2.Caption = "删除";
|
|
bt2.Visible = true;
|
|
bt2.Enabled = true;
|
|
bt2.Appearance.TextOptions.HAlignment = HorzAlignment.Near;
|
|
bt2.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
|
|
|
|
riButtonEdit.Buttons.Add(bt2);
|
|
|
|
}
|
|
else if (state == "1")
|
|
{
|
|
EditorButton bt3 = new EditorButton();
|
|
bt3.Kind = ButtonPredefines.Glyph;
|
|
bt3.Caption = "出库";
|
|
bt3.Visible = true;
|
|
bt3.Enabled = true;
|
|
bt3.Appearance.TextOptions.HAlignment = HorzAlignment.Near;
|
|
bt3.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
|
|
|
|
riButtonEdit.Buttons.Add(bt3);
|
|
}
|
|
else if (state == "-1")
|
|
{
|
|
EditorButton bt4 = new EditorButton();
|
|
bt4.Kind = ButtonPredefines.Glyph;
|
|
bt4.Caption = "添加";
|
|
bt4.Visible = true;
|
|
bt4.Enabled = true;
|
|
bt4.Appearance.TextOptions.HAlignment = HorzAlignment.Near;
|
|
bt4.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
|
|
riButtonEdit.Buttons.Add(bt4);
|
|
|
|
EditorButton bt5 = new EditorButton();
|
|
bt5.Kind = ButtonPredefines.Glyph;
|
|
bt5.Caption = "删除";
|
|
bt5.Visible = true;
|
|
bt5.Enabled = true;
|
|
bt5.Appearance.TextOptions.HAlignment = HorzAlignment.Near;
|
|
bt5.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
|
|
riButtonEdit.Buttons.Add(bt5);
|
|
}
|
|
else if (state == "2")
|
|
{
|
|
EditorButton bt6 = new EditorButton();
|
|
bt6.Kind = ButtonPredefines.Glyph;
|
|
bt6.Caption = "申请审核";
|
|
bt6.Visible = true;
|
|
bt6.Enabled = true;
|
|
bt6.Appearance.TextOptions.HAlignment = HorzAlignment.Near;
|
|
bt6.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
|
|
|
|
riButtonEdit.Buttons.Add(bt6);
|
|
EditorButton bt7 = new EditorButton();
|
|
bt7.Kind = ButtonPredefines.Glyph;
|
|
bt7.Caption = "修改";
|
|
bt7.Visible = true;
|
|
bt7.Enabled = true;
|
|
bt7.Appearance.TextOptions.HAlignment = HorzAlignment.Near;
|
|
bt7.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
|
|
|
|
riButtonEdit.Buttons.Add(bt7);
|
|
EditorButton bt8 = new EditorButton();
|
|
bt8.Kind = ButtonPredefines.Glyph;
|
|
|
|
bt8.Caption = "删除";
|
|
bt8.Visible = true;
|
|
bt8.Enabled = true;
|
|
bt8.Appearance.TextOptions.HAlignment = HorzAlignment.Near;
|
|
bt8.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
|
|
|
|
riButtonEdit.Buttons.Add(bt8);
|
|
}
|
|
riButtonEdit.ButtonClick += RiButtonEdit_ButtonClick;
|
|
e.RepositoryItem = riButtonEdit;
|
|
}
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
throw;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 动态按钮事件
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void RiButtonEdit_ButtonClick(object sender, ButtonPressedEventArgs e)
|
|
{
|
|
int selectRow = gridView1.GetSelectedRows()[0];
|
|
if (selectRow <= -1)
|
|
{
|
|
MessageBox.Show("请先选中一行数据");
|
|
return;
|
|
}
|
|
string _guid = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "ManagementGUID"), "");
|
|
switch (e.Button.Caption)
|
|
{
|
|
case "修改":
|
|
string name = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "Name"), "");
|
|
string source = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "DrugSource"), "");
|
|
string inventory = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "Inventory"), "");
|
|
string manufacturer = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "Manufacturer"), "");
|
|
string batchNumber = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "BatchNumber"), "");
|
|
string termOfValidity = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "TermOfValidity"), "");
|
|
string drugguid = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "DrugGUID"), "");
|
|
Form_DrugCheckIn form_DrugCheckIn = new Form_DrugCheckIn(_guid, name, source, inventory, manufacturer, batchNumber, termOfValidity, drugguid, 0);
|
|
form_DrugCheckIn.Owner = this;
|
|
form_DrugCheckIn.Show();
|
|
break;
|
|
case "出库":
|
|
string _name = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "Name"), "");
|
|
string _inventory = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "Inventory"), "");
|
|
Form_ExwarehouseDrug drug = new Form_ExwarehouseDrug(_guid, _name, _inventory);
|
|
drug.Owner = this;
|
|
drug.Show();
|
|
break;
|
|
case "删除":
|
|
try
|
|
{
|
|
DialogResult dr = XtraMessageBox.Show("确认是否删除", "", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
|
|
if (dr == DialogResult.Yes)
|
|
{
|
|
List<GUIDDTO> list = new List<GUIDDTO>();
|
|
GUIDDTO dto = new GUIDDTO();
|
|
dto.GUID = _guid;
|
|
string Url = "api/service/T_Service_FirstAid_DrugManagement/LogicalDeletionDrug";
|
|
list.Add(dto);
|
|
//初始化两个工厂
|
|
ClientFactory<GUIDDTO> httpClient = new HttpClientFactory<GUIDDTO>();
|
|
Client<GUIDDTO> client = httpClient.VisitFactory();
|
|
//访问
|
|
ListEntity<GUIDDTO> t = client.Post(Url, list);
|
|
if (t.Success)
|
|
{
|
|
XtraMessageBox.Show("删除成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("删除失败");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
return;
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
PublicClass.WriteErrorLog(this.Text, "删除:\r\n" + ex);
|
|
}
|
|
break;
|
|
case "添加":
|
|
string drugname = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "Name"), "");
|
|
string rugsource = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "DrugSource"), "");
|
|
string ruginventory = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "Inventory"), "");
|
|
string rugmanufacturer = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "Manufacturer"), "");
|
|
string rugbatchNumber = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "BatchNumber"), "");
|
|
string rugtermOfValidity = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "TermOfValidity"), "");
|
|
string drugGuid = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "DrugGUID"), "");
|
|
Form_DrugCheckIn addDrug = new Form_DrugCheckIn(_guid, drugname, rugsource, ruginventory, rugmanufacturer, rugbatchNumber, rugtermOfValidity, drugGuid, 1);
|
|
addDrug.Owner = this;
|
|
addDrug.Show();
|
|
break;
|
|
case "申请审核":
|
|
List<AuditDTO> list1 = new List<AuditDTO>();
|
|
AuditDTO dto1 = new AuditDTO();
|
|
dto1.GUID = _guid;
|
|
dto1.Type = 0;
|
|
list1.Add(dto1);
|
|
string Url1 = "api/service/FristAidTran/ExamineGrug";
|
|
//初始化两个工厂
|
|
ClientFactory<AuditDTO> httpClient1 = new HttpClientFactory<AuditDTO>();
|
|
Client<AuditDTO> client1 = httpClient1.VisitFactory();
|
|
//访问
|
|
ListEntity<AuditDTO> t1 = client1.Post(Url1, list1);
|
|
if (t1.Success)
|
|
{
|
|
MessageBox.Show("提交成功");
|
|
RefreshData();
|
|
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("提交失败");
|
|
}
|
|
break;
|
|
|
|
}
|
|
}
|
|
|
|
private void gridView1_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
|
|
{
|
|
if (e.Column.FieldName == "State")
|
|
{
|
|
int state = PublicClass.ToInt32(e.Value, 0);
|
|
switch (state)
|
|
{
|
|
case -1:
|
|
e.DisplayText = "无状态";
|
|
break;
|
|
case 0:
|
|
e.DisplayText = "等待审核";
|
|
break;
|
|
case 1:
|
|
e.DisplayText = "通过审核";
|
|
break;
|
|
case 2:
|
|
e.DisplayText = "审核不通过";
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
private void ck_temporary_Click(object sender, EventArgs e)
|
|
{
|
|
if (ck_temporary.Checked==true)
|
|
{
|
|
ck_expired.Checked = false;
|
|
}
|
|
}
|
|
|
|
private void ck_expired_Click(object sender, EventArgs e)
|
|
{
|
|
if (ck_expired.Checked==true)
|
|
{
|
|
ck_temporary.Checked = false;
|
|
}
|
|
|
|
}
|
|
|
|
private void simpleButton2_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
bool temporary = false;
|
|
if (ck_temporary.Checked == true)
|
|
{
|
|
temporary = true;
|
|
}
|
|
|
|
bool expired = false;
|
|
if (ck_expired.Checked == true)
|
|
{
|
|
expired = true;
|
|
}
|
|
string Url = string.Format("api/service/T_Service_FirstAid_DrugManagement?hospitalGuid={0}&drugName={1}&batchNumber={2}&manufacturer={3}&temporary={4}&expired={5}&pageIndex={6}&pageSize={7}", Information.Hospital.GUID, textEdit_DrugName.Text, textEdit_BatchNumber.Text, textEdit_Manufacturer.Text, temporary, expired, curPage, pageSize);
|
|
DataTable ResultDT = DBHelpClass.Get(Url);
|
|
gridControl1.DataSource = ResultDT;//显示分页结果
|
|
gridView1.Appearance.EvenRow.BackColor = Color.FromArgb(245, 245, 245);
|
|
gridView1.Appearance.OddRow.BackColor = Color.FromArgb(255, 255, 255);
|
|
gridView1.OptionsView.EnableAppearanceEvenRow = true;
|
|
gridView1.OptionsView.EnableAppearanceOddRow = true;
|
|
}
|
|
|
|
private void simpleButton1_Click(object sender, EventArgs e)
|
|
{
|
|
Form_DrugCheckIn form_DrugCheckIn = new Form_DrugCheckIn("", "", "", "", "", "", "", "", 0);
|
|
form_DrugCheckIn.Owner = this;
|
|
form_DrugCheckIn.Show();
|
|
}
|
|
|
|
private void userControlForPage_exportEvents(bool singlePage)
|
|
{
|
|
userControlForPage.myPagerEvents += MyPagerEvents;
|
|
}
|
|
private void MyPagerEvents(int curPage, int pageSize)
|
|
{
|
|
this.curPage = curPage;
|
|
this.pageSize = pageSize;
|
|
RefreshData();
|
|
}
|
|
}
|
|
}
|