Exemplo n.º 1
0
        /// <summary>
        /// 更新手术排班信息
        /// </summary>
        /// <param name="operationSchedule">手术信息</param>
        /// <returns></returns>
        public int UpdateOperationSchedule(MED_OPERATION_SCHEDULE operationSchedule, Func <MED_OPERATION_SCHEDULE, object> onlyFields = null)
        {
            int result = dapper.Set <MED_OPERATION_SCHEDULE>().Update(operationSchedule, onlyFields);

            dapper.SaveChanges();
            return(result);
        }
Exemplo n.º 2
0
        public bool SearchTomorrowFilterData(string searchContent)
        {
            bool isReturn = false;

            if (OperationScheduleFilter != null && OperationScheduleFilter.Count > 0)
            {
                List <MED_OPERATION_SCHEDULE> operScheduledList = OperationScheduleFilter.Where(x => x.PATIENT_ID == searchContent || x.INP_NO == searchContent || x.NAME == searchContent).ToList().OrderBy(x => x.SCHEDULED_DATE_TIME).ToList();
                if (operScheduledList != null && operScheduledList.Count > 0)
                {
                    MED_OPERATION_SCHEDULE operSchedule = operScheduledList[0];
                    for (int i = 0; i < dgTomorrowSchedule.Rows.Count; i++)
                    {
                        if (dgTomorrowSchedule["ColumnPatientID", i].Value.ToString().Trim() == operSchedule.PATIENT_ID && Convert.ToInt32(dgTomorrowSchedule["ColumnVisitID", i].Value) == operSchedule.VISIT_ID && Convert.ToInt32(dgTomorrowSchedule["ColumnOperID", i].Value) == operSchedule.OPER_ID)
                        {
                            this.dgTomorrowSchedule.Rows[i].Selected = true;
                            this.dgTomorrowSchedule.CurrentCell      = this.dgTomorrowSchedule.Rows[i].Cells[0];
                            isReturn = true;
                            break;
                        }
                        else
                        {
                            this.dgTomorrowSchedule.Rows[i].Selected = false;
                        }
                    }
                    MessageQueue.AddMessage("为您查找到明日手术患者" + operSchedule.NAME + " " + operSchedule.SEX + "  " + operSchedule.AGE, Color.Black);
                }
            }
            else if (PatientCardScheduleFilter != null && PatientCardScheduleFilter.Count > 0)
            {
                List <MED_PATIENT_CARD> operScheduledList = PatientCardScheduleFilter.Where(x => x.PATIENT_ID == searchContent || x.INP_NO == searchContent || x.NAME == searchContent).ToList().OrderBy(x => x.SCHEDULED_DATE_TIME).ToList();
                if (operScheduledList != null && operScheduledList.Count > 0)
                {
                    MED_PATIENT_CARD operSchedule = operScheduledList[0];
                    for (int i = 0; i < dgTomorrowSchedule.Rows.Count; i++)
                    {
                        if (dgTomorrowSchedule["ColumnPatientID", i].Value.ToString().Trim() == operSchedule.PATIENT_ID && Convert.ToInt32(dgTomorrowSchedule["ColumnVisitID", i].Value) == operSchedule.VISIT_ID && Convert.ToInt32(dgTomorrowSchedule["ColumnOperID", i].Value) == operSchedule.OPER_ID)
                        {
                            this.dgTomorrowSchedule.Rows[i].Selected = true;
                            this.dgTomorrowSchedule.CurrentCell      = this.dgTomorrowSchedule.Rows[i].Cells[0];
                            isReturn = true;
                            break;
                        }
                        else
                        {
                            this.dgTomorrowSchedule.Rows[i].Selected = false;
                        }
                    }
                    MessageQueue.AddMessage("为您查找到明日手术患者" + operSchedule.NAME + " " + operSchedule.SEX + "  " + operSchedule.AGE, Color.Black);
                }
            }
            if (!isReturn)
            {
                for (int i = 0; i < dgTomorrowSchedule.Rows.Count; i++)
                {
                    this.dgTomorrowSchedule.Rows[i].Selected = false;
                }
            }
            return(isReturn);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 手术取消
        /// </summary>
        /// <param name="operationCanceled"></param>
        /// <returns></returns>
        public bool CancelOperationSchedule(OperCancelAndDetailEntity operationCanceled)
        {
            MED_OPERATION_SCHEDULE opsche = dapper.Set <MED_OPERATION_SCHEDULE>().Single(d => d.PATIENT_ID == operationCanceled.OperCanceled.PATIENT_ID && d.VISIT_ID == operationCanceled.OperCanceled.VISIT_ID && d.SCHEDULE_ID == operationCanceled.OperCanceled.SCHEDULE_ID);
            int CancelID = GetMaxOperCancelCancelID(operationCanceled.OperCanceled);

            operationCanceled.OperCanceled.OPER_ID   = opsche.OPER_ID;
            operationCanceled.OperCanceled.CANCEL_ID = ++CancelID;
            bool flag = dapper.Set <MED_OPERATION_CANCELED>().Insert(operationCanceled.OperCanceled);

            if (operationCanceled.AnesInputDict != null && operationCanceled.AnesInputDict.Count > 0)
            {
                foreach (var item in operationCanceled.AnesInputDict)
                {
                    dapper.Set <MED_OPERATION_CANCELED_DETAIL>().Insert(new MED_OPERATION_CANCELED_DETAIL
                    {
                        PATIENT_ID   = operationCanceled.OperCanceled.PATIENT_ID,
                        VISIT_ID     = operationCanceled.OperCanceled.VISIT_ID,
                        CANCEL_ID    = operationCanceled.OperCanceled.CANCEL_ID,
                        CANCEL_CLASS = item.ITEM_CLASS,
                        CANCEL_TYPE  = item.ITEM_NAME
                    });
                }
            }
            if (flag)
            {
                opsche.OPER_ROOM_NO         = null;
                opsche.SEQUENCE             = 0;
                opsche.OPERATING_TIME       = 0;
                opsche.ANES_CONFIRM         = 0;
                opsche.NURSE_CONFIRM        = 0;
                opsche.FIRST_OPER_NURSE     = null;
                opsche.FIRST_SUPPLY_NURSE   = null;
                opsche.ANES_DOCTOR          = null;
                opsche.FIRST_ANES_ASSISTANT = null;
                opsche.OPER_STATUS_CODE     = -80;
                dapper.Set <MED_OPERATION_SCHEDULE>().Update(opsche, d => new
                {
                    d.OPER_ROOM_NO,
                    d.SEQUENCE,
                    d.OPERATING_TIME,
                    d.ANES_CONFIRM,
                    d.NURSE_CONFIRM,
                    d.FIRST_OPER_NURSE,
                    d.FIRST_SUPPLY_NURSE,
                    d.ANES_DOCTOR,
                    d.FIRST_ANES_ASSISTANT,
                    d.OPER_STATUS_CODE,
                });
                if (AppSettings.OpenHIS212)
                {
                    SyncInfoService.SyncWrite_OPER504W(opsche.PATIENT_ID, opsche.VISIT_ID, opsche.SCHEDULE_ID);
                }
            }
            dapper.SaveChanges();
            return(flag);
        }
Exemplo n.º 4
0
        private int getMaxOperId(string sql_GetMaxOperID, MED_OPERATION_SCHEDULE item)
        {
            object operId    = dapper.ExecuteScalar(sql_GetMaxOperID, new { PatientID = item.PATIENT_ID, VisitID = item.VISIT_ID });
            int    maxOperID = 0;

            if (operId != null)
            {
                int.TryParse(operId.ToString(), out maxOperID);
            }
            return(++maxOperID);
        }
Exemplo n.º 5
0
        /// <summary>
        /// 是否允许手术撤销
        /// </summary>
        /// <param name="operationSchedule"></param>
        /// <returns></returns>
        public MED_OPERATION_SCHEDULE IsCanRevokedOpertionSchedule(MED_OPERATION_SCHEDULE operationSchedule)
        {
            //新增已入室的手术,不允许撤销功能

            MED_OPERATION_SCHEDULE scheduleTemp = null;

            if (operationSchedule != null && !string.IsNullOrEmpty(operationSchedule.PATIENT_ID))
            {
                scheduleTemp = dapper.Set <MED_OPERATION_SCHEDULE>().Single(d => d.PATIENT_ID == operationSchedule.PATIENT_ID && d.VISIT_ID == operationSchedule.VISIT_ID && d.OPER_ID == operationSchedule.OPER_ID);
            }

            return(scheduleTemp);
        }
Exemplo n.º 6
0
        public RequestResult UpdateOperDetailInfo(MED_OPERATION_SCHEDULE operationSchedule)
        {
            int count = 0;

            if (operationSchedule.OPER_STATUS_CODE == 0)
            {
                count = OperSchedule.UpdateOperationSchedule(operationSchedule, d => new { d.SCHEDULED_DATE_TIME, d.OPERATING_TIME, d.SURGEON, d.ANES_METHOD, d.ANES_DOCTOR, d.FIRST_ANES_ASSISTANT, d.SECOND_ANES_ASSISTANT, d.FIRST_OPER_NURSE, d.SECOND_OPER_NURSE, d.FIRST_SUPPLY_NURSE, d.SECOND_SUPPLY_NURSE, d.NOTES_ON_OPERATION });
            }
            else
            {
                count = OperSchedule.UpdateOperationSchedule(operationSchedule, d => new { d.OPERATING_TIME, d.SURGEON, d.ANES_METHOD, d.ANES_DOCTOR, d.FIRST_ANES_ASSISTANT, d.SECOND_ANES_ASSISTANT, d.FIRST_OPER_NURSE, d.SECOND_OPER_NURSE, d.FIRST_SUPPLY_NURSE, d.SECOND_SUPPLY_NURSE, d.NOTES_ON_OPERATION });
            }

            if (count > 0)
            {
                return(Success(new { count = count, operDetail = OperSchedule.GetOperDetail(operationSchedule) }));
            }
            else
            {
                return(Success(new { count = count }));
            }
        }
Exemplo n.º 7
0
        /// <summary>
        /// 保存手术取消记录数据
        /// </summary>
        private void SaveOperationCanceled(ref TransactionParamsters tp)
        {
            MED_OPERATION_SCHEDULE        scheduled = AnesInfoService.ClientInstance.GetOperSchedule(this.CurPatientModel.PatientID, this.CurPatientModel.VisitID, this.CurPatientModel.OperID);
            List <MED_OPERATION_CANCELED> list      = CommonService.ClientInstance.GetOperationCanceled(this.CurPatientModel.PatientID, this.CurPatientModel.VisitID);
            MED_OPERATION_CANCELED        newRow    = new MED_OPERATION_CANCELED();

            newRow.PATIENT_ID       = this.CurPatientModel.PatientID;
            newRow.VISIT_ID         = this.CurPatientModel.VisitID;
            newRow.CANCEL_ID        = list.Count + 1;
            newRow.SCHEDULE_ID      = null != scheduled ? scheduled.SCHEDULE_ID : 1;
            newRow.OPER_ID          = this.CurPatientModel.OperID;
            newRow.OPER_STATUS_CODE = (int)this.CurPatientModel.OperStatusCode;
            newRow.CANCEL_REASON    = this.strReason;
            newRow.CANCEL_DATE      = DateTime.Now;
            newRow.CANCEL_BY        = string.Empty;
            newRow.ENTERED_BY       = ExtendAppContext.Current.LoginUser.USER_JOB_ID;
            newRow.ModelStatus      = ModelStatus.Add;
            list.Add(newRow);

            tp.Append(list);
            this.SaveOperationCanceledDetail(newRow.CANCEL_ID, ref tp);
        }
Exemplo n.º 8
0
        public bool UpdateOperationScheduleByPatientInfo(MED_OPERATION_SCHEDULE item, string type)
        {
            bool flg = true;

            if (type == "1")
            {
                flg = dapper.Set <MED_OPERATION_SCHEDULE>().Update(item, p => new
                {
                    p.OPER_ROOM_NO,
                    p.SEQUENCE,
                    p.SCHEDULED_DATE_TIME,
                    p.FIRST_OPER_NURSE,
                    p.SECOND_OPER_NURSE,
                    p.FIRST_SUPPLY_NURSE,
                    p.SECOND_SUPPLY_NURSE,
                    p.OPER_STATUS_CODE,
                    p.NURSE_CONFIRM
                }) > 0 ? true : false;
            }
            else
            {
                flg = dapper.Set <MED_OPERATION_SCHEDULE>().Update(item, p => new
                {
                    p.ANES_METHOD,
                    p.ANES_DOCTOR,
                    p.FIRST_ANES_ASSISTANT,
                    p.SECOND_ANES_ASSISTANT,
                    p.THIRD_ANES_ASSISTANT,
                    p.FOURTH_ANES_ASSISTANT,
                    p.OPER_STATUS_CODE,
                    p.ANES_CONFIRM
                }) > 0 ? true : false;
            }
            dapper.SaveChanges();
            return(flg);
        }
Exemplo n.º 9
0
 public RequestResult UpdateOperationSchedule(MED_OPERATION_SCHEDULE operationSchedule)
 {
     return(Success(OperSchedule.UpdateOperationSchedule(operationSchedule, d => new { d.OPER_ROOM_NO, d.SEQUENCE, d.OPER_STATUS_CODE, d.SCHEDULED_DATE_TIME, d.OPERATING_TIME })));
 }
Exemplo n.º 10
0
        /// <summary>
        /// 保存手术室外麻醉
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public int SaveOutOperatingRoomAnesRecordData(OutOperatingRoomAnesRecordEntity model)
        {
            if (model == null)
            {
                return(0);
            }

            try
            {
                if (string.IsNullOrEmpty(model.PATIENT_ID))
                {
                    model.PATIENT_ID = model.INP_NO;
                }
                //获取master主表是否有改挑手术
                MED_OPERATION_MASTER operationMaster = dapper.Set <MED_OPERATION_MASTER>().Single(
                    x => x.PATIENT_ID == model.PATIENT_ID && x.VISIT_ID == model.VISIT_ID && x.OPER_ID == model.OPER_ID);

                int result = 0;
                if (operationMaster != null)
                {
                    operationMaster.DEPT_CODE             = model.DEPT_CODE;
                    operationMaster.DIAG_BEFORE_OPERATION = model.DIAG_BEFORE_OPERATION;
                    operationMaster.OPERATION_NAME        = model.OPERATION_NAME;
                    operationMaster.ANES_METHOD           = model.ANES_METHOD;
                    operationMaster.ANES_DOCTOR           = model.ANES_DOCTOR;
                    operationMaster.FIRST_ANES_ASSISTANT  = model.FIRST_ANES_ASSISTANT;
                    operationMaster.FIRST_OPER_NURSE      = model.FIRST_OPER_NURSE;
                    operationMaster.SECOND_OPER_NURSE     = model.SECOND_OPER_NURSE;
                    operationMaster.ASA_GRADE             = model.ASA_GRADE;
                    operationMaster.EMERGENCY_IND         = Convert.ToInt32(model.EMERGENCY_IND);
                    operationMaster.IN_DATE_TIME          = model.IN_DATE_TIME;
                    operationMaster.START_DATE_TIME       = model.START_DATE_TIME;
                    operationMaster.END_DATE_TIME         = model.END_DATE_TIME;
                    operationMaster.OUT_DATE_TIME         = model.OUT_DATE_TIME;
                    operationMaster.LOCAL_ANESTHESIA      = 1;
                    operationMaster.OPER_STATUS_CODE      = 35;
                    operationMaster.OPER_ROOM             = model.OPER_ROOM;
                    operationMaster.OPER_ROOM_NO          = model.OPER_ROOM_NO;
                    operationMaster.OPER_SCALE            = model.OPER_SCALE;
                    operationMaster.SURGEON = model.SURGEON;
                    operationMaster.FIRST_OPER_ASSISTANT = model.FIRST_OPER_ASSISTANT;
                    result = dapper.Set <MED_OPERATION_MASTER>().Update(operationMaster) > 0 ? 1 : 0;
                }
                else
                {
                    MED_OPERATION_MASTER newModel = new MED_OPERATION_MASTER();
                    newModel.PATIENT_ID            = model.PATIENT_ID;
                    newModel.VISIT_ID              = model.VISIT_ID;
                    newModel.OPER_ID               = model.OPER_ID;
                    newModel.DEPT_CODE             = model.DEPT_CODE;
                    newModel.DIAG_BEFORE_OPERATION = model.DIAG_BEFORE_OPERATION;
                    newModel.OPERATION_NAME        = model.OPERATION_NAME;

                    newModel.ANES_METHOD          = model.ANES_METHOD;
                    newModel.ANES_DOCTOR          = model.ANES_DOCTOR;
                    newModel.FIRST_ANES_ASSISTANT = model.FIRST_ANES_ASSISTANT;
                    newModel.FIRST_OPER_NURSE     = model.FIRST_OPER_NURSE;
                    newModel.SECOND_OPER_NURSE    = model.SECOND_OPER_NURSE;
                    newModel.ASA_GRADE            = model.ASA_GRADE;
                    newModel.EMERGENCY_IND        = Convert.ToInt32(model.EMERGENCY_IND);
                    newModel.IN_DATE_TIME         = model.IN_DATE_TIME;
                    newModel.SCHEDULED_DATE_TIME  = model.SCHEDULED_DATE_TIME;
                    newModel.START_DATE_TIME      = model.START_DATE_TIME;
                    newModel.END_DATE_TIME        = model.END_DATE_TIME;
                    newModel.OUT_DATE_TIME        = model.OUT_DATE_TIME;
                    newModel.LOCAL_ANESTHESIA     = 1;
                    newModel.OPER_STATUS_CODE     = 35;
                    newModel.OPER_ROOM            = model.OPER_ROOM;
                    newModel.OPER_ROOM_NO         = model.OPER_ROOM_NO;
                    newModel.OPER_SCALE           = model.OPER_SCALE;
                    newModel.SURGEON = model.SURGEON;
                    newModel.FIRST_OPER_ASSISTANT = model.FIRST_OPER_ASSISTANT;
                    result = dapper.Set <MED_OPERATION_MASTER>().Insert(newModel) == true ? 1 : 0;
                }

                //手术名称表(先删再增)
                //删除模版
                dapper.Set <MED_OPERATION_NAME>().Delete(d => d.PATIENT_ID == model.PATIENT_ID && d.VISIT_ID == model.VISIT_ID &&
                                                         d.OPER_ID == model.OPER_ID);

                if (!string.IsNullOrEmpty(model.OPERATION_NAME))
                {
                    string[] operNames = model.OPERATION_NAME.Split('+');
                    for (int i = 1; i <= operNames.Length; i++)
                    {
                        MED_OPERATION_NAME operNameModel = new MED_OPERATION_NAME();
                        operNameModel.PATIENT_ID = model.PATIENT_ID;
                        operNameModel.VISIT_ID   = model.VISIT_ID;
                        operNameModel.OPER_ID    = model.OPER_ID;
                        operNameModel.OPER_NO    = i;
                        operNameModel.OPER_NAME  = operNames[i - 1];
                        dapper.Set <MED_OPERATION_NAME>().Insert(operNameModel);
                    }
                }

                //室外麻醉手术在输入出手术室时间点击保存后,需要把对应的schedule表状态改为4,
                string OPER_STATUS_CODE = ""
                ; MED_OPERATION_SCHEDULE scheduleModel = dapper.Set <MED_OPERATION_SCHEDULE>().Single(
                    x => x.PATIENT_ID == model.PATIENT_ID && x.VISIT_ID == model.VISIT_ID && x.OPER_ID == model.OPER_ID);
                if (scheduleModel != null)
                {
                    OPER_STATUS_CODE = scheduleModel.OPER_STATUS_CODE.ToString();
                    scheduleModel.OPER_STATUS_CODE = 4;
                    scheduleModel.ModelStatus      = ModelStatus.Modeified;
                    dapper.Set <MED_OPERATION_SCHEDULE>().Update(scheduleModel);
                }


                //修改扩展 体重
                MED_ANESTHESIA_PLAN_PMH phmModel = dapper.Set <MED_ANESTHESIA_PLAN_PMH>().Single(
                    x => x.PATIENT_ID == model.PATIENT_ID && x.VISIT_ID == model.VISIT_ID && x.OPER_ID == model.OPER_ID);
                if (phmModel != null)
                {
                    phmModel.WEIGHT = model.WEIGHT;
                    dapper.Set <MED_ANESTHESIA_PLAN_PMH>().Update(phmModel);
                }
                else
                {
                    phmModel            = new MED_ANESTHESIA_PLAN_PMH();
                    phmModel.PATIENT_ID = model.PATIENT_ID;
                    phmModel.VISIT_ID   = model.VISIT_ID;
                    phmModel.OPER_ID    = model.OPER_ID;
                    phmModel.WEIGHT     = model.WEIGHT;
                    dapper.Set <MED_ANESTHESIA_PLAN_PMH>().Save(phmModel);
                }
                dapper.SaveChanges();

                //调用HISHIS203回写手术主表信息
                //if (OPER_STATUS_CODE != "4")  //回写之后不再回写
                //{
                //    if (SyncHIS203(model.PATIENT_ID, model.VISIT_ID,model.OPER_ID) != "")
                //    {
                //        return 2;
                //    }
                //}
            }
            catch (Exception ex)
            {
                return(0);
            }
            return(1);
        }
Exemplo n.º 11
0
 public RequestResult UpdateOperationNurse(MED_OPERATION_SCHEDULE operationSchedule)
 {
     return(Success(OperSchedule.UpdateOperationSchedule(operationSchedule, d => new { d.FIRST_OPER_NURSE, d.FIRST_SUPPLY_NURSE })));
 }
Exemplo n.º 12
0
 private int GetMaxOperationNo(string sql_GetMaxOperationNo, MED_OPERATION_SCHEDULE item)
 {
     return(dapper.ExecuteScalar <int>(sql_GetMaxOperationNo, new { PatientID = item.PATIENT_ID, VisitID = item.VISIT_ID, OperID = item.OPER_ID }));
 }
Exemplo n.º 13
0
        /// <summary>
        /// 提交手术信息
        /// </summary>
        /// <param name="operationScheduleList"></param>
        /// <returns></returns>
        public List <MED_OPERATION_SCHEDULE> SubmitOperationScheduleList(List <MED_OPERATION_SCHEDULE> operationScheduleList)
        {
            List <MED_OPERATION_SCHEDULE> returnOperationScheduleList = new List <MED_OPERATION_SCHEDULE>();
            string sql_GetMaxOperID      = sqlDict.GetSQLByKey("GetMaxOperID");
            string sql_GetMaxOperationNo = sqlDict.GetSQLByKey("GetMaxOperationNo");

            foreach (MED_OPERATION_SCHEDULE item in operationScheduleList)
            {
                item.OPER_ID = getMaxOperId(sql_GetMaxOperID, item);
                if (item.OPER_STATUS_CODE == 2)
                {
                    Logger.InfoFormat("{0}手术提交2:{1}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff"), JsonConvert.SerializeObject(item));
                    MED_OPERATION_SCHEDULE returnobj = setOperationSubmit(sql_GetMaxOperationNo, item);
                    if (returnobj != null)
                    {
                        returnOperationScheduleList.Add(returnobj);
                    }
                }
                else
                {
                    MED_OPERATION_SCHEDULE dbSCHEDULE = dapper.Set <MED_OPERATION_SCHEDULE>().Single(item);
                    if ((dbSCHEDULE.NURSE_CONFIRM == 1 && item.ANES_CONFIRM == 1) || (dbSCHEDULE.ANES_CONFIRM == 1 && item.NURSE_CONFIRM == 1))
                    {
                        if (dbSCHEDULE.OPER_STATUS_CODE == 1)
                        {
                            item.NURSE_CONFIRM    = 1;
                            item.ANES_CONFIRM     = 1;
                            item.OPER_STATUS_CODE = 2;
                            Logger.InfoFormat("{0}手术提交:{1} 数据库中的{2}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff"), JsonConvert.SerializeObject(item), JsonConvert.SerializeObject(dbSCHEDULE));
                            MED_OPERATION_SCHEDULE returnobj = setOperationSubmit(sql_GetMaxOperationNo, item);
                            if (returnobj != null)
                            {
                                returnOperationScheduleList.Add(returnobj);
                            }
                        }
                        else
                        {
                            returnOperationScheduleList.Add(dbSCHEDULE);
                        }
                    }
                    else
                    {
                        int temp = 0;
                        if (dbSCHEDULE.ANES_CONFIRM == 0 && item.ANES_CONFIRM == 1)
                        {
                            temp = dapper.Set <MED_OPERATION_SCHEDULE>().Update(item, d => new { d.ANES_CONFIRM });
                        }
                        if (dbSCHEDULE.NURSE_CONFIRM == 0 && item.NURSE_CONFIRM == 1)
                        {
                            temp = dapper.Set <MED_OPERATION_SCHEDULE>().Update(item, d => new { d.NURSE_CONFIRM });
                        }
                        if (temp > 0)
                        {
                            dapper.SaveChanges();
                            returnOperationScheduleList.Add(item);
                        }
                    }
                }
                if (AppSettings.OpenHIS202)
                {
                    SyncInfoService.SyncWrite_OPER501W(item.PATIENT_ID, item.VISIT_ID, item.SCHEDULE_ID);
                }
            }
            return(returnOperationScheduleList);
        }
