SMANS00800_일반식영양가분석표.xrw 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>환자 일반식 영양가 분석표</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <nutrinfo>
  11. <list>
  12. <appdd/>
  13. <calr/>
  14. <gluco/>
  15. <prot/>
  16. <lipo/>
  17. </list>
  18. <list2>
  19. <appdd/>
  20. <calr/>
  21. <gluco/>
  22. <prot/>
  23. <lipo/>
  24. </list2>
  25. </nutrinfo>
  26. <summaryinfo>
  27. <summarylist>
  28. <fromdd/>
  29. <todd/>
  30. <calr/>
  31. <calravr/>
  32. <calrmaster/>
  33. <gluco/>
  34. <glucoavr/>
  35. <glucomaster/>
  36. <prot/>
  37. <protavr/>
  38. <protmaster/>
  39. <lipo/>
  40. <lipoavr/>
  41. <lipomaster/>
  42. </summarylist>
  43. <summarylist2>
  44. <fromdd/>
  45. <todd/>
  46. <calr/>
  47. <calravr/>
  48. <calrmaster/>
  49. <gluco/>
  50. <glucoavr/>
  51. <glucomaster/>
  52. <prot/>
  53. <protavr/>
  54. <protmaster/>
  55. <lipo/>
  56. <lipoavr/>
  57. <lipomaster/>
  58. </summarylist2>
  59. </summaryinfo>
  60. <data>
  61. <nutrbase>
  62. <setno/>
  63. <seqno/>
  64. <dietclsnm/>
  65. <calr/>
  66. <gluco/>
  67. <prot/>
  68. <lipo/>
  69. <sodium/>
  70. <potas/>
  71. </nutrbase>
  72. <nutrbase2>
  73. <setno/>
  74. <seqno/>
  75. <dietclsnm/>
  76. <calr/>
  77. <gluco/>
  78. <prot/>
  79. <lipo/>
  80. <sodium/>
  81. <potas/>
  82. </nutrbase2>
  83. </data>
  84. </main>
  85. <send>
  86. <fromdd/>
  87. <todd/>
  88. <globalinstance>
  89. <instance1/>
  90. </globalinstance>
  91. <setno/>
  92. <setnm/>
  93. </send>
  94. <init>
  95. </init>
  96. <hidden/>
  97. </root>
  98. </instance>
  99. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  100. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  101. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  102. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  103. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  104. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  105. <script type="javascript" src="../../../ast/examcureweb/js/AEZ0001.js"/>
  106. <script type="javascript" src="../../../ast/commonweb/js/AST.js"/>
  107. <script type="javascript" ev:event="xforms-ready">
  108. <![CDATA[
  109. aezfSetSuppDeptcd(); // globalinstance 셋팅하기
  110. //var fromdd = getCurrentDate().toDate().getAddDate(-1, "D").getDateFormat("YYYYMMDD");
  111. //var todd = getCurrentDate().substr(0,6) + fromdd.toDate().getMonthDay();
  112. var fromdd = getCurrentDate(); // 적용일자 현재일자 셋팅
  113. var todd = getCurrentDate(); // 적용일자 현재일자 셋팅
  114. model.setValue("/root/send/fromdd", fromdd);
  115. model.setValue("/root/send/todd", todd);
  116. model.removenode("/root/main/nutrinfo"); // 연식정보, 상식정보 노드 초기화
  117. makeReportPreview(5,40,1000,700);
  118. model.refresh();
  119. ]]>
  120. </script>
  121. <submission id="TRZBC00101"/>
  122. <submission id="TRANS00801" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/list"/>
  123. <submission id="TRANS00802" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/data"/>
  124. </model>
  125. </xhtml:head>
  126. <xhtml:body pagewidth="1211" pageheight="784" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  127. <group id="grp_tle" style="left:0px; top:0px; width:1195px; height:13px; ">
  128. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:200px; height:14px; ">환자 일반식 영양가 분석표</caption>
  129. </group>
  130. <group id="grp_biz" scroll="auto" style="left:0px; top:13px; width:1195px; height:757px; ">
  131. <caption id="caption1" class="tit_2" visibility="hidden" style="left:20px; top:50px; width:200px; height:13px; ">1. 상 식</caption>
  132. <group id="grp_sea" style="left:0px; top:5px; width:1175px; height:30px; vertical-align:top; ">
  133. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1175px; height:30px; background-color:#fffbf2; border-color:#ffd799; "/>
  134. <caption id="caption2" class="search_name" style="left:15px; top:7px; width:86px; height:17px; ">조회기간 :</caption>
  135. <line id="line13" class="line_4" style="x1:1100px; y1:4px; x2:1100px; y2:26px; "/>
  136. <button id="btn_sea" class="btn1_letter2" navindex="4" style="left:1110px; top:4px; width:56px; height:22px; ">
  137. <caption>조회</caption>
  138. <script type="javascript" ev:event="DOMActivate">
  139. <![CDATA[
  140. if (model.getValue("/root/send/fromdd") == ""){
  141. messageBox("조회시작일자는", "I003");
  142. model.setFocus("ipt_fromdd");
  143. return;
  144. }
  145. if (model.getValue("/root/send/todd") == ""){
  146. messageBox("조회종료일자는", "I003");
  147. model.setFocus("ipt_todd");
  148. return;
  149. }
  150. if (isValidDateTime(model.getValue("/root/send/fromdd"), "YYYYMMDD") == false){
  151. messageBox("조회 시작일자의 형식이", "E016");
  152. model.setFocus("ipt_fromdd");
  153. return;
  154. }
  155. if (isValidDateTime(model.getValue("/root/send/todd"), "YYYYMMDD") == false){
  156. messageBox("조회 종료일자의 형식이", "E016");
  157. model.setFocus("ipt_todd");
  158. return;
  159. }
  160. if (model.getValue("/root/send/fromdd") > model.getValue("/root/send/todd")){
  161. messageBox("조회 시작일자는 종료일자 보다 클 수", "I004");
  162. model.setFocus("ipt_fromdd");
  163. return;
  164. }
  165. // 식사처방 지침서에 등록한 상식(일반밥) 영양기준량, 연식(일반죽) 영양기준량 정보 가져오기
  166. submit("TRANS00802");
  167. model.setValue("/root/main/summaryinfo/summarylist/calrmaster", model.getValue("/root/main/data/nutrbase/calr") );
  168. model.setValue("/root/main/summaryinfo/summarylist/glucomaster", model.getValue("/root/main/data/nutrbase/gluco") );
  169. model.setValue("/root/main/summaryinfo/summarylist/protmaster", model.getValue("/root/main/data/nutrbase/prot") );
  170. model.setValue("/root/main/summaryinfo/summarylist/lipomaster", model.getValue("/root/main/data/nutrbase/lipo") );
  171. model.setValue("/root/main/summaryinfo/summarylist2/calrmaster", model.getValue("/root/main/data/nutrbase2/calr") );
  172. model.setValue("/root/main/summaryinfo/summarylist2/glucomaster", model.getValue("/root/main/data/nutrbase2/gluco") );
  173. model.setValue("/root/main/summaryinfo/summarylist2/protmaster", model.getValue("/root/main/data/nutrbase2/prot") );
  174. model.setValue("/root/main/summaryinfo/summarylist2/lipomaster", model.getValue("/root/main/data/nutrbase2/lipo") );
  175. model.removenode("/root/main/nutrinfo"); // 연식정보, 상식정보 노드 초기화
  176. submit("TRANS00801"); // 연식, 상식 정보 조회 !!!
  177. // 그리드 하단에 평균 구하기 (상식)
  178. if ( grd_nutrinfo.rows > 1 ) {
  179. grd_nutrinfo.addrow();
  180. model.setValue("/root/main/nutrinfo/list["+ grd_nutrinfo.row +"]/"+grd_nutrinfo.colAttribute(1, "ref"), "평균");
  181. var val = 0;
  182. for ( j=2; j<=5; j++) {
  183. var sum = 0;
  184. var avrg = 0;
  185. for ( i=1; i<grd_nutrinfo.rows-1; i++) {
  186. val = grd_nutrinfo.valueMatrix( i, j );
  187. if ( val != "") {
  188. sum = parseFloat(sum) + parseFloat(val);
  189. }
  190. }
  191. avrg = sum / (i-1) ;
  192. avrg = avrg.toString().getRound(-2, "HALF_UP");
  193. model.setValue("/root/main/nutrinfo/list["+ grd_nutrinfo.row +"]/"+grd_nutrinfo.colAttribute(j, "ref"), avrg);
  194. }
  195. grd_nutrinfo.refresh();
  196. }
  197. var calravr = (model.getValue("/root/main/nutrinfo/list["+ grd_nutrinfo.row +"]/calr") / model.getValue("/root/main/summaryinfo/summarylist/calrmaster") ) * 100;
  198. model.setValue("/root/main/summaryinfo/summarylist/calr", model.getValue("/root/main/nutrinfo/list["+ grd_nutrinfo.row +"]/calr") ); // summary 항목에 열량 평균 값 셋팅
  199. model.setValue("/root/main/summaryinfo/summarylist/calravr", calravr.toString().getRound(-2, "HALF_UP")+"%"); // summary 항목에 열량 증감률 셋팅
  200. var glucoavr = (model.getValue("/root/main/nutrinfo/list["+ grd_nutrinfo.row +"]/gluco") / model.getValue("/root/main/summaryinfo/summarylist/glucomaster") ) * 100;
  201. model.setValue("/root/main/summaryinfo/summarylist/gluco", model.getValue("/root/main/nutrinfo/list["+ grd_nutrinfo.row +"]/gluco") ); // summary 항목에 당질 평균 값 셋팅
  202. model.setValue("/root/main/summaryinfo/summarylist/glucoavr", glucoavr.toString().getRound(-2, "HALF_UP")+"%"); // summary 항목에 당질 증감률 셋팅
  203. var protavr = (model.getValue("/root/main/nutrinfo/list["+ grd_nutrinfo.row +"]/prot") / model.getValue("/root/main/summaryinfo/summarylist/protmaster") ) * 100;
  204. model.setValue("/root/main/summaryinfo/summarylist/prot", model.getValue("/root/main/nutrinfo/list["+ grd_nutrinfo.row +"]/prot") ); // summary 항목에 단백질 평균 값 셋팅
  205. model.setValue("/root/main/summaryinfo/summarylist/protavr", protavr.toString().getRound(-2, "HALF_UP")+"%"); // summary 항목에 단백질 증감률 셋팅
  206. var lipoavr = (model.getValue("/root/main/nutrinfo/list["+ grd_nutrinfo.row +"]/lipo") / model.getValue("/root/main/summaryinfo/summarylist/lipomaster") ) * 100;
  207. model.setValue("/root/main/summaryinfo/summarylist/lipo", model.getValue("/root/main/nutrinfo/list["+ grd_nutrinfo.row +"]/lipo") ); // summary 항목에 지질 평균 값 셋팅
  208. model.setValue("/root/main/summaryinfo/summarylist/lipoavr", lipoavr.toString().getRound(-2, "HALF_UP")+"%"); // summary 항목에 지질 증감률 셋팅
  209. // 그리드 하단에 평균 구하기 (연식)
  210. if ( grd_nutrinfo2.rows > 1 ) {
  211. grd_nutrinfo2.addrow();
  212. model.setValue("/root/main/nutrinfo/list2["+ grd_nutrinfo2.row +"]/"+grd_nutrinfo2.colAttribute(1, "ref"), "평균");
  213. var val = 0;
  214. for ( j=2; j<=5; j++) {
  215. var sum = 0;
  216. var avrg = 0;
  217. for ( i=1; i<grd_nutrinfo2.rows-1; i++) {
  218. val = grd_nutrinfo2.valueMatrix( i, j );
  219. if ( val != "") {
  220. sum = parseFloat(sum) + parseFloat(val);
  221. }
  222. }
  223. avrg = sum / (i-1) ;
  224. avrg = avrg.toString().getRound(-2, "HALF_UP");
  225. model.setValue("/root/main/nutrinfo/list2["+ grd_nutrinfo2.row +"]/"+grd_nutrinfo2.colAttribute(j, "ref"), avrg);
  226. }
  227. grd_nutrinfo2.refresh();
  228. }
  229. var calravr = (model.getValue("/root/main/nutrinfo/list2["+ grd_nutrinfo2.row +"]/calr") / model.getValue("/root/main/summaryinfo/summarylist2/calrmaster") ) * 100;
  230. model.setValue("/root/main/summaryinfo/summarylist2/calr", model.getValue("/root/main/nutrinfo/list2["+ grd_nutrinfo2.row +"]/calr") ); // summary 항목에 열량 평균 값 셋팅
  231. model.setValue("/root/main/summaryinfo/summarylist2/calravr", calravr.toString().getRound(-2, "HALF_UP")+"%"); // summary 항목에 열량 증감률 셋팅
  232. var glucoavr = (model.getValue("/root/main/nutrinfo/list2["+ grd_nutrinfo2.row +"]/gluco") / model.getValue("/root/main/summaryinfo/summarylist2/glucomaster") ) * 100;
  233. model.setValue("/root/main/summaryinfo/summarylist2/gluco", model.getValue("/root/main/nutrinfo/list2["+ grd_nutrinfo2.row +"]/gluco") ); // summary 항목에 당질 평균 값 셋팅
  234. model.setValue("/root/main/summaryinfo/summarylist2/glucoavr", glucoavr.toString().getRound(-2, "HALF_UP")+"%"); // summary 항목에 당질 증감률 셋팅
  235. var protavr = (model.getValue("/root/main/nutrinfo/list2["+ grd_nutrinfo2.row +"]/prot") / model.getValue("/root/main/summaryinfo/summarylist2/protmaster") ) * 100;
  236. model.setValue("/root/main/summaryinfo/summarylist2/prot", model.getValue("/root/main/nutrinfo/list2["+ grd_nutrinfo2.row +"]/prot") ); // summary 항목에 단백질 평균 값 셋팅
  237. model.setValue("/root/main/summaryinfo/summarylist2/protavr", protavr.toString().getRound(-2, "HALF_UP")+"%"); // summary 항목에 단백질 증감률 셋팅
  238. var lipoavr = (model.getValue("/root/main/nutrinfo/list2["+ grd_nutrinfo2.row +"]/lipo") / model.getValue("/root/main/summaryinfo/summarylist2/lipomaster") ) * 100;
  239. model.setValue("/root/main/summaryinfo/summarylist2/lipo", model.getValue("/root/main/nutrinfo/list2["+ grd_nutrinfo2.row +"]/lipo") ); // summary 항목에 지질 평균 값 셋팅
  240. model.setValue("/root/main/summaryinfo/summarylist2/lipoavr", lipoavr.toString().getRound(-2, "HALF_UP")+"%");
  241. model.setValue("/root/main/summaryinfo/summarylist/fromdd", model.getValue("/root/send/fromdd") );
  242. model.setValue("/root/main/summaryinfo/summarylist/todd", model.getValue("/root/send/todd") );
  243. model.refresh();
  244. exeReportPreview("RPANS00801", "XMLSTR", "", "", "false","","","","","false", "", "");
  245. ]]>
  246. </script>
  247. </button>
  248. <input id="ipt_todd" ref="/root/send/todd" class="input_default" navindex="2" inputtype="date" style="left:207px; top:6px; width:85px; height:19px; "/>
  249. <caption id="caption5" class="search_no_b" style="left:192px; top:7px; width:12px; height:17px; ">~</caption>
  250. <input id="ipt_fromdd" ref="/root/send/fromdd" class="input_default" navindex="1" inputtype="date" style="left:106px; top:6px; width:85px; height:19px; "/>
  251. </group>
  252. <datagrid id="grd_nutrinfo" nodeset="/root/main/nutrinfo/list" visibility="hidden" caption="날자^열 량(Kcal)^당 질(g)^단백질(g)^지 질(g)^" colsep="^" colwidth="130, 130, 130, 130, 130" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:15px; top:70px; width:680px; height:255px; text-align:center; ">
  253. <col ref="appdd" format="yyyy-mm-dd"/>
  254. <col ref="calr"/>
  255. <col ref="gluco"/>
  256. <col ref="prot"/>
  257. <col ref="lipo"/>
  258. </datagrid>
  259. <caption id="caption4" class="tit_2" visibility="hidden" style="left:20px; top:330px; width:200px; height:13px; ">2. 연 식</caption>
  260. <line id="line2" class="line_1" visibility="hidden" style="x1:15px; y1:345px; x2:695px; y2:345px; "/>
  261. <datagrid id="grd_nutrinfo2" nodeset="/root/main/nutrinfo/list2" visibility="hidden" caption="날자^열 량(Kcal)^당 질(g)^단백질(g)^지 질(g)" colsep="^" colwidth="130, 130,130, 130, 130" rowheader="seq" rowsep="|" style="left:15px; top:350px; width:680px; height:270px; text-align:center; ">
  262. <col ref="appdd" format="yyyy-mm-dd"/>
  263. <col ref="calr"/>
  264. <col ref="gluco"/>
  265. <col ref="prot"/>
  266. <col ref="lipo"/>
  267. </datagrid>
  268. <caption id="caption7" class="tit_2" visibility="hidden" style="left:20px; top:50px; width:200px; height:13px; ">1. 상 식</caption>
  269. <line id="line3" class="line_1" visibility="hidden" style="x1:15px; y1:65px; x2:695px; y2:65px; "/>
  270. <output id="opt_calr1" ref="/root/main/summaryinfo/summarylist/calr" class="output_fix" visibility="hidden" style="left:705px; top:65px; width:100px; height:19px; "/>
  271. <output id="opt_calr2" ref="/root/main/summaryinfo/summarylist/calravr" class="output_fix" visibility="hidden" style="left:705px; top:90px; width:100px; height:19px; "/>
  272. <output id="opt_calr3" ref="/root/main/summaryinfo/summarylist2/calr" class="output_fix" visibility="hidden" style="left:705px; top:115px; width:100px; height:19px; "/>
  273. <output id="opt_calr4" ref="/root/main/summaryinfo/summarylist2/calravr" class="output_fix" visibility="hidden" style="left:705px; top:140px; width:100px; height:19px; "/>
  274. <output id="ipt_calr5" ref="/root/main/summaryinfo/summarylist/calrmaster" class="output_fix" visibility="hidden" style="left:705px; top:165px; width:100px; height:19px; "/>
  275. <output id="opt_calr6" ref="/root/main/summaryinfo/summarylist2/calrmaster" class="output_fix" visibility="hidden" style="left:705px; top:190px; width:100px; height:19px; "/>
  276. <output id="opt_gluco1" ref="/root/main/summaryinfo/summarylist/gluco" class="output_fix" visibility="hidden" style="left:815px; top:65px; width:100px; height:19px; "/>
  277. <output id="opt_gluco2" ref="/root/main/summaryinfo/summarylist/glucoavr" class="output_fix" visibility="hidden" style="left:815px; top:90px; width:100px; height:19px; "/>
  278. <output id="opt_gluco3" ref="/root/main/summaryinfo/summarylist2/gluco" class="output_fix" visibility="hidden" style="left:815px; top:115px; width:100px; height:19px; "/>
  279. <output id="opt_gluco4" ref="/root/main/summaryinfo/summarylist2/glucoavr" class="output_fix" visibility="hidden" style="left:815px; top:140px; width:100px; height:19px; "/>
  280. <output id="opt_gluco5" ref="/root/main/summaryinfo/summarylist/glucomaster" class="output_fix" visibility="hidden" style="left:815px; top:165px; width:100px; height:19px; "/>
  281. <output id="opt_gluco6" ref="/root/main/summaryinfo/summarylist2/glucomaster" class="output_fix" visibility="hidden" style="left:815px; top:190px; width:100px; height:19px; "/>
  282. <output id="opt_prot1" ref="/root/main/summaryinfo/summarylist/prot" class="output_fix" visibility="hidden" style="left:925px; top:65px; width:100px; height:19px; "/>
  283. <output id="opt_prot2" ref="/root/main/summaryinfo/summarylist/protavr" class="output_fix" visibility="hidden" style="left:925px; top:90px; width:100px; height:19px; "/>
  284. <output id="opt_prot3" ref="/root/main/summaryinfo/summarylist2/prot" class="output_fix" visibility="hidden" style="left:925px; top:115px; width:100px; height:19px; "/>
  285. <output id="opt_prot4" ref="/root/main/summaryinfo/summarylist2/protavr" class="output_fix" visibility="hidden" style="left:925px; top:140px; width:100px; height:19px; "/>
  286. <output id="opt_prot5" ref="/root/main/summaryinfo/summarylist/protmaster" class="output_fix" visibility="hidden" style="left:925px; top:165px; width:100px; height:19px; "/>
  287. <output id="opt_prot6" ref="/root/main/summaryinfo/summarylist2/protmaster" class="output_fix" visibility="hidden" style="left:925px; top:190px; width:100px; height:19px; "/>
  288. <output id="opt_lipo1" ref="/root/main/summaryinfo/summarylist/lipo" class="output_fix" visibility="hidden" style="left:1035px; top:65px; width:100px; height:19px; "/>
  289. <output id="opt_lipo2" ref="/root/main/summaryinfo/summarylist/lipoavr" class="output_fix" visibility="hidden" style="left:1035px; top:90px; width:100px; height:19px; "/>
  290. <output id="opt_lipo3" ref="/root/main/summaryinfo/summarylist2/lipo" class="output_fix" visibility="hidden" style="left:1035px; top:115px; width:100px; height:19px; "/>
  291. <output id="opt_lipo4" ref="/root/main/summaryinfo/summarylist2/lipoavr" class="output_fix" visibility="hidden" style="left:1035px; top:140px; width:100px; height:19px; "/>
  292. <output id="opt_lipo5" ref="/root/main/summaryinfo/summarylist/lipomaster" class="output_fix" visibility="hidden" style="left:1035px; top:165px; width:100px; height:19px; "/>
  293. <output id="opt_lipo6" ref="/root/main/summaryinfo/summarylist2/lipomaster" class="output_fix" visibility="hidden" style="left:1035px; top:190px; width:100px; height:19px; "/>
  294. </group>
  295. </xhtml:body>
  296. </xhtml:html>