public void UpdateDataPoint(IntakeAndOutputData data, DateTime?time) { var anesEvent = AnesInfoService.ClientInstance.GetAnesthesiaEventByEventNo(_patientID, _visitID, _operID, _eventNo); foreach (MED_ANESTHESIA_EVENT row in anesEvent) { if (row.EVENT_ITEM_NAME == data.Name) { if (row.DURATIVE_INDICATOR == 1) { // 会导致所有的数据都跟着变 if ((data.BeginTime.HasValue && row.START_TIME.HasValue && data.BeginTime.Value == row.START_TIME.Value) || (data.EndTime.HasValue && row.END_TIME.HasValue && data.EndTime.Value == row.END_TIME.Value)) { row.START_TIME = data.BeginTime; row.END_TIME = data.EndTime; row.ModelStatus = ModelStatus.Modeified; break; } } else { if (row.START_TIME >= time.Value.AddMinutes(-1) && row.START_TIME <= time.Value.AddMinutes(1)) { row.START_TIME = data.OnetimeData.ExcuteTime; row.ModelStatus = ModelStatus.Modeified; break; } } } } AnesInfoService.ClientInstance.UpadteAnesthesiaEvent(anesEvent); }
/// <summary> /// 新增数据 /// </summary> /// <param name="Data"></param> public void AddData(IntakeAndOutputData Data) { if (Data == null) { return; } List <IntakeAndOutputData> DataList = new List <IntakeAndOutputData>() { Data }; switch (Data.InAndOutType) { case IntakeAndOutputType.Medicine: graphMedicine.AddData(DataList); break; case IntakeAndOutputType.Output: graphOutput.AddData(DataList); break; case IntakeAndOutputType.Infusion: graphInfusion.AddData(DataList); break; } }
public void DataPointGragHandler(object sender, IntakeAndOutputData date, DateTime?time) { IntakeAndOutputDataEventArgs args = new IntakeAndOutputDataEventArgs(DataPointDragRoutedEvent, sender); args.DataPoint = date; args.BeforeTime = time; this.RaiseEvent(args); }
public override void LoadData() { if (ExtendAppContext.Current.PatientInformationExtend == null) { return; } _patientID = ExtendAppContext.Current.PatientInformationExtend.PATIENT_ID; _visitID = ExtendAppContext.Current.PatientInformationExtend.VISIT_ID; _operID = ExtendAppContext.Current.PatientInformationExtend.OPER_ID; _eventNo = "0"; var anesEvent = AnesInfoService.ClientInstance.GetAnesthesiaEventByEventNo(_patientID, _visitID, _operID, _eventNo); var vitalSign = AnesInfoService.ClientInstance.GetVitalSignData(_patientID, _visitID, _operID, _eventNo, false); var operMaster = AnesInfoService.ClientInstance.GetOperationMaster(_patientID, _visitID, _operID); ScheduledTimeViewModel scheduledTimeViewModel = new ScheduledTimeViewModel(); DateTimeRangeModel pageTimeRange = scheduledTimeViewModel.GetGraphDateTime(vitalSign, anesEvent, _eventNo, operMaster); xAxisSetting = scheduledTimeViewModel.SetAxisSetting(pageTimeRange, false); List <IntakeAndOutputData> DataList = new List <IntakeAndOutputData>(); var listItem = anesEvent.FindAll(delegate(MED_ANESTHESIA_EVENT a) { return(a.EVENT_CLASS_CODE == "2" || a.EVENT_CLASS_CODE == "3" || a.EVENT_CLASS_CODE == "4" || a.EVENT_CLASS_CODE == "B" || a.EVENT_CLASS_CODE == "C" || a.EVENT_CLASS_CODE == "D"); }); var oxygen = listItem.FindAll(delegate(MED_ANESTHESIA_EVENT a) { return(a.EVENT_CLASS_CODE == "4"); }); if (oxygen.Count > 0) { foreach (var item in oxygen) { double showNum = 0; double.TryParse(item.PERFORM_SPEED.ToString(), out showNum); IntakeAndOutputData data = new IntakeAndOutputData(item.EVENT_ITEM_NAME, showNum, item.SPEED_UNIT); data.BeginTime = item.START_TIME.Value.AddSeconds(0 - item.START_TIME.Value.Second); if (item.END_TIME != null) { data.EndTime = item.END_TIME.Value.AddSeconds(0 - item.END_TIME.Value.Second); } data.ToolTip = ""; DataList.Add(data); } } foreach (var item in listItem) { if (item.EVENT_CLASS_CODE == "2" || item.EVENT_CLASS_CODE == "C") { IntakeAndOutputData data; if (item.DURATIVE_INDICATOR == 1) { double showNum = 0; if (item.PERFORM_SPEED.HasValue || item.PERFORM_SPEED > 0) { double.TryParse(item.PERFORM_SPEED.ToString(), out showNum); data = new IntakeAndOutputData(item.EVENT_ITEM_NAME, showNum, item.SPEED_UNIT); } else { double.TryParse(item.DOSAGE.ToString(), out showNum); data = new IntakeAndOutputData(item.EVENT_ITEM_NAME, showNum, item.DOSAGE_UNITS); } data.BeginTime = item.START_TIME.Value.AddSeconds(0 - item.START_TIME.Value.Second); if (item.END_TIME != null) { data.EndTime = item.END_TIME.Value.AddSeconds(0 - item.END_TIME.Value.Second); } } else { double showNum = 0; double.TryParse(item.DOSAGE.ToString(), out showNum); data = new IntakeAndOutputData(item.EVENT_ITEM_NAME, showNum, item.DOSAGE_UNITS); data.OnetimeData = new IntakeAndOutputData.OneTimeIntakeAndOut(item.START_TIME != null ? item.START_TIME.Value.AddSeconds(0 - item.START_TIME.Value.Second) : DateTime.Now); } DataList.Add(data); } else if (item.EVENT_CLASS_CODE == "D") { double showNum = 0; double.TryParse(item.DOSAGE.ToString(), out showNum); IntakeAndOutputData data = new IntakeAndOutputData(item.EVENT_ITEM_NAME, showNum, item.DOSAGE_UNITS, IntakeAndOutputType.Output); if (item.DURATIVE_INDICATOR == 1) { data.BeginTime = item.START_TIME.Value.AddSeconds(0 - item.START_TIME.Value.Second); if (item.END_TIME != null) { data.EndTime = item.END_TIME.Value.AddSeconds(0 - item.END_TIME.Value.Second); } } else { if (item.EVENT_ITEM_NAME.Contains("尿")) { data.OnetimeData = new IntakeAndOutputData.OneTimeIntakeAndOut(item.START_TIME != null ? item.START_TIME.Value.AddSeconds(0 - item.START_TIME.Value.Second) : DateTime.Now, "尿", Color.FromRgb(0x66, 0xFF, 0xCC)); } else if (item.EVENT_ITEM_NAME.Contains("血")) { data.OnetimeData = new IntakeAndOutputData.OneTimeIntakeAndOut(item.START_TIME != null ? item.START_TIME.Value.AddSeconds(0 - item.START_TIME.Value.Second) : DateTime.Now, "血", Color.FromRgb(0xCC, 0xCC, 0x00)); } else { data.OnetimeData = new IntakeAndOutputData.OneTimeIntakeAndOut(item.START_TIME != null ? item.START_TIME.Value.AddSeconds(0 - item.START_TIME.Value.Second) : DateTime.Now, "引", Color.FromRgb(0xCC, 0xCC, 0x00)); } } DataList.Add(data); } else if (item.EVENT_CLASS_CODE == "3" || item.EVENT_CLASS_CODE == "B") { IntakeAndOutputData data; if (item.DURATIVE_INDICATOR == 1) { double showNum = 0; //if (item.PERFORM_SPEED.HasValue || item.PERFORM_SPEED > 0) //{ // double.TryParse(item.PERFORM_SPEED.ToString(), out showNum); // data = new IntakeAndOutputData(item.EVENT_ITEM_NAME, showNum, item.SPEED_UNIT, IntakeAndOutputType.Infusion); //} //else //{ double.TryParse(item.DOSAGE.ToString(), out showNum); data = new IntakeAndOutputData(item.EVENT_ITEM_NAME, showNum, item.DOSAGE_UNITS, IntakeAndOutputType.Infusion); //} data.BeginTime = item.START_TIME.Value.AddSeconds(0 - item.START_TIME.Value.Second); if (item.END_TIME != null) { data.EndTime = item.END_TIME.Value.AddSeconds(0 - item.END_TIME.Value.Second); } } else { double showNum = 0; double.TryParse(item.DOSAGE.ToString(), out showNum); data = new IntakeAndOutputData(item.EVENT_ITEM_NAME, showNum, item.DOSAGE_UNITS, IntakeAndOutputType.Infusion); data.OnetimeData = new IntakeAndOutputData.OneTimeIntakeAndOut(item.START_TIME != null ? item.START_TIME.Value.AddSeconds(0 - item.START_TIME.Value.Second) : DateTime.Now); } DataList.Add(data); } } InputOutData = DataList; }
/// <summary> /// ¹¹Ôì·½·¨ /// </summary> public TestViewModel() { //OperationDocLib lr = new OperationDocLib(); //lr.GetAnesDoc("Âé×í¼Ç¼µ¥"); //var aaa = AnesInfoService.ClientInstance.GetAnesthesiaPlan("1153772", 1, 1); //LoadReport lr = new LoadReport(); //lr.LoadReportByName("Âé×íµ¥"); DateTime begin = DateTime.Now.Date.AddHours(9); List <IntakeAndOutputData> DataList = new List <IntakeAndOutputData>(); IntakeAndOutputData data = new IntakeAndOutputData("ÑõÆø£¨ÎüÈ룩", 5, "L/min"); data.BeginTime = begin.AddMinutes(22); //data.EndTime = data.BeginTime.Value.AddMinutes(26); DataList.Add(data); data = new IntakeAndOutputData("5%ÆÏÌÑÌÇ", 500, "mL"); data.OnetimeData = new IntakeAndOutputData.OneTimeIntakeAndOut(begin.AddMinutes(53)); DataList.Add(data); data = new IntakeAndOutputData("10%ÆÏÌÑÌÇ", 500, "mL"); data.OnetimeData = new IntakeAndOutputData.OneTimeIntakeAndOut(begin.AddMinutes(53)); DataList.Add(data); data = new IntakeAndOutputData("15%ÆÏÌÑÌÇ", 500, "mL"); data.OnetimeData = new IntakeAndOutputData.OneTimeIntakeAndOut(begin.AddMinutes(53)); DataList.Add(data); data = new IntakeAndOutputData("Äò", 1, "L", IntakeAndOutputType.Output); data.OnetimeData = new IntakeAndOutputData.OneTimeIntakeAndOut(begin.AddMinutes(33)); DataList.Add(data); data = new IntakeAndOutputData("Ѫ", 500, "mL", IntakeAndOutputType.Output); data.OnetimeData = new IntakeAndOutputData.OneTimeIntakeAndOut(begin.AddMinutes(33)); DataList.Add(data); data = new IntakeAndOutputData("ÒýÁ÷", 500, "mL", IntakeAndOutputType.Output); data.OnetimeData = new IntakeAndOutputData.OneTimeIntakeAndOut(begin.AddMinutes(33)); DataList.Add(data); data = new IntakeAndOutputData("ÒýÁ÷1", 500, "mL", IntakeAndOutputType.Output); data.OnetimeData = new IntakeAndOutputData.OneTimeIntakeAndOut(begin.AddMinutes(33)); DataList.Add(data); data = new IntakeAndOutputData("ÒýÁ÷2", 500, "mL", IntakeAndOutputType.Output); data.OnetimeData = new IntakeAndOutputData.OneTimeIntakeAndOut(begin.AddMinutes(33)); DataList.Add(data); data = new IntakeAndOutputData("ÒýÁ÷3", 500, "mL", IntakeAndOutputType.Output); data.OnetimeData = new IntakeAndOutputData.OneTimeIntakeAndOut(begin.AddMinutes(33)); DataList.Add(data); data = new IntakeAndOutputData("¸´·½ÂÈ»¯ÄÆ×¢ÉäÒº", 500, "ml", IntakeAndOutputType.Infusion); data.BeginTime = begin.AddMinutes(22); data.EndTime = data.BeginTime.Value.AddMinutes(39); DataList.Add(data); _InputOutData = DataList; AxisSetting axisSetting = new AxisSetting(); axisSetting.BeginTime = begin; axisSetting.EndTime = begin.AddHours(3).AddMinutes(3); axisSetting.MoveMinLimitTime = begin.AddHours(-3); axisSetting.MoveMaxLimitTime = axisSetting.EndTime.Value.AddHours(1); xAxisSetting = axisSetting; _YAxisSettings = new List <YAxisSetting>() { new YAxisSetting() { MinVal = 0, MaxVal = 320, MinorStep = 0, MajorStep = 20, IsPrimary = true, Index = 0, Title = "xxx", Unit = "mmHg" } , new YAxisSetting() { MinVal = 10, MaxVal = 42, MinorStep = 0, MajorStep = 2, IsPrimary = false, Index = 1, Title = "ÌåÎÂ", Unit = "¡æ" } }; _RescueTimeList = new List <RescueTime>() { new RescueTime(begin.AddMinutes(30), begin.AddHours(1)) , new RescueTime(begin.AddHours(2), begin.AddHours(2).AddMinutes(30)) }; //»³±ÆøÁ¿Í¼±ê _breathParam = new BreathParaModel(); _breathParam.TopParamName = "I:E"; _breathParam.LeftParamName = "TVE"; _breathParam.RightParamName = "f"; _breathParam.BreathParalList.Add(begin.AddMinutes(68), new BreathParaDetail("30", "120", "40")); _breathParam.BreathParalList.Add(begin.AddMinutes(83), new BreathParaDetail("30", "120", "40")); _breathParam.BreathParalList.Add(begin.AddMinutes(95), new BreathParaDetail("30", "120", "40")); _breathParam.BreathParalList.Add(begin.AddMinutes(110), new BreathParaDetail("30", "120", "40")); //ÇúÏß _Curves = new List <VitalSignCurveDetailModel>(); List <SymbolModel> symbolList = new List <SymbolModel>(); symbolList.Add(new SymbolModel(SymbolType.None) { Text = "#" }); Model.InOperationModel.VitalSignCurveDetailModel curve = new Model.InOperationModel.VitalSignCurveDetailModel("²âÊÔ", 0, System.Drawing.Color.Blue, true); curve.Points = new List <VitalSignPointModel>(); curve.Points.Add(new VitalSignPointModel(begin.AddMinutes(68), "#", curve, null, string.Empty)); curve.Points.Add(new VitalSignPointModel(begin.AddMinutes(72), "#", curve, null, string.Empty)); curve.Points.Add(new VitalSignPointModel(begin.AddMinutes(83), "#", curve, null, string.Empty)); curve.Points.Add(new VitalSignPointModel(begin.AddMinutes(97), "#", curve, null, string.Empty)); _Curves.Add(curve); curve = new Model.InOperationModel.VitalSignCurveDetailModel("²âÊÔ2", 0, System.Drawing.Color.Blue, true); curve.Points = new List <VitalSignPointModel>(); curve.Points.Add(new VitalSignPointModel(begin.AddMinutes(68), "#", curve, null, string.Empty)); curve.Points.Add(new VitalSignPointModel(begin.AddMinutes(72), "#", curve, null, string.Empty)); curve.Points.Add(new VitalSignPointModel(begin.AddMinutes(83), "#", curve, null, string.Empty)); curve.Points.Add(new VitalSignPointModel(begin.AddMinutes(97), "#", curve, null, string.Empty)); _Curves.Add(curve); curve = new Model.InOperationModel.VitalSignCurveDetailModel("ÊæÕÅѹ", 0, System.Drawing.Color.FromArgb(0xFF, 0x1D, 0xAD, 0xE7)); curve.Points = new List <VitalSignPointModel>(); SymbolType stype = SymbolType.VLetter; SymbolModel smodel = new SymbolModel(stype); curve.Points.Add(new VitalSignPointModel(begin.AddMinutes(14), 100, curve, smodel, string.Empty)); curve.Points.Add(new VitalSignPointModel(begin.AddMinutes(32), 1300, curve, smodel, string.Empty)); curve.Points.Add(new VitalSignPointModel(begin.AddMinutes(64), 200, curve, smodel, string.Empty)); curve.Points.Add(new VitalSignPointModel(begin.AddMinutes(92), -100, curve, smodel, string.Empty)); curve.Points.Add(new VitalSignPointModel(begin.AddMinutes(120), 300, curve, smodel, string.Empty)); curve.LegendList = new List <LegendItem>() { new LegendItem() { DisplayName = "ÊæÕÅѹ", Symbol = smodel } }; _Curves.Add(curve); curve = new Model.InOperationModel.VitalSignCurveDetailModel("ÊÕËõѹ", 0, System.Drawing.Color.RoyalBlue); curve.Points = new List <VitalSignPointModel>(); stype = SymbolType.VLetterDown; smodel = new SymbolModel(stype); curve.Points.Add(new VitalSignPointModel(begin.AddMinutes(11), 80, curve, smodel, string.Empty)); curve.Points.Add(new VitalSignPointModel(begin.AddMinutes(50), 110, curve, smodel, string.Empty)); curve.Points.Add(new VitalSignPointModel(begin.AddMinutes(64), 130, curve, smodel, string.Empty)); curve.Points.Add(new VitalSignPointModel(begin.AddMinutes(92), 150, curve, smodel, string.Empty)); curve.Points.Add(new VitalSignPointModel(begin.AddMinutes(120), 220, curve, smodel, string.Empty)); curve.LegendList = new List <LegendItem>() { new LegendItem() { DisplayName = "ÊÕËõѹ", Symbol = smodel } }; _Curves.Add(curve); curve = new Model.InOperationModel.VitalSignCurveDetailModel("²âÊÔµÄ", 0, System.Drawing.Color.Chocolate); curve.Points = new List <VitalSignPointModel>(); stype = SymbolType.Triangle; smodel = new SymbolModel(stype); curve.Points.Add(new VitalSignPointModel(begin.AddMinutes(23), 60, curve, smodel, string.Empty)); curve.Points.Add(new VitalSignPointModel(begin.AddMinutes(32), 78, curve, smodel, string.Empty)); curve.Points.Add(new VitalSignPointModel(begin.AddMinutes(64), 82, curve, smodel, string.Empty)); curve.Points.Add(new VitalSignPointModel(begin.AddMinutes(92), 90, curve, smodel, string.Empty)); curve.Points.Add(new VitalSignPointModel(begin.AddMinutes(120), 110, curve, smodel, string.Empty)); curve.LegendList = new List <LegendItem>() { new LegendItem() { DisplayName = "²âÊÔµÄ", Symbol = smodel } }; curve.HideTime = new List <DateTimeRangeModel>() { new DateTimeRangeModel(begin.AddMinutes(65), begin.AddMinutes(90)) }; _Curves.Add(curve); curve = new Model.InOperationModel.VitalSignCurveDetailModel("²âÊÔµÄ2", 0, System.Drawing.Color.Gray); curve.Points = new List <VitalSignPointModel>(); stype = SymbolType.Circle; smodel = new SymbolModel(stype); curve.Points.Add(new VitalSignPointModel(begin.AddMinutes(23), 80, curve, smodel, string.Empty)); curve.Points.Add(new VitalSignPointModel(begin.AddMinutes(32), 168, curve, smodel, string.Empty)); curve.Points.Add(new VitalSignPointModel(begin.AddMinutes(64), 172, curve, smodel, string.Empty)); curve.Points.Add(new VitalSignPointModel(begin.AddMinutes(92), 199, curve, smodel, string.Empty)); curve.Points.Add(new VitalSignPointModel(begin.AddMinutes(120), 153, curve, smodel, string.Empty)); curve.LegendList = new List <LegendItem>() { new LegendItem() { DisplayName = "²âÊÔµÄ2", Symbol = smodel } }; _Curves.Add(curve); //ʼþ _EventMark = new EventMarkModel(); _EventMark.AddPoint(begin.AddMinutes(37), 12, "²âÊÔʼþ", new SymbolModel(SymbolType.CircleXCross), System.Drawing.Color.Red, "²âÊÔʼþ"); _EventMark.AddPoint(begin.AddMinutes(50), 12, "²âÊÔʼþ1", new SymbolModel(SymbolType.CircleDot), System.Drawing.Color.Red, "²âÊÔʼþ1"); _EventMark.AddPoint(begin.AddMinutes(53), 12, "²âÊÔʼþ2", new SymbolModel(SymbolType.CircleHArrow), System.Drawing.Color.Red, "²âÊÔʼþ2"); _EventMark.AddPoint(begin.AddMinutes(54), 12, "²âÊÔʼþ3", new SymbolModel(SymbolType.CircleHLine), System.Drawing.Color.Red, "²âÊÔʼþ3"); _EventMark.AddPoint(begin.AddMinutes(55), 12, "²âÊÔʼþ4", new SymbolModel(SymbolType.CirclePlus), System.Drawing.Color.Red, "²âÊÔʼþ4"); _EventMark.AddPoint(begin.AddMinutes(59), 12, "²âÊÔʼþ6", new SymbolModel(SymbolType.CircleXCrossDot), System.Drawing.Color.Red, "²âÊÔʼþ5"); _EventMark.AddPoint(begin.AddMinutes(65), 12, "²âÊÔʼþ7", new SymbolModel(SymbolType.Diamond), System.Drawing.Color.Red, "²âÊÔʼþ6"); _EventMark.AddPoint(begin.AddMinutes(85), 12, "²âÊÔʼþ8", new SymbolModel(SymbolType.MiniCircle), System.Drawing.Color.Red, "²âÊÔʼþ7"); _TextMarkPoints = new List <TextMarkPoint>(); _TextMarkPoints.Add(new TextMarkPoint(begin.AddMinutes(53), "ѪÆø·ÖÎö¶þ\nѪÆø·ÖÎö¶þ\nѪÆø·ÖÎö¶þ\nѪÆø·ÖÎö¶þ\nѪÆø·ÖÎö¶þ\nѪÆø·ÖÎö¶þ")); _TextMarkPoints.Add(new TextMarkPoint(begin.AddMinutes(85), "ѪÆø·ÖÎöÈý\nѪÆø·ÖÎöÈý\nѪÆø·ÖÎöÈý\nѪÆø·ÖÎöÈý\nѪÆø·ÖÎöÈý\nѪÆø·ÖÎöÈý")); _TextMarkPoints.Add(new TextMarkPoint(begin.AddMinutes(147), "ѪÆø·ÖÎöËÄ\nѪÆø·ÖÎöËÄ\nѪÆø·ÖÎöËÄ\nѪÆø·ÖÎöËÄ\nѪÆø·ÖÎöËÄ\nѪÆø·ÖÎöËÄ")); _ProcessBeginTime = begin.AddMinutes(54); _IsEditEnable = true; IsHiddenEventMarkArea = true; }