SMADB00801_약품별프로토콜관리.xrw 72 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>약품별프로토콜관리</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <orddeptlist>
  11. <item/>
  12. </orddeptlist>
  13. <sickclscd>
  14. <item/>
  15. </sickclscd>
  16. <prtllist>
  17. <itemin/>
  18. <itemout/>
  19. </prtllist>
  20. <!--
  21. <prtlprcplist>
  22. <item>
  23. <chk/>
  24. <orddeptcd/>
  25. <orddeptnm/>
  26. <sickclscd/>
  27. <sickclsnm/>
  28. <ioflag/>
  29. <prtlcd/>
  30. <ptrlnm/>
  31. <prtldg/>
  32. <ordseqno/>
  33. <instcd/>
  34. <prcpcd/>
  35. <prcpnm/>
  36. <prtldgnm/>
  37. <drugseq/>
  38. <drugtt/>
  39. <prcpmixno/>
  40. <payflagcd/>
  41. <volkind/>
  42. <bsavol/>
  43. <kgvol/>
  44. <prcpvol/>
  45. <prcpvolunitflag/>
  46. <prcpvolunitnm/>
  47. <prcpqty/>
  48. <prcpqtyunitflag/>
  49. <prcpqtyunitnm/>
  50. <drugspd/>
  51. <drugspdunitflag/>
  52. <drugspdunitnm/>
  53. <prcptims/>
  54. <drugmthdspccd/>
  55. <drugmthdspccdnm/>
  56. <prnprcpflag/>
  57. <remark/>
  58. <nursrem/>
  59. <prcpexecdeptcd/>
  60. <volrate/>
  61. <prcpclscd/>
  62. <prcpclsorder/>
  63. <dispseqno/>
  64. <codevalid/>
  65. <prnprcpdtl/>
  66. <drugmastspec/>
  67. <prcpvol2/>
  68. <prcpqty2/>
  69. </item>
  70. </prtlprcplist>
  71. -->
  72. </main>
  73. <send>
  74. <srchinfo>
  75. <srchcd/>
  76. <srchsumdd1/>
  77. <srchsumtm1/>
  78. <srchsumdd2/>
  79. <srchsumtm2/>
  80. <srchwardcd/>
  81. <srchpid/>
  82. <hngnm/>
  83. <srchdrugcd/>
  84. <srchdrugno/>
  85. <srchioflag/>
  86. <srchsumdt1/>
  87. <srchsumdt2/>
  88. <srchprcpkindcd> D</srchprcpkindcd>
  89. <srchprcpkindall/>
  90. <srchprcpcd/>
  91. <srchprcpnm/>
  92. <rtnstocdeptcd/>
  93. <orddeptcd/>
  94. <sickclscd/>
  95. <prtlcd/>
  96. <ioflag>A</ioflag>
  97. <engnm/>
  98. </srchinfo>
  99. <srchdrugcdinfo>
  100. <srchdrugcd/>
  101. <hngnm/>
  102. <engnm/>
  103. <efcycls/>
  104. <spcldrug/>
  105. <drugkind/>
  106. <cnfmyn/>
  107. </srchdrugcdinfo>
  108. <req>
  109. <prtlprcpdata/>
  110. </req>
  111. <srchprcpinfo>
  112. <srchdrugcd/>
  113. <hngnm/>
  114. <engnm/>
  115. </srchprcpinfo>
  116. <prcpdata>
  117. <cond1/>
  118. <cond2/>
  119. <cond3/>
  120. </prcpdata>
  121. <cond1/>
  122. </send>
  123. <init>
  124. <deptlist>
  125. <ward>
  126. <wardcd/>
  127. <wardnm/>
  128. </ward>
  129. </deptlist>
  130. <drugpathinfo>
  131. <A0149/>
  132. </drugpathinfo>
  133. <prcpkindinfo>
  134. <M0003/>
  135. </prcpkindinfo>
  136. <drugstatallinfo>
  137. <A0004/>
  138. </drugstatallinfo>
  139. <drugstatinfo/>
  140. <rtnflaginfo>
  141. <item>
  142. <cdid>X</cdid>
  143. <cdnm>미불출</cdnm>
  144. </item>
  145. <item>
  146. <cdid>D</cdid>
  147. <cdnm>반환확인</cdnm>
  148. </item>
  149. </rtnflaginfo>
  150. <patinfo>
  151. <pid/>
  152. <hngnm/>
  153. </patinfo>
  154. <grdwideyn/>
  155. <stocinfo>
  156. <stocdeptcd>3242107000</stocdeptcd>
  157. <deptlist>
  158. <stocdeptcd/>
  159. <stocdeptnm/>
  160. </deptlist>
  161. </stocinfo>
  162. <misdeptlist>
  163. <deptlist/>
  164. </misdeptlist>
  165. <dateinfo/>
  166. <comboitem>
  167. <payflagcd>
  168. <P0104>
  169. <cdid/>
  170. <cdnm/>
  171. </P0104>
  172. </payflagcd>
  173. </comboitem>
  174. <copyday>
  175. <item>
  176. <copydaycd/>
  177. <copydaynm/>
  178. </item>
  179. </copyday>
  180. </init>
  181. <hidden>
  182. <drugitem>
  183. <drugcd/>
  184. <drugnm/>
  185. </drugitem>
  186. <receivemthd>/root/hidden/mthdcd</receivemthd>
  187. <receivedrugcd>/root/send/srchinfo/srchprcpcd</receivedrugcd>
  188. <stocdeptlist>
  189. <deptlist>
  190. <stocdeptcd/>
  191. <stocdeptnm/>
  192. </deptlist>
  193. </stocdeptlist>
  194. <drugcd/>
  195. <mthdcd/>
  196. </hidden>
  197. <temp>
  198. <receivedata>
  199. <receiveref/>
  200. <srchdrugcd/>
  201. <srchtype/>
  202. <callbackFunc/>
  203. </receivedata>
  204. <remark/>
  205. <prntms/>
  206. <prnprcpresncd/>
  207. <prnresncmt/>
  208. <prnhardcd/>
  209. <bfprcpvol/>
  210. <bfprcpqty/>
  211. <bfprcpvol2/>
  212. <bfprcpqty2/>
  213. <bfprcptims/>
  214. <popup>
  215. <drugstat>
  216. <mouserght>
  217. <label>[일괄처리항목]</label>
  218. <value>-</value>
  219. </mouserght>
  220. <mouserght>
  221. <label>-</label>
  222. <value/>
  223. </mouserght>
  224. <mouserght>
  225. <label>조제완료</label>
  226. <value>D</value>
  227. </mouserght>
  228. <mouserght>
  229. <label>조제보류</label>
  230. <value>ND</value>
  231. </mouserght>
  232. <mouserght>
  233. <label>-</label>
  234. <value/>
  235. </mouserght>
  236. <mouserght>
  237. <label>컨베어</label>
  238. <value>C</value>
  239. </mouserght>
  240. <mouserght>
  241. <label>에어슈터</label>
  242. <value>A</value>
  243. </mouserght>
  244. <mouserght>
  245. <label>포터</label>
  246. <value>P</value>
  247. </mouserght>
  248. <mouserght>
  249. <label>복약상담</label>
  250. <value>E</value>
  251. </mouserght>
  252. <mouserght>
  253. <label>투약구</label>
  254. <value>M</value>
  255. </mouserght>
  256. <mouserght>
  257. <label>기타</label>
  258. <value>Q</value>
  259. </mouserght>
  260. </drugstat>
  261. </popup>
  262. <reteresn/>
  263. <prnterm/>
  264. </temp>
  265. <temp2>
  266. <rtnlist>
  267. <grd_exelist/>
  268. <grd_histlist/>
  269. </rtnlist>
  270. </temp2>
  271. </root>
  272. </instance>
  273. <script type="javascript" ev:event="xforms-ready">
  274. <![CDATA[
  275. // 초기코드값
  276. model.removeNodeset("/root/init/drugpathinfo/A0149");
  277. //zbcfGetCodeList( new Array("A0149", "M0003","A0004"), new Array("/root/init/drugpathinfo","/root/init/prcpkindinfo","/root/init/drugstatallinfo") );
  278. zbcfGetCodeList( new Array("P0104"), new Array("/root/init/comboitem/payflagcd") );
  279. submit("TRADB00801");
  280. addComboItem("cmb_orddeptcd", "-전체-", "", "above");
  281. //1일기준인지 1회기준인지 체크하여 컬럼을 hidden
  282. colHidnValue = grdBaseColHidn("D");
  283. // 전체선택
  284. grd_prtlprcp.fixedcellcheckbox(0,grd_prtlprcp.colRef("chk")) = true;
  285. model.refresh();
  286. ]]>
  287. </script>
  288. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  289. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  290. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  291. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  292. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  293. <script type="javascript" src="../../../ast/commonweb/js/AST.js"/>
  294. <script type="javascript" src="../../../emr/prcpmngtweb/js/MMO001.js"/>
  295. <!-- 공통코드 조회용 -->
  296. <submission id="TRZBC00101"/>
  297. <!-- 진료과 조회-->
  298. <submission id="TRADB00801" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/srchinfo" replace="instance" resultref="/root/main/orddeptlist"/>
  299. <!-- 질병코드조회-->
  300. <submission id="TRADB00802" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/srchinfo" replace="instance" resultref="/root/main/sicklist"/>
  301. <!-- 프로토콜조회 -->
  302. <submission id="TRADB00803" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/srchinfo" replace="instance" resultref="/root/main/prtllist"/>
  303. <!-- 약품목록조회 -->
  304. <submission id="TRADB60101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/srchdrugcdinfo" replace="instance" resultref="/root/main/druglist"/>
  305. <!-- 약품으로 수가정보 조회 (그리드 내용 채움)-->
  306. <submission id="TRADB00826" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/prcpdata" replace="instance" resultref="/root/hidden/prcpinfo"/>
  307. <!--약품조회-->
  308. <submission id="TRADB02604" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/srchprcpcdinfo" replace="instance" resultref="/root/hidden/drugitem"/>
  309. <!--조회-->
  310. <submission id="TRADB00835" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/updtdtlist"/>
  311. <!--저장-->
  312. <submission id="TXADB00822" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/ret"/>
  313. <!--약품코드조회 (그리드내 )-->
  314. <submission id="TRADB00106" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/srchinfo" replace="instance" resultref="/root/main/srchinfo"/>
  315. <!-- PRN GROUP내용 (사유콤보) -->
  316. <submission id="TRMMB16401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/cond1" resultref="/root/temp/prnhardcd"/>
  317. <!-- 처방내역저장 -->
  318. <submission id="TXADB00827" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/ret"/>
  319. <script type="javascript">
  320. <![CDATA[
  321. // 전체선택 인덱스
  322. var varDrugTotSel = "false"; // 처방목록 전체선택
  323. var varDrugPathIndex = 2; // 처방목록 이동경로
  324. var varDrugStatIndex = 3; // 처방목록 조제상태
  325. var varDrugStocIndex = 1; // 처방상세 미불출/반환확인
  326. var colHidnValue = "";
  327. /**
  328. * @desc : 진단검사 검체 호출
  329. * @param : curRow: 호출 row
  330. : flag: copy: 복사시 팝업, 아무것도 없으면 더블클릭시 팝업
  331. * @return : void
  332. * @authur : 마정민 2007. 5. 9
  333. */
  334. function fGetSpc( curRow, flag ) {
  335. var srcNode = "/root/main/prtlprcplist/item";
  336. if ( flag == "group" ) {
  337. srcNode = "/root/prcpsrch/prcplist";
  338. }
  339. // var drugmastspec = model.getValue ( srcNode + "[" + curRow + "]/drugmastspec" ) + "^";
  340. var drugmthdspccd = model.getValue ( srcNode + "[" + curRow + "]/drugmthdspccd" );
  341. var prcpcd = model.getValue ( srcNode + "[" + curRow + "]/prcpcd" );
  342. var prcpnm = model.getValue ( srcNode + "[" + curRow + "]/prcpnm" );
  343. if ( drugmthdspccd == "998" ) { //검체코드가 998일때 띄운다.
  344. //검사대분류유형(testlrgkind) M:미생물, B:혈액은행, G: 분자/세포 유전, N:핵의학-체외
  345. // if ( getArrayData (drugmastspec, 0, 3, "^", "|" ) == "M" ) {
  346. setParameter ( "SPMMO03500_param_tclscd", prcpcd );
  347. setParameter ( "SPMMO03500_param_tclsnm", prcpnm );
  348. model.refresh();
  349. fPrcpModal ( "SPMMO03500", 200, 100 );
  350. if ( isNull(flag)) {
  351. if ( getParameter ("SPMMO03500_rtn_useyn") == "Y" ) {
  352. model.setValue ( srcNode + "[" + curRow + "]/drugmthdspccd", getParameter( "SPMMO03500_rtn_spccd" ));
  353. model.setValue ( srcNode + "[" + curRow + "]/drugmthdspccdnm", getParameter ("SPMMO03500_rtn_spcscrnnm" ));
  354. }
  355. clearParameter ( "SPMMO03500_rtn_useyn" );
  356. clearParameter ( "SPMMO03500_rtn_spccd" );
  357. clearParameter ( "SPMMO03500_rtn_spcscrnnm" );
  358. }
  359. } else {
  360. setParameter ( "SPMMO03400_param_tclscd", prcpcd );
  361. setParameter ( "SPMMO03400_param_tclsnm", prcpnm );
  362. model.refresh();
  363. fPrcpModal ( "SPMMO03400", 200, 100 );
  364. if ( isNull(flag)) {
  365. if ( getParameter ("SPMMO03400_rtn_useyn") == "Y" ) {
  366. model.setValue ( srcNode + "[" + curRow + "]/drugmthdspccd", getParameter( "SPMMO03400_rtn_spccd" ));
  367. model.setValue ( srcNode + "[" + curRow + "]/drugmthdspccdnm", getParameter ("SPMMO03400_rtn_spcscrnnm" ));
  368. }
  369. clearParameter ( "SPMMO03400_rtn_useyn" );
  370. clearParameter ( "SPMMO03400_rtn_spccd" );
  371. clearParameter ( "SPMMO03400_rtn_spcscrnnm" );
  372. }
  373. }
  374. }
  375. /**
  376. * @desc : 팝업위치가 저장되지 않는 팝업 띄우기
  377. * @param : screenId: 화면 ID
  378. : argxpt : x좌표
  379. : argypt : y좌표
  380. * @return : void
  381. * @authur : 마정민 2007. 6. 29
  382. */
  383. function fPrcpModal ( screenId, argxpt, argypt ) {
  384. var xpt = window.screenleft + eval(argxpt);
  385. var ypt = window.screenTop + eval(argypt);
  386. var coord = getRelativeCoordinate ( xpt, ypt );
  387. var mon = coord[0];
  388. xpt = coord[1];
  389. ypt = coord[2];
  390. modal (screenId, mon, xpt, ypt, screenId, "", "", "", false);
  391. }
  392. //처방목록 그리드내 처방코드 클릭시 입력된 코드로 수가조회
  393. function fSetPrcpCdAll(code){ //일괄적용용
  394. /* 수가조회 */
  395. var grd_node = grd_prtlprcp.nodeset;
  396. var iTotCnt = getNodesetCount(grd_node);
  397. var dutplceinstcd = getUserInfo("dutplceinstcd");
  398. if(dutplceinstcd == "031"){ // 16.01.07 -본원만 적용되도록 적용
  399. messageBox("일괄적용시 '1일용량', '1회용량', '1일수량', '1회수량'은 \n 변경되지", "I011");
  400. }
  401. model.setValue("/root/send/prcpdata/cond1", code);
  402. model.setValue("/root/send/prcpdata/cond2","-");
  403. model.setValue("/root/send/prcpdata/cond3", getCurrentDate());
  404. submit("TRADB00826");
  405. if (model.getValue("/root/hidden/prcpinfo/prcplist/prcpcd")=="" ) {
  406. return;
  407. }
  408. /* 수가조회후 정보 셋팅 */
  409. var cntsvol = model.getValue("/root/hidden/prcpinfo/prcplist/drugcntsvol");
  410. var basevol = model.getValue("/root/hidden/prcpinfo/prcplist/drugbasevol");
  411. var prcpvole2 = cntsvol * basevol;
  412. for (var i = 1; i <= iTotCnt; i++) {
  413. if (model.getValue(grd_node+"["+i+"]/chk") != "Y")
  414. continue;
  415. model.setValue("/root/main/prtlprcplist/item["+i+"]/prcpcd", model.getValue("/root/hidden/prcpinfo/prcplist/prcpcd"));
  416. model.setValue("/root/main/prtlprcplist/item["+i+"]/prcpnm", model.getValue("/root/hidden/prcpinfo/prcplist/prcpnm"));
  417. model.setValue("/root/main/prtlprcplist/item["+i+"]/payflagcd", model.getValue("/root/hidden/prcpinfo/prcplist/payflagcd"));
  418. model.setValue("/root/main/prtlprcplist/item["+i+"]/prcptims", model.getValue("/root/hidden/prcpinfo/prcplist/prcptims"));
  419. model.setValue("/root/main/prtlprcplist/item["+i+"]/drugmthdspccd", model.getValue("/root/hidden/prcpinfo/prcplist/drugmthdspccd"));
  420. model.setValue("/root/main/prtlprcplist/item["+i+"]/prcpvolunitnm", model.getValue("/root/hidden/prcpinfo/prcplist/prcpvolunitnm"));
  421. model.setValue("/root/main/prtlprcplist/item["+i+"]/prcpvolunitflag", model.getValue("/root/hidden/prcpinfo/prcplist/prcpvolunitflag"));
  422. model.setValue("/root/main/prtlprcplist/item["+i+"]/prcpqtyunitnm", model.getValue("/root/hidden/prcpinfo/prcplist/prcpqtyunitnm"));
  423. model.setValue("/root/main/prtlprcplist/item["+i+"]/prcpqtyunitflag", model.getValue("/root/hidden/prcpinfo/prcplist/prcpqtyunitflag"));
  424. model.setValue("/root/main/prtlprcplist/item["+i+"]/drugspdunitnm", model.getValue("/root/hidden/prcpinfo/prcplist/drugspdunitnm"));
  425. model.setValue("/root/main/prtlprcplist/item["+i+"]/drugspdunitflag", model.getValue("/root/hidden/prcpinfo/prcplist/drugspdunitflag"));
  426. model.setValue("/root/main/prtlprcplist/item["+i+"]/prcpexecdeptcd", model.getValue("/root/hidden/prcpinfo/prcplist/prcpexecdeptcd"));
  427. model.setValue("/root/main/prtlprcplist/item["+i+"]/volrate", model.getValue("/root/hidden/prcpinfo/prcplist/drugcntsvol"));
  428. model.setValue("/root/main/prtlprcplist/item["+i+"]/prcpclscd", model.getValue("/root/hidden/prcpinfo/prcplist/prcpclscd"));
  429. model.setValue("/root/main/prtlprcplist/item["+i+"]/drugmastspec", model.getValue("/root/hidden/prcpinfo/prcplist/drugmastspec"));
  430. if(dutplceinstcd == "032"){ //칠곡만 모든정보 초기화 되도록 적용.
  431. // 1일용량, 1회용량, 1일수량, 1회수량 변경되지 않도록 수정 - by.Shaun_2015.12.24 ---------
  432. // 1일용량
  433. model.setValue("/root/main/prtlprcplist/item["+i+"]/prcpvol", model.getValue("/root/hidden/prcpinfo/prcplist/prcpvol"));
  434. // 1일수량
  435. model.setValue("/root/main/prtlprcplist/item["+i+"]/prcpqty", model.getValue("/root/hidden/prcpinfo/prcplist/prcpqty"));
  436. //1회용량 (마스터의 약품기준용량 * 1회기본수량)
  437. model.setValue("/root/main/prtlprcplist/item["+i+"]/prcpvol2", prcpvole2);
  438. //1회수량 (마스터의 1회기본수량 셋팅)
  439. model.setValue("/root/main/prtlprcplist/item["+i+"]/prcpqty2", basevol);
  440. // ---------------------------------------------------------------------------------------
  441. }
  442. grd_prtlprcp.rowStatus(getDatagridInsRow(i)) = 2;
  443. }
  444. grd_prtlprcp.refresh();
  445. }
  446. //수가정보조회
  447. function fSetPrcpCd(){
  448. var vRow = getDatagridRow();
  449. /* 수가조회 */
  450. model.setValue("/root/send/prcpdata/cond1",model.getValue("/root/main/prtlprcplist/item["+vRow+"]/prcpcd"));
  451. model.setValue("/root/send/prcpdata/cond2","-");
  452. model.setValue("/root/send/prcpdata/cond3", getCurrentDate() );
  453. submit("TRADB00826");
  454. if (model.getValue("/root/hidden/prcpinfo/prcplist/prcpcd")=="" ) {
  455. return;
  456. }
  457. /* 수가조회후 정보 셋팅 */
  458. model.setValue("/root/main/prtlprcplist/item["+vRow+"]/prcpcd", model.getValue("/root/hidden/prcpinfo/prcplist/prcpcd"));
  459. model.setValue("/root/main/prtlprcplist/item["+vRow+"]/prcpnm", model.getValue("/root/hidden/prcpinfo/prcplist/prcpnm"));
  460. model.setValue("/root/main/prtlprcplist/item["+vRow+"]/payflagcd", model.getValue("/root/hidden/prcpinfo/prcplist/payflagcd"));
  461. model.setValue("/root/main/prtlprcplist/item["+vRow+"]/prcpvol", model.getValue("/root/hidden/prcpinfo/prcplist/prcpvol"));
  462. model.setValue("/root/main/prtlprcplist/item["+vRow+"]/prcpqty", model.getValue("/root/hidden/prcpinfo/prcplist/prcpqty"));
  463. model.setValue("/root/main/prtlprcplist/item["+vRow+"]/prcptims", model.getValue("/root/hidden/prcpinfo/prcplist/prcptims"));
  464. model.setValue("/root/main/prtlprcplist/item["+vRow+"]/drugmthdspccd", model.getValue("/root/hidden/prcpinfo/prcplist/drugmthdspccd"));
  465. model.setValue("/root/main/prtlprcplist/item["+vRow+"]/prcpvolunitnm", model.getValue("/root/hidden/prcpinfo/prcplist/prcpvolunitnm"));
  466. model.setValue("/root/main/prtlprcplist/item["+vRow+"]/prcpvolunitflag", model.getValue("/root/hidden/prcpinfo/prcplist/prcpvolunitflag"));
  467. model.setValue("/root/main/prtlprcplist/item["+vRow+"]/prcpqtyunitnm", model.getValue("/root/hidden/prcpinfo/prcplist/prcpqtyunitnm"));
  468. model.setValue("/root/main/prtlprcplist/item["+vRow+"]/prcpqtyunitflag", model.getValue("/root/hidden/prcpinfo/prcplist/prcpqtyunitflag"));
  469. model.setValue("/root/main/prtlprcplist/item["+vRow+"]/drugspdunitnm", model.getValue("/root/hidden/prcpinfo/prcplist/drugspdunitnm"));
  470. model.setValue("/root/main/prtlprcplist/item["+vRow+"]/drugspdunitflag", model.getValue("/root/hidden/prcpinfo/prcplist/drugspdunitflag"));
  471. model.setValue("/root/main/prtlprcplist/item["+vRow+"]/prcpexecdeptcd", model.getValue("/root/hidden/prcpinfo/prcplist/prcpexecdeptcd"));
  472. model.setValue("/root/main/prtlprcplist/item["+vRow+"]/volrate", model.getValue("/root/hidden/prcpinfo/prcplist/drugcntsvol"));
  473. model.setValue("/root/main/prtlprcplist/item["+vRow+"]/prcpclscd", model.getValue("/root/hidden/prcpinfo/prcplist/prcpclscd"));
  474. model.setValue("/root/main/prtlprcplist/item["+vRow+"]/drugmastspec", model.getValue("/root/hidden/prcpinfo/prcplist/drugmastspec"));
  475. var cntsvol = model.getValue("/root/hidden/prcpinfo/prcplist/drugcntsvol");
  476. var basevol = model.getValue("/root/hidden/prcpinfo/prcplist/drugbasevol");
  477. //1회용량 (마스터의 약품기준용량 * 1회기본수량)
  478. model.setValue("/root/main/prtlprcplist/item["+vRow+"]/prcpvol2", cntsvol * basevol);
  479. //1회수량 (마스터의 1회기본수량 셋팅)
  480. model.setValue("/root/main/prtlprcplist/item["+vRow+"]/prcpqty2", basevol);
  481. grd_prtlprcp.rowStatus(grd_prtlprcp.row) = 2;
  482. grd_prtlprcp.refresh();
  483. }
  484. //행삭제 버튼 클릭
  485. function fDelRow() {
  486. var grd_node = grd_prtlprcp.nodeset;
  487. var iChkCnt = getNodesetCount(grd_node+"[chk = 'Y']");
  488. var iTotCnt = getNodesetCount(grd_node);
  489. if (iChkCnt == 0) {
  490. messageBox("삭제할 처방목록을 ", "C002");
  491. return;
  492. }
  493. for (i = iTotCnt; i > 0; i--) {
  494. if (model.getValue(grd_node+"["+i+"]/chk") == "Y") {
  495. grd_prtlprcp.deleteRow(getDatagridInsRow(i), false);
  496. }
  497. }
  498. grd_prtlprcp.refresh();
  499. }
  500. //약품검색 팝업
  501. function searchDrug(o) {
  502. var oCode = o.Code;
  503. var oName = o.Name;
  504. var sRslt = o.Rslt;
  505. var fn = o.Func;
  506. var cond = oCode.value.toUpperCase()+"%";
  507. if (oCode.value == "") {
  508. return;
  509. }
  510. model.setValue("/root/send/srchdrugcdinfo/srchdrugcd", cond);
  511. model.setValue("/root/send/srchdrugcdinfo/spcldrug", "-");
  512. model.setValue("/root/send/srchdrugcdinfo/efcycls", "-");
  513. model.setValue("/root/send/srchdrugcdinfo/drugkind", "N M Y");
  514. model.setValue("/root/send/srchdrugcdinfo/cnfmyn", "Y N");
  515. if (!submit("TRADB60101"))
  516. return;
  517. var rtnNode = "/root/main/druglist/item";
  518. var iCnt = getNodesetCount(rtnNode);
  519. if (iCnt == 1) {
  520. oCode.value = model.getValue(rtnNode+"/drugcd");
  521. oName.value = model.getValue(rtnNode+"/hngnm");
  522. } else if (iCnt > 1) {
  523. model.setValue("/root/temp/receivedata/srchdrugcd", oCode.value);
  524. model.setValue("/root/temp/receivedata/srchtype", "B");
  525. model.setValue("/root/temp/receivedata/receiveref", sRslt);
  526. modal("SPADB60100",0,100,150,"SPADB60100","/root/temp/receivedata","/root/temp/receivedata");
  527. }
  528. if (typeof(fn) == "function") {
  529. fn.call(null, oCode.value);
  530. }
  531. }
  532. //약재팝업(그리드)
  533. function searchDrugGrid(o) {
  534. var oCode = o.Code;
  535. var oName = o.Name;
  536. var sRslt = o.Rslt;
  537. var fn = o.Func;
  538. var oGrid = null;
  539. var eventO = null;
  540. var cond = "";
  541. var vRow = getDatagridRow();
  542. if (document.all(event.target) != null) {
  543. var eventO = document.all(event.target);
  544. if (eventO.elementName == "xforms:input" || eventO.elementName == "xforms:button") {
  545. cond = oCode.value;
  546. } else if (eventO.elementName == "xforms:col") {
  547. oGrid = eventO.parent;
  548. cond = model.getValue(oGrid.attribute("nodeset")+"["+vRow+"]/"+ eventO.attribute("ref"));
  549. } else if (eventO.elementName == "xforms:gridbutton") {
  550. oGrid = eventO.parent.parent;
  551. cond = model.getValue(oGrid.attribute("nodeset")+"["+vRow+"]/"+ eventO.parent.attribute("ref"));
  552. }
  553. }
  554. /*
  555. if (cond == "") {
  556. return;
  557. }
  558. model.setValue("/root/send/srchdrugcdinfo/srchdrugcd", cond+"%");
  559. model.setValue("/root/send/srchdrugcdinfo/spcldrug", "-");
  560. model.setValue("/root/send/srchdrugcdinfo/efcycls", "-");
  561. model.setValue("/root/send/srchdrugcdinfo/drugkind", "N M Y");
  562. model.setValue("/root/send/srchdrugcdinfo/cnfmyn", "Y N");
  563. if (!submit("TRADB60101"))
  564. return;
  565. var rtnNode = "/root/main/druglist/item";
  566. var iCnt = getNodesetCount(rtnNode);
  567. if (iCnt == 1) {
  568. oName.value = model.getValue(rtnNode+"/hngnm");
  569. } else if (iCnt > 1) {
  570. */
  571. model.setValue("/root/temp/receivedata/srchdrugcd", cond);
  572. model.setValue("/root/temp/receivedata/srchtype", "G");
  573. model.setValue("/root/temp/receivedata/callbackFunc", fn);
  574. model.setValue("/root/temp/receivedata/receiveref", oGrid.attribute("nodeset")+"["+ vRow+"]");
  575. var rtn = modal("SPADB60100",0,(event.targetX+20),(event.targetY+10),"SPADB60100","/root/temp/receivedata","/root/temp/receivedata");
  576. /*
  577. //}
  578. if (typeof(eval(fn)) == "function") {
  579. fn.call(null, model.getValue(oGrid.attribute("nodeset")+"["+oGrid.row+"]/"+ oCode));
  580. }
  581. */
  582. }
  583. //저장버튼 클릭
  584. function fSaveData(){
  585. if (getUpdateCount(grd_prtlprcp) == 0) {
  586. messageBox("수정(삭제)된 내역이 없습니다.", "I004");
  587. return;
  588. }
  589. for ( var i =1 ; i<=grd_prtlprcp.rows; i++){
  590. var vRow = getDatagridRow(i);
  591. if ( model.getValue("/root/main/prtlprcplist/item["+vRow+"]/prcpcd")=="" ) {
  592. grd_prtlprcp.deleteRow(i);
  593. //messageBox("Line:"+ i +" 의 코드를 입력하십시오.","C999");
  594. //return;
  595. } else if ( grd_prtlprcp.rowStatus(i) == 4) {
  596. //messageBox("Line:"+ i +" 의 코드를 입력하십시오.","C999");
  597. //return;
  598. } else {
  599. if ( model.getValue("/root/main/prtlprcplist/item["+vRow+"]/drugmthdspccd")=="" ) {
  600. messageBox("Line:"+ i +" 의 용법/검체를 입력하십시오.","C999");
  601. return;
  602. }
  603. if ( model.getValue("/root/main/prtlprcplist/item["+vRow+"]/drugmthdspccd")=="999" ) {
  604. messageBox("Line:"+ i +" 의 검체를 선택하십시오.","C999");
  605. return;
  606. }
  607. //20101113 이선경 수정 : 1회용량, 1회수량 기준 적용
  608. var prcpvolvalue = "";
  609. if(colHidnValue == "C") {//1회기준
  610. prcpvolvalue = model.getValue("/root/main/prtlprcplist/item["+vRow+"]/prcpvol2");
  611. } else {//1일기준
  612. prcpvolvalue = model.getValue("/root/main/prtlprcplist/item["+vRow+"]/prcpvol");
  613. }
  614. if ( prcpvolvalue =="" ) {
  615. messageBox("Line:"+ i +" 의 용량을 입력하십시오.","C999");
  616. return;
  617. }
  618. if ( prcpvolvalue <=0 ) {
  619. messageBox("Line:"+ i +" 의 용량이 0 이하입니다.","C999");
  620. return;
  621. }
  622. //20101113 이선경 수정 : 1회용량, 1회수량 기준 적용
  623. var prcpqtyvalue = "";
  624. if(colHidnValue == "C") {//1회기준
  625. prcpqtyvalue = model.getValue("/root/main/prtlprcplist/item["+vRow+"]/prcpqty2");
  626. } else {//1일기준
  627. prcpqtyvalue = model.getValue("/root/main/prtlprcplist/item["+vRow+"]/prcpqty");
  628. }
  629. if ( prcpqtyvalue =="" ) {
  630. messageBox("Line:"+ i +" 의 수량을 입력하십시오.","C999");
  631. return;
  632. }
  633. if ( prcpqtyvalue <=0 ) {
  634. messageBox("Line:"+ i +" 의 수량이 0 이하입니다.","C999");
  635. return;
  636. }
  637. if ( model.getValue("/root/main/prtlprcplist/item["+vRow+"]/prcptims")=="" ) {
  638. messageBox("Line:"+ i +" 의 횟수를 입력하십시오.","C999");
  639. return;
  640. }
  641. if ( parseInt(model.getValue("/root/main/prtlprcplist/item["+vRow+"]/prcptims")) <=0 ) {
  642. messageBox("Line:"+ i +" 의 횟수가 0 이하입니다.","C999");
  643. return;
  644. }
  645. }
  646. }
  647. model.setValue("/root/send/req/prtlprcpdata",grd_prtlprcp.getUpdateData());
  648. if (submit("TXADB00827")) {
  649. btn_sea.dispatch("DOMActivate");
  650. }
  651. }
  652. //수정된 행 수 반환
  653. function getUpdateCount(oGrid) {
  654. return (grd_prtlprcp.getUpdateData().split("▩").length-2);
  655. }
  656. function getDatagridRow(vDatagridRow) {
  657. if (vDatagridRow == null) {
  658. vDatagridRow = grd_prtlprcp.row;
  659. }
  660. var datagridRow = 0;
  661. var nodeset = grd_prtlprcp.attribute("nodeset");
  662. var nodesetCount = getNodesetCount(nodeset);
  663. var rown = grd_prtlprcp.valueMatrix(vDatagridRow, grd_prtlprcp.colRef("rown")); // rown
  664. var vRown = "";
  665. for (var i = 1; i <= nodesetCount; i++) {
  666. vRown = model.getValue(nodeset + "[" + i + "]" + "/rown");
  667. if (rown == vRown) {
  668. datagridRow = i;
  669. break;
  670. }
  671. }
  672. return datagridRow;
  673. }
  674. function getDatagridInsRow(instanceRow) {
  675. var datagridRow = 0;
  676. var nodeset = grd_prtlprcp.attribute("nodeset");
  677. var vRown = model.getValue(nodeset + "[" + instanceRow + "]" + "/rown");
  678. var rown = "";
  679. for (var i = 1; i <= grd_prtlprcp.rows; i++) {
  680. rown = grd_prtlprcp.valueMatrix(i, grd_prtlprcp.colRef("rown")); // rown
  681. if (rown == vRown) {
  682. datagridRow = i;
  683. break;
  684. }
  685. }
  686. return datagridRow;
  687. }
  688. ]]>
  689. </script>
  690. </model>
  691. </xhtml:head>
  692. <xhtml:body guideline="2,781;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  693. <script type="javascript" ev:event="onmenu">
  694. <![CDATA[
  695. var popupParam = event.description;
  696. fSetValueGrid2Cell(popupParam);
  697. ]]>
  698. </script>
  699. <group id="group3" scroll="auto" style="left:0px; top:13px; width:1195px; height:757px; ">
  700. <group id="group2" style="left:0px; top:13px; width:1195px; height:70px; ">
  701. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1194px; height:65px; background-color:#fffbf2; border-color:#ffd799; "/>
  702. <caption id="caption6" class="search_name" style="left:315px; top:41px; width:80px; height:17px; ">약품코드</caption>
  703. <button id="btn_sea" class="btn1_letter2" style="left:1130px; top:2px; width:56px; height:22px; ">
  704. <caption>조회</caption>
  705. <script type="javascript" ev:event="DOMActivate">
  706. <![CDATA[
  707. grd_prtlprcp.clearStatus();
  708. model.removeNodeset(grd_prtlprcp.nodeset);
  709. submit("TRADB00835");
  710. model.refresh();
  711. ]]>
  712. </script>
  713. </button>
  714. <input id="ipt_prcpcd" ref="/root/send/srchinfo/srchdrugcd" class="input_search" autonext="false" imemode="alpha" maxlength="12" style="left:395px; top:40px; width:90px; height:19px; ">
  715. <script type="javascript" ev:event="onkeyup">
  716. <![CDATA[
  717. if(event.keyCode == "13") {
  718. setInputNodeCurText();
  719. searchDrug({Code:ipt_prcpcd, Name:opt_prcpnm, Rslt:"/root/send/srchinfo"});
  720. }
  721. ]]>
  722. </script>
  723. <script type="javascript" ev:event="xforms-value-changed">
  724. <![CDATA[
  725. if (ipt_prcpcd.value == "") {
  726. opt_prcpnm.value = "";
  727. }
  728. ]]>
  729. </script>
  730. </input>
  731. <button id="button2" class="icon_search" style="left:490px; top:40px; width:16px; height:16px; ">
  732. <caption/>
  733. <script type="javascript" ev:event="DOMActivate">
  734. <![CDATA[
  735. var prcpcd = "";
  736. model.setValue("/root/temp/receivedata/srchdrugcd", ipt_prcpcd.value);
  737. model.setValue("/root/temp/receivedata/srchtype", "B");
  738. model.setValue("/root/temp/receivedata/receiveref", "/root/send/srchinfo");
  739. modal("SPADB60100",0,100,150,"SPADB60100","/root/temp/receivedata","/root/temp/receivedata");
  740. ]]>
  741. </script>
  742. </button>
  743. <line id="line13" style="x1:1122px; y1:3px; x2:1122px; y2:25px; border-color:#ffe4bb; border-left-style:solid; "/>
  744. <input id="opt_prcpnm" ref="/root/send/srchinfo/hngnm" class="input_search" editable="false" style="left:510px; top:40px; width:177px; height:19px; "/>
  745. <caption id="caption2" class="search_name" style="left:20px; top:6px; width:75px; height:17px; ">진료과</caption>
  746. <select1 id="cmb_orddeptcd" ref="/root/send/srchinfo/orddeptcd" class="combo_search" appearance="minimal" style="left:105px; top:5px; width:175px; height:19px; ">
  747. <choices>
  748. <itemset nodeset="/root/main/orddeptlist/item">
  749. <label ref="orddeptnm"/>
  750. <value ref="orddeptcd"/>
  751. </itemset>
  752. </choices>
  753. <script type="javascript" ev:event="xforms-value-changed">
  754. <![CDATA[
  755. //if (cmb_orddeptcd.value != "") {
  756. submit("TRADB00802");
  757. addComboItem("cmb_sickclscd", "-전체-", "", "above");
  758. cmb_sickclscd.dispatch("xforms-value-changed");
  759. cmb_sickclscd.value = "";
  760. cmb_prtlcd.value = "";
  761. //}
  762. ]]>
  763. </script>
  764. </select1>
  765. <caption id="caption3" class="search_name" style="left:315px; top:5px; width:80px; height:17px; ">질병코드</caption>
  766. <select1 id="cmb_sickclscd" ref="/root/send/srchinfo/sickclscd" class="combo_search" appearance="minimal" style="left:395px; top:5px; width:200px; height:19px; ">
  767. <choices>
  768. <itemset nodeset="/root/main/sicklist/item">
  769. <label ref="sickclsnm"/>
  770. <value ref="sickclscd"/>
  771. </itemset>
  772. </choices>
  773. <script type="javascript" ev:event="xforms-value-changed">
  774. <![CDATA[
  775. //if (cmb_sickclscd.value != ""){
  776. submit("TRADB00803");
  777. addComboItem("cmb_prtlcd", "-전체-", "", "above");
  778. cmb_prtlcd.value = "";
  779. //}
  780. ]]>
  781. </script>
  782. </select1>
  783. <select1 id="cmb_prtlcd" ref="/root/send/srchinfo/prtlcd" class="combo_search" appearance="minimal" style="left:790px; top:5px; width:200px; height:19px; ">
  784. <choices>
  785. <itemset nodeset="/root/main/prtllist/itemin">
  786. <label ref="prtlnm"/>
  787. <value ref="prtlcd"/>
  788. </itemset>
  789. </choices>
  790. </select1>
  791. <caption id="caption4" class="search_name" style="left:705px; top:5px; width:86px; height:17px; ">프로토콜</caption>
  792. <caption id="caption5" class="search_name" style="left:20px; top:41px; width:79px; height:17px; ">입원/외래</caption>
  793. <select1 id="radio2" ref="/root/send/srchinfo/ioflag" appearance="full" cols="3" overflow="visible" style="left:105px; top:40px; width:148px; height:21px; background-color:transparent; border-style:none; ">
  794. <choices>
  795. <item>
  796. <label>입원</label>
  797. <value>I</value>
  798. </item>
  799. <item>
  800. <label>외래</label>
  801. <value>O</value>
  802. </item>
  803. <item>
  804. <label>전체</label>
  805. <value>A</value>
  806. </item>
  807. </choices>
  808. </select1>
  809. </group>
  810. <caption id="caption22" class="tit_2" style="left:5px; top:120px; width:216px; height:18px; ">처방목록</caption>
  811. <line id="line1" class="line_1" style="x1:0px; y1:138px; x2:1194px; y2:138px; "/>
  812. <datagrid id="grd_prtlprcp" nodeset="/root/main/prtlprcplist/item" class="datagrid2" autoresize="true" caption="선택^진료과^질병분류^입원/&#xA;외래^프로토콜^차수^출력순서^투여시점^투약시간^MIX^코드^처방명^급여^적용방법^BSA/AUC^KG당용량^1일용량^1회용량^단위^1일수량^1회수량^단위^투여속도^단위^횟수^임상^복용코드^복용법^PRN^PRN^투여시간^전달사항^실행부서^처방구분^^처방순번^^^^^^^^^rown" colsep="^" colwidth="40, 100, 100, 45, 170, 40, 36, 36, 36, 30, 104, 214, 38, 35, 40, 40, 51, 51, 31, 56, 58, 31, 26, 16, 31, 30, 74, 100, 29, 18, 79, 97, 59, 100, 1, 0, 0, 0, 0, 100, 100, 100, 100, 100, 100" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" selectionmode="byrow" style="left:0px; top:170px; width:1194px; height:575px; ">
  813. <col checkvalue="Y,N" ref="chk" type="checkbox"/>
  814. <col ref="orddeptnm" type="output"/>
  815. <col ref="sickclsnm" type="output"/>
  816. <col ref="ioflag" type="combo">
  817. <choices>
  818. <item>
  819. <label>입원</label>
  820. <value>I</value>
  821. </item>
  822. <item>
  823. <label>외래</label>
  824. <value>O</value>
  825. </item>
  826. </choices>
  827. </col>
  828. <col ref="ptrlnm" type="output"/>
  829. <col ref="prtldg" type="output" style="text-align:right; "/>
  830. <col ref="dispseqno" type="input" style="text-align:right; "/>
  831. <col ref="drugseq" type="input" roundmode="round" roundposition="-3" style="text-align:right; "/>
  832. <col ref="drugtt" type="input" visibility="hidden"/>
  833. <col ref="prcpmixno" type="input"/>
  834. <col imemode="alpha" ref="prcpcd" type="inputbutton"/>
  835. <col ref="prcpnm" type="input"/>
  836. <col ref="payflagcd" type="combo">
  837. <choices>
  838. <itemset nodeset="/root/init/comboitem/payflagcd/P0104">
  839. <label ref="cdnm"/>
  840. <value ref="cdid"/>
  841. </itemset>
  842. </choices>
  843. </col>
  844. <col ref="volkind" type="combo">
  845. <choices>
  846. <item>
  847. <label>-</label>
  848. <value>0</value>
  849. </item>
  850. <item>
  851. <label>BSA</label>
  852. <value>1</value>
  853. </item>
  854. <item>
  855. <label>KG</label>
  856. <value>2</value>
  857. </item>
  858. <item>
  859. <label>AUC</label>
  860. <value>3</value>
  861. </item>
  862. </choices>
  863. </col>
  864. <col ref="bsavol" type="input" style="text-align:right; "/>
  865. <col ref="kgvol" type="input" style="text-align:right; "/>
  866. <col ref="prcpvol" type="input" style="text-align:right; "/>
  867. <col ref="prcpvol2" type="input" style="text-align:right; "/>
  868. <col ref="prcpvolunitnm"/>
  869. <col ref="prcpqty" type="input" style="left:718px; top:32px; width:56px; height:23px; text-align:right; "/>
  870. <col ref="prcpqty2" type="input" style="left:718px; top:32px; width:56px; height:23px; text-align:right; "/>
  871. <col ref="prcpqtyunitnm"/>
  872. <col ref="drugspd" style="text-align:right; "/>
  873. <col ref="drugspdunitnm" visibility="hidden"/>
  874. <col ref="prcptims" type="input" style="text-align:right; "/>
  875. <col ref="clincstdyflag" type="combo" style="text-align:right; ">
  876. <choices>
  877. <item>
  878. <label>임상</label>
  879. <value>Y</value>
  880. </item>
  881. <item>
  882. <label/>
  883. <value>N</value>
  884. </item>
  885. </choices>
  886. </col>
  887. <col ref="drugmthdspccd" type="inputbutton"/>
  888. <col ref="drugmthdspccdnm"/>
  889. <col checkvalue="Y,N" ref="prnprcpflag" type="checkbox"/>
  890. <col ref="prnprcpflagbtn" type="inputbutton"/>
  891. <col ref="nursrem" type="inputbutton"/>
  892. <col ref="remark" type="inputbutton"/>
  893. <col ref="prcpexecdeptcd" type="inputbutton" visibility="hidden"/>
  894. <col ref="orddeptcd" visibility="hidden"/>
  895. <col ref="sickclscd" visibility="hidden"/>
  896. <col ref="prtlcd" visibility="hidden"/>
  897. <col ref="ordseqno" visibility="hidden"/>
  898. <col ref="prcpvolunitflag" visibility="hidden"/>
  899. <col ref="prcpqtyunitflag" visibility="hidden"/>
  900. <col ref="drugspdunitflag" visibility="hidden"/>
  901. <col ref="volrate" visibility="hidden"/>
  902. <col ref="prcpclscd" visibility="hidden"/>
  903. <col ref="prnprcpdtl" visibility="hidden"/>
  904. <col ref="drugmastspec" visibility="hidden"/>
  905. <col ref="rown" visibility="hidden"/>
  906. <script type="javascript" ev:event="onbuttonclick">
  907. <![CDATA[
  908. var datagridRow = getDatagridRow();
  909. var prcpclscd = model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpclscd");
  910. if ( grd_prtlprcp.col== grd_prtlprcp.colRef("drugmthdspccd") ){
  911. if ( prcpclscd == "A2" || prcpclscd == "A4" || prcpclscd == "A6") {
  912. //grd_prtlprcp.editCell();
  913. setParameter("SPADB61200_prcpclscd", prcpclscd); //약종류에 따라 용법구분 default 지정되도록 parameter 설정 (2009.05.26 JJE)
  914. model.setValue("/root/temp/receivedata/receiveref", model.getValue("/root/hidden/receivedrugcd"));
  915. modal("SPADB61200",0,150,150,"SPADB61200","/root/hidden/receivemthd","/root/hidden/receiveref");
  916. if (model.getValue("/root/hidden/mthdcd")!="" ) {
  917. model.setValue("/root/main/prtlprcplist/item["+datagridRow+"]/drugmthdspccd", model.getValue("/root/hidden/mthdcd"));
  918. model.setValue("/root/temp/bfprcptims", model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcptims"));
  919. if ( isFinite(model.getValue("/root/hidden/mthdcd").substring(2,3)) == true ){
  920. model.setValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcptims", model.getValue("/root/hidden/mthdcd").substring(2,3));
  921. } else {
  922. model.setValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcptims", "1");
  923. }
  924. //20110110 이선경 수정 : 횟수가 변경되면 용량, 수량 계산 다시 해야함
  925. grd_prtlprcp.dispatch("onendedit");
  926. }
  927. //grd_prtlprcp.endEditCell();
  928. } else if ( prcpclscd == "B2" || prcpclscd == "B4" || prcpclscd == "B6" ) {
  929. fGetSpc (datagridRow);
  930. }
  931. grd_prtlprcp.addStatus(grd_prtlprcp.row,"update");
  932. }
  933. if ( grd_prtlprcp.col== grd_prtlprcp.colRef("remark") ){
  934. model.setValue("/root/temp/remark", model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/remark"));
  935. model.refresh();
  936. grp_remark.visible=true;
  937. }
  938. if ( grd_prtlprcp.col== grd_prtlprcp.colRef("nursrem") ){
  939. model.setValue("/root/temp/remark", model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/nursrem"));
  940. model.refresh();
  941. grp_remark.visible=true;
  942. }
  943. if ( grd_prtlprcp.col== grd_prtlprcp.colRef("prnprcpflagbtn") ){
  944. model.setValue("/root/temp/prntms","");
  945. model.setValue("/root/temp/prnprcpresncd","");
  946. model.setValue("/root/temp/prnresncmt","");
  947. model.setValue ( "/root/send/cond1", "172" );
  948. submit("TRMMB16401" );
  949. var prnprcpdtl = model.getValue ( "/root/main/prtlprcplist/item["+datagridRow+"]/prnprcpdtl");
  950. if ( prnprcpdtl.length >0){
  951. group25.visible = true;
  952. var SetPrnPrcpDetl = prnprcpdtl.split("|");
  953. model.setValue("/root/temp/prntms",SetPrnPrcpDetl[0]);
  954. model.setValue("/root/temp/prnprcpresncd",SetPrnPrcpDetl[1]);
  955. if (SetPrnPrcpDetl[2] != '-'){
  956. model.setValue("/root/temp/prnresncmt",SetPrnPrcpDetl[2]);
  957. }
  958. if ( prnprcpdtl.length >3){
  959. model.setValue("/root/temp/prnterm",SetPrnPrcpDetl[3]);
  960. }
  961. model.refresh();
  962. }else if ( prnprcpdtl.length ==0) {
  963. messageBox("PRN처방 횟수및 사유가 입력되지 않았습니다.","I");
  964. }
  965. }
  966. if ( grd_prtlprcp.col== grd_prtlprcp.colRef("prcpcd") ) {
  967. searchDrugGrid({Code:"prcpcd",Name:"prcpnm",Rslt:grd_prtlprcp.attribute("nodeset"),Func:"fSetPrcpCd"});
  968. /*
  969. if (model.getValue("/root/hidden/prcpinfo/prcplist/prcpcd") != "" ) {
  970. fSetPrcpCd();
  971. return;
  972. }
  973. */
  974. }
  975. ]]>
  976. </script>
  977. <script type="javascript" ev:event="onkeypress">
  978. <![CDATA[
  979. var mthdcd ="";
  980. var datagridRow = getDatagridRow();
  981. if (event.keyCode==13){
  982. //grd_prtlprcp.endEditCell();
  983. if ( grd_prtlprcp.col== grd_prtlprcp.colRef("prcpnm") ){
  984. model.setValue("/root/send/srchinfo/srchdrugnm", model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpnm"));
  985. submit("TRADB00106");
  986. if ( grd_druglist.rows> 2 ) {
  987. grd_druglist.visible=true;
  988. model.refresh();
  989. } else if ( grd_druglist.rows == 2 ) {
  990. grd_druglist.visible=false;
  991. model.setValue( "/root/main/prtlprcplist/item["+datagridRow+"]/prcpcd", model.getValue("/root/main/srchinfo/item[1]/drugcd") );
  992. model.refresh();
  993. fSetPrcpCd();
  994. }
  995. model.refresh();
  996. return;
  997. }
  998. if ( grd_prtlprcp.col== grd_prtlprcp.colRef("prcpcd") ){
  999. if ( model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpcd")=="" ) {
  1000. messageBox("코드를 입력하십시오.","C999");
  1001. return;
  1002. }
  1003. fSetPrcpCd();
  1004. if (model.getValue("/root/hidden/prcpinfo/prcplist/prcpcd")=="" ) {
  1005. //해당코드가 없으면 약품코드 부분코드, 구코드 검색을 실시한다.
  1006. model.setValue("/root/send/srchinfo/srchcd", model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpcd").toUpperCase() );
  1007. submit("TRADB00106");
  1008. if ( grd_druglist.rows> 2 ) {
  1009. //grd_druglist.attribute("style") = "left:"+ (event.targetX+20)+" px; top:"+ (event.targetY+10) +"px; width:570px; height:160px; border-width:3px; border-style:solid; ";
  1010. grd_druglist.visible=true;
  1011. } else if ( grd_druglist.rows == 2 ) {
  1012. grd_druglist.visible=false;
  1013. model.setValue( "/root/main/prtlprcplist/item["+datagridRow+"]/prcpcd", model.getValue("/root/main/srchinfo/item[1]/drugcd") );
  1014. model.refresh();
  1015. fSetPrcpCd();
  1016. }
  1017. return;
  1018. }
  1019. //fSetPrcpCd();
  1020. }
  1021. if ( grd_prtlprcp.col== grd_prtlprcp.colRef("prcpcd") ){
  1022. if (model.getValue("/root/hidden/prcpinfo/prcplist/prcpcd")=="" ) {
  1023. grd_prtlprcp.editCell();
  1024. return;
  1025. }
  1026. /* 커서 이동 */
  1027. //20101113 이선경 수정 : 1회용량, 1회수량 추가
  1028. if(colHidnValue == "C") {//1회기준
  1029. grd_prtlprcp.col = grd_prtlprcp.colRef("prcpvol2");
  1030. } else {//1일기준
  1031. grd_prtlprcp.col = grd_prtlprcp.colRef("prcpvol");
  1032. }
  1033. grd_prtlprcp.editCell();
  1034. return;
  1035. }
  1036. if ( grd_prtlprcp.col== grd_prtlprcp.colRef("drugseqno") ){
  1037. /* 커서 이동 */
  1038. grd_prtlprcp.col = grd_prtlprcp.colRef("prcpcd");
  1039. grd_prtlprcp.editCell();
  1040. return;
  1041. }
  1042. if ( grd_prtlprcp.col== grd_prtlprcp.colRef("bsavol") ){
  1043. /*적용구분을 BSA로 셋팅 */
  1044. if (model.getValue( "/root/main/prtlprcplist/item["+datagridRow+"]/bsavol")!="") {
  1045. model.setValue("/root/main/prtlprcplist/item["+datagridRow+"]/volkind","1");
  1046. }
  1047. }
  1048. if ( grd_prtlprcp.col== grd_prtlprcp.colRef("prcpqty") || grd_prtlprcp.col== grd_prtlprcp.colRef("prcpqty2")){
  1049. /* 용량량재계산 */
  1050. /*var volrate = model.getValue("/root/main/prtlprcplist/item["+grd_prtlprcp.row+"]/volrate");
  1051. var prcpvol = model.getValue("/root/main/prtlprcplist/item["+grd_prtlprcp.row+"]/prcpvol");
  1052. var prcpqty = model.getValue("/root/main/prtlprcplist/item["+grd_prtlprcp.row+"]/prcpqty");
  1053. model.setValue("/root/main/prtlprcplist/item["+grd_prtlprcp.row+"]/prcpvol", parseFloat(prcpqty)*parseFloat(volrate));
  1054. */
  1055. /* 커서 이동 */
  1056. grd_prtlprcp.col = grd_prtlprcp.colRef("prcptims");
  1057. grd_prtlprcp.editCell();
  1058. return;
  1059. }
  1060. if ( grd_prtlprcp.col== grd_prtlprcp.colRef("prcpvol") ){
  1061. /* 수량재계산 */
  1062. /*
  1063. var volrate = model.getValue("/root/main/prtlprcplist/item["+grd_prtlprcp.row+"]/volrate");
  1064. var prcpvol = model.getValue("/root/main/prtlprcplist/item["+grd_prtlprcp.row+"]/prcpvol");
  1065. var prcpqty = model.getValue("/root/main/prtlprcplist/item["+grd_prtlprcp.row+"]/prcpqty");
  1066. model.setValue("/root/main/prtlprcplist/item["+grd_prtlprcp.row+"]/prcpqty", Math.round(parseFloat(prcpvol)/parseFloat(volrate)*100)/100);
  1067. */
  1068. /* 커서 이동 */
  1069. grd_prtlprcp.col = grd_prtlprcp.colRef("prcpqty");
  1070. grd_prtlprcp.editCell();
  1071. return;
  1072. }
  1073. if ( grd_prtlprcp.col== grd_prtlprcp.colRef("prcpvol2") ){
  1074. /* 커서 이동 */
  1075. grd_prtlprcp.col = grd_prtlprcp.colRef("prcpqty2");
  1076. grd_prtlprcp.editCell();
  1077. return;
  1078. }
  1079. if ( grd_prtlprcp.col== grd_prtlprcp.colRef("kgvol") ){
  1080. /*적용구분을 KG로 셋팅 */
  1081. if (model.getValue( "/root/main/prtlprcplist/item["+datagridRow+"]/kgvol")!="") {
  1082. model.setValue("/root/main/prtlprcplist/item["+datagridRow+"]/volkind","2");
  1083. }
  1084. }
  1085. if ( grd_prtlprcp.col== grd_prtlprcp.colRef("prcptims") ){
  1086. /* 커서 이동 */
  1087. grd_prtlprcp.col = grd_prtlprcp.colRef("drugmthdspccd");
  1088. grd_prtlprcp.editCell();
  1089. return;
  1090. }
  1091. if ( grd_prtlprcp.col== grd_prtlprcp.colRef("drugmthdspccd") ){
  1092. /* 커서 이동 */
  1093. grd_prtlprcp.col = grd_prtlprcp.colRef("nursrem");
  1094. grd_prtlprcp.editCell();
  1095. return;
  1096. }
  1097. if ( grd_prtlprcp.col== grd_prtlprcp.colRef("nursrem") ){
  1098. /* 커서 이동 */
  1099. if (model.getValue("/root/main/prtlprcplist/item["+(grd_prtlprcp.rows-1)+"]/prcpcd") != ""){
  1100. grd_prtlprcp.addItem();
  1101. /* 투약순서 셋팅 */
  1102. model.setValue("/root/main/prtlprcplist/item["+grd_prtlprcp.row+"]/drugseq", grd_prtlprcp.rows-1);
  1103. } else {
  1104. if (grd_prtlprcp.row!= grd_prtlprcp.rows){
  1105. grd_prtlprcp.row = grd_prtlprcp.row+1;
  1106. }
  1107. }
  1108. //grd_prtlprcp.row = grd_prtlprcp.row+1;
  1109. grd_prtlprcp.col = grd_prtlprcp.colRef("prcpcd");
  1110. grd_prtlprcp.editCell();
  1111. return;
  1112. }
  1113. }
  1114. ]]>
  1115. </script>
  1116. <script type="javascript" ev:event="onaftersort">
  1117. <![CDATA[
  1118. grd_prtlprcp.resizeCells();
  1119. ]]>
  1120. </script>
  1121. <script type="javascript" ev:event="onendedit">
  1122. <![CDATA[
  1123. var datagridRow = getDatagridRow();
  1124. //수정전 1일용량
  1125. var bfprcpvol = model.getValue("/root/temp/bfprcpvol");
  1126. //수정전 1일수량
  1127. var bfprcpqty = model.getValue("/root/temp/bfprcpqty");
  1128. //수정전 1회용량
  1129. var bfprcpvol2 = model.getValue("/root/temp/bfprcpvol2");
  1130. //수정전 1회수량
  1131. var bfprcpqty2 = model.getValue("/root/temp/bfprcpqty2");
  1132. //수정전 횟수
  1133. var bfprcptims = model.getValue("/root/temp/bfprcptims");
  1134. //1일수량 수정시
  1135. if ( grd_prtlprcp.col== grd_prtlprcp.colRef("prcpqty") && bfprcpqty != model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpqty")){
  1136. /* 용량량재계산 */
  1137. var volrate = model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/volrate");
  1138. var prcpvol = model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpvol");
  1139. var prcpqty = model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpqty");
  1140. model.setValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpvol", Math.round(parseFloat(prcpqty)*parseFloat(volrate)*100)/100);
  1141. model.refresh();
  1142. return;
  1143. }
  1144. //1일용량 수정시
  1145. if ( grd_prtlprcp.col== grd_prtlprcp.colRef("prcpvol") && bfprcpvol != model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpvol")){
  1146. /* 수량재계산 */
  1147. var volrate = model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/volrate");
  1148. var prcpvol = model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpvol");
  1149. var prcpqty = model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpqty");
  1150. model.setValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpqty", Math.round(parseFloat(prcpvol)/parseFloat(volrate)*100)/100);
  1151. model.refresh();
  1152. return;
  1153. }
  1154. //횟수수정시
  1155. if ( grd_prtlprcp.col== grd_prtlprcp.colRef("prcptims") || bfprcptims != model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcptims")){
  1156. var prcptims = model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcptims");
  1157. if (model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpclscd").substring(0,1) =="A"){ // 20101011_laboru_경북대병원_D 코드 로직 삭제. 처방분류코드(prcpclscd) 사용
  1158. mthdcd ="";
  1159. mthdcd = model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/drugmthdspccd").substring(0,2) + model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcptims");
  1160. mthdcd = mthdcd + model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/drugmthdspccd").substring(3,8);
  1161. model.setValue("/root/main/prtlprcplist/item["+datagridRow+"]/drugmthdspccd", mthdcd);
  1162. var prcpvol = model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpvol2");
  1163. var prcpqty = model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpqty2");
  1164. //20110110 이선경 수정 : 횟수 수정시 총수량, 총용량 재계산
  1165. model.setValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpvol", prcpvol*prcptims);
  1166. model.setValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpqty", prcpqty*prcptims);
  1167. }
  1168. }
  1169. //1회수량 수정시
  1170. if ( grd_prtlprcp.col== grd_prtlprcp.colRef("prcpqty2") && bfprcpqty2 != model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpqty2")){
  1171. /* 1회용량량재계산 */
  1172. var volrate = model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/volrate");
  1173. var prcpvol = model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpvol2");
  1174. var prcpqty = model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpqty2");
  1175. model.setValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpvol2", parseFloat(prcpqty)*parseFloat(volrate));
  1176. //1일용량재계산
  1177. var prcptims = model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcptims");
  1178. if(prcptims == "" || prcptims == 0) {prcptims = 1;}
  1179. model.setValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpvol", parseFloat(prcpqty)*parseFloat(volrate) * prcptims);
  1180. //1일수량재계산
  1181. model.setValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpqty",parseFloat(prcpqty) * prcptims);
  1182. model.refresh();
  1183. return;
  1184. }
  1185. //1회용량 수정시
  1186. if ( grd_prtlprcp.col== grd_prtlprcp.colRef("prcpvol2") && bfprcpvol2 != model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpvol2")){
  1187. /* 1회수량재계산 */
  1188. var volrate = model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/volrate");
  1189. var prcpvol = model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpvol2");
  1190. var prcpqty = model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpqty2");
  1191. model.setValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpqty2", Math.round(parseFloat(prcpvol)/parseFloat(volrate)*100)/100);
  1192. //1일용량재계산
  1193. var prcptims = model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcptims");
  1194. if(prcptims == "" || prcptims == 0) {prcptims = 1;}
  1195. model.setValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpvol", parseFloat(prcpvol)* prcptims);
  1196. //1일수량재계산
  1197. model.setValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpqty", Math.round(parseFloat(prcpvol)/parseFloat(volrate)*100)/100 * prcptims);
  1198. model.refresh();
  1199. return;
  1200. }
  1201. ]]>
  1202. </script>
  1203. <script type="javascript" ev:event="xforms-value-changed">
  1204. <![CDATA[
  1205. var datagridRow = getDatagridRow();
  1206. if ( grd_prtlprcp.col == grd_prtlprcp.colref("prcptims")) {
  1207. if ( model.getValue ( "/root/main/prtlprcplist/item["+datagridRow+"]/prnprcpflag" ) == "Y" ){
  1208. if ( model.getValue ( "/root/main/prtlprcplist/item["+datagridRow+"]/prcptims" ) != "1" ) {
  1209. messageBox ( "PRN 처방의 횟수는 1만 가능합니다. 1회로 수정하겠습니다." , "E" );
  1210. model.setValue ( "/root/main/prtlprcplist/item["+datagridRow+"]/prcptims", "1" );
  1211. }
  1212. }
  1213. }
  1214. if ( grd_prtlprcp.col == grd_prtlprcp.colref("prnprcpflag")) {
  1215. if ( model.getValue ( "/root/main/prtlprcplist/item["+datagridRow+"]/prnprcpflag" ) == "Y" ) {
  1216. //var drugmastspec = model.getValue("/root/hidden/prcpinfo/prcplist/drugmastspec");
  1217. //var prnl = getArrayData ( drugmastspec, 0, 23, "^", "|" );
  1218. var bfdrugmastspec = model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/drugmastspec");
  1219. var bfprnl = getArrayData ( bfdrugmastspec, 0, 23, "^", "|" );
  1220. if (bfprnl == "N"){
  1221. messageBox ( "PRN 지정이 불가능한 처방입니다." , "E" );
  1222. model.setValue ( "/root/main/prtlprcplist/item["+datagridRow+"]/prnprcpflag" , "N" );
  1223. }
  1224. else if (bfprnl =="Y"){
  1225. if ( model.getValue ( "/root/main/prtlprcplist/item["+datagridRow+"]/prcptims" ) != "1" ) {
  1226. messageBox ( "PRN 처방의 횟수는 1만 가능합니다. 1회로 수정하겠습니다." , "E" );
  1227. var prcptims = model.getValue ( "/root/main/prtlprcplist/item["+datagridRow+"]/prcptims" );
  1228. //1이 아닌 경우는 1로 바꿔주고 경구약인 경우는 용법도 바꿔준다.
  1229. var prcpqty = model.getValue ( "/root/main/prtlprcplist/item["+datagridRow+"]/prcpqty" );
  1230. var prcpvol = model.getValue ( "/root/main/prtlprcplist/item["+datagridRow+"]/prcpvol" );
  1231. if ( prcptims != "0" && model.getValue ( "/root/main/prtlprcplist/item["+datagridRow+"]/prcpclscd" ) == "A2" ) {
  1232. prcpqty = (eval(prcpqty)*1000/eval(prcptims));
  1233. prcpvol = (eval(prcpvol)*1000/eval(prcptims));
  1234. model.setValue ( "/root/main/prtlprcplist/item["+datagridRow+"]/prcpqty", Math.round ( prcpqty ) / 1000);
  1235. model.setValue ( "/root/main/prtlprcplist/item["+datagridRow+"]/prcpvol", Math.round ( prcpvol ) / 1000);
  1236. }
  1237. model.setValue ( "/root/main/prtlprcplist/item["+datagridRow+"]/prcptims", "1" );
  1238. if ( model.getValue ( "/root/main/prtlprcplist/item["+datagridRow+"]/prcpclscd" ) == "A2" ) {
  1239. fBaseMthd(1);
  1240. }
  1241. }
  1242. var monitorNumber = app.monitorNumber;
  1243. var monitorResolutions = app.monitorResolution;
  1244. var monitorResolutionsArr = monitorResolutions.split('|');
  1245. var resolution = monitorResolutionsArr[monitorNumber-1];
  1246. var resolution_width = resolution.split(',')[0];
  1247. var resolution_height = resolution.split(',')[1];
  1248. var xpt = (resolution_width - 246) / 2;
  1249. var ypt = (resolution_height - 119) / 2;
  1250. modal("SPMMO19200",1,xpt, ypt, "SPMMO19200", "/root/tmp/prnresncd", "/root/main/prcp/prcplist/prnresncd", "sysmenu:hidden;", false );
  1251. var resnyn = getParameter("SPMMO19200_rtn1");
  1252. if( resnyn == "N" ){
  1253. model.setValue ( "/root/main/prtlprcplist/item["+datagridRow+"]/prnprcpflag" , "N" );
  1254. }else if(resnyn == "Y") {
  1255. var Sprnprcpdtl = getParameter("SPMMO19200_prnNum") + "|" + getParameter("SPMMO19200_resncd") + "|" + getParameter("SPMMO19200_resncmt") + "|" + getParameter("SPMMO19200_prnTerm");
  1256. model.setValue ( "/root/main/prtlprcplist/item["+datagridRow+"]/prnprcpdtl",Sprnprcpdtl);
  1257. model.setValue ( "/root/main/prtlprcplist/item["+datagridRow+"]/prnprcpflag" , "Y" );
  1258. }
  1259. }
  1260. }
  1261. }
  1262. ]]>
  1263. </script>
  1264. <script type="javascript" ev:event="onstartedit">
  1265. <![CDATA[
  1266. var datagridRow = getDatagridRow();
  1267. //1일용량
  1268. model.setValue("/root/temp/bfprcpvol", model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpvol"));
  1269. //1일수량
  1270. model.setValue("/root/temp/bfprcpqty", model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpqty"));
  1271. //1회용량
  1272. model.setValue("/root/temp/bfprcpvol2", model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpvol2"));
  1273. //1회수량
  1274. model.setValue("/root/temp/bfprcpqty2", model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcpqty2"));
  1275. //횟수
  1276. model.setValue("/root/temp/bfprcptims", model.getValue("/root/main/prtlprcplist/item["+datagridRow+"]/prcptims"));
  1277. ]]>
  1278. </script>
  1279. </datagrid>
  1280. <button id="btn_apply" class="btn2_letter4" style="left:410px; top:145px; width:64px; height:19px; ">
  1281. <caption>일괄적용</caption>
  1282. <script type="javascript" ev:event="DOMActivate">
  1283. <![CDATA[
  1284. var iChkCnt = model.getXPathValue("count("+grd_prtlprcp.nodeset+"[chk='Y'])");
  1285. if (iChkCnt == 0) {
  1286. messageBox("일괄적용할 처방목록을 선택하여 주십시오.", "");
  1287. return;
  1288. }
  1289. fSetPrcpCdAll(ipt_drugcd.value);//체크한 처방목록에 선택한 약품정보로 일괄 적용
  1290. ]]>
  1291. </script>
  1292. </button>
  1293. <button id="button5" class="btn4_letter2" style="left:1130px; top:110px; width:56px; height:22px; ">
  1294. <caption>저장</caption>
  1295. <script type="javascript" ev:event="DOMActivate">
  1296. <![CDATA[
  1297. fSaveData();
  1298. ]]>
  1299. </script>
  1300. </button>
  1301. <button id="button4" class="btn2_letter3" style="left:1135px; top:145px; width:53px; height:19px; ">
  1302. <caption>행삭제</caption>
  1303. <script type="javascript" ev:event="DOMActivate">
  1304. <![CDATA[
  1305. fDelRow();
  1306. ]]>
  1307. </script>
  1308. </button>
  1309. <button id="button1" class="icon_search" style="left:205px; top:146px; width:16px; height:16px; ">
  1310. <caption/>
  1311. <script type="javascript" ev:event="DOMActivate">
  1312. <![CDATA[
  1313. var prcpcd = "";
  1314. model.setValue("/root/temp/receivedata/srchdrugcd", ipt_drugcd.value);
  1315. model.setValue("/root/temp/receivedata/srchtype", "B");
  1316. model.setValue("/root/temp/receivedata/receiveref", "/root/send/srchprcpinfo");
  1317. modal("SPADB60100",0,100,150,"SPADB60100","/root/temp/receivedata","/root/temp/receivedata");
  1318. ]]>
  1319. </script>
  1320. </button>
  1321. <input id="ipt_drugcd" ref="/root/send/srchprcpinfo/srchdrugcd" class="input_search" autonext="false" imemode="alpha" maxlength="12" style="left:110px; top:145px; width:90px; height:19px; ">
  1322. <script type="javascript" ev:event="onkeyup">
  1323. <![CDATA[
  1324. if(event.keyCode == "13") {
  1325. setInputNodeCurText();
  1326. searchDrug({Code:ipt_drugcd, Name:opt_drugnm, Rslt:"/root/send/srchprcpinfo"});//,Func:fSetPrcpCdAll});
  1327. }
  1328. ]]>
  1329. </script>
  1330. <script type="javascript" ev:event="xforms-value-changed">
  1331. <![CDATA[
  1332. if (ipt_drugcd.value == "") {
  1333. opt_drugnm.value = "";
  1334. }
  1335. ]]>
  1336. </script>
  1337. </input>
  1338. <caption id="caption1" class="cell_1" style="left:20px; top:146px; width:86px; height:17px; ">약품코드</caption>
  1339. <input id="opt_drugnm" ref="/root/send/srchprcpinfo/hngnm" class="input_search" editable="false" style="left:225px; top:145px; width:177px; height:19px; "/>
  1340. </group>
  1341. <group id="group1" style="left:0px; top:0px; width:1194px; height:13px; ">
  1342. <caption id="caption19" class="tit_1" style="left:0px; top:0px; width:150px; height:14px; ">약품별프로토콜관리</caption>
  1343. </group>
  1344. <datagrid id="grd_druglist" nodeset="/root/main/srchinfo/item" visibility="hidden" caption="약품코드^구코드^약품명" colsep="^" colwidth="117, 100, 324" mergecellsfixedrows="bycolrec" rowsep="|" selectionmode="byrow" style="left:10px; top:310px; width:570px; height:160px; border-width:3px; border-style:solid; ">
  1345. <col ref="drugcd"/>
  1346. <col ref="olddrugcd"/>
  1347. <col ref="drugnm"/>
  1348. <script type="javascript" ev:event="ondblclick">
  1349. <![CDATA[
  1350. grd_druglist.visible=false;
  1351. model.setValue( "/root/main/prtlprcplist/item["+getDatagridRow()+"]/prcpcd", model.getValue("/root/main/srchinfo/item["+grd_druglist.row+"]/drugcd") );
  1352. model.refresh();
  1353. fSetPrcpCd();
  1354. model.refresh();
  1355. ]]>
  1356. </script>
  1357. <script type="javascript" ev:event="xforms-value-changed">
  1358. <![CDATA[
  1359. ]]>
  1360. </script>
  1361. </datagrid>
  1362. <group id="grp_remark" visibility="hidden" style="left:810px; top:280px; width:325px; height:165px; border-color:#000080; border-width:2; border-style:solid; ">
  1363. <button id="button20" class="btn4_letter2" visibility="visible" style="left:253px; top:128px; width:56px; height:22px; ">
  1364. <caption>닫기</caption>
  1365. <script type="javascript" ev:event="DOMActivate">
  1366. <![CDATA[
  1367. grp_remark.visible=false;
  1368. ]]>
  1369. </script>
  1370. </button>
  1371. <textarea id="textarea1" ref="/root/temp/remark" class="input_default" style="left:3px; top:3px; width:305px; height:120px; "/>
  1372. <group id="group8" visibility="hidden" style="left:720px; top:410px; width:315px; height:155px; border-color:#000080; border-width:2; border-style:solid; ">
  1373. <button id="button29" class="btn4_letter2" visibility="visible" style="left:253px; top:128px; width:56px; height:22px; ">
  1374. <caption>닫기</caption>
  1375. <script type="javascript" ev:event="DOMActivate">
  1376. <![CDATA[
  1377. grp_remark.visible=false;
  1378. ]]>
  1379. </script>
  1380. </button>
  1381. <textarea id="textarea2" ref="/root/temp/remark" class="input_default" style="left:3px; top:3px; width:305px; height:120px; "/>
  1382. </group>
  1383. <group id="group9" visibility="hidden" style="left:735px; top:420px; width:315px; height:155px; border-color:#000080; border-width:2; border-style:solid; ">
  1384. <button id="button30" class="btn4_letter2" visibility="visible" style="left:253px; top:128px; width:56px; height:22px; ">
  1385. <caption>닫기</caption>
  1386. <script type="javascript" ev:event="DOMActivate">
  1387. <![CDATA[
  1388. grp_remark.visible=false;
  1389. ]]>
  1390. </script>
  1391. </button>
  1392. <textarea id="textarea3" ref="/root/temp/remark" class="input_default" style="left:3px; top:3px; width:305px; height:120px; "/>
  1393. <group id="group10" visibility="hidden" style="left:720px; top:410px; width:315px; height:155px; border-color:#000080; border-width:2; border-style:solid; ">
  1394. <button id="button31" class="btn4_letter2" visibility="visible" style="left:253px; top:128px; width:56px; height:22px; ">
  1395. <caption>닫기</caption>
  1396. <script type="javascript" ev:event="DOMActivate">
  1397. <![CDATA[
  1398. grp_remark.visible=false;
  1399. ]]>
  1400. </script>
  1401. </button>
  1402. <textarea id="textarea4" ref="/root/temp/remark" class="input_default" style="left:3px; top:3px; width:305px; height:120px; "/>
  1403. </group>
  1404. </group>
  1405. <group id="group11" visibility="hidden" style="left:745px; top:420px; width:315px; height:155px; border-color:#000080; border-width:2; border-style:solid; ">
  1406. <button id="button32" class="btn4_letter2" visibility="visible" style="left:253px; top:128px; width:56px; height:22px; ">
  1407. <caption>닫기</caption>
  1408. <script type="javascript" ev:event="DOMActivate">
  1409. <![CDATA[
  1410. grp_remark.visible=false;
  1411. ]]>
  1412. </script>
  1413. </button>
  1414. <textarea id="textarea5" ref="/root/temp/remark" class="input_default" style="left:3px; top:3px; width:305px; height:120px; "/>
  1415. <group id="group12" visibility="hidden" style="left:720px; top:410px; width:315px; height:155px; border-color:#000080; border-width:2; border-style:solid; ">
  1416. <button id="button33" class="btn4_letter2" visibility="visible" style="left:253px; top:128px; width:56px; height:22px; ">
  1417. <caption>닫기</caption>
  1418. <script type="javascript" ev:event="DOMActivate">
  1419. <![CDATA[
  1420. grp_remark.visible=false;
  1421. ]]>
  1422. </script>
  1423. </button>
  1424. <textarea id="textarea6" ref="/root/temp/remark" class="input_default" style="left:3px; top:3px; width:305px; height:120px; "/>
  1425. </group>
  1426. <group id="group13" visibility="hidden" style="left:735px; top:420px; width:315px; height:155px; border-color:#000080; border-width:2; border-style:solid; ">
  1427. <button id="button34" class="btn4_letter2" visibility="visible" style="left:253px; top:128px; width:56px; height:22px; ">
  1428. <caption>닫기</caption>
  1429. <script type="javascript" ev:event="DOMActivate">
  1430. <![CDATA[
  1431. grp_remark.visible=false;
  1432. ]]>
  1433. </script>
  1434. </button>
  1435. <textarea id="textarea7" ref="/root/temp/remark" class="input_default" style="left:3px; top:3px; width:305px; height:120px; "/>
  1436. <group id="group14" visibility="hidden" style="left:720px; top:410px; width:315px; height:155px; border-color:#000080; border-width:2; border-style:solid; ">
  1437. <button id="button35" class="btn4_letter2" visibility="visible" style="left:253px; top:128px; width:56px; height:22px; ">
  1438. <caption>닫기</caption>
  1439. <script type="javascript" ev:event="DOMActivate">
  1440. <![CDATA[
  1441. grp_remark.visible=false;
  1442. ]]>
  1443. </script>
  1444. </button>
  1445. <textarea id="textarea8" ref="/root/temp/remark" class="input_default" style="left:3px; top:3px; width:305px; height:120px; "/>
  1446. </group>
  1447. </group>
  1448. </group>
  1449. <group id="group15" visibility="hidden" style="left:745px; top:420px; width:315px; height:155px; border-color:#000080; border-width:2; border-style:solid; ">
  1450. <button id="button36" class="btn4_letter2" visibility="visible" style="left:253px; top:128px; width:56px; height:22px; ">
  1451. <caption>닫기</caption>
  1452. <script type="javascript" ev:event="DOMActivate">
  1453. <![CDATA[
  1454. grp_remark.visible=false;
  1455. ]]>
  1456. </script>
  1457. </button>
  1458. <textarea id="textarea9" ref="/root/temp/remark" class="input_default" style="left:3px; top:3px; width:305px; height:120px; "/>
  1459. <group id="group16" visibility="hidden" style="left:720px; top:410px; width:315px; height:155px; border-color:#000080; border-width:2; border-style:solid; ">
  1460. <button id="button37" class="btn4_letter2" visibility="visible" style="left:253px; top:128px; width:56px; height:22px; ">
  1461. <caption>닫기</caption>
  1462. <script type="javascript" ev:event="DOMActivate">
  1463. <![CDATA[
  1464. grp_remark.visible=false;
  1465. ]]>
  1466. </script>
  1467. </button>
  1468. <textarea id="textarea10" ref="/root/temp/remark" class="input_default" style="left:3px; top:3px; width:305px; height:120px; "/>
  1469. </group>
  1470. <group id="group17" visibility="hidden" style="left:735px; top:420px; width:315px; height:155px; border-color:#000080; border-width:2; border-style:solid; ">
  1471. <button id="button38" class="btn4_letter2" visibility="visible" style="left:253px; top:128px; width:56px; height:22px; ">
  1472. <caption>닫기</caption>
  1473. <script type="javascript" ev:event="DOMActivate">
  1474. <![CDATA[
  1475. grp_remark.visible=false;
  1476. ]]>
  1477. </script>
  1478. </button>
  1479. <textarea id="textarea11" ref="/root/temp/remark" class="input_default" style="left:3px; top:3px; width:305px; height:120px; "/>
  1480. <group id="group18" visibility="hidden" style="left:720px; top:410px; width:315px; height:155px; border-color:#000080; border-width:2; border-style:solid; ">
  1481. <button id="button39" class="btn4_letter2" visibility="visible" style="left:253px; top:128px; width:56px; height:22px; ">
  1482. <caption>닫기</caption>
  1483. <script type="javascript" ev:event="DOMActivate">
  1484. <![CDATA[
  1485. grp_remark.visible=false;
  1486. ]]>
  1487. </script>
  1488. </button>
  1489. <textarea id="textarea12" ref="/root/temp/remark" class="input_default" style="left:3px; top:3px; width:305px; height:120px; "/>
  1490. </group>
  1491. </group>
  1492. <group id="group19" visibility="hidden" style="left:745px; top:420px; width:315px; height:155px; border-color:#000080; border-width:2; border-style:solid; ">
  1493. <button id="button40" class="btn4_letter2" visibility="visible" style="left:253px; top:128px; width:56px; height:22px; ">
  1494. <caption>닫기</caption>
  1495. <script type="javascript" ev:event="DOMActivate">
  1496. <![CDATA[
  1497. grp_remark.visible=false;
  1498. ]]>
  1499. </script>
  1500. </button>
  1501. <textarea id="textarea13" ref="/root/temp/remark" class="input_default" style="left:3px; top:3px; width:305px; height:120px; "/>
  1502. <group id="group20" visibility="hidden" style="left:720px; top:410px; width:315px; height:155px; border-color:#000080; border-width:2; border-style:solid; ">
  1503. <button id="button41" class="btn4_letter2" visibility="visible" style="left:253px; top:128px; width:56px; height:22px; ">
  1504. <caption>닫기</caption>
  1505. <script type="javascript" ev:event="DOMActivate">
  1506. <![CDATA[
  1507. grp_remark.visible=false;
  1508. ]]>
  1509. </script>
  1510. </button>
  1511. <textarea id="textarea14" ref="/root/temp/remark" class="input_default" style="left:3px; top:3px; width:305px; height:120px; "/>
  1512. </group>
  1513. <group id="group21" visibility="hidden" style="left:735px; top:420px; width:315px; height:155px; border-color:#000080; border-width:2; border-style:solid; ">
  1514. <button id="button42" class="btn4_letter2" visibility="visible" style="left:253px; top:128px; width:56px; height:22px; ">
  1515. <caption>닫기</caption>
  1516. <script type="javascript" ev:event="DOMActivate">
  1517. <![CDATA[
  1518. grp_remark.visible=false;
  1519. ]]>
  1520. </script>
  1521. </button>
  1522. <textarea id="textarea15" ref="/root/temp/remark" class="input_default" style="left:3px; top:3px; width:305px; height:120px; "/>
  1523. <group id="group22" visibility="hidden" style="left:720px; top:410px; width:315px; height:155px; border-color:#000080; border-width:2; border-style:solid; ">
  1524. <button id="button43" class="btn4_letter2" visibility="visible" style="left:253px; top:128px; width:56px; height:22px; ">
  1525. <caption>닫기</caption>
  1526. <script type="javascript" ev:event="DOMActivate">
  1527. <![CDATA[
  1528. grp_remark.visible=false;
  1529. ]]>
  1530. </script>
  1531. </button>
  1532. <textarea id="textarea16" ref="/root/temp/remark" class="input_default" style="left:3px; top:3px; width:305px; height:120px; "/>
  1533. </group>
  1534. </group>
  1535. </group>
  1536. </group>
  1537. </group>
  1538. <group id="group25" visibility="hidden" style="left:600px; top:255px; width:203px; height:250px; border-color:#000080; border-style:solid; ">
  1539. <button id="button25" class="btn4_letter2" visibility="visible" style="left:144px; top:214px; width:56px; height:22px; ">
  1540. <caption>닫기</caption>
  1541. <script type="javascript" ev:event="DOMActivate">
  1542. <![CDATA[
  1543. group25.visible=false;
  1544. ]]>
  1545. </script>
  1546. </button>
  1547. <caption id="caption16" class="tit_2" style="left:3px; top:3px; width:82px; height:13px; ">PRN</caption>
  1548. <caption id="caption17" style="left:1px; top:17px; width:35px; height:20px; ">횟수:</caption>
  1549. <caption id="caption18" style="left:86px; top:17px; width:16px; height:20px; ">회</caption>
  1550. <output id="output1" ref="/root/temp/prntms" style="left:32px; top:18px; width:50px; height:19px; text-align:right; padding-right:2; border-color:#c0c0c0; border-style:solid; "/>
  1551. <caption id="caption20" style="left:1px; top:38px; width:30px; height:20px; ">간격:</caption>
  1552. <output id="output2" ref="/root/temp/prnterm" style="left:32px; top:38px; width:167px; height:19px; text-align:right; padding-right:2; border-color:#c0c0c0; border-style:solid; "/>
  1553. <caption id="caption7" style="left:1px; top:58px; width:30px; height:20px; ">사유:</caption>
  1554. <select1 id="combo7" ref="/root/temp/prnprcpresncd" disabled="true" appearance="minimal" style="left:32px; top:58px; width:122px; height:19px; ">
  1555. <choices>
  1556. <itemset nodeset="/root/temp/hardcd/hardcd">
  1557. <label ref="hardcdnm"/>
  1558. <value ref="hardcd"/>
  1559. </itemset>
  1560. </choices>
  1561. </select1>
  1562. <textarea id="textarea17" ref="/root/temp/prnresncmt" disabled="false" editable="false" style="left:-1px; top:84px; width:200px; height:125px; "/>
  1563. </group>
  1564. </xhtml:body>
  1565. </xhtml:html>