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(); } }
/// <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 术中只读 } } } } } }
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); } } }