SMLBT00100_혈액입고관리.xrw 60 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SMLBT00100_혈액입고관리.xrw
  4. * 설 명 : 혈액입고관리
  5. * 설 계 자 : (주)에이씨케이 -
  6. * 작 성 자 : (주)에이씨케이 - 조철형
  7. * 작 성 일 : 2007.04.24
  8. * 수정이력 :
  9. * 기 타 :
  10. -->
  11. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  12. <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">
  13. <xhtml:head>
  14. <xhtml:title/>
  15. <model id="model1">
  16. <instance id="instance1">
  17. <root xmlns="">
  18. <main>
  19. <win>
  20. <winlist>
  21. <chk/>
  22. <blodno/>
  23. <blodcomnm/>
  24. <abo/>
  25. <rh/>
  26. <tnsrnm/>
  27. <tnsrpid/>
  28. <validt/>
  29. <dondt/>
  30. <proddt/>
  31. <windt/>
  32. <winid/>
  33. <blodkind/>
  34. <blodstat/>
  35. <blodbarcd/>
  36. <blodbasevol/>
  37. <blodrem/>
  38. <blodcomcd/>
  39. <inst/>
  40. <dnorpid/>
  41. <dnornm/>
  42. <winnm/>
  43. <execprcpuniqno/>
  44. <donflag/>
  45. </winlist>
  46. <filesummerylist>
  47. <blodcomnm/>
  48. <aborh/>
  49. <cnt/>
  50. </filesummerylist>
  51. </win>
  52. <return>
  53. <blodnolist>
  54. <cnt/>
  55. <blodnolist/>
  56. </blodnolist>
  57. </return>
  58. </main>
  59. <send>
  60. <data1/>
  61. <data2/>
  62. <data3>
  63. <blodno/>
  64. <blodbarcd/>
  65. </data3>
  66. </send>
  67. <init>
  68. <LB0601>
  69. <cd/>
  70. <nm/>
  71. <etc01/>
  72. <etc02/>
  73. <etc03/>
  74. <etc04/>
  75. </LB0601>
  76. </init>
  77. <hidden>
  78. <refparam>
  79. </refparam>
  80. <pastwinrefparam>
  81. <windt1/>
  82. <windt2/>
  83. <refflag/>
  84. <blodno/>
  85. <blodbarcd/>
  86. <searchflag>2</searchflag>
  87. <searchtext/>
  88. <blodcomvol/>
  89. <refblodkind>-</refblodkind>
  90. </pastwinrefparam>
  91. <tmpwinlist>
  92. <seq/>
  93. <supldd/>
  94. <supltm/>
  95. <blodcomnm/>
  96. <blodbarcd/>
  97. <blodbasevol/>
  98. <blodno/>
  99. <bcolldd/>
  100. <bcolltm/>
  101. <jdd/>
  102. <jtm/>
  103. <aborh/>
  104. <unitcost/>
  105. <delivenm/>
  106. </tmpwinlist>
  107. <defalut/>
  108. <winparam>
  109. <winid/>
  110. <winnm/>
  111. <getuserAnm>
  112. <acceptnm/>
  113. </getuserAnm>
  114. </winparam>
  115. <winlist>
  116. <chk/>
  117. <windt/>
  118. <wintm/>
  119. <abo/>
  120. <rh/>
  121. <blodcomnm/>
  122. <blodno/>
  123. <dondt/>
  124. <dontm/>
  125. <validt/>
  126. <blodkind>0</blodkind>
  127. <blodstat/>
  128. <winid/>
  129. <blodbarcd/>
  130. <blodbasevol/>
  131. <blodrem/>
  132. <blodcomcd/>
  133. <blodcomnmvol/>
  134. <bcdno/>
  135. <aborh/>
  136. <valiterm/>
  137. <inst/>
  138. <blodcomnmvol2/>
  139. <proddt/>
  140. <prodtm/>
  141. </winlist>
  142. <indcasewinlist>
  143. <winlist>
  144. <chk/>
  145. <windt/>
  146. <abo/>
  147. <rh/>
  148. <blodcomnm/>
  149. <blodno/>
  150. <dondt/>
  151. <validt/>
  152. <blodkind/>
  153. <blodstat/>
  154. <winid/>
  155. <blodbarcd/>
  156. <blodbasevol/>
  157. <blodrem/>
  158. <blodcomcd/>
  159. </winlist>
  160. </indcasewinlist>
  161. <comdoninfo>
  162. <winlist>
  163. <instcd/>
  164. <blodno/>
  165. <blodbarcd/>
  166. <btype/>
  167. <donflag/>
  168. <execprcpuniqno/>
  169. <tnsrpid/>
  170. <tnsrnm/>
  171. <dnorpid/>
  172. <dnornm/>
  173. </winlist>
  174. </comdoninfo>
  175. <bloodsearchyn/>
  176. </hidden>
  177. </root>
  178. </instance>
  179. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  180. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  181. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  182. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  183. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  184. <script type="javascript" src="../../../lis/commonweb/js/LLZ001.js"/>
  185. <script type="javascript" ev:event="xforms-model-construct-done">
  186. <![CDATA[
  187. fSetClear();
  188. group4.disabled = true;
  189. model.setFocus("ID_txt");
  190. grd_winlist.fixedcellcheckbox(0,1) = true;
  191. /*
  192. var today = getNewDate();
  193. fBaseInfoRef("0601|0121|");
  194. grd_winlist.removeItem();
  195. grd_summery.removeItem();
  196. model.setvalue("/root/hidden/pastwinrefparam/windt1",getCurrentDate());
  197. model.setvalue("/root/hidden/pastwinrefparam/windt2",getCurrentDate());
  198. model.setvalue("/root/hidden/winlist/dondt",getDateTime(today,"A"));
  199. model.setvalue("/root/hidden/winlist/windt",getDateTime(today,"A"));
  200. //model.setValue("/root/hidden/winlist/inst", "82");
  201. model.setValue("/root/hidden/winlist/wintm", getCurrentTime());
  202. model.setValue("/root/hidden/winlist/dontm", getCurrentTime());
  203. model.refresh();*/
  204. ]]>
  205. </script>
  206. <submission id="TRLBT00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/win"/>
  207. <submission id="TRLBT00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/filewinlist"/>
  208. <submission id="TRLBT00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/indcasewinlist"/>
  209. <submission id="TRLBT00104" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/comdoninfo"/>
  210. <submission id="TRLZZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init"/>
  211. <submission id="TRLBT10404" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/winparam/getuserAnm"/>
  212. <submission id="TXLBT00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/return/blodnolist"/>
  213. <submission id="TXLBT00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
  214. <submission id="TXLBT00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
  215. </model>
  216. <script type="javascript">
  217. <![CDATA[
  218. var iRefFlag = 0;
  219. var hhCnt = 0;
  220. /* @group : 혈액입고관리
  221. * @ver : 2007.04.24 (CMCDEV-0001)
  222. * @by : 조철형
  223. * @-----------------------------------
  224. * @type : function
  225. * @access : public
  226. * @desc : 조회버튼 클릭 - 입고리스트조회
  227. */
  228. function fPastWinList(){
  229. //혈액검색으로 조회여부
  230. model.setValue("/root/hidden/bloodsearchyn", "N");
  231. model.setvalue("/root/hidden/pastwinrefparam/refflag" , "1");
  232. model.copyNode("/root/send/data1", "/root/hidden/pastwinrefparam");
  233. model.makeValue("/root/send/blodcomvol", model.getValue("/root/hidden/pastwinrefparam/blodcomvol"));
  234. submit("TRLBT00101");
  235. if(grd_winlist.rows - 1 > 0){
  236. iRefFlag = 1;
  237. btn_add.disabled = true;
  238. }
  239. model.copyNode("/root/send/data1","/root/hidden/defalut");
  240. }
  241. function fSubTotal(){
  242. grd_summery.sort(1,grd_summery.colRef("blodcomnm"),(grd_summery.rows -1),grd_summery.colRef("cnt")) = "asc";
  243. //grd_summery.subtotal("sum", grd_summery.colRef("blodcomnm"), grd_summery.colRef("cnt"), "#,###" , "font-weight:bold;background-color:#e5f3c2;",0,grd_summery.colRef("blodcomnm"), true);
  244. grd_summery.subtotal("sum", -1, grd_summery.colRef("cnt"), "#,###", "font-weight:bold;background-color:#c8e67b;", 1, "Total");
  245. }
  246. /* @group : 혈액입고관리
  247. * @ver : 2007.04.25 (CMCDEV-0001)
  248. * @by : 조철형
  249. * @-----------------------------------
  250. * @type : function
  251. * @access : public
  252. * @desc : 폼초기화
  253. */
  254. function fSetClear(){
  255. var today = getNewDate();
  256. fBaseInfoRef("0601|0121|");
  257. model.removeNodeset("/root/main/win/winlist");
  258. model.removeNodeset("/root/main/win/filesummerylist");
  259. model.removeNodeset("/root/hidden/tmpwinlist");
  260. model.resetInstanceNode("/root/hidden/winlist");
  261. model.setValue("/root/hidden/pastwinrefparam/windt1",getCurrentDate());
  262. model.setValue("/root/hidden/pastwinrefparam/windt2",getCurrentDate());
  263. model.setValue("/root/hidden/winlist/dondt",getDateTime(today,"A"));
  264. model.setValue("/root/hidden/winlist/proddt",getDateTime(today,"A"));
  265. model.setValue("/root/hidden/winlist/windt",getDateTime(today,"A"));
  266. model.setValue("/root/hidden/winlist/wintm", getCurrentTime());
  267. model.setValue("/root/hidden/winlist/prodtm", getCurrentTime());
  268. model.setValue("/root/hidden/winlist/dontm", getCurrentTime());
  269. model.setValue("/root/hidden/winlist/blodkind", "0");
  270. grd_winlist.rebuild();
  271. grd_summery.rebuild();
  272. grd_tmp.rebuild();
  273. model.refresh();
  274. model.copyNode("/root/send/data1" , "/root/hidden/defalut");
  275. }
  276. /* @group : 혈액입고관리
  277. * @ver : 2007.04.24 (CMCDEV-0001)
  278. * @by : 조철형
  279. * @-----------------------------------
  280. * @type : function
  281. * @access : public
  282. * @desc : 파일입고
  283. */
  284. function fFileWin(){
  285. //혈액검색으로 조회여부
  286. model.setValue("/root/hidden/bloodsearchyn", "N");
  287. if(model.getvalue("/root/hidden/winparam/winid") == ""){
  288. messageBox("입고자 ID 를 입력하세요!!", "E");
  289. model.setFocus("input7");
  290. return;
  291. }
  292. var fileName = window.fileDialog("open", ",", false, "", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls|CSV Files(*.csv)|*.csv|Excel Files(*.xlsx)|*.xlsx");
  293. if (fileName == "" || fileName == null) {
  294. messageBox("입고할 파일을 선택하세요", "I");
  295. return;
  296. }
  297. fSetClear();
  298. var sStr = fileName.substring(fileName.length - 4);
  299. if(sStr.toLowerCase() == ".csv"){
  300. fileName = fileName.substring(0, fileName.length - 4) + sStr.toLowerCase();
  301. grd_tmp.loadText(fileName);
  302. }
  303. else if(sStr.toLowerCase() == ".xls"){
  304. fileName = fileName.substring(0, fileName.length - 4) + sStr.toLowerCase();
  305. grd_tmp.loadExcel(fileName);
  306. }
  307. else if(sStr.toLowerCase() == "xlsx"){
  308. fileName = fileName.substring(0, fileName.length - 4) + sStr.toLowerCase();
  309. grd_tmp.loadExcel(fileName);
  310. }
  311. else{
  312. messageBox("Excel파일을 선택하세요", "E");
  313. return;
  314. }
  315. if(grd_tmp.rows- 1 > 1){
  316. iRefFlag = 0;
  317. btn_add.disabled = false;
  318. for(i=2;i<grd_tmp.rows;i++){
  319. grd_tmp.addStatus(i,"insert");
  320. }
  321. model.setvalue("/root/send/data1" , grd_tmp.getUpdateData());
  322. submit("TRLBT00102");
  323. }
  324. var aaa = getUserInfo("posinstcd");
  325. // 입고자, 기관 setting
  326. for(x=1; x< grd_winlist.rows; x++){
  327. var blod2 = model.getValue("/root/main/win/winlist["+x+"]/blodno").substring(0,2);
  328. var blod3 = model.getValue("/root/main/win/winlist["+x+"]/blodno").substring(0,1);
  329. model.setValue("/root/main/win/winlist["+x+"]/winid", model.getValue("/root/hidden/winparam/winid"));
  330. //model.setValue("/root/main/win/winlist["+x+"]/inst", model.getValue("/root/main/win/winlist["+x+"]/blodno").substring(0,2));
  331. if((aaa=="011" && blod2 <= "16") || (aaa=="012" && blod2 <= "16")){ // 서울, 여의도일때 서부혈액원으로 치고
  332. model.setValue("/root/main/win/winlist["+x+"]/inst", "16");
  333. }else if(blod2 == "20"){
  334. if(model.getValue("/root/hidden/winlist/blodkind")=="1"){ // 헌혈일때
  335. model.setValue("/root/main/win/winlist["+x+"]/inst", "8" + aaa.substr(2,1)); // 각자병원
  336. }else{
  337. model.setValue("/root/main/win/winlist["+x+"]/inst", "20"); // 한마음으로 셋팅
  338. }
  339. //자가일때 각자병원
  340. }else if(blod3 == "8"){
  341. model.setValue("/root/main/win/winlist["+x+"]/inst", "8" + aaa.substr(2,1)); // 각자병원
  342. }else if(blod2 == "01"){
  343. model.setValue("/root/main/win/winlist["+x+"]/inst", "01");
  344. }else if(blod2 == "02"){
  345. model.setValue("/root/main/win/winlist["+x+"]/inst", "02");
  346. }else if(blod2 == "03"){
  347. model.setValue("/root/main/win/winlist["+x+"]/inst", "03");
  348. }else if(blod2 == "04"){
  349. model.setValue("/root/main/win/winlist["+x+"]/inst", "04");
  350. }else if(blod2 == "05"){
  351. model.setValue("/root/main/win/winlist["+x+"]/inst", "05");
  352. }else if(blod2 == "06"){
  353. model.setValue("/root/main/win/winlist["+x+"]/inst", "06");
  354. }else if(blod2 == "07"){
  355. model.setValue("/root/main/win/winlist["+x+"]/inst", "07");
  356. }else if(blod2 == "08"){
  357. model.setValue("/root/main/win/winlist["+x+"]/inst", "08");
  358. }else if(blod2 == "09"){
  359. model.setValue("/root/main/win/winlist["+x+"]/inst", "09");
  360. }else if(blod2 == "10"){
  361. model.setValue("/root/main/win/winlist["+x+"]/inst", "10");
  362. }else if(blod2 == "11"){
  363. model.setValue("/root/main/win/winlist["+x+"]/inst", "11");
  364. }else if(blod2 == "12"){
  365. model.setValue("/root/main/win/winlist["+x+"]/inst", "12");
  366. }else if(blod2 == "13"){
  367. model.setValue("/root/main/win/winlist["+x+"]/inst", "13");
  368. }else if(blod2 == "14"){
  369. model.setValue("/root/main/win/winlist["+x+"]/inst", "14");
  370. }else if(blod2 == "15"){
  371. model.setValue("/root/main/win/winlist["+x+"]/inst", "15");
  372. }else{ // 대구혈액원으로 치고
  373. model.setValue("/root/main/win/winlist["+x+"]/inst", "12");
  374. }
  375. }
  376. grd_summery.subtotal("clear", 0, 0);
  377. fSubTotal();
  378. }
  379. /* @group : 혈액입고관리
  380. * @ver : 2007.04.25 (CMCDEV-0001)
  381. * @by : 조철형
  382. * @-----------------------------------
  383. * @type : function
  384. * @access : public
  385. * @desc : 혈액입고
  386. */
  387. function fBlodWin(){
  388. if(iRefFlag == 1) {
  389. messageBox( "입고리스트 조회입니다." , "E");
  390. return;
  391. }
  392. if(model.getvalue("/root/hidden/winparam/winid") == ""){
  393. messageBox("입고자 ID 를 입력하세요!!", "E");
  394. return;
  395. }
  396. // if(model.getValue("/root/hidden/winlist/inst")==""){
  397. // messageBox("기관코드를 선택해주세요.", "I");
  398. // return;
  399. // }
  400. if(grd_winlist.rows>=1){
  401. var winTF = false;
  402. grd_winlist.clearStatus();
  403. for(i=1;i<grd_winlist.rows;i++){
  404. if(model.getvalue("/root/main/win/winlist["+i+"]/chk") == "true"){
  405. model.setvalue("/root/main/win/winlist["+i+"]/winid", model.getvalue("/root/hidden/winparam/winid"));
  406. grd_winlist.addStatus(i,"update");
  407. winTF = true;
  408. }
  409. }
  410. if(winTF){
  411. model.setvalue("/root/send/data2" , grd_winlist.getUpdateData());
  412. if(submit("TXLBT00101")){
  413. var bnoall = model.getValue("/root/main/return/blodnolist/blodnolist"); // ex : 1308112266|1308112267|1308112268|
  414. var bno1 = bnoall.split("|");
  415. for(z=0; z<(bno1.length-1); z++){
  416. setRowStyle("grd_winlist", "3", bno1[z], "blodno", ""); //"3" 녹색
  417. }
  418. }else{
  419. var bnoall = model.getValue("/root/main/return/blodnolist/blodnolist"); // ex : 1308112266|1308112267|1308112268|
  420. var bno1 = bnoall.split("|");
  421. for(z=0; z<(bno1.length-1); z++){
  422. setRowStyle("grd_winlist", "5", bno1[z], "blodno", "notEqual"); //"5" 붉은색
  423. }
  424. }
  425. grd_winlist.rebuild();
  426. }
  427. else{
  428. messageBox("입고 할 혈액을 선택하세요!!", "E");
  429. }
  430. }
  431. }
  432. /* @group : 혈액입고관리
  433. * @ver : 2007.04.25 (CMCDEV-0001)
  434. * @by : 조철형
  435. * @-----------------------------------
  436. * @type : function
  437. * @access : public
  438. * @desc : 바코드 번호 입력
  439. */
  440. function fBlodcdInput(){
  441. //혈액검색으로 조회여부
  442. model.setValue("/root/hidden/bloodsearchyn", "N");
  443. var sBcdno = model.getvalue("/root/hidden/winlist/bcdno");
  444. var sBcdLen = sBcdno.length;
  445. if(model.getValue("/root/hidden/winlist/wintm").length != "6"){
  446. model.setValue("/root/hidden/winlist/windt", model.getValue("/root/hidden/winlist/windt").substring(0,8) + model.getValue("/root/hidden/winlist/wintm").substring(0,4) + "00");
  447. }
  448. if(model.getValue("/root/hidden/winlist/dontm").length != "6"){
  449. model.setValue("/root/hidden/winlist/dondt", model.getValue("/root/hidden/winlist/dondt").substring(0,8) + model.getValue("/root/hidden/winlist/dontm").substring(0,4) + "00");
  450. }
  451. switch (sBcdLen){
  452. case 12: //혈액번호
  453. model.setValue("/root/hidden/winlist/blodno" ,sBcdno.substring(0,10));
  454. model.refresh();
  455. fBlodnoRef();
  456. break;
  457. case 10: //혈액번호
  458. model.setValue("/root/hidden/winlist/blodno" ,sBcdno);
  459. model.refresh();
  460. fBlodnoRef();
  461. //fIndCaseWin();
  462. break;
  463. case 5: // 혈액바코드
  464. fBlodcomnmRef(sBcdno.toUpperCase());
  465. break;
  466. case 4: //혈액형
  467. fABORH(sBcdno);
  468. fBlodnoRef();
  469. break;
  470. case 0:
  471. return;
  472. default:
  473. }
  474. }
  475. /* @group : 혈액입고관리
  476. * @ver : 2007.04.25 (CMCDEV-0001)
  477. * @by : 조철형
  478. * @-----------------------------------
  479. * @type : function
  480. * @access : public
  481. * @desc : 혈액번호 조회
  482. */
  483. function fBlodnoRef(){
  484. fSetBlodCom();
  485. var sBlodno = model.getvalue("/root/hidden/winlist/blodno");
  486. var sBlodbarcd = model.getvalue("/root/hidden/winlist/blodbarcd");
  487. if(sBlodno.length == 12) sBlodno = sBlodno.substring(0,10);
  488. if(sBlodno == "") return;
  489. if(sBlodno.length != 10){
  490. messageBox("혈액번호를 정확히 입력하세요.", "I");
  491. return;
  492. }
  493. model.setValue("/root/hidden/pastwinrefparam/refflag" , "2");
  494. model.setValue("/root/hidden/pastwinrefparam/blodno",sBlodno);
  495. model.setValue("/root/hidden/pastwinrefparam/blodbarcd",sBlodbarcd);
  496. fSetwinInstcd(); // 입고기관 셋팅
  497. model.copyNode("/root/send/data1" , "/root/hidden/pastwinrefparam");
  498. if(sBlodbarcd == "" || sBlodno == ""){
  499. messageBox("혈액바코드번호, 혈액번호를 모두 입력하세요.", "I");
  500. return;
  501. }
  502. submit("TRLBT00103");
  503. fIndCaseWin();
  504. }
  505. /* @group : 혈액입고관리
  506. * @ver : 2007.04.25 (CMCDEV-0001)
  507. * @by : 조철형
  508. * @-----------------------------------
  509. * @type : function
  510. * @access : public
  511. * @desc : 바코드 번호 키이벤트
  512. */
  513. function fBcdKey(){
  514. if(event.keyCode == "13"){
  515. model.setValue("/root/hidden/winlist/bcdno", input5.currentText);
  516. model.refresh();
  517. fBlodcdInput();
  518. input5.selBegin = 0;
  519. input5.selEnd = input5.currentText.length;
  520. }
  521. }
  522. /* @group : 혈액입고관리
  523. * @ver : 2007.07.09 (CMCDEV-0001)
  524. * @by : 조철형
  525. * @-----------------------------------
  526. * @type : function
  527. * @access : public
  528. * @desc : 혈액형
  529. */
  530. function fABORH(pBlodbarcd){
  531. var abo = model.getvalue("/root/init/LB0601[etc01='"+pBlodbarcd+"']/etc04");
  532. var rh = model.getvalue("/root/init/LB0601[etc01='"+pBlodbarcd+"']/etc05");
  533. model.setValue("/root/hidden/winlist/abo",abo);
  534. model.setValue("/root/hidden/winlist/rh",rh);
  535. model.setValue("/root/hidden/winlist/aborh" , abo + rh);
  536. model.refresh();
  537. }
  538. /* @group : 혈액입고관리
  539. * @ver : 2007.04.25 (CMCDEV-0001)
  540. * @by : 조철형
  541. * @-----------------------------------
  542. * @type : function
  543. * @access : public
  544. * @desc : 바코드 번호 키이벤트
  545. */
  546. function fBlodcomnmRef(pBlodbarcd){
  547. var blodcomcd = model.getvalue("/root/init/LB0601[etc01='"+pBlodbarcd+"']/cd");
  548. var blodcomnm = model.getvalue("/root/init/LB0601[etc01='"+pBlodbarcd+"']/nm");
  549. var blodbasevol = model.getvalue("/root/init/LB0601[etc01='"+pBlodbarcd+"']/etc02");
  550. var valiterm = model.getvalue("/root/init/LB0601[etc01='"+pBlodbarcd+"']/etc03");
  551. if(blodcomcd.length ==5){ // 정은 추가
  552. if(blodcomnm == "" && blodbasevol == "") {
  553. messageBox("정확한 혈액바코드번호를 입력하세요!!", "I");
  554. return;
  555. }
  556. }
  557. model.setValue("/root/hidden/winlist/blodcomcd",blodcomcd);
  558. model.setValue("/root/hidden/winlist/blodcomnm",blodcomnm);
  559. model.setValue("/root/hidden/winlist/blodbarcd",pBlodbarcd);
  560. model.setValue("/root/hidden/winlist/blodbasevol",blodbasevol);
  561. model.setValue("/root/hidden/winlist/blodcomnmvol" , blodcomnm );//+ " " + blodbasevol);
  562. model.setValue("/root/hidden/winlist/blodcomnmvol2" , blodcomcd);//정은추가 성분제제용량 콤보박스로
  563. model.setValue("/root/hidden/winlist/valiterm" , valiterm);
  564. var dondt = model.getvalue("/root/hidden/winlist/dondt"); //헌혈일시
  565. var dondate = dondt.substring(0,8)+model.getvalue("/root/hidden/winlist/dontm"); //헌혈일시
  566. var proddt = model.getvalue("/root/hidden/winlist/proddt"); //제제일시
  567. var proddate = proddt.substring(0,8)+model.getvalue("/root/hidden/winlist/prodtm"); //제제일시
  568. var validt = "";
  569. //----------------------------------------------------
  570. //PC, LRSDP, HPC는 유효일시가 제제일시 + 120 시간
  571. //나머지는 헌혈일시 + 성분제제마스터에서 설정한 유효일자
  572. //PC,LRSDP,HPC는 일단 하드코딩, 성분제제마스터 수정되면 수정할 예정 2008.09.03
  573. if(pBlodbarcd=="12003" || pBlodbarcd=="12004" || pBlodbarcd=="12017" ||pBlodbarcd=="A0003"){
  574. validt = proddate.toDate("YYYYMMDDhhmmss").getAddDate(parseInt("120"), "h");
  575. }else{
  576. validt = dondate.toDate("YYYYMMDDhhmmss").getAddDate(parseInt(valiterm),"D");
  577. }
  578. model.setvalue("/root/hidden/winlist/validt" , validt.getDateFormat("YYYYMMDDhhmmss") );
  579. model.refresh();
  580. }
  581. /* @group : 혈액입고관리
  582. * @ver : 2007.04.25 (CMCDEV-0001)
  583. * @by : 조철형
  584. * @-----------------------------------
  585. * @type : function
  586. * @access : public
  587. * @desc : 완료버튼
  588. */
  589. function fIndCaseWin(){
  590. if(getNodesetCount("/root/hidden/indcasewinlist/winlist") > 0){
  591. messageBox("이미 입고된 혈액입니다.", "I");
  592. return;
  593. }
  594. if(fChkValiTerm()){
  595. } else {
  596. messageBox("유효기간을 체크하세요!!", "I");
  597. return;
  598. }
  599. var blodno = model.getValue("/root/hidden/winlist/blodno");
  600. var blodbarcd = model.getValue("/root/hidden/winlist/blodbarcd");
  601. var grdFindRowBlodno = "";
  602. var grdFindRowBlodComcd = "";
  603. var grdRow = 1;
  604. var equalCnt = 0;
  605. var winBlodno = "";
  606. var winBlodbarcd = "";
  607. //--------------------------------------------------------
  608. //입고리스트에 같은 혈액번호, 같은 성분제제가 있는지 체크
  609. for(iRow = 1; iRow <= (grd_winlist.rows-1); iRow++){
  610. winBlodno = model.getValue("/root/main/win/winlist["+iRow+"]/blodno");
  611. winBlodbarcd = model.getValue("/root/main/win/winlist["+iRow+"]/blodbarcd");
  612. //--------------------------------
  613. //자가1,2, HPC,DGI가 아닌경우 4자리로 자른다.(용량 구분 없앰)
  614. if(blodbarcd.substring(0,1) != "A"){
  615. blodbarcd = blodbarcd.substring(0,4);
  616. }
  617. if(winBlodbarcd.substring(0,1) != "A"){
  618. winBlodbarcd = winBlodbarcd.substring(0,4);
  619. }
  620. //같은 혈액번호,성분제제가 같은지 체크, 같은게 하나라도 있다면 for문 바로 빠져나가기.
  621. if(winBlodno == blodno && winBlodbarcd == blodbarcd){
  622. equalCnt++;
  623. break;
  624. }
  625. }
  626. if(equalCnt > 0){
  627. messageBox("이미 추가된 혈액입니다.", "I");
  628. return;
  629. }
  630. iRefFlag = 0;
  631. btn_add.disabled = false;
  632. grd_winlist.addRow();
  633. var gRow = grd_winlist.rows-1;
  634. var dataBlodbarcd = "";
  635. //-----------------------------------------------------------------------------------------------------------
  636. //개별입고하는 혈액이 헌혈인지 혈액번호, 혈액바코드로 성분헌혈 정보 조회
  637. model.setValue("/root/send/data3/blodno" , model.getValue("/root/hidden/winlist/blodno"));
  638. model.setValue("/root/send/data3/blodbarcd" , model.getValue("/root/hidden/winlist/blodbarcd"));
  639. dataBlodbarcd = model.getValue("/root/send/data3/blodbarcd");
  640. //자가1(A0001), 자가2(A0002), HPC(A0003), DGI(A0004), WB(00163,00164
  641. model.removeNodeset("/root/hidden/comdoninfo/winlist");
  642. //if(dataBlodbarcd.substr(0,4) =="A000" || dataBlodbarcd.substr(0,4) == "0016"){
  643. if((dataBlodbarcd.substr(0,4) =="A000" || dataBlodbarcd.substr(0,4) == "0016") || (model.getValue("/root/hidden/winlist/blodkind") == "1") && (dataBlodbarcd=="04064")){
  644. submit("TRLBT00104");
  645. }
  646. var bfBlodkind = model.getValue("/root/hidden/winlist/blodkind");
  647. var bfInst = model.getvalue("/root/hidden/winlist/inst");
  648. var bfAborh = model.getvalue("/root/hidden/winlist/aborh");
  649. //-----------------------------------------------------------------------------------------------------------
  650. //헌혈입고정보가 있다면 입고유형을 헌혈로 셋팅, 헌혈정보 셋팅
  651. if(getNodesetCount("/root/hidden/comdoninfo/winlist") > 0){
  652. model.setValue("/root/hidden/winlist/blodkind", "1");
  653. model.setValue("/root/hidden/winlist/inst", model.getValue("/root/init/LB0121[etc01='"+ model.getValue("/root/hidden/comdoninfo/winlist/instcd")+"']/cd"));
  654. cmb_inst.refresh();
  655. //model.setValue("/root/hidden/winlist/aborh" , model.getValue("/root/hidden/comdoninfo/btype"));
  656. fSetABOCombo();
  657. model.setValue("/root/main/win/winlist["+gRow+"]/execprcpuniqno" , model.getValue("/root/hidden/comdoninfo/winlist/execprcpuniqno"));
  658. model.setValue("/root/main/win/winlist["+gRow+"]/tnsrpid" , model.getValue("/root/hidden/comdoninfo/winlist/tnsrpid"));
  659. model.setValue("/root/main/win/winlist["+gRow+"]/tnsrnm" , model.getValue("/root/hidden/comdoninfo/winlist/tnsrnm"));
  660. model.setValue("/root/main/win/winlist["+gRow+"]/dnorpid" , model.getValue("/root/hidden/comdoninfo/winlist/dnorpid"));
  661. model.setValue("/root/main/win/winlist["+gRow+"]/dnornm" , model.getValue("/root/hidden/comdoninfo/winlist/dnornm"));
  662. model.setValue("/root/main/win/winlist["+gRow+"]/donflag" , model.getValue("/root/hidden/comdoninfo/winlist/donflag"));
  663. }else{
  664. model.setValue("/root/hidden/winlist/blodkind", bfBlodkind);
  665. if(bfInst == ""){
  666. messageBox("기관코드를 선택해주세요.", "I");
  667. grd_winlist.deleteRow(gRow);
  668. return;
  669. }
  670. if(bfAborh == ""){
  671. messageBox("혈액형을 선택해주세요.", "I");
  672. grd_winlist.deleteRow(gRow);
  673. return;
  674. }
  675. }
  676. //--------------------------------------------------------------------------------------------------------------
  677. //--------------------------------------------------------------------------------------------------------------
  678. var dondt = model.getValue("/root/hidden/winlist/dondt");
  679. var dontm = model.getValue("/root/hidden/winlist/dontm");
  680. var windt = model.getValue("/root/hidden/winlist/windt");
  681. var wintm = model.getValue("/root/hidden/winlist/wintm");
  682. var proddt = model.getValue("/root/hidden/winlist/proddt");
  683. var prodtm = model.getValue("/root/hidden/winlist/prodtm");
  684. var aaa = getUserInfo("posinstcd");
  685. var blod2 = model.getValue("/root/hidden/winlist/blodno").substr(0,2);
  686. var blod3 = model.getValue("/root/hidden/winlist/blodno").substr(0,1);
  687. model.setValue("/root/main/win/winlist["+gRow+"]/chk" , "true");
  688. model.setValue("/root/main/win/winlist["+gRow+"]/windt" , windt.substring(0,8) + wintm.substring(0,4) + "00"); // 시간 4자리로 짤라서 붙여야함 안그럼 에러남 아니면 길이비교해서 6자리면 00 안붙게
  689. model.setValue("/root/main/win/winlist["+gRow+"]/abo" , model.getValue("/root/hidden/winlist/abo"));
  690. model.setValue("/root/main/win/winlist["+gRow+"]/rh" , model.getValue("/root/hidden/winlist/rh"));
  691. model.setValue("/root/main/win/winlist["+gRow+"]/blodcomnm" , model.getValue("/root/hidden/winlist/blodcomnm"));
  692. model.setValue("/root/main/win/winlist["+gRow+"]/blodno" , model.getValue("/root/hidden/winlist/blodno"));
  693. model.setValue("/root/main/win/winlist["+gRow+"]/dondt" , dondt.substring(0,8) + dontm.substring(0,4) + "00");
  694. model.setValue("/root/main/win/winlist["+gRow+"]/proddt" , proddt.substring(0,8) + prodtm.substring(0,4) + "00");
  695. model.setValue("/root/main/win/winlist["+gRow+"]/validt" , model.getValue("/root/hidden/winlist/validt"));
  696. model.setValue("/root/main/win/winlist["+gRow+"]/blodkind" , model.getValue("/root/hidden/winlist/blodkind"));
  697. // model.setValue("/root/main/win/winlist["+gRow+"]/inst" , model.getvalue("/root/init/LB0121[cd='"+ model.getValue("/root/hidden/winlist/inst")+"']/etc01"));
  698. // model.setValue("/root/main/win/winlist["+gRow+"]/inst" , model.getvalue("/root/main/win/winlist["+gRow+"]/blodno").substring(0,2));
  699. if((aaa=="011" && blod2 <= "16") || (aaa=="012" && blod2 <= "16")){ // 서울, 여의도일때 서부혈액원으로 치고
  700. model.setValue("/root/hidden/winlist/inst", "16");
  701. model.setValue("/root/main/win/winlist["+gRow+"]/inst", "16");
  702. }else if(blod2 == "20"){
  703. if(model.getValue("/root/hidden/winlist/blodkind")=="1"){ // 헌혈일때
  704. model.setValue("/root/main/win/winlist["+gRow+"]/inst", "8" + aaa.substr(2,1)); // 각자병원
  705. }else{
  706. model.setValue("/root/main/win/winlist["+gRow+"]/inst", "20"); // 한마음으로 셋팅
  707. }
  708. //자가일때 각자병원
  709. }else if(blod3 == "8"){
  710. model.setValue("/root/main/win/winlist["+gRow+"]/inst", "8" + aaa.substr(2,1)); // 각자병원
  711. }else if(blod2 == "01"){
  712. model.setValue("/root/main/win/winlist["+gRow+"]/inst", "01");
  713. }else if(blod2 == "02"){
  714. model.setValue("/root/main/win/winlist["+gRow+"]/inst", "02");
  715. }else if(blod2 == "03"){
  716. model.setValue("/root/main/win/winlist["+gRow+"]/inst", "03");
  717. }else if(blod2 == "04"){
  718. model.setValue("/root/main/win/winlist["+gRow+"]/inst", "04");
  719. }else if(blod2 == "05"){
  720. model.setValue("/root/main/win/winlist["+gRow+"]/inst", "05");
  721. }else if(blod2 == "06"){
  722. model.setValue("/root/main/win/winlist["+gRow+"]/inst", "06");
  723. }else if(blod2 == "07"){
  724. model.setValue("/root/main/win/winlist["+gRow+"]/inst", "07");
  725. }else if(blod2 == "08"){
  726. model.setValue("/root/main/win/winlist["+gRow+"]/inst", "08");
  727. }else if(blod2 == "09"){
  728. model.setValue("/root/main/win/winlist["+gRow+"]/inst", "09");
  729. }else if(blod2 == "10"){
  730. model.setValue("/root/main/win/winlist["+gRow+"]/inst", "10");
  731. }else if(blod2 == "11"){
  732. model.setValue("/root/main/win/winlist["+gRow+"]/inst", "11");
  733. }else if(blod2 == "12"){
  734. model.setValue("/root/main/win/winlist["+gRow+"]/inst", "12");
  735. }else if(blod2 == "13"){
  736. model.setValue("/root/main/win/winlist["+gRow+"]/inst", "13");
  737. }else if(blod2 == "14"){
  738. model.setValue("/root/main/win/winlist["+gRow+"]/inst", "14");
  739. }else if(blod2 == "15"){
  740. model.setValue("/root/main/win/winlist["+gRow+"]/inst", "15");
  741. }else{ // 대구혈액원으로 치고
  742. model.setValue("/root/main/win/winlist["+gRow+"]/inst", "12");
  743. }
  744. model.setValue("/root/main/win/winlist["+gRow+"]/blodstat" , "1");
  745. if(model.getValue("/root/hidden/winlist/blodkind") == "0"){
  746. model.setValue("/root/main/win/winlist["+gRow+"]/blodkindnm","혈액원");
  747. }
  748. else if(model.getValue("/root/hidden/winlist/blodkind") == "1"){
  749. model.setValue("/root/main/win/winlist["+gRow+"]/blodkindnm","헌혈");
  750. }
  751. else if(model.getValue("/root/hidden/winlist/blodkind") == "2"){
  752. model.setValue("/root/main/win/winlist["+gRow+"]/blodkindnm","교환");
  753. }
  754. model.setValue("/root/main/win/winlist["+gRow+"]/blodstatnm", "초입고");
  755. model.setValue("/root/main/win/winlist["+gRow+"]/blodbarcd" , model.getValue("/root/hidden/winlist/blodbarcd"));
  756. model.setValue("/root/main/win/winlist["+gRow+"]/blodbasevol" , model.getValue("/root/hidden/winlist/blodbasevol"));
  757. model.setValue("/root/main/win/winlist["+gRow+"]/blodrem" , model.getValue("/root/hidden/winlist/blodrem"));
  758. model.setValue("/root/main/win/winlist["+gRow+"]/blodcomcd" , model.getValue("/root/hidden/winlist/blodcomcd"));
  759. //혈액 썸머리
  760. var blodcomnm = model.getvalue("/root/main/win/winlist["+gRow+"]/blodcomnm");
  761. var aborh = model.getvalue("/root/main/win/winlist["+gRow+"]/abo") + model.getvalue("/root/main/win/winlist["+gRow+"]/rh");
  762. grd_summery.subtotal("clear", 0, 0);
  763. var findrow = grd_summery.findRow(blodcomnm,1,1,true, true);
  764. if(findrow > 0 ){
  765. var findTF = false;
  766. for(i=findrow;;i++){
  767. if( i == grd_summery.rows) break;
  768. var findrow2 = grd_summery.findRow(aborh,i,2,true, true);
  769. if(findrow2 > 0){
  770. findTF = true;
  771. break;
  772. }
  773. }
  774. if(findTF){
  775. var cnt = model.getValue("/root/main/win/filesummerylist["+findrow2+"]/cnt" );
  776. cnt = parseInt(cnt) + 1;
  777. model.makeValue("/root/main/win/filesummerylist["+findrow2+"]/cnt" , cnt);
  778. }
  779. else{
  780. grd_summery.addRow();
  781. var grdrow = grd_summery.rows -1;
  782. //var grdrow = getNodesetCount("/root/main/win/filesummerylist");
  783. model.setvalue("/root/main/win/filesummerylist["+grdrow+"]/blodcomnm" , blodcomnm);
  784. model.setvalue("/root/main/win/filesummerylist["+grdrow+"]/aborh" , aborh);
  785. model.setvalue("/root/main/win/filesummerylist["+grdrow+"]/cnt" , "1");
  786. }
  787. }
  788. else{
  789. grd_summery.addRow();
  790. var grdrow = grd_summery.rows -1;
  791. model.setvalue("/root/main/win/filesummerylist["+grdrow+"]/blodcomnm" , blodcomnm);
  792. model.setvalue("/root/main/win/filesummerylist["+grdrow+"]/aborh" , aborh);
  793. model.setvalue("/root/main/win/filesummerylist["+grdrow+"]/cnt" , "1");
  794. }
  795. model.refresh();
  796. fSubTotal();
  797. }
  798. /* @group : 혈액입고관리
  799. * @ver : 2007.04.25 (CMCDEV-0001)
  800. * @by : 조철형
  801. * @-----------------------------------
  802. * @type : function
  803. * @access : public
  804. * @desc : 유효일자 체크
  805. */
  806. function fChkValiTerm(){
  807. var dondt = model.getvalue("/root/hidden/winlist/dondt");
  808. var valiterm = model.getvalue("/root/hidden/winlist/valiterm");
  809. var validt = dondt.toDate().getAddDate(valiterm,"D");
  810. var windt = model.getvalue("/root/hidden/winlist/windt");
  811. validt = validt.getDateFormat("YYYYMMDD");
  812. if(validt >= windt) return true;
  813. else return false;
  814. }
  815. /* @group : 혈액입고관리
  816. * @ver : 2007.04.25 (CMCDEV-0001)
  817. * @by : 조철형
  818. * @-----------------------------------
  819. * @type : function
  820. * @access : public
  821. * @desc : 입고취소
  822. */
  823. function fBloodWinCanCel(){
  824. if(iRefFlag == 0) {
  825. messageBox("입고되지않은 리스트 입니다.","I");
  826. return;
  827. }
  828. //혈액검색으로 조회하지 않으면 입고취소 불가능
  829. //if(model.getValue("/root/hidden/bloodsearchyn") != "Y"){
  830. // messageBox("혈액검색으로 검색하지 않은 경우 입고취소가 불가능합니다.","I");
  831. // return;
  832. //}
  833. if(grd_winlist.rows>= 1){
  834. var winTF = false;
  835. for(i=1;i<grd_winlist.rows;i++){
  836. if(model.getvalue("/root/main/win/winlist["+i+"]/chk") == "Y"){
  837. if(model.getvalue("/root/main/win/winlist["+i+"]/blodstat") != "1" && model.getvalue("/root/main/win/winlist["+i+"]/blodstat") != "2"){
  838. messageBox("취소리스트중 초입고, 입고 상태가 있어 취소할 수 없습니다.","I");
  839. //messageBox("초입고, 입고 상태만 취소할 수 있습니다.","I");
  840. model.removeNodeset("/root/main/win/winlist");
  841. model.refresh();
  842. return;
  843. }
  844. grd_winlist.rowStatus(i) = 2;
  845. //alert("업데이트");
  846. winTF = true;
  847. }else{
  848. grd_winlist.rowStatus(i) = 0;
  849. }
  850. }
  851. /*
  852. for(i=1;i<grd_winlist.rows;i++){
  853. if(model.getvalue("/root/main/win/winlist["+i+"]/blodstat") != "1" && model.getvalue("/root/main/win/winlist["+i+"]/blodstat") != "2"){
  854. messageBox("취소리스트중 초입고, 입고 상태가 있어 취소할 수 없습니다.","I");
  855. //messageBox("초입고, 입고 상태만 취소할 수 있습니다.","I");
  856. model.removeNodeset("/root/main/win/winlist");
  857. model.refresh();
  858. return;
  859. }
  860. }*/
  861. model.setvalue("/root/send/data1" , grd_winlist.getUpdateData());
  862. //alert(model.getvalue("/root/send/data1"));
  863. submit("TXLBT00102");
  864. fSetClear();
  865. }else{
  866. messageBox("입고할취소할 혈액을 선택하세요.","I");
  867. }
  868. //혈액검색으로 조회여부
  869. model.setValue("/root/hidden/bloodsearchyn", "N");
  870. }
  871. /* @group : 혈액입고관리
  872. * @ver : 2009.04.21
  873. * @by : 김성희
  874. * @-----------------------------------
  875. * @type : function
  876. * @access : public
  877. * @desc : 공여자지정해제
  878. */
  879. function fDonorCanCel(){
  880. if(iRefFlag == 0) {
  881. messageBox("입고되지않은 리스트 입니다.","I");
  882. return;
  883. }
  884. //혈액검색으로 조회하지 않으면 공여자지정해제 불가능
  885. if(model.getValue("/root/hidden/bloodsearchyn") != "Y"){
  886. messageBox("혈액검색으로 검색하지 않은 경우 지정헌혈해제 할 수 없습니다..","I");
  887. return;
  888. }
  889. if(grd_winlist.rows>= 1){
  890. var winTF = false;
  891. for(i=1;i<grd_winlist.rows;i++){
  892. if(model.getvalue("/root/main/win/winlist["+i+"]/chk") == "true"){
  893. if(model.getvalue("/root/main/win/winlist["+i+"]/blodstat") != "1" && model.getvalue("/root/main/win/winlist["+i+"]/blodstat") != "2"){
  894. messageBox("초입고, 입고 상태만 지정헌혈해제 할 수 있습니다.","I");
  895. return;
  896. }
  897. if(model.getvalue("/root/main/win/winlist["+i+"]/donflag") != "02"){
  898. messageBox("지정헌혈 등록한 경우만 지정헌혈해제 할 수 있습니다.","I");
  899. return;
  900. }
  901. grd_winlist.addStatus(i,"update");
  902. winTF = true;
  903. }
  904. }
  905. if(winTF){
  906. model.setvalue("/root/send/data1" , grd_winlist.getUpdateData());
  907. submit("TXLBT00103");
  908. fSetClear();
  909. }
  910. else{
  911. messageBox("지정헌혈해제 할 혈액을 선택하세요.","I");
  912. return;
  913. }
  914. }
  915. //혈액검색으로 조회여부
  916. model.setValue("/root/hidden/bloodsearchyn", "N");
  917. }
  918. function fGetUser(){
  919. if(event.keyCode == "13"){
  920. //model.setValue("/root/hidden/winparam/winid", input7.currentText);
  921. model.setValue("/root/hidden/winparam/winid", (input7.currentText).toUpperCase());
  922. model.makeValue("/root/send/deliveryid", "");
  923. model.makeValue("/root/send/acceptid", model.getValue("/root/hidden/winparam/winid"));
  924. submit("TRLBT10404");
  925. model.setFocus("input6");
  926. }
  927. }
  928. function fKeyEvent(){
  929. if(event.keyCode == "13"){
  930. if(input6.currentText == "XXXXXX"){
  931. fBlodWin();
  932. return;
  933. }
  934. model.setValue("/root/hidden/pastwinrefparam/searchtext",input6.currentText.substring(0,10));
  935. //혈액검색으로 조회여부
  936. model.setValue("/root/hidden/bloodsearchyn", "Y");
  937. model.refresh();
  938. fSearch();
  939. input6.selBegin = 0;
  940. input6.selEnd = input6.currentText.length;
  941. }
  942. }
  943. function fSearch(){
  944. model.setvalue("/root/hidden/pastwinrefparam/refflag" , "3");
  945. model.copyNode("/root/send/data1", "/root/hidden/pastwinrefparam");
  946. submit("TRLBT00101");
  947. //alert("여긴가 1 ");
  948. ///if(grd_winlist.rows - 1 > 0){
  949. if(grd_winlist.rows - 1 > 0){
  950. //grd_winlist.colHidden(1) = true;
  951. iRefFlag = 1;
  952. btn_add.disabled = true;
  953. }
  954. model.copyNode("/root/send/data1","/root/hidden/defalut");
  955. model.setValue("/root/hidden/pastwinrefparam/searchtext", "");
  956. //alert("여긴가 2 ");
  957. input6.refresh();
  958. }
  959. //성분제제용량 콤보 선택시
  960. function fSetBlodCom(){
  961. var pBlodcomcd = model.getValue("/root/hidden/winlist/blodcomnmvol2");
  962. var blodbarcd = model.getvalue("/root/init/LB0601[cd='"+pBlodcomcd+"']/etc01");
  963. fBlodcomnmRef(blodbarcd);
  964. }
  965. // 혈액형 콤보 선택시
  966. function fSetABOCombo(){
  967. var pBlodABO = model.getValue("/root/hidden/winlist/aborh");
  968. var pBlodbarcd = "";
  969. if(pBlodABO =="A+"){
  970. pBlodbarcd = "6200";
  971. }else if(pBlodABO =="A-"){
  972. pBlodbarcd = "0600";
  973. }else if(pBlodABO =="B+"){
  974. pBlodbarcd = "7300";
  975. }else if(pBlodABO =="B-"){
  976. pBlodbarcd = "1700";
  977. }else if(pBlodABO =="AB+"){
  978. pBlodbarcd = "8400";
  979. }else if(pBlodABO =="AB-"){
  980. pBlodbarcd = "2800";
  981. }else if(pBlodABO =="O+"){
  982. pBlodbarcd = "5100";
  983. }else if(pBlodABO =="O-"){
  984. pBlodbarcd = "9500";
  985. }
  986. fABORH(pBlodbarcd);
  987. }
  988. // 혈액번호 입력시 입고기관 셋팅
  989. function fSetwinInstcd(){
  990. var aaa = getUserInfo("posinstcd");
  991. // alert("aaa= " + aaa + " 2 1 " + aaa.substr(2,1) );
  992. if(model.getValue("/root/hidden/winlist/blodno") != ""){
  993. // model.setValue("/root/hidden/winlist/inst", model.getValue("/root/hidden/winlist/blodno").substr(0,2));
  994. var blod2 = model.getValue("/root/hidden/winlist/blodno").substr(0,2);
  995. var blod3 = model.getValue("/root/hidden/winlist/blodno").substr(0,1);
  996. if((aaa=="011" && blod2 <= "16") || (aaa=="012" && blod2 <= "16")){ // 서울, 여의도일때 서부혈액원으로 치고
  997. model.setValue("/root/hidden/winlist/inst", "16");
  998. }else if(blod2 == "20"){
  999. if(model.getValue("/root/hidden/winlist/blodkind")=="1"){ // 헌혈일때
  1000. model.setValue("/root/hidden/winlist/inst", "8" + aaa.substr(2,1)); // 각자병원
  1001. }else{
  1002. model.setValue("/root/hidden/winlist/inst", "20"); // 한마음으로 셋팅
  1003. }
  1004. //자가일때 각자병원
  1005. }else if(blod3 == "8"){
  1006. model.setValue("/root/hidden/winlist/inst", "8" + aaa.substr(2,1)); // 각자병원
  1007. }else if(blod2 == "01"){
  1008. model.setValue("/root/hidden/winlist/inst", "01");
  1009. }else if(blod2 == "02"){
  1010. model.setValue("/root/hidden/winlist/inst", "02");
  1011. }else if(blod2 == "03"){
  1012. model.setValue("/root/hidden/winlist/inst", "03");
  1013. }else if(blod2 == "04"){
  1014. model.setValue("/root/hidden/winlist/inst", "04");
  1015. }else if(blod2 == "05"){
  1016. model.setValue("/root/hidden/winlist/inst", "05");
  1017. }else if(blod2 == "06"){
  1018. model.setValue("/root/hidden/winlist/inst", "06");
  1019. }else if(blod2 == "07"){
  1020. model.setValue("/root/hidden/winlist/inst", "07");
  1021. }else if(blod2 == "08"){
  1022. model.setValue("/root/hidden/winlist/inst", "08");
  1023. }else if(blod2 == "09"){
  1024. model.setValue("/root/hidden/winlist/inst", "09");
  1025. }else if(blod2 == "10"){
  1026. model.setValue("/root/hidden/winlist/inst", "10");
  1027. }else if(blod2 == "11"){
  1028. model.setValue("/root/hidden/winlist/inst", "11");
  1029. }else if(blod2 == "12"){
  1030. model.setValue("/root/hidden/winlist/inst", "12");
  1031. }else if(blod2 == "13"){
  1032. model.setValue("/root/hidden/winlist/inst", "13");
  1033. }else if(blod2 == "14"){
  1034. model.setValue("/root/hidden/winlist/inst", "14");
  1035. }else if(blod2 == "15"){
  1036. model.setValue("/root/hidden/winlist/inst", "15");
  1037. }else{ // 대구혈액원으로 치고
  1038. model.setValue("/root/hidden/winlist/inst", "12");
  1039. }
  1040. }
  1041. }
  1042. ]]>
  1043. </script>
  1044. </xhtml:head>
  1045. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  1046. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  1047. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:790px; height:13px; ">혈액입고관리</caption>
  1048. </group>
  1049. <group id="group3" scroll="auto" style="left:0px; top:40px; width:1195px; height:744px; ">
  1050. <line id="line1" class="line_1" style="x1:375px; y1:73px; x2:1194px; y2:73px; "/>
  1051. <caption id="caption3" class="tit_2" style="left:380px; top:58px; width:144px; height:14px; ">입고리스트</caption>
  1052. <caption id="caption5" class="tit_2" style="left:5px; top:430px; width:74px; height:13px; ">개별입고</caption>
  1053. <line id="line4" class="line_1" style="x1:0px; y1:447px; x2:370px; y2:447px; "/>
  1054. <select1 id="cmb_inst" ref="/root/hidden/winlist/inst" class="combo_essential" appearance="minimal" itemcount="10" style="left:85px; top:506px; width:120px; height:19px; ">
  1055. <choices>
  1056. <itemset nodeset="/root/init/LB0121">
  1057. <label ref="nm"/>
  1058. <value ref="cd"/>
  1059. </itemset>
  1060. </choices>
  1061. </select1>
  1062. <select1 id="rad_blodkind" ref="/root/hidden/winlist/blodkind" class="radio_search" appearance="full" cellspacing="6" cols="3" overflow="visible" style="left:85px; top:659px; width:155px; height:13px; border-style:none; ">
  1063. <choices>
  1064. <item>
  1065. <label>혈액원</label>
  1066. <value>0</value>
  1067. </item>
  1068. <item>
  1069. <label>헌혈</label>
  1070. <value>1</value>
  1071. </item>
  1072. <item>
  1073. <label>교환</label>
  1074. <value>2</value>
  1075. </item>
  1076. </choices>
  1077. </select1>
  1078. <input id="input8" ref="/root/hidden/winlist/dondt" class="input_essential" inputtype="date" style="left:85px; top:583px; width:90px; height:19px; "/>
  1079. <input id="input4" ref="/root/hidden/winlist/windt" class="input_essential" inputtype="date" style="left:85px; top:631px; width:90px; height:19px; "/>
  1080. <caption id="caption57" ref="/root/hidden/winlist/aborh" class="font_ab" style="left:220px; top:567px; width:149px; height:75px; font-size:48pt; ">AB</caption>
  1081. <line id="line5" class="line_2" style="x1:2px; y1:528px; x2:372px; y2:528px; "/>
  1082. <line id="line6" class="line_2" style="x1:2px; y1:554px; x2:372px; y2:554px; "/>
  1083. <line id="line7" class="line_2" style="x1:2px; y1:580px; x2:214px; y2:580px; "/>
  1084. <line id="line8" class="line_2" style="x1:2px; y1:609px; x2:215px; y2:609px; "/>
  1085. <group id="group5" style="left:0px; top:10px; width:1195px; height:35px; vertical-align:top; ">
  1086. <shape id="roundrect2" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1195px; height:35px; "/>
  1087. <caption id="caption15" class="search_name" style="left:566px; top:9px; width:86px; height:17px; ">입고일자 :</caption>
  1088. <button id="button2" class="btn1_letter2" style="left:861px; top:7px; width:56px; height:22px; ">
  1089. <caption>조회</caption>
  1090. <script type="javascript" ev:event="DOMActivate">
  1091. <![CDATA[
  1092. fPastWinList();
  1093. ]]>
  1094. </script>
  1095. </button>
  1096. <line id="line12" class="line_4" style="x1:856px; y1:7px; x2:856px; y2:29px; "/>
  1097. <input id="input2" ref="/root/hidden/pastwinrefparam/windt1" class="input_s_essential" inputtype="date" style="left:652px; top:8px; width:90px; height:19px; "/>
  1098. <input id="input9" ref="/root/hidden/pastwinrefparam/windt2" class="input_s_essential" inputtype="date" style="left:760px; top:8px; width:90px; height:19px; "/>
  1099. <caption id="caption16" class="search_no_b" style="left:745px; top:9px; width:15px; height:17px; ">~</caption>
  1100. <caption id="caption4" class="search_name" style="left:948px; top:8px; width:88px; height:17px; ">혈액검색 :</caption>
  1101. <select1 id="combo6" ref="/root/hidden/pastwinrefparam/searchflag" class="combo_search" visibility="hidden" appearance="minimal" style="left:895px; top:0px; width:99px; height:19px; ">
  1102. <choices>
  1103. <item>
  1104. <label>바코드입력</label>
  1105. <value>1</value>
  1106. </item>
  1107. <item>
  1108. <label>혈액번호</label>
  1109. <value>2</value>
  1110. </item>
  1111. </choices>
  1112. </select1>
  1113. <input id="input6" ref="/root/hidden/pastwinrefparam/searchtext" class="input_button" inputtype="button" style="left:1042px; top:7px; width:140px; height:19px; ">
  1114. <script type="javascript" ev:event="onbuttonclick">
  1115. <![CDATA[
  1116. fSearch();
  1117. ]]>
  1118. </script>
  1119. <script type="javascript" ev:event="onkeyup">
  1120. <![CDATA[
  1121. fKeyEvent();
  1122. ]]>
  1123. </script>
  1124. </input>
  1125. <caption id="caption2" class="search_name" style="left:2px; top:10px; width:99px; height:17px; ">입고자 ID:</caption>
  1126. <input id="input7" ref="/root/hidden/winparam/winid" class="input_s_essential" navindex="1" style="left:91px; top:9px; width:75px; height:19px; ">
  1127. <script type="javascript" ev:event="onkeypress">
  1128. <![CDATA[
  1129. fGetUser();
  1130. ]]>
  1131. </script>
  1132. </input>
  1133. <output id="output1" ref="/root/hidden/winparam/getuserAnm/acceptnm" class="output_search" appearance="output" style="left:167px; top:9px; width:80px; height:19px; "/>
  1134. <select1 id="combo3" ref="/root/hidden/pastwinrefparam/blodcomvol" appearance="minimal" style="left:375px; top:8px; width:185px; height:19px; ">
  1135. <choices>
  1136. <itemset nodeset="/root/init/LB0601">
  1137. <label ref="nm"/>
  1138. <value ref="cd"/>
  1139. </itemset>
  1140. </choices>
  1141. </select1>
  1142. <select1 id="combo4" ref="/root/hidden/pastwinrefparam/refblodkind" appearance="minimal" style="left:268px; top:8px; width:100px; height:19px; ">
  1143. <choices>
  1144. <item>
  1145. <label>전체</label>
  1146. <value>-</value>
  1147. </item>
  1148. <item>
  1149. <label>혈액원</label>
  1150. <value>0</value>
  1151. </item>
  1152. <item>
  1153. <label>헌혈</label>
  1154. <value>1</value>
  1155. </item>
  1156. <item>
  1157. <label>교환입고</label>
  1158. <value>2</value>
  1159. </item>
  1160. </choices>
  1161. </select1>
  1162. </group>
  1163. <line id="line13" class="line_2" style="x1:2px; y1:654px; x2:372px; y2:654px; "/>
  1164. <textarea id="textarea1" ref="/root/hidden/winlist/blodrem" style="left:85px; top:680px; width:287px; height:54px; "/>
  1165. <line id="line14" class="line_2" style="x1:2px; y1:502px; x2:372px; y2:502px; "/>
  1166. <input id="input3" ref="/root/hidden/winlist/blodno" class="input_essential" style="left:85px; top:479px; width:120px; height:19px; ">
  1167. <script type="javascript" ev:event="DOMFocusIn">
  1168. <![CDATA[
  1169. ]]>
  1170. </script>
  1171. </input>
  1172. <caption id="caption10" class="cell_1" style="left:2px; top:582px; width:80px; height:23px; vertical-align:middle; ">헌혈일시</caption>
  1173. <caption id="caption11" class="cell_1" style="left:2px; top:504px; width:80px; height:23px; vertical-align:middle; ">기관코드</caption>
  1174. <caption id="caption12" class="cell_1" style="left:2px; top:630px; width:80px; height:23px; vertical-align:middle; ">입고일시</caption>
  1175. <caption id="caption7" class="cell_1" style="left:2px; top:656px; width:80px; height:23px; vertical-align:middle; ">입고유형</caption>
  1176. <caption id="caption17" class="cell_1" style="left:2px; top:680px; width:80px; height:54px; vertical-align:middle; ">Comment</caption>
  1177. <caption id="caption8" class="cell_1" style="left:2px; top:530px; width:80px; height:23px; vertical-align:middle; ">혈액형</caption>
  1178. <caption id="caption9" class="cell_1" style="left:2px; top:556px; width:80px; height:23px; vertical-align:middle; ">성분제제용량</caption>
  1179. <caption id="caption18" class="cell_1" style="left:2px; top:478px; width:80px; height:23px; vertical-align:middle; ">혈액번호</caption>
  1180. <line id="line10" class="line_3" style="x1:2px; y1:736px; x2:372px; y2:736px; "/>
  1181. <caption id="caption1" class="tit_2" style="left:5px; top:55px; width:131px; height:14px; ">파일입고 Summary</caption>
  1182. <line id="line2" class="line_1" style="x1:2px; y1:73px; x2:369px; y2:73px; "/>
  1183. <datagrid id="grd_summery" nodeset="/root/main/win/filesummerylist" caption="혈액성분^혈액형^수량" colsep="^" colwidth="211, 58, 60" dataheight="23" mergecellsfixedrows="bycolrec" multitotal="true" rowheader="seq" rowheight="23" rowsep="|" subtotalposition="below" style="left:1px; top:78px; width:368px; height:337px; ">
  1184. <col ref="blodcomnm"/>
  1185. <col ref="aborh"/>
  1186. <col ref="cnt"/>
  1187. </datagrid>
  1188. <input id="input5" ref="/root/hidden/winlist/bcdno" class="input_essential" navindex="2" inputtype="button" style="left:85px; top:453px; width:120px; height:19px; ">
  1189. <script type="javascript" ev:event="onbuttonclick">
  1190. <![CDATA[
  1191. fBlodcdInput();
  1192. ]]>
  1193. </script>
  1194. <script type="javascript" ev:event="onkeyup">
  1195. <![CDATA[
  1196. fBcdKey();
  1197. ]]>
  1198. </script>
  1199. <script type="javascript" ev:event="DOMFocusIn">
  1200. <![CDATA[
  1201. hhCnt++;
  1202. if(hhCnt == "1"){
  1203. messageBox("헌혈일자를 반드시 고쳐서 입력하십시오.", "E");
  1204. }
  1205. ]]>
  1206. </script>
  1207. </input>
  1208. <input id="input10" ref="/root/hidden/winlist/blodcomnmvol" class="input_essential" visibility="hidden" style="left:275px; top:530px; width:65px; height:19px; "/>
  1209. <input id="input11" ref="/root/hidden/winlist/blodbasevol" class="input_essential" visibility="hidden" style="left:330px; top:479px; width:40px; height:19px; "/>
  1210. <input id="input12" ref="/root/hidden/winlist/blodcomnm" class="input_essential" visibility="hidden" style="left:330px; top:452px; width:40px; height:19px; "/>
  1211. <input id="input13" ref="/root/hidden/winlist/blodbarcd" class="input_essential" visibility="hidden" style="left:290px; top:479px; width:40px; height:19px; "/>
  1212. <input id="input14" ref="/root/hidden/winlist/blodcomcd" class="input_essential" visibility="hidden" style="left:290px; top:452px; width:40px; height:19px; "/>
  1213. <input id="input16" ref="/root/hidden/winlist/validt" class="input_essential" visibility="hidden" style="left:245px; top:479px; width:40px; height:19px; "/>
  1214. <input id="input17" ref="/root/hidden/winlist/valiterm" class="input_essential" visibility="hidden" style="left:245px; top:452px; width:40px; height:19px; "/>
  1215. <select1 id="combo1" ref="/root/hidden/winlist/aborh" class="combo_essential" appearance="minimal" style="left:85px; top:531px; width:120px; height:19px; ">
  1216. <choices>
  1217. <item>
  1218. <label>A+</label>
  1219. <value>A+</value>
  1220. </item>
  1221. <item>
  1222. <label>A-</label>
  1223. <value>A-</value>
  1224. </item>
  1225. <item>
  1226. <label>B+</label>
  1227. <value>B+</value>
  1228. </item>
  1229. <item>
  1230. <label>B-</label>
  1231. <value>B-</value>
  1232. </item>
  1233. <item>
  1234. <label>O+</label>
  1235. <value>O+</value>
  1236. </item>
  1237. <item>
  1238. <label>O-</label>
  1239. <value>O-</value>
  1240. </item>
  1241. <item>
  1242. <label>AB+</label>
  1243. <value>AB+</value>
  1244. </item>
  1245. <item>
  1246. <label>AB-</label>
  1247. <value>AB-</value>
  1248. </item>
  1249. </choices>
  1250. <script type="javascript" ev:event="xforms-select">
  1251. <![CDATA[
  1252. fSetABOCombo();
  1253. ]]>
  1254. </script>
  1255. </select1>
  1256. <input id="input1" ref="/root/hidden/winlist/dontm" format="hh:nn" style="left:174px; top:583px; width:40px; height:19px; "/>
  1257. <input id="input15" ref="/root/hidden/winlist/wintm" format="hh:nn" style="left:174px; top:631px; width:40px; height:19px; "/>
  1258. <select1 id="combo2" ref="/root/hidden/winlist/blodcomnmvol2" appearance="minimal" style="left:85px; top:557px; width:129px; height:19px; ">
  1259. <choices>
  1260. <itemset nodeset="/root/init/LB0601">
  1261. <label ref="nm"/>
  1262. <value ref="cd"/>
  1263. </itemset>
  1264. </choices>
  1265. <script type="javascript" ev:event="xforms-select">
  1266. <![CDATA[
  1267. //성분제제용량 콤보 선택시
  1268. //fSetBlodCom();
  1269. ]]>
  1270. </script>
  1271. </select1>
  1272. <datagrid id="grd_winlist" nodeset="/root/main/win/winlist" visibility="visible" caption="^혈액번호^성분제제^ABO^RH^환자명^등록번호^Donor^유효일시^헌혈일시^제제일시^입고일시^입고자^구분^상태^출고유형" colsep="^" colwidth="29, 80, 86, 36, 30, 70, 70, 70, 116, 116, 116, 116, 80, 70, 70, 70,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100" ellipsis="true" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:375px; top:75px; width:819px; height:661px; ">
  1273. <col checkvalue="Y,N" ref="chk" type="checkbox"/>
  1274. <col ref="blodno"/>
  1275. <col ref="blodcomnm"/>
  1276. <col ref="abo"/>
  1277. <col ref="rh"/>
  1278. <col ref="tnsrnm"/>
  1279. <col ref="tnsrpid"/>
  1280. <col ref="dnornm"/>
  1281. <col ref="validt" format="yyyy-mm-dd hh:nn:ss"/>
  1282. <col ref="dondt" format="yyyy-mm-dd hh:nn:ss"/>
  1283. <col ref="proddt" format="yyyy-mm-dd hh:nn:ss"/>
  1284. <col ref="windt" format="yyyy-mm-dd hh:nn:ss"/>
  1285. <col ref="winnm"/>
  1286. <col ref="blodkindnm"/>
  1287. <col ref="blodstatnm"/>
  1288. <col ref="iokind"/>
  1289. <col ref="blodkind"/>
  1290. <col ref="blodstat"/>
  1291. <col ref="winid"/>
  1292. <col ref="blodbarcd"/>
  1293. <col ref="blodbasevol"/>
  1294. <col ref="blodrem"/>
  1295. <col ref="blodcomcd"/>
  1296. <col ref="dnorpid"/>
  1297. <col ref="dnornm"/>
  1298. <col ref="execprcpuniqno"/>
  1299. <col ref="donflag"/>
  1300. <col ref="inst" visibility="hidden"/>
  1301. <script type="javascript" ev:event="onaftersort">
  1302. <![CDATA[
  1303. grd_winlist.gridToInstance();
  1304. ]]>
  1305. </script>
  1306. </datagrid>
  1307. <datagrid id="grd_tmp" nodeset="/root/hidden/tmpwinlist" visibility="hidden" caption="NO^공급일^공급시간^혈액명^혈액코드^채혈량mL^혈액번호^채혈일^채혈시간^제제일^제제시간^혈액형^단가^출고인" colsep="^" colwidth="100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" mergecellsfixedrows="bycolrec" rowsep="|" style="left:375px; top:590px; width:790px; height:110px; ">
  1308. <col ref="seq"/>
  1309. <col ref="supldd"/>
  1310. <col ref="supltm"/>
  1311. <col ref="blodcomnm"/>
  1312. <col ref="blodbarcd"/>
  1313. <col ref="blodbasevol"/>
  1314. <col ref="blodno"/>
  1315. <col ref="bcolldd"/>
  1316. <col ref="bcolltm"/>
  1317. <col ref="jdd"/>
  1318. <col ref="jtm"/>
  1319. <col ref="aborh"/>
  1320. <col ref="unitcost"/>
  1321. <col ref="delivenm"/>
  1322. </datagrid>
  1323. <line id="line3" class="line_2" style="x1:2px; y1:476px; x2:372px; y2:476px; "/>
  1324. <caption id="caption19" class="cell_1" style="left:2px; top:452px; width:80px; height:23px; vertical-align:middle; ">바코드입력</caption>
  1325. <input id="ipt_proddt" ref="/root/hidden/winlist/proddt" class="input_essential" inputtype="date" style="left:85px; top:608px; width:90px; height:19px; "/>
  1326. <caption id="caption13" class="cell_1" style="left:2px; top:606px; width:80px; height:23px; vertical-align:middle; ">제제일시</caption>
  1327. <input id="ipt_prodtm" ref="/root/hidden/winlist/prodtm" format="hh:nn" style="left:174px; top:608px; width:40px; height:19px; "/>
  1328. </group>
  1329. <group id="group4" scroll="auto" style="left:0px; top:13px; width:1195px; height:27px; ">
  1330. <button id="button5" class="btn4_letter3" style="left:1127px; top:3px; width:68px; height:22px; ">
  1331. <caption>초기화</caption>
  1332. <script type="javascript" ev:event="DOMActivate">
  1333. <![CDATA[
  1334. fSetClear();
  1335. ]]>
  1336. </script>
  1337. </button>
  1338. <line id="line17" class="line_6" style="x1:0px; y1:25px; x2:1194px; y2:25px; "/>
  1339. <button id="button36" class="btn4_letter4" style="left:860px; top:3px; width:80px; height:22px; ">
  1340. <caption>혈액입고</caption>
  1341. <script type="javascript" ev:event="DOMActivate">
  1342. <![CDATA[
  1343. fBlodWin();
  1344. ]]>
  1345. </script>
  1346. </button>
  1347. <button id="button3" class="btn4_letter4" style="left:779px; top:3px; width:80px; height:22px; ">
  1348. <caption>파일입고</caption>
  1349. <script type="javascript" ev:event="DOMActivate">
  1350. <![CDATA[
  1351. fFileWin();
  1352. ]]>
  1353. </script>
  1354. </button>
  1355. <button id="button1" class="btn4_letter4" style="left:1046px; top:3px; width:80px; height:22px; ">
  1356. <caption>입고취소</caption>
  1357. <script type="javascript" ev:event="DOMActivate">
  1358. <![CDATA[
  1359. fBloodWinCanCel();
  1360. ]]>
  1361. </script>
  1362. </button>
  1363. <button id="button4" class="btn4_letter6" style="left:941px; top:3px; width:104px; height:22px; ">
  1364. <caption>지정헌혈해제</caption>
  1365. <script type="javascript" ev:event="DOMActivate">
  1366. <![CDATA[
  1367. fDonorCanCel();
  1368. ]]>
  1369. </script>
  1370. </button>
  1371. </group>
  1372. <button id="btn_add" class="btn2_letter3" style="left:1140px; top:93px; width:53px; height:19px; ">
  1373. <caption>행삭제</caption>
  1374. <script type="javascript" ev:event="onclick">
  1375. <![CDATA[
  1376. ///grd_winlist.deleteRow(grd_winlist.row);
  1377. grd_winlist.deleteRow(grd_winlist.row);
  1378. ]]>
  1379. </script>
  1380. </button>
  1381. <group id="Group_idChk" style="left:466px; top:240px; width:280px; height:165px; background-color:#ff99cc; border-color:#5abaff; border-width:1px; border-style:solid; ">
  1382. <caption id="caption14" style="left:19px; top:19px; width:242px; height:70px; font-size:18pt; font-weight:bold; ">입고자를 입력하세요</caption>
  1383. <textarea id="ID_txt" overflow="hidden" style="left:34px; top:89px; width:195px; height:55px; font-size:22pt; ">
  1384. <script type="javascript" ev:event="onkeypress">
  1385. <![CDATA[
  1386. if(event.keyCode == "13"){
  1387. var I_txt = ID_txt.currentText;
  1388. model.setValue("/root/hidden/winparam/winid", (I_txt).toUpperCase());
  1389. model.setValue("/root/hidden/winparam/winid", model.getvalue("/root/hidden/winparam/winid").replace("\n", ""));
  1390. model.makeValue("/root/send/deliveryid", "");
  1391. model.makeValue("/root/send/acceptid", model.getValue("/root/hidden/winparam/winid"));
  1392. submit("TRLBT10404");
  1393. if(model.getValue("/root/hidden/winparam/getuserAnm/acceptnm") == ""){
  1394. }else{
  1395. model.setFocus("input6");
  1396. Group_idChk.visible = false;
  1397. group4.disabled = false;
  1398. }
  1399. }
  1400. ]]>
  1401. </script>
  1402. </textarea>
  1403. <button id="button44" style="left:232px; top:119px; width:42px; height:25px; font-size:8pt; font-weight:bold; color:#003399; text-align:center; background-image:../../../lis\commonweb\images\btn_lis.gif; background-repeat:no-repeat; background-stretch:stretch; ">
  1404. <caption>닫기</caption>
  1405. <script type="javascript" ev:event="onclick">
  1406. <![CDATA[
  1407. Group_idChk.visible = false;
  1408. ]]>
  1409. </script>
  1410. </button>
  1411. </group>
  1412. </xhtml:body>
  1413. </xhtml:html>