1912 lines
80 KiB
C#
1912 lines
80 KiB
C#
using AIMS.DocManager;
|
||
using AIMS.OperationFront.UI;
|
||
using AIMS.OremrUserControl;
|
||
using AIMS.PublicUI.UI;
|
||
using AIMSBLL;
|
||
using AIMSExtension;
|
||
using AIMSModel;
|
||
using AxNsoOfficeLib;
|
||
using DCSoftDotfuscate;
|
||
using DevComponents.Editors.DateTimeAdv;
|
||
using DocumentManagement;
|
||
using DrawGraph;
|
||
using KHD_OREMRInterface;
|
||
using Newtonsoft.Json;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.ComponentModel;
|
||
using System.Data;
|
||
using System.Diagnostics;
|
||
using System.Drawing;
|
||
using System.Drawing.Printing;
|
||
using System.IO;
|
||
using System.Linq;
|
||
using System.Reflection;
|
||
using System.Windows.Forms;
|
||
|
||
namespace AIMS.OperationDoing.AnasRecordBill.UI
|
||
{
|
||
public partial class frmAnasRecordInstrument : Form
|
||
{
|
||
#region 初始化
|
||
public OperationRecord _record;
|
||
public TemplateManage templateManage;
|
||
public AIMSModel.OperationRoom NowRoom;
|
||
private DataTable _appliance;
|
||
private List<ApplianceUseType> _applianceUseType;
|
||
public int PatientId = 0;
|
||
public int ApplyId = 0;
|
||
public int RecoverId = 1;
|
||
private System.Windows.Forms.Timer timerGetTextCollectorData;
|
||
public AIMSExtension.EditState State;
|
||
public bool isReadOnly = false;
|
||
|
||
public frmAnasRecordInstrument()
|
||
{
|
||
InitializeComponent();
|
||
#region 时间轴事件
|
||
this.picInRoom.BackgroundImage = global::AIMS.Properties.Resources.入手术室;
|
||
this.picOpeBegin.BackgroundImage = global::AIMS.Properties.Resources.手术开始;
|
||
this.picOpeEnd.BackgroundImage = global::AIMS.Properties.Resources.手术结束;
|
||
this.picOutRoom.BackgroundImage = global::AIMS.Properties.Resources.出手术室;
|
||
#endregion
|
||
//AIMSExtension.PublicMethod.SetLocalDateTime();
|
||
}
|
||
|
||
private void frmAnasRecordInstrument_Load(object sender, EventArgs e)
|
||
{
|
||
labOperatorName.Text = "(" + AIMSExtension.PublicMethod.OperatorNo + ")" + " " + AIMSExtension.PublicMethod.OperatorName;
|
||
if (NowRoom != null) lblRoom.Text = NowRoom.Name;
|
||
circularProgress1.Location = new Point((panel8.Width - circularProgress1.Width) / 2, (panel8.Height - circularProgress1.Height) / 2);
|
||
|
||
LoadAnesRescue();
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 上方按钮
|
||
/// <summary>
|
||
/// 手术特殊事件时间点处理事件
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
public void txtDateTime_MouseDown(object sender, MouseEventArgs e)
|
||
{
|
||
if (PatientId == 0) return;
|
||
DateTimeInput tb = sender as DateTimeInput;
|
||
if (_record != null && _record.OutRoomTime != null)
|
||
{
|
||
if ((tb.Name == "txtBG" || tb.Name == "txtCG") && tb.Text.Trim() == "")
|
||
{
|
||
return;
|
||
}
|
||
}
|
||
|
||
if (tb.Text.Trim() == "" && tb.CustomFormat == " ")
|
||
{
|
||
tb.BackColor = Color.White;
|
||
SetPic(sender);
|
||
}
|
||
else
|
||
{
|
||
tb.CustomFormat = "HH:mm";
|
||
tb.ButtonDropDown.Visible = true;
|
||
}
|
||
}
|
||
private void txtDateTime_LostFocus(object sender, EventArgs e)
|
||
{
|
||
if (PatientId == 0) return;
|
||
DateTimeInput tb = sender as DateTimeInput;
|
||
if (tb.CustomFormat == "HH:mm")
|
||
{
|
||
if (tb.Name == "txtInRoom" || tb.Name == "txtOutRoom")
|
||
{
|
||
tb.CustomFormat = "MM-dd HH:mm";
|
||
}
|
||
tb.ButtonDropDown.Visible = false;
|
||
}
|
||
if (tb.Text.Trim() != "" && tb.Value.ToString() != tb.Tag.ToString())
|
||
{
|
||
try
|
||
{
|
||
SetPic(sender, tb.Value);
|
||
tb.BackColor = Color.White;
|
||
}
|
||
catch (Exception)
|
||
{
|
||
tb.Focus();
|
||
tb.Value = DateTime.Parse(tb.Tag.ToString());
|
||
return;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (tb.Tag != null && tb.Tag.ToString() != "")
|
||
tb.Value = DateTime.Parse(tb.Tag.ToString());
|
||
}
|
||
}
|
||
private void dateTimePicker_KeyUp(object sender, KeyEventArgs e)
|
||
{
|
||
if (PatientId == 0) return;
|
||
DateTimeInput dtpak = (DateTimeInput)sender;
|
||
if (e.KeyCode == Keys.Delete || e.KeyCode == Keys.Back)
|
||
{
|
||
if (dtpak.CustomFormat != " " && dtpak.Tag != null)
|
||
{
|
||
try
|
||
{
|
||
SetPic((DateTimeInput)sender);
|
||
}
|
||
catch (Exception)
|
||
{
|
||
//PublicMethod.ShowMessage("输入的时间格式不符合规范(HH:mm)!");
|
||
return;
|
||
}
|
||
}
|
||
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 特殊事件触发时设置图片
|
||
/// </summary>
|
||
/// <param name="obj">显示时间的控件</param>
|
||
private void SetPic(Object obj)
|
||
{
|
||
DrawGraph.FactEvents Inevent = null;
|
||
DateTimeInput tb = obj as DateTimeInput;
|
||
DateTime nowtime = DateTime.Now;// getOpeMaxTime();
|
||
DateTime curTimeTemp = new DateTime(nowtime.Year, nowtime.Month, nowtime.Day, nowtime.Hour, nowtime.Minute, 0);
|
||
InsertOrUpdateEventTime(0, "txtInRoom", "入室", tb, curTimeTemp, ref Inevent);
|
||
curTimeTemp = curTimeTemp.AddSeconds(2);
|
||
InsertOrUpdateEventTime(0, "txtOperationBegin", "手术开始", tb, curTimeTemp, ref Inevent);
|
||
curTimeTemp = curTimeTemp.AddSeconds(2);
|
||
InsertOrUpdateEventTime(0, "txtOperationEnd", "手术结束", tb, curTimeTemp, ref Inevent);
|
||
curTimeTemp = curTimeTemp.AddSeconds(2);
|
||
InsertOrUpdateEventTime(0, "txtOutRoom", "出室", tb, curTimeTemp, ref Inevent);
|
||
|
||
if (Inevent != null)
|
||
{
|
||
_record.FactEventsList.Add(Inevent);
|
||
//if (Inevent.EventName == "入室")
|
||
//{
|
||
// _record.pageCount = 0;
|
||
// ReviewEvent();
|
||
//}
|
||
//else if (Inevent.EventName == "手术开始" || Inevent.EventName == "出室" || Inevent.EventBeginTime > _record.lastPageBegin)
|
||
//{
|
||
// ReviewEvent();
|
||
//}
|
||
//else
|
||
//{
|
||
DrawEvent();
|
||
//}
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 特殊事件触发时设置图片
|
||
/// </summary>
|
||
/// <param name="obj">显示时间的控件</param>
|
||
private void SetPic(Object obj, DateTime curTimeTemp)
|
||
{
|
||
DrawGraph.FactEvents Inevent = null;
|
||
DateTimeInput tb = obj as DateTimeInput;
|
||
curTimeTemp = new DateTime(curTimeTemp.Year, curTimeTemp.Month, curTimeTemp.Day, curTimeTemp.Hour, curTimeTemp.Minute, 0);
|
||
//try
|
||
//{
|
||
// if (curTimeTemp.Date < _record.PlanOperationTime.AddDays(-3).Date)
|
||
// {
|
||
// tb.Focus();
|
||
// tb.Value = DateTime.Parse(tb.Tag.ToString());
|
||
// return;
|
||
// }
|
||
//}
|
||
//catch (Exception)
|
||
//{
|
||
//}
|
||
InsertOrUpdateEventTime(1, "txtInRoom", "入室", tb, curTimeTemp, ref Inevent);
|
||
curTimeTemp = curTimeTemp.AddSeconds(2);
|
||
InsertOrUpdateEventTime(1, "txtOperationBegin", "手术开始", tb, curTimeTemp, ref Inevent);
|
||
curTimeTemp = curTimeTemp.AddSeconds(2);
|
||
InsertOrUpdateEventTime(1, "txtOperationEnd", "手术结束", tb, curTimeTemp, ref Inevent);
|
||
curTimeTemp = curTimeTemp.AddSeconds(2);
|
||
InsertOrUpdateEventTime(1, "txtOutRoom", "出室", tb, curTimeTemp, ref Inevent);
|
||
|
||
if (Inevent != null)
|
||
{
|
||
//if (Inevent.EventName == "入室")
|
||
//{
|
||
// _record.pageCount = 0;
|
||
// ReviewEvent();
|
||
//}
|
||
//else if (Inevent.EventName == "出室" || Inevent.EventName == "手术开始" || Inevent.EventBeginTime > _record.lastPageBegin)
|
||
//{
|
||
// ReviewEvent();
|
||
//}
|
||
//else
|
||
//{
|
||
DrawEvent();
|
||
//}
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 特殊事件触发时设置图片
|
||
/// </summary>
|
||
/// <param name="obj">显示时间的控件</param>
|
||
private void SetPic(DateTimeInput obj)
|
||
{
|
||
DrawGraph.FactEvents Inevent = null;
|
||
DateTimeInput tb = obj as DateTimeInput;
|
||
if (_record.StateName == "手术中")
|
||
{
|
||
DeleteEventTime("txtOperationBegin", "手术开始", tb, ref Inevent);
|
||
DeleteEventTime("txtOperationEnd", "手术结束", tb, ref Inevent);
|
||
DeleteEventTime("txtBG", "拔管", tb, ref Inevent);
|
||
}
|
||
else
|
||
{
|
||
MessageBox.Show("选择的事件不可删除 只可修改!");
|
||
}
|
||
|
||
if (Inevent != null)
|
||
{
|
||
tb.ButtonDropDown.Visible = false;
|
||
_record.FactEventsList.Remove(Inevent);
|
||
DrawEvent();
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 判断控件对应的事件 删除事件
|
||
/// </summary>
|
||
/// <param name="EventTxtName">事件对应的控件名称</param>
|
||
/// <param name="EventName">事件名称</param>
|
||
/// <param name="tb">控件</param>
|
||
private void DeleteEventTime(string EventTxtName, string EventName, DateTimeInput tb, ref DrawGraph.FactEvents Inevent)
|
||
{
|
||
if (tb.Name.Equals(EventTxtName))
|
||
{
|
||
List<DrawGraph.FactEvents> list = _record.FactEventsList.Where(c => c.EventName == EventName).ToList();
|
||
if (list.Count <= 0) return;
|
||
Inevent = list[0];
|
||
if (EventName == "入室" || EventName == "出室")
|
||
{
|
||
//PublicMethod.ShowMessage("该事件为主要事件 不可删除 只可修改!!");
|
||
tb.Value = Inevent.EventBeginTime.Value;
|
||
Inevent = null;
|
||
return;
|
||
}
|
||
|
||
BFactEvents.DeleteById(Inevent.Id.ToString());
|
||
Inevent.clearAddObj(zgcAnaesRecord);
|
||
tb.CustomFormat = " ";
|
||
tb.Value = DateTime.Now;
|
||
tb.Tag = null;
|
||
|
||
if (Inevent != null && Inevent.EventName == "手术开始")
|
||
{
|
||
_record.OperationBeginTime = null;
|
||
this.picOpeBegin.BackgroundImage = global::AIMS.Properties.Resources.手术开始;
|
||
BOperationRecord.Update(" OperationBeginTime=null where Id=@id ", new AIMSModel.ParameterList("@id", _record.Id));
|
||
}
|
||
if (Inevent != null && Inevent.EventName == "手术结束")
|
||
{
|
||
_record.OperationEndTime = null;
|
||
this.picOpeEnd.BackgroundImage = global::AIMS.Properties.Resources.手术结束;
|
||
BOperationRecord.Update(" OperationEndTime=null where Id=@id ", new AIMSModel.ParameterList("@id", _record.Id));
|
||
}
|
||
//if (Inevent != null)
|
||
//{
|
||
// BOperationRecord.Update("OperationBeginTime=@OperationBegin,OperationEndTime=@OperationEnd,OutRoomTime=@OutRoom where Id=@id", new AIMSModel.ParameterList("@OperationBegin", _record.OperationBeginTime.HasValue ? (object)_record.OperationBeginTime.Value : (object)DBNull.Value, "@OperationEnd", _record.OperationEndTime.HasValue ? (object)_record.OperationEndTime.Value : (object)DBNull.Value, "@OutRoom", _record.OutRoomTime.HasValue ? (object)_record.OutRoomTime.Value : (object)DBNull.Value, "@id", _record.Id));
|
||
//}
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 判断控件对应的事件 插入事件
|
||
/// </summary>
|
||
/// <param name="state">0插入 1更新</param>
|
||
/// <param name="EventTxtName">事件对应的控件名称</param>
|
||
/// <param name="EventName">事件名称</param>
|
||
/// <param name="EventTime">事件对应的对象时间</param>
|
||
/// <param name="tb">控件</param>
|
||
/// <param name="curTimeTemp">事件时间</param>
|
||
/// <param name="Inevent">事件对象</param>
|
||
private void InsertOrUpdateEventTime(int state, string EventTxtName, string EventName, DateTimeInput tb, DateTime curTimeTemp, ref DrawGraph.FactEvents Inevent)
|
||
{
|
||
if (tb.Name.Equals(EventTxtName))
|
||
{
|
||
string messing = "";
|
||
bool timeistrue = true;
|
||
timeistrue = BOperationRecord.IfTimeisTrue(true, _record, EventName, curTimeTemp, ref messing);
|
||
if (_record.StateName != null && _record.StateName != "手术中")
|
||
{
|
||
if (messing != "")
|
||
{
|
||
MessageBox.Show(messing);
|
||
}
|
||
}
|
||
else
|
||
{ timeistrue = true; }
|
||
//if (EventName == "出室" && _record.StateName == "手术中" && state == 0)
|
||
//{
|
||
// if (messing != "") MessageBox.Show(messing, "系统提示");
|
||
// return;
|
||
//}
|
||
if (timeistrue == false)
|
||
{
|
||
if (tb.Tag != null) tb.Value = DateTime.Parse(tb.Tag.ToString());
|
||
return;
|
||
}
|
||
if (EventName == "出室" && curTimeTemp.ToString("yyyy-MM-dd HH:mm") == _record.lastPageBegin.ToString("yyyy-MM-dd HH:mm"))
|
||
{
|
||
curTimeTemp = _record.lastPageBegin;
|
||
}
|
||
if (state != 1)
|
||
{
|
||
Inevent = BFactEvents.Insert(PatientId, EventName, curTimeTemp, curTimeTemp, RecoverId);
|
||
}
|
||
else
|
||
{
|
||
updateEventTime(EventName, curTimeTemp, ref Inevent);
|
||
}
|
||
tb.Value = curTimeTemp;
|
||
tb.Tag = curTimeTemp;
|
||
|
||
if (Inevent != null && Inevent.EventName == "入室" && _record.InRoomTime != Inevent.EventBeginTime)
|
||
{
|
||
_record.InRoomTime = Inevent.EventBeginTime;
|
||
this.picInRoom.BackgroundImage = global::AIMS.Properties.Resources.入手术室_select;
|
||
BOperationRecord.Update("InRoomTime=@InRoom where Id=@id ", new AIMSModel.ParameterList("@InRoom", _record.InRoomTime.Value.ToString("yyyy-MM-dd HH:mm:ss"), "@id", _record.Id));
|
||
}
|
||
if (Inevent != null && Inevent.EventName == "手术开始" && _record.OperationBeginTime != Inevent.EventBeginTime)
|
||
{
|
||
_record.OperationBeginTime = Inevent.EventBeginTime;
|
||
this.picOpeBegin.BackgroundImage = global::AIMS.Properties.Resources.手术开始_select;
|
||
BOperationRecord.Update("OperationBeginTime=@OperationBegin where Id=@id ", new AIMSModel.ParameterList("@OperationBegin", _record.OperationBeginTime.Value.ToString("yyyy-MM-dd HH:mm:ss"), "@id", _record.Id));
|
||
}
|
||
if (Inevent != null && Inevent.EventName == "手术结束" && _record.OperationEndTime != Inevent.EventBeginTime)
|
||
{
|
||
_record.OperationEndTime = Inevent.EventBeginTime;
|
||
this.picOpeEnd.BackgroundImage = global::AIMS.Properties.Resources.手术结束_select;
|
||
BOperationRecord.Update("OperationEndTime=@OperationEnd where Id=@id ", new AIMSModel.ParameterList("@OperationEnd", _record.OperationEndTime.Value.ToString("yyyy-MM-dd HH:mm:ss"), "@id", _record.Id));
|
||
}
|
||
if (Inevent != null && Inevent.EventName == "出室" && _record.OutRoomTime != Inevent.EventBeginTime)
|
||
{
|
||
_record.OutRoomTime = Inevent.EventBeginTime;
|
||
this.picOutRoom.BackgroundImage = global::AIMS.Properties.Resources.出手术室_select;
|
||
BOperationRecord.Update("OutRoomTime=@OutRoom where Id=@id ", new AIMSModel.ParameterList("@OutRoom", _record.OutRoomTime.Value.ToString("yyyy-MM-dd HH:mm:ss"), "@id", _record.Id));
|
||
}
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 修改事件时间
|
||
/// </summary>
|
||
/// <param name="eventName"></param>
|
||
/// <param name="dt"></param>
|
||
public void updateEventTime(string eventName, DateTime dt, ref DrawGraph.FactEvents elist)
|
||
{
|
||
List<DrawGraph.FactEvents> list = _record.FactEventsList.Where(c => c.EventName == eventName).ToList();
|
||
if (list.Count <= 0) return;
|
||
elist = list[0];
|
||
if (elist.EventBeginTime != dt)
|
||
{
|
||
elist.EventBeginTime = dt;
|
||
elist.EventEndTime = dt;
|
||
BFactEvents.Update("EventBeginTime=@EventBeginTime,EventEndTime=@EventEndTime where id=@id ", new AIMSModel.ParameterList("@EventBeginTime", elist.EventBeginTime, "@EventEndTime", elist.EventEndTime, "@id", elist.Id));
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 下方按钮
|
||
private void panel8_Scroll(object sender, ScrollEventArgs e)
|
||
{
|
||
templateManage.SetPYL();
|
||
}
|
||
|
||
private void plRefresh_Click(object sender, EventArgs e)
|
||
{
|
||
if (PatientId == 0) return;
|
||
//刷新到当前页
|
||
ReviewEvent();
|
||
}
|
||
#endregion
|
||
|
||
#region 左侧按钮
|
||
private void btnSelectPatient_Click(object sender, EventArgs e)
|
||
{
|
||
OperationDoing.AnasRecordBill.UI.frmSelectPatientGoodsBill frmSelectPatient = new UI.frmSelectPatientGoodsBill();
|
||
frmSelectPatient.isMainOpen = true;
|
||
frmSelectPatient.FormClosed += new FormClosedEventHandler(frmSelectPatient_FormClosed);
|
||
frmSelectPatient.ShowDialog();
|
||
|
||
}
|
||
void frmSelectPatient_FormClosed(object sender, FormClosedEventArgs e)
|
||
{
|
||
LoadAnesRescue();
|
||
}
|
||
|
||
private System.Windows.Forms.Timer timerLoadAnesRescue;
|
||
|
||
public void LoadAnesRescue()
|
||
{
|
||
circularProgress1.IsRunning = true;
|
||
circularProgress1.Visible = true;
|
||
zgcAnaesRecord.Visible = false;
|
||
timerLoadAnesRescue = new System.Windows.Forms.Timer(components);
|
||
timerLoadAnesRescue.Enabled = true;//调试时设置为FALSE ,
|
||
timerLoadAnesRescue.Interval = 300;
|
||
timerLoadAnesRescue.Tick -= TimerLoadAnesRescue_Tick;
|
||
timerLoadAnesRescue.Tick += TimerLoadAnesRescue_Tick;
|
||
timerLoadAnesRescue.Start();
|
||
}
|
||
private void TimerLoadAnesRescue_Tick(object sender, EventArgs e)
|
||
{
|
||
timerLoadAnesRescue.Dispose();
|
||
if (PatientId > 0 && State == AIMSExtension.EditState.ADD)
|
||
{
|
||
try
|
||
{
|
||
HelperDB.DbHelperSQL.BeginTrans();
|
||
_record = new OperationRecord();
|
||
_record.OperationApplyId = ApplyId;
|
||
_record.PatientId = PatientId;
|
||
_record.RecoverId = RecoverId;
|
||
_record.Id = BOperationRecord.AddTitleTime(PatientId, ApplyId, RecoverId, 1, DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd HH:mm:00")), NowRoom.Id.Value);
|
||
HelperDB.DbHelperSQL.CommitTrans();
|
||
ClearTimeText();
|
||
btnSelectPatient.Enabled = false;
|
||
DrawAnasReordBill.IniDrawAnasReordBill4(_record, zgcAnaesRecord, ref templateManage);
|
||
StartTimer();
|
||
}
|
||
catch
|
||
{
|
||
HelperDB.DbHelperSQL.RollbackTrans();
|
||
}
|
||
}
|
||
else if (PatientId > 0 && State == AIMSExtension.EditState.EDIT)
|
||
{
|
||
_record = new OperationRecord();
|
||
btnSelectPatient.Enabled = false; //清空记录点并重新加载
|
||
ClearTimeText();
|
||
if (templateManage != null)
|
||
{
|
||
templateManage.ControlClear();
|
||
}
|
||
DrawAnasReordBill.IniDrawAnasReordBill4(_record, zgcAnaesRecord, ref templateManage);
|
||
StartTimer();
|
||
}
|
||
else if (PatientId > 0 && State == AIMSExtension.EditState.BROWSE)
|
||
{
|
||
_record = new OperationRecord();
|
||
btnSelectPatient.Enabled = true;
|
||
btnCancelOperation.Enabled = false;
|
||
btnCancelIn.Enabled = false;
|
||
ClearTimeText();
|
||
if (templateManage != null)
|
||
{
|
||
templateManage.ControlClear();
|
||
}
|
||
DrawAnasReordBill.IniDrawAnasReordBill4(_record, zgcAnaesRecord, ref templateManage);
|
||
|
||
StartTimer();
|
||
}
|
||
AbleEditPackObj ableEdit = templateManage.GetPackObjectOTag<AbleEditPackObj>("InstrumentDataManage_AbleEditPackObj_40_OperationRecord_SpareTen");
|
||
Panel pan = ableEdit.CControl as Panel;
|
||
if (pan != null)
|
||
{
|
||
this.panel8.Controls.Remove(this.panelQX);
|
||
panelQX.Visible = true;
|
||
panelQX.Dock = DockStyle.Fill;
|
||
pan.Controls.Add(panelQX);
|
||
pan.Size = new System.Drawing.Size(templateManage.ZedControl.Width, (int)(templateManage.ZedControl.Height * 0.4));
|
||
}
|
||
plRefresh_Click(null, null);
|
||
if (_record.MedicalRecord != null && _record.MedicalRecord != "")
|
||
{
|
||
btnOperationInfo.Enabled = false;
|
||
btnOutputLiquids.Enabled = false;
|
||
btnDrug.Enabled = false;
|
||
btnAddEvents.Enabled = false;
|
||
button6.Enabled = false;
|
||
btnBloodGasAnalysis.Enabled = false;
|
||
txtInRoom.Enabled = false;
|
||
txtOperationBegin.Enabled = false;
|
||
txtOperationEnd.Enabled = false;
|
||
txtOutRoom.Enabled = false;
|
||
isReadOnly = true;
|
||
}
|
||
|
||
if (_record.AnesthesiaDoctor == null || _record.AnesthesiaDoctor == "")
|
||
{
|
||
txtInRoom.MouseDown += new MouseEventHandler(txtDateTime_MouseDown);
|
||
txtOutRoom.MouseDown += new MouseEventHandler(txtDateTime_MouseDown);
|
||
txtOperationBegin.MouseDown += new MouseEventHandler(txtDateTime_MouseDown);
|
||
txtOperationEnd.MouseDown += new MouseEventHandler(txtDateTime_MouseDown);
|
||
|
||
txtOperationBegin.KeyUp += new KeyEventHandler(dateTimePicker_KeyUp);
|
||
txtOperationEnd.KeyUp += new KeyEventHandler(dateTimePicker_KeyUp);
|
||
|
||
txtInRoom.LostFocus += new EventHandler(txtDateTime_LostFocus);
|
||
txtOutRoom.LostFocus += new EventHandler(txtDateTime_LostFocus);
|
||
txtOperationBegin.LostFocus += new EventHandler(txtDateTime_LostFocus);
|
||
txtOperationEnd.LostFocus += new EventHandler(txtDateTime_LostFocus);
|
||
}
|
||
GetPhysioDataConfig();
|
||
circularProgress1.IsRunning = false;
|
||
circularProgress1.Visible = false;
|
||
zgcAnaesRecord.Visible = true;
|
||
|
||
}
|
||
|
||
private void btnOperationInfo_Click(object sender, EventArgs e)
|
||
{
|
||
if (PatientId != 0)
|
||
{
|
||
AIMS.OperationDoing.AnasRecordBill.UI.frmOperationInfoNew2 frmOperationInfo = new frmOperationInfoNew2();
|
||
frmOperationInfo._record = _record;
|
||
frmOperationInfo.FormClosed += new FormClosedEventHandler(plRefresh_Click);
|
||
frmOperationInfo.ShowDialog();
|
||
}
|
||
else
|
||
{
|
||
MessageBox.Show("请选择患者");
|
||
}
|
||
}
|
||
|
||
private void btnDrug_Click(object sender, EventArgs e)
|
||
{
|
||
if (PatientId != 0)
|
||
{
|
||
PublicUI.UI.frmFactDrugNew frmFactDrug = new PublicUI.UI.frmFactDrugNew();
|
||
frmFactDrug._record = _record;
|
||
frmFactDrug.zgcAnaesRecord = zgcAnaesRecord;
|
||
frmFactDrug.DrugTypeId = RecoverId; // 事件类型 1 麻醉单事件 2 麻醉恢复单
|
||
frmFactDrug.FormClosed += new FormClosedEventHandler(frmFactEventsNew_FormClosed);
|
||
frmFactDrug.ShowDialog();
|
||
}
|
||
else
|
||
{
|
||
MessageBox.Show("请选择患者");
|
||
}
|
||
}
|
||
private void btnAddEvents_Click(object sender, EventArgs e)
|
||
{
|
||
if (PatientId != 0)
|
||
{
|
||
PublicUI.UI.frmFactEventsNew frmFactEventsNew = new PublicUI.UI.frmFactEventsNew();
|
||
frmFactEventsNew._record = _record;
|
||
frmFactEventsNew.zgcAnaesRecord = zgcAnaesRecord;
|
||
frmFactEventsNew.EventTypeId = RecoverId; // 事件类型 1 麻醉单事件 2 麻醉恢复单
|
||
frmFactEventsNew.EventParam += ReferEventDrugs;
|
||
frmFactEventsNew.ShowDialog();
|
||
}
|
||
else
|
||
{
|
||
MessageBox.Show("请选择患者");
|
||
}
|
||
}
|
||
private void btnOutputLiquids_Click(object sender, EventArgs e)
|
||
{
|
||
if (PatientId != 0)
|
||
{
|
||
PublicUI.UI.frmFactOutputLiquidsNew frmFactOutputLiquids = new PublicUI.UI.frmFactOutputLiquidsNew();
|
||
frmFactOutputLiquids._record = _record;
|
||
frmFactOutputLiquids.OutputLiquidTypeId = RecoverId; // 事件类型 1 麻醉单事件 2 麻醉恢复单
|
||
frmFactOutputLiquids.FormClosed += new FormClosedEventHandler(frmFactEventsNew_FormClosed);
|
||
frmFactOutputLiquids.ShowDialog();
|
||
}
|
||
else
|
||
{
|
||
MessageBox.Show("请选择患者");
|
||
}
|
||
}
|
||
private void button6_Click(object sender, EventArgs e)
|
||
{
|
||
frmAnaseDataQualityRecord frmAnaseDataQuality = new frmAnaseDataQualityRecord();
|
||
frmAnaseDataQuality._record = _record;
|
||
frmAnaseDataQuality.ShowDialog();
|
||
}
|
||
void frmFactEventsNew_FormClosed(object sender, FormClosedEventArgs e)
|
||
{
|
||
plRefresh_Click(null, null);
|
||
}
|
||
private void btnCancelOperation_Click(object sender, EventArgs e)
|
||
{
|
||
if (PatientId == 0)
|
||
{
|
||
MessageBox.Show("请选择患者!");
|
||
return;
|
||
}
|
||
if (BOperationRecord.GetDataCount(_record.Id.Value, PatientId, RecoverId) > 0)
|
||
{
|
||
MessageBox.Show("清除数据在进行作废手术操作!");
|
||
return;
|
||
}
|
||
if (MessageBox.Show("确认要停止手术吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
||
{
|
||
try
|
||
{
|
||
|
||
HelperDB.DbHelperSQL.BeginTrans();
|
||
BOperationApply.UpdateApplyState(ApplyId, 11);
|
||
//BOperationRecord.DeleteOperationRecordData(PatientId, RecoverId);
|
||
BOperationRecord.UpdateState(PatientId, 1, 5);
|
||
HelperDB.DbHelperSQL.CommitTrans();
|
||
|
||
//ClearData();
|
||
this.Close();
|
||
}
|
||
catch
|
||
{
|
||
HelperDB.DbHelperSQL.RollbackTrans();
|
||
}
|
||
}
|
||
}
|
||
private void btnCancelIn_Click(object sender, EventArgs e)
|
||
{
|
||
if (PatientId == 0)
|
||
{
|
||
MessageBox.Show("请选择患者!");
|
||
return;
|
||
}
|
||
if (BOperationRecord.GetDataCount(_record.Id.Value, PatientId, RecoverId) > 0)
|
||
{
|
||
MessageBox.Show("清除数据在进行取消转入操作!");
|
||
return;
|
||
}
|
||
if (MessageBox.Show("确认要取消转入吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
||
{
|
||
try
|
||
{
|
||
HelperDB.DbHelperSQL.BeginTrans();
|
||
BOperationApply.UpdateApplyState(ApplyId, 5);
|
||
BOperationRecord.DeleteOperationRecordData(_record.Id.Value, PatientId, RecoverId);
|
||
HelperDB.DbHelperSQL.CommitTrans();
|
||
|
||
DisposeTimer();
|
||
//ClearData();
|
||
this.Close();
|
||
}
|
||
catch
|
||
{
|
||
HelperDB.DbHelperSQL.RollbackTrans();
|
||
}
|
||
}
|
||
}
|
||
private void btnTemplate_Click(object sender, EventArgs e)
|
||
{
|
||
if (_applianceUseType == null)
|
||
_applianceUseType = new List<ApplianceUseType>();
|
||
frmSelectApplianceUseType ReturnApply = new frmSelectApplianceUseType();
|
||
ReturnApply._SelectApplianceUseType = _applianceUseType;
|
||
DialogResult ddr = ReturnApply.ShowDialog();
|
||
_appliance = ReturnApply._appliance;
|
||
if (ddr == System.Windows.Forms.DialogResult.OK && _appliance != null)
|
||
{
|
||
FullUcControlsToPanel(panelQXList, _appliance);
|
||
//if (_appliance.Rows.Count > 60)
|
||
// MessageBox.Show("超出打印数量!");
|
||
}
|
||
}
|
||
private void tsbExePlan_Click(object sender, EventArgs e)
|
||
{
|
||
if (PatientId == 0)
|
||
{
|
||
MessageBox.Show("请先选择患者!");
|
||
return;
|
||
}
|
||
if (_record.Applydiagnose == null || _record.Applydiagnose == "")
|
||
{
|
||
MessageBox.Show("请选择诊断后再填写文书!", "系统提示");
|
||
ModifyApply_Click(null, null);
|
||
return;
|
||
}
|
||
PatientRecord patient = PatientRecord.GetPatientRecord(PatientId);
|
||
frmDocument frmDocument = new frmDocument(patient);
|
||
frmDocument.StartPosition = FormStartPosition.CenterScreen;
|
||
frmDocument.WindowState = FormWindowState.Maximized;
|
||
frmDocument.ShowDialog();
|
||
}
|
||
void toolStripMenuItem2_Click(object sender, EventArgs e)
|
||
{
|
||
|
||
}
|
||
private void btnBloodGasAnalysis_Click(object sender, EventArgs e)
|
||
{
|
||
if (PatientId != 0)
|
||
{
|
||
frmBloodGasAnalysisNew frmFactBloodGasAnalysis = new frmBloodGasAnalysisNew();
|
||
frmFactBloodGasAnalysis._record = _record;
|
||
frmFactBloodGasAnalysis.zgcAnaesRecord = zgcAnaesRecord;
|
||
frmFactBloodGasAnalysis.FormClosed += new FormClosedEventHandler(frmFactEventsNew_FormClosed);
|
||
frmFactBloodGasAnalysis.ShowDialog();
|
||
}
|
||
else
|
||
{
|
||
MessageBox.Show("请选择患者");
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 采集程序
|
||
|
||
public string szy;//舒张压
|
||
public string ssy;//收缩压
|
||
public DateTime? LastRespMonitorDataTime;
|
||
private void timerGetTextCollectorData_Tick(object sender, EventArgs e)
|
||
{
|
||
try
|
||
{
|
||
if (NowRoom == null) return;
|
||
if (State != AIMSExtension.EditState.BROWSE)
|
||
ShowMonitorDataToRight();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
PublicMethod.WriteLog(ex);
|
||
}
|
||
}
|
||
|
||
private BackgroundWorker backgroundWorker1;
|
||
public void ShowMonitorDataToRight()
|
||
{
|
||
this.backgroundWorker1 = new BackgroundWorker();
|
||
this.backgroundWorker1.WorkerReportsProgress = true;
|
||
this.backgroundWorker1.WorkerSupportsCancellation = true;
|
||
this.backgroundWorker1.DoWork += new DoWorkEventHandler(this.backgroundWorker1_DoWork);
|
||
this.backgroundWorker1.RunWorkerCompleted += new RunWorkerCompletedEventHandler(this.backgroundWorker1_RunWorkerCompleted);
|
||
this.backgroundWorker1.RunWorkerAsync();
|
||
}
|
||
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
|
||
{
|
||
BackgroundWorker worker = sender as BackgroundWorker;
|
||
List<DeviceCacheData> lists = DeviceCacheData.Select(" IPAddress='" + NowRoom.Ip + "' and UpdateTime>='" + DateTime.Now.AddSeconds(-300) + "'");
|
||
e.Result = lists;
|
||
}
|
||
private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
|
||
{
|
||
List<DeviceCacheData> lists = e.Result as List<DeviceCacheData>;
|
||
if (lists != null && lists.Count > 0)
|
||
{
|
||
DeviceCacheData deviceCacheData = lists[0];
|
||
NowPhysioData nowPhysioData = JsonConvert.DeserializeObject<NowPhysioData>(deviceCacheData.JsonData);
|
||
foreach (PropertyInfo p in nowPhysioData.GetType().GetProperties())
|
||
{
|
||
bool iswar = false;
|
||
foreach (PhysioDataConfig keyValuePair in _record.addPhysioList)
|
||
{
|
||
if (keyValuePair.Enname.ToUpper() == p.Name.ToUpper())
|
||
{
|
||
object paramValue = p.GetValue(nowPhysioData, null);
|
||
if (paramValue != null && paramValue.ToString() != string.Empty && paramValue.ToString() != "NaN" && paramValue.ToString() != "NULL")
|
||
{
|
||
double value = Double.Parse(paramValue.ToString());
|
||
value = Convert.ToInt32(value);
|
||
if (value < keyValuePair.WarningLowLimit || value > keyValuePair.WarningHighLimit)
|
||
{
|
||
iswar = true;
|
||
}
|
||
|
||
if (keyValuePair.Name == "心率")
|
||
{
|
||
lblHR.Text = value <= 0 ? "- -" : value.ToString();
|
||
if (iswar == true) lblHR.ForeColor = Color.Red; else lblHR.ForeColor = Color.Green;
|
||
}
|
||
if (keyValuePair.Name == "自主呼吸")
|
||
{
|
||
lblRESP.Text = value <= 0 ? "- -" : value.ToString();
|
||
if (iswar == true) lblRESP.ForeColor = Color.Red; else lblRESP.ForeColor = Color.Yellow;
|
||
}
|
||
if (keyValuePair.Name == "氧饱和度")
|
||
{
|
||
lblSpo2.Text = value <= 0 ? "- -" : value.ToString();
|
||
if (iswar == true) lblSpo2.ForeColor = Color.Red; else lblSpo2.ForeColor = Color.Cyan;
|
||
}
|
||
if (keyValuePair.Name == "脉率")
|
||
{
|
||
lblPR.Text = value <= 0 ? "- -" : value.ToString();
|
||
if (iswar == true) lblPR.ForeColor = Color.Red; else lblPR.ForeColor = Color.Green;
|
||
}
|
||
if (keyValuePair.Name == "无创舒张压")
|
||
{
|
||
szy = value <= 0 ? "" : value.ToString();
|
||
//if (iswar == true) lblDia.ForeColor = Color.Red; else lblDia.ForeColor = Color.Green;
|
||
}
|
||
if (keyValuePair.Name == "无创收缩压")
|
||
{
|
||
ssy = value <= 0 ? "" : value.ToString();
|
||
//if (iswar == true) lblDia.ForeColor = Color.Red; else lblDia.ForeColor = Color.Green;
|
||
}
|
||
if (keyValuePair.Name == "有创舒张压")
|
||
{
|
||
szy = value <= 0 ? "" : value.ToString();
|
||
//if (iswar == true) lblDia.ForeColor = Color.Red; else lblDia.ForeColor = Color.Green;
|
||
}
|
||
if (keyValuePair.Name == "有创收缩压")
|
||
{
|
||
ssy = value <= 0 ? "" : value.ToString();
|
||
//if (iswar == true) lblDia.ForeColor = Color.Red; else lblDia.ForeColor = Color.Green;
|
||
}
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
string szyssy = ssy + "/" + szy;
|
||
lblDia.Text = szyssy == "/" ? "---/---" : szyssy;
|
||
}
|
||
else
|
||
{
|
||
lblHR.Text = "--";
|
||
lblRESP.Text = "--";
|
||
lblSpo2.Text = "--";
|
||
lblPR.Text = "--";
|
||
lblDia.Text = "---/---";
|
||
lblHR.ForeColor = Color.Green;
|
||
lblRESP.ForeColor = Color.Yellow;
|
||
lblSpo2.ForeColor = Color.Cyan;
|
||
lblPR.ForeColor = Color.Green;
|
||
lblDia.ForeColor = Color.Red;
|
||
}
|
||
}
|
||
|
||
private void StartTimer()
|
||
{
|
||
if (timerGetTextCollectorData == null)
|
||
timerGetTextCollectorData = new System.Windows.Forms.Timer(components);
|
||
timerGetTextCollectorData.Enabled = true;//调试时设置为FALSE ,
|
||
timerGetTextCollectorData.Interval = 2000;
|
||
timerGetTextCollectorData.Tick -= new System.EventHandler(timerGetTextCollectorData_Tick);
|
||
timerGetTextCollectorData.Tick += new System.EventHandler(timerGetTextCollectorData_Tick);
|
||
timerGetTextCollectorData.Start();
|
||
}
|
||
|
||
private void DisposeTimer()
|
||
{
|
||
if (timerGetTextCollectorData != null)
|
||
{
|
||
timerGetTextCollectorData.Enabled = false;
|
||
timerGetTextCollectorData.Stop();
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 鼠标右键
|
||
|
||
private void zgcAnaesRecord_KeyUp(object sender, KeyEventArgs e)
|
||
{
|
||
if (templateManage != null)
|
||
{
|
||
ZedGraphControl send = sender as ZedGraphControl;
|
||
templateManage.zedControl_KeyUp(send, e);
|
||
}
|
||
}
|
||
|
||
private bool zgcAnaesRecord_MouseDownEvent(ZedGraphControl sender, MouseEventArgs e)
|
||
{
|
||
if (templateManage != null && isReadOnly == false)
|
||
{
|
||
SelectWorkerValue.Hidden();
|
||
SelectDictValue.Hidden();
|
||
templateManage.zedControl_MouseDownEvent(sender, e);
|
||
|
||
}
|
||
return default(bool);
|
||
}
|
||
|
||
private bool zgcAnaesRecord_MouseUpEvent(ZedGraphControl sender, MouseEventArgs e)
|
||
{
|
||
if (templateManage != null && isReadOnly == false)
|
||
{
|
||
templateManage.zedControl_MouseUpEvent(sender, e);
|
||
}
|
||
return default(bool);
|
||
}
|
||
|
||
private bool zgcAnaesRecord_MouseMoveEvent(ZedGraphControl sender, MouseEventArgs e)
|
||
{
|
||
if (templateManage != null)
|
||
{
|
||
templateManage.zedControl_MouseMoveEvent(sender, e);
|
||
}
|
||
return default(bool);
|
||
}
|
||
|
||
private void zgcAnaesRecord_MouseDoubleClick(object sender, MouseEventArgs e)
|
||
{
|
||
if (templateManage != null && isReadOnly == false)
|
||
{
|
||
ZedGraphControl send = sender as ZedGraphControl;
|
||
templateManage.zedControl_MouseDoubleClick(send, e);
|
||
}
|
||
}
|
||
//public ucStripMenuItem menuItem = new ucStripMenuItem();
|
||
private void zgcAnaesRecord_ContextMenuBuilder(ZedGraphControl sender, ContextMenuStrip menuStrip, Point mousePt, ZedGraphControl.ContextMenuObjectState objState)
|
||
{
|
||
|
||
//添加自定义的新菜单
|
||
ToolStripMenuItem ModifyApply = new ToolStripMenuItem();
|
||
ModifyApply.Text = "手术申请信息";
|
||
ModifyApply.Click += ModifyApply_Click;
|
||
menuStrip.Items.Add(ModifyApply);
|
||
|
||
}
|
||
|
||
private void ModifyApply_Click(object sender, EventArgs e)
|
||
{
|
||
if (PatientId == 0) return;
|
||
|
||
frmOperationApplyDetail frm = new frmOperationApplyDetail();
|
||
frm.State = AIMSExtension.EditState.EDIT;
|
||
frm.EditApplyId = ApplyId;
|
||
frm.tsbExit.Visible = true;
|
||
frm.tsbCancel.Visible = false;
|
||
frm.FormClosed += (s, er) =>
|
||
{
|
||
ReviewEvent();
|
||
};
|
||
//frm.FormBorderStyle = FormBorderStyle.None; // 无边框
|
||
//frm.TopLevel = false;
|
||
//frm.Dock = DockStyle.Fill;
|
||
//panel8.Controls.Add(frm);
|
||
frm.Show();
|
||
frm.Focus();
|
||
frm.BringToFront();
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 公共方法
|
||
private void ReviewEvent()
|
||
{
|
||
if (PatientId != 0)
|
||
{
|
||
templateManage.OpeRecord = BOperationRecord.getRecord(_record, PatientId, RecoverId);
|
||
templateManage.BindOperationRecordValueAll(templateManage.OpeRecord);
|
||
reDrawEvent();
|
||
templateManage.Bind();
|
||
|
||
if (_record.InstrumentList.ApplianceUseType != null && _record.InstrumentList.ApplianceUseType != "")
|
||
{
|
||
txtInstrumentNurse.Text = _record.InstrumentList.InstrumentNurse;
|
||
txtTourNurse.Text = _record.InstrumentList.TourNurse;
|
||
txtRemark.Text = _record.InstrumentList.Remark;
|
||
LoadOperationGoodsBillRecord();
|
||
}
|
||
else
|
||
{
|
||
FirstbtnEnter();
|
||
}
|
||
zgcAnaesRecord.Refresh();
|
||
}
|
||
}
|
||
|
||
private void GetPhysioDataConfig ()
|
||
{
|
||
if (_record.addPhysioList.Count == 0)
|
||
{
|
||
//加载生命体征图标
|
||
IList<PhysioDataConfig> dt = PhysioDataConfig.GetAllList();
|
||
for (int i = 0; i < dt.Count; i++)
|
||
{
|
||
PhysioDataConfig pp = dt[i];
|
||
string[] str = pp.Color.Split('.');
|
||
int A = int.Parse(str[0].ToString());
|
||
int R = int.Parse(str[1].ToString());
|
||
int G = int.Parse(str[2].ToString());
|
||
int B = int.Parse(str[3].ToString());
|
||
pp.ConveColor = System.Drawing.Color.FromArgb(A, R, G, B);
|
||
|
||
if (pp.IsDefalultShow == false || (pp.ShowImg == false && pp.ShowText == false))
|
||
{
|
||
pp.showStyle = "不显示";
|
||
pp.IsValid = false;
|
||
}
|
||
else
|
||
{
|
||
if (pp.ShowImg == true)
|
||
{
|
||
pp.showStyle = "显示曲线";
|
||
pp.IsValid = true;
|
||
}
|
||
if (pp.ShowText == true)
|
||
{
|
||
pp.showStyle = "显示数值";
|
||
pp.IsValid = true;
|
||
}
|
||
|
||
}
|
||
pp.showStyle = "显示曲线";
|
||
DateTime DateTimeNow = DateTime.Now;
|
||
bool isHave = false;
|
||
foreach (PhysioDataConfig appTemp in _record.addPhysioList)
|
||
{
|
||
if (appTemp.Name.Equals(pp.Name))
|
||
{
|
||
isHave = true;
|
||
}
|
||
}
|
||
if (!isHave)
|
||
{
|
||
_record.addPhysioList.Add(pp);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
private void DrawEvent()
|
||
{
|
||
reDrawEvent();
|
||
zgcAnaesRecord.Refresh();
|
||
}
|
||
|
||
private void reDrawEvent()
|
||
{
|
||
ClearTimeText();
|
||
if (_record.InRoomTime != null)
|
||
{
|
||
txtInRoom.CustomFormat = "MM-dd HH:mm";
|
||
txtInRoom.ButtonDropDown.Visible = false;
|
||
txtInRoom.Tag = _record.InRoomTime.Value;
|
||
txtInRoom.Value = _record.InRoomTime.Value;
|
||
this.picInRoom.BackgroundImage = global::AIMS.Properties.Resources.入手术室_select;
|
||
}
|
||
if (_record.OperationBeginTime != null)
|
||
{
|
||
txtOperationBegin.CustomFormat = "HH:mm";
|
||
txtOperationBegin.ButtonDropDown.Visible = false;
|
||
txtOperationBegin.Tag = _record.OperationBeginTime.Value;
|
||
txtOperationBegin.Value = _record.OperationBeginTime.Value;
|
||
this.picOpeBegin.BackgroundImage = global::AIMS.Properties.Resources.手术开始_select;
|
||
}
|
||
if (_record.OperationEndTime != null)
|
||
{
|
||
txtOperationEnd.CustomFormat = "HH:mm";
|
||
txtOperationEnd.ButtonDropDown.Visible = false;
|
||
txtOperationEnd.Tag = _record.OperationEndTime.Value;
|
||
txtOperationEnd.Value = _record.OperationEndTime.Value;
|
||
this.picOpeEnd.BackgroundImage = global::AIMS.Properties.Resources.手术结束_select;
|
||
}
|
||
if (_record.OutRoomTime != null)
|
||
{
|
||
txtOutRoom.CustomFormat = "MM-dd HH:mm";
|
||
txtOutRoom.ButtonDropDown.Visible = false;
|
||
txtOutRoom.Tag = _record.OutRoomTime.Value;
|
||
txtOutRoom.Value = _record.OutRoomTime.Value;
|
||
this.picOutRoom.BackgroundImage = global::AIMS.Properties.Resources.出手术室_select;
|
||
}
|
||
|
||
if (_record.OutRoomTime != null && _record.StateName == "手术中")
|
||
{
|
||
txtOutRoom.CustomFormat = "MM-dd HH:mm";
|
||
txtOutRoom.ButtonDropDown.Visible = false;
|
||
txtOutRoom.Tag = _record.OutRoomTime.Value;
|
||
txtOutRoom.Value = _record.OutRoomTime.Value;
|
||
EndOperationOutRoom();
|
||
}
|
||
}
|
||
public void ReferEventDrugs()
|
||
{
|
||
if (txtInRoom.Value != _record.InRoomTime)
|
||
{
|
||
_record.pageCount = 0;
|
||
ReviewEvent();
|
||
}
|
||
else
|
||
{
|
||
plRefresh_Click(null, null);
|
||
}
|
||
}
|
||
private void ClearTimeText()
|
||
{
|
||
txtInRoom.CustomFormat = " ";
|
||
txtOperationBegin.CustomFormat = " ";
|
||
txtOperationEnd.CustomFormat = " ";
|
||
txtOutRoom.CustomFormat = " ";
|
||
txtInRoom.Tag = null;
|
||
txtOperationBegin.Tag = null;
|
||
txtOperationEnd.Tag = null;
|
||
txtOutRoom.Tag = null;
|
||
txtInRoom.Text = "";
|
||
txtOperationBegin.Text = "";
|
||
txtOperationEnd.Text = "";
|
||
txtOutRoom.Text = "";
|
||
|
||
this.picInRoom.BackgroundImage = global::AIMS.Properties.Resources.入手术室;
|
||
this.picOpeBegin.BackgroundImage = global::AIMS.Properties.Resources.手术开始;
|
||
this.picOpeEnd.BackgroundImage = global::AIMS.Properties.Resources.手术结束;
|
||
this.picOutRoom.BackgroundImage = global::AIMS.Properties.Resources.出手术室;
|
||
}
|
||
|
||
private void EndOperationOutRoom()
|
||
{
|
||
if (_record == null || _record.StateName != "手术中") return;
|
||
try
|
||
{
|
||
//CloseOtherFrom();
|
||
//保存持续加药未结束药品
|
||
foreach (FactDrug temp in _record.FactDrugList)
|
||
{
|
||
if (temp.IsContinue == 1 && temp.DrugBeginTime == temp.DrugEndTime)
|
||
{
|
||
temp.DrugEndTime = _record.OutRoomTime.Value;
|
||
temp.OperatorNo = PublicMethod.OperatorNo;
|
||
temp.OperatorName = PublicMethod.OperatorName;
|
||
temp.OperateDate = DateTime.Now;
|
||
BFactDrug.Update(temp);
|
||
}
|
||
}
|
||
//保存持续事件未结束事件
|
||
foreach (FactEvents temp in _record.FactEventsList)
|
||
{
|
||
if (temp.IsContinue == 1 && temp.EventBeginTime == temp.EventEndTime)
|
||
{
|
||
temp.EventEndTime = _record.OutRoomTime;
|
||
temp.OperatorNo = PublicMethod.OperatorNo;
|
||
temp.OperatorName = PublicMethod.OperatorName;
|
||
temp.OperateDate = DateTime.Now;
|
||
BFactEvents.Update(temp);
|
||
}
|
||
}
|
||
_record.StateName = "手术结束";
|
||
BOperationApply.UpdateApplyState(ApplyId, 8);
|
||
BOperationRecord.UpdateState(PatientId, 1, 2);
|
||
|
||
//PublicMethod.WriteLog("结束转出手术: " + _record.Id);
|
||
//TipBox.Hidden(true);
|
||
State = AIMSExtension.EditState.BROWSE;
|
||
btnCancelOperation.Enabled = false;
|
||
btnCancelIn.Enabled = false;
|
||
btnSelectPatient.Enabled = true;
|
||
DisposeTimer();
|
||
//ReviewEvent();
|
||
}
|
||
catch (Exception exp)
|
||
{
|
||
PublicMethod.WriteLog(exp, "");
|
||
}
|
||
|
||
}
|
||
#endregion
|
||
|
||
#region 右侧按钮
|
||
private void btnyldj_Click(object sender, EventArgs e)
|
||
{
|
||
FormUseDrugsReport formUseDrugsReport = new FormUseDrugsReport(1);
|
||
if (_record != null) formUseDrugsReport._record = _record;
|
||
formUseDrugsReport.Show();
|
||
}
|
||
|
||
private void btnzsk_Click(object sender, EventArgs e)
|
||
{
|
||
frmKnowledgeBase frm = new frmKnowledgeBase();
|
||
frm.Show();
|
||
}
|
||
|
||
private void btndptz_Click(object sender, EventArgs e)
|
||
{
|
||
frmNoticeLargeScreen fnc = new frmNoticeLargeScreen();
|
||
if (_record != null)
|
||
{
|
||
fnc.lblName.Text = _record.Name;
|
||
fnc.textBox2.Focus();
|
||
fnc.groupBox1.Visible = false;
|
||
}
|
||
fnc.ShowDialog();
|
||
}
|
||
|
||
private void btnsbwh_Click(object sender, EventArgs e)
|
||
{
|
||
frmInstrumentRegistration frm = new frmInstrumentRegistration();
|
||
frm.Show();
|
||
}
|
||
|
||
private void btnsjzx_Click(object sender, EventArgs e)
|
||
{
|
||
if (PublicMethod.GetHospitalName().Contains("秦皇岛"))
|
||
{
|
||
try
|
||
{
|
||
string patientId = "orcl:LDQ:5:1:0:" + _record.HISPatientId + ":" + _record.VisitTimes + "";
|
||
Process myprocess = new Process();
|
||
ProcessStartInfo startInfo = new ProcessStartInfo(@"C:\APPSOFT\zlSoftCISInterface.exe", patientId);
|
||
PublicMethod.WriteLog(new Exception(@"C:\APPSOFT\zlSoftCISInterface.exe" + patientId));
|
||
myprocess.StartInfo = startInfo;
|
||
myprocess.StartInfo.UseShellExecute = false;
|
||
myprocess.Start();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
MessageBox.Show(@"在C:\APPSOFT\zlSoftCISInterface.exe路径下找不到“zlSoftCISInterface.exe”");
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 器械清点
|
||
|
||
#region 加载手术手术清点单记录信息
|
||
private void LoadOperationGoodsBillRecord()
|
||
{
|
||
if (_record.InstrumentList.ApplianceUseType != null && _record.InstrumentList.ApplianceUseType != "") _applianceUseType = BApplianceUseType.Select(" id in (" + _record.InstrumentList.ApplianceUseType + ")", null, RecursiveType.None, 0);
|
||
|
||
if (_applianceUseType == null || _applianceUseType.Count == 0)
|
||
{
|
||
_applianceUseType = new List<ApplianceUseType>();
|
||
_appliance = BAppliance.GetApplianiceByIds("");
|
||
}
|
||
else
|
||
{
|
||
DataTable newDataTable = null;
|
||
_appliance = BAppliance.GetApplianiceNumberByIds(_applianceUseType[0].TheApplianceId, _applianceUseType[0].ApplianceNumber);
|
||
newDataTable = _appliance.Clone();
|
||
foreach (ApplianceUseType item in _applianceUseType)
|
||
{
|
||
DataTable dt = BAppliance.GetApplianiceNumberByIds(item.TheApplianceId, item.ApplianceNumber);
|
||
object[] obj = new object[newDataTable.Columns.Count];
|
||
//添加DataTable1的数据
|
||
for (int i = 0; i < dt.Rows.Count; i++)
|
||
{
|
||
dt.Rows[i].ItemArray.CopyTo(obj, 0);
|
||
newDataTable.Rows.Add(obj);
|
||
}
|
||
}
|
||
_appliance = newDataTable;
|
||
}
|
||
if (_appliance != null)
|
||
FullUcControlsToPanel(panelQXList, _appliance);
|
||
|
||
}
|
||
#endregion
|
||
|
||
#region 选择器械包
|
||
private void btnEnter_Click(object sender, EventArgs e)
|
||
{
|
||
if (_applianceUseType == null)
|
||
_applianceUseType = new List<ApplianceUseType>();
|
||
frmSelectApplianceUseType ReturnApply = new frmSelectApplianceUseType();
|
||
ReturnApply._SelectApplianceUseType = _applianceUseType;
|
||
DialogResult ddr = ReturnApply.ShowDialog();
|
||
_appliance = ReturnApply._appliance;
|
||
if (ddr == System.Windows.Forms.DialogResult.OK && _appliance != null)
|
||
{
|
||
FullUcControlsToPanel(panelQXList, _appliance);
|
||
//if (_appliance.Rows.Count > 60)
|
||
// MessageBox.Show("超出打印数量!");
|
||
}
|
||
}
|
||
private void FirstbtnEnter()
|
||
{
|
||
if (_applianceUseType == null)
|
||
{
|
||
_applianceUseType = new List<ApplianceUseType>();
|
||
ApplianceUseType _nowApplianceUseType = BApplianceUseType.SelectSingle(1, RecursiveType.None, 0);
|
||
_applianceUseType.Add(_nowApplianceUseType);
|
||
DataTable newDataTable = null;
|
||
if (_applianceUseType.Count > 0) _appliance = BAppliance.GetApplianiceNumberByIds(_applianceUseType[0].TheApplianceId, _applianceUseType[0].ApplianceNumber);
|
||
newDataTable = _appliance.Clone();
|
||
foreach (ApplianceUseType item in _applianceUseType)
|
||
{
|
||
if (item.TheApplianceId != null && item.TheApplianceId != "")
|
||
{
|
||
DataTable dt = BAppliance.GetApplianiceNumberByIds(item.TheApplianceId, item.ApplianceNumber);
|
||
object[] obj = new object[newDataTable.Columns.Count];
|
||
//添加DataTable1的数据
|
||
for (int i = 0; i < dt.Rows.Count; i++)
|
||
{
|
||
dt.Rows[i].ItemArray.CopyTo(obj, 0);
|
||
newDataTable.Rows.Add(obj);
|
||
}
|
||
}
|
||
}
|
||
_appliance = newDataTable;
|
||
FullUcControlsToPanel(panelQXList, _appliance);
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 加载物品控件
|
||
int i = 0, j = 0;
|
||
int Incount = 0;
|
||
int IncRowsount = 25;
|
||
/// <summary>
|
||
/// 加载物品控件到指定的Panel
|
||
/// </summary>
|
||
/// <param name="panel">指定的Panel</param>
|
||
/// <param name="dt">物品数据表</param>
|
||
private void FullUcControlsToPanel(Panel panel, DataTable dt)
|
||
{
|
||
i = 0; j = 0; Incount = 0;
|
||
panel.Controls.Clear();
|
||
foreach (DataRow dr in dt.Rows)
|
||
{
|
||
if (Incount >= 51)
|
||
break;
|
||
ApplianceRecord applic = null;
|
||
if (_record.InstrumentList.ApplianceRecordList != null && _record.InstrumentList.ApplianceRecordList.Count > 0)
|
||
{
|
||
foreach (ApplianceRecord app in _record.InstrumentList.ApplianceRecordList)
|
||
{
|
||
if (app.ApplianceId != null && app.ApplianceId == Convert.ToInt32(dr["Id"]))
|
||
{
|
||
applic = app;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
//if (applic == null) continue;
|
||
UCOperationGoodsBill5 uc = new UCOperationGoodsBill5(applic);
|
||
uc.SelectTextBoxEvent += Uc_SelectTextBoxEvent;
|
||
uc.OperationRecordId = Convert.ToInt32(_record.Id);
|
||
uc.GoodsId = Convert.ToInt32(dr["Id"]);
|
||
uc.GoodsName = dr["Name"].ToString();
|
||
if (applic == null)
|
||
{
|
||
string ApplianceNumber = dr["ApplianceNumber"].ToString();
|
||
if (_applianceUseType != null && _applianceUseType.Count == 1 && _applianceUseType[0].Id == 1)
|
||
ApplianceNumber = "";
|
||
uc.GoodsNumber = ApplianceNumber;
|
||
}
|
||
uc.Location = new Point((uc.Width) * i, (uc.Height - 1) * j);
|
||
uc.TabIndex = Incount + 1;
|
||
panel.Controls.Add(uc);
|
||
Incount++;
|
||
j++;
|
||
if (j == IncRowsount)
|
||
{
|
||
j = 0;
|
||
i++;
|
||
}
|
||
}
|
||
if (_record.InstrumentList.ApplianceRecordList != null && _record.InstrumentList.ApplianceRecordList.Count > 0)
|
||
{
|
||
foreach (ApplianceRecord app in _record.InstrumentList.ApplianceRecordList)
|
||
{
|
||
if (Incount >= 51)
|
||
break;
|
||
ApplianceRecord applic = null;
|
||
if (app.ApplianceId == 0)
|
||
{
|
||
applic = app;
|
||
}
|
||
if (applic == null) continue;
|
||
UCOperationGoodsBill5 uc = new UCOperationGoodsBill5(applic);
|
||
uc.SelectTextBoxEvent += Uc_SelectTextBoxEvent;
|
||
uc.lblGoodsName.ReadOnly = false;
|
||
uc.OperationRecordId = Convert.ToInt32(_record.Id);
|
||
uc.GoodsName = app.ApplianceName;
|
||
uc.Location = new Point((uc.Width) * i, (uc.Height - 1) * j);
|
||
uc.TabIndex = Incount + 1;
|
||
panel.Controls.Add(uc);
|
||
Incount++;
|
||
j++;
|
||
if (j == IncRowsount)
|
||
{
|
||
j = 0;
|
||
i++;
|
||
}
|
||
}
|
||
}
|
||
this.panelQXList.Height = new UCOperationGoodsBill5().Height * IncRowsount;
|
||
}
|
||
|
||
private void button1_Click(object sender, EventArgs e)
|
||
{
|
||
ApplianceRecord app = new ApplianceRecord();
|
||
app.OperationRecordId = _record.Id.Value;
|
||
UCOperationGoodsBill5 uc = new UCOperationGoodsBill5(app);
|
||
uc.SelectTextBoxEvent += Uc_SelectTextBoxEvent;
|
||
uc.lblGoodsName.ReadOnly = false;
|
||
uc.GoodsNumber = "";
|
||
uc.Location = new Point((uc.Width) * i, (uc.Height - 1) * j);
|
||
count++;
|
||
if (_record.InstrumentList.ApplianceRecordList != null) _record.InstrumentList.ApplianceRecordList.Add(app);
|
||
panelQXList.Controls.Add(uc);
|
||
j++;
|
||
if (j == 25)
|
||
{
|
||
j = 0;
|
||
i++;
|
||
}
|
||
}
|
||
|
||
private void Uc_SelectTextBoxEvent(object uc, KeyEventArgs e)
|
||
{
|
||
if (e.KeyCode == Keys.Enter)
|
||
{
|
||
SendKeys.Send("{TAB}");
|
||
}
|
||
else if (e.KeyCode == Keys.Up)
|
||
{
|
||
if (((uc as TextBox).Parent).TabIndex == 1) return;
|
||
foreach (Control item in ((uc as TextBox).Parent).Parent.Controls)
|
||
{
|
||
if (item is UCOperationGoodsBill5 && item.TabIndex == ((uc as TextBox).Parent).TabIndex - 1)
|
||
{
|
||
foreach (Control citem in item.Controls)
|
||
{
|
||
if (citem.TabIndex == ((uc as TextBox).TabIndex))
|
||
{
|
||
citem.Focus();
|
||
break;
|
||
}
|
||
}
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
else if (e.KeyCode == Keys.Left)
|
||
{
|
||
//MessageBox.Show(((uc as TextBox).TabIndex - 1).ToString());
|
||
foreach (Control item in ((uc as TextBox).Parent).Controls)
|
||
{
|
||
if (item.TabIndex == ((uc as TextBox).TabIndex - 1))
|
||
{
|
||
item.Focus();
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
else if (e.KeyCode == Keys.Right)
|
||
{
|
||
SendKeys.Send("{TAB}");
|
||
}
|
||
else if (e.KeyCode == Keys.Down)
|
||
{
|
||
if (((uc as TextBox).Parent).TabIndex == 50) return;
|
||
foreach (Control item in ((uc as TextBox).Parent).Parent.Controls)
|
||
{
|
||
if (item is UCOperationGoodsBill5 && item.TabIndex == ((uc as TextBox).Parent).TabIndex + 1)
|
||
{
|
||
foreach (Control citem in item.Controls)
|
||
{
|
||
if (citem.TabIndex == ((uc as TextBox).TabIndex))
|
||
{
|
||
citem.Focus();
|
||
break;
|
||
}
|
||
}
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 自定义方法
|
||
private void PanelSave_Click(object sender, EventArgs e)
|
||
{
|
||
try
|
||
{
|
||
btnSelectPatient.Focus();
|
||
_record.InstrumentList.OperationRecordId = this._record.Id;
|
||
if (_applianceUseType != null)
|
||
{
|
||
List<int> list = new List<int>();
|
||
foreach (ApplianceUseType item in _applianceUseType)
|
||
{
|
||
list.Add(item.Id.Value);
|
||
}
|
||
_record.InstrumentList.ApplianceUseType = string.Join(",", list.ToArray());
|
||
}
|
||
_record.InstrumentList.TagPicture = "";// Convert.ToBase64String(PublicToDoument.ImageToBytes(pictureBox1.Image));
|
||
_record.InstrumentList.JsonTextData = "";// PublicToDoument.SerializeControl(panel18, _record, new List<string> ());
|
||
_record.InstrumentList.InstrumentNurse = txtInstrumentNurse.Text;
|
||
_record.InstrumentList.TourNurse = txtTourNurse.Text;
|
||
_record.InstrumentList.Remark = txtRemark.Text;
|
||
_record.InstrumentList.OperatorNo = PublicMethod.OperatorNo;
|
||
_record.InstrumentList.OperatorName = PublicMethod.OperatorName;
|
||
_record.InstrumentList.OperateDate = DateTime.Now;
|
||
if (_record.InstrumentList.Id == null || _record.InstrumentList.Id == 0)
|
||
{
|
||
_record.InstrumentList.Id = BOperationRecordInstrumentList.Insert(_record.InstrumentList);
|
||
}
|
||
else
|
||
{
|
||
BOperationRecordInstrumentList.Update(_record.InstrumentList);
|
||
}
|
||
_record.InstrumentList.ApplianceRecordList = GetApplianceRecord();
|
||
BApplianceRecord.InsertListData(_record.InstrumentList.ApplianceRecordList);
|
||
|
||
if (templateManage != null)
|
||
{
|
||
ZedGraphControl send = sender as ZedGraphControl;
|
||
templateManage.BindTempData();
|
||
}
|
||
MessageBox.Show("保存成功!", "系统提示");
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
PublicMethod.WriteLog(ex);
|
||
}
|
||
}
|
||
|
||
private void superTabMain_SelectedTabChanged(object sender, DevComponents.DotNetBar.SuperTabStripSelectedTabChangedEventArgs e)
|
||
{
|
||
|
||
}
|
||
|
||
/// <summary>
|
||
/// 得到当前使用的器械对象集合
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
private List<ApplianceRecord> GetApplianceRecord()
|
||
{
|
||
List<ApplianceRecord> applianceRecordList = new List<ApplianceRecord>();
|
||
foreach (Control ctl in panelQXList.Controls)
|
||
{
|
||
ApplianceRecord applianceRecord = new ApplianceRecord();
|
||
if (ctl is UCOperationGoodsBill5)
|
||
{
|
||
UCOperationGoodsBill5 UCOperationGoodsBill5 = ctl as UCOperationGoodsBill5;
|
||
if (UCOperationGoodsBill5.Id != null)
|
||
{
|
||
applianceRecord.Id = UCOperationGoodsBill5.Id;
|
||
}
|
||
applianceRecord.OperationRecordId = this._record.Id;
|
||
applianceRecord.ApplianceId = UCOperationGoodsBill5.GoodsId;
|
||
applianceRecord.ApplianceName = UCOperationGoodsBill5.GoodsName;
|
||
if (_record.InstrumentList != null)
|
||
{
|
||
applianceRecord.OperationGoodsBillRecord = _record.InstrumentList.Id;
|
||
}
|
||
if (UCOperationGoodsBill5.txtFront.Text != "")
|
||
applianceRecord.OpeFront = UCOperationGoodsBill5.OpeFront;
|
||
else applianceRecord.OpeFront = null;
|
||
if (UCOperationGoodsBill5.txtDoing.Text != "")
|
||
applianceRecord.OpeDoing = UCOperationGoodsBill5.OpeDoing;
|
||
else applianceRecord.OpeDoing = null;
|
||
if (UCOperationGoodsBill5.txtCloseFront.Text != "")
|
||
applianceRecord.CloseFront = UCOperationGoodsBill5.CloseFront;
|
||
else applianceRecord.CloseFront = null;
|
||
if (UCOperationGoodsBill5.txtCloseLast.Text != "")
|
||
applianceRecord.CloseLast = UCOperationGoodsBill5.CloseLast;
|
||
else applianceRecord.CloseLast = null;
|
||
if (UCOperationGoodsBill5.txtSkinCloseLast.Text != "")
|
||
applianceRecord.SkinCloseLast = UCOperationGoodsBill5.SkinCloseLast;
|
||
else applianceRecord.SkinCloseLast = null;
|
||
applianceRecordList.Add(applianceRecord);
|
||
}
|
||
}
|
||
return applianceRecordList;
|
||
}
|
||
#endregion
|
||
|
||
#endregion
|
||
|
||
#region 打印方法
|
||
public List<MasterPane> mPanes = new List<MasterPane>();
|
||
public List<MasterPane> UpPanes = new List<MasterPane>();
|
||
int m_startPrintPage;// 打印的起始页码
|
||
int m_endPrintPage;//打印的终止页码
|
||
int m_PageIndex;// 当前打印页码
|
||
int count = 0;
|
||
private void pDoc_PrintPage(object sender, PrintPageEventArgs e)
|
||
{
|
||
System.Drawing.Printing.PrintDocument pDoc = sender as System.Drawing.Printing.PrintDocument;
|
||
m_startPrintPage = pDoc.PrinterSettings.FromPage;
|
||
m_endPrintPage = pDoc.PrinterSettings.ToPage;
|
||
//if (pdg!=null)
|
||
//{
|
||
//m_startPrintPage = pdg.pa
|
||
//m_endPrintPage = pDoc.PrinterSettings.ToPage;
|
||
//}
|
||
if (m_startPrintPage == 0 && m_endPrintPage == 0)
|
||
{
|
||
int printCount = mPanes.Count;
|
||
if (mPanes.Count > 0 && count < printCount)
|
||
{
|
||
mPanes[count].Draw(e.Graphics);
|
||
count++;
|
||
if (count < printCount)
|
||
{
|
||
e.HasMorePages = true;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
e.HasMorePages = false;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
try
|
||
{
|
||
//如果当前打印页小于打印起始页码,就递增一页,直至等于打印起始页码
|
||
if (m_startPrintPage > 0)
|
||
{
|
||
while (m_PageIndex < m_startPrintPage)
|
||
{
|
||
m_PageIndex++;
|
||
}
|
||
}
|
||
|
||
mPanes[m_PageIndex - 1].Draw(e.Graphics);
|
||
//当前打印页加1
|
||
m_PageIndex++;
|
||
|
||
if (m_PageIndex <= m_endPrintPage)
|
||
{
|
||
e.HasMorePages = true;
|
||
}
|
||
|
||
//如果设置了打印页码范围并且当前打印页大于打印终止页码,终止打印,设置e.HasMorePages参数,初始化相关变量
|
||
if ((m_startPrintPage > 0) && (m_PageIndex > m_endPrintPage))
|
||
{
|
||
e.HasMorePages = false;
|
||
m_PageIndex = 1;
|
||
return;
|
||
}
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
//出错处理,终止打印,设置e.HasMorePages参数,初始化相关变量
|
||
e.HasMorePages = false;
|
||
m_PageIndex = 1;
|
||
}
|
||
}
|
||
}
|
||
|
||
private void plPrintBrowse_Click(object sender, EventArgs e)
|
||
{
|
||
if (_record == null || _record.Id == 0) return;
|
||
if (txtOutRoom.Focused)
|
||
{
|
||
zgcAnaesRecord.Focus();
|
||
}
|
||
if (templateManage != null)
|
||
{
|
||
_record.InstrumentList.ApplianceRecordList = GetApplianceRecord();
|
||
_record.InstrumentList.InstrumentNurse = txtInstrumentNurse.Text;
|
||
_record.InstrumentList.TourNurse = txtTourNurse.Text;
|
||
_record.InstrumentList.Remark = txtRemark.Text;
|
||
}
|
||
mPanes = new List<MasterPane>();
|
||
UpPanes = new List<MasterPane>();
|
||
PrintDocPage(null, null);
|
||
count = 0;
|
||
System.Drawing.Printing.PrintDocument pDoc = new System.Drawing.Printing.PrintDocument();
|
||
pDoc.DefaultPageSettings.Landscape = false;
|
||
if (templateManage.Typesetting == TypesettingEnum.Horizontal)
|
||
{
|
||
pDoc.DefaultPageSettings.Landscape = true;
|
||
}
|
||
pDoc.OriginAtMargins = true;
|
||
pDoc.DefaultPageSettings.PrinterResolution.Kind = PrinterResolutionKind.High;
|
||
pDoc.DefaultPageSettings.Margins = new System.Drawing.Printing.Margins(0, 0, 0, 0);
|
||
pDoc.PrintPage -= new PrintPageEventHandler(pDoc_PrintPage);
|
||
pDoc.PrintPage += new PrintPageEventHandler(pDoc_PrintPage);
|
||
|
||
PrintPreviewDialog pdg = new PrintPreviewDialog();
|
||
foreach (Control ctl in pdg.Controls)
|
||
{
|
||
if (ctl is ToolStrip)
|
||
{
|
||
ToolStrip toolbar = ctl as ToolStrip;
|
||
toolbar.Items.RemoveAt(0);
|
||
ToolStrip tb = ctl as ToolStrip;
|
||
//tb.ImageList.Images.Add(Properties.Resources.);
|
||
ToolStripButton settingBtn = new ToolStripButton();
|
||
settingBtn.ToolTipText = "打印";
|
||
settingBtn.Text = "打印";
|
||
//settingBtn.ImageIndex = tb.ImageList.Images.Count - 1;
|
||
settingBtn.Click += PageSetting_Click;
|
||
tb.Items.Insert(0, settingBtn);
|
||
}
|
||
}
|
||
pdg.Width = zgcAnaesRecord.Width + 50;
|
||
pdg.ClientSize = new System.Drawing.Size(zgcAnaesRecord.Width, zgcAnaesRecord.Height);
|
||
Form f = (Form)pdg;
|
||
f.WindowState = FormWindowState.Maximized;
|
||
pdg.Document = pDoc;
|
||
pdg.ShowDialog();
|
||
pdg.Focus();
|
||
pdg.BringToFront();
|
||
|
||
}
|
||
private void PageSetting_Click(object sender, EventArgs e)
|
||
{
|
||
plPrint_Click(null, null);
|
||
}
|
||
|
||
private void PrintDocPage(object sender, PrintPageEventArgs e)
|
||
{
|
||
PrintDocPane(e, zgcAnaesRecord, templateManage);
|
||
|
||
}
|
||
|
||
private void PrintDocPane(PrintPageEventArgs e, ZedGraphControl zedGraph, TemplateManage template)
|
||
{
|
||
foreach (AreaManageBase area in template.ManageList)
|
||
{
|
||
area.setPrint(false);
|
||
area.BindTempData();
|
||
}
|
||
int zedGraphMainWidth = zedGraph.Size.Width;
|
||
int zedGraphMainHeight = zedGraph.Size.Height;
|
||
|
||
if (templateManage.Typesetting == TypesettingEnum.Horizontal)
|
||
{
|
||
int width = 1168;
|
||
int height = Convert.ToInt32(width / 1.414) - 2;
|
||
zedGraph.Size = new Size(width, height);
|
||
zedGraph.Width = width;
|
||
zedGraph.Height = height;
|
||
}
|
||
else
|
||
{
|
||
int width = 825;
|
||
int height = Convert.ToInt32(width * 1.414) + 2;
|
||
zedGraph.Size = new Size(width, height);
|
||
zedGraph.Width = width;
|
||
zedGraph.Height = height;
|
||
}
|
||
|
||
MasterPane mPane = zedGraph.MasterPane; //this.MasterPane;
|
||
mPane.Border.IsVisible = false;
|
||
GraphPane cPane = mPane.PaneList[0]; //graphPane;
|
||
|
||
//当前窗体中的矩形区域大小
|
||
RectangleF saveRect = mPane.Rect;
|
||
mPanes.Add(mPane.Clone());
|
||
if (e != null)
|
||
mPane.Draw(e.Graphics); //在打印文档中画出MasterPane内容
|
||
using (Graphics g = zedGraph.CreateGraphics())
|
||
{
|
||
mPane.ReSize(g, saveRect);
|
||
}
|
||
|
||
zedGraph.Size = new Size(zedGraphMainWidth, zedGraphMainHeight);
|
||
template.initChart();
|
||
UpPanes.Add(mPane.Clone());
|
||
|
||
Panel panel = zedGraph.Parent as Panel;
|
||
panel.VerticalScroll.Value = 0;
|
||
templateManage.SetPYL(true);
|
||
foreach (AreaManageBase area in template.ManageList)
|
||
{
|
||
area.setPrint(true);
|
||
}
|
||
}
|
||
|
||
private void txtTourNurse_Click(object sender, EventArgs e)
|
||
{
|
||
setDoctor(sender as TextBox, "手术室护士");
|
||
_record.InstrumentList.TourNurse = txtTourNurse.Text;
|
||
}
|
||
private void txtInstrumentNurse_Click(object sender, EventArgs e)
|
||
{
|
||
setDoctor(sender as TextBox, "手术室护士");
|
||
_record.InstrumentList.InstrumentNurse = txtInstrumentNurse.Text;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 根据工作类型 选择医生术者赋值TextBox
|
||
/// </summary>
|
||
/// <param name="controlTextBox">医生术者TextBox</param>
|
||
/// <param name="workersType">工作类型</param>
|
||
public void setDoctor(TextBox controlTextBox, string workersType)
|
||
{
|
||
PublicUI.UI.frmSelectPerson frmOperationDoctor = new PublicUI.UI.frmSelectPerson();
|
||
frmOperationDoctor.PersonType = workersType;
|
||
frmOperationDoctor.SelectDepartmentName = "手术室";
|
||
frmOperationDoctor.SelectPersonData = new List<int>();
|
||
frmOperationDoctor.ShowDialog();
|
||
|
||
foreach (int RowId in frmOperationDoctor.SelectPersonData)
|
||
{
|
||
controlTextBox.Text = BPerson.GetModel(RowId).Name;
|
||
}
|
||
//if (controlTextBox.Text != "")
|
||
//{
|
||
// int idxStart = controlTextBox.Text.LastIndexOf(" ,");
|
||
// controlTextBox.Text = controlTextBox.Text.Substring(0, idxStart);
|
||
//}
|
||
}
|
||
|
||
private void button9_Click(object sender, EventArgs e)
|
||
{
|
||
TextBoxAddEventSources(panelQX, @"\");
|
||
}
|
||
|
||
private void TextBoxAddEventSources(Control _panel, string TextValue)
|
||
{
|
||
foreach (Control clTemp in _panel.Controls)
|
||
{
|
||
if (clTemp.Controls.Count > 0)
|
||
{
|
||
TextBoxAddEventSources(clTemp, TextValue);
|
||
}
|
||
else
|
||
{
|
||
if (clTemp is TextBox)
|
||
{
|
||
TextBox cbT = (clTemp as TextBox);
|
||
if (cbT != null && cbT.Text.Trim() == "")
|
||
{
|
||
cbT.Text = TextValue;
|
||
}
|
||
}
|
||
if (clTemp is UText)
|
||
{
|
||
UText cbT = (clTemp as UText);
|
||
if (cbT != null && cbT.Text.Trim() == "")
|
||
{
|
||
cbT.Text = TextValue;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
private void frmAnasRecordInstrument_VisibleChanged(object sender, EventArgs e)
|
||
{
|
||
if (this.Visible == false)
|
||
{
|
||
if (_record != null && _record.StateName == "手术中" && State != AIMSExtension.EditState.BROWSE)
|
||
{
|
||
DisposeTimer();
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (_record != null && _record.StateName == "手术中" && State != AIMSExtension.EditState.BROWSE)
|
||
{
|
||
StartTimer();
|
||
}
|
||
}
|
||
}
|
||
|
||
private void plPrint_Click(object sender, EventArgs e)
|
||
{
|
||
if (_record == null || _record.Id == 0) return;
|
||
if (txtOutRoom.Focused)
|
||
{
|
||
zgcAnaesRecord.Focus();
|
||
}
|
||
|
||
if (templateManage != null)
|
||
{
|
||
_record.InstrumentList.ApplianceRecordList = GetApplianceRecord();
|
||
_record.InstrumentList.InstrumentNurse = txtInstrumentNurse.Text;
|
||
_record.InstrumentList.TourNurse = txtTourNurse.Text;
|
||
_record.InstrumentList.Remark = txtRemark.Text;
|
||
}
|
||
try
|
||
{
|
||
mPanes = new List<MasterPane>();
|
||
UpPanes = new List<MasterPane>();
|
||
PrintDocPage(null, null);
|
||
count = 0;
|
||
m_PageIndex = 0;
|
||
System.Drawing.Printing.PrintDocument pDoc = new System.Drawing.Printing.PrintDocument();
|
||
pDoc.DefaultPageSettings.Landscape = false;
|
||
if (templateManage.Typesetting == TypesettingEnum.Horizontal)
|
||
{
|
||
pDoc.DefaultPageSettings.Landscape = true;
|
||
}
|
||
pDoc.OriginAtMargins = true;
|
||
pDoc.DefaultPageSettings.PrinterResolution.Kind = PrinterResolutionKind.High;
|
||
pDoc.DefaultPageSettings.Margins = new System.Drawing.Printing.Margins(0, 0, 0, 0);
|
||
pDoc.PrintPage -= new PrintPageEventHandler(pDoc_PrintPage);
|
||
pDoc.PrintPage += new PrintPageEventHandler(pDoc_PrintPage);
|
||
|
||
System.Windows.Forms.PrintDialog pDlg = new System.Windows.Forms.PrintDialog();
|
||
pDlg.Document = pDoc;
|
||
pDlg.AllowSomePages = true;
|
||
if (pDlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
||
{
|
||
pDoc.Print();
|
||
}
|
||
}
|
||
catch (Exception exp)
|
||
{
|
||
PublicMethod.WriteLog(exp, "");
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
}
|
||
}
|