SMADT11002_수액집계수정.xrw 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340
  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. <element>
  11. <srchdate/>
  12. </element>
  13. <datagrid>
  14. <druglist>
  15. <goodcd/>
  16. <goodnm/>
  17. </druglist>
  18. </datagrid>
  19. <prcplist>
  20. <prcpinfo/>
  21. </prcplist>
  22. </main>
  23. <send>
  24. <srchdate>20131002</srchdate>
  25. <toddflag/>
  26. <srchfromdd/>
  27. <chktm/>
  28. <hospnm/>
  29. <spclflag/>
  30. </send>
  31. <abc>
  32. <test1/>
  33. <test2/>
  34. <test3/>
  35. <test4/>
  36. </abc>
  37. <temp>
  38. <datagrid>
  39. <druglist/>
  40. </datagrid>
  41. </temp>
  42. <send2>
  43. </send2>
  44. <hidden>
  45. <result/>
  46. </hidden>
  47. <test>
  48. <t1/>
  49. <t2/>
  50. </test>
  51. <init>
  52. <chkinstcd/>
  53. </init>
  54. </root>
  55. </instance>
  56. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  57. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  58. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  59. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  60. <script type="javascript" ev:event="xforms-ready">
  61. <![CDATA[
  62. model.setValue("/root/send/srchdate", getCurrentDate());
  63. srchdd.refresh();
  64. ]]>
  65. </script>
  66. <script type="javascript">
  67. <![CDATA[
  68. var vPrePos = 0;
  69. function fGetDrugList () {
  70. fDatagridInit(); // 그리드 초기화
  71. submit("TRADT11003");
  72. var count = getNodesetCount("/root/main/datagrid/wardlist");
  73. var caption = "s^약품코드^약품명";
  74. if (count > 1) {
  75. for (var i = 1; i <= count; i++) {
  76. // style="background-color:#cfc9d7; "
  77. if (model.getValue("root/main/datagrid/wardlist[" + i + "]/wardcd") == "9999999999") {
  78. datagrid1.addColumn("ref:w" + model.getValue("root/main/datagrid/wardlist[" + i + "]/wardcd") + "; background-color:#ECE1EC;", false);
  79. datagrid1.colwidth(2+i) = 60;
  80. caption += "^" + model.getValue("root/main/datagrid/wardlist[" + i + "]/wardnm");
  81. } else {
  82. datagrid1.addColumn("ref:w" + model.getValue("root/main/datagrid/wardlist[" + i + "]/wardcd") + "; type:input;", false);
  83. datagrid1.colwidth(2+i) = 60;
  84. caption += "^" + model.getValue("root/main/datagrid/wardlist[" + i + "]/wardnm");
  85. }
  86. }
  87. datagrid1.caption = caption;
  88. datagrid1.nodeset = "/root/main/datagrid/druglist";
  89. datagrid1.rowHeight(0) = 40;
  90. datagrid1.colstyle(1, "data", "text-align") = "left";
  91. for (var n = 1; n <= count; n++) {
  92. for (var k = 1; k <= getNodesetCount("/root/main/datagrid/druglist"); k++) {
  93. if (model.getValue("/root/main/datagrid/druglist[" + k + "]/y" + model.getValue("root/main/datagrid/wardlist[" + n + "]/wardcd")) == "Y") {
  94. datagrid1.cellstyle("background-color", k, datagrid1.colRef("w" + model.getValue("root/main/datagrid/wardlist[" + n + "]/wardcd"))) = "#FFF000";
  95. }
  96. }
  97. }
  98. datagrid1.refresh();
  99. //datagrid1.rebuild();
  100. fGridSubTotal();
  101. //model.removeNodeset("/root/temp/datagrid/druglist");
  102. model.copyNode("/root/temp/datagrid", "/root/main/datagrid" );
  103. }
  104. }
  105. function fDatagridInit() {
  106. for (var i = datagrid1.cols - 1; i > 2; i--) {
  107. datagrid1.deleteColumn(i, false);
  108. }
  109. datagrid1.nodeset = "/root/temp/datagrid/druglist";
  110. model.removeNodeset("/root/temp/datagrid/druglist");
  111. model.removeNodeset("/root/main/datagrid/druglist");
  112. model.removeNodeset("/root/main/datagrid/wardlist");
  113. model.removeNodeset("/root/send2/sendlist");
  114. //datagrid1.refresh();
  115. }
  116. function fSetSendList(pGoodcd, pWardcd, pQty) {
  117. var pSrchdate = model.getValue("/root/send/srchdate");
  118. for (var i = 1; i <= getNodesetCount("/root/send2/sendlist"); i++) {
  119. var temp1 = model.getValue("/root/send2/sendlist[" + i + "]/goodcd");
  120. var temp2 = model.getValue("/root/send2/sendlist[" + i + "]/wardcd");
  121. if (temp1 == pGoodcd && temp2 == pWardcd) {
  122. model.removeNode("/root/send2/sendlist[" + i + "]");
  123. }
  124. }
  125. if (pQty > 0 || pQty < 0) {
  126. var send = instance1.createElement("sendlist");
  127. var srchdate = instance1.createElement("srchdate");
  128. var goodcd = instance1.createElement("goodcd");
  129. var wardcd = instance1.createElement("wardcd");
  130. var qty = instance1.createElement("qty");
  131. srchdate.value = pSrchdate;
  132. goodcd.value = pGoodcd;
  133. wardcd.value = pWardcd;
  134. qty.value = pQty;
  135. send.appendChild(srchdate);
  136. send.appendChild(goodcd);
  137. send.appendChild(wardcd);
  138. send.appendChild(qty);
  139. instance1.root.send2.appendChild(send);
  140. }
  141. }
  142. function fGridSubTotal () {
  143. var count = getNodesetCount("/root/main/datagrid/wardlist");
  144. datagrid1.subtotal("clear", 0, 0, "#,###", "background-color:#ECE1EC", 2, "계");
  145. for (var n = 1; n <= count; n++) {
  146. datagrid1.subtotal("sum", 0, (2+n), "#,###", "background-color:#ECE1EC", 2, "계");
  147. }
  148. //datagrid1.subtotal("sum", 0, 4, "#,###", "background-color:#99ff99", 2, "소계1");
  149. }
  150. ]]>
  151. </script>
  152. <submission id="TRADT11003" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/datagrid/"/>
  153. <submission id="TXADT11003" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send2" resultref="/root/temp2"/>
  154. <submission id="TXADT10327" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/result"/>
  155. <submission id="TRADT11028" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/prcplist"/>
  156. <submission id="TRADT11029" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/chkinstcd"/>
  157. </model>
  158. </xhtml:head>
  159. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  160. <group id="group1" style="left:0px; top:0px; width:1194px; height:13px; ">
  161. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">수액 집계 수정 (Ver 131122)</caption>
  162. </group>
  163. <datagrid id="datagrid1" nodeset="/root/temp/datagrid/druglist" backcoloralternate="transparent" caption="s^caption1^caption2" colsep="^" colwidth="5, 100, 200" fixedcols="1" frozencols="2" mergecellsfixedrows="bycolrec" multitotal="true" rowsep="|" subtotalposition="below" style="left:0px; top:75px; width:1194px; height:680px; ">
  164. <col ref="flag"/>
  165. <col ref="goodcd"/>
  166. <col ref="goodnm"/>
  167. <script type="javascript" ev:event="xforms-value-changed">
  168. <![CDATA[
  169. var colRef = datagrid1.colAttribute(datagrid1.col, "ref");
  170. var rowGoodcd = model.getValue("/root/main/datagrid/druglist[" + datagrid1.row + "]/goodcd");
  171. model.setValue("/root/abc/test2", model.getValue("/root/main/datagrid/druglist[" + datagrid1.row + "]/" + colRef));
  172. var vNum1 = model.getValue("/root/abc/test1"); // 최초 집계 값
  173. var vNum2 = model.getValue("/root/abc/test2"); // 현재 입력한 값
  174. if (isFinite(vNum2) && !isNaN(vNum2)) {
  175. if (vNum2 == "") {
  176. alert("1. 입력값이 잘못되었습니다.");
  177. vNum2 = Number(model.getValue("/root/abc/test4")); // 최초 집계 값에서 수정한 값
  178. model.setValue("/root/main/datagrid/druglist[" + datagrid1.row + "]/" + colRef, vNum2);
  179. } else {
  180. vNum1 = Number(model.getValue("/root/abc/test1"));
  181. vNum2 = Number(model.getValue("/root/abc/test2"));
  182. }
  183. } else {
  184. alert("2. 입력값이 잘못되었습니다.");
  185. vNum2 = Number(model.getValue("/root/abc/test4")); // 최초 집계 값에서 수정한 값
  186. model.setValue("/root/main/datagrid/druglist[" + datagrid1.row + "]/" + colRef, vNum2);
  187. }
  188. if (vNum1 > vNum2) {
  189. model.setValue("/root/abc/test3", vNum2-vNum1);
  190. fSetSendList(rowGoodcd, colRef.replace("w",""), vNum2-vNum1);
  191. datagrid1.cellstyle("background-color", datagrid1.row, datagrid1.col) = "#FFF000";
  192. } else if (vNum1 < vNum2) {
  193. model.setValue("/root/abc/test3", vNum2-vNum1);
  194. fSetSendList(rowGoodcd, colRef.replace("w",""), vNum2-vNum1);
  195. datagrid1.cellstyle("background-color", datagrid1.row, datagrid1.col) = "#FFF000";
  196. } else {
  197. model.setValue("/root/abc/test3", "0");
  198. fSetSendList(rowGoodcd, colRef.replace("w",""), 0);
  199. datagrid1.rebuildStyle(datagrid1.row, datagrid1.col);
  200. }
  201. var tot = 0;
  202. for (var i = 3; i < datagrid1.cols-1; i++) {
  203. tot += Number(datagrid1.valueMatrix(datagrid1.row, i));
  204. }
  205. datagrid1.valueMatrix(datagrid1.row, datagrid1.cols-1) = tot;
  206. fGridSubTotal();
  207. ]]>
  208. </script>
  209. <script type="javascript" ev:event="onclick">
  210. <![CDATA[
  211. if (isDataCell()) {
  212. var colRef = datagrid1.colAttribute(datagrid1.col, "ref");
  213. model.setValue("/root/abc/test1", model.getValue("/root/temp/datagrid/druglist[" + datagrid1.row + "]/" + colRef));
  214. model.setValue("/root/abc/test2", "0");
  215. model.setValue("/root/abc/test3", "0");
  216. model.setValue("/root/abc/test4", model.getValue("/root/main/datagrid/druglist[" + datagrid1.row + "]/" + colRef));
  217. }
  218. ]]>
  219. </script>
  220. <script type="javascript" ev:event="onendedit">
  221. <![CDATA[
  222. if (event.keyCode == 13) {
  223. datagrid1.row += 1;
  224. }
  225. ]]>
  226. </script>
  227. <script type="javascript" ev:event="onmousemove">
  228. <![CDATA[
  229. ]]>
  230. </script>
  231. </datagrid>
  232. <group id="group2" style="left:0px; top:20px; width:1194px; height:37px; ">
  233. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1194px; height:37px; background-color:#fffbf2; border-color:#ffd799; "/>
  234. <caption id="caption4" class="search_name" style="left:15px; top:9px; width:104px; height:17px; ">검색일자 :</caption>
  235. <input id="srchdd" ref="/root/send/srchdate" class="input_search" inputtype="date" style="left:105px; top:9px; width:99px; height:19px; ">
  236. <script type="javascript" ev:event="xforms-value-changed">
  237. <![CDATA[
  238. fGetDrugList();
  239. ]]>
  240. </script>
  241. </input>
  242. <button id="btn_send" class="btn4_letter2" style="left:985px; top:8px; width:56px; height:22px; ">
  243. <caption>저장</caption>
  244. <script type="javascript" ev:event="DOMActivate">
  245. <![CDATA[
  246. if (getNodesetCount("/root/send2/sendlist") > 0) {
  247. if (submit("TXADT11003")) {
  248. fGetDrugList();
  249. }
  250. }
  251. ]]>
  252. </script>
  253. </button>
  254. <button id="button1" class="btn4_letter2" style="left:1045px; top:8px; width:56px; height:22px; ">
  255. <caption>발주</caption>
  256. <script type="javascript" ev:event="DOMActivate">
  257. <![CDATA[
  258. model.setValue("/root/send/toddflag", model.getValue("/root/send/srchdate"));
  259. if (messageBox("발주 하시겠습니까?", "Q") == 6) {
  260. submit("TXADT10327");
  261. }
  262. ]]>
  263. </script>
  264. </button>
  265. <button id="button2" class="btn1_letter2" style="left:915px; top:8px; width:56px; height:22px; ">
  266. <caption>조회</caption>
  267. <script type="javascript" ev:event="DOMActivate">
  268. <![CDATA[
  269. fGetDrugList();
  270. ]]>
  271. </script>
  272. </button>
  273. <button id="button3" class="btn6_letter2" style="left:1115px; top:8px; width:56px; height:22px; ">
  274. <caption>출력</caption>
  275. <script type="javascript" ev:event="DOMActivate">
  276. <![CDATA[
  277. // 병원명 가져오기
  278. submit("TRADT11029");
  279. var hosp = model.getValue("/root/init/chkinstcd/hosp/hospnm") + " " + model.getValue("/root/init/chkinstcd/hosp/hospnm1");
  280. model.setValue("/root/send/hospnm",hosp);
  281. model.setValue("/root/send/srchfromdd", model.getValue("/root/send/srchdate"));
  282. model.setValue("/root/send/chktm", "Y");
  283. model.removeNodeset("/root/main/prcplist/prcpinfo/");
  284. // 20110218 wify 경북대병원 수액만 조회
  285. submit("TRADT11028");
  286. exeReportPreview("RPADT11001", "XMLSTR", "", "", "false","","","","","false");
  287. ]]>
  288. </script>
  289. </button>
  290. </group>
  291. </xhtml:body>
  292. </xhtml:html>