コード例 #1
0
        public bool Delete(DateTime timePoint, string itemCode, string itemName, string oldValue)
        {
            bool     result   = false;
            DateTime dtServer = DateTime.Now;
            List <MED_PAT_MONITOR_DATA_EXT> patMonitorDataExtList = AnesInfoService.ClientInstance.GetPatMonitorExtListByEvent(_patientID, _visitID, _operID, _eventNo).Where(x => x.TIME_POINT == timePoint && x.ITEM_CODE == itemCode).ToList();

            if (patMonitorDataExtList.Count > 0)
            {
                patMonitorDataExtList[0].DATA_MARK = 0;
            }
            else
            {
                MED_PAT_MONITOR_DATA_EXT patientMonitorDataRow = new MED_PAT_MONITOR_DATA_EXT();
                patientMonitorDataRow.PATIENT_ID       = _patientID;
                patientMonitorDataRow.VISIT_ID         = _visitID;
                patientMonitorDataRow.OPER_ID          = _operID;
                patientMonitorDataRow.TIME_POINT       = timePoint;
                patientMonitorDataRow.ITEM_NAME        = itemName;
                patientMonitorDataRow.ITEM_CODE        = itemCode;
                patientMonitorDataRow.ITEM_VALUE       = oldValue;
                patientMonitorDataRow.DATA_TYPE        = _eventNo;
                patientMonitorDataRow.LAST_MODIFY_DATE = dtServer;
                patientMonitorDataRow.OPERATOR         = _loginUser;
                patientMonitorDataRow.DATA_MARK        = 0;
                patMonitorDataExtList.Add(patientMonitorDataRow);
            }
            result = AnesInfoService.ClientInstance.SavePatMonitorExtList(patMonitorDataExtList);
            return(result);
        }
コード例 #2
0
        public bool Save()
        {
            if (_items.Count > 0)
            {
                DateTime dtServer = DateTime.Now;
                List <MED_PAT_MONITOR_DATA_EXT> patientMonitorExt = AnesInfoService.ClientInstance.GetPatMonitorExtListByEvent(_patientID, _visitID, _operID, _eventNo);
                foreach (NewMonitorDataItem item in _items)
                {
                    string valueString    = "";
                    string oldValueString = "";
                    if (item.ItemValue != null)
                    {
                        valueString = item.ItemValue.ToString();
                    }
                    if (string.IsNullOrEmpty(valueString))
                    {
                        valueString = "0";
                    }
                    if (item.OldValue != null)
                    {
                        oldValueString = item.OldValue.ToString();
                    }
                    List <MED_PAT_MONITOR_DATA_EXT> monitorExt = patientMonitorExt.Where(x => x.PATIENT_ID.Equals(_patientID) && x.VISIT_ID.Equals(_visitID) && x.OPER_ID.Equals(_operID) &&
                                                                                         x.TIME_POINT.Equals(item.TimePoint) && x.ITEM_NAME.Equals(item.ItemName) && x.DATA_TYPE.Equals(_eventNo) && x.ITEM_CODE.Equals(item.ItemCode)).ToList();

                    if (monitorExt != null && monitorExt.Count > 0)
                    {
                        MED_PAT_MONITOR_DATA_EXT patientMonitorDataRow = monitorExt[0];
                        patientMonitorDataRow.ITEM_VALUE       = valueString;
                        patientMonitorDataRow.LAST_MODIFY_DATE = dtServer;
                        patientMonitorDataRow.OPERATOR         = _loginUser;
                        patientMonitorDataRow.DATA_MARK        = 1;
                    }
                    else
                    {
                        MED_PAT_MONITOR_DATA_EXT patientMonitorDataRow = new MED_PAT_MONITOR_DATA_EXT();
                        patientMonitorDataRow.PATIENT_ID       = _patientID;
                        patientMonitorDataRow.VISIT_ID         = _visitID;
                        patientMonitorDataRow.OPER_ID          = _operID;
                        patientMonitorDataRow.TIME_POINT       = item.TimePoint;
                        patientMonitorDataRow.ITEM_NAME        = item.ItemName;
                        patientMonitorDataRow.ITEM_CODE        = item.ItemCode;
                        patientMonitorDataRow.ITEM_VALUE       = valueString;
                        patientMonitorDataRow.DATA_TYPE        = _eventNo;
                        patientMonitorDataRow.LAST_MODIFY_DATE = dtServer;
                        patientMonitorDataRow.OPERATOR         = _loginUser;
                        patientMonitorDataRow.DATA_MARK        = 1;
                        patientMonitorExt.Add(patientMonitorDataRow);
                    }
                }
                bool result = AnesInfoService.ClientInstance.SavePatMonitorExtList(patientMonitorExt);
                _items.Clear();
                return(result);
            }
            return(false);
        }
