SMAHB00300_패키지관리.xrw 72 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SMAHB00300.xrw
  4. * 설 명 : 패키지관리
  5. * 설 계 자 : 손주연
  6. * 작 성 자 : 손주연
  7. * 작 성 일 : 2007.03.13
  8. * 수정이력 : 2007.10.04 김다영 공통코드추가 , 화면권한추가
  9. 2007.11.28 조두현 패키지 복사 관련 추가
  10. * 기 타 :
  11. -->
  12. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  13. <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">
  14. <xhtml:head>
  15. <xhtml:title>패키지관리</xhtml:title>
  16. <model id="model1">
  17. <instance id="instance1">
  18. <root xmlns="">
  19. <main>
  20. <info>
  21. <tempinfo>
  22. <anslst>
  23. <item>
  24. <answcd/>
  25. <answcnts/>
  26. <answcnts/>
  27. <reminptyn/>
  28. </item>
  29. </anslst>
  30. <answcd/>
  31. </tempinfo>
  32. </info>
  33. <pkgcdlst>
  34. <item1>
  35. <seq/>
  36. <healexamdetlflag/>
  37. <pkgflag/>
  38. <pkgcdkey/>
  39. <pkgcd/>
  40. <oldordcd/>
  41. <pkgnm/>
  42. <pkgengnm/>
  43. <pkgamt/>
  44. <calcscorcd/>
  45. <calcscornm/>
  46. <brthareacnts/>
  47. <gndrflag/>
  48. <useyn/>
  49. <uncoflag/>
  50. <earnclslst/>
  51. <pkgsumearncls/>
  52. <remcnts/>
  53. <lastupdtrid/>
  54. <lastupdtdt/>
  55. <pkgdesc/>
  56. <discyn/>
  57. <inetyn/>
  58. <hrmfctr/>
  59. <cycle/>
  60. <prntseq/>
  61. <earnclscd/>
  62. <dietconstyn/>
  63. </item1>
  64. </pkgcdlst>
  65. <pkgtestcdlst>
  66. <itempkg>
  67. <seq/>
  68. <prntseq/>
  69. <testcd/>
  70. <testnm/>
  71. <roomcd/>
  72. <roomnm/>
  73. <useyn/>
  74. <lastupdtrid/>
  75. <lastupdtdt/>
  76. <itslfcalcscoryn/>
  77. <calcscoramt/>
  78. </itempkg>
  79. <itemadd>
  80. <prntseq/>
  81. <testcd/>
  82. <testnm/>
  83. <lastupdtrid/>
  84. <lastupdtdt/>
  85. <roomcd/>
  86. <roomnm/>
  87. <useyn/>
  88. </itemadd>
  89. <itemsel>
  90. <prntseq/>
  91. <testcd/>
  92. <testnm/>
  93. <roomcd/>
  94. <roomnm/>
  95. <lastupdtrid/>
  96. <lastupdtdt/>
  97. <useyn/>
  98. </itemsel>
  99. <iteminqr>
  100. <pkgflag/>
  101. <pkgcd/>
  102. <inqrseq/>
  103. <inqrflag/>
  104. <inqrcd/>
  105. <inqrnm/>
  106. <answcd/>
  107. <answcnts/>
  108. </iteminqr>
  109. <itemdiet>
  110. <prntseq/>
  111. <testcd/>
  112. <testnm/>
  113. <useyn/>
  114. <lastupdtrid/>
  115. <lastupdtdt/>
  116. </itemdiet>
  117. <itemcaut>
  118. <pkgcd/>
  119. <healexamflag/>
  120. <cautcd/>
  121. <cautcnts/>
  122. <gndrflag/>
  123. <useyn/>
  124. </itemcaut>
  125. <itemspcl>
  126. <pkgflag/>
  127. <pkgcd/>
  128. <pkgnm/>
  129. <lastupdtrid/>
  130. <lastupdtdt/>
  131. </itemspcl>
  132. </pkgtestcdlst>
  133. <tempinfo>
  134. <anslst/>
  135. </tempinfo>
  136. </main>
  137. <send>
  138. <srchhealexamflag/>
  139. <srchpkgcd/>
  140. <srchpkgnm/>
  141. <srchinstcd/>
  142. <srchhealexamdetlflag/>
  143. <srchpkgcd2/>
  144. <srchcdflag/>
  145. <req>
  146. <savepkg/>
  147. <savepkgtestcd/>
  148. <saveaddtestcd/>
  149. <saveseltestcd/>
  150. <saveinqrcd/>
  151. <savedietcd/>
  152. <userid/>
  153. <instcd/>
  154. <cdflag/>
  155. <pkgcd/>
  156. <healexamdetlflag/>
  157. <healexamflag/>
  158. <savepkgflag/>
  159. <savecaucd/>
  160. <savespclcd/>
  161. </req>
  162. <srchpkgflag/>
  163. <pkgtestcdlst>
  164. <itempkg>
  165. </itempkg>
  166. <itemadd>
  167. <prntseq/>
  168. <testcd/>
  169. <testnm/>
  170. <lastupdtrid/>
  171. <lastupdtdt/>
  172. <roomcd/>
  173. <roomnm/>
  174. <useyn/>
  175. </itemadd>
  176. <itemsel>
  177. <prntseq/>
  178. <testcd/>
  179. <testnm/>
  180. <roomcd/>
  181. <roomnm/>
  182. <lastupdtrid/>
  183. <lastupdtdt/>
  184. <useyn/>
  185. </itemsel>
  186. <iteminqr>
  187. <prntseq/>
  188. <testcd/>
  189. <testnm/>
  190. <useyn/>
  191. <lastupdtrid/>
  192. <lastupdtdt/>
  193. </iteminqr>
  194. <itemdiet>
  195. <prntseq/>
  196. <testcd/>
  197. <testnm/>
  198. <useyn/>
  199. <lastupdtrid/>
  200. <lastupdtdt/>
  201. </itemdiet>
  202. <pkgcd/>
  203. <pkgolddd/>
  204. <instcd/>
  205. <userid/>
  206. <cdflag/>
  207. <healexamflag/>
  208. <itemspcl>
  209. <pkgflag/>
  210. <pkgcd/>
  211. <pkgnm/>
  212. <lastupdtrid/>
  213. <lastupdtdt/>
  214. </itemspcl>
  215. </pkgtestcdlst>
  216. <srchuseyn/>
  217. </send>
  218. <hidden>
  219. <tmppkgcd/>
  220. <tmppkgnm/>
  221. <pkgdesc/>
  222. </hidden>
  223. <init>
  224. <baseinfo>
  225. <healexamflag>
  226. <A0068>
  227. <cdid/>
  228. <cdnm/>
  229. </A0068>
  230. </healexamflag>
  231. <healexamdetlflag>
  232. <A0069>
  233. <cdid/>
  234. <cdnm/>
  235. </A0069>
  236. <A0070>
  237. <cdid/>
  238. <cdnm/>
  239. </A0070>
  240. </healexamdetlflag>
  241. <pkgflag>
  242. <item>
  243. <cdid>P</cdid>
  244. <cdnm>패키지</cdnm>
  245. </item>
  246. <item>
  247. <cdid>G</cdid>
  248. <cdnm>묶음처방</cdnm>
  249. </item>
  250. </pkgflag>
  251. <uncolst>
  252. <A0067>
  253. <cdid/>
  254. <cdnm/>
  255. </A0067>
  256. </uncolst>
  257. <earnclslst>
  258. <A0435>
  259. <cdid/>
  260. <cdnm/>
  261. </A0435>
  262. </earnclslst>
  263. <brthareacnts>
  264. <A0465>
  265. <cdid/>
  266. <cdnm/>
  267. </A0465>
  268. </brthareacnts>
  269. </baseinfo>
  270. </init>
  271. <source>
  272. <gridid/>
  273. <cdcol/>
  274. <nmcol/>
  275. <srchcd/>
  276. </source>
  277. <temp>
  278. <templst/>
  279. <pkgcopylst>
  280. <mopkgcd/>
  281. <japkgcd/>
  282. <pkgcopyyn/>
  283. </pkgcopylst>
  284. </temp>
  285. </root>
  286. </instance>
  287. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  288. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  289. <script type="javascript" src="../../../ast/commonweb/js/AST.js"/>
  290. <script type="javascript" src="../../../ast/healexamweb/js/AHA001.js"/>
  291. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  292. <submission id="TRAHB00301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/pkgcdlst"/>
  293. <submission id="TRAHB00302" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/pkgtestcdlst"/>
  294. <submission id="TRAHB00303" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/inqrcdlst"/>
  295. <submission id="TXAHB00301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/req" replace="instance" resultref="/root/hidden"/>
  296. <submission id="TRZBC00101"/>
  297. <script type="javascript" ev:event="xforms-ready">
  298. <![CDATA[
  299. model.removeNodeset("/root/init/baseinfo/healexamflag/A0067");
  300. model.removeNodeset("/root/init/baseinfo/healexamflag/A0068");
  301. model.removeNodeset("/root/init/baseinfo/healexamflag/A0069");
  302. model.removeNodeset("/root/init/baseinfo/healexamflag/A0070");
  303. var vHeFgLen = fGetHealExamFlag().length;
  304. var vHeFg = fGetHealExamFlag();
  305. var vHeFgCd = "";
  306. if( vHeFg.substr(0,1) == "C" ){
  307. vHeFgCd = "A0069";
  308. } else {
  309. vHeFgCd = "A0070";
  310. }
  311. //공통코드 콤보 호출
  312. zbcfGetCodeList( new Array("A0068" ,vHeFgCd, "A0067","A0435","A0465")
  313. ,new Array("/root/init/baseinfo/healexamflag"
  314. ,"/root/init/baseinfo/healexamdetlflag"
  315. ,"/root/init/baseinfo/uncolst"
  316. ,"/root/init/baseinfo/earnclslst"
  317. ,"/root/init/baseinfo/brthareacnts"));
  318. grd_pkglst.colflag.choices.itemset.attribute("nodeset") = "/root/init/baseinfo/healexamdetlflag/"+ vHeFgCd;
  319. cmb_srchhealexamdetlflag.choices.itemset.attribute("nodeset") = "/root/init/baseinfo/healexamdetlflag/"+ vHeFgCd;
  320. submit("TRZBC00101");
  321. fInitCtrl(true);
  322. cmb_healexamflag.value = vHeFg.substr(0,1);
  323. //종건, 일건 구분
  324. if(vHeFgLen == 1){
  325. cmb_srchhealexamdetlflag.value = vHeFg + "01";
  326. } else{
  327. cmb_srchhealexamdetlflag.value = vHeFg;
  328. }
  329. btn_search.disabled = !checkAuth("R") ;
  330. btn_pkgsave.disabled = !checkAuth("X");
  331. btn_detlsave.disabled = !checkAuth("X");
  332. if( btn_search.disabled == false ){
  333. cmb_srchpkgflag.select(0);
  334. }
  335. ]]>
  336. </script>
  337. <submission id="TRAHB00305" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/pkgtestcdlst" replace="instance" resultref="/root/main/pkgtestcdlst"/>
  338. <submission id="TXAHB00303" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/req" replace="instance" resultref="/root/hidden"/>
  339. <submission id="TRAHA00013" mediatype="application/x-www-form-urlencoded" method="post"/>
  340. <submission id="TRAHR00504" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/hidden" replace="instance" resultref="/root/hidden1"/>
  341. <submission id="TRAHB03192" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/tempinfo/anslst"/>
  342. </model>
  343. <script type="javascript">
  344. <![CDATA[
  345. var col_inqranswcd = 7;
  346. var col_inqranswcnts = 8;
  347. var col_inqrremcnts = 9;
  348. var col_inqranswflag = 10;
  349. var pkgcol_pkgcd = 4;
  350. var pkgcol_calcscorcd = 10;
  351. var testcol_testcd = 3;
  352. /**=========================================================================================================================
  353. * 문진입력을 용이하게 하기위한 함수.
  354. * 답안입력시 row이동
  355. * bMove : true이면 row이동
  356. ===========================================================================================================================*/
  357. function fMoveInqrFocus(bMove){
  358. if( grd_inqrlst.col != col_inqranswcd ) return ;
  359. var idx = grd_inqrlst.row;
  360. if( idx < 1) return ;
  361. if( bMove == true ){
  362. idx ++;
  363. if( idx >= grd_inqrlst.rows ) {
  364. idx = grd_inqrlst.rows ;
  365. return;
  366. }
  367. grd_inqrlst.row = idx;
  368. }
  369. grd_inqrlst.col = col_inqranswcd ;
  370. var y = parseInt( grd_inqrlst.attribute("top") ) + parseInt(grd_inqrlst.rowheight(0) ) + parseInt(grd_inqrlst.rowheight(1) )* idx ;
  371. var lim_y = parseInt( grd_inqrlst.attribute("top") ) + parseInt( grd_inqrlst.attribute("height") ) - parseInt(grd_inqranslst.attribute("height")) ;
  372. if( y > lim_y){
  373. y = lim_y ;
  374. }
  375. fGetInqrAnsCdList (y);
  376. }
  377. /**===========================================================================================================================
  378. *문진선택형결과 가져오기
  379. * IN : 문진구분/문진코드/기관코드
  380. =============================================================================================================================*/
  381. function fGetInqrAnsCdList( vTop ){
  382. var idx = grd_inqrlst.row;
  383. if( idx < 1) return ;
  384. model.makeNode("/root/send/srchinqrflag");
  385. model.makeNode("/root/send/ansinqrcd");
  386. model.makeNode("/root/send/srchinstcd");
  387. model.setValue( "/root/send/srchinqrflag" , model.getValue(grd_inqrlst.nodeset + "[" + idx + "]/inqrflag" ) );
  388. model.setValue( "/root/send/ansinqrcd" , model.getValue(grd_inqrlst.nodeset + "[" + idx + "]/inqrcd" ) );
  389. model.setValue( "/root/send/srchinstcd" , getUserInfo("dutplceinstcd") );
  390. model.removeNodeset(grd_inqranslst.nodeset);
  391. ipt_answcd.value = "";
  392. if( submit("TRAHB03192") == true ) {
  393. if( vTop != "" ){
  394. grp_inqrans.attribute("top") = parseInt(vTop);
  395. }
  396. grp_inqrans.visible = true;
  397. model.setFocus("ipt_answcd");
  398. }
  399. }
  400. /**======================================================================================================================================
  401. * 문진답안선택시 gird로 값 setting
  402. =========================================================================================================================================*/
  403. function fSetInqrAns(){
  404. var idx = grd_inqrlst.row;
  405. if( idx < 1) return ;
  406. var ansidx = grd_inqranslst.row;
  407. if( ansidx < 1 ) return ;
  408. var old_ans = grd_inqrlst.valueMatrix(idx, col_inqranswcd) ;
  409. var new_ans = grd_inqranslst.valueMatrix( ansidx, 1);
  410. if( old_ans == new_ans ) return ;
  411. grd_inqrlst.valueMatrix(idx, col_inqranswcd) = grd_inqranslst.valueMatrix( ansidx, 1);
  412. grd_inqrlst.valueMatrix(idx, col_inqranswcnts) = grd_inqranslst.valueMatrix( ansidx, 2);
  413. if( grd_inqrlst.rowStatus(idx) == 0 ) {
  414. grd_inqrlst.addStatus(idx, "update");
  415. }
  416. grd_inqrlst.refresh();
  417. }
  418. /**=================================================================================
  419. @desc : 선택된 건진 구분을 가져온다.
  420. *=================================================================================*/
  421. function fGetHealExamFg(){
  422. return model.getValue("/root/send/srchhealexamflag");
  423. }
  424. /**=================================================================================
  425. @desc : 선택된 건진 상세구분을 가져온다.
  426. *=================================================================================*/
  427. function fGetHealExamDetlFg(){
  428. return model.getValue("/root/send/srchhealexamdetlflag");
  429. }
  430. /**=================================================================================
  431. @desc : 패키지 내역 조회
  432. *=================================================================================*/
  433. function fGetPkgList()
  434. {
  435. fInitCtrl(true);
  436. if(cmb_srchhealexamdetlflag.value == "G03"){ //특수건진
  437. btn_spqr.visible = true;
  438. btn_spqr.attribute("left") = 1108 + "px";
  439. btn_spqr.attribute("top") = 50 + "px";
  440. }else{
  441. btn_spqr.visible = false;
  442. }
  443. var vHealexamflag = fGetHealExamFg();
  444. if( vHealexamflag == "" ) return false;
  445. model.setValue("/root/send/srchinstcd", getUserInfo("dutplceinstcd"));
  446. model.setValue("/root/send/srchhealexamflag" ,vHealexamflag);
  447. model.setValue("/root/send/srchhealexamdetlflag" ,model.getValue(cmb_srchhealexamdetlflag.attribute("ref") ));
  448. return submit("TRAHB00301") ;
  449. }
  450. /**=================================================================================
  451. @desc : 건진상세구분바꾸기~
  452. *=================================================================================*/
  453. function fSetHealExamDetlFlag(){
  454. model.removeNodeset("/root/init/baseinfo/healexamdetlflag/A0069");
  455. model.removeNodeset("/root/init/baseinfo/healexamdetlflag/A0070");
  456. var vItem = "";
  457. var vHealexamflag = fGetHealExamFg();
  458. if(vHealexamflag == "C"){
  459. vItem = "A0069";
  460. }
  461. else {
  462. vItem = "A0070"; //일반건진
  463. }
  464. zbcfGetCodeList( new Array(vItem), new Array("/root/init/baseinfo/healexamdetlflag") );
  465. grd_pkglst.colflag.choices.itemset.attribute("nodeset") = "/root/init/baseinfo/healexamdetlflag/"+ vItem;
  466. cmb_srchhealexamdetlflag.choices.itemset.attribute("nodeset") = "/root/init/baseinfo/healexamdetlflag/"+ vItem;
  467. submit("TRZBC00101");
  468. cmb_srchhealexamdetlflag.refresh();
  469. cmb_srchhealexamdetlflag.select(0);
  470. }
  471. /**=================================================================================
  472. @desc : 패키지 내역 및 현재 선택된 패키지 상세내역 저장
  473. *=================================================================================*/
  474. function fPkgCopy(){
  475. var vGrdPkg_copy=grd_pkglst.row;
  476. if (vGrdPkg_copy<1) return;
  477. if (fGetHealExamFg()=="") ;
  478. //패키지 코드
  479. model.setValue("/root/send/pkgtestcdlst/healexamflag",fGetHealExamFg());
  480. //alert(model.getValue("/root/send/pkgtestcdlst/healexamflag"));
  481. //수가코드로 불러온다
  482. model.setValue("/root/send/pkgtestcdlst/pkgcd",grd_pkglst.valueMatrix(vGrdPkg_copy,4));
  483. //alert(model.getValue("/root/send/pkgtestcdlst/pkgcd"));
  484. //검진구분
  485. model.setValue("/root/send/pkgtestcdlst/cdflag","P" );
  486. //유저 아이디
  487. model.setValue("/root/send/pkgtestcdlst/userid",getUserId());
  488. //유저의 기과 코드
  489. model.setValue("/root/send/pkgtestcdlst/instcd",getUserInfo("dutplceinstcd") );
  490. //적용 마지막 일자
  491. //model.setValue("/root/send/pkgtestcdlst/pkgolddd",grd_pkglst.valueMatrix(vGrdPkg_copy,16));
  492. //패키지 검사
  493. // model.setValue("/root/send/pkgtestcdlst/itempkg",model.getValue("/root/main/pkgtestcdlst/itempkg"));
  494. /*
  495. for(var i=1; i<=grd_pkgtestcdlst.rows ;i++){
  496. grd_pkgtestcdlst.addStatus(i,"update");
  497. }*/
  498. model.setValue("/root/send/pkgtestcdlst/itempkg",grd_pkgtestcdlst.getUpdateData());
  499. //추가검사
  500. for(var i=1; i<=grd_addtestcdlst.rows ;i++){
  501. grd_addtestcdlst.addStatus(i,"update");
  502. }
  503. model.setValue("/root/send/pkgtestcdlst/itemadd",grd_addtestcdlst.getUpdateData());
  504. //선택형 검사
  505. for(var i=1; i<=grd_seltestcdlst.rows ;i++){
  506. grd_seltestcdlst.addStatus(i,"update");
  507. }
  508. model.setValue("/root/send/pkgtestcdlst/itemsel",grd_seltestcdlst.getUpdateData());
  509. //특수2차패키지
  510. for(var i=1; i<=grd_sptestcdlst.rows ;i++){
  511. grd_sptestcdlst.addStatus(i,"update");
  512. }
  513. model.setValue("/root/send/pkgtestcdlst/itemspcl",grd_seltestcdlst.getUpdateData());
  514. //model.setValue("/root/send/pkgtestcdlst/iteminqr","/root/main/pkgtestcdlst/iteminqr");
  515. //영양상담
  516. //model.setValue("/root/send/pkgtestcdlst/itemdiet","/root/main/pkgtestcdlst/itemdiet");
  517. submit("TRAHB00305");
  518. }
  519. /**=================================================================================
  520. @desc : 패키지 내역 및 현재 선택된 패키지 상세내역 저장
  521. *=================================================================================*/
  522. function fSaveDetlPkgList(){
  523. var ret = false ;
  524. if( messageBox("패키지 상세정보를","Q002")==6 ){
  525. model.setValue("/root/send/req/savepkg", grd_pkglst.getUpdateData() ) ;
  526. //pkg상세내역
  527. var idx = grd_pkglst.row;
  528. if( idx < 0) return ;
  529. var vHealDetlFlag = model.getValue("/root/main/pkgcdlst/item1[" + idx + "]/healexamdetlflag");
  530. var vPkgcd = "";
  531. if(model.getValue("/root/temp/pkgcopylst/pkgcopyyn") != "Y"){// 패키지 복사가 아닐때
  532. vPkgcd = model.getValue("/root/main/pkgcdlst/item1[" + idx + "]/pkgcd");
  533. }else{//패키지 복사일때
  534. vPkgcd = model.getValue("/root/temp/pkgcopylst/japkgcd");
  535. }
  536. if( (vPkgcd == "") || (vHealDetlFlag == "") ) return ;
  537. var vHealexamflag = fGetHealExamFg();
  538. if(vHealexamflag == "") return ;
  539. model.setValue("/root/send/req/healexamflag" , vHealexamflag);
  540. model.setValue("/root/send/req/pkgcd" , vPkgcd);
  541. model.setValue("/root/send/req/healexamdetlflag" , vHealDetlFlag);
  542. model.setValue("/root/send/req/savepkgflag" , "D");
  543. model.setValue("/root/send/req/instcd" , getUserInfo("dutplceinstcd") );
  544. model.setValue("/root/send/req/userid" , getUserId());
  545. model.setValue("/root/send/req/savepkgtestcd" , grd_pkgtestcdlst.getUpdateData() ) ;
  546. model.setValue("/root/send/req/saveaddtestcd" , grd_addtestcdlst.getUpdateData() ) ;
  547. model.setValue("/root/send/req/saveseltestcd" , grd_seltestcdlst.getUpdateData() ) ;
  548. model.setValue("/root/send/req/savecaucd" , grd_cautlst.getUpdateData() ) ;
  549. model.setValue("/root/send/req/saveinqrcd" , grd_inqrlst.getUpdateData() ) ;
  550. model.setValue("/root/send/req/savespclcd" , grd_sptestcdlst.getUpdateData() ) ;
  551. //model.setValue("/root/send/req/savedietcd" , grd_inqrlst.getUpdateData() ) ;
  552. //model.setValue("/root/send/req/saveinqrcd" , grd_dietlst.getUpdateData() ) ;
  553. ret = submit("TXAHB00301");
  554. }
  555. return ret ;
  556. }
  557. /**=================================================================================
  558. @desc : 패키지 상세내역 조회
  559. *=================================================================================*/
  560. function fGetPkgDetail(){
  561. fInitCtrl(false);
  562. var ret = false;
  563. var idx = grd_pkglst.row ;
  564. if( idx < 1) return ;
  565. /**
  566. * 건진구분(A0068)
  567. */
  568. var vHealexamflag =fGetHealExamFg();
  569. if(vHealexamflag == "") return ;
  570. /**
  571. * 건진코드 및 건진상세분류(A0070, A0069)
  572. */
  573. var vPkgcd = model.getValue("/root/main/pkgcdlst/item1[" + idx + "]/pkgcdkey") ;
  574. var vPkgFlag = model.getValue("/root/main/pkgcdlst/item1[" + idx + "]/pkgflag") ;
  575. var vHealExamDetlFlag = model.getValue("/root/main/pkgcdlst/item1[" + idx + "]/healexamdetlflag") ;
  576. if(vPkgcd == "") return ;
  577. model.setValue("/root/send/srchhealexamdetlflag" , vHealExamDetlFlag);
  578. model.setValue("/root/send/srchhealexamflag" , vHealexamflag) ;
  579. model.setValue("/root/send/srchpkgcd2" , vPkgcd) ;
  580. model.makeValue("/root/send/srchpkgflag" , vPkgFlag) ;
  581. model.setValue("/root/send/srchinstcd" , getUserInfo("dutplceinstcd"));
  582. //model.setValue("/root/send/srchcdflag" , swtState);
  583. ret = submit("TRAHB00302");
  584. return ret;
  585. }
  586. /**=================================================================================
  587. @desc : 패키지 상세내역 중 현재 선택된 case얻어오기.
  588. *=================================================================================*/
  589. function fGetSwtState(){
  590. var ret = "T";
  591. if( btn_test.selected == true ){
  592. ret = "T";
  593. } else if( btn_diet.selected== true ){
  594. ret = "D";
  595. } else if( btn_inqr.selected== true ){
  596. ret = "I";
  597. } else if( btn_spqr.selected== true ){
  598. ret = "S";
  599. }
  600. return ret;
  601. }
  602. /**=================================================================================
  603. @desc : 컨트롤 초기화
  604. *=================================================================================*/
  605. function fInitCtrl(bAll){
  606. if( bAll == true ){
  607. model.removeNodeset("/root/main/pkgcdlst/item1");
  608. }
  609. model.removeNodeset("/root/main/pkgtestcdlst/itempkg");
  610. model.removeNodeset("/root/main/pkgtestcdlst/itemadd");
  611. model.removeNodeset("/root/main/pkgtestcdlst/itemsel");
  612. model.removeNodeset("/root/main/pkgtestcdlst/iteminqr");
  613. model.removeNodeset("/root/main/pkgtestcdlst/itemdiet");
  614. model.removeNodeset("/root/main/pkgtestcdlst/itemspcl");
  615. btn_test.selected = true;
  616. // model.setFocus("btn_test");
  617. // model.toggle("case_T");
  618. }
  619. /**=================================================================================
  620. @desc : 처방사전 열기
  621. *=================================================================================*/
  622. function fOpenOrdDic(vGrd_Ocdlst, vGrdNm){
  623. var vCur_col = vGrd_Ocdlst.col;
  624. if( vGrd_Ocdlst.row < 1) return ;
  625. switch( vCur_col ){
  626. case 2 : //검사코드입력+enter
  627. var vTmp = vGrd_Ocdlst.valueMatrix(2,vGrd_Ocdlst.row);
  628. fGetOcdList(vGrdNm ,vTmp);
  629. break;
  630. default:
  631. vCur_col++;
  632. if( vCur_col < vGrd_Ocdlst.cols ){
  633. vGrd_Ocdlst.col = vCur_col ;
  634. vGrd_Ocdlst.editCell();
  635. }
  636. break;
  637. }
  638. }
  639. /**=================================================================================
  640. @desc : 검사실정보조회
  641. *=================================================================================*/
  642. function fOpenRoomCode(vGrdTrg, vGrdTrgNm){
  643. var cur_row = vGrdTrg.row;
  644. var cur_col = vGrdTrg.col;
  645. if ( ( cur_row > 0) && (cur_col == 4) ){
  646. messageBox(vGrdTrgNm+"roomcode", "E001");
  647. }
  648. }
  649. /**=================================================================================
  650. @desc : 단일 검사코드 정보 얻어오기. 행추가 후 입력시 적용
  651. *=================================================================================*/
  652. function fGetSingleOcd(vCdFg){
  653. var vcol = 0;
  654. var idx = 0;
  655. if( vCdFg == "T" ) {
  656. vcol = grd_pkgtestcdlst.col;
  657. idx = grd_pkgtestcdlst.row;
  658. if( idx < 1 ) return ;
  659. if( vcol == 3 ){ //검사코드
  660. fGetPkgCd("SMAHB00300","T", "N", "cd", grd_pkgtestcdlst.valueMatrix(idx,2 ), "", "", "/root/main/pkgtestcdlst/itempkg[" +idx+ "]");
  661. }else if( vcol == 4) {
  662. fOpenRoomCode(grd_pkgtestcdlst, "grd_pkgtestcdlst");
  663. }
  664. }else if( vCdFg == "S" ){
  665. vcol = grd_seltestcdlst.col;
  666. idx = grd_seltestcdlst.row;
  667. if( idx < 1 ) return ;
  668. if( vcol == 2 ){ //검사코드
  669. fGetPkgCd("SMAHB00300","A", "N", "cd", grd_seltestcdlst.valueMatrix(idx,2 ), "", "", "/root/main/pkgtestcdlst/itemsel[" +idx+ "]");
  670. }else if( vcol == 4){
  671. fOpenRoomCode(grd_seltestcdlst, "grd_seltestcdlst");
  672. }
  673. }
  674. }
  675. /**=================================================================================
  676. @desc : 패키지 코드를 저장
  677. *=================================================================================*/
  678. function fSavePkgList() {
  679. var chk_healexamdetlflag = "";
  680. //필수값 체크
  681. for( j = 1 ; j <= getNodesetCount("/root/main/pkgcdlst/item1"); j++){
  682. rowstat = grd_pkglst.rowStatus(j);
  683. if(rowstat < 4){ // 삭제는 뺌
  684. chk_healexamdetlflag = model.getValue("/root/main/pkgcdlst/item1['" + j +"']/healexamdetlflag");
  685. if(chk_healexamdetlflag == ""){messageBox("건진상세구분이 입력되지 않았습니다.","E999"); return false;}
  686. }
  687. }//inner for end
  688. var savePkg = grd_pkglst.getUpdateData();
  689. model.setValue("/root/send/req/healexamflag" , fGetHealExamFg() ); // 건진구분
  690. model.setValue("/root/send/req/instcd" , getUserInfo("dutplceinstcd")); // 기관코드
  691. model.setValue("/root/send/req/userid" , getUserId()); // 사용자id
  692. model.setValue("/root/send/req/cdflag" , "P"); // 검사코드구분
  693. // M : 패키지 D: 상세내역
  694. model.setValue("/root/send/req/savepkgflag" , "M");
  695. //저장할 패키지 내역이 존재하는 체크
  696. if(savePkg == "") {
  697. messageBox("저장할 패키지 정보가" , "I004");
  698. return;
  699. }else {
  700. model.setValue("/root/send/req/savepkg" , savePkg);
  701. }
  702. if(messageBox("패키지 정보를","Q002")==6 ) {
  703. return submit("TXAHB00301") ;
  704. }
  705. }
  706. function fChkGridTarget(pGrid){
  707. //그리드의 셀 이외의 곳을 클릭하면 종료한다.
  708. if( !eval(pGrid+".iscell(event.target)")) return false;
  709. // 그리드의 헤더부분을 클릭하면 종료한다.
  710. if( eval(pGrid+".row") < eval(pGrid+".fixedRows")) return false;
  711. return true;
  712. }
  713. /**=================================================================================
  714. @desc : 데이터체크
  715. *=================================================================================*/
  716. function fDatacheck(){
  717. var rsv_cnt = grd_pkglst.rows ;
  718. var sNode = grd_pkglst.nodeset+ "[";
  719. var scdid1 = "";
  720. var scdid2 = "";
  721. for( var i = 1; i < rsv_cnt ; i++){
  722. if( model.getValue(sNode + i + "]/pkgcd" ) == "") {
  723. alert("패키지코드의 값이 비어있습니다.");
  724. return false;
  725. }
  726. if( model.getValue(sNode + i + "]/pkgnm" ) == "") {
  727. alert("패키지명의 값이 비어있습니다.");
  728. return false;
  729. }
  730. scdid1 = model.getValue("/root/main/pkgcdlst/item1[" + i + "]/pkgcd");
  731. var k = i + 1;
  732. for (var j = k; j < grd_pkglst.rows; j++){
  733. scdid2 = model.getValue("/root/main/pkgcdlst/item1[" + j + "]/pkgcd");
  734. if (i != j){
  735. if (scdid1 == scdid2){
  736. messageBox(j + "번째에서 중복된 자료가 존재합니다", "E999", "");
  737. return false;
  738. }
  739. }
  740. }
  741. }
  742. return true;
  743. }
  744. ]]>
  745. </script>
  746. </xhtml:head>
  747. <xhtml:body guideline="1,1195;2,783;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  748. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  749. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:189px; height:14px; ">패키지관리</caption>
  750. </group>
  751. <group id="group5" scroll="auto" style="left:0px; top:13px; width:1195px; height:744px; ">
  752. <group id="group6" style="left:0px; top:10px; width:1194px; height:35px; vertical-align:top; ">
  753. <shape id="roundrect3" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1194px; height:35px; "/>
  754. <caption id="caption21" class="search_name" style="left:591px; top:9px; width:99px; height:17px; ">패키지코드 :</caption>
  755. <button id="btn_search" class="btn1_letter2" style="left:1122px; top:7px; width:56px; height:22px; ">
  756. <caption>조회</caption>
  757. <script type="javascript" ev:event="DOMActivate">
  758. <![CDATA[
  759. fGetPkgList();
  760. ]]>
  761. </script>
  762. </button>
  763. <line id="line18" class="line_4" style="x1:1104px; y1:7px; x2:1104px; y2:29px; border-left-style:solid; "/>
  764. <input id="ipt_srchpkgnm" ref="/root/send/srchpkgnm" class="input_search" style="left:875px; top:8px; width:100px; height:19px; ">
  765. <script type="javascript" ev:event="onkeyup">
  766. <![CDATA[
  767. inputEnterKey("btn_search", "DOMActivate");
  768. ]]>
  769. </script>
  770. </input>
  771. <input id="ipt_srchpkgcd" ref="/root/send/srchpkgcd" class="input_s_essential" imemode="disabled" _chartype="upper" style="left:695px; top:8px; width:100px; height:19px; ">
  772. <script type="javascript" ev:event="onkeyup">
  773. <![CDATA[
  774. inputEnterKey("btn_search", "DOMActivate");
  775. ]]>
  776. </script>
  777. </input>
  778. <caption id="caption22" class="search_name" style="left:810px; top:10px; width:65px; height:17px; ">명칭 :</caption>
  779. <caption id="caption8" class="search_name" style="left:10px; top:9px; width:99px; height:17px; ">건진구분:</caption>
  780. <select1 id="cmb_healexamflag" ref="/root/send/srchhealexamflag" class="combo_search" appearance="minimal" style="left:95px; top:8px; width:105px; height:19px; ">
  781. <choices>
  782. <itemset nodeset="/root/init/baseinfo/healexamflag/A0068">
  783. <label ref="cdnm"/>
  784. <value ref="cdid"/>
  785. </itemset>
  786. </choices>
  787. <script type="javascript" ev:event="xforms-value-changed">
  788. <![CDATA[
  789. //fGetPkgList();
  790. fSetHealExamDetlFlag();
  791. ]]>
  792. </script>
  793. </select1>
  794. <caption id="caption3" class="search_name" style="left:410px; top:9px; width:99px; height:17px; ">코드구분 :</caption>
  795. <select1 id="cmb_srchpkgflag" ref="/root/send/srchpkgflag" class="combo_search" appearance="minimal" style="left:500px; top:7px; width:85px; height:19px; ">
  796. <choices>
  797. <itemset nodeset="/root/init/baseinfo/pkgflag/item">
  798. <label ref="cdnm"/>
  799. <value ref="cdid"/>
  800. </itemset>
  801. </choices>
  802. <script type="javascript" ev:event="xforms-value-changed">
  803. <![CDATA[
  804. fGetPkgList();
  805. ]]>
  806. </script>
  807. </select1>
  808. <select1 id="cmb_srchhealexamdetlflag" ref="/root/send/srchhealexamdetlflag" class="combo_search" appearance="minimal" style="left:315px; top:8px; width:90px; height:19px; ">
  809. <choices>
  810. <itemset nodeset="/root/init/baseinfo/healexamflag/A0069">
  811. <label ref="cdnm"/>
  812. <value ref="cdid"/>
  813. </itemset>
  814. </choices>
  815. <script type="javascript" ev:event="xforms-value-changed">
  816. <![CDATA[
  817. fGetPkgList();
  818. ]]>
  819. </script>
  820. </select1>
  821. <caption id="caption9" class="search_name" style="left:200px; top:9px; width:117px; height:17px; ">건진상세분류 :</caption>
  822. <select id="chk_useyn" ref="/root/send/srchuseyn" overflow="visible" appearance="full" style="left:990px; top:10px; width:75px; height:20px; border-style:none; ">
  823. <choices>
  824. <item>
  825. <label>사용여부</label>
  826. <value>Y</value>
  827. </item>
  828. </choices>
  829. </select>
  830. </group>
  831. <switch id="swt_pkgdetl" style="left:705px; top:70px; width:490px; height:667px; border-color:#c7a3cf; border-style:solid; ">
  832. <case id="case_T" selected="true">
  833. <datagrid id="grd_pkgtestcdlst" nodeset="/root/main/pkgtestcdlst/itempkg" caption="순번^조회순서^검사코드^검사명^가격^자체수가^자체금액^발행여부^최종수정자^최종수정일시^사용여부^roomcd^roomnm^sexflag" colsep="^" colwidth="30, 62, 100, 127, 100, 32, 1, 60, 100, 100, 100, 0, 0, 0, 100" ellipsis="true" explorerbar="sortshow" rowheader="update" rowsep="|" tooltip="true" style="left:6px; top:30px; width:475px; height:445px; ">
  834. <col ref="seq"/>
  835. <col ref="prntseq" type="input"/>
  836. <col disabled="true" ref="testcd" type="inputbutton"/>
  837. <col ref="testnm"/>
  838. <col ref="pkgamt" format="#,###" style="text-align:right; "/>
  839. <col checkvalue="Y,N" ref="itslfcalcscoryn1" visibility="hidden"/>
  840. <col ref="calcscoramt1" type="input" format="#,###" style="text-align:right; "/>
  841. <col checkvalue="Y,N" ref="exeyn" type="checkbox"/>
  842. <col ref="lastupdtrid"/>
  843. <col ref="lastupdtdt"/>
  844. <col checkvalue="Y,N" ref="useyn" type="checkbox" visibility="hidden"/>
  845. <col ref="roomcd" visibility="hidden"/>
  846. <col ref="roomnm" visibility="hidden"/>
  847. <col ref="sexflag" visibility="hidden"/>
  848. <script type="javascript" ev:event="onbuttonclick">
  849. <![CDATA[
  850. fGetPkgCd("SMAHB00300", "T", "N","cd" , "" , "" , "" , grd_pkgtestcdlst.nodeset + "[" + grd_pkgtestcdlst.row + "]");
  851. ]]>
  852. </script>
  853. <script type="javascript" ev:event="onendedit">
  854. <![CDATA[
  855. if( grd_pkgtestcdlst.col == testcol_testcd ){
  856. fGetPkgCd("SMAHB00300", "T", "N","cd" , grd_pkgtestcdlst.labelMatrix(grd_pkgtestcdlst.row, testcol_testcd), "" , "" , grd_pkgtestcdlst.nodeset + "[" + grd_pkgtestcdlst.row + "]");
  857. }
  858. ]]>
  859. </script>
  860. <script type="javascript" ev:event="oncopy">
  861. <![CDATA[
  862. grid_oncopy();
  863. ]]>
  864. </script>
  865. <script type="javascript" ev:event="onaftersort">
  866. <![CDATA[
  867. grd_pkgtestcdlst.gridToInstance();
  868. ]]>
  869. </script>
  870. </datagrid>
  871. <line id="line1" class="line_1" style="x1:6px; y1:25px; x2:481px; y2:25px; "/>
  872. <caption id="caption2" class="tit_2" style="left:5px; top:10px; width:100px; height:14px; ">패키지검사</caption>
  873. <caption id="caption4" class="tit_2" style="left:5px; top:490px; width:100px; height:14px; ">선택검사</caption>
  874. <line id="line6" class="line_1" style="x1:6px; y1:505px; x2:481px; y2:505px; "/>
  875. <datagrid id="grd_seltestcdlst" nodeset="/root/main/pkgtestcdlst/itemsel" caption="조회순서^검사코드^검사명^최종수정자^최종수정일시^사용여부^caption1^caption2^caption3" colsep="^" colwidth="77, 100, 184, 100, 100, 100, 0, 0, 0" ellipsis="true" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" tooltip="true" style="left:6px; top:510px; width:475px; height:150px; ">
  876. <col ref="prntseq" type="input"/>
  877. <col disabled="true" ref="testcd" type="inputbutton"/>
  878. <col ref="testnm"/>
  879. <col ref="lastupdtrid"/>
  880. <col ref="lastupdtdt"/>
  881. <col checkvalue="Y,N" ref="useyn" type="checkbox" visibility="hidden"/>
  882. <col ref="roomcd" visibility="hidden"/>
  883. <col ref="roomnm" visibility="hidden"/>
  884. <col ref="sexflag" visibility="hidden"/>
  885. <script type="javascript" ev:event="onbuttonclick">
  886. <![CDATA[
  887. fGetPkgCd("SMAHB00300", "S", "N","cd" ,grd_seltestcdlst.labelMatrix(grd_seltestcdlst.row, testcol_testcd) , "" , "" , grd_seltestcdlst.nodeset + "[" + grd_seltestcdlst.row + "]");
  888. ]]>
  889. </script>
  890. <script type="javascript" ev:event="onendedit">
  891. <![CDATA[
  892. //fGetPkgCd("SMAHB00300", "T", "N","cd" , "" , "" , "" , grd_seltestcdlst.nodeset + "[" + grd_seltestcdlst.row + "]");
  893. if( grd_seltestcdlst.col == testcol_testcd ){
  894. fGetPkgCd("SMAHB00300", "S", "N","cd" , grd_seltestcdlst.labelMatrix(grd_seltestcdlst.row, testcol_testcd), "" , "" , grd_seltestcdlst.nodeset + "[" + grd_seltestcdlst.row + "]");
  895. }
  896. ]]>
  897. </script>
  898. </datagrid>
  899. <button id="btn_pkgocd" class="btn2_letter4" style="left:417px; top:5px; width:64px; height:19px; ">
  900. <caption>처방사전</caption>
  901. <script type="javascript" ev:event="DOMActivate">
  902. <![CDATA[
  903. fGetPkgCd("SMAHB00300", "T", "Y","nm" , "" , "" , "" , "/root/temp/templst");
  904. fSetAddList(grd_pkgtestcdlst, 2, "/root/temp/templst/list", "Y");
  905. // fTempCalc(model.getValue("/root/main/info/rsrvacptinfo/item/pkgamt"), grd_addlst , 6,7, opt_totamt );
  906. ]]>
  907. </script>
  908. </button>
  909. <button id="btn_selocd" class="btn2_letter4" style="left:417px; top:485px; width:64px; height:19px; ">
  910. <caption>처방사전</caption>
  911. <script type="javascript" ev:event="DOMActivate">
  912. <![CDATA[
  913. fGetPkgCd("SMAHB00300", "T", "Y","nm" , "" , "" , "" , "/root/temp/templst");
  914. fSetAddList(grd_seltestcdlst, 2, "/root/temp/templst/list", "Y");
  915. ]]>
  916. </script>
  917. </button>
  918. <button id="btn_grdpkgdel" class="btn2_letter3" style="left:361px; top:5px; width:53px; height:19px; ">
  919. <caption>행삭제</caption>
  920. <script type="javascript" ev:event="DOMActivate">
  921. <![CDATA[
  922. //grd_pkgtestcdlst.addStatus(grd_pkgtestcdlst.row,"delete");
  923. deleteSelectedRows(grd_pkgtestcdlst, true);
  924. ]]>
  925. </script>
  926. </button>
  927. <button id="btn_grdseldel" class="btn2_letter3" style="left:361px; top:485px; width:53px; height:19px; ">
  928. <caption>행삭제</caption>
  929. <script type="javascript" ev:event="DOMActivate">
  930. <![CDATA[
  931. //grd_seltestcdlst.addStatus(grd_seltestcdlst.row,"delete");
  932. deleteSelectedRows(grd_seltestcdlst, true);
  933. ]]>
  934. </script>
  935. </button>
  936. <button id="btn_addtestcd" class="btn2_letter3" visibility="visible" style="left:306px; top:5px; width:53px; height:19px; ">
  937. <caption>행추가</caption>
  938. <script type="javascript" ev:event="DOMActivate">
  939. <![CDATA[
  940. grd_pkgtestcdlst.addRow();
  941. grd_pkgtestcdlst.col = testcol_testcd ;
  942. //grd_pkgtestcdlst.editCell();
  943. ]]>
  944. </script>
  945. </button>
  946. <button id="button3" class="btn2_letter3" style="left:305px; top:485px; width:53px; height:19px; ">
  947. <caption>행추가</caption>
  948. <script type="javascript" ev:event="DOMActivate">
  949. <![CDATA[
  950. grd_seltestcdlst.addRow();
  951. grd_seltestcdlst.col = testcol_testcd ;
  952. grd_seltestcdlst.editCell();
  953. ]]>
  954. </script>
  955. </button>
  956. <button id="button5" class="btn2_letter2" style="left:261px; top:5px; width:42px; height:19px; ">
  957. <caption>엑셀</caption>
  958. <script type="javascript" ev:event="DOMActivate">
  959. <![CDATA[
  960. var file = window.fileDialog("save","","false","","xls","Excel Files(*.xls)|*.xls");
  961. grd_pkgtestcdlst.saveExcel(file);
  962. ]]>
  963. </script>
  964. </button>
  965. </case>
  966. <case id="case_I">
  967. <datagrid id="grd_addtestcdlst" nodeset="/root/main/pkgtestcdlst/itemadd" caption="조회순서^검사코드^명칭^최종수정자^최종수정일시^caption1^caption2^caption3^caption4^caption5" colsep="^" colwidth="59, 100, 298, 100, 100, 0, 0, 0, 0, 0" ellipsis="true" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" tooltip="true" style="left:6px; top:30px; width:475px; height:630px; ">
  968. <col ref="prntseq" visibility="hidden"/>
  969. <col disabled="true" ref="testcd" type="inputbutton"/>
  970. <col ref="testnm"/>
  971. <col ref="lastupdtrid"/>
  972. <col ref="lastupdtdt" format="yyyy-mm-dd hh:nn:ss"/>
  973. <col ref="roomcd" visibility="hidden"/>
  974. <col ref="roomnm" visibility="hidden"/>
  975. <col ref="useyn" visibility="hidden"/>
  976. <col ref="sexflag" visibility="hidden"/>
  977. <col ref="discamt" visibility="hidden"/>
  978. <script type="javascript" ev:event="onbuttonclick">
  979. <![CDATA[
  980. if( grd_addtestcdlst.col == 2 ){
  981. //인터넷 추가검사
  982. fGetPkgCd("SMAHB00300", "A", "N","cd" , "" , "" , "" , grd_addtestcdlst.nodeset + "[" + grd_addtestcdlst.row + "]");
  983. }
  984. ]]>
  985. </script>
  986. <script type="javascript" ev:event="onaftersort">
  987. <![CDATA[
  988. grd_addtestcdlst.gridToInstance();
  989. ]]>
  990. </script>
  991. </datagrid>
  992. <line id="line2" class="line_1" style="x1:6px; y1:25px; x2:481px; y2:25px; "/>
  993. <caption id="caption5" class="tit_2" style="left:6px; top:11px; width:113px; height:14px; ">인터넷 추가검사</caption>
  994. <button id="btn_addtestdel" class="btn2_letter3" style="left:428px; top:6px; width:53px; height:19px; ">
  995. <caption>행삭제</caption>
  996. <script type="javascript" ev:event="DOMActivate">
  997. <![CDATA[
  998. deleteSelectedRows(grd_addtestcdlst , true);
  999. ]]>
  1000. </script>
  1001. </button>
  1002. <button id="btn_addtestadd" class="btn2_letter3" style="left:372px; top:6px; width:53px; height:19px; ">
  1003. <caption>행추가</caption>
  1004. <script type="javascript" ev:event="DOMActivate">
  1005. <![CDATA[
  1006. grd_addtestcdlst.addRow();
  1007. grd_addtestcdlst.col = 1;
  1008. grd_addtestcdlst.editCell();
  1009. ]]>
  1010. </script>
  1011. </button>
  1012. <button id="btn_addtestsel" class="btn2_letter4" style="left:305px; top:6px; width:64px; height:19px; ">
  1013. <caption>처방사전</caption>
  1014. <script type="javascript" ev:event="DOMActivate">
  1015. <![CDATA[
  1016. fGetPkgCd("SMAHB00300", "T", "Y","nm" , "" , "" , "" , "/root/temp/templst");
  1017. fSetAddList(grd_addtestcdlst, 2, "/root/temp/templst/list", "Y");
  1018. ]]>
  1019. </script>
  1020. </button>
  1021. </case>
  1022. <case id="case_D">
  1023. <line id="line4" class="line_1" style="x1:6px; y1:25px; x2:481px; y2:25px; "/>
  1024. <datagrid id="grd_dietlst" nodeset="/root/main/pkgtestcdlst/itemdiet" caption="조회순서^상담코드코드^상담내용^사용여부^최종수정자^최종수정일시" colsep="^" colwidth="56, 100, 222, 63, 100, 100" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:6px; top:30px; width:475px; height:630px; ">
  1025. <col ref="prntseq" type="input"/>
  1026. <col ref="testcd"/>
  1027. <col ref="testnm"/>
  1028. <col checkvalue="Y,N" ref="useyn" type="checkbox"/>
  1029. <col ref="lastupdtrid"/>
  1030. <col ref="lastupdtdt"/>
  1031. <script type="javascript" ev:event="onaftersort">
  1032. <![CDATA[
  1033. grd_dietlst.gridToInstance();
  1034. ]]>
  1035. </script>
  1036. </datagrid>
  1037. <caption id="caption7" class="tit_2" style="left:6px; top:11px; width:100px; height:14px; ">영양상담</caption>
  1038. <button id="btn_reqdiet" class="btn2_letter4" style="left:417px; top:5px; width:64px; height:19px; ">
  1039. <caption>상담사전</caption>
  1040. </button>
  1041. </case>
  1042. <case id="case_TD">
  1043. <textarea id="tar_remcnts" ref="/root/hidden/pkgdesc" maxlength="1000" style="left:5px; top:5px; width:475px; height:650px; ">
  1044. <script type="javascript" ev:event="xforms-value-changed">
  1045. <![CDATA[
  1046. ]]>
  1047. </script>
  1048. <script type="javascript" ev:event="xforms-valid">
  1049. <![CDATA[
  1050. ]]>
  1051. </script>
  1052. <script type="javascript" ev:event="DOMFocusOut">
  1053. <![CDATA[
  1054. var c = grd_pkglst.row;
  1055. grd_pkglst.rowStatus(grd_pkglst.row) = 2;
  1056. model.makeValue("/root/main/pkgcdlst/item1["+c+"]/pkgdesc",model.getValue("/root/hidden/pkgdesc"));
  1057. // model.makeValue("/root/main/testcdlst/item1["+grd_testcdlst.row+"]/testdesc",model.getValue("/root/hidden/testdesc"));
  1058. ]]>
  1059. </script>
  1060. </textarea>
  1061. </case>
  1062. <case id="case_recmd" style="left:0px; top:0px; width:488px; height:665px; ">
  1063. <datagrid id="grd_inqrlst" nodeset="/root/main/pkgtestcdlst/iteminqr" caption="패키지구분^패키지코드^일련번호^문진구분^문진코드^문진내용^답안선택^답안내역^결과구분^문진구분" colsep="^" colwidth="0, 0, 0, 0, 75, 213, 62, 82" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:6px; top:30px; width:475px; height:630px; ">
  1064. <col ref="pkgflag" visibility="hidden"/>
  1065. <col ref="pkgcd" visibility="hidden"/>
  1066. <col ref="inqrseq" visibility="hidden"/>
  1067. <col ref="inqrflag" visibility="hidden"/>
  1068. <col ref="inqrcd" visibility="hidden"/>
  1069. <col disabled="true" ref="inqrnm" type="inputbutton"/>
  1070. <col ref="answcd"/>
  1071. <col ref="answcnts"/>
  1072. <script type="javascript" ev:event="onbuttonclick">
  1073. <![CDATA[
  1074. if( grd_addtestcdlst.col == 2 ){
  1075. //인터넷 추가검사
  1076. modal("SPAHA03190");
  1077. model.refresh();
  1078. }
  1079. ]]>
  1080. </script>
  1081. <script type="javascript" ev:event="onclick">
  1082. <![CDATA[
  1083. fMoveInqrFocus(false);
  1084. ]]>
  1085. </script>
  1086. <script type="javascript" ev:event="onaftersort">
  1087. <![CDATA[
  1088. grd_inqrlst.gridToInstance();
  1089. ]]>
  1090. </script>
  1091. </datagrid>
  1092. <line id="line3" class="line_1" style="x1:6px; y1:25px; x2:481px; y2:25px; "/>
  1093. <caption id="caption1" class="tit_2" style="left:6px; top:11px; width:113px; height:14px; ">추천패키지 설정</caption>
  1094. <button id="button1" class="btn2_letter3" style="left:428px; top:6px; width:53px; height:19px; ">
  1095. <caption>행삭제</caption>
  1096. <script type="javascript" ev:event="DOMActivate">
  1097. <![CDATA[
  1098. deleteSelectedRows(grd_inqrlst , true);
  1099. ]]>
  1100. </script>
  1101. </button>
  1102. <button id="button2" class="btn2_letter3" style="left:372px; top:6px; width:53px; height:19px; ">
  1103. <caption>행추가</caption>
  1104. <script type="javascript" ev:event="DOMActivate">
  1105. <![CDATA[
  1106. grd_inqrlst.addRow();
  1107. grd_inqrlst.col = 1;
  1108. grd_inqrlst.editCell();
  1109. ]]>
  1110. </script>
  1111. </button>
  1112. <button id="button4" class="btn2_letter6" style="left:283px; top:6px; width:86px; height:19px; ">
  1113. <caption>사전질의사전</caption>
  1114. <script type="javascript" ev:event="DOMActivate">
  1115. <![CDATA[
  1116. modal("SPAHA03190");
  1117. model.refresh();
  1118. ]]>
  1119. </script>
  1120. </button>
  1121. <group id="grp_inqrans" visibility="hidden" style="left:160px; top:85px; width:295px; height:245px; ">
  1122. <caption id="caption56" class="tit_2" style="left:5px; top:10px; width:108px; height:13px; ">문진선택답안</caption>
  1123. <datagrid id="grd_inqranslst" nodeset="/root/main/tempinfo/anslst/item" allowselection="false" caption="코드^결과내용^비고입력여부" colsep="^" colwidth="49, 194, 100" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" selectionmode="byrow" style="left:5px; top:28px; width:285px; height:210px; ">
  1124. <col ref="answcd"/>
  1125. <col ref="answcnts"/>
  1126. <col ref="answcnts" visibility="hidden"/>
  1127. <script type="javascript" ev:event="ondblclick">
  1128. <![CDATA[
  1129. fSetInqrAns();
  1130. grp_inqrans.visible = false;
  1131. fMoveInqrFocus(true);
  1132. ]]>
  1133. </script>
  1134. </datagrid>
  1135. <line id="line36" class="line_1" style="x1:5px; y1:25px; x2:290px; y2:25px; "/>
  1136. <button id="btn_ansclose" class="icon_plus" style="left:275px; top:4px; width:13px; height:15px; ">
  1137. <caption/>
  1138. <script type="javascript" ev:event="DOMActivate">
  1139. <![CDATA[
  1140. grp_inqrans.visible = false;
  1141. ]]>
  1142. </script>
  1143. </button>
  1144. <input id="ipt_answcd" ref="/root/main/tempinfo/answcd" class="input_default" style="left:120px; top:5px; width:140px; height:19px; ">
  1145. <script type="javascript" ev:event="onkeyup">
  1146. <![CDATA[
  1147. if( event.keyCode != 13 ) return ;
  1148. var answcd = ipt_answcd.currentText ;
  1149. if( answcd == "" ) return ;
  1150. var idx = grd_inqranslst.findRow( answcd, 1, 1, false, true );
  1151. if(idx < 1) return ;
  1152. grd_inqranslst.row = idx;
  1153. fSetInqrAns();
  1154. grp_inqrans.visible = false;
  1155. fMoveInqrFocus(true);
  1156. ]]>
  1157. </script>
  1158. </input>
  1159. </group>
  1160. </case>
  1161. <case id="case_caut" style="left:0px; top:0px; width:488px; height:665px; ">
  1162. <datagrid id="grd_cautlst" nodeset="/root/main/pkgtestcdlst/itemcaut" caption="패키지코드^주의사항코드^주의사항내용^남여구분^사용여부^결과구분^문진구분" colsep="^" colwidth="5, 6, 305, 58, 60" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:6px; top:30px; width:475px; height:630px; ">
  1163. <col ref="pkgcd" visibility="hidden"/>
  1164. <col disabled="true" ref="caucd"/>
  1165. <col disabled="true" ref="caucnts" type="inputbutton"/>
  1166. <col disabled="true" ref="gndrflag" type="combo">
  1167. <choices>
  1168. <item>
  1169. <label>공통</label>
  1170. <value>C</value>
  1171. </item>
  1172. <item>
  1173. <label>남</label>
  1174. <value>M</value>
  1175. </item>
  1176. <item>
  1177. <label>여</label>
  1178. <value>F</value>
  1179. </item>
  1180. </choices>
  1181. </col>
  1182. <col checkvalue="Y,N" ref="useyn" type="checkbox"/>
  1183. <col ref="healexamflag" visibility="hidden"/>
  1184. <col ref="pkgflag" visibility="hidden"/>
  1185. <script type="javascript" ev:event="onbuttonclick">
  1186. <![CDATA[
  1187. if( grd_cautlst.col == 3 ){
  1188. //인터넷 추가검사
  1189. modal("SPAHA03180");
  1190. model.refresh();
  1191. }
  1192. ]]>
  1193. </script>
  1194. <script type="javascript" ev:event="onaftersort">
  1195. <![CDATA[
  1196. grd_cautlst.gridToInstance();
  1197. ]]>
  1198. </script>
  1199. </datagrid>
  1200. <line id="line5" class="line_1" style="x1:6px; y1:25px; x2:481px; y2:25px; "/>
  1201. <caption id="caption10" class="tit_2" style="left:6px; top:11px; width:157px; height:14px; ">패키지별 주의사항 설정</caption>
  1202. <button id="button6" class="btn2_letter3" style="left:428px; top:6px; width:53px; height:19px; ">
  1203. <caption>행삭제</caption>
  1204. <script type="javascript" ev:event="DOMActivate">
  1205. <![CDATA[
  1206. deleteSelectedRows(grd_cautlst , true);
  1207. ]]>
  1208. </script>
  1209. </button>
  1210. <button id="button7" class="btn2_letter3" style="left:372px; top:6px; width:53px; height:19px; ">
  1211. <caption>행추가</caption>
  1212. <script type="javascript" ev:event="DOMActivate">
  1213. <![CDATA[
  1214. grd_cautlst.addRow();
  1215. grd_cautlst.col = 1;
  1216. grd_cautlst.editCell();
  1217. ]]>
  1218. </script>
  1219. </button>
  1220. <button id="button8" class="btn2_letter6" style="left:283px; top:6px; width:86px; height:19px; ">
  1221. <caption>주의사항 사전</caption>
  1222. <script type="javascript" ev:event="DOMActivate">
  1223. <![CDATA[
  1224. modal("SPAHA03180");
  1225. model.refresh();
  1226. ]]>
  1227. </script>
  1228. </button>
  1229. </case>
  1230. <case id="case_S">
  1231. <button id="btn_spclsecpkg" class="btn2_letter4" style="left:305px; top:6px; width:64px; height:19px; ">
  1232. <caption>처방사전</caption>
  1233. <script type="javascript" ev:event="DOMActivate">
  1234. <![CDATA[
  1235. fGetPkgCd("SMAHB00300", "P", "Y","cd" , "" , "G03" , "" , "/root/temp/templst");
  1236. fSetAddList(grd_sptestcdlst, 2, "/root/temp/templst/list", "Y", "Y", "");
  1237. if(grd_sptestcdlst.valueMatrix(grd_sptestcdlst.row, grd_sptestcdlst.colRef("pkgflag")) == ""){
  1238. grd_sptestcdlst.valueMatrix(grd_sptestcdlst.row, grd_sptestcdlst.colRef("pkgflag")) = cmb_srchpkgflag.value;
  1239. }
  1240. //패키지 코드와 중복된 값 찾기
  1241. if(grd_sptestcdlst.rows != grd_sptestcdlst.fixedRows){
  1242. for(var i = 1; i<grd_sptestcdlst.rows; i++){
  1243. if(grd_sptestcdlst.valueMatrix(i, grd_sptestcdlst.colRef("pkgflag")) == ""){
  1244. grd_sptestcdlst.valueMatrix(i, grd_sptestcdlst.colRef("pkgflag")) = cmb_srchpkgflag.value;
  1245. }
  1246. if(grd_sptestcdlst.valueMatrix(i, grd_sptestcdlst.colRef("pkgcd")) == grd_pkglst.valueMatrix(grd_pkglst.row, grd_pkglst.colRef("pkgcdkey"))){
  1247. alert("2차 패키지는 선택된 패키지 코드와 동일한 패키지를 선택할 수 없습니다.");
  1248. grd_sptestcdlst.deleteRow(i);
  1249. return;
  1250. }
  1251. }
  1252. }
  1253. ]]>
  1254. </script>
  1255. </button>
  1256. <datagrid id="grd_sptestcdlst" nodeset="/root/main/pkgtestcdlst/itemspcl" caption="패키지구분^패키지코드^명칭^최종수정자^최종수정일시" colsep="^" colwidth="100, 100, 298, 100, 100" ellipsis="true" explorerbar="sortshow" frozencols="3" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" tooltip="true" style="left:6px; top:30px; width:475px; height:630px; ">
  1257. <col ref="pkgflag" visibility="hidden"/>
  1258. <col disabled="true" ref="pkgcd" type="inputbutton"/>
  1259. <col ref="pkgnm"/>
  1260. <col ref="lastupdtrid"/>
  1261. <col ref="lastupdtdt" format="yyyy-mm-dd hh:nn:ss"/>
  1262. <script type="javascript" ev:event="onbuttonclick">
  1263. <![CDATA[
  1264. if( grd_sptestcdlst.col == grd_sptestcdlst.colRef("pkgcd")){
  1265. //특수2차 패키지 추가검사
  1266. fGetPkgCd("SMAHB00300", "P", "N", "cd" , "" , "G03" , "" , grd_sptestcdlst.nodeset + "[" + grd_sptestcdlst.row + "]", "N");
  1267. if(grd_sptestcdlst.valueMatrix(grd_sptestcdlst.row, grd_sptestcdlst.colRef("pkgflag")) == ""){
  1268. grd_sptestcdlst.valueMatrix(grd_sptestcdlst.row, grd_sptestcdlst.colRef("pkgflag")) = cmb_srchpkgflag.value;
  1269. }
  1270. for(var i = 1; i<grd_sptestcdlst.rows; i++){
  1271. if(grd_sptestcdlst.valueMatrix(i, grd_sptestcdlst.colRef("pkgcd")) == grd_pkglst.valueMatrix(grd_pkglst.row, grd_pkglst.colRef("pkgcdkey"))){
  1272. alert("2차 패키지는 선택된 패키지 코드와 동일한 패키지를 선택할 수 없습니다.");
  1273. grd_sptestcdlst.deleteRow(i);
  1274. return;
  1275. }
  1276. }
  1277. }
  1278. ]]>
  1279. </script>
  1280. <script type="javascript" ev:event="onaftersort">
  1281. <![CDATA[
  1282. grd_sptestcdlst.gridToInstance();
  1283. ]]>
  1284. </script>
  1285. </datagrid>
  1286. <button id="btn_spcldel" class="btn2_letter3" style="left:428px; top:6px; width:53px; height:19px; ">
  1287. <caption>행삭제</caption>
  1288. <script type="javascript" ev:event="DOMActivate">
  1289. <![CDATA[
  1290. deleteSelectedRows(grd_sptestcdlst , true);
  1291. ]]>
  1292. </script>
  1293. </button>
  1294. <caption id="caption12" class="tit_2" style="left:6px; top:11px; width:113px; height:14px; ">특수2차 패키지</caption>
  1295. <line id="line8" class="line_1" style="x1:6px; y1:25px; x2:481px; y2:25px; "/>
  1296. <button id="btn_spcladd" class="btn2_letter3" style="left:372px; top:6px; width:53px; height:19px; ">
  1297. <caption>행추가</caption>
  1298. <script type="javascript" ev:event="DOMActivate">
  1299. <![CDATA[
  1300. grd_sptestcdlst.addRow();
  1301. grd_sptestcdlst.col = 1;
  1302. grd_sptestcdlst.editCell();
  1303. ]]>
  1304. </script>
  1305. </button>
  1306. </case>
  1307. </switch>
  1308. <button id="btn_diet" class="btn_sw" visibility="hidden" group="tab" selected="true" style="left:1105px; top:50px; width:78px; height:22px; ">
  1309. <caption>영양상담내역</caption>
  1310. <toggle case="case_D" ev:event="onclick"/>
  1311. </button>
  1312. <button id="btn_inqr" class="btn_sw" group="tab" selected="true" style="left:782px; top:50px; width:94px; height:22px; ">
  1313. <caption>인터넷추가검사</caption>
  1314. <toggle case="case_I" ev:event="onclick"/>
  1315. </button>
  1316. <caption id="caption11" class="tit_2" style="left:5px; top:55px; width:100px; height:13px; ">패키지코드</caption>
  1317. <line id="line7" class="line_1" style="x1:0px; y1:70px; x2:700px; y2:70px; "/>
  1318. <button id="btn_test" class="btn_sw" group="tab" selected="true" style="left:704px; top:50px; width:78px; height:22px; ">
  1319. <caption>검사내역</caption>
  1320. <toggle case="case_T" ev:event="onclick"/>
  1321. </button>
  1322. <button id="btn_grdcopy" class="btn2_letter3" visibility="hidden" style="left:620px; top:40px; width:53px; height:19px; ">
  1323. <caption>행복사</caption>
  1324. <script type="javascript" ev:event="DOMActivate">
  1325. <![CDATA[
  1326. var grdrow = grd_pkglst.row ;
  1327. model.copyNode("/root/hidden/item1","/root/main/pkgcdlst/item1["+ grdrow +"]");
  1328. grd_pkglst.insertItem(grdrow);
  1329. model.setValue("/root/hidden/item1/pkgcdkey", "");
  1330. model.setValue("/root/hidden/item1/pkgcd", "");
  1331. model.copyNode("/root/main/pkgcdlst/item1["+ grdrow +"]","/root/hidden/item1");
  1332. model.refresh();
  1333. ]]>
  1334. </script>
  1335. </button>
  1336. <button id="btn_grddel" class="btn2_letter3" style="left:604px; top:50px; width:53px; height:19px; ">
  1337. <caption>행삭제</caption>
  1338. <script type="javascript" ev:event="DOMActivate">
  1339. <![CDATA[
  1340. //grd_pkglst.addStatus(grd_pkglst.row,"delete");
  1341. deleteSelectedRows(grd_pkglst, true);
  1342. ]]>
  1343. </script>
  1344. </button>
  1345. <button id="btn_excsave" class="btn2_letter2" style="left:658px; top:50px; width:42px; height:19px; ">
  1346. <caption>엑셀</caption>
  1347. <script type="javascript" ev:event="DOMActivate">
  1348. <![CDATA[
  1349. var file = window.fileDialog("save","","false","","xls","Excel Files(*.xls)|*.xls");
  1350. grd_pkglst.saveExcel(file);
  1351. ]]>
  1352. </script>
  1353. </button>
  1354. <button id="btn_grdadd" class="btn2_letter3" style="left:550px; top:50px; width:53px; height:19px; ">
  1355. <caption>행추가</caption>
  1356. <script type="javascript" ev:event="DOMActivate">
  1357. <![CDATA[
  1358. grd_pkglst.addRow();
  1359. model.setValue("/root/main/pkgcdlst/item1[" + grd_pkglst.row + "]/healexamdetlflag", model.getValue("/root/send/srchhealexamdetlflag"));
  1360. model.setValue("/root/main/pkgcdlst/item1[" + grd_pkglst.row + "]/pkgflag", model.getValue("/root/send/srchpkgflag"));
  1361. grd_pkglst.col = pkgcol_pkgcd;
  1362. grd_pkglst.editCell();
  1363. ]]>
  1364. </script>
  1365. </button>
  1366. <button id="btn_selcalcscorcd" class="btn2_letter6" visibility="visible" style="left:408px; top:50px; width:86px; height:19px; ">
  1367. <caption>외래처방사전</caption>
  1368. <script type="javascript" ev:event="DOMActivate">
  1369. <![CDATA[
  1370. fGetCalScorCd( "ordnm", "", "Y"/*bMultiyn*/ , "/root/temp/templst" /*vMultiDestXPath*/, "" /*vCdDestXPath*/, "" /*vNmDestXPath*/, "" /*vAmtDestXPath*/);
  1371. fSetOcd(grd_pkglst , "/root/temp/templst/list" , 4, "Y", "pkgcd", "pkgnm", "pkgamt" , "0");
  1372. ]]>
  1373. </script>
  1374. </button>
  1375. <button id="btn_grdsize" class="btn2_letter3" style="left:496px; top:50px; width:53px; height:19px; ">
  1376. <caption>펼치기</caption>
  1377. <script type="javascript" ev:event="DOMActivate">
  1378. <![CDATA[
  1379. if( btn_grdsize.attribute("text") == "펼치기"){
  1380. btn_grdsize.attribute("text") = "줄이기";
  1381. grd_pkglst.attribute("width") = parseInt(grd_pkglst.attribute("width")) + parseInt(swt_pkgdetl.attribute("width") ) ;
  1382. }
  1383. else {
  1384. btn_grdsize.attribute("text") ="펼치기";
  1385. grd_pkglst.attribute("width") = parseInt(grd_pkglst.attribute("width")) - parseInt(swt_pkgdetl.attribute("width")) ;
  1386. }
  1387. ]]>
  1388. </script>
  1389. </button>
  1390. <datagrid id="grd_pkglst" nodeset="/root/main/pkgcdlst/item1" caption="순번^건진상세구분^코드구분^pkgcd^패키지코드^구코드^패키지명^패키지명(영문)^가격^수가코드^수가명칭^비자국가코드^남여구분^사용여부^미수분류^수익분류^패키지수익분류^비고^최종수정자^최종수정일시^검사설명^할인적용여부^인터넷 적용여부^유해인자^주기^조회순서^earnclscd^dietconstyn" colsep="^" colwidth="30, 85, 74, 54, 79, 100, 100, 100, 70, 73, 97, 93, 79, 100, 128, 100, 100, 100, 100, 100, 100, 90, 100, 100, 100, 60, 0, 0" ellipsis="true" explorerbar="sortshow" frozencols="7" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" tooltip="true" style="left:0px; top:75px; width:700px; height:660px; ">
  1391. <col ref="seq"/>
  1392. <col id="colflag" ref="healexamdetlflag" type="combo">
  1393. <choices>
  1394. <itemset nodeset="/root/init/baseinfo/healexamdetlflag/A0070">
  1395. <label ref="cdnm"/>
  1396. <value ref="cdid"/>
  1397. </itemset>
  1398. </choices>
  1399. </col>
  1400. <col ref="pkgflag" type="combo">
  1401. <choices>
  1402. <itemset nodeset="/root/init/baseinfo/pkgflag/item">
  1403. <label ref="cdnm"/>
  1404. <value ref="cdid"/>
  1405. </itemset>
  1406. </choices>
  1407. </col>
  1408. <col ref="pkgcdkey" visibility="hidden"/>
  1409. <col disabled="true" imemode="disabled" ref="pkgcd" type="inputbutton" maxlength="12" _chartype="upper"/>
  1410. <col ref="oldordcd"/>
  1411. <col ref="pkgnm" type="input" maxlength="50"/>
  1412. <col ref="pkgengnm" type="input" maxlength="50" style="left:542px; top:23px; width:100px; height:23px; "/>
  1413. <col ref="pkgamt" format="#,###" style="text-align:right; "/>
  1414. <col ref="calcscorcd" type="inputbutton" maxlength="12"/>
  1415. <col ref="calcscornm"/>
  1416. <col ref="brthareacnts" type="combo">
  1417. <choices>
  1418. <itemset nodeset="/root/init/baseinfo/brthareacnts/A0465">
  1419. <label ref="cdnm"/>
  1420. <value ref="cdid"/>
  1421. </itemset>
  1422. </choices>
  1423. </col>
  1424. <col ref="gndrflag" type="combo">
  1425. <choices>
  1426. <item>
  1427. <label>공통</label>
  1428. <value>C</value>
  1429. </item>
  1430. <item>
  1431. <label>남</label>
  1432. <value>M</value>
  1433. </item>
  1434. <item>
  1435. <label>여</label>
  1436. <value>F</value>
  1437. </item>
  1438. </choices>
  1439. </col>
  1440. <col checkvalue="Y,N" ref="useyn" type="checkbox" style="left:926px; top:23px; width:79px; height:23px; "/>
  1441. <col checkvalue="Y,N" ref="uncoflag" type="combo" visibility="visible" style="left:1105px; top:23px; width:128px; height:23px; ">
  1442. <choices>
  1443. <itemset nodeset="/root/init/baseinfo/uncolst/A0067">
  1444. <label ref="cdnm"/>
  1445. <value ref="cdid"/>
  1446. </itemset>
  1447. </choices>
  1448. </col>
  1449. <col ref="earnclslst" type="combo">
  1450. <choices>
  1451. <itemset nodeset="/root/init/baseinfo/earnclslst/A0435">
  1452. <label ref="cdnm"/>
  1453. <value ref="cdid"/>
  1454. </itemset>
  1455. </choices>
  1456. </col>
  1457. <col ref="pkgsumearncls" type="combo" max="2">
  1458. <choices>
  1459. <item>
  1460. <label>가정의학과</label>
  1461. <value>01</value>
  1462. </item>
  1463. <item>
  1464. <label>소화기내과</label>
  1465. <value>02</value>
  1466. </item>
  1467. <item>
  1468. <label>청소년 소아과</label>
  1469. <value>03</value>
  1470. </item>
  1471. <item>
  1472. <label>소아치과</label>
  1473. <value>04</value>
  1474. </item>
  1475. </choices>
  1476. </col>
  1477. <col ref="remcnts" type="input"/>
  1478. <col ref="lastupdtrid"/>
  1479. <col ref="lastupdtdt"/>
  1480. <col ref="pkgdesc"/>
  1481. <col checkvalue="Y,N" ref="discyn" type="checkbox"/>
  1482. <col checkvalue="Y,N" ref="inetyn" type="checkbox"/>
  1483. <col ref="hrmfctr" type="input"/>
  1484. <col ref="cycle" type="input"/>
  1485. <col ref="prntseq" type="input"/>
  1486. <col ref="earnclscd" visibility="hidden"/>
  1487. <col ref="dietconstyn" visibility="hidden"/>
  1488. <script type="javascript" ev:event="ondblclick">
  1489. <![CDATA[
  1490. if(!fChkGridTarget("grd_pkglst")) return;
  1491. grd_pkgtestcdlst.rebuildStyle(); //상세 패키지 AST.AHBMOCDM 등록이 안되어서 검사명이 없는 경우 표시 초기화
  1492. fGetPkgDetail(); //상세 패키지 조회
  1493. var c = grd_pkglst.row;
  1494. model.makeValue("/root/hidden/pkgdesc", model.getValue("/root/main/pkgcdlst/item1["+c+"]/pkgdesc"));
  1495. //상세 패키지 AST.AHBMOCDM 등록이 안되어서 검사명이 없는 경우 표시
  1496. for(var i=1; i<= grd_pkgtestcdlst.rows; i ++){
  1497. if("" == model.getValue("/root/main/pkgtestcdlst/itempkg["+ i +"]/testnm") && i != grd_pkgtestcdlst.rows-1){
  1498. grd_pkgtestcdlst.rowstyle( i , "data" , "background-color" ) = "#FF0000";
  1499. }
  1500. }
  1501. model.toggle("case_T");
  1502. model.refresh();
  1503. ]]>
  1504. </script>
  1505. <script type="javascript" ev:event="onbuttonclick">
  1506. <![CDATA[
  1507. if( grd_pkglst.col == pkgcol_calcscorcd ) {
  1508. //수가코드 mapping work
  1509. var sNode = grd_pkglst.nodeset + "[" + grd_pkglst.row + "]" ;
  1510. fGetCalScorCd( "cd", grd_pkglst.labelMatrix(grd_pkglst.row,pkgcol_calcscorcd) , "N"/*bMultiyn*/
  1511. , "/root/temp/templst" /*vMultiDestXPath*/
  1512. , sNode + "/calcscorcd"/*vCdDestXPath*/
  1513. , sNode+ "/calcscornm" /*vNmDestXPath*/
  1514. , sNode+ "/pkgamt" /*vAmtDestXPath*/);
  1515. }
  1516. if( grd_pkglst.col == grd_pkglst.colRef("pkgcd")) {
  1517. var sNode = grd_pkglst.nodeset + "[" + grd_pkglst.row + "]" ;
  1518. fGetPkgCd( "SMAHB00300"
  1519. ,grd_pkglst.valueMatrix(grd_pkglst.row,grd_pkglst.colRef("pkgflag")) /*패키지 플레그*/
  1520. , "N" /*bMultiyn*/
  1521. ,"cd" /*분류는 어찌할건지 코드로 선택*/
  1522. ,"" /*코드명*/
  1523. ,fGetHealExamDetlFg()
  1524. ,"" /*sex*/
  1525. , sNode /*vMultiDestXPath*/
  1526. ,"Y");
  1527. // , sNode + "/calcscorcd"/*vCdDestXPath*/
  1528. // , sNode+ "/calcscornm" /*vNmDestXPath*/
  1529. // , sNode+ "/pkgamt" /*vAmtDestXPath*/);
  1530. }
  1531. ]]>
  1532. </script>
  1533. <script type="javascript" ev:event="onendedit">
  1534. <![CDATA[
  1535. if( (grd_pkglst.col == pkgcol_calcscorcd ) && (event.keyCode == 13 )) {
  1536. //수가코드 mapping work
  1537. var sNode = grd_pkglst.nodeset + "[" + grd_pkglst.row + "]" ;
  1538. fGetCalScorCd( "cd", grd_pkglst.labelMatrix(grd_pkglst.row,pkgcol_calcscorcd) , "N"/*bMultiyn*/
  1539. , "/root/temp/templst" /*vMultiDestXPath*/
  1540. , sNode + "/calcscorcd"/*vCdDestXPath*/
  1541. , sNode+ "/calcscornm" /*vNmDestXPath*/
  1542. , sNode+ "/pkgamt" /*vAmtDestXPath*/);
  1543. }
  1544. if( grd_pkglst.col == grd_pkglst.colRef("pkgcd")&&(event.keyCode == 13 )) {
  1545. //패키지코드 매핑
  1546. var sNode = grd_pkglst.nodeset + "[" + grd_pkglst.row + "]" ;
  1547. fGetPkgCd( "pkgcd"
  1548. ,grd_pkglst.valueMatrix(grd_pkglst.row,2) /*패키지 플레그*/
  1549. , "N" /*bMultiyn*/
  1550. ,"cd" /*분류는 어찌할건지 코드로 선택*/
  1551. ,grd_pkglst.valueMatrix(grd_pkglst.row,pkgcol_pkgcd) /*건진분류*/
  1552. ,fGetHealExamDetlFg()
  1553. ,"" /*sex*/
  1554. , "/root/temp/templst" /*vMultiDestXPath*/
  1555. ,"Y"
  1556. );
  1557. grd_pkglst.rowStatus(grd_pkglst.row)=1; //인서트 모드로 변환
  1558. }
  1559. var c = grd_pkglst.row;
  1560. model.makeValue("/root/hidden/pkgdesc",model.getValue("/root/main/pkgcdlst/item1["+c+"]/pkgdesc"));
  1561. model.refresh();
  1562. ]]>
  1563. </script>
  1564. <script type="javascript" ev:event="oncopy">
  1565. <![CDATA[
  1566. grid_oncopy();
  1567. ]]>
  1568. </script>
  1569. <script type="javascript" ev:event="onclick">
  1570. <![CDATA[
  1571. var c = grd_pkglst.row;
  1572. model.makeValue("/root/hidden/pkgdesc",model.getValue("/root/main/pkgcdlst/item1["+c+"]/pkgdesc"));
  1573. model.refresh();
  1574. ]]>
  1575. </script>
  1576. <script type="javascript" ev:event="onaftersort">
  1577. <![CDATA[
  1578. grd_pkglst.gridToInstance();
  1579. ]]>
  1580. </script>
  1581. </datagrid>
  1582. <button id="btnPkgCopy" class="btn2_letter5" style="left:325px; top:50px; width:75px; height:19px; ">
  1583. <caption>패키지복사</caption>
  1584. <script type="javascript" ev:event="DOMActivate">
  1585. <![CDATA[
  1586. //사용방법 순서
  1587. // 1. 모 패키지 코드를 선택하고 모 버튼을 누른다.
  1588. // 2. 자코드를 입력하거나 선택하여 자버튼을 눌러 패키지 코드를 가져온다.
  1589. // 3. 패키지복사 버튼을 눌러서 내부 패키지 코드를 변경하고 로우 상태값을 변경한다.
  1590. // 4. 저장버튼을 눌러서 내용을 저장한다.
  1591. model.makeValue("/root/temp/pkgcopylst/pkgcopyyn","Y");
  1592. for( var i = 1 ; i <= getNodesetCount("/root/main/pkgtestcdlst/itempkg") ; i ++){//상세패키지
  1593. grd_pkgtestcdlst.rowStatus(i) = 1;
  1594. }
  1595. for( var i = 1 ; i <= getNodesetCount("/root/main/pkgtestcdlst/itemsel") ; i ++){ //선택검사
  1596. grd_seltestcdlst.rowStatus(i) = 1;
  1597. }
  1598. for( var i = 1 ; i <= getNodesetCount("/root/main/pkgtestcdlst/itemadd") ; i ++){ //인터넷추가검사
  1599. grd_addtestcdlst.rowStatus(i) = 1;
  1600. }
  1601. for( var i = 1 ; i <= getNodesetCount("/root/main/pkgtestcdlst/itemspcl") ; i ++){ //특수2차
  1602. grd_sptestcdlst.rowStatus(i) = 1;
  1603. }
  1604. for( var i = 1 ; i <= getNodesetCount("/root/main/pkgtestcdlst/iteminqr") ; i ++){
  1605. model.setValue("/root/main/pkgtestcdlst/iteminqr['"+ i +"']/pkgcd" , model.getValue("/root/temp/pkgcopylst/japkgcd"));
  1606. grd_inqrlst.rowStatus(i) = 1;
  1607. }
  1608. for( var i = 1 ; i <= getNodesetCount("/root/main/pkgtestcdlst/itemcaut") ; i ++){
  1609. model.setValue("/root/main/pkgtestcdlst/itemcaut['"+ i +"']/pkgcd" , model.getValue("/root/temp/pkgcopylst/japkgcd"));
  1610. grd_cautlst.rowStatus(i) = 1;
  1611. }
  1612. model.refresh();
  1613. ]]>
  1614. </script>
  1615. </button>
  1616. <button id="button9" class="btn_sw" group="tab" selected="true" style="left:875px; top:50px; width:78px; height:22px; ">
  1617. <caption>패키지설명</caption>
  1618. <toggle case="case_TD" ev:event="onclick"/>
  1619. </button>
  1620. <button id="button10" class="btn_sw" group="tab" selected="true" style="left:952px; top:50px; width:78px; height:22px; ">
  1621. <caption>주의사항</caption>
  1622. <toggle case="case_caut" ev:event="onclick"/>
  1623. </button>
  1624. <button id="button11" class="btn_sw" group="tab" selected="true" style="left:1030px; top:50px; width:78px; height:22px; ">
  1625. <caption>추천패키지</caption>
  1626. <toggle case="case_recmd" ev:event="onclick"/>
  1627. </button>
  1628. <button id="btn_mopkgcd" class="btn2_letter2" style="left:85px; top:50px; width:42px; height:19px; ">
  1629. <caption>모</caption>
  1630. <script type="javascript" ev:event="onclick">
  1631. <![CDATA[
  1632. if(grd_pkglst.row < 0 ){ messageBox("선택된행이 없습니다." , "E999"); return false;}
  1633. model.makeValue("/root/temp/pkgcopylst/mopkgcd" , model.getValue("/root/main/pkgcdlst/item1['"+ grd_pkglst.row+"']/pkgcd"));
  1634. ipt_mopkgcd.refresh();
  1635. ]]>
  1636. </script>
  1637. </button>
  1638. <input id="ipt_mopkgcd" ref="/root/temp/pkgcopylst/mopkgcd" _chartype="upper" style="left:113px; top:50px; width:92px; height:19px; "/>
  1639. <button id="btn_japkgcd" class="btn2_letter2" style="left:204px; top:50px; width:42px; height:19px; ">
  1640. <caption>자</caption>
  1641. <script type="javascript" ev:event="onclick">
  1642. <![CDATA[
  1643. if(grd_pkglst.row < 0 ){ messageBox("선택된행이 없습니다." , "E999"); return false;}
  1644. model.makeValue("/root/temp/pkgcopylst/japkgcd" , model.getValue("/root/main/pkgcdlst/item1['"+ grd_pkglst.row+"']/pkgcd"));
  1645. ipt_japkgcd.refresh();
  1646. ]]>
  1647. </script>
  1648. </button>
  1649. <input id="ipt_japkgcd" ref="/root/temp/pkgcopylst/japkgcd" _chartype="upper" style="left:234px; top:50px; width:92px; height:19px; "/>
  1650. <button id="btn_spqr" class="btn_sw" visibility="hidden" group="tab" selected="true" style="left:1105px; top:40px; width:86px; height:22px; ">
  1651. <caption>특수2차패키지</caption>
  1652. <toggle case="case_S" ev:event="onclick"/>
  1653. </button>
  1654. </group>
  1655. <group id="group4" scroll="auto" style="left:0px; top:754px; width:1195px; height:28px; ">
  1656. <button id="btn_detlsave" class="btn4_letter6" visibility="visible" style="left:1088px; top:5px; width:104px; height:22px; ">
  1657. <caption>상세내역저장</caption>
  1658. <script type="javascript" ev:event="DOMActivate">
  1659. <![CDATA[
  1660. if(model.getValue("/root/temp/pkgcopylst/pkgcopyyn") != "Y"){
  1661. model.makeValue("/root/hidden/pkgcd" , model.getValue("/root/main/pkgcdlst/item1["+grd_pkglst.row+"]/pkgcd"));
  1662. }else{
  1663. model.makeValue("/root/hidden/pkgcd" , model.getValue("/root/temp/pkgcopylst/japkgcd"));
  1664. }
  1665. submit("TRAHR00504");
  1666. if( fSaveDetlPkgList() == true ){
  1667. messageBox( "정상적으로 " , "I001");
  1668. fGetPkgDetail();
  1669. }
  1670. grd_pkglst.dispatch("onclick");
  1671. grd_pkglst.rebuild();
  1672. ]]>
  1673. </script>
  1674. </button>
  1675. <button id="btn_testcd" class="btn3_letter6" style="left:0px; top:3px; width:104px; height:22px; ">
  1676. <caption>검사코드관리</caption>
  1677. <script type="javascript" ev:event="DOMActivate">
  1678. <![CDATA[
  1679. open("SMAHB00100_패키지관리");
  1680. ]]>
  1681. </script>
  1682. </button>
  1683. <button id="btn_pkgsave" class="btn4_letter5" visibility="visible" style="left:994px; top:5px; width:92px; height:22px; ">
  1684. <caption>패키지 저장</caption>
  1685. <script type="javascript" ev:event="DOMActivate">
  1686. <![CDATA[
  1687. /*
  1688. var ret = false;
  1689. //패키지 복사 함수
  1690. fPkgCopy();
  1691. //모든 그리드 상태 초기화 영양과 문진은 제외 했음.
  1692. var grdrow = grd_pkglst.row ;
  1693. grd_pkglst.clearStatus();
  1694. grd_seltestcdlst.clearStatus();
  1695. grd_addtestcdlst.clearStatus();
  1696. grd_pkgtestcdlst.clearStatus();
  1697. //패키지 코드와 수가 코드 일치화 시켜준다 /.......
  1698. grd_pkglst.valueMatrix(grdrow,8)=grd_pkglst.valueMatrix(grdrow,4);
  1699. grd_pkglst.rowStatus(grdrow)=2;
  1700. ret = btn_save.dispatch("DOMActivate");
  1701. if(ret) messageBox( "정상적으로 " , "I001");
  1702. */
  1703. if(fDatacheck() == false){
  1704. return
  1705. }
  1706. if(fSavePkgList() == true) {
  1707. // 정상적으로 저장되었을 경우
  1708. fGetPkgList();
  1709. fGetPkgDetail();
  1710. }
  1711. ]]>
  1712. </script>
  1713. <help>
  1714. <![CDATA[패키지 검사 상세 내역을 저장]]>
  1715. </help>
  1716. </button>
  1717. </group>
  1718. </xhtml:body>
  1719. </xhtml:html>