StableVersion4.3/HL_FristAidPlatform_Base/Form_Network_HospitalMain.cs

484 lines
18 KiB
C#

using DevExpress.XtraEditors;
using HL_FristAidPlatform_DTO;
using HL_FristAidPlatform_Public;
using System;
using System.Collections.Generic;
using System.Data;
using System.Windows.Forms;
namespace HL_FristAidPlatform_Base
{
public partial class Form_Network_HospitalMain : XtraForm
{
#region 变量
/// <summary>
/// 当前页
/// </summary>
public int curPage = 1;
/// <summary>
/// 每页大小
/// </summary>
public int pageSize = 100;
/// <summary>
/// 所有记录条数
/// </summary>
public int totalNumber = 0;
/// <summary>
/// 当前的网络医院编号
/// 单击时医院列表时赋值
/// </summary>
private string Cur_NetworkHospitalGuid = string.Empty;
#endregion
#region 分页实现
public void ExportEvents(bool singlePage)//单页,所有
{
//导出GridControl代码写在这。
}
public void RefreshGridList()
{
FillGridListCtrlQuery(curPage);//自己实现FillGridListCtrlQuery函数。
}
/// <summary>
/// 绑定数据列表
/// </summary>
/// <returns></returns>
private void FillGridListCtrlQuery(int curPage)
{
try
{
string hospitalGuid = PublicClass.ToString(lookUpEdit_SelHospitalGuid.EditValue, "-1") == "-1" ? "" : lookUpEdit_SelHospitalGuid.EditValue.ToString();
string systemModuleID = PublicClass.ToString(lookUpEdit_SelSystemModule.EditValue, "-1") == "-1" ? "" : lookUpEdit_SelSystemModule.EditValue.ToString();
string keyWord = txt_Key.Text.ToString().Trim();
int isEnable = -1;
if (radioGroup_SelIsEnable.SelectedIndex == 1)
{
isEnable = 0;
}
else if (radioGroup_SelIsEnable.SelectedIndex == 2)
{
isEnable = 1;
}
DataTable ResultDT = DBHelpClass.Get(string.Format("api/base/T_Base_Network_Hospital?pageIndex={0}&pageSize={1}&hospitalGuid={2}&systemModuleID={3}&keyWord={4}&isEnable={5}", curPage, pageSize, hospitalGuid, systemModuleID, keyWord, isEnable));
grid_Hospital.DataSource = ResultDT;//显示分页结果
totalNumber = DBHelpClass.TotalNumber;
userControlForPage.RefreshPager(pageSize, totalNumber, curPage);//更新分页控件显示。
if (ResultDT == null)
{
Cur_NetworkHospitalGuid = "";
grid_Department.DataSource = null;
}
else
{
grid_Hospital_MouseClick(null, null);
}
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "绑定数据列表:\r\n" + ex);
}
}
private void MyPagerEvents(int curPage, int pageSize)
{
this.curPage = curPage;
this.pageSize = pageSize;
FillGridListCtrlQuery(curPage);
}
private void userControlForPage_exportEvents(bool singlePage)
{
userControlForPage.exportEvents += ExportEvents;
}
private void userControlForPage_myPagerEvents(int curPage, int pageSize)
{
userControlForPage.myPagerEvents += MyPagerEvents;
}
#endregion
public Form_Network_HospitalMain()
{
InitializeComponent();
}
/// <summary>
/// 窗体加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form_Network_HospitalMain_Load(object sender, EventArgs e)
{
BindData();
//筛选条件中所属模块默认当前选择的系统
lookUpEdit_SelSystemModule.EditValue = PublicClassForDataBase.Config104;
RefreshGridList();
grid_Hospital_MouseClick(null, null);
}
#region 方法
/// <summary>
/// 绑定数据
/// </summary>
private void BindData()
{
BindHospital();
BindSystemModule();
}
/// <summary>
/// 绑定所属医院
/// </summary>
private void BindHospital()
{
try
{
DataTable ResultDT = DBHelpClass.Get("api/base/T_Base_Hospital/GetList");
PublicClass.SetLookUpList(ref lookUpEdit_SelHospitalGuid, ResultDT, 1, 3, true);
//没有所有院区权限 只读
if (!PublicHelp.IsHaveAllDistrictRight(Information.User.ID))
{
lookUpEdit_SelHospitalGuid.ReadOnly = true;
lookUpEdit_SelHospitalGuid.EditValue = Information.Hospital.GUID;
}
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "绑定所属医院:\r\n" + ex);
}
}
/// <summary>
/// 绑定所属系统模块
/// </summary>
private void BindSystemModule()
{
try
{
DataTable ResultDT = DBHelpClass.Get("/api/admin/T_SYS_SystemModule/GetIsHaveTimeAxisList?isHaveTimeAxis=0");
PublicClass.SetLookUpList(ref lookUpEdit_SelSystemModule, ResultDT, 0, 2, false);
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "绑定所属医院:\r\n" + ex);
}
}
#endregion
#region 网络医院
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_Select_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
RefreshGridList();
}
private void radioGroup_SelIsEnable_SelectedIndexChanged(object sender, EventArgs e)
{
RefreshGridList();
}
private void txt_Key_TextChanged(object sender, EventArgs e)
{
RefreshGridList();
}
private void lookUpEdit_SelHospitalGuid_Closed(object sender, DevExpress.XtraEditors.Controls.ClosedEventArgs e)
{
RefreshGridList();
}
private void lookUpEdit_SelSystemModule_Closed(object sender, DevExpress.XtraEditors.Controls.ClosedEventArgs e)
{
RefreshGridList();
}
/// <summary>
/// 显示对应的医院grv_Hospital.DataRowCount > 0
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void grid_Hospital_MouseClick(object sender, MouseEventArgs e)
{
if (grv_Hospital.DataRowCount > 0)
{
int selectRow = grv_Hospital.GetSelectedRows()[0];
Cur_NetworkHospitalGuid = grv_Hospital.GetRowCellValue(selectRow, "GUID").ToString();
BindDepartmentList();
}
}
/// <summary>
/// 新增
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_Insert_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
Form_Network_Hospital frm = new Form_Network_Hospital(0);
if (frm.ShowDialog() == DialogResult.OK)
{
RefreshGridList();
}
}
/// <summary>
/// 修改
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_Update_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (grv_Hospital.DataRowCount > 0)
{
int selectRow = grv_Hospital.GetSelectedRows()[0];
long HospitalID = PublicClass.ToInt64(grv_Hospital.GetRowCellValue(selectRow, "ID").ToString(), 0);
if (HospitalID > 0)
{
Form_Network_Hospital frm = new Form_Network_Hospital(HospitalID);
if (frm.ShowDialog() == DialogResult.OK)
{
RefreshGridList();
//定位
PublicClass.LocationForGridView(grv_Hospital, HospitalID.ToString(), 0);
}
}
}
}
/// <summary>
/// 禁用医院
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_Delete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
try
{
#region 禁用医院
if (grv_Hospital.DataRowCount > 0)
{
int selectRow = grv_Hospital.GetSelectedRows()[0];
int ID = Convert.ToInt32(grv_Hospital.GetRowCellValue(selectRow, "ID").ToString());
string HospitalName = grv_Hospital.GetRowCellValue(selectRow, "HospitalName").ToString();
int IsEnable = Convert.ToInt32(grv_Hospital.GetRowCellValue(selectRow, "IsEnable").ToString());
string hint = string.Empty;
if (IsEnable == 1)
{
hint = "【启用】";
}
else
{
hint = "【禁用】";
}
if (ID == 0)
{
XtraMessageBox.Show("请先选择要禁用/启用的网络医院!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (XtraMessageBox.Show(string.Format("确定要{0}网络医院【{1}】?", hint, HospitalName), "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
List<T_Base_Network_HospitalDTO> list = new List<T_Base_Network_HospitalDTO>();
T_Base_Network_HospitalDTO model = new T_Base_Network_HospitalDTO();
string Url = "api/base/T_Base_Network_Hospital/LogicalDelete";
model.ID = ID;
model.IsEnable = IsEnable == 1 ? 0 : 1;
list.Add(model);
//初始化两个工厂
ClientFactory<T_Base_Network_HospitalDTO> httpClient = new HttpClientFactory<T_Base_Network_HospitalDTO>();
Client<T_Base_Network_HospitalDTO> client = httpClient.VisitFactory();
//访问
ListEntity<T_Base_Network_HospitalDTO> t = client.Post(Url, list);
if (t.Success)
{
XtraMessageBox.Show(string.Format("{0}网络医院信息成功!", hint), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
//列表分页数据绑定
RefreshGridList();
}
else
{
XtraMessageBox.Show(string.Format("{0}网络医院信息失败,请稍后重试!", hint), "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
#endregion
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "禁用医院:\r\n" + ex);
}
}
/// <summary>
/// 退出
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_Exit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
Close();
}
#endregion
#region 网络科室
/// <summary>
/// 新增科室
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void TSM_Insert_Department_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(Cur_NetworkHospitalGuid))
{
Form_Network_Department frm = new Form_Network_Department(0, Cur_NetworkHospitalGuid);
if (frm.ShowDialog() == DialogResult.OK)
{
BindDepartmentList();
}
}
else
{
XtraMessageBox.Show("请先在右侧选择网络医院,再新增网络科室!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
/// <summary>
/// 修改科室
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void TSM_Update_Department_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(Cur_NetworkHospitalGuid))
{
if (grv_Department.DataRowCount > 0)
{
int selectRow = grv_Department.GetSelectedRows()[0];
long DepartmentID = PublicClass.ToInt64(grv_Department.GetRowCellValue(selectRow, "ID").ToString(), 0);
if (DepartmentID > 0)
{
Form_Network_Department frm = new Form_Network_Department(DepartmentID, Cur_NetworkHospitalGuid);
if (frm.ShowDialog() == DialogResult.OK)
{
BindDepartmentList();
//定位
PublicClass.LocationForGridView(grv_Department, DepartmentID.ToString(), 0);
}
}
}
}
else
{
XtraMessageBox.Show("请在右侧先选择网络医院,再新增网络科室!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
/// <summary>
/// 禁用科室
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void TSM_Delete_Department_Click(object sender, EventArgs e)
{
try
{
#region 禁用科室
if (grv_Department.DataRowCount > 0)
{
int selectRow = grv_Department.GetSelectedRows()[0];
int ID = Convert.ToInt32(grv_Department.GetRowCellValue(selectRow, "ID").ToString());
string DepartmentName = grv_Department.GetRowCellValue(selectRow, "DepartmentName").ToString();
int IsEnable = Convert.ToInt32(grv_Department.GetRowCellValue(selectRow, "IsEnable").ToString());
string hint = string.Empty;
if (IsEnable == 1)
{
hint = "【启用】";
}
else
{
hint = "【禁用】";
}
if (ID == 0)
{
XtraMessageBox.Show("请先选择要禁用/启用的网络科室!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (XtraMessageBox.Show(string.Format("确定要{0}网络科室【{1}】?", hint, DepartmentName), "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
List<T_Base_Network_DepartmentDTO> list = new List<T_Base_Network_DepartmentDTO>();
T_Base_Network_DepartmentDTO model = new T_Base_Network_DepartmentDTO();
string Url = "api/base/T_Base_Network_Department/LogicalDelete";
model.ID = ID;
model.IsEnable = IsEnable == 1 ? 0 : 1;
list.Add(model);
//初始化两个工厂
ClientFactory<T_Base_Network_DepartmentDTO> httpClient = new HttpClientFactory<T_Base_Network_DepartmentDTO>();
Client<T_Base_Network_DepartmentDTO> client = httpClient.VisitFactory();
//访问
ListEntity<T_Base_Network_DepartmentDTO> t = client.Post(Url, list);
if (t.Success)
{
XtraMessageBox.Show(string.Format("{0}网络科室信息成功!", hint), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
BindDepartmentList();
}
else
{
XtraMessageBox.Show(string.Format("{0}网络科室信息失败,请稍后重试!", hint), "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
#endregion
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "禁用科室:\r\n" + ex);
}
}
/// <summary>
/// 绑定科室列表
/// </summary>
private void BindDepartmentList()
{
try
{
DataTable DepartmentDT = DBHelpClass.Get(string.Format("api/base/T_Base_Network_Department/GetListByNetworkHospitalGuid?networkHospitalGuid={0}", Cur_NetworkHospitalGuid));
grid_Department.DataSource = DepartmentDT;
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "绑定科室列表:\r\n" + ex);
}
}
#endregion
}
}