コード例 #3
0
        public void SavePoints(MED_VITAL_SIGN row)
        {
            List <MED_PAT_MONITOR_DATA_EXT> patientMonitorExt = AnesInfoService.ClientInstance.GetPatMonitorExtListByEvent(ExtendAppContext.Current.PatientInformationExtend.PATIENT_ID,
                                                                                                                           ExtendAppContext.Current.PatientInformationExtend.VISIT_ID, ExtendAppContext.Current.PatientInformationExtend.OPER_ID, ExtendAppContext.Current.EventNo);

            if (patientMonitorExt != null && patientMonitorExt.Count > 0)
            {
                List <MED_PAT_MONITOR_DATA_EXT> monitorExt = patientMonitorExt.Where(x => x.TIME_POINT.Equals(row.TIME_POINT) && x.ITEM_CODE.Equals(row.ITEM_CODE)).ToList();
                if (monitorExt != null && monitorExt.Count > 0)
                {
                    MED_PAT_MONITOR_DATA_EXT patientMonitorDataRow = monitorExt[0];
                    patientMonitorDataRow.ITEM_VALUE       = row.ITEM_VALUE;
                    patientMonitorDataRow.LAST_MODIFY_DATE = DateTime.Now;
                    patientMonitorDataRow.OPERATOR         = ExtendAppContext.Current.LoginUser == null ? "" : ExtendAppContext.Current.LoginUser.USER_JOB_ID;
                    patientMonitorDataRow.DATA_MARK        = 1;
                    patientMonitorDataRow.ModelStatus      = ModelStatus.Modeified;
                }
                else
                {
                    MED_PAT_MONITOR_DATA_EXT patientMonitorDataRow = new MED_PAT_MONITOR_DATA_EXT();
                    patientMonitorDataRow.PATIENT_ID       = ExtendAppContext.Current.PatientInformationExtend.PATIENT_ID;
                    patientMonitorDataRow.VISIT_ID         = ExtendAppContext.Current.PatientInformationExtend.VISIT_ID;
                    patientMonitorDataRow.OPER_ID          = ExtendAppContext.Current.PatientInformationExtend.OPER_ID;
                    patientMonitorDataRow.TIME_POINT       = row.TIME_POINT;
                    patientMonitorDataRow.ITEM_NAME        = row.ITEM_NAME;
                    patientMonitorDataRow.ITEM_CODE        = row.ITEM_CODE;
                    patientMonitorDataRow.ITEM_VALUE       = row.ITEM_VALUE;
                    patientMonitorDataRow.DATA_TYPE        = ExtendAppContext.Current.EventNo;
                    patientMonitorDataRow.LAST_MODIFY_DATE = DateTime.Now;
                    patientMonitorDataRow.OPERATOR         = ExtendAppContext.Current.LoginUser == null ? "" : ExtendAppContext.Current.LoginUser.USER_JOB_ID;
                    patientMonitorDataRow.DATA_MARK        = 1;
                    patientMonitorDataRow.ModelStatus      = ModelStatus.Add;
                    patientMonitorExt.Add(patientMonitorDataRow);
                }
            }
            else
            {
                MED_PAT_MONITOR_DATA_EXT patientMonitorDataRow = new MED_PAT_MONITOR_DATA_EXT();
                patientMonitorDataRow.PATIENT_ID       = ExtendAppContext.Current.PatientInformationExtend.PATIENT_ID;
                patientMonitorDataRow.VISIT_ID         = ExtendAppContext.Current.PatientInformationExtend.VISIT_ID;
                patientMonitorDataRow.OPER_ID          = ExtendAppContext.Current.PatientInformationExtend.OPER_ID;
                patientMonitorDataRow.TIME_POINT       = row.TIME_POINT;
                patientMonitorDataRow.ITEM_NAME        = row.ITEM_NAME;
                patientMonitorDataRow.ITEM_CODE        = row.ITEM_CODE;
                patientMonitorDataRow.ITEM_VALUE       = row.ITEM_VALUE;
                patientMonitorDataRow.DATA_TYPE        = ExtendAppContext.Current.EventNo;
                patientMonitorDataRow.LAST_MODIFY_DATE = DateTime.Now;
                patientMonitorDataRow.OPERATOR         = ExtendAppContext.Current.LoginUser == null ? "" : ExtendAppContext.Current.LoginUser.USER_JOB_ID;
                patientMonitorDataRow.DATA_MARK        = 1;
                patientMonitorDataRow.ModelStatus      = ModelStatus.Add;
                patientMonitorExt.Add(patientMonitorDataRow);
            }
            AnesInfoService.ClientInstance.SavePatMonitorExtList(patientMonitorExt);
        }
