401 lines
14 KiB
C#
401 lines
14 KiB
C#
using DevExpress.XtraEditors;
|
|
using HL_FristAidPlatform_DTO;
|
|
using HL_FristAidPlatform_Public;
|
|
using Microsoft.AspNetCore.SignalR.Client;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
|
|
namespace HL_FristAidPlatform_PreHospitalEmergency
|
|
{
|
|
public partial class Form_120Main : XtraForm
|
|
{
|
|
#region 变量
|
|
/// <summary>
|
|
/// 当前操作患者编号
|
|
/// </summary>
|
|
private string Cur_PatientGuid;
|
|
/// <summary>
|
|
/// 条码机打印名称
|
|
/// </summary>
|
|
private string BarCodePrinterName = string.Empty;
|
|
/// <summary>
|
|
/// 当前页
|
|
/// </summary>
|
|
public int curPage = 1;
|
|
/// <summary>
|
|
/// 每页大小
|
|
/// </summary>
|
|
public int pageSize = 100;
|
|
/// <summary>
|
|
/// 所有记录条数
|
|
/// </summary>
|
|
public int totalNumber = 0;
|
|
private HubConnection connection;
|
|
#endregion
|
|
|
|
#region 分页实现
|
|
public void ExportEvents(bool singlePage)//单页,所有
|
|
{
|
|
//导出GridControl代码写在这。
|
|
}
|
|
|
|
public void RefreshGridList()
|
|
{
|
|
FillGridListCtrlQuery(curPage);//自己实现FillGridListCtrlQuery函数。
|
|
}
|
|
|
|
/// <summary>
|
|
/// 绑定数据源
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
private void FillGridListCtrlQuery(int curPage)
|
|
{
|
|
try
|
|
{
|
|
#region 绑定数据源
|
|
int status = PublicClass.ToInt32(comboBox_Sel_Status.SelectedIndex, -1);
|
|
|
|
string strParameter = string.Empty;
|
|
//没有所有院区权限 只获取当前院区数据
|
|
if (!PublicHelp.IsHaveAllDistrictRight(Information.User.ID))
|
|
{
|
|
strParameter += "&hospitalGuid=" + Information.Hospital.GUID;
|
|
}
|
|
|
|
if (!string.IsNullOrEmpty(txt_Key.Text.ToString().Trim()))
|
|
{
|
|
strParameter += "&keyWord=" + txt_Key.Text.ToString().Trim();
|
|
}
|
|
|
|
string startTime = dateEdit_Start.TimeValue;
|
|
string endTime = dateEdit_End.TimeValue;
|
|
|
|
string Url = string.Format("api/service/T_Service_120FirstAid?pageIndex={0}&pageSize={1}&startTime={2}&endTime={3}&status={4}{5}", curPage, pageSize, startTime, endTime, status, strParameter);
|
|
|
|
DataTable ResultDT = DBHelpClass.GetJsonText(Url);
|
|
gridControl_Patient.DataSource = ResultDT;//显示分页结果
|
|
gridView_Patient.BestFitColumns();//列宽自适应
|
|
totalNumber = DBHelpClass.TotalNumber;
|
|
userControlForPage.RefreshPager(pageSize, totalNumber, curPage);//更新分页控件显示。
|
|
#endregion
|
|
}
|
|
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_120Main()
|
|
{
|
|
InitializeComponent();
|
|
SignalRConnection();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 窗体加载
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void Form_120Main_Load(object sender, EventArgs e)
|
|
{
|
|
dateEdit_Start.TimeValue = DateTime.Now.AddDays(-7).ToShortDateString() + " 00:00:00";
|
|
dateEdit_End.TimeValue = DateTime.Now.ToShortDateString() + " 23:59:59";
|
|
|
|
//查询
|
|
btn_Select_ItemClick(null, null);
|
|
}
|
|
|
|
#region 查询
|
|
/// <summary>
|
|
/// 查询
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void btn_Select_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
|
{
|
|
RefreshGridList();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 本月
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void simpleButton_ThisMonth_Click(object sender, EventArgs e)
|
|
{
|
|
dateEdit_Start.TimeValue = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date.ToString();
|
|
dateEdit_End.TimeValue = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date.AddMonths(1).AddSeconds(-1).ToString();
|
|
|
|
RefreshGridList();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 本周
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void simpleButton_ThisWeek_Click(object sender, EventArgs e)
|
|
{
|
|
dateEdit_Start.TimeValue = DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString() + " 00:00:00";
|
|
dateEdit_End.TimeValue = DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString() + " 23:59:59";
|
|
RefreshGridList();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 今天
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void simpleButton_ToDay_Click(object sender, EventArgs e)
|
|
{
|
|
dateEdit_Start.TimeValue = DateTime.Now.Date.ToShortDateString() + " 00:00:00";
|
|
dateEdit_End.TimeValue = DateTime.Now.Date.ToShortDateString() + " 23:59:59";
|
|
RefreshGridList();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 全部
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void simpleButton_All_Click(object sender, EventArgs e)
|
|
{
|
|
dateEdit_Start.TimeValue = "1990-01-01 00:00:00";
|
|
dateEdit_End.TimeValue = DateTime.Now.ToShortDateString() + " 23:59:59";
|
|
RefreshGridList();
|
|
}
|
|
#endregion
|
|
|
|
/// <summary>
|
|
/// 新增
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void btn_Insert_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
|
{
|
|
//Form_120Edit frm = new Form_120Edit();
|
|
//frm.ShowDialog();
|
|
|
|
simpleButton_ToDay_Click(null, null);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 修改
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void btn_Update_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
|
{
|
|
if (gridView_Patient.DataRowCount > 0)
|
|
{
|
|
int selectRow = gridView_Patient.GetSelectedRows()[0];
|
|
string ID = PublicClass.ToString(gridView_Patient.GetRowCellValue(selectRow, "ID"), "0");
|
|
Cur_PatientGuid = PublicClass.ToString(gridView_Patient.GetRowCellValue(selectRow, "PatientGuid"), "");
|
|
if (!string.IsNullOrEmpty(Cur_PatientGuid))
|
|
{
|
|
//Form_120Edit frm = new Form_120Edit(Cur_PatientGuid);
|
|
//frm.ShowDialog();
|
|
|
|
//定位
|
|
PublicClass.LocationForGridView(gridView_Patient, ID.ToString(), 0);
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 退出
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void btn_Exit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
|
{
|
|
Close();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void btn_Delete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (gridView_Patient.DataRowCount > 0)
|
|
{
|
|
int selectRow = gridView_Patient.GetSelectedRows()[0];
|
|
string guid = gridView_Patient.GetRowCellValue(selectRow, "GUID").ToString();
|
|
if (XtraMessageBox.Show(string.Format("确定要删除患者【{0}】的信息么?", gridView_Patient.GetRowCellValue(selectRow, "Name").ToString()), "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
|
{
|
|
|
|
List<T_Service_PatientDTO> list = new List<T_Service_PatientDTO>();
|
|
T_Service_PatientDTO model = new T_Service_PatientDTO();
|
|
model.GUID = guid;
|
|
model.DeleteFlag = 1;
|
|
|
|
#region 赋值不更新
|
|
model.CreationDate = PublicClass.DateTimeNow();
|
|
model.RegisterTime = PublicClass.DateTimeNow();
|
|
model.EditTime = PublicClass.DateTimeNow();
|
|
#endregion
|
|
|
|
list.Add(model);
|
|
string Url = "api/service/T_Service_Patient/Delete";
|
|
|
|
//初始化两个工厂
|
|
ClientFactory<T_Service_PatientDTO> httpClient = new HttpClientFactory<T_Service_PatientDTO>();
|
|
Client<T_Service_PatientDTO> client = httpClient.VisitFactory();
|
|
|
|
//访问
|
|
ListEntity<T_Service_PatientDTO> t = client.Post(Url, list);
|
|
if (t.Success)
|
|
{
|
|
XtraMessageBox.Show("已删除!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
|
|
//绑定列表
|
|
RefreshGridList();
|
|
}
|
|
else
|
|
{
|
|
XtraMessageBox.Show("删除失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
PublicClass.WriteErrorLog(this.Text, "删除:\r\n" + ex);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 打印
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void btn_Print_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
#region 打印
|
|
if (gridView_Patient.DataRowCount > 0)
|
|
{
|
|
if (!string.IsNullOrEmpty(Cur_PatientGuid))
|
|
{
|
|
//打印调度单
|
|
string messageStr = Print.PrintDispatchOrder(Cur_PatientGuid, ckb_IsPrintPreview.Checked);
|
|
if (!string.IsNullOrEmpty(messageStr))
|
|
{
|
|
XtraMessageBox.Show(messageStr, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
XtraMessageBox.Show("请先在列表中选择急救任务再打印调度单!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
PublicClass.WriteErrorLog(this.Text, "打印:\r\n" + ex);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 双击跳转
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void gridControl_Patient_MouseDoubleClick(object sender, MouseEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (gridView_Patient.DataRowCount > 0)
|
|
{
|
|
int selectRow = gridView_Patient.GetSelectedRows()[0];
|
|
Cur_PatientGuid = PublicClass.ToString(gridView_Patient.GetRowCellValue(selectRow, "PatientGuid"), "");
|
|
if (!string.IsNullOrEmpty(Cur_PatientGuid))
|
|
{
|
|
//Form_120Edit frm = new Form_120Edit(Cur_PatientGuid);
|
|
//frm.ShowDialog();
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
PublicClass.WriteErrorLog(this.Text, "双击跳转:\r\n" + ex);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 单击赋值
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void gridControl_Patient_MouseClick(object sender, MouseEventArgs e)
|
|
{
|
|
if (gridView_Patient.DataRowCount > 0)
|
|
{
|
|
int selectRow = gridView_Patient.GetSelectedRows()[0];
|
|
Cur_PatientGuid = PublicClass.ToString(gridView_Patient.GetRowCellValue(selectRow, "PatientGuid"), "");
|
|
}
|
|
}
|
|
|
|
#region
|
|
public async void SignalRConnection()
|
|
{
|
|
connection = new HubConnectionBuilder()
|
|
.WithUrl("http://47.112.158.86:4998/ChatHub")
|
|
.Build();
|
|
await connection.StartAsync();
|
|
connection.Closed += async (error) =>
|
|
{
|
|
await Task.Delay(new Random().Next(0, 5) * 1000);
|
|
await connection.StartAsync();
|
|
};
|
|
}
|
|
|
|
private async void button1_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
await connection.InvokeAsync("WinFormsApp", "SignalRClient", this.txt_Key.Text);
|
|
connection.On<object>("ReceiveUpdate", (message) =>
|
|
{
|
|
this.Invoke(new Action(() =>
|
|
{
|
|
this.txt_Key.Text = message.ToString();
|
|
}));
|
|
});
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
this.txt_Key.Text = ex.Message;
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
}
|