SMAVT00200_방사선조사$.xrw 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750
  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. <acptlist>
  11. <item>
  12. <graftno/>
  13. <pid/>
  14. <hngnm/>
  15. <abo/>
  16. <partseq/>
  17. <radialynd/>
  18. <partcode/>
  19. <stated/>
  20. </item>
  21. </acptlist>
  22. <batchlist>
  23. <item>
  24. <sel/>
  25. <graftno/>
  26. <partseq/>
  27. <batchno/>
  28. <radialynd/>
  29. <partcode/>
  30. <sizewcnt/>
  31. <ryn/>
  32. </item>
  33. </batchlist>
  34. <batchaddlist>
  35. <item>
  36. <graftno/>
  37. <partseq/>
  38. <batchno/>
  39. <radialynd/>
  40. <partcode/>
  41. <sizewcnt/>
  42. <bigo/>
  43. <rstatem/>
  44. <rstated/>
  45. <ryn/>
  46. <radialvlmd/>
  47. </item>
  48. <item1>
  49. <rdd/>
  50. <rseq/>
  51. <rpathm/>
  52. <rpathd/>
  53. <rplacem/>
  54. <rplaced/>
  55. <dryiceb/>
  56. <dryicea/>
  57. </item1>
  58. </batchaddlist>
  59. </main>
  60. <send>
  61. <srch>
  62. <srchsearch/>
  63. <srchfromdd/>
  64. <srchtodd/>
  65. <srchpid/>
  66. <srchhngnm/>
  67. </srch>
  68. <req>
  69. <savedata/>
  70. <rdd/>
  71. <rseq/>
  72. <rpathm/>
  73. <rpathd/>
  74. <rplacem/>
  75. <rplaced/>
  76. <dryiceb/>
  77. <dryicea/>
  78. <sdd/>
  79. <stm/>
  80. <edd/>
  81. <etm/>
  82. </req>
  83. <graftno/>
  84. <partseq/>
  85. <rdd/>
  86. </send>
  87. <init>
  88. <combobscdlst/>
  89. <comboptcdlst>
  90. <item>
  91. <partcode/>
  92. <partname/>
  93. </item>
  94. </comboptcdlst>
  95. </init>
  96. <hidden>
  97. <item/>
  98. </hidden>
  99. <temp>
  100. <templst/>
  101. </temp>
  102. <rexreptinfo>
  103. <batchlistinfo>
  104. <item/>
  105. <rdd/>
  106. <rpath/>
  107. <rplace/>
  108. </batchlistinfo>
  109. </rexreptinfo>
  110. </root>
  111. </instance>
  112. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  113. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  114. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  115. <script type="javascript" src="../../../ast/tissuebankbaseweb/js/tissuebankcombolist.js"/>
  116. <script type="javascript" ev:event="xforms-ready">
  117. <![CDATA[
  118. fGetComboInit();
  119. fGetScreenInit();
  120. fGetAcptList();
  121. fGetBatchAddList();
  122. // 그리드 체크박스
  123. grd_batchlist.fixedcellcheckbox(0 , 1) = true;
  124. model.refresh();
  125. ]]>
  126. </script>
  127. <submission id="TRAVB00001"/>
  128. <submission id="TRAVB00002" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/comboptcdlst"/>
  129. <submission id="TRAVT00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/srch" replace="instance" resultref="/root/main/acptlist"/>
  130. <submission id="TRAVT00202" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/batchlist"/>
  131. <submission id="TRAVT00203" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/batchaddlist"/>
  132. <submission id="TXAVT00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/req" replace="instance" resultref="/root/hidden"/>
  133. <submission id="TXAVT00202" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/req" replace="instance" resultref="/root/hidden"/>
  134. </model>
  135. <script type="javascript">
  136. <![CDATA[
  137. /**
  138. * 콤보 초기화
  139. */
  140. function fGetComboInit() {
  141. tbGetBscdList( new Array("C08", "C09", "C13", "C20", "C21", "C22", "C23"),
  142. new Array("/root/init/combobscdlst", // C08 상태
  143. "/root/init/combobscdlst", // C09 유무구분
  144. "/root/init/combobscdlst", // C13 조회조건
  145. "/root/init/combobscdlst", // C20 방사선량
  146. "/root/init/combobscdlst", // C21 이송방법 및 온도
  147. "/root/init/combobscdlst", // C22 방사선조사 장소
  148. "/root/init/combobscdlst") ); // C22 방사선조사 상태
  149. // 코드없는값 첫번째 내용 삭제
  150. model.removeNodeset("/root/init/combobscdlst/C08[" + 1 + "]");
  151. model.removeNodeset("/root/init/combobscdlst/C09[" + 1 + "]");
  152. model.removeNodeset("/root/init/combobscdlst/C13[" + 1 + "]");
  153. model.removeNodeset("/root/init/combobscdlst/C21[" + 1 + "]");
  154. model.removeNodeset("/root/init/combobscdlst/C22[" + 1 + "]");
  155. model.removeNodeset("/root/init/combobscdlst/C23[" + 1 + "]");
  156. model.refresh();
  157. // 콤보선택
  158. cmb_srchsearch.select(3);
  159. // 부위콤보 List
  160. model.removeNodeset("/root/init/comboptcdlst/item");
  161. model.refresh();
  162. submit("TRAVB00002");
  163. }
  164. /**
  165. * 화면 기본 초기화
  166. */
  167. function fGetScreenInit() {
  168. model.removeNodeset("/root/main/acptlist/item");
  169. model.removeNodeset("/root/main/batchlist/item");
  170. model.removeNodeset("/root/main/batchaddlist/item");
  171. var curDD = getCurrentDate();
  172. model.setValue("/root/send/req/rdd", curDD);
  173. model.setValue("/root/send/req/sdd", curDD);
  174. model.setValue("/root/send/req/edd", curDD);
  175. cmb_rpath.select(0);
  176. cmb_rplace.select(1);
  177. model.refresh();
  178. }
  179. /**
  180. * 기증정보 List 조회
  181. */
  182. function fGetAcptList() {
  183. model.removeNodeset("/root/main/acptlist/item");
  184. model.refresh();
  185. // 조회조건이 전체 인경우는 등록번호를 지정해야함.
  186. if (cmb_srchsearch.value == 1) {
  187. if (model.getValue("/root/send/srch/srchpid") == "") {
  188. messageBox("조회조건이 전체인경우는 등록번호를 " , "C001");
  189. return;
  190. }
  191. }
  192. var ret = submit("TRAVT00201");
  193. return ret;
  194. }
  195. /**
  196. * 배치정보 List 조회
  197. */
  198. function fGetBatchList() {
  199. model.removeNodeset("/root/main/batchlist/item");
  200. model.refresh();
  201. var idx = grd_acptlist.row;
  202. model.setValue("/root/send/graftno", model.getValue("/root/main/acptlist/item[ " + idx + "]/graftno") );
  203. model.setValue("/root/send/partseq", model.getValue("/root/main/acptlist/item[ " + idx + "]/partseq") );
  204. submit("TRAVT00202");
  205. }
  206. /**
  207. * 방사선조사정보 List 조회
  208. */
  209. function fGetBatchAddList() {
  210. model.removeNodeset("/root/main/batchaddlist/item");
  211. model.removeNodeset("/root/main/batchaddlist/item1");
  212. model.refresh();
  213. submit("TRAVT00203");
  214. if ( instance1.selectNodes("/root/main/batchaddlist/item1").length > 0 ) {
  215. model.setValue("/root/send/req/rpathm", model.getValue("/root/main/batchaddlist/item1/rpathm") );
  216. model.setValue("/root/send/req/rpathd", model.getValue("/root/main/batchaddlist/item1/rpathd") );
  217. model.setValue("/root/send/req/rplacem", model.getValue("/root/main/batchaddlist/item1/rplacem") );
  218. model.setValue("/root/send/req/rplaced", model.getValue("/root/main/batchaddlist/item1/rplaced") );
  219. model.setValue("/root/send/req/dryiceb", model.getValue("/root/main/batchaddlist/item1/dryiceb") );
  220. model.setValue("/root/send/req/dryicea", model.getValue("/root/main/batchaddlist/item1/dryicea") );
  221. model.refresh();
  222. }
  223. }
  224. /**
  225. * 방사선 조사 저장
  226. */
  227. function fSetBatchAdd(grd_tmp) {
  228. if (model.getValue("/root/send/req/dryiceb") == "") {
  229. if ( messageBox("방사선 조사전 Dry Ice량이 없습니다. ","Q003") != 6 ) {
  230. return false;
  231. }
  232. }
  233. if (! getGridUpdateData(grd_tmp) ) {
  234. alert("저장할 내역이 없습니다.");
  235. return ;
  236. }
  237. var ret = false;
  238. if ( messageBox("방사선 조사 정보를", "Q002") == 6 ) {
  239. model.setValue("/root/send/req/savedata", grd_tmp.getUpdateData() );
  240. ret = submit("TXAVT00201");
  241. }
  242. return ret;
  243. }
  244. function fSetProcBatchUpdate(grd_tmp) {
  245. // 변경해야할 자료 "u"로 변경
  246. var vgraftno = "";
  247. var vpartseq = "";
  248. var Check = false;
  249. if (model.getValue("/root/send/req/dryicea") == "") {
  250. if ( messageBox("방사선 조사후 Dry Ice량이 없습니다. ","Q003") != 6 ) {
  251. return false;
  252. }
  253. }
  254. model.removenode("/root/temp/templst/list");
  255. model.refresh();
  256. for (var i=1;i<=grd_tmp.rows;i++) {
  257. // 방사선 조사 완료되면 패스
  258. if (model.getValue(grd_tmp.nodeset+"[" + i + "]/ryn") == "Y")
  259. continue;
  260. vgraftno = model.getValue(grd_tmp.nodeset+"[" + i + "]/graftno");
  261. vpartseq = model.getValue(grd_tmp.nodeset+"[" + i + "]/partseq")
  262. if (vgraftno == "" )
  263. continue;
  264. // 추가한거 중에 비교건과 동일건이 있는지 찾음.
  265. Check = false;
  266. var idx = instance1.selectNodes("/root/temp/templst/list").length;
  267. if (idx > 0) {
  268. for (j=1;j<=idx;j++) {
  269. if (vgraftno == model.getValue("/root/temp/templst/list[" + j + "]/graftno") && vpartseq == model.getValue("/root/temp/templst/list[" + j + "]/partseq") ) {
  270. Check = true;
  271. }
  272. }
  273. }
  274. // 동일건이 없는 경우 추가함
  275. if (Check == false) {
  276. idx = idx + 1;
  277. model.makeNode("/root/temp/templst/list[" + idx + "]/graftno");
  278. model.makeValue("/root/temp/templst/list[" + idx + "]/graftno", vgraftno);
  279. model.makeNode("/root/temp/templst/list[" + idx + "]/partseq");
  280. model.makeValue("/root/temp/templst/list[" + idx + "]/partseq", vpartseq);
  281. model.makeNode("/root/temp/templst/list[" + idx + "]/bandcd");
  282. model.makeValue("/root/temp/templst/list[" + idx + "]/bandcd", "C04");
  283. model.makeNode("/root/temp/templst/list[" + idx + "]/bandmcd");
  284. model.makeValue("/root/temp/templst/list[" + idx + "]/bandmcd", "P01");
  285. model.makeNode("/root/temp/templst/list[" + idx + "]/banddcd");
  286. model.makeValue("/root/temp/templst/list[" + idx + "]/banddcd", "99");
  287. model.makeNode("/root/temp/templst/list[" + idx + "]/procseq");
  288. model.makeNode("/root/temp/templst/list[" + idx + "]/gbmcd");
  289. model.makeValue("/root/temp/templst/list[" + idx + "]/gbmcd", "C06");
  290. model.makeNode("/root/temp/templst/list[" + idx + "]/gbdcd");
  291. model.makeValue("/root/temp/templst/list[" + idx + "]/gbdcd", "P");
  292. }
  293. }
  294. // 저장할건이 없으면 취소
  295. if ( instance1.selectNodes("/root/temp/templst/list").length <= 0 ) {
  296. alert("방사선조사를한 모든내용이 방사선조사완료상태여서 처리내용을 등록할수가 없습니다.");
  297. return false;
  298. }
  299. var ret = false;
  300. if ( messageBox("조사기록시간 정보를", "Q002") == 6 ) {
  301. var nodeList = instance1.selectNodes("/root/temp/templst/list");
  302. model.setValue("/root/send/req/savedata", getNodeListCSV(nodeList) );
  303. ret = submit("TXAVT00202");
  304. }
  305. return ret;
  306. }
  307. ]]>
  308. </script>
  309. </xhtml:head>
  310. <xhtml:body guideline="1,1195;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  311. <group id="grp_tle" style="left:0px; top:0px; width:1195px; height:13px; ">
  312. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:200px; height:14px; ">조직은행 방사선조사</caption>
  313. </group>
  314. <group id="grp_btn" style="left:0px; top:757px; width:1195px; height:27px; ">
  315. <button id="btn_prt" class="btn6_letter2" style="left:2px; top:3px; width:56px; height:17px; ">
  316. <caption>출력</caption>
  317. <script type="javascript" ev:event="DOMActivate">
  318. <![CDATA[
  319. //Reset
  320. model.resetInstanceNode("/root/rexreptinfo/batchlistinfo");
  321. //조회됐는지 확인.
  322. // if(model.getValue("/root/send/req/rseq") != "" ){
  323. if( grd_batchaddlist.rows >1 )
  324. {
  325. if(model.getValue("/root/send/req/rseq") != "" )
  326. model.setValue("/root/rexreptinfo/batchlistinfo/rdd", ipt_rdd.label + " / " + model.getValue("/root/send/req/rseq") );
  327. else
  328. model.setValue("/root/rexreptinfo/batchlistinfo/rdd", ipt_rdd.label );
  329. model.setValue("/root/rexreptinfo/batchlistinfo/rpath", cmb_rpath.label );
  330. model.setValue("/root/rexreptinfo/batchlistinfo/rplace", cmb_rplace.label );
  331. var idx, batchno;
  332. for( idx = 1; idx < grd_batchaddlist.rows; idx++ )
  333. {
  334. model.makeNode("/root/rexreptinfo/batchlistinfo/item["+ idx + "]");
  335. model.copyNode("/root/rexreptinfo/batchlistinfo/item["+ idx + "]" , "/root/main/batchaddlist/item["+ idx + "]");
  336. batchno = model.getValue("/root/rexreptinfo/batchlistinfo/item["+ idx + "]/batchno");
  337. if( 1 == batchno.length )
  338. model.setValue("/root/rexreptinfo/batchlistinfo/item["+ idx + "]/batchno", "00" + model.getValue("/root/rexreptinfo/batchlistinfo/item["+ idx + "]/batchno"));
  339. else if( 2 == batchno.length )
  340. model.setValue("/root/rexreptinfo/batchlistinfo/item["+ idx + "]/batchno", "0" + model.getValue("/root/rexreptinfo/batchlistinfo/item["+ idx + "]/batchno"));
  341. model.setValue("/root/rexreptinfo/batchlistinfo/item["+ idx + "]/rstated", grd_batchaddlist.labelMatrix( idx, grd_batchaddlist.colRef("rstated") ) );
  342. }
  343. model.refresh();
  344. exeReportPreview("RPAVT00107", "XMLSTR" , "" , "" , "false" , "", "", "", "", "false");
  345. } else {
  346. alert("방사선LIST 조회를 하지않았습니다. 방사선 조회 후 출력하세요.");
  347. }
  348. ]]>
  349. </script>
  350. </button>
  351. <button id="btn_save" class="btn4_letter8" disabled="true" style="left:1063px; top:3px; width:128px; height:22px; ">
  352. <caption>방사선 조사 등록</caption>
  353. <script type="javascript" ev:event="DOMActivate">
  354. <![CDATA[
  355. if (fSetBatchAdd(grd_batchaddlist) == true) {
  356. fGetBatchAddList();
  357. }
  358. ]]>
  359. </script>
  360. </button>
  361. <button id="btn_clear" class="btn4_letter3" style="left:993px; top:3px; width:68px; height:22px; ">
  362. <caption>초기화</caption>
  363. <script type="javascript" ev:event="DOMActivate">
  364. <![CDATA[
  365. fGetScreenInit();
  366. ]]>
  367. </script>
  368. </button>
  369. </group>
  370. <group id="grp_main" scroll="auto" style="left:0px; top:13px; width:1195px; height:744px; ">
  371. <group id="grp_srch" style="left:0px; top:10px; width:1195px; height:35px; vertical-align:top; ">
  372. <shape id="roundrect2" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1194px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  373. <line id="line16" class="line_4" style="x1:1107px; y1:7px; x2:1107px; y2:29px; "/>
  374. <button id="btn_select" class="btn1_letter2" style="left:1123px; top:7px; width:56px; height:22px; ">
  375. <caption>조회</caption>
  376. <script type="javascript" ev:event="DOMActivate">
  377. <![CDATA[
  378. fGetAcptList();
  379. ]]>
  380. </script>
  381. </button>
  382. <select1 id="cmb_srchsearch" ref="/root/send/srch/srchsearch" class="combo_search" appearance="minimal" style="left:105px; top:8px; width:105px; height:19px; ">
  383. <choices>
  384. <itemset nodeset="/root/init/combobscdlst/C13">
  385. <label ref="cdnm"/>
  386. <value ref="cdid"/>
  387. </itemset>
  388. </choices>
  389. <script type="javascript" ev:event="xforms-value-changed">
  390. <![CDATA[
  391. var curDD = getCurrentDate();
  392. var idate = new Date();
  393. if (cmb_srchsearch.value == 4 || cmb_srchsearch.value == 5) {
  394. ipt_srchfromdd.disabled = false;
  395. ipt_srchtodd.disabled = false;
  396. } else {
  397. ipt_srchfromdd.disabled = true;
  398. ipt_srchtodd.disabled = true;
  399. }
  400. // 오늘이 선택되면 등록번호 와 성명을 지움
  401. if (cmb_srchsearch.value == 2) {
  402. model.setValue("/root/send/srch/srchpid", "" ); // 등록번호
  403. model.setValue("/root/send/srch/srchhngnm" , "" ); // 성명
  404. }
  405. if (cmb_srchsearch.value == 3) {
  406. // 일수만큼 차감하고 문자형으로 변형
  407. var chacng_date = idate.getAddDate(-7, "D").getDateFormat();
  408. model.setValue("/root/send/srch/srchfromdd" , chacng_date ); // 조회시작일자
  409. model.setValue("/root/send/srch/srchtodd" , curDD ); // 조회종료일자
  410. } else {
  411. model.setValue("/root/send/srch/srchfromdd" , curDD ); // 조회시작일자
  412. model.setValue("/root/send/srch/srchtodd" , curDD ); // 조회종료일자
  413. }
  414. model.refresh();
  415. ]]>
  416. </script>
  417. </select1>
  418. <input id="ipt_srchfromdd" ref="/root/send/srch/srchfromdd" class="input_s_essential" inputtype="date" style="left:288px; top:9px; width:100px; height:19px; "/>
  419. <input id="ipt_srchtodd" ref="/root/send/srch/srchtodd" class="input_s_essential" inputtype="date" style="left:405px; top:9px; width:100px; height:19px; "/>
  420. <input id="ipt_srchpid" ref="/root/send/srch/srchpid" class="input_search" style="left:610px; top:8px; width:80px; height:19px; ">
  421. <script type="javascript" ev:event="xforms-value-changed">
  422. <![CDATA[
  423. if (ipt_srchpid.value == "") {
  424. opt_srchhngnm.value = "";
  425. }
  426. ]]>
  427. </script>
  428. </input>
  429. <output id="opt_srchhngnm" ref="/root/send/srch/srchhngnm" class="output_search" style="left:714px; top:8px; width:100px; height:19px; "/>
  430. <button id="btn_search1" class="icon_search" style="left:694px; top:10px; width:16px; height:16px; ">
  431. <caption/>
  432. <script type="javascript" ev:event="DOMActivate">
  433. <![CDATA[
  434. // 선택화면 Call
  435. modal("SPAVT00100");
  436. // 정상인 경우 가져온값 setting
  437. if (model.getValue("/root/temp/okflag") == "ok") {
  438. // 조회조건에 값넣기
  439. model.setValue("/root/send/srch/srchpid", model.getValue("/root/temp/templst/item/pid" ) );
  440. model.setValue("/root/send/srch/srchhngnm", model.getValue("/root/temp/templst/item/hngnm" ) );
  441. // 임시 Node 삭제
  442. model.removenode("/root/temp/okflag");
  443. model.removenode("/root/temp/templst/item");
  444. model.refresh();
  445. }
  446. ]]>
  447. </script>
  448. </button>
  449. <caption id="lbl_srchpid" class="search_name" style="left:521px; top:9px; width:86px; height:17px; ">등록번호 :</caption>
  450. <caption id="lbl_srchsearch" class="search_name" style="left:15px; top:9px; width:86px; height:17px; ">조회조건 :</caption>
  451. <caption id="lbl_srchdd" class="search_name" style="left:225px; top:9px; width:60px; height:17px; ">기간 :</caption>
  452. <caption id="lbl_~" class="search_no_b" style="left:391px; top:10px; width:12px; height:17px; ">~</caption>
  453. </group>
  454. <line id="line30" class="line_1" style="x1:545px; y1:332px; x2:1194px; y2:332px; "/>
  455. <caption id="caption10" class="tit_2" style="left:550px; top:317px; width:127px; height:13px; ">방사선 List</caption>
  456. <datagrid id="grd_batchaddlist" nodeset="/root/main/batchaddlist/item" caption="Graft No.^Seq^No.^방사선^방사선 조사량^부위^Size^비고^rstatem^상태^ryn" colsep="^" colwidth="80, 40, 40, 45, 45, 130, 150, 25, 60, 25, 100" dataheight="23" defaultrows="1" extendlastcol="scroll" focuscolor="#b9e5fb" mergecellsfixedrows="byrestriccol" rowheader="update" rowheight="23" rowsep="|" style="left:546px; top:345px; width:649px; height:308px; text-align:center; ">
  457. <col ref="graftno" type="output"/>
  458. <col ref="partseq" type="output"/>
  459. <col ref="batchno" type="output"/>
  460. <col disabled="true" ref="radialynd" type="combo">
  461. <choices>
  462. <itemset nodeset="/root/init/combobscdlst/C09">
  463. <label ref="cdnm"/>
  464. <value ref="cdid"/>
  465. </itemset>
  466. </choices>
  467. </col>
  468. <col disabled="true" ref="radialvlmd" type="combo">
  469. <choices>
  470. <itemset nodeset="/root/init/combobscdlst/C20">
  471. <label ref="cdnm"/>
  472. <value ref="cdid"/>
  473. </itemset>
  474. </choices>
  475. </col>
  476. <col disabled="true" ref="partcode" type="combo" style="text-align:left; ">
  477. <choices>
  478. <itemset nodeset="/root/init/comboptcdlst/item">
  479. <label ref="partname"/>
  480. <value ref="partcode"/>
  481. </itemset>
  482. </choices>
  483. </col>
  484. <col ref="sizewcnt" style="text-align:left; "/>
  485. <col ref="bigo" type="input" style="text-align:left; "/>
  486. <col ref="rstatem" visibility="hidden"/>
  487. <col ref="rstated" type="combo">
  488. <choices>
  489. <itemset nodeset="/root/init/combobscdlst/C23">
  490. <label ref="cdnm"/>
  491. <value ref="cdid"/>
  492. </itemset>
  493. </choices>
  494. </col>
  495. <col ref="ryn" visibility="hidden"/>
  496. </datagrid>
  497. <line id="line13" class="line_1" style="x1:0px; y1:70px; x2:540px; y2:70px; "/>
  498. <caption id="caption77" class="tit_2" style="left:5px; top:55px; width:72px; height:13px; ">기증정보</caption>
  499. <line id="line1" class="line_1" style="x1:545px; y1:70px; x2:1194px; y2:70px; "/>
  500. <caption id="caption9" class="tit_2" style="left:550px; top:55px; width:120px; height:13px; ">Batch List</caption>
  501. <datagrid id="grd_acptlist" nodeset="/root/main/acptlist/item" caption="Graft No.^등록번호^성명^혈액형^partseq^부위^상태" colsep="^" colwidth="80, 70, 65, 70, 25, 180, 60" dataheight="23" defaultrows="1" extendlastcol="scroll" focuscolor="#b9e5fb" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" style="left:0px; top:75px; width:540px; height:665px; text-align:center; ">
  502. <col ref="graftno"/>
  503. <col ref="pid"/>
  504. <col ref="hngnm" type="output"/>
  505. <col ref="abo" type="output"/>
  506. <col ref="partseq" visibility="hidden"/>
  507. <col disabled="true" ref="partcode" type="combo" style="text-align:left; ">
  508. <choices>
  509. <itemset nodeset="/root/init/comboptcdlst/item">
  510. <label ref="partname"/>
  511. <value ref="partcode"/>
  512. </itemset>
  513. </choices>
  514. </col>
  515. <col disabled="true" ref="stated" type="combo">
  516. <choices>
  517. <itemset nodeset="/root/init/combobscdlst/C08">
  518. <label ref="cdnm"/>
  519. <value ref="cdid"/>
  520. </itemset>
  521. </choices>
  522. </col>
  523. <script type="javascript" ev:event="ondblclick">
  524. <![CDATA[
  525. fGetBatchList();
  526. ]]>
  527. </script>
  528. </datagrid>
  529. <button id="btn_seladd" class="btn2_letter4" style="left:1057px; top:310px; width:64px; height:19px; ">
  530. <caption>선택추가</caption>
  531. <script type="javascript" ev:event="DOMActivate">
  532. <![CDATA[
  533. var maxrow = grd_batchaddlist.rows;
  534. var srcGraftno = "";
  535. var srcPartseq = "";
  536. var srcBatchno = "";
  537. var srcRadialynd = "";
  538. var srcPartcode = "";
  539. var srcSizewcnt = "";
  540. var srcRyn = "";
  541. for (var i=1; i <= grd_batchlist.rows; i++)
  542. {
  543. if (model.getValue(grd_batchlist.nodeset + "[" + i + "]/sel") != "Y") {
  544. continue;
  545. }
  546. srcGraftno = model.getValue(grd_batchlist.nodeset + "[" + i + "]/graftno");
  547. srcPartseq = model.getValue(grd_batchlist.nodeset + "[" + i + "]/partseq");
  548. srcBatchno = model.getValue(grd_batchlist.nodeset + "[" + i + "]/batchno");
  549. srcRadialynd = model.getValue(grd_batchlist.nodeset + "[" + i + "]/radialynd ");
  550. srcPartcode = model.getValue(grd_batchlist.nodeset + "[" + i + "]/partcode");
  551. srcSizewcnt = model.getValue(grd_batchlist.nodeset + "[" + i + "]/sizewcnt");
  552. srcRyn = model.getValue(grd_batchlist.nodeset + "[" + i + "]/ryn");
  553. if (instance1.selectNodes(grd_batchaddlist.nodeset + "[graftno='" + srcGraftno + "']").length == 0 ||
  554. instance1.selectNodes(grd_batchaddlist.nodeset + "[partseq='" + srcPartseq + "']").length == 0 ||
  555. instance1.selectNodes(grd_batchaddlist.nodeset + "[batchno='" + srcBatchno + "']").length == 0 ) {
  556. // 키값이 하나라도 틀린경우 추가
  557. grd_batchaddlist.addRow();
  558. model.makeValue(grd_batchaddlist.nodeset + "[" + maxrow + "]/graftno", srcGraftno );
  559. model.makeValue(grd_batchaddlist.nodeset + "[" + maxrow + "]/partseq", srcPartseq );
  560. model.makeValue(grd_batchaddlist.nodeset + "[" + maxrow + "]/batchno", srcBatchno );
  561. model.makeValue(grd_batchaddlist.nodeset + "[" + maxrow + "]/radialynd", srcRadialynd );
  562. model.makeValue(grd_batchaddlist.nodeset + "[" + maxrow + "]/partcode", srcPartcode );
  563. model.makeValue(grd_batchaddlist.nodeset + "[" + maxrow + "]/sizewcnt", srcSizewcnt );
  564. model.makeValue(grd_batchaddlist.nodeset + "[" + maxrow + "]/ryn", srcRyn );
  565. grd_batchaddlist.rowStatus(maxrow) = 1;
  566. maxrow++;
  567. }
  568. }
  569. ]]>
  570. </script>
  571. </button>
  572. <button id="btn_seldel" class="btn2_letter4" style="left:1124px; top:310px; width:64px; height:19px; ">
  573. <caption>선택삭제</caption>
  574. <script type="javascript" ev:event="DOMActivate">
  575. <![CDATA[
  576. var selRow = grd_batchaddlist.row;
  577. if (model.getValue(grd_batchaddlist.nodeset + "[" + selRow + "]/ryn") == "Y") {
  578. alert("방사선 조사가 확정된자료는 삭제 할수 없습니다.");
  579. } else {
  580. deleteSelectedRows(grd_batchaddlist, true);
  581. }
  582. ]]>
  583. </script>
  584. </button>
  585. <datagrid id="grd_batchlist" nodeset="/root/main/batchlist/item" caption="선택^Graft No.^Seq^No.^방사선^부위^Size^ryn" colsep="^" colwidth="50, 80, 40, 40, 45, 210, 140, 25" dataheight="23" defaultrows="1" extendlastcol="scroll" focuscolor="#b9e5fb" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" style="left:545px; top:75px; width:649px; height:230px; text-align:center; ">
  586. <col checkvalue="Y,N" ref="sel" type="checkbox"/>
  587. <col ref="graftno" type="output"/>
  588. <col ref="partseq" type="output"/>
  589. <col ref="batchno" type="output"/>
  590. <col disabled="true" ref="radialynd" type="combo">
  591. <choices>
  592. <itemset nodeset="/root/init/combobscdlst/C09">
  593. <label ref="cdnm"/>
  594. <value ref="cdid"/>
  595. </itemset>
  596. </choices>
  597. </col>
  598. <col disabled="true" ref="partcode" type="combo" style="text-align:left; ">
  599. <choices>
  600. <itemset nodeset="/root/init/comboptcdlst/item">
  601. <label ref="partname"/>
  602. <value ref="partcode"/>
  603. </itemset>
  604. </choices>
  605. </col>
  606. <col ref="sizewcnt" style="text-align:left; "/>
  607. <col ref="ryn" visibility="hidden"/>
  608. </datagrid>
  609. <caption id="lbl_partsize" class="cell_1" style="left:545px; top:720px; width:105px; height:20px; text-align:center; vertical-align:middle; ">방사선 조사 시간</caption>
  610. <caption id="lbl_partseq" class="cell_1" style="left:545px; top:654px; width:105px; height:20px; text-align:center; vertical-align:middle; ">방사선 조사 날짜</caption>
  611. <caption id="lbl_course" class="cell_1" style="left:545px; top:698px; width:105px; height:20px; text-align:center; vertical-align:middle; ">방사선조사 장소</caption>
  612. <caption id="lbl_partcode" class="cell_1" style="left:545px; top:676px; width:105px; height:20px; text-align:center; vertical-align:middle; ">이송방법 및 온도</caption>
  613. <input id="ipt_rdd" ref="/root/send/req/rdd" class="input_essential" inputtype="date" style="left:655px; top:654px; width:100px; height:19px; "/>
  614. <input id="ipt_rseq" ref="/root/send/req/rseq" class="input_default" maxlength="3" format="hh:nn:ss" style="left:760px; top:654px; width:30px; height:19px; "/>
  615. <button id="btn_srchbatch" class="btn5_letter6" visibility="visible" style="left:796px; top:654px; width:86px; height:19px; ">
  616. <caption>방사선 조회</caption>
  617. <script type="javascript" ev:event="DOMActivate">
  618. <![CDATA[
  619. fGetBatchAddList();
  620. if (model.getValue("/root/send/req/rseq") == "" ) {
  621. btn_save.disabled = true;
  622. } else {
  623. btn_save.disabled = false;
  624. }
  625. ]]>
  626. </script>
  627. </button>
  628. <select1 id="cmb_rpath" ref="/root/send/req/rpathd" class="combo_search" appearance="minimal" style="left:655px; top:676px; width:380px; height:19px; ">
  629. <choices>
  630. <itemset nodeset="/root/init/combobscdlst/C21">
  631. <label ref="cdnm"/>
  632. <value ref="cdid"/>
  633. </itemset>
  634. </choices>
  635. <script type="javascript" ev:event="xforms-value-changed">
  636. <![CDATA[
  637. model.setValue("/root/send/req/rpathm", "C21");
  638. ]]>
  639. </script>
  640. </select1>
  641. <select1 id="cmb_rplace" ref="/root/send/req/rplaced" class="combo_search" appearance="minimal" style="left:655px; top:698px; width:380px; height:19px; ">
  642. <choices>
  643. <itemset nodeset="/root/init/combobscdlst/C22">
  644. <label ref="cdnm"/>
  645. <value ref="cdid"/>
  646. </itemset>
  647. </choices>
  648. <script type="javascript" ev:event="xforms-value-changed">
  649. <![CDATA[
  650. model.setValue("/root/send/req/rplacem", "C22");
  651. ]]>
  652. </script>
  653. </select1>
  654. <input id="ipt_dryiceb" ref="/root/send/req/dryiceb" class="input_default" maxlength="3" style="left:1125px; top:676px; width:40px; height:19px; "/>
  655. <input id="ipt_dryicea" ref="/root/send/req/dryicea" class="input_default" maxlength="3" style="left:1125px; top:698px; width:40px; height:19px; "/>
  656. <input id="ipt_sdd" ref="/root/send/req/sdd" class="input_default" inputtype="date" style="left:655px; top:720px; width:100px; height:19px; "/>
  657. <input id="ipt_stm" ref="/root/send/req/stm" class="input_default" maxlength="6" format="hh:nn:ss" style="left:757px; top:720px; width:71px; height:19px; "/>
  658. <caption id="caption1" class="search_no_b" style="left:830px; top:721px; width:12px; height:17px; ">~</caption>
  659. <input id="ipt_edd" ref="/root/send/req/edd" class="input_default" inputtype="date" style="left:845px; top:720px; width:100px; height:19px; "/>
  660. <input id="ipt_etm" ref="/root/send/req/etm" class="input_default" maxlength="6" format="hh:nn:ss" style="left:947px; top:720px; width:71px; height:19px; "/>
  661. <button id="btn_procsave" class="btn5_letter9" visibility="visible" style="left:1025px; top:720px; width:119px; height:19px; ">
  662. <caption>조사기록시간 입력</caption>
  663. <script type="javascript" ev:event="DOMActivate">
  664. <![CDATA[
  665. var Check = false;
  666. if (model.getValue("/root/send/req/stm") == "") {
  667. alert("방사선조사 시작시간을 입력하세요");
  668. Check = true;
  669. model.setFocus("ipt_stm");
  670. }
  671. if (model.getValue("/root/send/req/etm") == "" && Check == false) {
  672. alert("방사선조사 완료시간을 입력하세요");
  673. Check = true;
  674. model.setFocus("ipt_etm");
  675. }
  676. if (getNodesetCount("/root/main/batchaddlist/item") <= 0 && Check == false) {
  677. Check = true;
  678. alert("저장할 자료가 없습니다.");
  679. }
  680. if ( Check == false) {
  681. if (fSetProcBatchUpdate(grd_batchaddlist) == true) {
  682. fGetBatchAddList();
  683. }
  684. }
  685. ]]>
  686. </script>
  687. </button>
  688. <caption id="lbl_dryice" class="cell_1" style="left:1040px; top:676px; width:55px; height:41px; text-align:center; vertical-align:middle; ">Dry Ice</caption>
  689. <caption id="lbl_dryiceb" class="cell_1" style="left:1097px; top:676px; width:25px; height:20px; text-align:center; vertical-align:middle; ">전</caption>
  690. <caption id="lbl_dryicea" class="cell_1" style="left:1097px; top:698px; width:25px; height:20px; text-align:center; vertical-align:middle; ">후</caption>
  691. </group>
  692. </xhtml:body>
  693. </xhtml:html>