AIMS/AIMSControls/OperationAanesthesia/frmInstrumentRecord.cs
2023-08-16 22:32:16 +08:00

2351 lines
101 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using AIMS.DocManager;
using AIMS.OperationFront.UI;
using AIMS.OremrUserControl;
using AIMS.PublicUI.UI;
using AIMSBLL;
using AIMSExtension;
using AIMSModel;
using DevComponents.Editors.DateTimeAdv;
using DocumentManagement;
using DrawGraph;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Printing;
using System.Linq;
using System.Windows.Forms;
namespace AIMS.OperationAanesthesia
{
public partial class frmInstrumentRecord : Form
{
#region
public OperationRecord _record;
public TemplateManage templateManage;
public AIMSModel.OperationRoom NowRoom;
private DataTable _appliance;
private DataTable _appliance2;
private List<ApplianceUseType> _applianceUseType;
private List<ApplianceUseType> _applianceUseType2;
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 frmInstrumentRecord()
{
InitializeComponent();
#region
this.picInRoom.BackgroundImage = global::AIMSControls.Properties.Resources.;
this.picOpeBegin.BackgroundImage = global::AIMSControls.Properties.Resources.;
this.picOpeEnd.BackgroundImage = global::AIMSControls.Properties.Resources.;
this.picOutRoom.BackgroundImage = global::AIMSControls.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);
circularProgress2.Location = new Point((panel9.Width - circularProgress2.Width) / 2, (panel9.Height - circularProgress2.Height) / 2);
//this.MaximizeBox = false;
this.MinimizeBox = false;
if (PublicMethod.OperatorNo == "admin" || PublicMethod.RoleName.Contains("护士收费记录"))
{
btnChage.Visible = true;
}
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)
{
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);
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);
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)
{
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::AIMSControls.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::AIMSControls.Properties.Resources.;
BOperationRecord.Update(" OperationEndTime=null where Id=@id ", new AIMSModel.ParameterList("@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 (GetOpeState(ref messing) == false)
{
if (messing != "") MessageBox.Show(messing, "系统提示");
if (messing == "请与手术信息选择手术分级!" || messing == "请与手术信息选择手术切口!")
btnOperationInfo_Click(null, null);
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::AIMSControls.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::AIMSControls.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::AIMSControls.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::AIMSControls.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)
{
OperationAanesthesia.frmSelectPatientGoodsBill frmSelectPatient = new frmSelectPatientGoodsBill();
frmSelectPatient.isMainOpen = true;
frmSelectPatient.tempfrmAnasRecord = this;
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;
circularProgress2.IsRunning = true;
circularProgress2.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));
panelQX2.Visible = true;
panelQX2.Size = zgcAnaesRecord.Size;
panelQX2.Location = new Point(pan.Location.X, 40);
}
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);
}
circularProgress1.IsRunning = false;
circularProgress1.Visible = false;
circularProgress2.IsRunning = false;
circularProgress2.Visible = false;
zgcAnaesRecord.Visible = true;
}
private void btnOperationInfo_Click(object sender, EventArgs e)
{
if (PatientId != 0)
{
AIMS.OperationAanesthesia.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)
{
frmAanesthesiaQuality frmAnaseDataQuality = new frmAanesthesiaQuality();
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 (superTabMain.SelectedTab.Name == "spTabQXQDD")
{
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, _record.InstrumentList, ref i1, ref j1);
//if (_appliance.Rows.Count > 60)
// MessageBox.Show("超出打印数量!");
}
}
else
{
if (_applianceUseType2 == null)
_applianceUseType2 = new List<ApplianceUseType>();
frmSelectApplianceUseType ReturnApply = new frmSelectApplianceUseType();
ReturnApply._SelectApplianceUseType = _applianceUseType2;
DialogResult ddr = ReturnApply.ShowDialog();
_appliance2 = ReturnApply._appliance;
if (ddr == System.Windows.Forms.DialogResult.OK && _appliance2 != null)
{
FullUcControlsToPanel(panelQXList2, _appliance2, _record.InstrumentList2, ref i2, ref j2);
//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 (((TimeSpan)(DateTime.Now - _record.lastPageBegin)).TotalHours > 24 || NowRoom == null) return;
if (_record != null && _record.OutRoomTime != null && DateTime.Now > _record.OutRoomTime) return;
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(-3000) + "'");
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);
if (nowPhysioData.HR != null && nowPhysioData.HR.ToString() != string.Empty && nowPhysioData.HR.ToString() != "NaN" && nowPhysioData.HR.ToString() != "NULL")
{
double value = Double.Parse(nowPhysioData.HR.ToString());
lblHR.Text = value <= 0 ? "- -" : value.ToString();
}
if (nowPhysioData.Resp != null && nowPhysioData.Resp.ToString() != string.Empty && nowPhysioData.Resp.ToString() != "NaN" && nowPhysioData.Resp.ToString() != "NULL")
{
double value = Double.Parse(nowPhysioData.Resp.ToString());
lblRESP.Text = value <= 0 ? "- -" : value.ToString();
}
if (nowPhysioData.SPO2 != null && nowPhysioData.SPO2.ToString() != string.Empty && nowPhysioData.SPO2.ToString() != "NaN" && nowPhysioData.SPO2.ToString() != "NULL")
{
double value = Double.Parse(nowPhysioData.SPO2.ToString());
lblSpo2.Text = value <= 0 ? "- -" : value.ToString();
}
if (nowPhysioData.PR != null && nowPhysioData.PR.ToString() != string.Empty && nowPhysioData.PR.ToString() != "NaN" && nowPhysioData.PR.ToString() != "NULL")
{
double value = Double.Parse(nowPhysioData.PR.ToString());
lblPR.Text = value <= 0 ? "- -" : value.ToString();
}
if (nowPhysioData.Dia != null && nowPhysioData.Dia.ToString() != string.Empty && nowPhysioData.Dia.ToString() != "NaN" && nowPhysioData.Dia.ToString() != "NULL")
{
double value = Double.Parse(nowPhysioData.Dia.ToString());
szy = value <= 0 ? "" : value.ToString();
}
if (nowPhysioData.Sys != null && nowPhysioData.Sys.ToString() != string.Empty && nowPhysioData.Sys.ToString() != "NaN" && nowPhysioData.Sys.ToString() != "NULL")
{
double value = Double.Parse(nowPhysioData.Sys.ToString());
ssy = value <= 0 ? "" : value.ToString();
}
if (nowPhysioData.Dia_H != null && nowPhysioData.Dia_H.ToString() != string.Empty && nowPhysioData.Dia_H.ToString() != "NaN" && nowPhysioData.Dia_H.ToString() != "NULL")
{
double value = Double.Parse(nowPhysioData.Dia_H.ToString());
szy = value <= 0 ? "" : value.ToString();
}
if (nowPhysioData.Sys_H != null && nowPhysioData.Sys_H.ToString() != string.Empty && nowPhysioData.Sys_H.ToString() != "NaN" && nowPhysioData.Sys_H.ToString() != "NULL")
{
double value = Double.Parse(nowPhysioData.Sys_H.ToString());
ssy = value <= 0 ? "" : value.ToString();
}
string szyssy = ssy + "/" + szy;
if (szyssy != "/")
lblDia.Text = szyssy;
}
else
{
lblHR.Text = "--";
lblRESP.Text = "--";
lblSpo2.Text = "--";
lblPR.Text = "--";
lblDia.Text = "---/---";
lblHR.ForeColor = Color.Green;
lblRESP.ForeColor = Color.DarkOrange;
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);
}
}
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()
{
try
{
if (PatientId != 0)
{
templateManage.OpeRecord = BOperationRecord.getRecord(_record, PatientId, RecoverId);
templateManage.BindOperationRecordValueAll(templateManage.OpeRecord);
reDrawEvent();
templateManage.Bind();
if (_record.InstrumentList != null && _record.InstrumentList.Id != null && _record.InstrumentList.ApplianceUseType != null)
{
txtInstrumentNurse.Text = _record.InstrumentList.InstrumentNurse;
txtTourNurse.Text = _record.InstrumentList.TourNurse;
txtRemark.Text = _record.InstrumentList.Remark;
LoadOperationGoodsBillRecord();
}
else
{
FirstbtnEnter();
}
if (_record.InstrumentList2 != null && _record.InstrumentList2.Id != null && _record.InstrumentList.ApplianceUseType != null)
{
txtInstrumentNurse2.Text = _record.InstrumentList2.InstrumentNurse;
txtTourNurse2.Text = _record.InstrumentList2.TourNurse;
txtRemark2.Text = _record.InstrumentList2.Remark;
LoadOperationGoodsBillRecord2();
}
else
{
FirstbtnEnter2();
}
SelectOperationDoctorData = BFactPersonDuty.GetPersonIdList(_record.PatientId.Value, 1);
if (SelectOperationDoctorData.Count > 0)
{
txtOperationDoctor.Text = "";
foreach (int RowId in SelectOperationDoctorData)
{
txtOperationDoctor.Text += BPerson.SelectSingle(RowId).Name + ",";
}
txtOperationDoctor.Text = txtOperationDoctor.Text.Substring(0, txtOperationDoctor.Text.LastIndexOf(","));
}
SelectInstrumentNurseData = BFactPersonDuty.GetPersonIdList(_record.PatientId.Value, 6);
if (SelectInstrumentNurseData.Count > 0)
{
txtInstrumentNurse.Text = "";
foreach (int RowId in SelectInstrumentNurseData)
{
txtInstrumentNurse.Text += BPerson.SelectSingle(RowId).Name + ",";
}
txtInstrumentNurse.Text = txtInstrumentNurse.Text.Substring(0, txtInstrumentNurse.Text.LastIndexOf(","));
}
SelectTourNurseData = BFactPersonDuty.GetPersonIdList(_record.PatientId.Value, 7);
if (SelectTourNurseData.Count > 0)
{
txtTourNurse.Text = "";
foreach (int RowId in SelectTourNurseData)
{
txtTourNurse.Text += BPerson.SelectSingle(RowId).Name + ",";
}
txtTourNurse.Text = txtTourNurse.Text.Substring(0, txtTourNurse.Text.LastIndexOf(","));
}
}
}
catch (Exception ex)
{
PublicMethod.WriteLog(ex);
}
}
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::AIMSControls.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::AIMSControls.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::AIMSControls.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::AIMSControls.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::AIMSControls.Properties.Resources.;
this.picOpeBegin.BackgroundImage = global::AIMSControls.Properties.Resources.;
this.picOpeEnd.BackgroundImage = global::AIMSControls.Properties.Resources.;
this.picOutRoom.BackgroundImage = global::AIMSControls.Properties.Resources.;
}
/// <summary>
/// 出室方法
/// </summary>
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, "");
}
}
/// <summary>
/// 出室状态
/// </summary>
/// <param name="message"></param>
/// <returns></returns>
private bool GetOpeState(ref string message)
{
bool isTrue = true;
if (_record.OpeRecordInfo.OperationLevel == null || _record.OpeRecordInfo.OperationLevel.ToString().Trim() == "")
{
message = "请与手术信息选择手术分级!";
isTrue = false;
}
if (PublicMethod.RoleName.Contains("术中填写手术等级切口等级"))
{
if (_record.OpeRecordInfo.OperationCut == null || _record.OpeRecordInfo.OperationCut.ToString().Trim() == "")
{
message = "请与手术信息选择手术切口!";
isTrue = false;
}
if (_record.OperationDoctor == null || _record.OperationDoctor.Trim() == "")
{
message = "请添加手术医师!";
isTrue = false;
}
}
return isTrue;
}
public void ClearRecordDate()
{
_applianceUseType = null;
_applianceUseType2 = null;
panel8.VerticalScroll.Value = 0;
//清空记录点并重新加载
ClearTimeText();
//关闭采集的服务
DisposeTimer();
lblHR.Text = "--";
lblRESP.Text = "--";
lblSpo2.Text = "--";
lblPR.Text = "--";
lblDia.Text = "---/---";
lblHR.ForeColor = Color.Green;
lblRESP.ForeColor = Color.DarkOrange;
lblSpo2.ForeColor = Color.Cyan;
lblPR.ForeColor = Color.Green;
lblDia.ForeColor = Color.Red;
if (templateManage != null)
{
templateManage.ControlClear();
}
txtRemark.Text = "";
txtInstrumentNurse.Text = "";
txtTourNurse.Text = "";
txtOperationDoctor.Text = "";
panelQXList.Controls.Clear();
_record = null;
}
#endregion
#region
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 (_record != null)
{
EMRExtension.OpenEMRS(_record.PatientId.Value, _record.OperationApplyId.Value);
}
}
#endregion
#region
#region
private void LoadOperationGoodsBillRecord()
{
if (_record.InstrumentList != null && _record.InstrumentList.Id != null)
{
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, _record.InstrumentList, ref i1, ref j1);
}
}
private void LoadOperationGoodsBillRecord2()
{
if (_record.InstrumentList2 != null && _record.InstrumentList2.Id != null)
{
if (_record.InstrumentList2.ApplianceUseType != null && _record.InstrumentList2.ApplianceUseType != "") _applianceUseType2 = BApplianceUseType.Select(" id in (" + _record.InstrumentList2.ApplianceUseType + ")", null, RecursiveType.None, 0);
if (_applianceUseType2 == null || _applianceUseType2.Count == 0)
{
_applianceUseType2 = new List<ApplianceUseType>();
_appliance2 = BAppliance.GetApplianiceByIds("");
}
else
{
DataTable newDataTable = null;
_appliance2 = BAppliance.GetApplianiceNumberByIds(_applianceUseType2[0].TheApplianceId, _applianceUseType2[0].ApplianceNumber);
newDataTable = _appliance2.Clone();
foreach (ApplianceUseType item in _applianceUseType2)
{
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);
}
}
_appliance2 = newDataTable;
}
if (_appliance2 != null)
FullUcControlsToPanel(panelQXList2, _appliance2, _record.InstrumentList2, ref i2, ref j2);
}
}
#endregion
#region
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, _record.InstrumentList, ref i1, ref j1);
}
}
private void FirstbtnEnter2()
{
if (_applianceUseType2 == null)
{
_applianceUseType2 = new List<ApplianceUseType>();
ApplianceUseType _nowApplianceUseType = BApplianceUseType.SelectSingle(1, RecursiveType.None, 0);
_applianceUseType2.Add(_nowApplianceUseType);
DataTable newDataTable = null;
if (_applianceUseType2.Count > 0) _appliance2 = BAppliance.GetApplianiceNumberByIds(_applianceUseType2[0].TheApplianceId, _applianceUseType2[0].ApplianceNumber);
newDataTable = _appliance2.Clone();
foreach (ApplianceUseType item in _applianceUseType2)
{
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);
}
}
}
_appliance2 = newDataTable;
FullUcControlsToPanel(panelQXList2, _appliance2, _record.InstrumentList2, ref i2, ref j2);
}
}
#endregion
#region
int i1 = 0, j1 = 0;
int i2 = 0, j2 = 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, OperationRecordInstrumentList Instrument, ref int i, ref int j)
{
i = 0; j = 0; Incount = 0;
panel.Controls.Clear();
foreach (DataRow dr in dt.Rows)
{
if (Incount >= 51)
break;
ApplianceRecord applic = null;
if (Instrument.ApplianceRecordList != null && Instrument.ApplianceRecordList.Count > 0)
{
foreach (ApplianceRecord app in Instrument.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();
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 (Instrument.ApplianceRecordList != null && Instrument.ApplianceRecordList.Count > 0)
{
foreach (ApplianceRecord app in Instrument.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++;
}
}
}
panel.Height = new UCOperationGoodsBill5().Height * IncRowsount;
}
private void button1_Click(object sender, EventArgs e)
{
if (superTabMain.SelectedTab.Name == "spTabQXQDD")
{
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) * i1, (uc.Height - 1) * j1);
if (_record.InstrumentList.ApplianceRecordList != null) _record.InstrumentList.ApplianceRecordList.Add(app);
panelQXList.Controls.Add(uc);
j1++;
if (j1 == 25)
{
j1 = 0;
i1++;
}
}
else
{
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) * i2, (uc.Height - 1) * j2);
if (_record.InstrumentList2.ApplianceRecordList != null) _record.InstrumentList2.ApplianceRecordList.Add(app);
panelQXList2.Controls.Add(uc);
j2++;
if (j2 == 25)
{
j2 = 0;
i2++;
}
}
}
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)
{
if (superTabMain.SelectedTab.Name == "spTabQXQDD")
{
SaveInstrument(sender);
ReviewEvent();
new frmMessageBox().Show();
}
else
{
SaveInstrument2(sender);
ReviewEvent();
new frmMessageBox().Show();
}
}
private void SaveInstrument(object sender)
{
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);
DBManage.AddPerson(_record, SelectOperationDoctorData, 1);
DBManage.AddPerson(_record, SelectInstrumentNurseData, 6);
DBManage.AddPerson(_record, SelectTourNurseData, 7);
}
catch (Exception ex)
{
PublicMethod.WriteLog(ex);
}
}
private void SaveInstrument2(object sender)
{
try
{
btnSelectPatient.Focus();
if (_record.InstrumentList2 == null)
{
_record.InstrumentList2 = new OperationRecordInstrumentList();
}
_record.InstrumentList2.OperationRecordId = this._record.Id;
if (_applianceUseType2 != null)
{
List<int> list = new List<int>();
foreach (ApplianceUseType item in _applianceUseType2)
{
list.Add(item.Id.Value);
}
_record.InstrumentList2.ApplianceUseType = string.Join(",", list.ToArray());
}
_record.InstrumentList2.TagPicture = "";// Convert.ToBase64String(PublicToDoument.ImageToBytes(pictureBox1.Image));
_record.InstrumentList2.JsonTextData = "";// PublicToDoument.SerializeControl(panel18, _record, new List<string> ());
_record.InstrumentList2.InstrumentNurse = txtInstrumentNurse2.Text;
_record.InstrumentList2.TourNurse = txtTourNurse2.Text;
_record.InstrumentList2.Remark = txtRemark2.Text;
_record.InstrumentList2.OperatorNo = PublicMethod.OperatorNo;
_record.InstrumentList2.OperatorName = PublicMethod.OperatorName;
_record.InstrumentList2.OperateDate = DateTime.Now;
if (_record.InstrumentList2.Id == null || _record.InstrumentList2.Id == 0)
{
_record.InstrumentList2.Id = BOperationRecordInstrumentList.Insert(_record.InstrumentList2);
}
else
{
BOperationRecordInstrumentList.Update(_record.InstrumentList2);
}
_record.InstrumentList2.ApplianceRecordList = GetApplianceRecord2();
BApplianceRecord.InsertListData(_record.InstrumentList2.ApplianceRecordList);
//DBManage.AddPerson(_record, SelectOperationDoctorData, 1);
//DBManage.AddPerson(_record, SelectInstrumentNurseData, 6);
//DBManage.AddPerson(_record, SelectTourNurseData, 7);
}
catch (Exception ex)
{
PublicMethod.WriteLog(ex);
}
}
private void superTabMain_SelectedTabChanged(object sender, DevComponents.DotNetBar.SuperTabStripSelectedTabChangedEventArgs e)
{
if (superTabMain.SelectedTab.Name == "spTabQXQDD2")
{
labdept.Text = _record.ApplyDepartmentName;
labpname.Text = _record.Name;
labsex.Text = _record.Sex;
labage.Text = _record.Age;
labopdate.Text = _record.OperationDate;
labmno.Text = _record.OperationDate;
labroom.Text = BOperationRoom.SelectSingle(_record.RoomId).Name;
txtOperation.Text = "";
SelectOperationData = BFactOperationInfo.GetFactOperationInfoIdList(_record.PatientId.Value);
foreach (int RowId in SelectOperationData)
{
txtOperation.Text += BOperation.SelectSingle(RowId).Name + " ,";
}
if (txtOperation.Text != "") txtOperation.Text = txtOperation.Text.Substring(0, txtOperation.Text.LastIndexOf(" ,"));
txtOperationPosition.Text = "";
SelectOperationPositionData = BFactOperationPosition.GetFactOperationPositionIdList(_record.PatientId.Value);
foreach (int RowId in SelectOperationPositionData)
{
txtOperationPosition.Text += BOperationPosition.SelectSingle(RowId).Name + " ,";
}
if (txtOperationPosition.Text != "") txtOperationPosition.Text = txtOperationPosition.Text.Substring(0, txtOperationPosition.Text.LastIndexOf(" ,"));
txtOperationDoctor2.Text = txtOperationDoctor.Text;
//txtInstrumentNurse2.Text = txtInstrumentNurse.Text;
//txtTourNurse2.Text = txtTourNurse.Text;
}
else
{
templateManage.OpeRecord = BOperationRecord.getRecord(_record, PatientId, RecoverId);
templateManage.BindOperationRecordValueAll(templateManage.OpeRecord);
templateManage.Bind();
zgcAnaesRecord.Refresh();
txtOperationDoctor.Text = txtOperationDoctor2.Text;
//txtInstrumentNurse.Text = txtInstrumentNurse2.Text;
//txtTourNurse.Text = txtTourNurse2.Text;
}
}
/// <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 && _record.InstrumentList.Id != 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;
}
private List<ApplianceRecord> GetApplianceRecord2()
{
List<ApplianceRecord> applianceRecordList = new List<ApplianceRecord>();
foreach (Control ctl in panelQXList2.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.InstrumentList2 != null && _record.InstrumentList2.Id != null)
{
applianceRecord.OperationGoodsBillRecord = _record.InstrumentList2.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)
{
//出错处理终止打印设置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 (superTabMain.SelectedTab.Name == "spTabQXQDD")
{
SaveInstrument(sender);
}
else
{
SaveInstrument2(sender);
}
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();
plRefresh_Click(null, null);
}
private void PageSetting_Click(object sender, EventArgs e)
{
plPrint_Click(null, null);
}
private void PrintDocPage(object sender, PrintPageEventArgs e)
{
if (templateManage != null)
{
if (superTabMain.SelectedTab.Name == "spTabQXQDD")
{
_record.InstrumentList.ApplianceRecordList = GetApplianceRecord();
_record.InstrumentList.InstrumentNurse = txtInstrumentNurse.Text;
_record.InstrumentList.TourNurse = txtTourNurse.Text;
_record.InstrumentList.Remark = txtRemark.Text;
PrintDocPane(e, zgcAnaesRecord, templateManage);
}
else
{
if (_record.InstrumentList2 != null && _record.InstrumentList2.Id != null)
{
_record.InstrumentList = _record.InstrumentList2;
_record.InstrumentList.ApplianceRecordList = GetApplianceRecord2();
//_record.InstrumentList.InstrumentNurse = txtInstrumentNurse2.Text;
//_record.InstrumentList.TourNurse = txtTourNurse2.Text;
_record.InstrumentList.Remark = txtRemark2.Text;
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 PublicUI.UI.frmSelectPerson frmTourNurse;
private List<int> SelectTourNurseData = new List<int>(); //一助
private void txtTourNurse_Click(object sender, EventArgs e)
{
frmTourNurse = new PublicUI.UI.frmSelectPerson();
frmTourNurse.PersonType = "手术室护士";
frmTourNurse.SelectDepartmentName = "手术室";
frmTourNurse.SelectPersonData = SelectTourNurseData;
frmTourNurse.FormClosed += new FormClosedEventHandler(frmTourNurse_FormClosed);
frmTourNurse.ShowDialog();
}
void frmTourNurse_FormClosed(object sender, FormClosedEventArgs e)
{
txtTourNurse.Text = "";
if (frmTourNurse.SelectPersonData.Count > 0)
{
SelectTourNurseData = frmTourNurse.SelectPersonData;
foreach (int RowId in frmTourNurse.SelectPersonData)
{
txtTourNurse.Text += BPerson.SelectSingle(RowId).Name + ",";
}
int idxStart = txtTourNurse.Text.LastIndexOf(",");
txtTourNurse.Text = txtTourNurse.Text.Substring(0, idxStart);
}
//txtTourNurse2.Text = txtTourNurse.Text;
}
private List<int> SelectInstrumentNurseData = new List<int>(); //一助
private PublicUI.UI.frmSelectPerson frmInstrumentNurse;
private void txtInstrumentNurse_Click(object sender, EventArgs e)
{
frmInstrumentNurse = new PublicUI.UI.frmSelectPerson();
frmInstrumentNurse.PersonType = "手术室护士";
frmInstrumentNurse.SelectDepartmentName = "手术室";
frmInstrumentNurse.SelectPersonData = SelectInstrumentNurseData;
frmInstrumentNurse.FormClosed += new FormClosedEventHandler(frmInstrumentNurse_FormClosed);
frmInstrumentNurse.ShowDialog();
}
void frmInstrumentNurse_FormClosed(object sender, FormClosedEventArgs e)
{
txtInstrumentNurse.Text = "";
if (frmInstrumentNurse.SelectPersonData.Count > 0)
{
SelectInstrumentNurseData = frmInstrumentNurse.SelectPersonData;
foreach (int RowId in frmInstrumentNurse.SelectPersonData)
{
txtInstrumentNurse.Text += BPerson.SelectSingle(RowId).Name + ",";
}
int idxStart = txtInstrumentNurse.Text.LastIndexOf(",");
txtInstrumentNurse.Text = txtInstrumentNurse.Text.Substring(0, idxStart);
}
//txtInstrumentNurse2.Text = txtInstrumentNurse.Text;
}
private PublicUI.UI.frmSelectPerson frmOperationDoctor;
private List<int> SelectOperationDoctorData = new List<int>(); //一助
private void txtOperationDoctor_DoubleClick(object sender, EventArgs e)
{
frmOperationDoctor = new PublicUI.UI.frmSelectPerson();
frmOperationDoctor.PersonType = "医生";
frmOperationDoctor.SelectDepartmentName = _record.ApplyDepartmentName;
frmOperationDoctor.SelectPersonData = SelectOperationDoctorData;
frmOperationDoctor.FormClosed += new FormClosedEventHandler(frmOperationDoctor_FormClosed);
frmOperationDoctor.ShowDialog();
}
void frmOperationDoctor_FormClosed(object sender, FormClosedEventArgs e)
{
txtOperationDoctor.Text = "";
if (frmOperationDoctor.SelectPersonData.Count > 0)
{
SelectOperationDoctorData = frmOperationDoctor.SelectPersonData;
foreach (int RowId in frmOperationDoctor.SelectPersonData)
{
txtOperationDoctor.Text += BPerson.SelectSingle(RowId).Name + ",";
}
int idxStart = txtOperationDoctor.Text.LastIndexOf(",");
txtOperationDoctor.Text = txtOperationDoctor.Text.Substring(0, idxStart);
}
txtOperationDoctor2.Text = txtOperationDoctor.Text;
}
private PublicUI.UI.frmSelectPerson frmTourNurse2;
private List<int> SelectTourNurseData2 = new List<int>(); //一助
private void txtTourNurse2_Click(object sender, EventArgs e)
{
frmTourNurse2 = new PublicUI.UI.frmSelectPerson();
frmTourNurse2.PersonType = "手术室护士";
frmTourNurse2.SelectDepartmentName = "手术室";
frmTourNurse2.SelectPersonData = SelectTourNurseData2;
frmTourNurse2.FormClosed += new FormClosedEventHandler(frmTourNurse2_FormClosed);
frmTourNurse2.ShowDialog();
}
void frmTourNurse2_FormClosed(object sender, FormClosedEventArgs e)
{
txtTourNurse2.Text = "";
if (frmTourNurse2.SelectPersonData.Count > 0)
{
SelectTourNurseData2 = frmTourNurse2.SelectPersonData;
foreach (int RowId in frmTourNurse2.SelectPersonData)
{
txtTourNurse2.Text += BPerson.SelectSingle(RowId).Name + ",";
}
int idxStart = txtTourNurse2.Text.LastIndexOf(",");
txtTourNurse2.Text = txtTourNurse2.Text.Substring(0, idxStart);
}
}
private List<int> SelectInstrumentNurseData2 = new List<int>(); //一助
private PublicUI.UI.frmSelectPerson frmInstrumentNurse2;
private void txtInstrumentNurse2_Click(object sender, EventArgs e)
{
frmInstrumentNurse2 = new PublicUI.UI.frmSelectPerson();
frmInstrumentNurse2.PersonType = "手术室护士";
frmInstrumentNurse2.SelectDepartmentName = "手术室";
frmInstrumentNurse2.SelectPersonData = SelectInstrumentNurseData2;
frmInstrumentNurse2.FormClosed += new FormClosedEventHandler(frmInstrumentNurse2_FormClosed);
frmInstrumentNurse2.ShowDialog();
}
void frmInstrumentNurse2_FormClosed(object sender, FormClosedEventArgs e)
{
txtInstrumentNurse2.Text = "";
if (frmInstrumentNurse2.SelectPersonData.Count > 0)
{
SelectInstrumentNurseData2 = frmInstrumentNurse2.SelectPersonData;
foreach (int RowId in frmInstrumentNurse2.SelectPersonData)
{
txtInstrumentNurse2.Text += BPerson.SelectSingle(RowId).Name + ",";
}
int idxStart = txtInstrumentNurse2.Text.LastIndexOf(",");
txtInstrumentNurse2.Text = txtInstrumentNurse2.Text.Substring(0, idxStart);
}
}
private void button9_Click(object sender, EventArgs e)
{
if (superTabMain.SelectedTab.Name == "spTabQXQDD")
{
TextBoxAddEventSources(panelQX, @"/");
}
else
{
TextBoxAddEventSources(panelQX2, @"/");
}
}
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 PublicUI.UI.frmOperationPosition frmOperationPosition;
private List<int> SelectOperationPositionData = new List<int>(); //手术部位
private void txtOperationPosition_DoubleClick(object sender, EventArgs e)
{
frmOperationPosition = new PublicUI.UI.frmOperationPosition();
frmOperationPosition.FormClosed += new FormClosedEventHandler(frmOperationPosition_FormClosed);
frmOperationPosition.SelectOperationPositionData = SelectOperationPositionData;
frmOperationPosition.ShowDialog();
}
void frmOperationPosition_FormClosed(object sender, FormClosedEventArgs e)
{
txtOperationPosition.Text = "";
if (frmOperationPosition.SelectOperationPositionData.Count > 0)
{
SelectOperationPositionData = frmOperationPosition.SelectOperationPositionData;
foreach (int RowId in frmOperationPosition.SelectOperationPositionData)
{
txtOperationPosition.Text += BOperationPosition.SelectSingle(RowId).Name + " ,";
}
int idxStart = txtOperationPosition.Text.LastIndexOf(" ,");
txtOperationPosition.Text = txtOperationPosition.Text.Substring(0, idxStart);
}
DBManage.AddOperationPosition(_record, SelectOperationPositionData);
}
private PublicUI.UI.frmSelectOperation frmOperation;
private List<int> SelectOperationData = new List<int>(); //手术
private void txtOperation_DoubleClick(object sender, EventArgs e)
{
frmOperation = new PublicUI.UI.frmSelectOperation();
frmOperation.FormClosed += new FormClosedEventHandler(frmOperation_FormClosed);
frmOperation.SelectRightData = SelectOperationData;
frmOperation.ShowDialog();
}
void frmOperation_FormClosed(object sender, FormClosedEventArgs e)
{
txtOperation.Text = "";
if (frmOperation.SelectRightData.Count > 0)
{
SelectOperationData = frmOperation.SelectRightData;
foreach (int RowId in frmOperation.SelectRightData)
{
txtOperation.Text += BOperation.SelectSingle(RowId).Name + " ,";
}
int idxStart = txtOperation.Text.LastIndexOf(" ,");
txtOperation.Text = txtOperation.Text.Substring(0, idxStart);
}
DBManage.AddOperation(_record, SelectOperationData);
}
private void btnChage_Click(object sender, EventArgs e)
{
if (_record != null)
{
EMRExtension.OpenFeesRecord(_record, "护士");
}
}
private void frmAnasRecordInstrument_VisibleChanged(object sender, EventArgs e)
{
if (this.Visible == false)
{
panel8.VerticalScroll.Value = 0;
if (templateManage != null)
templateManage.SetPYL();
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();
}
string messing = "";
if (GetOpeState(ref messing) == false)
{
if (messing == "请与手术信息选择手术分级!" || messing == "请与手术信息选择手术切口!")
btnOperationInfo_Click(null, null);
return;
}
if (_record.StateName == "手术中")
{
if (txtOutRoom.CustomFormat == " ")
{
txtOutRoom.BackColor = Color.Red;
MessageBox.Show("手术还没有结束,请填写出室时间后打印!", "系统提示");
return;
}
}
if (superTabMain.SelectedTab.Name == "spTabQXQDD")
{
SaveInstrument(sender);
}
else
{
SaveInstrument2(sender);
}
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();
}
ControlExtension.UPDocument(_record.PatientId.Value, _record.OperationApplyId.Value, _record.Id.Value, _record.RecoverId.Value, "20", "护理记录单");
plRefresh_Click(null, null);
}
catch (Exception exp)
{
PublicMethod.WriteLog(exp, "");
}
}
#endregion
}
}