StableVersion4.3/HL_FristAidPlatform_PreHosp.../Form_Personnel.cs

445 lines
17 KiB
C#

using DevExpress.Utils;
using DevExpress.XtraEditors;
using DevExpress.XtraEditors.Controls;
using DevExpress.XtraEditors.Repository;
using DevExpress.XtraGrid.Views.Grid;
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_Personnel : XtraForm
{
/// <summary>
/// 当前页
/// </summary>
public int curPage = 1;
/// <summary>
/// 每页大小
/// </summary>
public int pageSize = 100;
/// <summary>
/// 所有记录条数
/// </summary>
public int totalNumber = 0;
private DataTable ResultDT;
public Form_Personnel()
{
InitializeComponent();
}
private void Form_Personnel_Load(object sender, EventArgs e)
{
//#region 下拉框赋值
//DataTable table = new DataTable();
//DataColumn ddc = new DataColumn();
//ddc.ColumnName = "Name";
//ddc.Caption = "Name";
//table.Columns.Add(ddc);
//DataColumn dnameDc = new DataColumn();
//dnameDc.Caption = "Value";
//dnameDc.ColumnName = "Value";
//table.Columns.Add(dnameDc);
//DataRow ddr = table.NewRow();
//ddr["Name"] = 0;
//ddr["Value"] = "男";
//table.Rows.Add(ddr);
//DataRow ddr1 = table.NewRow();
//ddr1["Name"] = 1;
//ddr1["Value"] = "女";
//table.Rows.Add(ddr1);
//PublicClass.SetLookUpList(lookUpEdit_Gender, table, "Name", "Value", true, "请选择");
//DataTable dt = new DataTable();
//DataColumn ddc1 = new DataColumn();
//ddc1.ColumnName = "Name";
//ddc1.Caption = "Name";
//dt.Columns.Add(ddc1);
//DataColumn dnameDc1 = new DataColumn();
//dnameDc1.Caption = "Value";
//dnameDc1.ColumnName = "Value";
//dt.Columns.Add(dnameDc1);
//DataRow ddr2 = dt.NewRow();
//ddr2["Name"] = 0;
//ddr2["Value"] = "空闲";
//dt.Rows.Add(ddr2);
//DataRow ddr3 = dt.NewRow();
//ddr3["Name"] = 1;
//ddr3["Value"] = "休假";
//dt.Rows.Add(ddr3);
//DataRow ddr4 = dt.NewRow();
//ddr4["Name"] = 2;
//ddr4["Value"] = "出车";
//dt.Rows.Add(ddr4);
//PublicClass.SetLookUpList(lookUpEdit_CurrentState, dt, "Name", "Value", true, "请选择");
//DataTable dt1 = new DataTable();
//DataColumn ddc2 = new DataColumn();
//ddc2.ColumnName = "Name";
//ddc2.Caption = "Name";
//dt1.Columns.Add(ddc2);
//DataColumn dnameDc2 = new DataColumn();
//dnameDc2.Caption = "Value";
//dnameDc2.ColumnName = "Value";
//dt1.Columns.Add(dnameDc2);
//DataRow ddr5 = dt1.NewRow();
//ddr5["Name"] = 0;
//ddr5["Value"] = "司机";
//dt1.Rows.Add(ddr5);
//DataRow ddr6 = dt1.NewRow();
//ddr6["Name"] = 1;
//ddr6["Value"] = "医生";
//dt1.Rows.Add(ddr6);
//DataRow ddr7 = dt1.NewRow();
//ddr7["Name"] = 2;
//ddr7["Value"] = "护士";
//dt1.Rows.Add(ddr7);
//DataRow ddr8 = dt1.NewRow();
//ddr8["Name"] = 3;
//ddr8["Value"] = "担架工";
//dt1.Rows.Add(ddr8);
//#endregion
GetPersonnelData();
}
/// <summary>
/// 人员信息列表数据
/// </summary>
public void GetPersonnelData()
{
try
{
string name = txt_Personnel.Text;
int gender = -1;
switch (radioGroup3.SelectedIndex)
{
case 1:
gender = 1;
break;
case 2:
gender = 2;
break;
}
int currentState = -1;
switch (radioGroup2.SelectedIndex)
{
case 1:
currentState = 0;
break;
case 2:
currentState = 1;
break;
}
int type = -1;
switch (radioGroup1.SelectedIndex)
{
case 1:
type = 0;
break;
case 2:
type = 1;
break;
}
//hospitalGuid, state, type, name, gender
ResultDT = DBHelpClass.Get(string.Format("api/admin/T_SYS_User/GetFirstAidUserList?hospitalGuid={0}&state={1}&type={2}&name={3}&gender={4}&pageIndex={5}&pageSize={6}", Information.Hospital.GUID, currentState, type, name, gender, curPage, pageSize));
gridControl_Personnel.DataSource = ResultDT;//显示分页结果
totalNumber = DBHelpClass.TotalNumber;
userControlForPage.RefreshPager(pageSize, totalNumber, curPage);//更新分页控件显示。
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "绑定数据列表:\r\n" + ex);
}
}
private void barLargeButtonItem2_ItemClick_1(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
GetPersonnelData();
}
private void btn_Update_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (gridView1.DataRowCount > 0)
{
int selectRow = gridView1.GetSelectedRows()[0];
string guid = gridView1.GetRowCellValue(selectRow, "GUID").ToString();
string name = gridView1.GetRowCellValue(selectRow, "Name").ToString();
int gender = Convert.ToInt32(gridView1.GetRowCellValue(selectRow, "Gender").ToString());
int state = Convert.ToInt32(gridView1.GetRowCellValue(selectRow, "State").ToString());
string positionName = gridView1.GetRowCellValue(selectRow, "PositionName").ToString();
Form_PersonnelAdd frm = new Form_PersonnelAdd(guid, name, gender, state, positionName);
if (frm.ShowDialog() == DialogResult.OK)
{
GetPersonnelData();
//定位
PublicClass.LocationForGridView(gridView1, guid, 0);
}
}
}
private void gridView1_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
{
GridView View = sender as GridView;
if (e.Column.FieldName == "Gender")
{
int gender = PublicClass.ToInt32(e.Value, 0);
switch (gender)
{
case 0:
e.DisplayText = "未知";
break;
case 1:
e.DisplayText = "男";
break;
case 2:
e.DisplayText = "女";
break;
default:
break;
}
}
if (e.Column.FieldName == "State")
{
int state = PublicClass.ToInt32(e.Value, 0);
switch (state)
{
case 0:
e.DisplayText = "非当值";
break;
case 1:
e.DisplayText = "待命";
break;
case 2:
e.DisplayText = "出警";
break;
}
}
}
private void repositoryItemButtonEdit1_ButtonClick_1(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
{
try
{
#region 删除
if (gridView1.DataRowCount > 0)
{
int selectRow = gridView1.GetSelectedRows()[0];
string guid = gridView1.GetRowCellValue(selectRow, "GUID").ToString();
if (string.IsNullOrEmpty(guid))
{
XtraMessageBox.Show("请先选择要删除的用户!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
DialogResult dr = XtraMessageBox.Show("确认是否删除", "", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
if (dr == DialogResult.Yes)
{
string state = gridView1.GetRowCellValue(selectRow, "CurrentState").ToString();
if (state == "2")
{
XtraMessageBox.Show("该用户状态未出车,请交接完成后再执行此操作!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
List<T_Service_FistAid_PersonnelDTO> list = new List<T_Service_FistAid_PersonnelDTO>();
T_Service_FistAid_PersonnelDTO model = new T_Service_FistAid_PersonnelDTO();
string Url = "api/service/T_Service_FistAid_Personnel/Delete";
model.GUID = guid;
list.Add(model);
//初始化两个工厂
ClientFactory<T_Service_FistAid_PersonnelDTO> httpClient = new HttpClientFactory<T_Service_FistAid_PersonnelDTO>();
Client<T_Service_FistAid_PersonnelDTO> client = httpClient.VisitFactory();
//访问
ListEntity<T_Service_FistAid_PersonnelDTO> t = client.Post(Url, list);
if (t.Success)
{
XtraMessageBox.Show("删除用户成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
GetPersonnelData();
}
else
{
XtraMessageBox.Show("删除用户失败,请稍后重试!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
#endregion
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "删除:\r\n" + ex);
}
}
private void btn_Exit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
this.Close();
}
private void btn_Insert_ItemClick_1(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
Form_PersonnelAdd frm = new Form_PersonnelAdd("", "", -1, -1, "");
if (frm.ShowDialog() == DialogResult.OK)
{
//列表分页数据绑定
GetPersonnelData();
//定位
PublicClass.LocationForGridView(gridView1, "", 0);
}
}
private void gridView1_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
{
if (e.Column.FieldName == "State")
{
if ((string)e.CellValue == "0")
e.Appearance.ForeColor = Color.Gray;
}
if (e.Column.FieldName == "State")
{
if ((string)e.CellValue == "1")
e.Appearance.ForeColor = Color.Green;
}
if (e.Column.FieldName == "State")
{
if ((string)e.CellValue == "2")
e.Appearance.ForeColor = Color.Red;
}
}
private void Form_Personnel_FormClosed(object sender, FormClosedEventArgs e)
{
this.Dispose();
}
private void simpleButton1_Click(object sender, EventArgs e)
{
GetPersonnelData();
}
private void gridControl_Personnel_Click(object sender, EventArgs e)
{
if (gridView1.DataRowCount > 0)
{
int selectRow = gridView1.GetSelectedRows()[0];
string guid = gridView1.GetRowCellValue(selectRow, "GUID").ToString();
string name = gridView1.GetRowCellValue(selectRow, "Name").ToString();
int gender = Convert.ToInt32(gridView1.GetRowCellValue(selectRow, "Gender").ToString());
int state = Convert.ToInt32(gridView1.GetRowCellValue(selectRow, "State").ToString());
string positionName = gridView1.GetRowCellValue(selectRow, "PositionName").ToString();
Form_PersonnelAdd frm = new Form_PersonnelAdd(guid, name, gender, state, positionName);
if (frm.ShowDialog() == DialogResult.OK)
{
GetPersonnelData();
//定位
PublicClass.LocationForGridView(gridView1, guid, 0);
}
}
}
/// <summary>
/// 动态按钮事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void RiButtonEdit_ButtonClick(object sender, ButtonPressedEventArgs e)
{
int selectRow = gridView1.GetSelectedRows()[0];
string Guid = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "GUID").ToString(), "");
string taskGuid = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "State").ToString(), "");
UserUpdateSateDTO dto = new UserUpdateSateDTO();
List<UserUpdateSateDTO> list = new List<UserUpdateSateDTO>();
string Url = "api/admin/T_SYS_User/UpdateSate";
dto.GUID = Guid;
switch (e.Button.Caption)
{
case "出车":
dto.Type = 1;
break;
case "不出车":
dto.Type = 0;
break;
}
list.Add(dto);
//初始化两个工厂
ClientFactory<UserUpdateSateDTO> httpClient = new HttpClientFactory<UserUpdateSateDTO>();
Client<UserUpdateSateDTO> client = httpClient.VisitFactory();
if (client.Post(Url, list).Success)
{
XtraMessageBox.Show("修改成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
GetPersonnelData();
}
}
private void gridView1_CustomRowCellEdit(object sender, 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.ButtonClick += RiButtonEdit_ButtonClick;
riButtonEdit.Buttons.Add(bt1);
}
else if(state == "1")
{
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.ButtonClick += RiButtonEdit_ButtonClick;
riButtonEdit.Buttons.Add(bt1);
}
e.RepositoryItem = riButtonEdit;
}
}
catch (Exception)
{
throw;
}
}
private void userControlForPage_myPagerEvents(int curPage, int pageSize)
{
userControlForPage.myPagerEvents += MyPagerEvents;
}
private void MyPagerEvents(int curPage, int pageSize)
{
this.curPage = curPage;
this.pageSize = pageSize;
GetPersonnelData();
}
}
}