Esempio n. 1
0
        private void panelJZDJ_Click(object sender, EventArgs e)
        {
            //List<MED_OPERATING_ROOM> roomList = CommDictService.GetOperatingRoomList("0").Where(p => p.ROOM_NO == ExtendApplicationContext.Current.OperRoomNo).ToList();
            //if (roomList != null && roomList.Count > 0)
            //{
            //    MED_OPERATING_ROOM operRoom = roomList[0];
            //    if (!string.IsNullOrEmpty(operRoom.PATIENT_ID))
            //    {
            //        MED_PATIENT_CARD cardRow = PatientInfoService.GetPatCard(operRoom.PATIENT_ID, (int)operRoom.VISIT_ID, (int)operRoom.OPER_ID);
            //        MessageBoxFormPC.Show("该手术间" + operRoom.ROOM_NO + "已存在患者【" + cardRow.NAME + " " + cardRow.INP_NO + "】,请换其他手术间!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
            //        return;
            //    }
            //}
            ConfirmationSureBase emergencyControl = new ConfirmationSureBase(null, 0);
            DialogHostFormPC     dialogHostForm   = new DialogHostFormPC("急诊登记", emergencyControl.Width, emergencyControl.Height);

            dialogHostForm.Text  = "急诊登记";
            dialogHostForm.Child = emergencyControl;
            dialogHostForm.ShowDialog();
            if (emergencyControl.result == DialogResult.OK)
            {
                RefreshPatientDataTable();
            }
        }
