416 lines
15 KiB
C#
416 lines
15 KiB
C#
|
using DevExpress.XtraEditors;
|
|||
|
using DevExpress.XtraGrid.Views.Grid.ViewInfo;
|
|||
|
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_Base
|
|||
|
{
|
|||
|
public partial class Form_AmbulanceMain : XtraForm
|
|||
|
{
|
|||
|
#region 变量
|
|||
|
/// <summary>
|
|||
|
/// 操作标记 1:新增 2:修改
|
|||
|
/// </summary>
|
|||
|
private int Flag = 0;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 当前页
|
|||
|
/// </summary>
|
|||
|
public int curPage = 1;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 每页大小
|
|||
|
/// </summary>
|
|||
|
public int pageSize = 100;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 所有记录条数
|
|||
|
/// </summary>
|
|||
|
public int totalNumber = 0;
|
|||
|
#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();
|
|||
|
int state = PublicClass.ToInt32(lookUpEdit_Sel_State.EditValue, -1);
|
|||
|
|
|||
|
DataTable ResultDT = DBHelpClass.Get(string.Format("api/base/T_Base_Ambulance?pageIndex={0}&pageSize={1}&hospitalGuid={2}&state={3}&keyWord={4}", curPage, pageSize, hospitalGuid, state, txt_Key.Text.ToString().Trim()));
|
|||
|
grid_Ambulance.DataSource = ResultDT;//显示分页结果
|
|||
|
totalNumber = DBHelpClass.TotalNumber;
|
|||
|
userControlForPage.RefreshPager(pageSize, totalNumber, curPage);//更新分页控件显示。
|
|||
|
}
|
|||
|
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_AmbulanceMain()
|
|||
|
{
|
|||
|
InitializeComponent();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 窗口加载
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void Form_AmbulanceMain_Load(object sender, EventArgs e)
|
|||
|
{
|
|||
|
BindData();
|
|||
|
|
|||
|
RefreshGridList();
|
|||
|
//详情控件初始化
|
|||
|
PublicClass.EnabledControl(this.group_Detail, true, false);
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 查询
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void btn_Select_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
|||
|
{
|
|||
|
RefreshGridList();
|
|||
|
}
|
|||
|
|
|||
|
private void txt_Key_TextChanged(object sender, EventArgs e)
|
|||
|
{
|
|||
|
RefreshGridList();
|
|||
|
}
|
|||
|
|
|||
|
private void lookUpEdit_Sel_State_Closed(object sender, DevExpress.XtraEditors.Controls.ClosedEventArgs e)
|
|||
|
{
|
|||
|
RefreshGridList();
|
|||
|
}
|
|||
|
|
|||
|
private void lookUpEdit_SelHospitalGuid_Closed(object sender, DevExpress.XtraEditors.Controls.ClosedEventArgs e)
|
|||
|
{
|
|||
|
RefreshGridList();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 新增
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void btn_Insert_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
|||
|
{
|
|||
|
PublicClass.EnabledControl(group_Detail, false, true);
|
|||
|
txt_ECGCode.Focus();
|
|||
|
ckb_DeleteFlag.Checked = true;
|
|||
|
Flag = 1;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 修改
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void btn_Update_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
|||
|
{
|
|||
|
BindDetail();
|
|||
|
|
|||
|
PublicClass.EnabledControl(group_Detail, false, false);
|
|||
|
txt_ECGCode.ReadOnly = true;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 保存
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void btn_Save_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
#region 保存
|
|||
|
string Url = string.Empty;
|
|||
|
|
|||
|
if (PublicClass.ToString(lookUpEdit_HospitalGuid.EditValue, "-1") == "-1")
|
|||
|
{
|
|||
|
XtraMessageBox.Show("请选择所属院区!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|||
|
lookUpEdit_HospitalGuid.Focus();
|
|||
|
return;
|
|||
|
}
|
|||
|
if (PublicClass.ToString(lookUpEdit_VideoEquipmentGuid.EditValue, "-1") == "-1")
|
|||
|
{
|
|||
|
XtraMessageBox.Show("请选择车载的视频设备!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|||
|
lookUpEdit_VideoEquipmentGuid.Focus();
|
|||
|
return;
|
|||
|
}
|
|||
|
if (string.IsNullOrEmpty(txt_PlateNumber.Text.ToString().Trim()))
|
|||
|
{
|
|||
|
XtraMessageBox.Show("车牌号不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|||
|
txt_PlateNumber.Focus();
|
|||
|
return;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (Flag == 1)
|
|||
|
{
|
|||
|
#region 判断是否存在
|
|||
|
DataTable CheckDT = DBHelpClass.GetDataRow(string.Format("api/base/T_Base_Ambulance/GetPlateNumber?plateNumber={0}", txt_PlateNumber.Text.ToString().Trim()));
|
|||
|
if (CheckDT != null && CheckDT.Rows.Count > 0)
|
|||
|
{
|
|||
|
if (Convert.ToInt32(CheckDT.Rows[0]["TotalNumber"].ToString()) > 0)
|
|||
|
{
|
|||
|
XtraMessageBox.Show(string.Format("车牌号【{0}】已存在!请更换其他车牌号!", txt_PlateNumber.Text.ToString().Trim()), "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|||
|
txt_PlateNumber.Focus();
|
|||
|
return;
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
List<T_Base_AmbulanceDTO> list = new List<T_Base_AmbulanceDTO>();
|
|||
|
T_Base_AmbulanceDTO model = new T_Base_AmbulanceDTO();
|
|||
|
|
|||
|
if (Flag == 1)
|
|||
|
{
|
|||
|
Url = "api/base/T_Base_Ambulance";
|
|||
|
model.GUID = Guid.NewGuid().ToString();
|
|||
|
model.CreationDate = PublicClass.DateTimeNow();
|
|||
|
model.CreatorID = Information.User.ID;
|
|||
|
model.Creator = Information.User.FullName;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
Url = "api/base/T_Base_Ambulance/Update";
|
|||
|
model.ID = Convert.ToInt32(txt_ECGCode.Tag.ToString());
|
|||
|
model.GUID = txt_PlateNumber.Tag.ToString();
|
|||
|
model.CreationDate = PublicClass.DateTimeNow();
|
|||
|
}
|
|||
|
|
|||
|
model.State = PublicClass.ToInt32(lookUpEdit_State.EditValue, -1);
|
|||
|
model.HospitalGuid = PublicClass.ToString(lookUpEdit_HospitalGuid.EditValue, "");
|
|||
|
model.VideoEquipmentGuid = PublicClass.ToString(lookUpEdit_VideoEquipmentGuid.EditValue, "");
|
|||
|
model.ECGCode = PublicClass.ToString(txt_ECGCode.Text, "");
|
|||
|
model.PlateNumber = PublicClass.ToString(txt_PlateNumber.Text, "");
|
|||
|
model.DeleteFlag = ckb_DeleteFlag.Checked == true ? 0 : 1;
|
|||
|
list.Add(model);
|
|||
|
|
|||
|
//初始化两个工厂
|
|||
|
ClientFactory<T_Base_AmbulanceDTO> httpClient = new HttpClientFactory<T_Base_AmbulanceDTO>();
|
|||
|
Client<T_Base_AmbulanceDTO> client = httpClient.VisitFactory();
|
|||
|
|
|||
|
//访问
|
|||
|
ListEntity<T_Base_AmbulanceDTO> t = client.Post(Url, list);
|
|||
|
if (t.Success)
|
|||
|
{
|
|||
|
XtraMessageBox.Show("保存急救车信息成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|||
|
PublicClass.EnabledControl(group_Detail, true, false);
|
|||
|
Flag = 0;
|
|||
|
//列表分页数据绑定
|
|||
|
RefreshGridList();
|
|||
|
|
|||
|
//定位
|
|||
|
PublicClass.LocationForGridView(grv_Ambulance, model.GUID, 1);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
XtraMessageBox.Show("保存失败,请稍后重试!", "提示", 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();
|
|||
|
}
|
|||
|
|
|||
|
private void grid_Config_MouseClick(object sender, MouseEventArgs e)
|
|||
|
{
|
|||
|
GridHitInfo hi = grv_Ambulance.CalcHitInfo(new Point(e.X, e.Y));
|
|||
|
//单击数据行
|
|||
|
if (hi.InRow)//单击的是列头 hi.InColumn
|
|||
|
{
|
|||
|
PublicClass.EnabledControl(this.group_Detail, true, false);
|
|||
|
BindDetail();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#region 方法
|
|||
|
/// <summary>
|
|||
|
/// 绑定数据
|
|||
|
/// </summary>
|
|||
|
private void BindData()
|
|||
|
{
|
|||
|
BindHospital();
|
|||
|
BindVideoEquipment();
|
|||
|
BindAmbulanceState();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 绑定所属医院
|
|||
|
/// </summary>
|
|||
|
private void BindHospital()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
DataTable ResultDT = DBHelpClass.Get("api/base/T_Base_Hospital/GetList");
|
|||
|
PublicClass.SetLookUpList(ref lookUpEdit_HospitalGuid, ResultDT, 1, 3, true, "请选择");
|
|||
|
PublicClass.SetLookUpList(ref lookUpEdit_SelHospitalGuid, ResultDT, 1, 3, true);
|
|||
|
|
|||
|
//没有所有院区权限 只读
|
|||
|
if (!PublicHelp.IsHaveAllDistrictRight(Information.User.ID))
|
|||
|
{
|
|||
|
lookUpEdit_HospitalGuid.ReadOnly = lookUpEdit_SelHospitalGuid.ReadOnly = true;
|
|||
|
lookUpEdit_HospitalGuid.EditValue = lookUpEdit_SelHospitalGuid.EditValue = Information.Hospital.GUID;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
PublicClass.WriteErrorLog(this.Text, "绑定所属医院:\r\n" + ex);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 绑定视频设备
|
|||
|
/// </summary>
|
|||
|
private void BindVideoEquipment()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
DataTable ResultDT = DBHelpClass.Get("api/base/T_Base_VideoEquipment/GetList");
|
|||
|
PublicClass.SetLookUpList(ref lookUpEdit_VideoEquipmentGuid, ResultDT, 1, 6, true, "请选择");
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
PublicClass.WriteErrorLog(this.Text, "绑定视频设备:\r\n" + ex);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 绑定急救车状态
|
|||
|
/// </summary>
|
|||
|
private void BindAmbulanceState()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
DataTable AmbulanceDT = new DataTable();
|
|||
|
AmbulanceDT.Columns.Add("ID", Type.GetType("System.String"));
|
|||
|
AmbulanceDT.Columns.Add("State", Type.GetType("System.String"));
|
|||
|
|
|||
|
DataRow dr = AmbulanceDT.NewRow();
|
|||
|
dr["ID"] = "0";
|
|||
|
dr["State"] = "未知";
|
|||
|
AmbulanceDT.Rows.Add(dr);
|
|||
|
|
|||
|
DataRow dr1 = AmbulanceDT.NewRow();
|
|||
|
dr1["ID"] = "1";
|
|||
|
dr1["State"] = "空闲";
|
|||
|
AmbulanceDT.Rows.Add(dr1);
|
|||
|
|
|||
|
DataRow dr2 = AmbulanceDT.NewRow();
|
|||
|
dr2["ID"] = "2";
|
|||
|
dr2["State"] = "出车中";
|
|||
|
AmbulanceDT.Rows.Add(dr2);
|
|||
|
|
|||
|
DataRow dr3 = AmbulanceDT.NewRow();
|
|||
|
dr3["ID"] = "3";
|
|||
|
dr3["State"] = "维修中";
|
|||
|
AmbulanceDT.Rows.Add(dr3);
|
|||
|
|
|||
|
DataRow dr4 = AmbulanceDT.NewRow();
|
|||
|
dr4["ID"] = "4";
|
|||
|
dr4["State"] = "已报废";
|
|||
|
AmbulanceDT.Rows.Add(dr4);
|
|||
|
|
|||
|
PublicClass.SetLookUpList(ref lookUpEdit_State, AmbulanceDT, 0, 1, true, "请选择");
|
|||
|
PublicClass.SetLookUpList(ref lookUpEdit_Sel_State, AmbulanceDT, 0, 1, true);
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
PublicClass.WriteErrorLog(this.Text, "绑定急救车状态:\r\n" + ex);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 绑定详情
|
|||
|
/// </summary>
|
|||
|
private void BindDetail()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (grv_Ambulance.DataRowCount > 0)
|
|||
|
{
|
|||
|
int selectRow = grv_Ambulance.GetSelectedRows()[0];
|
|||
|
string ID = grv_Ambulance.GetRowCellValue(selectRow, "GUID").ToString();
|
|||
|
DataTable DetailDT = DBHelpClass.GetDataRow(string.Format("/api/base/T_Base_Ambulance/{0}", ID));
|
|||
|
if (DetailDT != null && DetailDT.Rows.Count > 0)
|
|||
|
{
|
|||
|
Flag = 2;//修改标识
|
|||
|
|
|||
|
txt_ECGCode.Tag = DetailDT.Rows[0]["ID"].ToString();
|
|||
|
txt_PlateNumber.Tag = DetailDT.Rows[0]["GUID"].ToString();
|
|||
|
lookUpEdit_HospitalGuid.EditValue = PublicClass.ToString(DetailDT.Rows[0]["HospitalGuid"], "-1");
|
|||
|
lookUpEdit_VideoEquipmentGuid.EditValue = PublicClass.ToString(DetailDT.Rows[0]["VideoEquipmentGuid"], "-1");
|
|||
|
txt_ECGCode.Text = DetailDT.Rows[0]["ECGCode"].ToString();
|
|||
|
txt_PlateNumber.Text = DetailDT.Rows[0]["PlateNumber"].ToString();
|
|||
|
lookUpEdit_State.EditValue = PublicClass.ToString(DetailDT.Rows[0]["State"], "-1");
|
|||
|
ckb_DeleteFlag.Checked = DetailDT.Rows[0]["DeleteFlag"].ToString().Trim() == "0" ? true : false;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
PublicClass.WriteErrorLog(this.Text, "绑定详情:\r\n" + ex);
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
}
|
|||
|
}
|