コード例 #4
0
        public bool Delete(string itemCode)
        {
            bool     result   = false;
            DateTime dtServer = accountRepository.GetServerTime().Data;
            List <MED_PAT_MONITOR_DATA_EXT> patMonitorDataExtList = operationInfoRepository.GetPatMonitorExtList(_patientID, _visitID, _operID, _eventNo).Data.Where(x => x.ITEM_CODE == itemCode).ToList();
            List <MED_PAT_MONITOR_DATA>     patMonitorDataList    = operationInfoRepository.GetPatMonitorDataListByEvent(_patientID, _visitID, _operID, _eventNo).Data.Where(x => x.ITEM_CODE == itemCode).ToList();

            if (patMonitorDataList != null && patMonitorDataList.Count > 0)
            {
                patMonitorDataList.ForEach(row =>
                {
                    List <MED_PAT_MONITOR_DATA_EXT> extList = patMonitorDataExtList.Where(x => x.TIME_POINT.Equals(row.TIME_POINT) && x.ITEM_NAME.Equals(row.ITEM_NAME) && x.ITEM_CODE.Equals(row.ITEM_CODE)).ToList();
                    if (extList.Count > 0)
                    {
                        MED_PAT_MONITOR_DATA_EXT patientMonitorDataRow = extList[0];
                        patientMonitorDataRow.ITEM_VALUE       = row.ITEM_VALUE;
                        patientMonitorDataRow.LAST_MODIFY_DATE = dtServer;
                        patientMonitorDataRow.OPERATOR         = _loginUser;
                        patientMonitorDataRow.DATA_MARK        = 0;
                    }
                    else
                    {
                        MED_PAT_MONITOR_DATA_EXT patientMonitorDataRow = new MED_PAT_MONITOR_DATA_EXT();
                        patientMonitorDataRow.PATIENT_ID       = _patientID;
                        patientMonitorDataRow.VISIT_ID         = _visitID;
                        patientMonitorDataRow.OPER_ID          = _operID;
                        patientMonitorDataRow.TIME_POINT       = row.TIME_POINT;
                        patientMonitorDataRow.ITEM_NAME        = row.ITEM_NAME;
                        patientMonitorDataRow.ITEM_CODE        = row.ITEM_CODE;
                        patientMonitorDataRow.ITEM_VALUE       = row.ITEM_VALUE;
                        patientMonitorDataRow.DATA_TYPE        = _eventNo;
                        patientMonitorDataRow.LAST_MODIFY_DATE = dtServer;
                        patientMonitorDataRow.OPERATOR         = _loginUser;
                        patientMonitorDataRow.DATA_MARK        = 0;
                        patMonitorDataExtList.Add(patientMonitorDataRow);
                    }
                });
            }
            if (patMonitorDataExtList != null)
            {
                patMonitorDataExtList.ForEach(row =>
                {
                    row.DATA_MARK = 0;
                });
            }

            result = operationInfoRepository.SavePatMonitorExtList(patMonitorDataExtList).Data > 0 ? true : false;

            return(result);
        }