Esempio n. 2
0
 /// <summary>
 /// 根据状态判断流程
 /// </summary>
 private void ShowPatientStatus(PatientCard patCard)
 {
     if (ApplicationConfiguration.ApplicationPatterns.Equals("0") && AccessControl.CheckModifyRightForOperator("麻醉记录单"))
     {
         List <MED_OPERATING_ROOM> roomList = comnDictRepository.GetOperatingRoomList("0").Data.Where(p => p.ROOM_NO == ExtendApplicationContext.Current.OperRoomNo && p.DEPT_CODE == ExtendApplicationContext.Current.OperRoom).ToList();
         if (roomList != null && roomList.Count > 0)
         {
             MED_OPERATING_ROOM operRoom = roomList[0];
             if (string.IsNullOrEmpty(patCard.PatCard.OPER_STATUS_CODE.ToString()) || patCard.PatCard.OPER_STATUS_CODE < 5)
             {
                 if (string.IsNullOrEmpty(operRoom.PATIENT_ID))
                 {
                     ConfirmationSureBase sure           = new ConfirmationSureBase(patCard.PatCard, Convert.ToDecimal(ExtendApplicationContext.Current.EventNo));
                     DialogHostFormPC     dialogHostForm = new DialogHostFormPC("入室信息确认", sure.Width, sure.Height);
                     dialogHostForm.Text  = "信息确认";
                     dialogHostForm.Child = sure;
                     dialogHostForm.ShowDialog();
                     //确认患者信息
                 }
                 else
                 {
                     MED_PATIENT_CARD cardRow = patientInfoRepository.GetPatCard(operRoom.PATIENT_ID, (int)operRoom.VISIT_ID, (int)operRoom.OPER_ID).Data;
                     MessageBoxFormPC.Show("该手术间" + operRoom.ROOM_NO + "已存在患者【" + cardRow.NAME + " " + cardRow.INP_NO + "】,请换其他手术间!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 }
             }
             else if (patCard.PatCard.OPER_STATUS_CODE < 35)
             {
                 if (!string.IsNullOrEmpty(operRoom.PATIENT_ID) && !operRoom.PATIENT_ID.Equals(patCard.PatCard.PATIENT_ID))
                 {
                     MED_PATIENT_CARD cardRow = patientInfoRepository.GetPatCard(operRoom.PATIENT_ID, (int)operRoom.VISIT_ID, (int)operRoom.OPER_ID).Data;
                     MessageBoxFormPC.Show("该手术间" + operRoom.ROOM_NO + "已存在患者【" + cardRow.NAME + " " + cardRow.INP_NO + "】,请换其他手术间!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     return;
                 }
                 if (patCard.PatCard.OPER_ROOM_NO != ExtendApplicationContext.Current.OperRoomNo)
                 {
                     if (DialogResult.Yes == MessageBoxFormPC.Show("显示非本手术间手术,是否更换手术间?", "提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
                     {
                         MED_OPERATION_MASTER operationMaster = operationInfoRepository.GetOperMaster(ExtendApplicationContext.Current.PatientContextExtend.PatientID,
                                                                                                      ExtendApplicationContext.Current.PatientContextExtend.VisitID, ExtendApplicationContext.Current.PatientContextExtend.OperID).Data;
                         if (operationMaster != null)
                         {
                             operationMaster.OPER_ROOM_NO = ExtendApplicationContext.Current.OperRoomNo;
                             operationInfoRepository.SaveOperMaster(operationMaster);
                         }
                         ClearPatientRoom(ExtendApplicationContext.Current.PatientContextExtend.PatientID);
                         ClearPatientMonitor(ExtendApplicationContext.Current.PatientContextExtend.PatientID, "0");
                         List <MED_OPERATING_ROOM> operList = comnDictRepository.GetOperatingRoomList("0").Data;
                         if (operList != null && operList.Count > 0)
                         {
                             foreach (MED_OPERATING_ROOM room in operList)
                             {
                                 if (room.ROOM_NO == ExtendApplicationContext.Current.OperRoomNo)
                                 {
                                     room.PATIENT_ID = patCard.PatCard.PATIENT_ID;
                                     room.VISIT_ID   = patCard.PatCard.VISIT_ID;
                                     room.OPER_ID    = patCard.PatCard.OPER_ID;
                                     comnDictRepository.SaveOperatingRoom(room);
                                     break;
                                 }
                             }
                         }
                         // CommDictService.SaveOperatingRommList(operList);
                         SelectMonitor monitor = new SelectMonitor(patCard.PatCard, 1, ExtendApplicationContext.Current.OperRoomNo.ToString(), false);
                         monitor.Save();
                     }
                     else
                     {
                         //权限改为False  术中只读
                     }
                 }
             }
         }
     }
 }
Esempio n. 3
0
        private void PatientStatusSingleControl_Click(object sender, EventArgs e)
        {
            //验证是否可触发
            if ((_ControlDateTime == DateTime.MinValue || _ControlDateTime == DateTime.MinValue) && ApplicationConfiguration.ApplicationPatterns == "1")
            {
                SetOperationStatusTimeText(DateTime.MinValue);
                return;
            }
            if (!_ServicePatientStatusContrl.OnPatientStatusSingleControlKeyDown(this))
            {
                SetOperationStatusTimeText(DateTime.MinValue);
                return;
            }
            object result = null;

            if (_ControlDateTime != null && _ControlDateTime != DateTime.MinValue &&
                _ControlDateTime != DateTime.MaxValue && !StatusName.Trim().Equals("出复苏室"))
            {
                TimeInPutFrmPC timeInput = new TimeInPutFrmPC();
                timeInput.Text = this.StatusName + "时间";
                if (this._ControlDateTime != null && this._ControlDateTime != DateTime.MinValue &&
                    this._ControlDateTime != DateTime.MaxValue)
                {
                    timeInput.SelectedDateTime = this._ControlDateTime;
                }
                if (timeInput.ShowDialog() != DialogResult.Cancel)
                {
                    result = timeInput.SelectedDateTime;
                }
            }
            else
            {
                if (StatusName.Trim().Equals("出复苏室"))
                {
                    ConfirmationOutPacu outPacu = new ConfirmationOutPacu("", ExtendApplicationContext.Current.PatientContextExtend.PatientID,
                                                                          ExtendApplicationContext.Current.PatientContextExtend.VisitID, ExtendApplicationContext.Current.PatientContextExtend.OperID, _ControlDateTime);
                    DialogHostFormPC dialogForm = new DialogHostFormPC("出室信息确认", outPacu.Width, outPacu.Height);
                    dialogForm.Child = outPacu;
                    dialogForm.ShowDialog();
                    if (outPacu.result == DialogResult.OK)
                    {
                        result = outPacu.statusTime;
                    }
                }
                else if (StatusName.Trim().Equals("入手术室"))
                {
                    ConfirmationSureBase sure           = new ConfirmationSureBase(ExtendApplicationContext.Current.PatientInformationExtend, Convert.ToDecimal(ExtendApplicationContext.Current.EventNo));
                    DialogHostFormPC     dialogHostForm = new DialogHostFormPC("入室信息确认", sure.Width, sure.Height);
                    dialogHostForm.Text  = "信息确认";
                    dialogHostForm.Child = sure;
                    dialogHostForm.ShowDialog();
                    if (sure.result == DialogResult.OK)
                    {
                        result = sure.SelectDateTime;
                    }
                }
                else if (StatusName.Trim().Equals("出手术室"))
                {
                    ConfirmationOutRoom timeControl    = new ConfirmationOutRoom(_ControlDateTime);
                    DialogHostFormPC    dialogHostForm = new DialogHostFormPC("出室确认", timeControl.Width, timeControl.Height);
                    dialogHostForm.Child = timeControl;
                    dialogHostForm.ShowDialog();
                    if (timeControl.result == DialogResult.OK)
                    {
                        result = timeControl.statusTime;
                    }
                }
                else if (StatusName.Trim().Equals("入复苏室"))
                {
                    ConfirmationInPacu inPacu = new ConfirmationInPacu(ExtendApplicationContext.Current.PatientContextExtend.PatientID,
                                                                       ExtendApplicationContext.Current.PatientContextExtend.VisitID, ExtendApplicationContext.Current.PatientContextExtend.OperID, false);
                    DialogHostFormPC dialogHostForm = new DialogHostFormPC("入室信息确认", inPacu.Width, inPacu.Height);
                    dialogHostForm.Child = inPacu;
                    dialogHostForm.ShowDialog();
                    if (inPacu.result == DialogResult.OK)
                    {
                        result = inPacu.SelectDateTime;
                    }
                }
                //else if (StatusName.Equals("麻醉开始") || StatusName.Equals("手术开始") || StatusName.Equals("出手术室"))
                //{
                //   ConfirmationTimeControl timeControl = new ConfirmationTimeControl(StatusName, _ControlDateTime);
                //    DialogHostFormPC dialogHostForm = new DialogHostFormPC(StatusName, timeControl.Width, timeControl.Height);
                //    dialogHostForm.Child = timeControl;
                //    dialogHostForm.ShowDialog();
                //    if (timeControl.result == DialogResult.OK)
                //    {
                //        result = timeControl.statusTime;
                //    }
                //}
                else
                {
                    TimeInPutFrmPC timeInput = new TimeInPutFrmPC();
                    timeInput.Text = this.StatusName + "时间";
                    if (this._ControlDateTime != null && this._ControlDateTime != DateTime.MinValue &&
                        this._ControlDateTime != DateTime.MaxValue)
                    {
                        timeInput.SelectedDateTime = this._ControlDateTime;
                    }
                    if (timeInput.ShowDialog() != DialogResult.Cancel)
                    {
                        result = timeInput.SelectedDateTime;
                    }
                }
            }

            if (result != null)
            {
                _ControlDateTime = Convert.ToDateTime(result);
                DateTime dt = Convert.ToDateTime(result);
                if (_ServicePatientStatusContrl.OnSinglePatientStatusConrolTimeValidate(this))
                {
                    SetOperationStatusTimeText(dt);
                }
            }
        }