SMLNP00200_핵의학업무일지.xrw 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/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. <mainlist/>
  11. <nuclwlnlist/>
  12. <nucldelivelist/>
  13. <cnfmidinfo>
  14. <petcnfmid/>
  15. <petcnfmnm/>
  16. <nmcnfmid/>
  17. <nmcnfmnm/>
  18. <spccnfmid/>
  19. <spccnfmnm/>
  20. <bdirem/>
  21. <bdorem/>
  22. </cnfmidinfo>
  23. </main>
  24. <send>
  25. <srchdd/>
  26. <srchbdioflag/>
  27. <globalinstance>
  28. <instance1/>
  29. </globalinstance>
  30. <mainlist/>
  31. <nuclwlnlist/>
  32. <nucldelivelist/>
  33. <compdwlnlist/>
  34. <compddelivelist/>
  35. <srchcnfmid/>
  36. <cnfmidinfo/>
  37. <codeflag/>
  38. <rerefyn/>
  39. </send>
  40. <tmp>
  41. <itemflag/>
  42. <rem/>
  43. <rexlist>
  44. <srchdd/>
  45. <paticnt/>
  46. <patocnt/>
  47. <patscnt/>
  48. <testqty/>
  49. <patsumcnt/>
  50. <scount/>
  51. <rem/>
  52. </rexlist>
  53. <iolist/>
  54. <srchdd/>
  55. <cond>
  56. <testcd/>
  57. <testnm/>
  58. </cond>
  59. <cnfminfo>
  60. <cnfmid/>
  61. <cnfmnm/>
  62. </cnfminfo>
  63. </tmp>
  64. <hidden>
  65. <cnfm>
  66. <nm/>
  67. <dt/>
  68. </cnfm>
  69. </hidden>
  70. <init/>
  71. </root>
  72. </instance>
  73. <script type="javascript" ev:event="xforms-ready">
  74. <![CDATA[
  75. aezfSetSuppDeptcd();
  76. model.toggle("case2");
  77. model.setValue("/root/send/srchbdioflag","O");
  78. model.setValue("/root/send/srchdd", getCurrentDate() );
  79. model.setValue("/root/tmp/itemflag", "N");
  80. model.removeNodeset("/root/main/mainlist");
  81. //일계표 최종 확인자 및 확인일시 조회
  82. model.setValue("/root/send/codeflag","0125|0126|");
  83. submit("TRLZZ00101");
  84. model.setValue("/root/hidden/cnfm/nm", model.getValue("/root/init/LB0125/nm"));
  85. model.setValue("/root/hidden/cnfm/dt", model.getValue("/root/init/LB0125/cd"));
  86. if(model.getValue("/root/init/LB0126/nm") == "Y") { //Y이면 재조회 선택 변경요청 8991
  87. model.setValue("/root/send/rerefyn", "Y"); //재조회
  88. }
  89. model.refresh();
  90. ]]>
  91. </script>
  92. <submission id="TRAEQ00401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/">
  93. <script type="javascript" ev:event="xforms-submit-done">
  94. <![CDATA[
  95. var rowcnt = grd_mainlist.rows;
  96. for(var i = 0; i < rowcnt; i++ )
  97. {
  98. if(model.getValue("/root/tmp/rem") == "")
  99. {
  100. model.setValue("/root/tmp/rem", model.getValue("/root/main/mainlist[" + i + "]/rem"));
  101. }
  102. }
  103. sortGrid(grd_mainlist);
  104. ]]>
  105. </script>
  106. </submission>
  107. <submission id="TXAEQ00401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/result"/>
  108. <submission id="TRAEQ00402" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/tmp/iolist"/>
  109. <submission id="TRLNP00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/"/>
  110. <submission id="TRAEQ00403" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/tmp/cnfminfo"/>
  111. <submission id="TXLNP00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
  112. <submission id="TRLZZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/LB0125"/>
  113. </model>
  114. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  115. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  116. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  117. <script type="javascript" src="../../../ast/commonweb/js/AST.js"/>
  118. <script type="javascript" src="../../../ast/examcureweb/js/AEZ0001.js"/>
  119. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  120. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  121. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  122. <script type="javascript">
  123. <![CDATA[
  124. function sortGrid(gridItem)
  125. {
  126. gridItem.subtotal("clear", 0, 0);
  127. gridItem.subtotal("sum", -1, 1, "#,###", "background-color:#ffff00; color:#0000ff; font-weight:bold; ",0, "총계");
  128. gridItem.subtotal("sum", -1, 2, "#,###", "background-color:#ffff00; color:#0000ff; font-weight:bold; ",0, "총계");
  129. gridItem.subtotal("sum", -1, 3, "#,###", "background-color:#ffff00; color:#0000ff; font-weight:bold; ",0, "총계");
  130. gridItem.subtotal("sum", -1, 4, "#,###", "background-color:#ffff00; color:#0000ff; font-weight:bold; ",0, "총계");
  131. var cnt = getNodesetCount("/root/main/cnfmidinfo");
  132. if (cnt == 0) {
  133. model.makeNode("/root/main/cnfmidinfo/petcnfmid");
  134. model.makeNode("/root/main/cnfmidinfo/petcnfmnm");
  135. model.makeNode("/root/main/cnfmidinfo/nmcnfmid");
  136. model.makeNode("/root/main/cnfmidinfo/nmcnfmnm");
  137. model.makeNode("/root/main/cnfmidinfo/spccnfmid");
  138. model.makeNode("/root/main/cnfmidinfo/spccnfmnm");
  139. model.makeNode("/root/main/cnfmidinfo/bdirem");
  140. model.makeNode("/root/main/cnfmidinfo/bdorem");
  141. model.makeNode("/root/main/bdoutexamcnt/patcnt");
  142. model.makeNode("/root/main/bdoutexamcnt/testcnt");
  143. }else{
  144. model.setValue("/root/main/cnfmidinfo/spccnfmid", "");
  145. model.setValue("/root/main/cnfmidinfo/spccnfmnm", "");
  146. }
  147. model.refresh();
  148. }
  149. function addRow(qtygridlistid) {
  150. grd_nuclwlnlist.addItem();
  151. grd_bodypart.addItem();
  152. var i = parseInt(grd_bodypart.row);
  153. model.setValue("/root/main/bodypartlist/list[" + i + "]/basesuppdeptcd",
  154. model.getValue("/root/send/globalinstance/instance1") );
  155. model.refresh();
  156. }
  157. function setGridStatus(grd_update)
  158. {
  159. var rowcnt = grd_update.rows;
  160. for(i=0 ; i < rowcnt; i++)
  161. {
  162. grd_update.rowstatus(i) = 2;
  163. }
  164. }
  165. function mergeRexList(rexList)
  166. {
  167. var mainlistcnt;
  168. for(var i = 1 ; i <= model.getXPathValue("count(" + rexList + ")"); i++)
  169. {
  170. mainlistcnt = parseInt(model.getXPathValue("count(/root/tmp/rexlist/mainlist)")) + 1;
  171. model.makeNode("/root/tmp/rexlist/mainlist[" + mainlistcnt + "]");
  172. model.copyNode("/root/tmp/rexlist/mainlist[" + mainlistcnt + "]", rexList + "[" + i +"]");
  173. }
  174. }
  175. function setZero(){
  176. for(j = 1 ; j < grd_nucldelivelist.rows ; j ++){
  177. model.setValue("/root/main/nucldelivelist["+j+"]/qty", "");
  178. }
  179. }
  180. function setUseqtyCopy(){
  181. if(datagrid1.rows > 1){
  182. for(i = 1 ; i < datagrid1.rows ; i ++){
  183. for(j = 1 ; j < grd_nucldelivelist.rows ; j ++){
  184. if(model.getValue("/root/main/mainlist["+i+"]/nuclcd") == ""){
  185. if(model.getValue("/root/main/mainlist["+i+"]/prcpcd") ==
  186. model.getValue("/root/main/nucldelivelist["+j+"]/goodcd")){
  187. grd_nucldelivelist.rowstatus(j) = 2;
  188. model.setValue("/root/main/nucldelivelist["+j+"]/qty", model.getValue("/root/main/mainlist["+i+"]/testqty"));
  189. }
  190. }else{
  191. if(model.getValue("/root/main/mainlist["+i+"]/nuclcd") ==
  192. model.getValue("/root/main/nucldelivelist["+j+"]/goodcd")){
  193. grd_nucldelivelist.rowstatus(j) = 2;
  194. if(model.getValue("/root/main/nucldelivelist["+j+"]/qty") == ""){
  195. model.setValue("/root/main/nucldelivelist["+j+"]/qty", "0");
  196. }
  197. model.setValue("/root/main/nucldelivelist["+j+"]/qty", parseInt(model.getValue("/root/main/nucldelivelist["+j+"]/qty"))
  198. + parseInt(model.getValue("/root/main/mainlist["+i+"]/testqty")));
  199. }
  200. }
  201. }
  202. }
  203. }
  204. model.refresh();
  205. }
  206. function fSetNextRow(){
  207. var curCol = datagrid1.Col;
  208. var curRow = datagrid1.Row;
  209. var Testcd;
  210. var Qty;
  211. Testcd = datagrid1.valueMatrix(curRow, 5);
  212. Nuclcd = datagrid1.valueMatrix(curRow, 9);
  213. Qty = datagrid1.valueMatrix(curRow, curCol);
  214. if(curCol == 4){
  215. for(i = 1 ; i < grd_nucldelivelist.rows; i++){
  216. if(Nuclcd == ""){
  217. if(model.getValue("/root/main/nucldelivelist["+i+"]/goodcd") == Testcd){
  218. model.setValue("/root/main/nucldelivelist["+i+"]/qty", Qty);
  219. datagrid1.row = curRow+1;
  220. grd_nucldelivelist.rowstatus(i) = 2;
  221. model.refresh();
  222. return;
  223. }
  224. }else{
  225. for(nucl = 1 ; nucl < grd_nucldelivelist.rows ; nucl++){
  226. model.setValue("/root/main/nucldelivelist["+nucl+"]/qty", "");
  227. //grd_nucldelivelist.rowstatus(nucl) = 0;
  228. }
  229. setUseqtyCopy();
  230. datagrid1.row = curRow+1;
  231. model.refresh();
  232. return;
  233. }
  234. }
  235. }else{
  236. datagrid1.row = curRow+1;
  237. model.refresh();
  238. }
  239. }
  240. function fgetnuclworklist(){
  241. if(model.getValue("/root/send/srchdd") != ""){
  242. model.removeNodeset("/root/main/mainlist");
  243. model.removeNodeset("/root/main/reallist");
  244. model.removeNodeset("/root/main/nuclwlnlist");
  245. model.removeNodeset("/root/main/nucldelivelist");
  246. model.removeNodeset("/root/main/compdwlnlist");
  247. model.removeNodeset("/root/main/compddelivelist");
  248. model.removeNodeset("/root/main/cnfmidinfo");
  249. if(submit("TRLNP00201")){
  250. //과거일자로 조회시 검사현황 입고현황 사용현황 Disable
  251. /*var cnfmdt = model.getValue("/root/init/LB0125/cd").replace('-', '').replace('-', '').substr(0 ,8);
  252. var reqdd = model.getValue("/root/send/srchdd");
  253. if( reqdd < cnfmdt){
  254. datagrid1.colDisabled(1) = true; //검사현황 - 입원
  255. datagrid1.colDisabled(2) = true; //검사현황 - 외래
  256. datagrid1.colDisabled(3) = true; //검사현황 - 건진
  257. datagrid1.colDisabled(4) = true; //검사현황 - 사용량
  258. grd_nuclwlnlist.colDisabled(4) = true; //입고현황 - 취득량
  259. grd_nucldelivelist.colDisabled(4) = true; //사용현황 - 사용량
  260. }else{
  261. datagrid1.colDisabled(1) = false;
  262. datagrid1.colDisabled(2) = false;
  263. datagrid1.colDisabled(3) = false;
  264. datagrid1.colDisabled(4) = false;
  265. grd_nuclwlnlist.colDisabled(4) = false;
  266. grd_nucldelivelist.colDisabled(4) = false;
  267. }*/ //기능 구현했다 강영직 선생님 결사반대로 수정 가능하게 풀어놓음 20090423 추후 요구시 변경요청서 받고 처리하기로 협의
  268. }
  269. }
  270. else{
  271. messageBox("날짜가", "E007");
  272. }
  273. sortGrid(datagrid1);
  274. setGridStatus(datagrid1);
  275. setZero();
  276. setUseqtyCopy();
  277. }
  278. function fSetNextRowNucl(){
  279. var curCol = grd_nuclwlnlist.Col;
  280. var curRow = grd_nuclwlnlist.Row;
  281. if(curCol == 4){
  282. grd_nuclwlnlist.Row = curRow+1;
  283. }
  284. }
  285. function fInsRowdel(){
  286. var Row = datagrid1.row;
  287. if(Row == -1){
  288. alert("삭제할 항목을 선택하여 주십시오.");
  289. }
  290. var retval = window.alert(model.getValue("/root/main/mainlist["+(Row-1)+"]/prcpnm") + "을 삭제 하시겠습니까?", "결과관리", "35" );
  291. if (retval != "6") return; // yes = 6, no = 7
  292. datagrid1.deleteItem(datagrid1.row);
  293. sortGrid(datagrid1);
  294. setZero();
  295. setUseqtyCopy();
  296. }
  297. function fInsRowAdd(){
  298. modal("SPLNP90200","","","","","","");
  299. var testcdlist= model.getValue("/root/tmp/cond/testcd");
  300. var testnmlist = model.getValue("/root/tmp/cond/testnm");
  301. datagrid1.subtotal("clear", -1, 1, "#,###", "background-color:#ffff00; color:#0000ff; font-weight:bold; ",0, "총계");
  302. datagrid1.subtotal("clear", -1, 2, "#,###", "background-color:#ffff00; color:#0000ff; font-weight:bold; ",0, "총계");
  303. datagrid1.subtotal("clear", -1, 3, "#,###", "background-color:#ffff00; color:#0000ff; font-weight:bold; ",0, "총계");
  304. datagrid1.subtotal("clear", -1, 4, "#,###", "background-color:#ffff00; color:#0000ff; font-weight:bold; ",0, "총계");
  305. var testcd = testcdlist.split("▦");
  306. var testnm = testnmlist.split("▦");
  307. var testcdcount = testcd.length;
  308. if(testcdcount > 0){
  309. for(i = 0 ; i < testcdcount ; i++){
  310. datagrid1.addRow(false);
  311. var curRow = datagrid1.Row;
  312. model.makeValue("/root/main/mainlist["+(curRow-1)+"]/prcpnm",testnm[i]);
  313. model.makeValue("/root/main/mainlist["+(curRow-1)+"]/prcpcd",testcd[i] );
  314. model.makeValue("/root/main/mainlist["+(curRow-1)+"]/recdd", model.getValue("/root/send/srchdd"));
  315. model.makeValue("/root/main/mainlist["+(curRow-1)+"]/bdioflag", "O");
  316. model.makeValue("/root/main/mainlist["+(curRow-1)+"]/suppdeptcd", model.getValue("/root/send/globalinstance/instance1"));
  317. }
  318. }
  319. model.refresh();
  320. sortGrid(datagrid1);
  321. }
  322. ]]>
  323. </script>
  324. </xhtml:head>
  325. <xhtml:body guideline="1,1195;" style="margin-left:7; margin-top:0; margin-right:8; margin-bottom:0; ">
  326. <group id="group1" style="left:0px; top:0px; width:1194px; height:13px; ">
  327. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:137px; height:14px; ">업무일지</caption>
  328. </group>
  329. <group id="group3" scroll="auto" style="left:0px; top:13px; width:1195px; height:744px; ">
  330. <group id="grp_sea" style="left:0px; top:10px; width:1194px; height:35px; vertical-align:top; ">
  331. <shape id="roundrect2" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1194px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  332. <caption id="caption2" class="search_name" style="left:10px; top:9px; width:86px; height:17px; ">조회일자 :</caption>
  333. <input id="input5" ref="/root/send/srchdd" class="input_search" inputtype="date" style="left:102px; top:8px; width:100px; height:19px; "/>
  334. <line id="line13" class="line_4" style="x1:1116px; y1:6px; x2:1116px; y2:28px; "/>
  335. <caption id="caption3" class="search_name" visibility="hidden" style="left:220px; top:9px; width:65px; height:17px; ">구분 :</caption>
  336. <button id="btn_sea" class="btn1_letter2" style="left:1124px; top:7px; width:56px; height:22px; ">
  337. <caption>조회</caption>
  338. <script type="javascript" ev:event="DOMActivate">
  339. <![CDATA[
  340. fgetnuclworklist()
  341. ]]>
  342. </script>
  343. </button>
  344. <select1 id="radio1" ref="/root/send/srchbdioflag" visibility="hidden" appearance="full" cols="2" overflow="visible" style="left:290px; top:10px; width:95px; height:15px; border-style:none; ">
  345. <choices>
  346. <item>
  347. <label>체내</label>
  348. <value>I</value>
  349. </item>
  350. <item>
  351. <label>체외</label>
  352. <value>O</value>
  353. </item>
  354. </choices>
  355. <script type="javascript" ev:event="xforms-value-changed">
  356. <![CDATA[
  357. var bdioflag = model.getValue("/root/send/srchbdioflag");
  358. if (bdioflag == "I") {
  359. model.toggle("case1");
  360. } else if (bdioflag == "O") {
  361. model.toggle("case2");
  362. }
  363. model.refresh();
  364. ]]>
  365. </script>
  366. </select1>
  367. <select id="checkbox1" ref="/root/send/rerefyn" overflow="visible" appearance="full" style="left:1030px; top:10px; width:65px; height:20px; border-style:none; ">
  368. <choices>
  369. <item>
  370. <label>재조회</label>
  371. <value>Y</value>
  372. </item>
  373. </choices>
  374. </select>
  375. </group>
  376. <line id="line1" class="line_1" style="x1:0px; y1:71px; x2:555px; y2:71px; "/>
  377. <caption id="caption22" class="tit_2" style="left:0px; top:56px; width:84px; height:13px; ">검사현황</caption>
  378. <caption id="caption4" class="tit_2" style="left:561px; top:56px; width:84px; height:13px; ">입고현황</caption>
  379. <line id="line2" class="line_1" style="x1:561px; y1:71px; x2:1193px; y2:71px; "/>
  380. <switch id="switch2" style="left:561px; top:76px; width:632px; height:529px; ">
  381. <case id="case3" scroll="none" selected="true">
  382. <datagrid id="grd_nuclwlnlist" nodeset="/root/main/nuclwlnlist" caption="항목^공급처^규격^규격^취득량" colsep="^" colwidth="201, 188, 45, 40,130, 100, 100, 100, 100, 100, 100, 100, 100" mergecellsfixedrows="bycolrec" rowsep="|" style="left:1px; top:0px; width:632px; height:310px; ">
  383. <col ref="goodnm" type="output"/>
  384. <col ref="suplcustnm" type="output"/>
  385. <col ref="specnm" type="output" style="text-align:center; "/>
  386. <col ref="vol" type="output" style="text-align:center; "/>
  387. <col ref="qty" type="input" format="#,###" maxlength="10"/>
  388. <col ref="lossresncd" visibility="hidden"/>
  389. <col ref="iodd" visibility="hidden"/>
  390. <col ref="ioflag" visibility="hidden"/>
  391. <col ref="bdioflag" visibility="hidden"/>
  392. <col ref="itemflag" visibility="hidden"/>
  393. <col ref="goodcd" visibility="hidden"/>
  394. <col ref="rem" visibility="hidden"/>
  395. <col ref="suppdeptcd" visibility="hidden" style="text-align:center; "/>
  396. <script type="javascript" ev:event="onendedit">
  397. <![CDATA[
  398. fSetNextRowNucl();
  399. ]]>
  400. </script>
  401. </datagrid>
  402. <datagrid id="grd_nucldelivelist" nodeset="/root/main/nucldelivelist" caption="항목^공급처^규격^규격^사용량" colsep="^" colwidth="201, 188, 45, 40, 100, 100, 100, 100, 100, 100, 100, 100, 100" mergecellsfixedrows="bycolrec" rowsep="|" style="left:1px; top:340px; width:632px; height:185px; ">
  403. <col ref="goodnm" type="output"/>
  404. <col ref="suplcustnm" type="output"/>
  405. <col ref="specnm" type="output" style="text-align:center; "/>
  406. <col ref="vol" type="output" style="text-align:center; "/>
  407. <col ref="qty" type="input" format="#,###" maxlength="10"/>
  408. <col ref="lossresncd" visibility="hidden"/>
  409. <col ref="iodd" visibility="hidden"/>
  410. <col ref="ioflag" visibility="hidden"/>
  411. <col ref="bdioflag" visibility="hidden"/>
  412. <col ref="itemflag" visibility="hidden"/>
  413. <col ref="goodcd" visibility="hidden"/>
  414. <col ref="rem" visibility="hidden"/>
  415. <col ref="suppdeptcd" visibility="hidden" style="text-align:center; "/>
  416. </datagrid>
  417. </case>
  418. <case id="case4" scroll="none">
  419. <datagrid id="grd_compdwlnlist" nodeset="/root/main/compdwlnlist" caption="항목^공급처^규격^취득량" colsep="^" colwidth="201, 188, 84, 130, 100, 100, 100, 100, 100, 100, 100, 100" mergecellsfixedrows="bycolrec" rowsep="|" style="left:1px; top:0px; width:632px; height:250px; ">
  420. <col ref="goodnm" type="output"/>
  421. <col ref="suplcustnm" type="output"/>
  422. <col ref="specnm" type="output"/>
  423. <col ref="qty" type="input" format="#,###" maxlength="10"/>
  424. <col ref="lossresncd" visibility="hidden"/>
  425. <col ref="iodd" visibility="hidden"/>
  426. <col ref="ioflag" visibility="hidden"/>
  427. <col ref="bdioflag" visibility="hidden"/>
  428. <col ref="itemflag" visibility="hidden"/>
  429. <col ref="goodcd" visibility="hidden"/>
  430. <col ref="rem" visibility="hidden"/>
  431. <col ref="suppdeptcd" visibility="hidden" style="text-align:center; "/>
  432. </datagrid>
  433. <datagrid id="grd_compddelivelist" nodeset="/root/main/compddelivelist" caption="항목^공급처^규격^취득량" colsep="^" colwidth="201, 188, 84, 130, 100, 100, 100, 100, 100, 100, 100, 100" mergecellsfixedrows="bycolrec" rowsep="|" style="left:1px; top:275px; width:632px; height:250px; ">
  434. <col ref="goodnm" type="output"/>
  435. <col ref="suplcustnm" type="output"/>
  436. <col ref="specnm" type="output"/>
  437. <col ref="qty" type="input" format="#,###" maxlength="10"/>
  438. <col ref="lossresncd" visibility="hidden"/>
  439. <col ref="iodd" visibility="hidden"/>
  440. <col ref="ioflag" visibility="hidden"/>
  441. <col ref="bdioflag" visibility="hidden"/>
  442. <col ref="itemflag" visibility="hidden"/>
  443. <col ref="goodcd" visibility="hidden"/>
  444. <col ref="rem" visibility="hidden"/>
  445. <col ref="suppdeptcd" visibility="hidden" style="text-align:center; "/>
  446. </datagrid>
  447. </case>
  448. </switch>
  449. <textarea id="textarea1" ref="/root/main/cnfmidinfo/bdorem" style="left:0px; top:635px; width:1195px; height:109px; "/>
  450. <caption id="caption5" class="tit_2" style="left:0px; top:615px; width:129px; height:14px; ">참고사항</caption>
  451. <line id="line3" class="line_1" style="x1:1px; y1:630px; x2:1195px; y2:630px; "/>
  452. <caption id="caption7" class="tit_2" style="left:561px; top:398px; width:84px; height:13px; ">사용현황</caption>
  453. <line id="line4" class="line_1" style="x1:561px; y1:412px; x2:1193px; y2:412px; "/>
  454. <switch id="switch1" style="left:0px; top:75px; width:558px; height:532px; ">
  455. <case id="case1">
  456. <datagrid id="grd_mainlist" nodeset="/root/list/abc" caption="구분^검사항목^환자수^환자수^검사수^검사수|구분^검사항목^보험^일반^보험^일반" colsep="^" colwidth="84, 230, 55, 55, 55, 55, 100, 100, 100, 100, 100" fixedcols="1" mergecellsfixedcols="bycol" mergecellsfixedrows="bycolrec" multitotal="true" rowsep="|" subtotalposition="below" style="left:0px; top:0px; width:555px; height:529px; ">
  457. <col ref="basecdcnts"/>
  458. <col ref="prcpnm" style="text-align:center; "/>
  459. <col ref="patinsucnt" type="input" format="#,###" maxlength="10" style="text-align:center; "/>
  460. <col ref="patgnrlcnt" type="input" format="#,###" maxlength="10" style="text-align:center; "/>
  461. <col ref="testinsucnt" type="input" format="#,###" maxlength="10" style="text-align:center; "/>
  462. <col ref="testgnrlcnt" type="input" format="#,###" maxlength="10" style="text-align:center; "/>
  463. <col ref="prcpcd" visibility="hidden" style="text-align:center; "/>
  464. <col ref="recdd" visibility="hidden" style="text-align:center; "/>
  465. <col ref="bdioflag" visibility="hidden" style="text-align:center; "/>
  466. <col ref="suppdeptcd" visibility="hidden" style="text-align:center; "/>
  467. <col ref="rem" visibility="hidden"/>
  468. <script type="javascript" ev:event="xforms-value-changed">
  469. <![CDATA[
  470. //sortGrid(grd_mainlist);
  471. ]]>
  472. </script>
  473. </datagrid>
  474. </case>
  475. <case id="case2" selected="true">
  476. <datagrid id="datagrid1" nodeset="/root/main/mainlist" caption="검사항목^환자수^환자수^환자수^검사수&#xA;(사용량)|검사항목^입원^외래^건진^검사수&#xA;(사용량)" colsep="^" colwidth="250, 55, 55, 55, 55, 55, 100, 100" frozenbottomrows="1" mergecellsfixedrows="bycolrec" rowsep="|" selectionmode="free" subtotalposition="below" style="left:0px; top:0px; width:555px; height:529px; ">
  477. <col ref="prcpnm" type="output"/>
  478. <col ref="paticnt" type="input" format="#,###" maxlength="10" style="text-align:center; "/>
  479. <col ref="patocnt" type="input" format="#,###" maxlength="10" style="text-align:center; "/>
  480. <col ref="patscnt" type="input" format="#,###" maxlength="10" style="text-align:center; "/>
  481. <col ref="testqty" type="input" format="#,###" maxlength="10" style="text-align:center; "/>
  482. <col ref="prcpcd" visibility="hidden" style="text-align:center; "/>
  483. <col ref="recdd" visibility="hidden" style="text-align:center; "/>
  484. <col ref="bdioflag" visibility="hidden" style="text-align:center; "/>
  485. <col ref="suppdeptcd" visibility="hidden" style="text-align:center; "/>
  486. <col ref="nuclcd" visibility="hidden" style="text-align:center; "/>
  487. <col ref="rem" visibility="hidden" style="text-align:center; "/>
  488. <script type="javascript" ev:event="onendedit">
  489. <![CDATA[
  490. fSetNextRow();
  491. ]]>
  492. </script>
  493. <script type="javascript" ev:event="xforms-value-changed">
  494. <![CDATA[
  495. sortGrid(datagrid1);
  496. ]]>
  497. </script>
  498. </datagrid>
  499. </case>
  500. </switch>
  501. <input id="ipt_suplcmpynm" ref="/root/tmp/suplcustnm" visibility="hidden" style="left:465px; top:610px; width:90px; height:19px; "/>
  502. <input id="ipt_suplcmpy" ref="/root/tmp/suplcustcd" visibility="hidden" style="left:375px; top:610px; width:85px; height:19px; "/>
  503. <select1 id="radio2" ref="/root/tmp/itemflag" visibility="hidden" appearance="full" cols="2" overflow="visible" style="left:645px; top:55px; width:95px; height:15px; border-style:none; ">
  504. <choices>
  505. <item>
  506. <label>핵종</label>
  507. <value>N</value>
  508. </item>
  509. <item>
  510. <label>화합물</label>
  511. <value>O</value>
  512. </item>
  513. </choices>
  514. <script type="javascript" ev:event="xforms-value-changed">
  515. <![CDATA[
  516. if(radio2.value == "N")
  517. {
  518. model.toggle("case3");
  519. }
  520. else
  521. {
  522. model.toggle("case4");
  523. }
  524. ]]>
  525. </script>
  526. </select1>
  527. <button id="button1" class="btn2_letter3" style="left:501px; top:51px; width:53px; height:19px; ">
  528. <caption>행삭제</caption>
  529. <script type="javascript" ev:event="DOMActivate">
  530. <![CDATA[
  531. fInsRowdel();
  532. ]]>
  533. </script>
  534. </button>
  535. <button id="button4" class="btn2_letter3" style="left:446px; top:51px; width:53px; height:19px; ">
  536. <caption>행추가</caption>
  537. <script type="javascript" ev:event="DOMActivate">
  538. <![CDATA[
  539. fInsRowAdd();
  540. ]]>
  541. </script>
  542. </button>
  543. <output id="opt_nm" ref="/root/hidden/cnfm/nm" class="output_fix" style="left:619px; top:608px; width:70px; height:19px; "/>
  544. <output id="opt_dt" ref="/root/hidden/cnfm/dt" class="output_fix" style="left:692px; top:608px; width:130px; height:19px; "/>
  545. <caption id="caption9" class="search_name" style="left:877px; top:609px; width:178px; height:17px; ">체외검사 확인자 :</caption>
  546. <input id="input2" ref="/root/main/cnfmidinfo/spccnfmid" class="input_search" style="left:1015px; top:608px; width:90px; height:19px; text-align:left; ">
  547. <script type="javascript" ev:event="onkeydown">
  548. <![CDATA[
  549. if ( event.keyCode == 13 ) {
  550. setInputNodeCurText();
  551. model.setValue("/root/send/srchcnfmid", model.getValue("/root/main/cnfmidinfo/spccnfmid"));
  552. if (submit("TRAEQ00403",false)) {
  553. model.setValue("/root/main/cnfmidinfo/spccnfmid", model.getValue("/root/tmp/cnfminfo/cnfmid"));
  554. model.setValue("/root/main/cnfmidinfo/spccnfmnm", model.getValue("/root/tmp/cnfminfo/cnfmnm"));
  555. model.refresh();
  556. }
  557. }
  558. ]]>
  559. </script>
  560. </input>
  561. <output id="output2" ref="/root/main/cnfmidinfo/spccnfmnm" class="output_fix" style="left:1107px; top:608px; width:80px; height:19px; "/>
  562. <caption id="caption1" class="search_name" style="left:466px; top:609px; width:178px; height:17px; ">일계표 최종 확인자 :</caption>
  563. <caption id="caption8" style="left:775px; top:38px; width:415px; height:42px; ">
  564. <![CDATA[재조회 선택 후 조회시 해당일에 업무일지를 저장한 를 기준으로
  565. 재조회 하므로 조회 후 수정하여 저장 시 이점 유의 하시기 바랍니다.]]>
  566. </caption>
  567. <caption id="caption10" style="left:1054px; top:42px; width:72px; height:20px; font-weight:bold; color:#ff0000; ">마지막 일시</caption>
  568. </group>
  569. <button id="btn_save" class="btn4_letter2" visibility="hidden" style="left:894px; top:760px; width:56px; height:22px; ">
  570. <caption>삭제</caption>
  571. </button>
  572. <button id="btn_rept" class="btn4_letter6" style="left:1085px; top:760px; width:104px; height:22px; ">
  573. <caption>검사현황출력</caption>
  574. <script type="javascript" ev:event="DOMActivate">
  575. <![CDATA[
  576. var nodecnt = model.getXPathValue("count(/root/main/mainlist)");
  577. var paticnt = model.getXPathValue("sum( /root/main/mainlist/paticnt )");
  578. var patocnt = model.getXPathValue("sum( /root/main/mainlist/patocnt )");
  579. var patscnt = model.getXPathValue("sum( /root/main/mainlist/patscnt )");
  580. var testqty = model.getXPathValue("sum( /root/main/mainlist/testqty )");
  581. var rem = model.getValue("/root/main/cnfmidinfo/bdorem");
  582. mergeRexList("/root/main/mainlist");
  583. model.setValue("/root/tmp/rexlist/paticnt", paticnt);
  584. model.setValue("/root/tmp/rexlist/patocnt", patocnt);
  585. model.setValue("/root/tmp/rexlist/patscnt", patscnt);
  586. model.setValue("/root/tmp/rexlist/patsumcnt", parseInt(paticnt) + parseInt(patocnt) + parseInt(patscnt));
  587. model.setValue("/root/tmp/rexlist/testqty", testqty);
  588. model.setValue("/root/tmp/rexlist/rem", rem);
  589. var ymd = model.getValue("/root/tmp/rexlist/mainlist/recdd");
  590. var year = ymd.substring(0,4);
  591. var month = ymd.substring(4,6);
  592. var day = ymd.substring(6,8);
  593. var yymmddstr = year + "/" + month + "/" + day + " " + getDateTime(ymd.toDate("YYYYMMDD"), "W") + "요일";
  594. model.setValue("/root/tmp/rexlist/srchdd", yymmddstr);
  595. model.setValue("/root/tmp/rexlist/scount" , model.getValue("/root/main/reallist/scount"));
  596. model.makeNode("/root/tmp/rexlist/mainlist[62]");
  597. exeReportPreview("RPLNP00201", "XMLSTR", "/root/tmp/rexlist");
  598. model.removeNodeset("/root/tmp/rexlist/mainlist");
  599. model.refresh();
  600. ]]>
  601. </script>
  602. </button>
  603. <button id="button3" class="btn4_letter3" style="left:955px; top:760px; width:68px; height:22px; ">
  604. <caption>초기화</caption>
  605. <script type="javascript" ev:event="onclick">
  606. <![CDATA[
  607. var retval = window.alert( "저장된 데이터가 삭제됩니다. \n초기화 하시겠습니까?", "결과관리", "35" );
  608. if (retval != "6") return; // yes = 6, no = 7
  609. submit("TXLNP00201");
  610. fgetnuclworklist();
  611. ]]>
  612. </script>
  613. </button>
  614. <button id="button5" class="btn4_letter2" style="left:1026px; top:760px; width:56px; height:22px; ">
  615. <caption>저장</caption>
  616. <script type="javascript" ev:event="DOMActivate">
  617. <![CDATA[
  618. if(model.getValue("/root/main/cnfmidinfo/spccnfmnm") == ""){
  619. alert("체외검사 확인자를 입력하여 주십시오.");
  620. return;
  621. }
  622. var retval = window.alert( "저장 하시겠습니까?", "결과관리", "35" );
  623. if (retval != "6") return; // yes = 6, no = 7
  624. var rowcnt = datagrid1.rows;
  625. var count = getNodesetCount("/root/main/mainlist");
  626. if ( count != 0){
  627. model.setValue("/root/main/mainlist[1]/rem", model.getValue("/root/tmp/rem"));
  628. datagrid1.subtotal("clear", -1, 1, "#,###", "background-color:#ffff00; color:#0000ff; font-weight:bold; ",0, "총계");
  629. datagrid1.subtotal("clear", -1, 2, "#,###", "background-color:#ffff00; color:#0000ff; font-weight:bold; ",0, "총계");
  630. datagrid1.subtotal("clear", -1, 3, "#,###", "background-color:#ffff00; color:#0000ff; font-weight:bold; ",0, "총계");
  631. datagrid1.subtotal("clear", -1, 4, "#,###", "background-color:#ffff00; color:#0000ff; font-weight:bold; ",0, "총계");
  632. var uptmain = getGridUpdateData(datagrid1);
  633. var uptwln = getGridUpdateData(grd_nuclwlnlist);
  634. var uptdelive = getGridUpdateData(grd_nucldelivelist);
  635. var uptcompdwln = getGridUpdateData(grd_compdwlnlist);
  636. var uptcompddelive = getGridUpdateData(grd_compddelivelist);
  637. var recdd = model.getValue("/root/send/srchdd");
  638. model.setValue("/root/send/mainlist", uptmain);
  639. model.setValue("/root/send/nuclwlnlist", uptwln);
  640. model.setValue("/root/send/nucldelivelist", uptdelive);
  641. model.setValue("/root/send/compdwlnlist", uptcompdwln);
  642. model.setValue("/root/send/compddelivelist", uptcompddelive);
  643. //model.makeValue("/root/send/cnfmidinfo/recdd", recdd); //일단 체외 구분만 넣었음 기록일자
  644. copyNodesetType("/root/send/cnfmidinfo","/root/main/cnfmidinfo");
  645. model.makeValue("/root/send/cnfmidinfo/recdd", model.getValue("/root/send/srchdd"));
  646. model.makeValue("/root/send/cnfmidinfo/suppdeptcd", "2180000000");
  647. model.makeValue("/root/send/cnfmidinfo/bdioflag", "O"); //상동
  648. //model.makeValue("/root/send/cnfmidinfo/bdioflag", "I");
  649. if ( submit("TXAEQ00401")) {
  650. // 저장 후 재 조회
  651. model.removeNodeset("/root/main/mainlist");
  652. model.removeNodeset("/root/main/reallist");
  653. model.removeNodeset("/root/main/nuclwlnlist");
  654. model.removeNodeset("/root/main/nucldelivelist");
  655. model.removeNodeset("/root/main/compdwlnlist");
  656. model.removeNodeset("/root/main/compddelivelist");
  657. fgetnuclworklist();
  658. messageBox("저장", "I002");
  659. }
  660. }else{
  661. alert("저장할 내역이 없습니다");
  662. }
  663. ]]>
  664. </script>
  665. </button>
  666. <button id="button2" class="btn4_letter6" style="left:0px; top:760px; width:104px; height:22px; ">
  667. <caption>채내업무일지</caption>
  668. <script type="javascript" ev:event="DOMActivate">
  669. <![CDATA[
  670. open("SMAEQ00400");
  671. ]]>
  672. </script>
  673. </button>
  674. <button id="button6" class="btn4_letter6" style="left:107px; top:760px; width:104px; height:22px; ">
  675. <caption>검사KIT설정</caption>
  676. <script type="javascript" ev:event="DOMActivate">
  677. <![CDATA[
  678. modal("SPLNP90500","","","","","","");
  679. fgetnuclworklist();
  680. ]]>
  681. </script>
  682. </button>
  683. </xhtml:body>
  684. </xhtml:html>