コード例 #5
0
        public bool Delete(DateTime timePoint)
        {
            bool     result   = false;
            DateTime dtServer = DateTime.Now;
            List <MED_PAT_MONITOR_DATA_EXT> patMonitorDataExtList = AnesInfoService.ClientInstance.GetPatMonitorExtListByEvent(_patientID, _visitID, _operID, _eventNo).Where(x => x.TIME_POINT == timePoint).ToList();
            List <MED_PAT_MONITOR_DATA>     patMonitorDataList    = AnesInfoService.ClientInstance.GetPatMonitorDataListByEvent(_patientID, _visitID, _operID, _eventNo).Where(x => x.TIME_POINT == timePoint).ToList();

            if (patMonitorDataList != null && patMonitorDataList.Count > 0)
            {
                patMonitorDataList.ForEach(row =>
                {
                    List <MED_PAT_MONITOR_DATA_EXT> extList = patMonitorDataExtList.Where(x => x.TIME_POINT.Equals(row.TIME_POINT) && x.ITEM_NAME.Equals(row.ITEM_NAME) && x.ITEM_CODE.Equals(row.ITEM_CODE)).ToList();
                    if (extList.Count > 0)
                    {
                        MED_PAT_MONITOR_DATA_EXT patientMonitorDataRow = extList[0];
                        patientMonitorDataRow.ITEM_VALUE       = row.ITEM_VALUE;
                        patientMonitorDataRow.LAST_MODIFY_DATE = dtServer;
                        patientMonitorDataRow.OPERATOR         = _loginUser;
                        patientMonitorDataRow.DATA_MARK        = 0;
                    }
                    else
                    {
                        MED_PAT_MONITOR_DATA_EXT patientMonitorDataRow = new MED_PAT_MONITOR_DATA_EXT();
                        patientMonitorDataRow.PATIENT_ID       = _patientID;
                        patientMonitorDataRow.VISIT_ID         = _visitID;
                        patientMonitorDataRow.OPER_ID          = _operID;
                        patientMonitorDataRow.TIME_POINT       = row.TIME_POINT;
                        patientMonitorDataRow.ITEM_NAME        = row.ITEM_NAME;
                        patientMonitorDataRow.ITEM_CODE        = row.ITEM_CODE;
                        patientMonitorDataRow.ITEM_VALUE       = row.ITEM_VALUE;
                        patientMonitorDataRow.DATA_TYPE        = _eventNo;
                        patientMonitorDataRow.LAST_MODIFY_DATE = dtServer;
                        patientMonitorDataRow.OPERATOR         = _loginUser;
                        patientMonitorDataRow.DATA_MARK        = 0;
                        patMonitorDataExtList.Add(patientMonitorDataRow);
                    }
                });
            }
            if (patMonitorDataExtList != null)
            {
                patMonitorDataExtList.ForEach(row =>
                {
                    row.DATA_MARK = 0;
                });
            }
            result = AnesInfoService.ClientInstance.SavePatMonitorExtList(patMonitorDataExtList);
            return(result);
        }
コード例 #6
0
        private void UpdateBreathPara(List <MED_PAT_MONITOR_DATA_EXT> patMonitorDataExtDataTable, string patientID, int visitID, int operID, DateTime timePoint, string code, string value)
        {
            List <MED_PAT_MONITOR_DATA_EXT> rows = patMonitorDataExtDataTable.Where(x => x.ITEM_CODE == code && x.TIME_POINT == timePoint).ToList();

            if (rows.Count == 1)
            {
                rows[0].ITEM_VALUE = value;
            }
            else
            {
                MED_PAT_MONITOR_DATA_EXT row = new MED_PAT_MONITOR_DATA_EXT();
                row.PATIENT_ID = patientID;
                row.VISIT_ID   = visitID;
                row.OPER_ID    = operID;
                row.TIME_POINT = timePoint;
                row.ITEM_CODE  = code;
                row.ITEM_VALUE = value;
                row.DATA_MARK  = 1;
                row.DATA_TYPE  = "0";
                patMonitorDataExtDataTable.Add(row);
            }
        }
