SMAVT00200_방사선조사.xrw 37 KB

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