示例#1
0
 public RequestResult <int> SaveOutOperatingRoomAnesRecordData(OutOperatingRoomAnesRecordEntity model)
 {
     return(Success(AnesInfo.SaveOutOperatingRoomAnesRecordData(model)));
 }
示例#2
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);
        }