コード例 #7
0
        /// <summary>
        /// 保存数据
        /// </summary>
        /// <returns></returns>
        protected override SaveResult SaveData()
        {
            SaveResult saveResult = SaveResult.Fail;
            ObservableCollection <dynamic>  ld                = VitalSignSource as ObservableCollection <dynamic>;
            IEnumerable <string>            vitalColumns      = ld[0].GetDynamicMemberNames();
            List <MED_PAT_MONITOR_DATA_EXT> patientMonitorExt = AnesInfoService.ClientInstance.GetPatMonitorExtListByEvent(_patientID, _visitID, _operID, _eventNo);

            foreach (dynamic itemList in VitalSignSource)
            {
                foreach (var propName in vitalColumns)
                {
                    MED_VITAL_SIGN row = itemList.GetMemberValue(propName) as MED_VITAL_SIGN;
                    if (row.ModelStatus == ModelStatus.Add && !string.IsNullOrEmpty(row.ITEM_VALUE))// row.ModelStatus的变化来自于RaisePropertyChanged方法!(BaseModel里)
                    {
                        MED_PAT_MONITOR_DATA_EXT patientMonitorDataRow = new MED_PAT_MONITOR_DATA_EXT();
                        patientMonitorDataRow.PATIENT_ID       = _patientID;
                        patientMonitorDataRow.VISIT_ID         = _visitID;
                        patientMonitorDataRow.OPER_ID          = _operID;
                        patientMonitorDataRow.TIME_POINT       = row.TIME_POINT;
                        patientMonitorDataRow.ITEM_NAME        = row.ITEM_NAME;
                        patientMonitorDataRow.ITEM_CODE        = row.ITEM_CODE;
                        patientMonitorDataRow.ITEM_VALUE       = row.ITEM_VALUE;
                        patientMonitorDataRow.DATA_TYPE        = _eventNo;
                        patientMonitorDataRow.LAST_MODIFY_DATE = DateTime.Now;
                        patientMonitorDataRow.OPERATOR         = ExtendAppContext.Current.LoginUser == null ? "" : ExtendAppContext.Current.LoginUser.USER_JOB_ID;
                        patientMonitorDataRow.DATA_MARK        = 1;
                        patientMonitorDataRow.ModelStatus      = ModelStatus.Add;
                        patientMonitorExt.Add(patientMonitorDataRow);
                    }
                    else if (row.ModelStatus == ModelStatus.Modeified)
                    {
                        List <MED_PAT_MONITOR_DATA_EXT> monitorExt = patientMonitorExt.Where(x => x.PATIENT_ID.Equals(_patientID) && x.VISIT_ID.Equals(_visitID) && x.OPER_ID.Equals(_operID) &&
                                                                                             x.TIME_POINT.Equals(row.TIME_POINT) && x.ITEM_NAME.Equals(row.ITEM_NAME) && x.DATA_TYPE.Equals(_eventNo) && x.ITEM_CODE.Equals(row.ITEM_CODE)).ToList();

                        if (monitorExt != null && monitorExt.Count > 0)
                        {
                            MED_PAT_MONITOR_DATA_EXT patientMonitorDataRow = monitorExt[0];
                            patientMonitorDataRow.ITEM_VALUE       = string.IsNullOrEmpty(row.ITEM_VALUE) ? "/" : row.ITEM_VALUE;
                            patientMonitorDataRow.LAST_MODIFY_DATE = DateTime.Now;
                            patientMonitorDataRow.OPERATOR         = ExtendAppContext.Current.LoginUser == null ? "" : ExtendAppContext.Current.LoginUser.USER_JOB_ID;
                            patientMonitorDataRow.DATA_MARK        = 1;
                            patientMonitorDataRow.ModelStatus      = ModelStatus.Modeified;
                        }
                        else if (!string.IsNullOrEmpty(row.ITEM_VALUE) || !row.IsShowColumn)// MED_PAT_MONITOR_DATA_EXT表里不存在这条数据,且此条数据ITEM_VALUE有值
                        {
                            MED_PAT_MONITOR_DATA_EXT patientMonitorDataRow = new MED_PAT_MONITOR_DATA_EXT();
                            patientMonitorDataRow.PATIENT_ID       = _patientID;
                            patientMonitorDataRow.VISIT_ID         = _visitID;
                            patientMonitorDataRow.OPER_ID          = _operID;
                            patientMonitorDataRow.TIME_POINT       = row.TIME_POINT;
                            patientMonitorDataRow.ITEM_NAME        = row.ITEM_NAME;
                            patientMonitorDataRow.ITEM_CODE        = row.ITEM_CODE;
                            patientMonitorDataRow.ITEM_VALUE       = null == row.ITEM_VALUE ? "/" : row.ITEM_VALUE;// 当row.IsShowColumn=fasle,ITEM_VALUE才会=“/”
                            patientMonitorDataRow.DATA_TYPE        = _eventNo;
                            patientMonitorDataRow.LAST_MODIFY_DATE = DateTime.Now;
                            patientMonitorDataRow.OPERATOR         = ExtendAppContext.Current.LoginUser == null ? "" : ExtendAppContext.Current.LoginUser.USER_JOB_ID;
                            patientMonitorDataRow.DATA_MARK        = 1;
                            patientMonitorDataRow.ModelStatus      = ModelStatus.Add;
                            patientMonitorExt.Add(patientMonitorDataRow);
                        }
                        else if (string.IsNullOrEmpty(row.ITEM_VALUE) && row.IsShowColumn)
                        {
                            MED_PAT_MONITOR_DATA_EXT patientMonitorDataRow = new MED_PAT_MONITOR_DATA_EXT();
                            patientMonitorDataRow.PATIENT_ID       = _patientID;
                            patientMonitorDataRow.VISIT_ID         = _visitID;
                            patientMonitorDataRow.OPER_ID          = _operID;
                            patientMonitorDataRow.TIME_POINT       = row.TIME_POINT;
                            patientMonitorDataRow.ITEM_NAME        = row.ITEM_NAME;
                            patientMonitorDataRow.ITEM_CODE        = row.ITEM_CODE;
                            patientMonitorDataRow.ITEM_VALUE       = string.IsNullOrEmpty(row.ITEM_VALUE) ? "/" : row.ITEM_VALUE;
                            patientMonitorDataRow.DATA_TYPE        = _eventNo;
                            patientMonitorDataRow.LAST_MODIFY_DATE = DateTime.Now;
                            patientMonitorDataRow.OPERATOR         = ExtendAppContext.Current.LoginUser == null ? "" : ExtendAppContext.Current.LoginUser.USER_JOB_ID;
                            patientMonitorDataRow.DATA_MARK        = 1;
                            patientMonitorDataRow.ModelStatus      = ModelStatus.Add;
                            patientMonitorExt.Add(patientMonitorDataRow);
                        }
                    }
                }
            }

            // 如果一个时间点即存在隐藏的(DATA_MARK == 0)又存在显示的(DATA_MARK == 1),则把隐藏的数据删除掉
            List <DateTime> timePointList = new List <DateTime>();

            foreach (MED_PAT_MONITOR_DATA_EXT item in patientMonitorExt)
            {
                if (!timePointList.Contains(item.TIME_POINT))
                {
                    timePointList.Add(item.TIME_POINT);
                }
            }

            foreach (DateTime dt in timePointList)
            {
                int unShow = patientMonitorExt.Where(x => x.TIME_POINT == dt && x.DATA_MARK == 0).ToList().Count();
                int show   = patientMonitorExt.Where(x => x.TIME_POINT == dt && x.DATA_MARK == 1).ToList().Count();
                if (unShow > 0 && show > 0)
                {
                    patientMonitorExt.ForEach(tempRow =>
                    {
                        if (tempRow.TIME_POINT == dt && tempRow.DATA_MARK == 0)//  在自动生成列时,去除 data_mark=0的列
                        {
                            tempRow.ModelStatus = ModelStatus.Deleted;
                        }
                    });
                }
            }



            bool result = AnesInfoService.ClientInstance.SavePatMonitorExtList(patientMonitorExt);

            if (result)
            {
                foreach (dynamic itemList in VitalSignSource)
                {
                    foreach (var propName in vitalColumns)
                    {
                        MED_VITAL_SIGN row = itemList.GetMemberValue(propName) as MED_VITAL_SIGN;
                        row.ModelStatus = ModelStatus.Default;
                    }
                }
            }

            if (result)
            {
                saveResult = SaveResult.Success;
            }

            return(saveResult);
        }