Exemplo n.º 14
0
        private MED_OPERATION_SCHEDULE setOperationSubmit(string sql_GetMaxOperationNo, MED_OPERATION_SCHEDULE item)
        {
            MED_OPERATION_SCHEDULE dbSCHEDULE = dapper.Set <MED_OPERATION_SCHEDULE>().Single(item); //判断收到已经提交

            if (dbSCHEDULE.OPER_STATUS_CODE == 1)                                                   //实时判断,没提交才能判断
            {
                #region 获取MED_OPERATION_SCHEDULE_NAME表数据
                List <MED_OPERATION_SCHEDULE_NAME> scheduleNameItemList = dapper.Set <MED_OPERATION_SCHEDULE_NAME>().Select(d => d.PATIENT_ID == item.PATIENT_ID && d.VISIT_ID == item.VISIT_ID && d.SCHEDULE_ID == item.SCHEDULE_ID).OrderBy(d => d.OPER_NO).ToList <MED_OPERATION_SCHEDULE_NAME>();
                #endregion
                int    OperationNo       = GetMaxOperationNo(sql_GetMaxOperationNo, item);
                string tempOperationName = string.Empty;
                #region 向MED_OPERATION_NAME表插入数据
                List <MED_OPERATION_NAME> operNameItemList = new List <MED_OPERATION_NAME>();
                foreach (MED_OPERATION_SCHEDULE_NAME scheduleNameItem in scheduleNameItemList)
                {
                    MED_OPERATION_NAME operNameItem = new MED_OPERATION_NAME();
                    operNameItem.PATIENT_ID = scheduleNameItem.PATIENT_ID;
                    operNameItem.VISIT_ID   = scheduleNameItem.VISIT_ID;
                    operNameItem.OPER_ID    = item.OPER_ID;
                    operNameItem.OPER_NO    = ++OperationNo;
                    operNameItem.OPER_NAME  = scheduleNameItem.OPER_NAME;
                    operNameItem.OPER_CODE  = scheduleNameItem.OPER_CODE;
                    operNameItem.OPER_SCALE = scheduleNameItem.OPER_SCALE;
                    operNameItem.WOUND_TYPE = scheduleNameItem.WOUND_TYPE;
                    operNameItem.RESERVED1  = scheduleNameItem.RESERVED1;
                    operNameItem.RESERVED2  = scheduleNameItem.RESERVED2;
                    operNameItem.RESERVED3  = scheduleNameItem.RESERVED3;
                    operNameItem.RESERVED4  = scheduleNameItem.RESERVED4;
                    operNameItemList.Add(operNameItem);
                    tempOperationName += "," + scheduleNameItem.RESERVED2 + scheduleNameItem.OPER_NAME;
                }
                dapper.Set <MED_OPERATION_NAME>().Insert(operNameItemList);
                #endregion
                tempOperationName = tempOperationName.TrimStart(',');
                #region 向MED_OPERATION_MASTER表插入数据
                MED_OPERATION_MASTER masterITEM = new MED_OPERATION_MASTER
                {
                    PATIENT_ID            = item.PATIENT_ID,
                    VISIT_ID              = item.VISIT_ID,
                    OPER_ID               = Convert.ToInt32(item.OPER_ID),
                    HOSP_BRANCH           = item.HOSP_BRANCH,
                    WARD_CODE             = item.WARD_CODE,
                    DEPT_CODE             = item.DEPT_CODE,
                    OPER_DEPT_CODE        = item.OPER_DEPT_CODE,
                    OPER_ROOM             = item.OPER_ROOM,
                    OPER_ROOM_NO          = item.OPER_ROOM_NO,
                    SEQUENCE              = item.SEQUENCE,
                    OPER_CLASS            = item.OPER_CLASS,
                    DIAG_BEFORE_OPERATION = item.DIAG_BEFORE_OPERATION,
                    DIAG_AFTER_OPERATION  = item.DIAG_BEFORE_OPERATION,
                    PATIENT_CONDITION     = item.PATIENT_CONDITION,
                    OPER_SCALE            = item.OPER_SCALE,
                    WOUND_TYPE            = item.WOUND_TYPE,
                    ASA_GRADE             = item.ASA_GRADE,
                    EMERGENCY_IND         = item.EMERGENCY_IND,
                    OPER_SOURCE           = item.OPER_SOURCE,
                    ISOLATION_IND         = item.ISOLATION_IND,
                    INFECTED_IND          = item.INFECTED_IND,
                    RADIATE_IND           = item.RADIATE_IND,
                    SURGEON               = item.SURGEON,
                    FIRST_OPER_ASSISTANT  = item.FIRST_OPER_ASSISTANT,
                    SECOND_OPER_ASSISTANT = item.SECOND_OPER_ASSISTANT,
                    THIRD_OPER_ASSISTANT  = item.THIRD_OPER_ASSISTANT,
                    FOURTH_OPER_ASSISTANT = item.FOURTH_OPER_ASSISTANT,
                    ANES_METHOD           = item.ANES_METHOD,
                    ANES_DOCTOR           = item.ANES_DOCTOR,
                    FIRST_ANES_ASSISTANT  = item.FIRST_ANES_ASSISTANT,
                    SECOND_ANES_ASSISTANT = item.SECOND_ANES_ASSISTANT,
                    THIRD_ANES_ASSISTANT  = item.THIRD_ANES_ASSISTANT,
                    FOURTH_ANES_ASSISTANT = item.FOURTH_ANES_ASSISTANT,
                    FIRST_ANES_NURSE      = item.FIRST_ANES_NURSE,
                    SECOND_ANES_NURSE     = item.SECOND_ANES_NURSE,
                    THIRD_ANES_NURSE      = item.THIRD_ANES_NURSE,
                    CPB_DOCTOR            = item.CPB_DOCTOR,
                    FIRST_CPB_ASSISTANT   = item.FIRST_CPB_ASSISTANT,
                    SECOND_CPB_ASSISTANT  = item.SECOND_CPB_ASSISTANT,
                    THIRD_CPB_ASSISTANT   = item.THIRD_CPB_ASSISTANT,
                    FOURTH_CPB_ASSISTANT  = item.FOURTH_CPB_ASSISTANT,
                    FIRST_OPER_NURSE      = item.FIRST_OPER_NURSE,
                    SECOND_OPER_NURSE     = item.SECOND_OPER_NURSE,
                    THIRD_OPER_NURSE      = item.THIRD_OPER_NURSE,
                    FOURTH_OPER_NURSE     = item.FOURTH_OPER_NURSE,
                    FIRST_SUPPLY_NURSE    = item.FIRST_SUPPLY_NURSE,
                    SECOND_SUPPLY_NURSE   = item.SECOND_SUPPLY_NURSE,
                    THIRD_SUPPLY_NURSE    = item.THIRD_SUPPLY_NURSE,
                    FOURTH_SUPPLY_NURSE   = item.FOURTH_SUPPLY_NURSE,
                    PACU_DOCTOR           = item.PACU_DOCTOR,
                    FIRST_PACU_ASSISTANT  = item.FIRST_PACU_ASSISTANT,
                    SECOND_PACU_ASSISTANT = item.SECOND_PACU_ASSISTANT,
                    FIRST_PACU_NURSE      = item.FIRST_PACU_NURSE,
                    SECOND_PACU_NURSE     = item.SECOND_PACU_NURSE,
                    REQ_DATE_TIME         = item.REQ_DATE_TIME,
                    SCHEDULED_DATE_TIME   = item.SCHEDULED_DATE_TIME,
                    OPER_POSITION         = item.OPER_POSITION,
                    BED_NO            = item.BED_NO,
                    OPERATION_NAME    = tempOperationName,
                    SPECIAL_EQUIPMENT = item.SPECIAL_EQUIPMENT,
                    SPECIAL_INFECT    = item.SPECIAL_INFECT,
                    OPER_STATUS_CODE  = item.OPER_STATUS_CODE,
                    HIS_PATIENT_ID    = item.HIS_PATIENT_ID,
                    HIS_VISIT_ID      = item.HIS_VISIT_ID,
                    HIS_SCHEDULE_ID   = item.HIS_SCHEDULE_ID,
                    HIS_OPER_STATUS   = item.HIS_OPER_STATUS,
                    MEMO = item.NOTES_ON_OPERATION
                };

                bool flag = dapper.Set <MED_OPERATION_MASTER>().Insert(masterITEM);
                #endregion
                item.OPERATION_NAME = tempOperationName;
                dapper.Set <MED_OPERATION_SCHEDULE>().Update(item, d => new { d.ANES_CONFIRM, d.NURSE_CONFIRM, d.OPER_STATUS_CODE, d.OPER_ID, d.OPERATION_NAME, d.ANES_DOCTOR });
                if (flag)
                {
                    //确认成功后,从visit表中往plan表中写入手术名称,身高体重数据
                    MED_ANESTHESIA_PLAN anesPlan = dapper.Set <MED_ANESTHESIA_PLAN>().Single(d => d.PATIENT_ID == masterITEM.PATIENT_ID && d.VISIT_ID == masterITEM.VISIT_ID && d.OPER_ID == masterITEM.OPER_ID);
                    if (anesPlan == null)
                    {
                        anesPlan            = new MED_ANESTHESIA_PLAN();
                        anesPlan.PATIENT_ID = masterITEM.PATIENT_ID;
                        anesPlan.VISIT_ID   = masterITEM.VISIT_ID;
                        anesPlan.OPER_ID    = masterITEM.OPER_ID;
                    }
                    if (!string.IsNullOrEmpty(masterITEM.OPERATION_NAME))
                    {
                        anesPlan.OPERATION_NAME = masterITEM.OPERATION_NAME;
                    }
                    dapper.Set <MED_ANESTHESIA_PLAN>().Save(anesPlan, d => d.PATIENT_ID == masterITEM.PATIENT_ID && d.VISIT_ID == masterITEM.VISIT_ID && d.OPER_ID == masterITEM.OPER_ID);

                    MED_ANESTHESIA_PLAN_PMH anesPlanPmh = dapper.Set <MED_ANESTHESIA_PLAN_PMH>().Single(d => d.PATIENT_ID == masterITEM.PATIENT_ID && d.VISIT_ID == masterITEM.VISIT_ID && d.OPER_ID == masterITEM.OPER_ID);
                    MED_PAT_VISIT           patVisit    = dapper.Set <MED_PAT_VISIT>().Single(d => d.PATIENT_ID == masterITEM.PATIENT_ID && d.VISIT_ID == masterITEM.VISIT_ID);
                    if (anesPlanPmh == null)
                    {
                        anesPlanPmh            = new MED_ANESTHESIA_PLAN_PMH();
                        anesPlanPmh.PATIENT_ID = masterITEM.PATIENT_ID;
                        anesPlanPmh.VISIT_ID   = masterITEM.VISIT_ID;
                        anesPlanPmh.OPER_ID    = masterITEM.OPER_ID;
                        if (patVisit != null)
                        {
                            anesPlanPmh.HEIGHT     = patVisit.BODY_HEIGHT.HasValue ? patVisit.BODY_HEIGHT.Value.ToString() : "";
                            anesPlanPmh.WEIGHT     = patVisit.BODY_WEIGHT.HasValue ? patVisit.BODY_WEIGHT.Value.ToString() : "";
                            anesPlanPmh.BLOOD_TYPE = patVisit.BLOOD_TYPE + " " + patVisit.BLOOD_TYPE_RH;
                        }
                    }
                    else
                    {
                        if (patVisit != null)
                        {
                            anesPlanPmh.HEIGHT     = patVisit.BODY_HEIGHT.HasValue ? patVisit.BODY_HEIGHT.Value.ToString() : "";;
                            anesPlanPmh.WEIGHT     = patVisit.BODY_WEIGHT.HasValue ? patVisit.BODY_WEIGHT.Value.ToString() : "";;
                            anesPlanPmh.BLOOD_TYPE = patVisit.BLOOD_TYPE + " " + patVisit.BLOOD_TYPE_RH;
                        }
                    }
                    dapper.Set <MED_ANESTHESIA_PLAN_PMH>().Save(anesPlanPmh, d => d.PATIENT_ID == anesPlanPmh.PATIENT_ID && d.VISIT_ID == anesPlanPmh.VISIT_ID && d.OPER_ID == anesPlanPmh.OPER_ID);
                    dapper.SaveChanges();
                    return(item);
                }
            }
            return(null);
        }
