StableVersion4.3/HL_FristAidPlatform_PreHosp.../Form_DrugManagement.cs

440 lines
19 KiB
C#
Raw Normal View History

2024-03-11 09:47:34 +08:00
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();
}
}
}