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 变量 /// /// 操作标记 1:新增 2:修改 /// private int Flag = 0; /// /// 当前页 /// public int curPage = 1; /// /// 每页大小 /// public int pageSize = 100; /// /// 所有记录条数 /// public int totalNumber = 0; #endregion #region 分页实现 public void ExportEvents(bool singlePage)//单页,所有 { //导出GridControl代码写在这。 } public void RefreshGridList() { FillGridListCtrlQuery(curPage);//自己实现FillGridListCtrlQuery函数。 } /// /// 绑定数据列表 /// /// 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(); } /// /// 窗口加载 /// /// /// private void Form_AmbulanceMain_Load(object sender, EventArgs e) { BindData(); RefreshGridList(); //详情控件初始化 PublicClass.EnabledControl(this.group_Detail, true, false); } /// /// 查询 /// /// /// 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(); } /// /// 新增 /// /// /// 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; } /// /// 修改 /// /// /// private void btn_Update_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { BindDetail(); PublicClass.EnabledControl(group_Detail, false, false); txt_ECGCode.ReadOnly = true; } /// /// 保存 /// /// /// 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 list = new List(); 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 httpClient = new HttpClientFactory(); Client client = httpClient.VisitFactory(); //访问 ListEntity 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); } } /// /// 退出 /// /// /// 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 方法 /// /// 绑定数据 /// private void BindData() { BindHospital(); BindVideoEquipment(); BindAmbulanceState(); } /// /// 绑定所属医院 /// 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); } } /// /// 绑定视频设备 /// 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); } } /// /// 绑定急救车状态 /// 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); } } /// /// 绑定详情 /// 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 } }