Exemplo n.º 15
0
        /// <summary>
        /// 获取手术信息信息
        /// </summary>
        /// <param name="operationSchedule"></param>
        /// <returns></returns>
        public MED_OPERATION_SCHEDULE GetOperDetail(MED_OPERATION_SCHEDULE operationSchedule)
        {
            string sql = sqlDict.GetSQLByKey("GetOperDetail");

            return(dapper.Set <MED_OPERATION_SCHEDULE>().Query(sql, new { PatientID = operationSchedule.PATIENT_ID, VisitID = operationSchedule.VISIT_ID, ScheduleID = operationSchedule.SCHEDULE_ID }).FirstOrDefault());
        }
Exemplo n.º 16
0
 public RequestResult UpdateOperationDoctor(MED_OPERATION_SCHEDULE operationSchedule)
 {
     return(Success(OperSchedule.UpdateOperationSchedule(operationSchedule, d => new { d.ANES_DOCTOR, d.FIRST_ANES_ASSISTANT })));
 }
Exemplo n.º 17
0
        private void PatientTree_Load(object sender, EventArgs e)
        {
            MED_PATIENT_CARD cardRow = patientInfoRepository.GetPatCard(patientID, (int)visitID, (int)operID).Data;

            labelName.Text     = GetValue(cardRow.NAME);
            labelBaseInfo.Text = string.Format("{0}    {1}    {2}", GetValue(cardRow.SEX), DateDiff.CalAge(cardRow.DATE_OF_BIRTH.Value, cardRow.SCHEDULED_DATE_TIME.Value), GetValue(cardRow.INP_NO));

            MED_PAT_VISIT patVisit = operationInfoRepository.GetPatVisit(patientID, (int)visitID).Data;

            if (patVisit == null)
            {
                patVisit = new MED_PAT_VISIT();
            }

            string admission_date_time = string.Empty;

            if (patVisit.ADMISSION_DATE_TIME != null)
            {
                admission_date_time = patVisit.ADMISSION_DATE_TIME.Value.ToString("yyyy-MM-dd");
            }

            labelZD.Text = string.Format("{0}{1}{2}", admission_date_time, GetValue(patVisit.PAT_ADM_CONDITION), GetValue(patVisit.INSURANCE_TYPE));

            #region 术后随访
            List <MED_ANESTHESIA_INQUIRY> anesthesia_inquiry = operationInfoRepository.GetAnesInquiryList(patientID, (int)visitID, (int)operID).Data;
            if (anesthesia_inquiry != null && anesthesia_inquiry.Count > 0)
            {
                labelINQUIRY_DATE.Text = anesthesia_inquiry[0].INQUIRY_DATE.ToString("yyyy-MM-dd");
                labelDocName.Text      = RefUsersDT(anesthesia_inquiry[0].INQUIRY_DOCTOR);
            }
            else
            {
                labelINQUIRY_DATE.Text = string.Empty;
                labelDocName.Text      = string.Empty;
            }
            #endregion

            #region 患者复苏

            string[] tempArr = new string[10] {
                "", "", "", "", "", "", "", "", "", ""
            };
            StringBuilder sb = new StringBuilder();
            sb.Append("入室:{0}     出室:{1}\r\n");
            sb.Append("复苏市时长:{2}分钟\r\n");
            sb.Append("入室情况:体温{3}℃ 意识:{4} 呼吸:{5}次/分\r\n");
            sb.Append("苏醒评分:{6}分\r\n");
            sb.Append("出室情况:体温{7}℃ 意识:{8} 呼吸:{9}次/分\r\n");

            if (cardRow.IN_PACU_DATE_TIME != null)
            {
                labelFuSuDate.Text = cardRow.IN_PACU_DATE_TIME.Value.ToString("yyyy-MM-dd");
                tempArr[0]         = cardRow.IN_PACU_DATE_TIME.Value.ToString("HH:mm");
            }
            else
            {
                labelFuSuDate.Text = string.Empty;
            }

            if (cardRow.OUT_PACU_DATE_TIME != null)
            {
                tempArr[1] = cardRow.OUT_PACU_DATE_TIME.Value.ToString("HH:mm");
            }

            if (cardRow.IN_PACU_DATE_TIME != null && cardRow.OUT_PACU_DATE_TIME != null)
            {
                tempArr[2] = (cardRow.OUT_PACU_DATE_TIME.Value - cardRow.IN_PACU_DATE_TIME.Value).Minutes.ToString();
            }
            //入室
            MED_CONFIRMATION_PACU in_confirmation_pacu = operationInfoRepository.GetConfirmationPACU(patientID, (int)visitID, (int)operID, 45).Data;
            if (in_confirmation_pacu != null)
            {
                tempArr[3] = in_confirmation_pacu.BODY_TEMP.Value.ToString();
                tempArr[4] = in_confirmation_pacu.CONSCIOUSNESS;
                tempArr[5] = in_confirmation_pacu.RESP.Value.ToString();
            }
            List <MED_STEWARD_MARK> steward_mark = operationInfoRepository.GetStewardMarkList(patientID, (int)visitID, (int)operID).Data;
            if (steward_mark != null && steward_mark.Count > 0)
            {
                tempArr[6] = steward_mark[steward_mark.Count - 1].TOTAL_MATK.ToString();
            }
            //出室
            MED_CONFIRMATION_PACU out_confirmation_pacu = operationInfoRepository.GetConfirmationPACU(patientID, (int)visitID, (int)operID, 55).Data;
            if (out_confirmation_pacu != null)
            {
                tempArr[7] = out_confirmation_pacu.BODY_TEMP.Value.ToString();
                tempArr[8] = out_confirmation_pacu.CONSCIOUSNESS;
                tempArr[9] = out_confirmation_pacu.RESP.Value.ToString();
            }

            labelPACU.Text = string.Format(sb.ToString(), tempArr);



            #endregion


            #region  术中麻醉
            MED_ANESTHESIA_INPUT_DATA input_data = operationInfoRepository.GetAnesInputData(patientID, (int)visitID, (int)operID).Data;
            if (cardRow.START_DATE_TIME != null)
            {
                labelShouShuZhongDate.Text = cardRow.START_DATE_TIME.Value.ToString("yyyy-MM-dd");
            }
            else
            {
                labelShouShuZhongDate.Text = string.Empty;
            }

            string ANALGESIA_EFFECT = string.Empty;
            if (input_data != null)
            {
                ANALGESIA_EFFECT = input_data.ANALGESIA_EFFECT;
            }

            if (cardRow.OUT_DATE_TIME != null && cardRow.IN_DATE_TIME != null)
            {
                TimeSpan span = (TimeSpan)(cardRow.OUT_DATE_TIME - cardRow.IN_DATE_TIME);
                int      hour = span.Days * 24;
                lbloperTime.Text     = string.Format("手术时长:{0}小时 {1}分钟   麻醉效果:{2}", hour + span.Hours, span.Minutes, ANALGESIA_EFFECT);
                lbInRoomTime.Text    = cardRow.IN_DATE_TIME.Value.ToString("HH:mm");
                lbAnesStartTime.Text = cardRow.ANES_START_TIME.Value.ToString("HH:mm");
                lbOperStartTime.Text = cardRow.START_DATE_TIME.Value.ToString("HH:mm");
                lbOperEndTime.Text   = cardRow.END_DATE_TIME.Value.ToString("HH:mm");
                lbAnesEndTime.Text   = cardRow.ANES_END_TIME.Value.ToString("HH:mm");
                lbOutRomTime.Text    = cardRow.OUT_DATE_TIME.Value.ToString("HH:mm");
            }
            else
            {
                lbloperTime.Text     = string.Format("手术时长:            麻醉效果:");
                lbInRoomTime.Text    = "--:--";
                lbAnesStartTime.Text = "--:--";
                lbAnesStartTime.Text = "--:--";
                lbOperStartTime.Text = "--:--";
                lbOperEndTime.Text   = "--:--";
                lbAnesEndTime.Text   = "--:--";
                lbOutRomTime.Text    = "--:--";
            }

            MED_OPERATION_MASTER_EXT master_ext = operationInfoRepository.GetOperMasterExt(patientID, (int)visitID, (int)operID).Data;

            string[] arrayInOrOut = new string[8] {
                "", "", "", "", "", "", "", ""
            };
            if (master_ext == null)
            {
                master_ext = new MED_OPERATION_MASTER_EXT();
            }
            if (master_ext.INFUSION_TRAN_VOL != null)
            {
                arrayInOrOut[0] = GetValue(master_ext.INFUSION_TRAN_VOL.ToString());
            }

            if (master_ext.OUT_FLUIDS_AMOUNT != null)
            {
                arrayInOrOut[1] = GetValue(master_ext.OUT_FLUIDS_AMOUNT.ToString());
            }

            if (master_ext.BLOOD_TRANSFUSED != null)
            {
                arrayInOrOut[2] = GetValue(master_ext.BLOOD_TRANSFUSED.ToString());
            }

            if (master_ext.CRY_WATHER != null)
            {
                arrayInOrOut[3] = GetValue(master_ext.CRY_WATHER.ToString());
            }


            List <MED_VITAL_SIGN> vitalSignList = new OperationVitalSignRepository().GetVitalSignData(patientID, (int)visitID, (int)operID, "0", false);
            if (vitalSignList != null && vitalSignList.Count > 0)
            {
                DateTime lastTime = vitalSignList[vitalSignList.Count - 1].TIME_POINT;
                vitalSignList = vitalSignList.Where(p => p.TIME_POINT == lastTime).ToList();
                foreach (MED_VITAL_SIGN row in vitalSignList)
                {
                    if (row.ITEM_CODE == "100") //体温
                    {
                        arrayInOrOut[4] = GetValue(row.ITEM_VALUE);
                    }
                    else if (row.ITEM_CODE == "89")//血压高
                    {
                        arrayInOrOut[5] = GetValue(row.ITEM_VALUE);
                    }
                    else if (row.ITEM_CODE == "90")//血压低
                    {
                        arrayInOrOut[6] = GetValue(row.ITEM_VALUE);
                    }
                    else if (row.ITEM_CODE == "44")//脉搏
                    {
                        arrayInOrOut[7] = GetValue(row.ITEM_VALUE);
                    }
                }
            }

            labelInOrOut.Text = string.Format("术中输液:入量:{0}ml 出量:{1}ml\r\n输血:{2}ml 自体血:{3}\r\n出室时:体温:{4}℃ 血压:{5}/{6} 脉搏:{7}", arrayInOrOut);

            MED_OPERATION_MASTER master = operationInfoRepository.GetOperMaster(patientID, (int)visitID, (int)operID).Data;

            labelAnesOper.Text = string.Format("麻:{0}  护:{1}\r\n手:{2}",
                                               RefUsersDT(master.ANES_DOCTOR) + " " + RefUsersDT(master.FIRST_ANES_ASSISTANT),
                                               RefUsersDT(master.FIRST_OPER_NURSE) + " " + RefUsersDT(master.FIRST_SUPPLY_NURSE),
                                               RefUsersDT(master.SURGEON) + " " + RefUsersDT(master.FIRST_OPER_ASSISTANT));

            #endregion

            #region 术前访视
            MED_ANESTHESIA_PLAN_EXAM anesPlanExam = operationInfoRepository.GetAnesPlanExam(patientID, (int)visitID, (int)operID).Data;
            MED_ANESTHESIA_PLAN_PMH  anesPlanPmh  = operationInfoRepository.GetAnesPlanPmh(patientID, (int)visitID, (int)operID).Data;
            MED_ANESTHESIA_PLAN      anesPlan     = operationInfoRepository.GetAnesPlan(patientID, (int)visitID, (int)operID).Data;


            if (anesPlanExam == null)
            {
                anesPlanExam = new MED_ANESTHESIA_PLAN_EXAM();
            }

            if (anesPlanPmh == null)
            {
                anesPlanPmh = new MED_ANESTHESIA_PLAN_PMH();
            }

            if (anesPlan == null)
            {
                anesPlan = new MED_ANESTHESIA_PLAN();
            }


            if (anesPlan.INQUIRY_BEFORE_DATE != null)
            {
                labelFangShiDate.Text = anesPlan.INQUIRY_BEFORE_DATE.Value.ToString("yyyy-MM-dd");
            }
            else
            {
                labelFangShiDate.Text = string.Empty;
            }

            labelFangShiName.Text = GetValue(anesPlan.INQUIRY_DOCTOR);
            labelPatient.Text     = string.Format("{0}cm,{1}kg{2}/{3}mmHg{4}次/分,{5}次/分",
                                                  GetValue(anesPlanPmh.HEIGHT.ToString()), GetValue(anesPlanPmh.WEIGHT.ToString()), GetValue(anesPlanExam.BLOOD_PRESS_HIGH.ToString()),
                                                  GetValue(anesPlanExam.BLOOD_PRESS_LOW.ToString()), GetValue(anesPlanExam.CARDIOTACH.ToString()), GetValue(anesPlanExam.BREATH.ToString()));

            labelSQ1.Text = string.Format("血常规:{0}         心电图:{1}", "", GetValue(anesPlanExam.ECG_EXAM));
            labelSQ2.Text = string.Format("生化:{0}             意识:{1}", "", "");
            labelSQ3.Text = string.Format("{0}         {1}", "", "");
            labelSQ4.Text = string.Format("执行麻醉:{0}         ASA分级:{1}", GetValue(anesPlan.ANESTHESIA_METHOD), GetValue(cardRow.ASA_GRADE));

            #endregion

            List <MED_OPERATION_SCHEDULE> operScheduleList = operationInfoRepository.GetOperScheduleList(patientID, (int)visitID).Data.ToList();
            if (operScheduleList != null && operScheduleList.Count > 0)
            {
                operScheduleList = operScheduleList.Where(x => x.OPER_ID == (int)operID).ToList();
            }

            #region 手术安排

            StringBuilder sbschedule1 = new StringBuilder();
            sbschedule1.Append("手术安排日期:{0}\r\n");
            sbschedule1.Append("麻:{1}\r\n");
            sbschedule1.Append("护:{2}\r\n");
            sbschedule1.Append("手术间:{3}         台次:{4}");
            string[] tempSchedule1Arr = new string[5] {
                "", "", "", "", ""
            };

            if (operScheduleList != null && operScheduleList.Count > 0)
            {
                MED_OPERATION_SCHEDULE tempoperation_schedule1 = operScheduleList[0];
                tempSchedule1Arr[0] = tempoperation_schedule1.SCHEDULED_DATE_TIME.Value.ToString("yyyy-MM-dd");
                StringBuilder sbOperAnes = new StringBuilder();
                sbOperAnes.Append(RefUsersDT(tempoperation_schedule1.ANES_DOCTOR));
                sbOperAnes.Append(RefUsersDT(tempoperation_schedule1.FIRST_ANES_ASSISTANT));
                sbOperAnes.Append(RefUsersDT(tempoperation_schedule1.SECOND_ANES_ASSISTANT));
                sbOperAnes.Append(RefUsersDT(tempoperation_schedule1.THIRD_ANES_ASSISTANT));
                sbOperAnes.Append(RefUsersDT(tempoperation_schedule1.FOURTH_ANES_ASSISTANT));
                tempSchedule1Arr[1] = sbOperAnes.ToString();

                StringBuilder sbOperNurse = new StringBuilder();
                sbOperNurse.Append(RefUsersDT(tempoperation_schedule1.FIRST_OPER_NURSE));
                sbOperNurse.Append(RefUsersDT(tempoperation_schedule1.SECOND_OPER_NURSE));
                sbOperNurse.Append(RefUsersDT(tempoperation_schedule1.THIRD_OPER_NURSE));
                sbOperNurse.Append(RefUsersDT(tempoperation_schedule1.FOURTH_OPER_NURSE));
                sbOperNurse.Append(RefUsersDT(tempoperation_schedule1.FIRST_OPER_NURSE));
                sbOperNurse.Append(RefUsersDT(tempoperation_schedule1.SECOND_SUPPLY_NURSE));
                sbOperNurse.Append(RefUsersDT(tempoperation_schedule1.THIRD_SUPPLY_NURSE));
                sbOperNurse.Append(RefUsersDT(tempoperation_schedule1.FOURTH_SUPPLY_NURSE));
                tempSchedule1Arr[2] = sbOperNurse.ToString();

                tempSchedule1Arr[3] = GetValue(tempoperation_schedule1.OPER_ROOM_NO);
                if (tempoperation_schedule1.SEQUENCE != null)
                {
                    tempSchedule1Arr[4] = tempoperation_schedule1.SEQUENCE.ToString();
                }
                labelSchedule.Text         = string.Format(sbschedule1.ToString(), tempSchedule1Arr);
                labelOperScheduleTime.Text = tempoperation_schedule1.SCHEDULED_DATE_TIME.Value.ToString("yyyy-MM-dd");
            }
            else
            {
                labelSchedule.Text            = string.Format(sbschedule1.ToString(), tempSchedule1Arr);
                labelOperScheduleTime.Visible = false;
            }
            #endregion

            #region 手术申请
            if (operScheduleList != null && operScheduleList.Count > 0)
            {
                MED_OPERATION_SCHEDULE tempoperation_schedule = operScheduleList[0];

                string[] tempScheduleArr = new string[7] {
                    "", "", "", "", "", "", ""
                };
                tempScheduleArr[0] = RefDeptDT(tempoperation_schedule.DEPT_CODE);
                tempScheduleArr[1] = GetValue(tempoperation_schedule.BED_NO);
                tempScheduleArr[2] = GetValue(tempoperation_schedule.DIAG_BEFORE_OPERATION);
                tempScheduleArr[3] = GetValue(tempoperation_schedule.OPERATION_NAME);
                tempScheduleArr[4] = GetValue(tempoperation_schedule.OPER_SCALE);
                tempScheduleArr[5] = GetValue(tempoperation_schedule.OPER_POSITION);

                labelOperReg.Text = string.Format("{0}{1}\r\n{2}\r\n{3}{4}\r\n{5}", tempScheduleArr);
                StringBuilder sbOper = new StringBuilder();
                sbOper.Append(RefUsersDT(tempoperation_schedule.SURGEON));
                sbOper.Append(RefUsersDT(tempoperation_schedule.FIRST_OPER_ASSISTANT));
                sbOper.Append(RefUsersDT(tempoperation_schedule.SECOND_OPER_ASSISTANT));
                sbOper.Append(RefUsersDT(tempoperation_schedule.THIRD_OPER_ASSISTANT));
                sbOper.Append(RefUsersDT(tempoperation_schedule.FOURTH_ANES_ASSISTANT));
                labelOper.Text = string.Format("手:{0}", sbOper.ToString());

                labelCreateDate.Text = tempoperation_schedule.REQ_DATE_TIME.Value.ToString("yyyy-Mm-dd");

                if (cardRow.EMERGENCY_IND == 1)
                {
                    pictureBoxJZ.Visible = true;
                }
                if (cardRow.RADIATE_IND == 2)
                {
                    pictureBoxFS.Visible = true;
                }
                if (cardRow.ISOLATION_IND == 2)
                {
                    pictureBoxGL.Visible = true;
                }
            }
            else
            {
                labelOperReg.Text    = string.Empty;
                labelOper.Text       = "手:";
                labelCreateDate.Text = string.Empty;
            }
            #endregion
        }
