123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type ="xscript4.0"><![CDATA[var colArr = new Array();
- function fInit() {
- ds_send.setColumn( 0, "fromdd", utlf_getCurrentDate());
- ds_send.setColumn( 0, "todd", utlf_getCurrentDate());
- ds_send.setColumn( 0, "srchflag", "day");
- ds_hidden.setColumn( 0, "accflag", "Y");
- //ds_hidden.setColumn( 0, "outflag", "Y");
- //ds_hidden.setColumn( 0, "inflag", "Y");
- ds_hidden.setColumn( 0, "totflag", "Y");
- //ds_hidden.setColumn( 0, "goal_out", "Y");
- //ds_hidden.setColumn( 0, "goal_in", "Y");
- ds_hidden.setColumn( 0, "goal_tot", "Y");
- //model.refresh();
- // 목표 외래, 입원, 합계
- colArr[0] = "0xa09e5f"; // CadetBlue
- colArr[1] = "0xee82ee"; // 보라
- colArr[2] = "0xff0000"; // 파랑
- // 실제 외래, 입원, 합계
- colArr[3] = "0x008000"; // 녹색
- colArr[4] = "0x00a5ff"; // 주황
- colArr[5] = "0x0000ff"; // 빨강
- fMakeChart(0, 0, 0, 0);
- }
- function fSetDynamicGrid(grd, ref, sid) {
- var cols = grd.cols;
- for (var i = 0; i < cols; i++) {
- grd.removeColumn(false);
- }
- //grd.refresh();
- ds_temp.clearData();
- dsf_makeValue( ds, "temp", "string", "" );
- if (!submit(sid, false)) {
- //grd.refresh();
- return;
- }
- var attr = ds_temp_header.getColumn(0, "attr");
- if (attr == null || attr.length < 1) {
- return;
- }
- var attrArr = attr.split("^");
- var width = ds_temp_header.getColumn(0, "width");
- var widthArr = width.split("^");
- for (var i = 0; i < attrArr.length; i++) {
- grd.addColumn(attrArr[i], false);
- grd.colWidth(i) = widthArr[i];
- }
- grd.caption = ds_temp_header.getColumn(0, "caption");
- model.copyNode(ref, "ds_temp_gridlist");
- //grd.refresh();
- }
- function fMakeChart(hMin, hMax, vMin, vMax) {
- obj_chart.ClearChart();
- obj_chart.Header.Visible = false;
- obj_chart.Aspect.View3D = false;
- obj_chart.Zoom.Enable = false;
- obj_chart.Scroll.Enable = true;
- obj_chart.Legend.Visible = false;
- obj_chart.Environment.MouseWheelScroll = false;
- //margin 값 정하기
- obj_chart.Panel.MarginTop = 2;
- obj_chart.Panel.MarginLeft = 10;
- obj_chart.Panel.MarginRight = 2;
- obj_chart.Panel.MarginBottom = 2;
- obj_chart.Panel.BevelWidth = 0;
- obj_chart.Panel.Gradient.Visible = true;
- obj_chart.Panel.Gradient.StartColor = 0xffffff;
- obj_chart.Panel.Gradient.EndColor = 0xffffff;
- // 축 설정
- obj_chart.Axis.Bottom.AxisPen.Visible = false;
- obj_chart.Axis.Bottom.Automatic = false; //하단축 자동 설정(기본값)
- obj_chart.Axis.Bottom.Labels.Visible = true; //하단축 Label 설정
- obj_chart.Axis.Bottom.Labels.multiline = false; //하단축 Label 2줄 설정
- //obj_chart.Axis.Bottom.Labels.Font.Size = 1; //하단축 Label 폰트 사이즈 조절
- obj_chart.Axis.Bottom.Labels.Style = 0;
- obj_chart.Axis.Bottom.Labels.Font.Color = 0x000000;
- obj_chart.Axis.Bottom.Minimum = hMin;
- obj_chart.Axis.Bottom.Maximum = hMax;
- //obj_chart.Axis.Bottom.SetMinMax(hMin, hMax);
- obj_chart.Axis.Bottom.Increment = 1; //하단축 증가값 설정
- obj_chart.Axis.Bottom.MinorTickCount = 0; //하단축 눈금 갯수 설정
- obj_chart.Axis.Bottom.TicksInner.visible = true; //하단축 눈금 안쪽 표시 설정
- //obj_chart.Axis.Bottom.AxisPen.Color = 0x000000;
- // 외래(0), 입원(1), 합계(2)
- for (var i = 0; i < 6; i++) {
- var axis = obj_chart.Axis.AddCustom(false);
- //obj_chart.Axis.Custom(i).AxisPen.Color = 0x000000;
- obj_chart.Axis.Custom(i).AxisPen.Visible = false;
- //obj_chart.Axis.Custom(i).Title.Caption = "금액";
- obj_chart.Axis.Custom(i).Title.Font.Size = 8;
- obj_chart.Axis.Custom(i).Title.Font.Bold = false;
- obj_chart.Axis.Custom(i).Title.Angle = 0;
- obj_chart.Axis.Custom(i).Labels.Visible = i < 1 ? true : false;
- obj_chart.Axis.Custom(i).PositionPercent = 0;
- obj_chart.Axis.Custom(i).Automatic = false; // 값에 따른 자동 Min-Max 조절
- obj_chart.Axis.Custom(i).Maximum = vMax;
- obj_chart.Axis.Custom(i).Minimum = vMin;
- obj_chart.Axis.Custom(i).Increment = 1; // 세로 눈금
- obj_chart.AddSeries(0);
- obj_chart.Series(i).VerticalAxisCustom = axis;
- //라인의 굵기를 정해준다.
- obj_chart.Series(i).Color = parseInt(colArr[i], 16);
- obj_chart.Series(i).asLine.Pointer.Visible = false;
- obj_chart.Series(i).asLine.Pointer.Style = 0;
- obj_chart.Series(i).asLine.Pointer.VerticalSize = 3;
- obj_chart.Series(i).asLine.Pointer.HorizontalSize = 3;
- obj_chart.Series(i).asLine.LinePen.Width = 2;
- obj_chart.Series(i).asLine.LinePen.Style = 0;
- //depth 정하기
- //obj_chart.Series(0).Depth = i + 1;
- }
- }
- function fSetChart() {
- var cnt = instance1.selectNodes("ds_temp_chrtlist_chrtinfo").length + 1;
- if (cnt < 1) {
- return;
- }
- var min = 0;
- var max = 0;
- var outamt = 0;
- var inamt = 0;
- var totamt = 0;
- var chrtpath = ds_hidden.getColumn(0, "accflag") == "Y" ? "acclist_accinfo" : "chrtlist_chrtinfo";
- var goalpath = ds_hidden.getColumn(0, "accflag") == "Y" ? "goalacclist_goalaccinfo" : "goallist_goalinfo";
- for (var i = 1; i < cnt; i++) {
- outamt = eval(model.getValue("ds_temp/" + chrtpath + "[" + i + "]_outamt"));
- inamt = eval(model.getValue("ds_temp/" + chrtpath + "[" + i + "]_inamt"));
- totamt = eval(model.getValue("ds_temp/" + chrtpath + "[" + i + "]_totamt"));
- if (ds_hidden.getColumn(0, "outflag") == "Y") {
- min = outamt < min ? outamt : min;
- max = outamt > max ? outamt : max;
- }
- if (ds_hidden.getColumn(0, "inflag") == "Y") {
- min = inamt < min ? inamt : min;
- max = inamt > max ? inamt : max;
- }
- if (ds_hidden.getColumn(0, "totflag") == "Y") {
- min = totamt < min ? totamt : min;
- max = totamt > max ? totamt : max;
- }
- }
- var goalCnt = instance1.selectNodes("ds_temp/" + goalpath).length;
- for (var i = 1; i <= goalCnt; i++) {
- outamt = eval(model.getValue("ds_temp/" + goalpath + "[" + i + "]_outamt"));
- inamt = eval(model.getValue("ds_temp/" + goalpath + "[" + i + "]_inamt"));
- totamt = eval(model.getValue("ds_temp/" + goalpath + "[" + i + "]_totamt"));
- if (ds_hidden.getColumn(0, "goal_out") == "Y") {
- min = outamt < min ? outamt : min;
- max = outamt > max ? outamt : max;
- }
- if (ds_hidden.getColumn(0, "goal_in") == "Y") {
- min = inamt < min ? inamt : min;
- max = inamt > max ? inamt : max;
- }
- if (ds_hidden.getColumn(0, "goal_tot") == "Y") {
- min = totamt < min ? totamt : min;
- max = totamt > max ? totamt : max;
- }
- }
- min = Math.round(min * 0.9);
- max = Math.round(max * 1.1);
- fMakeChart(0, cnt, min, max);
- var flag = ds_send.getColumn(0, "srchflag");
- var str = flag == "day" ? "일" : "월";
- var outAmtGoal = 0;
- var inAmtGoal = 0;
- var totAmtGoal = 0;
- // 그래프 표시
- var lbl = "";
- for (var i = 1; i < cnt; i++) {
- lbl = eval(model.getValue("ds_temp_chrtlist_chrtinfo[" + i + "]/" + flag)) + str;
- //lbl = model.getValue("ds_temp_chrtlist_chrtinfo[" + i + "]/" + flag) + str;
- outAmtGoal = eval(model.getValue("ds_temp/" + goalpath + "[" + i + "]_outamt"));
- inAmtGoal = eval(model.getValue("ds_temp/" + goalpath + "[" + i + "]_inamt"));
- totAmtGoal = eval(model.getValue("ds_temp/" + goalpath + "[" + i + "]_totamt"));
- if (ds_hidden.getColumn(0, "goal_out") == "Y") {
- obj_chart.Series(0).AddXY(i, outAmtGoal, lbl, obj_chart.Series(0).Color);
- }
- if (ds_hidden.getColumn(0, "goal_in") == "Y") {
- obj_chart.Series(1).AddXY(i, inAmtGoal, lbl, obj_chart.Series(1).Color);
- }
- if (ds_hidden.getColumn(0, "goal_tot") == "Y") {
- obj_chart.Series(2).AddXY(i, totAmtGoal, lbl, obj_chart.Series(2).Color);
- }
- outamt = eval(model.getValue("ds_temp/" + chrtpath + "[" + i + "]_outamt"));
- inamt = eval(model.getValue("ds_temp/" + chrtpath + "[" + i + "]_inamt"));
- totamt = eval(model.getValue("ds_temp/" + chrtpath + "[" + i + "]_totamt"));
- if (ds_hidden.getColumn(0, "outflag") == "Y") {
- obj_chart.Series(3).AddXY(i, outamt, lbl, obj_chart.Series(3).Color);
- }
- if (ds_hidden.getColumn(0, "inflag") == "Y") {
- obj_chart.Series(4).AddXY(i, inamt, lbl, obj_chart.Series(4).Color);
- }
- if (ds_hidden.getColumn(0, "totflag") == "Y") {
- obj_chart.Series(5).AddXY(i, totamt, lbl, obj_chart.Series(5).Color);
- }
- }
- }
- function fInitTChart(tChartObj) {
- tChartObj.RemoveAllSeries();
- tChartObj.Axis.RemoveAllCustom();
- tChartObj.left = 8;
- tChartObj.width = 2018;
- tChartObj.Axis.Bottom.SetMinMax(0, 60);
- tChartObj.Axis.Bottom.Increment = 0.5;
- tChartObj.Axis.Bottom.MinorTickCount = 1;
- tChartObj.Axis.Bottom.StartPosition = 0;
- tChartObj.Axis.Bottom.EndPosition = 100;
- tChartObj.Axis.Bottom.TickOnLabelsOnly = false;
- tChartObj.Axis.Bottom.TickLength = 2;
- tChartObj.Axis.Bottom.Ticks.Style = 0;
- tChartObj.Axis.Bottom.TicksInner.Style = 0;
- tChartObj.Axis.Bottom.AxisPen.Color = 0x000000;
- tChartObj.Axis.Bottom.Labels.Visible = false;
- //tChartObj.Axis.Bottom.LabelsFont.Color = 0xffffff; //하단 축 눈금 명칭 색을 바탕색으로 하여 보이지 않게 처리
- tChartObj.Panel.MarginTop = 2;
- tChartObj.Panel.MarginLeft = 5;
- tChartObj.Panel.MarginRight = 0;
- tChartObj.Panel.MarginBottom = 0;
- tChartObj.Panel.Gradient.Visible = true; // 페널에 그라디언트 적용
- tChartObj.Panel.Gradient.StartColor = 0xff00;
- tChartObj.Panel.Gradient.EndColor = 0x0000ff;
- tChartObj.Header.Visible = false;
- tChartObj.Aspect.View3D = 0; //2d 로 표현하기
- tChartObj.Zoom.Enable = false; // zoom 사용하지 않기
- tChartObj.Scroll.Enable = false; // scroll 사용하지 않기
- tChartObj.Environment.MouseWheelScroll = false;
- tChartObj.Legend.Visible = false; // 그래프 참조 박스 띄우지 않기
- tChartObj.Panel.Gradient.Visible = true; // 페널에 그라디언트 적용
- tChartObj.Panel.Gradient.StartColor = 0xffffff;
- tChartObj.Panel.Gradient.EndColor = 0xffffff;
- // 혈압을 나타내는 막대그래프를 먼저 그려야 맥박, 체온,호흡 점이 막대 그래프에 가려지지 않는다.
- var cus_axis1 = tChartObj.Axis.AddCustom(false); // 혈압축
- tChartObj.Axis.Custom(0).AxisPen.Color = 0x0000ff; //빨강
- tChartObj.Axis.Custom(0).Title.Font.Size = 8;
- tChartObj.Axis.Custom(0).Title.Font.Bold = true;
- tChartObj.Axis.Custom(0).Title.Angle = 90;
- tChartObj.Axis.Custom(0).PositionPercent = 0;
- tChartObj.Axis.Custom(0).StartPosition = 0;
- tChartObj.Axis.Custom(0).EndPosition = 100;
- tChartObj.Axis.Custom(0).Automatic = false;
- tChartObj.Axis.Custom(0).Maximum = 190;
- tChartObj.Axis.Custom(0).Minimum = 10;
- tChartObj.Axis.Custom(0).Increment = 20;
- var cus_axis2 = tChartObj.Axis.AddCustom(false); // 호흡축
- tChartObj.Axis.Custom(1).AxisPen.Color = 0x00ff00; //녹색
- tChartObj.Axis.Custom(1).Title.Font.Size = 8;
- tChartObj.Axis.Custom(1).Title.Font.Bold = true;
- tChartObj.Axis.Custom(1).Title.Angle = 90;
- tChartObj.Axis.Custom(1).PositionPercent = -4;
- tChartObj.Axis.Custom(1).Automatic = false;
- tChartObj.Axis.Custom(1).Maximum = 90;
- tChartObj.Axis.Custom(1).Minimum = 0;
- tChartObj.Axis.Custom(1).Increment = 10;
- var cus_axis3 = tChartObj.Axis.AddCustom(false); // mABP
- tChartObj.Axis.Custom(2).AxisPen.Color = 0xff0000; //빨강
- tChartObj.Axis.Custom(2).Title.Font.Size = 8;
- tChartObj.Axis.Custom(2).Title.Font.Bold = true;
- tChartObj.Axis.Custom(2).Title.Angle = 90;
- tChartObj.Axis.Custom(2).PositionPercent = -2;
- tChartObj.Axis.Custom(2).StartPosition = 0;
- tChartObj.Axis.Custom(2).EndPosition = 100;
- tChartObj.Axis.Custom(2).Automatic = false;
- tChartObj.Axis.Custom(2).Maximum = 190;
- tChartObj.Axis.Custom(2).Minimum = 10;
- tChartObj.Axis.Custom(2).Increment = 20;
- tChartObj.AddSeries(11); // 혈압(SBP,DBP)
- tChartObj.AddSeries(0); // 맥박(MBP)
- tChartObj.AddSeries(11); // 혈압(SBP,DBP)
- tChartObj.AddSeries(0); // 맥박(MBP)
- tChartObj.AddSeries(0); // 맥박(HR)
- tChartObj.AddSeries(0); // 호흡(RR)
- tChartObj.AddSeries(0); // mPAP
- tChartObj.Series(0).VerticalAxisCustom = cus_axis1; // 혈압
- tChartObj.Series(1).VerticalAxisCustom = cus_axis1; // 혈압
- tChartObj.Series(2).VerticalAxisCustom = cus_axis3; // 혈압
- tChartObj.Series(3).VerticalAxisCustom = cus_axis3; // 혈압
- tChartObj.Series(4).VerticalAxisCustom = cus_axis1; // 맥박(빨간색선)
- tChartObj.Series(5).VerticalAxisCustom = cus_axis2; // 호흡(녹색선)
- tChartObj.Series(6).VerticalAxisCustom = cus_axis1; // mPAP(고동색선)
- //라인의 굵기를 정해준다.
- tChartObj.Series(0).asCandle.CandleStyle = 2;
- tChartObj.Series(0).asCandle.CandleWidth = 4;
- tChartObj.Series(0).asCandle.Pointer.Pen.Color = 0x000000;
- tChartObj.Series(1).asLine.LinePen.Width = 2;
- tChartObj.Series(2).asCandle.CandleStyle = 2;
- tChartObj.Series(2).asCandle.Pointer.Pen.Color = 0xff0000;
- tChartObj.Series(2).asCandle.CandleWidth = 4;
- tChartObj.Series(3).asLine.LinePen.Width = 2;
- tChartObj.Series(4).asLine.LinePen.Width = 2;
- tChartObj.Series(5).asLine.LinePen.Width = 2;
- tChartObj.Series(6).asLine.LinePen.Width = 2;
- // tChartObj.Series(0).Color = 0x000000; //black 혈압(SBP,DBP:박스)
- tChartObj.Series(1).Color = 0x000000; //black MBP:선
- // tChartObj.Series(2).Color = 0xff0000; //blue 혈압(SBP,DBP:박스)
- tChartObj.Series(3).Color = 0xff0000; //blue MBP:선
- tChartObj.Series(4).Color = 0x0000ff; //red 맥박(HR)
- tChartObj.Series(5).Color = 0x00ff00; //green 호흡(RR)
- tChartObj.Series(6).Color = 0x880000; //고동색 mPAP
- tChartObj.Series(1).asLine.Pointer.Visible = true;
- tChartObj.Series(1).asLine.Pointer.Style = 1;
- tChartObj.Series(1).asLine.Pointer.VerticalSize = 3;
- tChartObj.Series(1).asLine.Pointer.HorizontalSize = 3;
- tChartObj.Series(3).asLine.Pointer.Visible = true;
- tChartObj.Series(3).asLine.Pointer.Style = 1;
- tChartObj.Series(3).asLine.Pointer.VerticalSize = 3;
- tChartObj.Series(3).asLine.Pointer.HorizontalSize = 3;
- tChartObj.Series(4).asLine.Pointer.Visible = true;
- tChartObj.Series(4).asLine.Pointer.Style = 1;
- tChartObj.Series(4).asLine.Pointer.VerticalSize = 3;
- tChartObj.Series(4).asLine.Pointer.HorizontalSize = 3;
- tChartObj.Series(5).asLine.Pointer.Visible = true;
- tChartObj.Series(5).asLine.Pointer.Style = 1;
- tChartObj.Series(5).asLine.Pointer.VerticalSize = 3;
- tChartObj.Series(5).asLine.Pointer.HorizontalSize = 3;
- tChartObj.Series(6).asLine.Pointer.Visible = true;
- tChartObj.Series(6).asLine.Pointer.Style = 1;
- tChartObj.Series(6).asLine.Pointer.VerticalSize = 3;
- tChartObj.Series(6).asLine.Pointer.HorizontalSize = 3;
- //depth 정하기
- tChartObj.Series(1).Depth = 1;
- tChartObj.Series(2).Depth = 2;
- tChartObj.Series(3).Depth = 3;
- tChartObj.Series(4).Depth = 4;
- tChartObj.Series(5).Depth = 5;
- tChartObj.Series(6).Depth = 6;
- }
- function fIsNumber(str) {
- str += ''; // 문자열로 변환
- str = str.replace(/^\s*|\s*$_g, ''); // 좌우 공백 제거
- if (str == '' || isNaN(str)) return false;
- return true;
- }
- /**
- * _group :
- * _ver : 2007.08.14
- * _by : 이은영
- * _---------------------------------------------------
- * _type : function
- * _access : public
- * _desc : 차트 Down
- * _param :
- * _return :
- * _---------------------------------------------------
- */
- function fDownChart(pFlag) {
- var sobj_chart;
- switch (pFlag) {
- case "24hours":
- sobj_chart = obj_24hourschart;
- break;
- case "4days":
- sobj_chart = obj_4dayschart;
- break;
- }
- sobj_chart.Axis.Custom(0).Maximum = sobj_chart.Axis.Custom(0).Maximum - 20;
- sobj_chart.Axis.Custom(0).Minimum = sobj_chart.Axis.Custom(0).Minimum - 20;
- sobj_chart.Axis.Custom(1).Maximum = sobj_chart.Axis.Custom(1).Maximum - 10;
- sobj_chart.Axis.Custom(1).Minimum = sobj_chart.Axis.Custom(1).Minimum - 10;
- sobj_chart.Axis.Custom(2).Maximum = sobj_chart.Axis.Custom(2).Maximum - 1;
- sobj_chart.Axis.Custom(2).Minimum = sobj_chart.Axis.Custom(2).Minimum - 1;
- for (var i = 0; i < sobj_chart.Tools.Count; i++) {
- sobj_chart.Tools.Items(i).asAnnotation.Shape.Top = sobj_chart.Tools.Items(i).asAnnotation.Shape.Top - 25;
- }
- }
- /**
- * _group :
- * _ver : 2007.08.14
- * _by : 이은영
- * _---------------------------------------------------
- * _type : function
- * _access : public
- * _desc : 차트 Up
- * _param :
- * _return :
- * _---------------------------------------------------
- */
- function fUpChart(pFlag) {
- var sobj_chart;
- switch (pFlag) {
- case "24hours":
- sobj_chart = obj_24hourschart;
- break;
- case "4days":
- sobj_chart = obj_4dayschart;
- break;
- }
- sobj_chart.Axis.Custom(0).Maximum = sobj_chart.Axis.Custom(0).Maximum + 20; // 맥박
- sobj_chart.Axis.Custom(0).Minimum = sobj_chart.Axis.Custom(0).Minimum + 20;
- sobj_chart.Axis.Custom(1).Maximum = sobj_chart.Axis.Custom(1).Maximum + 10;
- sobj_chart.Axis.Custom(1).Minimum = sobj_chart.Axis.Custom(1).Minimum + 10;
- sobj_chart.Axis.Custom(2).Maximum = sobj_chart.Axis.Custom(2).Maximum + 1;
- sobj_chart.Axis.Custom(2).Minimum = sobj_chart.Axis.Custom(2).Minimum + 1;
- for (var i = 0; i < sobj_chart.Tools.Count; i++) {
- sobj_chart.Tools.Items(i).asAnnotation.Shape.Top = sobj_chart.Tools.Items(i).asAnnotation.Shape.Top + 25;
- }
- }
- ]]></Script>
|