using AIMSBLL;
using AIMSExtension;
using DrawGraph;
using System;
using System.Windows.Forms;
namespace AIMS.OperationAanesthesia
{
    public partial class frmOpeRecoverOutInfo : Form
    {
        /// 
        /// 手术记录
        /// 
        public OperationRecord _record;
        public frmOpeRecoverOutInfo()
        {
            InitializeComponent();
        }
        private void frmOutPACUConditionSYD_Load(object sender, EventArgs e)
        {
            button1.Visible = true;
            if (_record.OpeRecoverOutInfo != null)
            {
                cboHXY.Text = _record.OpeRecoverOutInfo.BreathSounds;//麻醉平面
                if (_record.OpeRecoverOutInfo.PACUStewardScore != null)
                    txtZPF.Text = _record.OpeRecoverOutInfo.PACUStewardScore.ToString();
                cboJSHF.Text = _record.OpeRecoverOutInfo.MuscleRelaxation;//肌力评分
                txtBFZ.Text = _record.OpeRecoverOutInfo.ProtectiveReflex;//并发症
                cboDXNL.Text = _record.OpeRecoverOutInfo.OrientationAbility;//非计划二次插管
                //cboHXXT.Text = _record.OpeRecoverOutInfo.RespiratorySystem;
                cboPF.Text = _record.OpeRecoverOutInfo.Skin;//皮肤情况 
                cboTT.Text = _record.OpeRecoverOutInfo.Pain;
                cboSS.Text = _record.OpeRecoverOutInfo.Hoarseness;//非计划二次转入ICU
                txtTSQK.Text = _record.OpeRecoverOutInfo.Remark;
                cboQXCD.Text = _record.OpeRecoverOutInfo.StewardSober;
                cboHXDTCCD.Text = _record.OpeRecoverOutInfo.StewardBreathing;
                cboZTHDD.Text = _record.OpeRecoverOutInfo.StewardLimbActivity;
                cboHD.Text = _record.OpeRecoverOutInfo.AldteteActivity;
                cboHX.Text = _record.OpeRecoverOutInfo.AldteteBreathing;
                cboXY.Text = _record.OpeRecoverOutInfo.AldteteBloodPressure;
                cboYS1.Text = _record.OpeRecoverOutInfo.AldteteConsciousness;
                cboSPO2.Text = _record.OpeRecoverOutInfo.AldteteSPO2;
                if (_record.OpeRecoverOutInfo.PACUAldteteScore != null)
                    txtAndree.Text = _record.OpeRecoverOutInfo.PACUAldteteScore.ToString();
                cboYS1.Text = _record.OpeRecoverOutInfo.AldteteConsciousness;
                cboHX.Text = _record.OpeRecoverOutInfo.AldteteBreathing;
                cboHD.Text = _record.OpeRecoverOutInfo.AldteteActivity;
                cboXY.Text = _record.OpeRecoverOutInfo.AldteteBloodPressure;
                cboSPO2.Text = _record.OpeRecoverOutInfo.AldteteSPO2;
                txtMAP.Text = _record.OpeRecoverOutInfo.DrainageName;
                txtCQL.Text = _record.OpeRecoverOutInfo.DrainageIdentification;
                TXTXY.Text = _record.OpeRecoverOutInfo.DrainagePosition;
                txtSX.Text = _record.OpeRecoverOutInfo.LeftPupil;
                txtPHY.Text = _record.OpeRecoverOutInfo.RightPupil;
                txtExtend1.Text = _record.OpeRecoverOutInfo.Extend1;
                txtExtend2.Text = _record.OpeRecoverOutInfo.Extend2;
                if (_record.OpeRecoverOutInfo.PACUAldteteScore != null)
                    txtAndree.Text = _record.OpeRecoverOutInfo.PACUAldteteScore.ToString();
                if (_record.OpeRecoverOutInfo.State == "病房")
                {
                    radioButton1.Checked = true;
                }
                else if (_record.OpeRecoverOutInfo.State == "ICU")
                {
                    radioButton3.Checked = true;
                }
                else if (_record.OpeRecoverOutInfo.State == "急诊")
                {
                    radioButton4.Checked = true;
                }
                else if (_record.OpeRecoverOutInfo.State == "离院")
                {
                    radioButton5.Checked = true;
                }
                else if (_record.OpeRecoverOutInfo.State == "死亡")
                {
                    rdbSW.Checked = true;
                }
                else if (_record.OpeRecoverOutInfo.State == "手术间")
                {
                    radioButton6.Checked = true;
                }
                if (_record.OpeRecoverOutInfo.PainScore != null && _record.OpeRecoverOutInfo.PainScore != "")
                {
                    txtPain.Text = _record.OpeRecoverOutInfo.PainScore;
                    slider1.Value = int.Parse(_record.OpeRecoverOutInfo.PainScore);
                }
                txtT.Text = _record.OpeRecoverOutInfo.T;
                txtR.Text = _record.OpeRecoverOutInfo.R;
                txtHR.Text = _record.OpeRecoverOutInfo.HR;
                txtBP.Text = _record.OpeRecoverOutInfo.BP;
                txtMAP.Text = _record.OpeRecoverOutInfo.SPO2;
            }
        }
        /// 
        /// 关闭时保存
        /// 
        /// 
        /// 
        private void btExit_Click(object sender, EventArgs e)
        {
            try
            {
                if (_record.OpeRecoverOutInfo != null)
                {
                    _record.OpeRecoverOutInfo.PatientId = _record.PatientId;
                    _record.OpeRecoverOutInfo.ApplyId = _record.OperationApplyId;
                    _record.OpeRecoverOutInfo.OperationRecordId = _record.Id;
                    if (txtZPF.Text.Trim() != "") _record.OpeRecoverOutInfo.PACUStewardScore = int.Parse(txtZPF.Text);
                    _record.OpeRecoverOutInfo.MuscleRelaxation = cboJSHF.Text;
                    _record.OpeRecoverOutInfo.ProtectiveReflex = txtBFZ.Text;
                    _record.OpeRecoverOutInfo.OrientationAbility = cboDXNL.Text;
                    //_record.OpeRecoverOutInfo.RespiratorySystem = cboHXXT.Text;
                    _record.OpeRecoverOutInfo.T = txtT.Text;
                    _record.OpeRecoverOutInfo.R = txtR.Text;
                    _record.OpeRecoverOutInfo.HR = txtHR.Text;
                    _record.OpeRecoverOutInfo.BP = txtBP.Text;
                    _record.OpeRecoverOutInfo.SPO2 = txtMAP.Text;
                    _record.OpeRecoverOutInfo.Skin = cboPF.Text;
                    _record.OpeRecoverOutInfo.Pain = cboTT.Text;
                    _record.OpeRecoverOutInfo.BreathSounds = cboHXY.Text;
                    _record.OpeRecoverOutInfo.Hoarseness = cboSS.Text;
                    _record.OpeRecoverOutInfo.Remark = txtTSQK.Text;
                    if (cboQXCD.Text.Trim() != "") _record.OpeRecoverOutInfo.StewardSober = cboQXCD.Text;
                    if (cboHXDTCCD.Text.Trim() != "") _record.OpeRecoverOutInfo.StewardBreathing = cboHXDTCCD.Text;
                    if (cboZTHDD.Text.Trim() != "") _record.OpeRecoverOutInfo.StewardLimbActivity = cboZTHDD.Text;
                    if (cboHD.Text.Trim() != "") _record.OpeRecoverOutInfo.AldteteActivity = cboHD.Text;
                    if (cboHX.Text.Trim() != "") _record.OpeRecoverOutInfo.AldteteBreathing = cboHX.Text;
                    if (cboXY.Text.Trim() != "") _record.OpeRecoverOutInfo.AldteteBloodPressure = cboXY.Text;
                    if (cboYS1.Text.Trim() != "") _record.OpeRecoverOutInfo.AldteteConsciousness = cboYS1.Text;
                    if (cboSPO2.Text.Trim() != "") _record.OpeRecoverOutInfo.AldteteSPO2 = cboSPO2.Text;
                    if (txtAndree.Text.Trim() != "") _record.OpeRecoverOutInfo.PACUAldteteScore = int.Parse(txtAndree.Text);
                    _record.OpeRecoverOutInfo.DrainageName = txtMAP.Text;
                    _record.OpeRecoverOutInfo.DrainageIdentification = txtCQL.Text;
                    _record.OpeRecoverOutInfo.DrainagePosition = TXTXY.Text;
                    _record.OpeRecoverOutInfo.LeftPupil = txtSX.Text;
                    _record.OpeRecoverOutInfo.RightPupil = txtPHY.Text;
                    _record.OpeRecoverOutInfo.Extend1 = txtExtend1.Text;
                    _record.OpeRecoverOutInfo.Extend2 = txtExtend2.Text;
                    if (radioButton1.Checked == true)
                    {
                        _record.OpeRecoverOutInfo.State = "病房";
                    }
                    else if (radioButton3.Checked == true)
                    {
                        // _record.OpeRecoverOutInfo.State = "计划入ICU";
                        _record.OpeRecoverOutInfo.State = "ICU";
                    }
                    else if (radioButton4.Checked == true)
                    {
                        _record.OpeRecoverOutInfo.State = "急诊";
                    }
                    else if (radioButton5.Checked == true)
                    {
                        _record.OpeRecoverOutInfo.State = "离院";
                    }
                    else if (rdbSW.Checked == true)
                    {
                        _record.OpeRecoverOutInfo.State = "死亡";
                    }
                    else if (radioButton6.Checked == true)
                    {
                        _record.OpeRecoverOutInfo.State = "手术间";
                    }
                    _record.OpeRecoverOutInfo.PainScore = txtPain.Text;
                    _record.OpeRecoverOutInfo.OperatorId = PublicMethod.OperatorId;
                    _record.OpeRecoverOutInfo.OperatorTime = DateTime.Now;
                    if (_record.OpeRecoverOutInfo.Id == null)
                    {
                        _record.OpeRecoverOutInfo.Id = BOperationRecoverOutInfo.Insert(_record.OpeRecoverOutInfo);
                    }
                    else
                    {
                        BOperationRecoverOutInfo.Update(_record.OpeRecoverOutInfo);
                    }
                }
            }
            catch (Exception exp)
            {
                PublicMethod.WriteLog(exp, ""); return;
            }
        }
        /// 
        /// 保存
        /// 
        /// 
        /// 
        private void frmOutPACUConditionSYD_FormClosing(object sender, FormClosingEventArgs e)
        {
            btExit_Click(null, null);
        }
        /// 
        /// 清醒程度
        /// 
        int StewardSober = 0;
        /// 
        /// 呼吸道通畅程度
        /// 
        int StewardBreathing = 0;
        /// 
        /// 肢体活动度
        /// 
        int StewardLimbActivity = 0;
        /// 
        /// Steward总评分
        /// 
        /// 
        /// 
        private void cboQXCD_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cboQXCD.Text != null && cboQXCD.Text.Trim() != "") StewardSober = GetSourcesDate(cboQXCD).Value;
            if (cboHXDTCCD.Text != null && cboHXDTCCD.Text.Trim() != "") StewardBreathing = GetSourcesDate(cboHXDTCCD).Value;
            if (cboZTHDD.Text != null && cboZTHDD.Text.Trim() != "") StewardLimbActivity = GetSourcesDate(cboZTHDD).Value;
            txtZPF.Text = (StewardSober + StewardBreathing + StewardLimbActivity).ToString();
        }
        /// 
        /// 活动
        /// 
        int AldteteActivity = 0;
        /// 
        /// 呼吸
        /// 
        int AldteteBreathing = 0;
        /// 
        /// 血压
        /// 
        int AldteteBloodPressure = 0;
        /// 
        /// 意识
        /// 
        int AldteteConsciousness = 0;
        /// 
        /// SPO2
        /// 
        int AldteteSPO2 = 0;
        /// 
        /// Aldtete评分
        /// 
        /// 
        /// 
        private void cboHD_SelectedIndexChanged(object sender, EventArgs e)
        {
            //if (cboHD.Text != null && cboHD.Text.Trim() != "") AldteteActivity = Convert.ToInt32(cboHD.Text.Substring(cboHD.Text.LastIndexOf('(') + 1, 1));
            //if (cboHX.Text != null && cboHX.Text.Trim() != "") AldteteBreathing = Convert.ToInt32(cboHX.Text.Substring(cboHX.Text.LastIndexOf('(') + 1, 1));
            //if (cboXY.Text != null && cboXY.Text.Trim() != "") AldteteBloodPressure = Convert.ToInt32(cboXY.Text.Substring(cboXY.Text.LastIndexOf('(') + 1, 1));
            //if (cboYS1.Text != null && cboYS1.Text.Trim() != "") AldteteConsciousness = Convert.ToInt32(cboYS1.Text.Substring(cboYS1.Text.LastIndexOf('(') + 1, 1));
            //if (cboSPO2.Text != null && cboSPO2.Text.Trim() != "") AldteteSPO2 = Convert.ToInt32(cboSPO2.Text.Substring(cboSPO2.Text.LastIndexOf('(') + 1, 1));
            if (cboHD.Text != null && cboHD.Text.Trim() != "") AldteteActivity = GetSourcesDate(cboHD).Value;
            if (cboHX.Text != null && cboHX.Text.Trim() != "") AldteteBreathing = GetSourcesDate(cboHX).Value;
            if (cboXY.Text != null && cboXY.Text.Trim() != "") AldteteBloodPressure = GetSourcesDate(cboXY).Value;
            if (cboYS1.Text != null && cboYS1.Text.Trim() != "") AldteteConsciousness = GetSourcesDate(cboYS1).Value;
            if (cboSPO2.Text != null && cboSPO2.Text.Trim() != "") AldteteSPO2 = GetSourcesDate(cboSPO2).Value;
            txtAndree.Text = (AldteteActivity + AldteteBreathing + AldteteBloodPressure + AldteteConsciousness + AldteteSPO2).ToString();
        }
        public int? GetSourcesDate(ComboBox SelCombo)
        {
            int? res = null;
            string text = SelCombo.Text.Substring(0, 4);
            if (text.Contains("0"))
            {
                res = 0;
            }
            if (text.Contains("1"))
            {
                res = 1;
            }
            if (text.Contains("2"))
            {
                res = 2;
            }
            if (text.Contains("3"))
            {
                res = 3;
            }
            return res;
        }
        private void button1_Click(object sender, EventArgs e)
        {
            if (txtT.Text == "") txtT.Text = "  /";
            if (cboJSHF.Text == "") cboJSHF.Text = "  /";//好";
            if (txtBFZ.Text == "") txtBFZ.Text = "  /";//无";
            if (cboDXNL.Text == "") cboDXNL.Text = "  /";//好";
            //if (cboHXXT.Text == "") cboHXXT.Text = "  /";//自主呼吸"; 
            if (cboTT.Text == "") cboTT.Text = "  /";//无"; 
            if (cboHXY.Text == "") cboHXY.Text = "  /";//正常";
            if (cboSS.Text == "") cboSS.Text = "  /";//无"; 
            if (txtTSQK.Text == "") txtTSQK.Text = "  /";
            if (cboJSHF.Text == "") cboJSHF.Text = "Ⅴ级 肌力正常,运动自如";
            if (cboTT.Text == "") cboTT.Text = "0分-无疼痛";
            if (cboPF.Text == "") cboPF.Text = "未见异常";
            if (cboQXCD.Text == "") cboQXCD.Text = "2分-完全清醒";
            if (cboHXDTCCD.Text == "") cboHXDTCCD.Text = "2分-可按医师吩咐咳嗽";
            if (cboZTHDD.Text == "") cboZTHDD.Text = "2分-肢体能做有意识活动";
            if (cboHD.Text == "") cboHD.Text = "2分-自主或遵嘱活动四肢和抬头";
            if (cboHX.Text == "") cboHX.Text = "2分-能深呼吸和有效咳嗽,呼吸频率和幅度正常";
            if (cboXY.Text == "") cboXY.Text = "2分-麻醉前±20%以内";
            if (cboYS1.Text == "") cboYS1.Text = "2分-完全清醒(准确回答)";
            if (cboSPO2.Text == "") cboSPO2.Text = "2分-呼吸空气SpO2≥92%";
            slider1.Value = 2;
            if (txtCQL.Text == "") txtCQL.Text = " /";
            if (TXTXY.Text == "") TXTXY.Text = " /";
            if (txtSX.Text == "") txtSX.Text = " /";
            if (txtPHY.Text == "") txtPHY.Text = " /";
            if (cboDXNL.Text == "") cboDXNL.Text = "否";
            if (cboSS.Text == "") cboSS.Text = "否";
        }
        private void slider1_ValueChanged(object sender, EventArgs e)
        {
            txtPain.Text = slider1.Value.ToString();
        }
    }
}