Exemplo n.º 18
0
 public RequestResult RevokedOpertionSchedule(MED_OPERATION_SCHEDULE operationSchedule)
 {
     return(Success(OperSchedule.RevokedOpertionSchedule(operationSchedule)));
 }
Exemplo n.º 19
0
        public bool SavePatientOperation(MED_OPERATION_SCHEDULE operSchedule, MED_PAT_VISIT patVisit,
                                         MED_PAT_MASTER_INDEX patMasterIndex, List <MED_OPERATION_NAME> operNameOldList,
                                         List <MED_OPERATION_NAME> operNameNewList, MED_OPERATION_MASTER operMaster,
                                         MED_ANESTHESIA_PLAN anesPlan, MED_ANESTHESIA_PLAN_PMH anesPlanPmh,
                                         MED_ANESTHESIA_PLAN_EXAM anesPlanExam, MED_OPERATION_MASTER_EXT operMasterExt)
        {
            bool flag = true;

            if (operSchedule != null)
            {
                flag = flag & dapper.Set <MED_OPERATION_SCHEDULE>().Save(operSchedule);
            }
            if (patVisit != null)
            {
                flag = flag & dapper.Set <MED_PAT_VISIT>().Save(patVisit);
            }
            if (patMasterIndex != null)
            {
                flag = flag & dapper.Set <MED_PAT_MASTER_INDEX>().Save(patMasterIndex);
            }
            if (operNameOldList != null && operNameOldList.Count > 0)
            {
                foreach (var item in operNameNewList)
                {
                    flag = flag & dapper.Set <MED_OPERATION_NAME>().Delete(item);
                }
            }
            if (operNameNewList != null && operNameNewList.Count > 0)
            {
                foreach (var item in operNameNewList)
                {
                    flag = flag & dapper.Set <MED_OPERATION_NAME>().Save(item);
                }
            }
            if (operMaster != null)
            {
                flag = flag & dapper.Set <MED_OPERATION_MASTER>().Save(operMaster);
            }
            if (anesPlan != null)
            {
                flag = flag & dapper.Set <MED_ANESTHESIA_PLAN>().Save(anesPlan);
            }
            if (anesPlanPmh != null)
            {
                flag = flag & dapper.Set <MED_ANESTHESIA_PLAN_PMH>().Save(anesPlanPmh);
            }
            if (anesPlanExam != null)
            {
                flag = flag & dapper.Set <MED_ANESTHESIA_PLAN_EXAM>().Save(anesPlanExam);
            }
            if (operMasterExt != null)
            {
                flag = flag & dapper.Set <MED_OPERATION_MASTER_EXT>().Save(operMasterExt);
            }
            if (flag)
            {
                dapper.SaveChanges();
            }

            return(flag);
        }
Exemplo n.º 20
0
        /// <summary>
        /// 手术撤销
        /// </summary>
        /// <param name="operationSchedule"></param>
        /// <returns></returns>
        public int RevokedOpertionSchedule(MED_OPERATION_SCHEDULE operationSchedule)
        {
            int flag = 0;

            if (operationSchedule.OPER_STATUS_CODE == 1)//从2变成1
            {
                dapper.Set <MED_OPERATION_SCHEDULE>().Update(operationSchedule, d => new
                {
                    d.OPER_STATUS_CODE,
                });
                flag = dapper.Set <MED_OPERATION_MASTER>().Delete(d => d.PATIENT_ID == operationSchedule.PATIENT_ID && d.VISIT_ID == operationSchedule.VISIT_ID && d.OPER_ID == operationSchedule.OPER_ID);
                dapper.Set <MED_OPERATION_NAME>().Delete(d => d.PATIENT_ID == operationSchedule.PATIENT_ID && d.VISIT_ID == operationSchedule.VISIT_ID && d.OPER_ID == operationSchedule.OPER_ID);
                dapper.Set <MED_ANESTHESIA_PLAN>().Delete(d => d.PATIENT_ID == operationSchedule.PATIENT_ID && d.VISIT_ID == operationSchedule.VISIT_ID && d.OPER_ID == operationSchedule.OPER_ID);
                dapper.SaveChanges();
            }
            else if (operationSchedule.OPER_STATUS_CODE == 0)//从1变成0
            {
                //获取当前撤销事件
                DateTime dtCurrentTime = Convert.ToDateTime(operationSchedule.SCHEDULED_DATE_TIME.ToString("d"));
                string   operRoom      = operationSchedule.OPER_ROOM;
                string   operRoomNo    = operationSchedule.OPER_ROOM_NO;
                int?     seq           = operationSchedule.SEQUENCE;

                //判断此手术后面是否全是是未提交的string
                string sql = sqlDict.GetSQLByKey("GetOperList");
                List <MED_OPERATION_SCHEDULE> list = dapper.Set <MED_OPERATION_SCHEDULE>().Query(sql, new { StartDateTime = dtCurrentTime, ENDDateTime = dtCurrentTime.AddDays(1), OperRoom = operRoom });

                operationSchedule.OPER_ROOM_NO         = null;
                operationSchedule.SEQUENCE             = 0;
                operationSchedule.OPERATING_TIME       = 0;
                operationSchedule.ANES_CONFIRM         = 0;
                operationSchedule.NURSE_CONFIRM        = 0;
                operationSchedule.FIRST_OPER_NURSE     = null;
                operationSchedule.FIRST_SUPPLY_NURSE   = null;
                operationSchedule.ANES_DOCTOR          = null;
                operationSchedule.FIRST_ANES_ASSISTANT = null;
                flag = dapper.Set <MED_OPERATION_SCHEDULE>().Update(operationSchedule, d => new
                {
                    d.OPER_ROOM_NO,
                    d.SEQUENCE,
                    d.OPERATING_TIME,
                    d.ANES_CONFIRM,
                    d.NURSE_CONFIRM,
                    d.FIRST_OPER_NURSE,
                    d.FIRST_SUPPLY_NURSE,
                    d.ANES_DOCTOR,
                    d.FIRST_ANES_ASSISTANT,
                    d.OPER_STATUS_CODE,
                });
                dapper.SaveChanges();

                //List<MED_OPERATION_SCHEDULE> listRoom = list.Where(d => d.OPER_ROOM_NO == operRoomNo).ToList();
                //List<MED_OPERATION_SCHEDULE> listUpdate = new List<MED_OPERATION_SCHEDULE>();
                //DateTime time1 = operationSchedule.SCHEDULED_DATE_TIME;
                //DateTime time2 = DateTime.Now;
                //int mark = 0;
                //bool isUpdate = true;
                //int? seqTemp = seq;
                //foreach (var item in listRoom)
                //{
                //    if (item.SEQUENCE > seq)
                //    {
                //        if (mark == 0)
                //        {
                //            time2 = item.SCHEDULED_DATE_TIME;
                //            mark = 1;
                //        }
                //        if (item.OPER_STATUS_CODE < 2)
                //        {
                //            //item.SEQUENCE = item.SEQUENCE - 1;

                //            item.SEQUENCE = seqTemp;
                //            seqTemp++;
                //            TimeSpan ts = time1 - time2;
                //            item.SCHEDULED_DATE_TIME = item.SCHEDULED_DATE_TIME.AddMinutes(ts.TotalMinutes);
                //            listUpdate.Add(item);

                //        }
                //        else
                //        {
                //            seqTemp = item.SEQUENCE + 1;

                //            time1 = item.SCHEDULED_DATE_TIME;

                //            time2 = item.SCHEDULED_DATE_TIME;

                //            //isUpdate = false;
                //        }
                //    }
                //}
                //if (isUpdate)
                //{
                //    dapper.Set<MED_OPERATION_SCHEDULE>().Update(listUpdate);
                //    dapper.SaveChanges();
                //}
            }
            return(flag);
        }
Exemplo n.º 21
0
 public RequestResult <bool> updateOperSchedule(MED_OPERATION_SCHEDULE data)
 {
     return(Success(_anesInfoService.updateOperSchedule(data)));
 }
Exemplo n.º 22
0
        public RequestResult <MED_OPERATION_SCHEDULE> GetOperSchedule(string patientID, int visitID, int operID)
        {
            MED_OPERATION_SCHEDULE operSchedule = _anesInfoService.GetOperSchedule(patientID, visitID, operID);

            return(Success(operSchedule));
        }
Exemplo n.º 23
0
        public RequestResult <int> UpdateOperationScheduleByPatientInfo(MED_OPERATION_SCHEDULE item, string type)
        {
            string address = "PacuOperationSchedule/UpdateOperationScheduleByPatientInfo?type=" + type;

            return(BaseRepository.PostCallApi <MED_OPERATION_SCHEDULE>(address, item));
        }
Exemplo n.º 24
0
        public RequestResult <bool> SavePatientOperation(dynamic dyParams)
        {
            RequestResult <bool> Result = new RequestResult <bool>();

            try
            {
                List <MED_OPERATION_NAME> operNameOldList = null;
                List <MED_OPERATION_NAME> operNameNewList = null;
                MED_OPERATION_MASTER      operMaster      = null;
                MED_ANESTHESIA_PLAN       anesPlan        = null;
                MED_ANESTHESIA_PLAN_PMH   anesPlanPmh     = null;
                MED_ANESTHESIA_PLAN_EXAM  anesPlanExam    = null;
                MED_PAT_MASTER_INDEX      patMasterIndex  = null;
                MED_PAT_VISIT             patVisit        = null;
                MED_OPERATION_SCHEDULE    operSchedlue    = null;
                MED_OPERATION_MASTER_EXT  operMasterExt   = null;

                if (dyParams.operSchedlue != null)
                {
                    string value = dyParams.operSchedlue.ToString();
                    operSchedlue = JsonConvert.DeserializeObject <MED_OPERATION_SCHEDULE>(value);
                }
                if (dyParams.patVisit != null)
                {
                    string value = dyParams.patVisit.ToString();
                    patVisit = JsonConvert.DeserializeObject <MED_PAT_VISIT>(value);
                }
                if (dyParams.patMasterIndex != null)
                {
                    string value = dyParams.patMasterIndex.ToString();
                    patMasterIndex = JsonConvert.DeserializeObject <MED_PAT_MASTER_INDEX>(value);
                }
                if (dyParams.operNameOldList != null)
                {
                    string value = dyParams.operNameOldList.ToString();
                    operNameOldList = JsonConvert.DeserializeObject <List <MED_OPERATION_NAME> >(value);
                }
                if (dyParams.operNameNewList != null)
                {
                    string value = dyParams.operNameNewList.ToString();
                    operNameNewList = JsonConvert.DeserializeObject <List <MED_OPERATION_NAME> >(value);
                }
                if (dyParams.operMaster != null)
                {
                    string value = dyParams.operMaster.ToString();
                    operMaster = JsonConvert.DeserializeObject <MED_OPERATION_MASTER>(value);
                }
                if (dyParams.anesPlan != null)
                {
                    string value = dyParams.anesPlan.ToString();
                    anesPlan = JsonConvert.DeserializeObject <MED_ANESTHESIA_PLAN>(value);
                }
                if (dyParams.anesPlanPmh != null)
                {
                    string value = dyParams.anesPlanPmh.ToString();
                    anesPlanPmh = JsonConvert.DeserializeObject <MED_ANESTHESIA_PLAN_PMH>(value);
                }
                if (dyParams.anesPlanExam != null)
                {
                    string value = dyParams.anesPlanExam.ToString();
                    anesPlanExam = JsonConvert.DeserializeObject <MED_ANESTHESIA_PLAN_EXAM>(value);
                }
                if (dyParams.operMasterExt != null)
                {
                    string value = dyParams.operMasterExt.ToString();
                    operMasterExt = JsonConvert.DeserializeObject <MED_OPERATION_MASTER_EXT>(value);
                }

                Result = Success(_pacuOperationInfoService.SavePatientOperation(operSchedlue, patVisit, patMasterIndex, operNameOldList, operNameNewList, operMaster, anesPlan, anesPlanPmh, anesPlanExam, operMasterExt));
            }
            catch (Exception ex)
            {
                Logger.Error("SavePatientOperation:" + ex.Message);
            }
            return(Result);
        }
Exemplo n.º 25
0
 public RequestResult <bool> UpdateOperationScheduleByPatientInfo(MED_OPERATION_SCHEDULE item, string type)
 {
     return(Success(_pacuOperationScheduleService.UpdateOperationScheduleByPatientInfo(item, type)));
 }