SMADB00801_약품별프로토콜관리.xfdl 83 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMADB00801" position="absolute 0 0 1203 712" titletext="약품별프로토콜관리" oninit="SMADB00801_oninit" onload="SMADB00801_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 96 1197 706" id="group3" scrollbars="autoboth">
  8. <Layouts>
  9. <Layout>
  10. <Static text="처방목록" position="absolute 1 17 217 35" id="caption22" class="tit_2" anchor="default"/>
  11. <Shape position="absolute 0 33 1194 39" linetype="horizontal" id="line1" class="line_1" anchor="default" style="strokepen:3 solid #33bbbbff;"/>
  12. <Grid position="absolute 0 67 1194 609" id="grd_prtlprcp" class="datagrid2" binddataset="ds_grd_prtlprcp" anchor="default" autosizingtype="none" onexpanddown="group3_grd_prtlprcp_onexpanddown" ontextchanged="group3_grd_prtlprcp_ontextchanged" onkeydown="group3_grd_prtlprcp_onkeydown" onkillfocus="group3_grd_prtlprcp_onkillfocus" onenteredit="group3_grd_prtlprcp_onenteredit" onheadclick="group3_grd_prtlprcp_onheadclick">
  13. <Formats>
  14. <Format id="default">
  15. <Columns>
  16. <Column size="25"/>
  17. <Column size="40"/>
  18. <Column size="100"/>
  19. <Column size="100"/>
  20. <Column size="45"/>
  21. <Column size="170"/>
  22. <Column size="40"/>
  23. <Column size="36"/>
  24. <Column size="36"/>
  25. <Column size="0"/>
  26. <Column size="30"/>
  27. <Column size="104"/>
  28. <Column size="214"/>
  29. <Column size="38"/>
  30. <Column size="35"/>
  31. <Column size="40"/>
  32. <Column size="40"/>
  33. <Column size="51"/>
  34. <Column size="51"/>
  35. <Column size="31"/>
  36. <Column size="56"/>
  37. <Column size="58"/>
  38. <Column size="31"/>
  39. <Column size="26"/>
  40. <Column size="0"/>
  41. <Column size="31"/>
  42. <Column size="30"/>
  43. <Column size="74"/>
  44. <Column size="100"/>
  45. <Column size="29"/>
  46. <Column size="18"/>
  47. <Column size="79"/>
  48. <Column size="97"/>
  49. <Column size="0"/>
  50. <Column size="0"/>
  51. <Column size="0"/>
  52. <Column size="0"/>
  53. <Column size="0"/>
  54. <Column size="0"/>
  55. <Column size="0"/>
  56. <Column size="0"/>
  57. <Column size="0"/>
  58. <Column size="0"/>
  59. <Column size="0"/>
  60. <Column size="0"/>
  61. <Column size="0"/>
  62. </Columns>
  63. <Rows>
  64. <Row size="33" band="head"/>
  65. <Row size="24"/>
  66. </Rows>
  67. <Band id="head">
  68. <Cell/>
  69. <Cell col="1" text="선택"/>
  70. <Cell col="2" text="진료과"/>
  71. <Cell col="3" text="질병분류"/>
  72. <Cell col="4" text="입원/&#10;외래" combodataset="ds_init_inout" combocodecol="cdid" combodatacol="cdnm"/>
  73. <Cell col="5" text="프로토콜"/>
  74. <Cell col="6" text="차수"/>
  75. <Cell col="7" text="출력순서"/>
  76. <Cell col="8" text="투여시점"/>
  77. <Cell col="9" text="투약시간"/>
  78. <Cell col="10" text="MIX"/>
  79. <Cell col="11" text="코드"/>
  80. <Cell col="12" text="처방명"/>
  81. <Cell col="13" text="급여"/>
  82. <Cell col="14" text="적용방법"/>
  83. <Cell col="15" text="BSA/AUC"/>
  84. <Cell col="16" text="KG당용량"/>
  85. <Cell col="17" text="1일용량"/>
  86. <Cell col="18" text="1회용량"/>
  87. <Cell col="19" text="단위"/>
  88. <Cell col="20" text="1일수량"/>
  89. <Cell col="21" text="1회수량"/>
  90. <Cell col="22" text="단위"/>
  91. <Cell col="23" text="투여속도"/>
  92. <Cell col="24" text="단위"/>
  93. <Cell col="25" text="횟수"/>
  94. <Cell col="26" text="임상"/>
  95. <Cell col="27" text="복용코드"/>
  96. <Cell col="28" text="복용법"/>
  97. <Cell col="29" colspan="2" text="PRN" taborder="undefined"/>
  98. <Cell col="31" text="투여시간"/>
  99. <Cell col="32" text="전달사항"/>
  100. <Cell col="33" text="실행부서"/>
  101. <Cell col="34" text="처방구분"/>
  102. <Cell col="35"/>
  103. <Cell col="36" text="처방순번"/>
  104. <Cell col="37"/>
  105. <Cell col="38"/>
  106. <Cell col="39"/>
  107. <Cell col="40"/>
  108. <Cell col="41"/>
  109. <Cell col="42"/>
  110. <Cell col="43"/>
  111. <Cell col="44"/>
  112. <Cell col="45" text="rown"/>
  113. </Band>
  114. <Band id="body">
  115. <Cell celltype="head"/>
  116. <Cell col="1" displaytype="checkbox" edittype="checkbox" text="bind:chk" expr="expr:(chk==&quot;Y&quot;||chk==1)?1:0"/>
  117. <Cell col="2" displaytype="normal" edittype="none" text="bind:orddeptnm"/>
  118. <Cell col="3" displaytype="normal" edittype="none" text="bind:sickclsnm"/>
  119. <Cell col="4" displaytype="combo" edittype="combo" text="bind:ioflag" combodataset="ds_init_inout" combocodecol="cdid" combodatacol="cdnm"/>
  120. <Cell col="5" displaytype="normal" edittype="none" text="bind:ptrlnm"/>
  121. <Cell col="6" displaytype="normal" edittype="none" text="bind:prtldg"/>
  122. <Cell col="7" displaytype="text" edittype="text" text="bind:dispseqno"/>
  123. <Cell col="8" displaytype="text" edittype="text" text="bind:drugseq"/>
  124. <Cell col="9" displaytype="text" edittype="text" text="bind:drugtt"/>
  125. <Cell col="10" displaytype="text" edittype="text" text="bind:prcpmixno"/>
  126. <Cell col="11" displaytype="text" edittype="text" text="bind:prcpcd" expandshow="show"/>
  127. <Cell col="12" displaytype="text" edittype="text" text="bind:prcpnm"/>
  128. <Cell col="13" displaytype="combo" edittype="combo" text="bind:payflagcd" combodataset="ds_init_P0104" combocodecol="orddeptcd" combodatacol="orddeptnm"/>
  129. <Cell col="14" displaytype="combo" edittype="combo" text="bind:volkind" combodataset="ds_volkind" combocodecol="cdid" combodatacol="cdnm"/>
  130. <Cell col="15" displaytype="text" edittype="text" text="bind:bsavol"/>
  131. <Cell col="16" displaytype="text" edittype="text" text="bind:kgvol"/>
  132. <Cell col="17" displaytype="text" edittype="text" text="bind:prcpvol"/>
  133. <Cell col="18" displaytype="text" edittype="text" text="bind:prcpvol2"/>
  134. <Cell col="19" text="bind:prcpvolunitnm"/>
  135. <Cell col="20" displaytype="text" edittype="text" text="bind:prcpqty"/>
  136. <Cell col="21" displaytype="text" edittype="text" text="bind:prcpqty2"/>
  137. <Cell col="22" text="bind:prcpqtyunitnm"/>
  138. <Cell col="23" text="bind:drugspd"/>
  139. <Cell col="24" text="bind:drugspdunitnm"/>
  140. <Cell col="25" displaytype="text" edittype="text" text="bind:prcptims"/>
  141. <Cell col="26" displaytype="combo" edittype="combo" text="bind:clincstdyflag"/>
  142. <Cell col="27" displaytype="text" edittype="text" text="bind:drugmthdspccd" expandshow="show"/>
  143. <Cell col="28" text="bind:drugmthdspccdnm"/>
  144. <Cell col="29" displaytype="checkbox" edittype="checkbox" text="bind:prnprcpflag" expr="expr:(prnprcpflag==&quot;Y&quot;||prnprcpflag==1)?1:0"/>
  145. <Cell col="30" displaytype="text" edittype="text" text="bind:prnprcpflagbtn" expandshow="show"/>
  146. <Cell col="31" displaytype="text" edittype="text" text="bind:nursrem" expandshow="show"/>
  147. <Cell col="32" displaytype="text" edittype="text" text="bind:remark" expandshow="show"/>
  148. <Cell col="33" displaytype="text" edittype="text" text="bind:prcpexecdeptcd"/>
  149. <Cell col="34" text="bind:orddeptcd"/>
  150. <Cell col="35" text="bind:sickclscd"/>
  151. <Cell col="36" text="bind:prtlcd"/>
  152. <Cell col="37" text="bind:ordseqno"/>
  153. <Cell col="38" text="bind:prcpvolunitflag"/>
  154. <Cell col="39" text="bind:prcpqtyunitflag"/>
  155. <Cell col="40" text="bind:drugspdunitflag"/>
  156. <Cell col="41" text="bind:volrate"/>
  157. <Cell col="42" text="bind:prcpclscd"/>
  158. <Cell col="43" text="bind:prnprcpdtl"/>
  159. <Cell col="44" text="bind:drugmastspec"/>
  160. <Cell col="45" text="bind:rown"/>
  161. </Band>
  162. </Format>
  163. </Formats>
  164. </Grid>
  165. <Button position="absolute 402 41 466 60" id="btn_apply" class="btn2" text="일괄적용" anchor="default" onclick="group3_btn_apply_onclick"/>
  166. <Button position="absolute 1130 7 1186 29" id="button5" class="btn4" text="저장" anchor="default" onclick="group3_button5_onclick"/>
  167. <Button position="absolute 1135 42 1188 61" id="button4" class="btn2" text="행삭제" anchor="default" onclick="group3_button4_onclick"/>
  168. <Button position="absolute 197 42 213 58" id="button1" class="icon_search" text="" anchor="default"/>
  169. <Edit position="absolute 102 41 192 60" id="ipt_drugcd" class="input_search" anchor="default" onkeydown="group3_ipt_drugcd_onkeydown"/>
  170. <Static text="약품코드" position="absolute 12 41 98 61" id="caption1" class="cell_1" anchor="default"/>
  171. <Edit position="absolute 217 41 394 60" id="opt_drugnm" class="input_search" anchor="default"/>
  172. </Layout>
  173. </Layouts>
  174. </Div>
  175. <Grid position="absolute 80 266 544 426" id="grd_druglist" visible="false" binddataset="ds_grd_druglist" oncelldblclick="grd_druglist_oncelldblclick">
  176. <Formats>
  177. <Format id="default">
  178. <Columns>
  179. <Column size="117"/>
  180. <Column size="100"/>
  181. <Column size="324"/>
  182. </Columns>
  183. <Rows>
  184. <Row size="24" band="head"/>
  185. <Row size="24"/>
  186. </Rows>
  187. <Band id="head">
  188. <Cell text="약품코드"/>
  189. <Cell col="1" text="구코드"/>
  190. <Cell col="2" text="약품명"/>
  191. </Band>
  192. <Band id="body">
  193. <Cell text="bind:drugcd"/>
  194. <Cell col="1" text="bind:olddrugcd"/>
  195. <Cell col="2" text="bind:drugnm"/>
  196. </Band>
  197. </Format>
  198. </Formats>
  199. </Grid>
  200. <Div position="absolute 845 280 1160 445" id="grp_remark" visible="false">
  201. <Layouts>
  202. <Layout>
  203. <Button position="absolute 253 124 309 146" id="button20" class="btn4" visible="true" text="닫기" anchor="default" onclick="grp_remark_button20_onclick"/>
  204. <TextArea position="absolute 3 3 308 123" id="textarea1" class="input_default" anchor="default"/>
  205. <Div position="absolute 720 410 722 565" id="group8" visible="false" anchor="default">
  206. <Layouts>
  207. <Layout>
  208. <Button position="absolute 253 128 309 150" id="button29" class="btn4" visible="true" text="닫기" anchor="default"/>
  209. <TextArea position="absolute 3 3 308 123" id="textarea2" class="input_default" anchor="default"/>
  210. </Layout>
  211. </Layouts>
  212. </Div>
  213. <Div position="absolute 735 420 737 575" id="group9" visible="false" anchor="default">
  214. <Layouts>
  215. <Layout>
  216. <Button position="absolute 253 128 309 150" id="button30" class="btn4" visible="true" text="닫기" anchor="default"/>
  217. <TextArea position="absolute 3 3 308 123" id="textarea3" class="input_default" anchor="default"/>
  218. <Div position="absolute 720 410 722 565" id="group10" visible="false" anchor="default">
  219. <Layouts>
  220. <Layout>
  221. <Button position="absolute 253 128 309 150" id="button31" class="btn4" visible="true" text="닫기" anchor="default"/>
  222. <TextArea position="absolute 3 3 308 123" id="textarea4" class="input_default" anchor="default"/>
  223. </Layout>
  224. </Layouts>
  225. </Div>
  226. </Layout>
  227. </Layouts>
  228. </Div>
  229. <Div position="absolute 745 420 747 575" id="group11" visible="false" anchor="default">
  230. <Layouts>
  231. <Layout>
  232. <Button position="absolute 253 128 309 150" id="button32" class="btn4" visible="true" text="닫기" anchor="default"/>
  233. <TextArea position="absolute 3 3 308 123" id="textarea5" class="input_default" anchor="default"/>
  234. <Div position="absolute 720 410 722 565" id="group12" visible="false" anchor="default">
  235. <Layouts>
  236. <Layout>
  237. <Button position="absolute 253 128 309 150" id="button33" class="btn4" visible="true" text="닫기" anchor="default"/>
  238. <TextArea position="absolute 3 3 308 123" id="textarea6" class="input_default" anchor="default"/>
  239. </Layout>
  240. </Layouts>
  241. </Div>
  242. <Div position="absolute 735 420 737 575" id="group13" visible="false" anchor="default">
  243. <Layouts>
  244. <Layout>
  245. <Button position="absolute 253 128 309 150" id="button34" class="btn4" visible="true" text="닫기" anchor="default"/>
  246. <TextArea position="absolute 3 3 308 123" id="textarea7" class="input_default" anchor="default"/>
  247. <Div position="absolute 720 410 722 565" id="group14" visible="false" anchor="default">
  248. <Layouts>
  249. <Layout>
  250. <Button position="absolute 253 128 309 150" id="button35" class="btn4" visible="true" text="닫기" anchor="default"/>
  251. <TextArea position="absolute 3 3 308 123" id="textarea8" class="input_default" anchor="default"/>
  252. </Layout>
  253. </Layouts>
  254. </Div>
  255. </Layout>
  256. </Layouts>
  257. </Div>
  258. </Layout>
  259. </Layouts>
  260. </Div>
  261. <Div position="absolute 745 420 747 575" id="group15" visible="false" anchor="default">
  262. <Layouts>
  263. <Layout>
  264. <Button position="absolute 253 128 309 150" id="button36" class="btn4" visible="true" text="닫기" anchor="default"/>
  265. <TextArea position="absolute 3 3 308 123" id="textarea9" class="input_default" anchor="default"/>
  266. <Div position="absolute 720 410 722 565" id="group16" visible="false" anchor="default">
  267. <Layouts>
  268. <Layout>
  269. <Button position="absolute 253 128 309 150" id="button37" class="btn4" visible="true" text="닫기" anchor="default"/>
  270. <TextArea position="absolute 3 3 308 123" id="textarea10" class="input_default" anchor="default"/>
  271. </Layout>
  272. </Layouts>
  273. </Div>
  274. <Div position="absolute 735 420 737 575" id="group17" visible="false" anchor="default">
  275. <Layouts>
  276. <Layout>
  277. <Button position="absolute 253 128 309 150" id="button38" class="btn4" visible="true" text="닫기" anchor="default"/>
  278. <TextArea position="absolute 3 3 308 123" id="textarea11" class="input_default" anchor="default"/>
  279. <Div position="absolute 720 410 722 565" id="group18" visible="false" anchor="default">
  280. <Layouts>
  281. <Layout>
  282. <Button position="absolute 253 128 309 150" id="button39" class="btn4" visible="true" text="닫기" anchor="default"/>
  283. <TextArea position="absolute 3 3 308 123" id="textarea12" class="input_default" anchor="default"/>
  284. </Layout>
  285. </Layouts>
  286. </Div>
  287. </Layout>
  288. </Layouts>
  289. </Div>
  290. <Div position="absolute 745 420 747 575" id="group19" visible="false" anchor="default">
  291. <Layouts>
  292. <Layout>
  293. <Button position="absolute 253 128 309 150" id="button40" class="btn4" visible="true" text="닫기" anchor="default"/>
  294. <TextArea position="absolute 3 3 308 123" id="textarea13" class="input_default" anchor="default"/>
  295. <Div position="absolute 720 410 722 565" id="group20" visible="false" anchor="default">
  296. <Layouts>
  297. <Layout>
  298. <Button position="absolute 253 128 309 150" id="button41" class="btn4" visible="true" text="닫기" anchor="default"/>
  299. <TextArea position="absolute 3 3 308 123" id="textarea14" class="input_default" anchor="default"/>
  300. </Layout>
  301. </Layouts>
  302. </Div>
  303. <Div position="absolute 735 420 737 575" id="group21" visible="false" anchor="default">
  304. <Layouts>
  305. <Layout>
  306. <Button position="absolute 253 128 309 150" id="button42" class="btn4" visible="true" text="닫기" anchor="default"/>
  307. <TextArea position="absolute 3 3 308 123" id="textarea15" class="input_default" anchor="default"/>
  308. <Div position="absolute 720 410 722 565" id="group22" visible="false" anchor="default">
  309. <Layouts>
  310. <Layout>
  311. <Button position="absolute 253 128 309 150" id="button43" class="btn4" visible="true" text="닫기" anchor="default"/>
  312. <TextArea position="absolute 3 3 308 123" id="textarea16" class="input_default" anchor="default"/>
  313. </Layout>
  314. </Layouts>
  315. </Div>
  316. </Layout>
  317. </Layouts>
  318. </Div>
  319. </Layout>
  320. </Layouts>
  321. </Div>
  322. </Layout>
  323. </Layouts>
  324. </Div>
  325. </Layout>
  326. </Layouts>
  327. </Div>
  328. <Div position="absolute 633 255 843 505" id="group25" visible="false" style="background:white;border:1 solid #808080ff ;">
  329. <Layouts>
  330. <Layout>
  331. <Button position="absolute 149 224 205 246" id="button25" class="btn4" visible="true" text="닫기" anchor="default" onclick="group25_button25_onclick"/>
  332. <Static text="PRN" position="absolute 8 7 90 26" id="caption16" class="tit_2" anchor="default"/>
  333. <Static text="횟수:" position="absolute 6 27 41 47" id="caption17" anchor="default"/>
  334. <Static text="회" position="absolute 91 27 107 47" id="caption18" anchor="default"/>
  335. <Edit readonly="true" position="absolute 37 28 87 47" align="align:right middle;" id="output1" anchor="default"/>
  336. <Static text="간격:" position="absolute 6 48 36 68" id="caption20" anchor="default"/>
  337. <Edit readonly="true" position="absolute 37 48 204 67" align="align:right middle;" id="output2" anchor="default"/>
  338. <Static text="사유:" position="absolute 6 68 36 88" id="caption7" anchor="default"/>
  339. <Combo position="absolute 37 68 159 87" id="combo7" enable="false" innerdataset="@ds_temp_prnhardcd" datacolumn="hardcdnm" codecolumn="hardcd" anchor="default"/>
  340. <TextArea position="absolute 4 94 204 219" id="textarea17" enable="true" anchor="default"/>
  341. </Layout>
  342. </Layouts>
  343. </Div>
  344. <Static id="caption19" text="약품별프로토콜관리" class="tit_1" position="absolute 0 0 150 24"/>
  345. <Div id="group2" taborder="1" style="align:center top;" class="div_SA" position="absolute 0 24 1194 92">
  346. <Layouts>
  347. <Layout>
  348. <Button id="btn_sea" taborder="0" text="조회" class="btn1" position="absolute 1123 8 1179 30" anchor="default" onclick="group2_btn_sea_onclick"/>
  349. <Radio id="radio2" taborder="1" columncount="3" rowcount="0" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 98 38 246 59" anchor="default">
  350. <Dataset id="innerdataset">
  351. <ColumnInfo>
  352. <Column id="codecolumn"/>
  353. <Column id="datacolumn"/>
  354. </ColumnInfo>
  355. <Rows>
  356. <Row>
  357. <Col id="codecolumn">I</Col>
  358. <Col id="datacolumn">입원</Col>
  359. </Row>
  360. <Row>
  361. <Col id="codecolumn">O</Col>
  362. <Col id="datacolumn">외래</Col>
  363. </Row>
  364. <Row>
  365. <Col id="codecolumn">A</Col>
  366. <Col id="datacolumn">전체</Col>
  367. </Row>
  368. </Rows>
  369. </Dataset>
  370. </Radio>
  371. <Static id="caption5" text="입원/외래" class="search_name" position="absolute 13 39 92 56" anchor="default"/>
  372. <Static id="caption4" text="프로토콜" class="search_name" position="absolute 698 11 784 28" anchor="default"/>
  373. <Combo id="cmb_prtlcd" taborder="2" innerdataset="@ds_main_prtllist" codecolumn="prtlcd" datacolumn="prtlnm" class="combo_search" position="absolute 783 11 983 30" anchor="default"/>
  374. <Combo id="cmb_sickclscd" taborder="3" innerdataset="@ds_main_sicklist" codecolumn="sickclscd" datacolumn="sickclsnm" class="combo_search" position="absolute 388 11 588 30" anchor="default" onitemchanged="group2_cmb_sickclscd_onitemchanged"/>
  375. <Static id="caption3" text="질병코드" class="search_name" position="absolute 308 11 388 28" anchor="default"/>
  376. <Combo id="cmb_orddeptcd" taborder="4" innerdataset="@ds_main_orddeptlist" codecolumn="orddeptcd" datacolumn="orddeptnm" class="combo_search" position="absolute 98 11 273 30" anchor="default" onitemchanged="group2_cmb_orddeptcd_onitemchanged"/>
  377. <Static id="caption2" text="진료과" class="search_name" position="absolute 13 12 88 29" anchor="default"/>
  378. <Edit id="opt_prcpnm" taborder="5" class="input_search" position="absolute 503 38 680 57" anchor="default"/>
  379. <Shape id="line13" linetype="vertical" position="absolute 1112 9 1118 31" anchor="default"/>
  380. <Button id="button2" taborder="6" class="icon_search" position="absolute 483 38 499 54" anchor="default" onclick="group2_button2_onclick"/>
  381. <Edit id="ipt_prcpcd" taborder="7" class="input_search" position="absolute 388 38 478 57" anchor="default" onkeydown="group2_ipt_prcpcd_onkeydown" oneditclick="group2_ipt_prcpcd_oneditclick"/>
  382. <Static id="caption6" text="약품코드" class="search_name" position="absolute 308 39 388 56" anchor="default"/>
  383. </Layout>
  384. </Layouts>
  385. </Div>
  386. </Layout>
  387. </Layouts>
  388. <Objects>
  389. <Dataset id="ds_init_P0104" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  390. <ColumnInfo>
  391. <Column id="orddeptnm" type="STRING"/>
  392. <Column id="orddeptcd" type="STRING"/>
  393. </ColumnInfo>
  394. </Dataset>
  395. <Dataset id="ds_grd_prtlprcp" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false" oncolumnchanged="ds_grd_prtlprcp_oncolumnchanged">
  396. <ColumnInfo>
  397. <Column id="chk" type="STRING"/>
  398. <Column id="orddeptnm" type="STRING"/>
  399. <Column id="sickclsnm" type="STRING"/>
  400. <Column id="ioflag" type="STRING"/>
  401. <Column id="ptrlnm" type="STRING"/>
  402. <Column id="prtldg" type="STRING"/>
  403. <Column id="dispseqno" type="STRING"/>
  404. <Column id="drugseq" type="STRING"/>
  405. <Column id="drugtt" type="STRING"/>
  406. <Column id="prcpmixno" type="STRING"/>
  407. <Column id="prcpcd" type="STRING"/>
  408. <Column id="prcpnm" type="STRING"/>
  409. <Column id="payflagcd" type="STRING"/>
  410. <Column id="volkind" type="STRING"/>
  411. <Column id="bsavol" type="STRING"/>
  412. <Column id="kgvol" type="STRING"/>
  413. <Column id="prcpvol" type="STRING"/>
  414. <Column id="prcpvol2" type="STRING"/>
  415. <Column id="prcpvolunitnm" type="STRING"/>
  416. <Column id="prcpqty" type="STRING"/>
  417. <Column id="prcpqty2" type="STRING"/>
  418. <Column id="prcpqtyunitnm" type="STRING"/>
  419. <Column id="drugspd" type="STRING"/>
  420. <Column id="drugspdunitnm" type="STRING"/>
  421. <Column id="prcptims" type="STRING"/>
  422. <Column id="clincstdyflag" type="STRING"/>
  423. <Column id="drugmthdspccd" type="STRING"/>
  424. <Column id="drugmthdspccdnm" type="STRING"/>
  425. <Column id="prnprcpflag" type="STRING"/>
  426. <Column id="prnprcpflagbtn" type="STRING"/>
  427. <Column id="nursrem" type="STRING"/>
  428. <Column id="remark" type="STRING"/>
  429. <Column id="prcpexecdeptcd" type="STRING"/>
  430. <Column id="orddeptcd" type="STRING"/>
  431. <Column id="sickclscd" type="STRING"/>
  432. <Column id="prtlcd" type="STRING"/>
  433. <Column id="ordseqno" type="STRING"/>
  434. <Column id="prcpvolunitflag" type="STRING"/>
  435. <Column id="prcpqtyunitflag" type="STRING"/>
  436. <Column id="drugspdunitflag" type="STRING"/>
  437. <Column id="volrate" type="STRING"/>
  438. <Column id="prcpclscd" type="STRING"/>
  439. <Column id="prnprcpdtl" type="STRING"/>
  440. <Column id="drugmastspec" type="STRING"/>
  441. <Column id="rown" type="STRING"/>
  442. <Column id="m" type="STRING" size="256"/>
  443. </ColumnInfo>
  444. <Rows>
  445. <Row/>
  446. </Rows>
  447. </Dataset>
  448. <Dataset id="ds_grd_druglist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  449. <ColumnInfo>
  450. <Column id="drugcd" type="STRING"/>
  451. <Column id="olddrugcd" type="STRING"/>
  452. <Column id="drugnm" type="STRING"/>
  453. </ColumnInfo>
  454. </Dataset>
  455. <Dataset id="ds_init_combo7" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  456. <ColumnInfo>
  457. <Column id="hardcdnm" type="STRING"/>
  458. <Column id="hardcd" type="STRING"/>
  459. </ColumnInfo>
  460. </Dataset>
  461. <Dataset id="ds_send_srchinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  462. <ColumnInfo>
  463. <Column id="srchcd" type="STRING" size="256"/>
  464. <Column id="srchsumdd1" type="STRING" size="256"/>
  465. <Column id="srchsumtm1" type="STRING" size="256"/>
  466. <Column id="srchsumdd2" type="STRING" size="256"/>
  467. <Column id="srchsumtm2" type="STRING" size="256"/>
  468. <Column id="srchwardcd" type="STRING" size="256"/>
  469. <Column id="srchpid" type="STRING" size="256"/>
  470. <Column id="hngnm" type="STRING" size="256"/>
  471. <Column id="srchdrugcd" type="STRING" size="256"/>
  472. <Column id="srchdrugno" type="STRING" size="256"/>
  473. <Column id="srchioflag" type="STRING" size="256"/>
  474. <Column id="srchsumdt1" type="STRING" size="256"/>
  475. <Column id="srchsumdt2" type="STRING" size="256"/>
  476. <Column id="srchprcpkindcd" type="STRING" size="256"/>
  477. <Column id="srchprcpkindall" type="STRING" size="256"/>
  478. <Column id="srchprcpcd" type="STRING" size="256"/>
  479. <Column id="srchprcpnm" type="STRING" size="256"/>
  480. <Column id="rtnstocdeptcd" type="STRING" size="256"/>
  481. <Column id="orddeptcd" type="STRING" size="256"/>
  482. <Column id="sickclscd" type="STRING" size="256"/>
  483. <Column id="prtlcd" type="STRING" size="256"/>
  484. <Column id="ioflag" type="STRING" size="256"/>
  485. <Column id="engnm" type="STRING" size="256"/>
  486. <Column id="drugcd" type="STRING" size="256"/>
  487. </ColumnInfo>
  488. <Rows>
  489. <Row>
  490. <Col id="srchcd"/>
  491. <Col id="srchsumdd1"/>
  492. <Col id="srchsumtm1"/>
  493. <Col id="srchsumdd2"/>
  494. <Col id="srchsumtm2"/>
  495. <Col id="srchwardcd"/>
  496. <Col id="srchpid"/>
  497. <Col id="hngnm"/>
  498. <Col id="srchdrugcd"/>
  499. <Col id="srchdrugno"/>
  500. <Col id="srchioflag"/>
  501. <Col id="srchsumdt1"/>
  502. <Col id="srchsumdt2"/>
  503. <Col id="srchprcpkindcd"> D</Col>
  504. <Col id="srchprcpkindall"/>
  505. <Col id="srchprcpcd"/>
  506. <Col id="srchprcpnm"/>
  507. <Col id="rtnstocdeptcd"/>
  508. <Col id="orddeptcd"/>
  509. <Col id="sickclscd"/>
  510. <Col id="prtlcd"/>
  511. <Col id="ioflag">A</Col>
  512. <Col id="engnm"/>
  513. </Row>
  514. </Rows>
  515. </Dataset>
  516. <Dataset id="ds_main_orddeptlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  517. <ColumnInfo>
  518. <Column id="orddeptcd" type="STRING" size="256"/>
  519. <Column id="orddeptnm" type="STRING" size="256"/>
  520. </ColumnInfo>
  521. </Dataset>
  522. <Dataset id="ds_main_sicklist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  523. <ColumnInfo>
  524. <Column id="sickclscd" type="STRING" size="256"/>
  525. <Column id="sickclsnm" type="STRING" size="256"/>
  526. </ColumnInfo>
  527. </Dataset>
  528. <Dataset id="ds_main_prtllist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  529. <ColumnInfo>
  530. <Column id="prtlcd" type="STRING" size="256"/>
  531. <Column id="prtlnm" type="STRING" size="256"/>
  532. </ColumnInfo>
  533. </Dataset>
  534. <Dataset id="ds_main_prtllist_out" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  535. <ColumnInfo>
  536. <Column id="prtlcd" type="STRING" size="256"/>
  537. <Column id="prtlnm" type="STRING" size="256"/>
  538. </ColumnInfo>
  539. </Dataset>
  540. <Dataset id="ds_send_srchdrugcdinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  541. <ColumnInfo>
  542. <Column id="srchdrugcd" type="STRING" size="256"/>
  543. <Column id="hngnm" type="STRING" size="256"/>
  544. <Column id="engnm" type="STRING" size="256"/>
  545. <Column id="efcycls" type="STRING" size="256"/>
  546. <Column id="spcldrug" type="STRING" size="256"/>
  547. <Column id="drugkind" type="STRING" size="256"/>
  548. <Column id="cnfmyn" type="STRING" size="256"/>
  549. </ColumnInfo>
  550. <Rows>
  551. <Row>
  552. <Col id="srchdrugcd"/>
  553. <Col id="hngnm"/>
  554. <Col id="engnm"/>
  555. <Col id="efcycls"/>
  556. <Col id="spcldrug"/>
  557. <Col id="drugkind"/>
  558. <Col id="cnfmyn"/>
  559. </Row>
  560. </Rows>
  561. </Dataset>
  562. <Dataset id="ds_temp_receivedata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  563. <ColumnInfo>
  564. <Column id="receiveref" type="STRING" size="256"/>
  565. <Column id="srchdrugcd" type="STRING" size="256"/>
  566. <Column id="srchtype" type="STRING" size="256"/>
  567. <Column id="callbackFunc" type="STRING" size="256"/>
  568. <Column id="receivedrugcd" type="STRING" size="256"/>
  569. <Column id="receivedrugnm" type="STRING" size="256"/>
  570. <Column id="srchcnts" type="STRING" size="256"/>
  571. <Column id="drugkind" type="STRING" size="256"/>
  572. </ColumnInfo>
  573. <Rows>
  574. <Row>
  575. <Col id="receiveref"/>
  576. <Col id="srchdrugcd"/>
  577. <Col id="srchtype"/>
  578. <Col id="callbackFunc"/>
  579. </Row>
  580. </Rows>
  581. </Dataset>
  582. <Dataset id="ds_init_inout" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  583. <ColumnInfo>
  584. <Column id="cdid" type="STRING" size="256"/>
  585. <Column id="cdnm" type="STRING" size="256"/>
  586. </ColumnInfo>
  587. <Rows>
  588. <Row>
  589. <Col id="cdid">I</Col>
  590. <Col id="cdnm">입원</Col>
  591. </Row>
  592. <Row>
  593. <Col id="cdid">O</Col>
  594. <Col id="cdnm">외래</Col>
  595. </Row>
  596. </Rows>
  597. </Dataset>
  598. <Dataset id="ds_send_srchprcpinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  599. <ColumnInfo>
  600. <Column id="srchdrugcd" type="STRING" size="256"/>
  601. <Column id="hngnm" type="STRING" size="256"/>
  602. <Column id="engnm" type="STRING" size="256"/>
  603. </ColumnInfo>
  604. <Rows>
  605. <Row>
  606. <Col id="srchdrugcd"/>
  607. <Col id="hngnm"/>
  608. <Col id="engnm"/>
  609. </Row>
  610. </Rows>
  611. </Dataset>
  612. <Dataset id="ds_send_prcpdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  613. <ColumnInfo>
  614. <Column id="cond1" type="STRING" size="256"/>
  615. <Column id="cond2" type="STRING" size="256"/>
  616. <Column id="cond3" type="STRING" size="256"/>
  617. </ColumnInfo>
  618. <Rows>
  619. <Row/>
  620. </Rows>
  621. </Dataset>
  622. <Dataset id="ds_hidden_prcpinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  623. <Dataset id="ds_temp_prtlprcp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  624. <Dataset id="ds_volkind" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  625. <ColumnInfo>
  626. <Column id="cdid" type="STRING" size="256"/>
  627. <Column id="cdnm" type="STRING" size="256"/>
  628. </ColumnInfo>
  629. <Rows>
  630. <Row>
  631. <Col id="cdid">0</Col>
  632. <Col id="cdnm">-</Col>
  633. </Row>
  634. <Row>
  635. <Col id="cdid">1</Col>
  636. <Col id="cdnm">BSA</Col>
  637. </Row>
  638. <Row>
  639. <Col id="cdid">2</Col>
  640. <Col id="cdnm">KG</Col>
  641. </Row>
  642. <Row>
  643. <Col id="cdid">3</Col>
  644. <Col id="cdnm">AUC</Col>
  645. </Row>
  646. </Rows>
  647. </Dataset>
  648. <Dataset id="ds_clincstdyflag" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  649. <ColumnInfo>
  650. <Column id="cdid" type="STRING" size="256"/>
  651. <Column id="cdnm" type="STRING" size="256"/>
  652. </ColumnInfo>
  653. <Rows>
  654. <Row>
  655. <Col id="cdid">Y</Col>
  656. <Col id="cdnm">임상</Col>
  657. </Row>
  658. <Row>
  659. <Col id="cdid">N</Col>
  660. </Row>
  661. </Rows>
  662. </Dataset>
  663. <Dataset id="ds_hidden_receivemthd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  664. <ColumnInfo>
  665. <Column id="mthdcd" type="STRING" size="256"/>
  666. </ColumnInfo>
  667. </Dataset>
  668. <Dataset id="ds_temp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  669. <ColumnInfo>
  670. <Column id="remark" type="STRING" size="256"/>
  671. <Column id="prntms" type="STRING" size="256"/>
  672. <Column id="prnprcpresncd" type="STRING" size="256"/>
  673. <Column id="prnresncmt" type="STRING" size="256"/>
  674. <Column id="prnhardcd" type="STRING" size="256"/>
  675. <Column id="bfprcpvol" type="STRING" size="256"/>
  676. <Column id="bfprcpqty" type="STRING" size="256"/>
  677. <Column id="bfprcpvol2" type="STRING" size="256"/>
  678. <Column id="bfprcpqty2" type="STRING" size="256"/>
  679. <Column id="bfprcptims" type="STRING" size="256"/>
  680. <Column id="retersen" type="STRING" size="256"/>
  681. <Column id="prnterm" type="STRING" size="256"/>
  682. </ColumnInfo>
  683. <Rows>
  684. <Row>
  685. <Col id="remark"/>
  686. <Col id="prntms"/>
  687. <Col id="prnprcpresncd"/>
  688. <Col id="prnresncmt"/>
  689. <Col id="prnhardcd"/>
  690. <Col id="bfprcpvol"/>
  691. <Col id="bfprcpqty"/>
  692. <Col id="bfprcpvol2"/>
  693. <Col id="bfprcpqty2"/>
  694. <Col id="bfprcptims"/>
  695. </Row>
  696. </Rows>
  697. </Dataset>
  698. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  699. <ColumnInfo>
  700. <Column id="hardcd" type="STRING" size="256"/>
  701. </ColumnInfo>
  702. <Rows>
  703. <Row/>
  704. </Rows>
  705. </Dataset>
  706. <Dataset id="ds_temp_prnhardcd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  707. <Dataset id="ds_send_req" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  708. <Dataset id="ds_hidden_ret" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  709. </Objects>
  710. <Bind>
  711. <BindItem id="item0" compid="group2.cmb_orddeptcd" propid="value" datasetid="ds_send_srchinfo" columnid="orddeptcd"/>
  712. <BindItem id="item1" compid="group2.cmb_sickclscd" propid="value" datasetid="ds_send_srchinfo" columnid="sickclscd"/>
  713. <BindItem id="item2" compid="group2.cmb_prtlcd" propid="value" datasetid="ds_send_srchinfo" columnid="prtlcd"/>
  714. <BindItem id="item3" compid="group2.radio2" propid="value" datasetid="ds_send_srchinfo" columnid="ioflag"/>
  715. <BindItem id="item4" compid="group2.ipt_prcpcd" propid="value" datasetid="ds_send_srchinfo" columnid="srchdrugcd"/>
  716. <BindItem id="item5" compid="group2.opt_prcpnm" propid="value" datasetid="ds_send_srchinfo" columnid="hngnm"/>
  717. <BindItem id="item6" compid="group3.ipt_drugcd" propid="value" datasetid="ds_send_srchprcpinfo" columnid="srchdrugcd"/>
  718. <BindItem id="item7" compid="group3.opt_drugnm" propid="value" datasetid="ds_send_srchprcpinfo" columnid="srchdrugcd"/>
  719. <BindItem id="item8" compid="grp_remark.textarea1" propid="value" datasetid="ds_temp" columnid="remark"/>
  720. <BindItem id="item9" compid="group25.textarea17" propid="value" datasetid="ds_temp" columnid="prnresncmt"/>
  721. <BindItem id="item10" compid="group25.output1" propid="value" datasetid="ds_temp" columnid="prntms"/>
  722. <BindItem id="item11" compid="group25.output2" propid="value" datasetid="ds_temp" columnid="prnterm"/>
  723. <BindItem id="item12" compid="group25.combo7" propid="value" datasetid="ds_temp" columnid="prnprcpresncd"/>
  724. </Bind>
  725. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  726. * System Name :
  727. * Job Name :
  728. * Creator :
  729. * Make Date : 2015-11-13
  730. * Description :
  731. *---------------------------------------------------------------------------------------
  732. * Modify Date Modifier Modify Description
  733. *---------------------------------------------------------------------------------------
  734. * 2015-11-13 Live Converter TF->XP
  735. *
  736. *---------------------------------------------------------------------------------------
  737. ****************************************************************************************/
  738. include "com_commonxp::comm_main.xjs"
  739. include "com_basiccodexp::ZBC001.xjs"
  740. include "ast_commonxp::AST.xjs"
  741. include "emr_prcpmngtxp::SMMMO00100.xjs"
  742. include "emr_prcpmngtxp::MMO001.xjs"
  743. include "emr_commonxp::EMRCommon.xjs"
  744. /******************************************************************
  745. * Argument :
  746. * Description : 전역변수
  747. ******************************************************************/
  748. var varDrugTotSel = "false"; // 처방목록 전체선택
  749. var varDrugPathIndex = 2; // 처방목록 이동경로
  750. var varDrugStatIndex = 3; // 처방목록 조제상태
  751. var varDrugStocIndex = 1; // 처방상세 미불출/반환확인
  752. var colHidnValue = "";
  753. var arErrorCode = new HashArray();
  754. /******************************************************************
  755. * Argument :
  756. * Description : 초기화
  757. ******************************************************************/
  758. function SMADB00801_oninit(obj:Form, e:InitEventInfo)
  759. {
  760. frmf_initForm(obj);
  761. }
  762. function SMADB00801_onload(obj:Form, e:LoadEventInfo)
  763. {
  764. //상태정보 설정
  765. grdf_setRowTypeIcon(group3.grd_prtlprcp, 0);
  766. // 초기코드값
  767. appf_getCodeList( [{dsNm: "ds_init_P0104", cdGrpId: "P0104"}], true );
  768. /* 진료과 조회 */
  769. var oParam = {};
  770. oParam.id = "TRADB00801";
  771. oParam.service = "pharmacybaseapp.AnticancerProtocol";
  772. oParam.method = "reqGetAnticancerProtocolOrdDeptList";
  773. oParam.inds = "req=ds_send_srchinfo";
  774. oParam.outds = "ds_main_orddeptlist=item";
  775. oParam.async = false;
  776. //oParam.callback = "cf_TRADB00801";
  777. tranf_submit(oParam);
  778. //1일기준인지 1회기준인지 체크하여 컬럼을 hidden
  779. colHidnValue = lf_grdBaseColHidn("D");
  780. }
  781. /******************************************************************
  782. * Argument :
  783. * Description : 조회 Button Event
  784. ******************************************************************/
  785. function group2_btn_sea_onclick(obj:Button, e:ClickEventInfo)
  786. {
  787. ds_send_srchinfo.setColumn(0, "drugcd", ds_send_srchinfo.getColumn(0, "srchdrugcd"));
  788. ds_grd_prtlprcp.clearData();
  789. var oParam = {};
  790. oParam.id = "TRADB00835";
  791. oParam.service = "pharmacyprotocolapp.AnticancerProtocol";
  792. oParam.method = "reqGetAnticancerProtocolByDrug";
  793. oParam.inds = "req=ds_send_srchinfo";
  794. oParam.outds = "ds_grd_prtlprcp=item";
  795. oParam.async = false;
  796. //oParam.callback = "cf_TRADB00835";
  797. tranf_submit(oParam);
  798. }
  799. /******************************************************************
  800. * Argument :
  801. * Description : 진료과 Combo Event / 질병코드조회
  802. ******************************************************************/
  803. function group2_cmb_orddeptcd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  804. {
  805. var oParam = {};
  806. oParam.id = "TRADB00802";
  807. oParam.service = "pharmacybaseapp.AnticancerProtocol";
  808. oParam.method = "reqGetAnticancerProtocolSickList";
  809. oParam.inds = "req=ds_send_srchinfo";
  810. oParam.outds = "ds_main_sicklist=item";
  811. oParam.async = false;
  812. //oParam.callback = "cf_TRADB00802";
  813. tranf_submit(oParam);
  814. group2_btn_sea_onclick();
  815. }
  816. /******************************************************************
  817. * Argument :
  818. * Description : 질병코드 Combo Event / 프로토콜 조회
  819. ******************************************************************/
  820. function group2_cmb_sickclscd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  821. {
  822. var oParam = {};
  823. oParam.id = "TRADB00803";
  824. oParam.service = "pharmacybaseapp.AnticancerProtocol";
  825. oParam.method = "reqGetAnticancerProtocolListIO";
  826. oParam.inds = "req=ds_send_srchinfo";
  827. oParam.outds = "ds_main_prtllist=itemin ds_main_prtllist_out=itemout";
  828. oParam.async = false;
  829. oParam.callback = "cf_TRADB00803";
  830. tranf_submit(oParam);
  831. }
  832. /******************************************************************
  833. * Argument :
  834. * Description : 약품코드 검색(Enter) / 조회 조건
  835. ******************************************************************/
  836. function group2_ipt_prcpcd_onkeydown(obj:Edit, e:KeyEventInfo)
  837. {
  838. if( e.keycode == 13 ){
  839. var sType = "srchinfo";
  840. var sRslt = "ds_send_srchinfo";
  841. searchDrug(sType, sRslt);
  842. }
  843. if( utlf_isNull(group2.ipt_prcpcd.value) )
  844. group2.opt_prcpnm.value = "";
  845. }
  846. /******************************************************************
  847. * Argument : searchDrug
  848. * Description : 약품코드 검색
  849. ******************************************************************/
  850. function searchDrug(type, rslt){
  851. var oCode = "";
  852. var oName = "";
  853. if( type == "srchinfo" ){
  854. oCode = group2.ipt_prcpcd.value;
  855. oName = group2.opt_prcpnm.value;
  856. } else {
  857. oCode = group3.ipt_drugcd.value;
  858. oName = group3.opt_drugnm.value;
  859. }
  860. var cond = oCode.toUpperCase()+"%";
  861. if( utlf_isNull(oCode) ){
  862. return;
  863. }
  864. ds_send_srchdrugcdinfo.setColumn(0, "srchdrugcd", cond);
  865. ds_send_srchdrugcdinfo.setColumn(0, "spcldrug", "-");
  866. ds_send_srchdrugcdinfo.setColumn(0, "efcycls", "-");
  867. ds_send_srchdrugcdinfo.setColumn(0, "drugkind", "N M Y");
  868. ds_send_srchdrugcdinfo.setColumn(0, "cnfmyn", "Y N");
  869. /* 약품목록조회 */
  870. var oParam = {};
  871. oParam.id = "TRADB00101";
  872. oParam.service = "pharmacybaseapp.DrugCode";
  873. oParam.method = "reqGetDrugCodeList";
  874. oParam.inds = "req=ds_send_srchdrugcdinfo";
  875. oParam.outds = "ds_grd_druglist=item";
  876. oParam.async = false;
  877. oParam.callback = "cf_TRADB00101";
  878. tranf_submit(oParam);
  879. if( arErrorCode.pop("TRADB00101") < -1 ){
  880. return;
  881. }
  882. var rtnNode = "ds_grd_druglist";
  883. var iCnt = ds_grd_druglist.rowcount;
  884. if( iCnt == 1 ){
  885. objects[rslt].setColumn(0, "srchdrugcd", ds_grd_druglist.getColumn(0, "drugcd"));
  886. objects[rslt].setColumn(0, "hngnm", ds_grd_druglist.getColumn(0, "hngnm"));
  887. } else if( iCnt > 1 ){
  888. ds_temp_receivedata.setColumn(0, "srchdrugcd", oCode);
  889. ds_temp_receivedata.setColumn(0, "srchtype", "B");
  890. ds_temp_receivedata.setColumn(0, "receiveref", rslt);
  891. ds_temp_receivedata.setColumn(0, "receivedrugcd", "srchdrugcd");
  892. ds_temp_receivedata.setColumn(0, "receivedrugnm", "hngnm");
  893. var objArg = new Object();
  894. objArg.arg_ds_temp_receivedata = ds_temp_receivedata;
  895. frmf_modal("SPADB60100", "SPADB60100", objArg, null, null, null, null, null, null, null, null, null, "M");
  896. }
  897. }
  898. function cf_TRADB00101(sSvcId, nErrorCode, sErrorMsg) {
  899. arErrorCode.push(sSvcId, nErrorCode);
  900. }
  901. /******************************************************************
  902. * Argument :
  903. * Description : 약품코드 검색(돋보기) / 조회 조건
  904. ******************************************************************/
  905. function group2_button2_onclick(obj:Button, e:ClickEventInfo)
  906. {
  907. var prcpcd = "";
  908. ds_temp_receivedata.setColumn(0, "srchdrugcd", group2.ipt_prcpcd.value);
  909. ds_temp_receivedata.setColumn(0, "srchtype", "B");
  910. ds_temp_receivedata.setColumn(0, "receiveref", "ds_send_srchinfo");
  911. ds_temp_receivedata.setColumn(0, "receivedrugcd", "srchdrugcd");
  912. ds_temp_receivedata.setColumn(0, "receivedrugnm", "hngnm");
  913. var objArg = new Object();
  914. objArg.arg_ds_temp_receivedata = ds_temp_receivedata;
  915. frmf_modal("SPADB60100", "SPADB60100", objArg, null, null, null, null, null, null, null, null, null, "M");
  916. }
  917. /******************************************************************
  918. * Argument :
  919. * Description : 약품코드 검색(Enter) / list 상단
  920. ******************************************************************/
  921. function group3_ipt_drugcd_onkeydown(obj:Edit, e:KeyEventInfo)
  922. {
  923. if( e.keycode == 13 ){
  924. var cType = "srchCode";
  925. var cRslt = "ds_send_srchprcpinfo";
  926. searchDrug(cType, cRslt);
  927. }
  928. }
  929. /******************************************************************
  930. * Argument :
  931. * Description : 일괄적용 Button Event
  932. ******************************************************************/
  933. function group3_btn_apply_onclick(obj:Button, e:ClickEventInfo)
  934. {
  935. var iChkCnt = ds_grd_prtlprcp.getCaseCount("chk == '1'");
  936. if( iChkCnt == 0 ){
  937. sysf_messageBox("일괄적용할 처방목록을 선택하여 주십시오.", "I");
  938. return;
  939. }
  940. //체크한 처방목록에 선택한 약품정보로 일괄 적용
  941. fSetPrcpCdAll();
  942. }
  943. /******************************************************************
  944. * Argument : fSetPrcpCdAll
  945. * Description : 처방목록 그리드내 처방코드 클릭시 입력된 코드로 수가조회
  946. ******************************************************************/
  947. function fSetPrcpCdAll(){
  948. /* 수가조회 */
  949. var iTotCnt = ds_grd_prtlprcp.rowcount;
  950. ds_send_prcpdata.setColumn(0, "cond1", ds_send_srchprcpinfo.getColumn(0, "srchdrugcd"));
  951. ds_send_prcpdata.setColumn(0, "cond2", "-");
  952. ds_send_prcpdata.setColumn(0, "cond3", utlf_getCurrentDate());
  953. /* 약품으로 수가정보 조회 (그리드 내용 채움) */
  954. var oParam = {};
  955. oParam.id = "TRADB00806";
  956. oParam.service = "pharmacyprotocolapp.AnticancerProtocol";
  957. oParam.method = "reqGetPrcpSrchInfo";
  958. oParam.inds = "prcpdata=ds_send_prcpdata";
  959. oParam.outds = "ds_hidden_prcpinfo=prcplist";
  960. oParam.async = false;
  961. //oParam.callback = "cf_TRADB00806";
  962. tranf_submit(oParam);
  963. if( utlf_isNull(ds_hidden_prcpinfo.getColumn(0, "prcpcd")) ){
  964. return;
  965. }
  966. /* 수가조회후 정보 셋팅 */
  967. var cntsvol = ds_hidden_prcpinfo.getColumn(0, "drugcntsvol");
  968. var basevol = ds_hidden_prcpinfo.getColumn(0, "drugbasevol");
  969. var prcpvole2 = cntsvol * basevol;
  970. for( var i = 0; i < ds_grd_prtlprcp.rowcount; i++ ){
  971. if( ds_grd_prtlprcp.getColumn(i, "chk") != "1" ){
  972. continue;
  973. }
  974. ds_grd_prtlprcp.setColumn(i, "prcpcd", ds_hidden_prcpinfo.getColumn(0, "prcpcd"));
  975. ds_grd_prtlprcp.setColumn(i, "prcpnm", ds_hidden_prcpinfo.getColumn(0, "prcpnm"));
  976. ds_grd_prtlprcp.setColumn(i, "payflagcd", ds_hidden_prcpinfo.getColumn(0, "payflagcd"));
  977. ds_grd_prtlprcp.setColumn(i, "prcpvol", ds_hidden_prcpinfo.getColumn(0, "prcpvol"));
  978. ds_grd_prtlprcp.setColumn(i, "prcpqty", ds_hidden_prcpinfo.getColumn(0, "prcpqty"));
  979. ds_grd_prtlprcp.setColumn(i, "prcptims", ds_hidden_prcpinfo.getColumn(0, "prcptims"));
  980. ds_grd_prtlprcp.setColumn(i, "drugmthdspccd", ds_hidden_prcpinfo.getColumn(0, "drugmthdspccd"));
  981. ds_grd_prtlprcp.setColumn(i, "prcpvolunitnm", ds_hidden_prcpinfo.getColumn(0, "prcpvolunitnm"));
  982. ds_grd_prtlprcp.setColumn(i, "prcpvolunitflag", ds_hidden_prcpinfo.getColumn(0, "prcpvolunitflag"));
  983. ds_grd_prtlprcp.setColumn(i, "prcpqtyunitnm", ds_hidden_prcpinfo.getColumn(0, "prcpqtyunitnm"));
  984. ds_grd_prtlprcp.setColumn(i, "prcpqtyunitflag", ds_hidden_prcpinfo.getColumn(0, "prcpqtyunitflag"));
  985. ds_grd_prtlprcp.setColumn(i, "drugspdunitnm", ds_hidden_prcpinfo.getColumn(0, "drugspdunitnm"));
  986. ds_grd_prtlprcp.setColumn(i, "drugspdunitflag", ds_hidden_prcpinfo.getColumn(0, "drugspdunitflag"));
  987. ds_grd_prtlprcp.setColumn(i, "prcpexecdeptcd", ds_hidden_prcpinfo.getColumn(0, "prcpexecdeptcd"));
  988. ds_grd_prtlprcp.setColumn(i, "volrate", ds_hidden_prcpinfo.getColumn(0, "drugcntsvol"));
  989. ds_grd_prtlprcp.setColumn(i, "prcpclscd", ds_hidden_prcpinfo.getColumn(0, "prcpclscd"));
  990. ds_grd_prtlprcp.setColumn(i, "drugmastspec", ds_hidden_prcpinfo.getColumn(0, "drugmastspec"));
  991. //1회용량 (마스터의 약품기준용량 * 1회기본수량)
  992. ds_grd_prtlprcp.setColumn(i, "prcpvol2", prcpvole2);
  993. //1회수량 (마스터의 1회기본수량 셋팅)
  994. ds_grd_prtlprcp.setColumn(i, "prcpqty2", basevol);
  995. }
  996. }
  997. /******************************************************************
  998. * Argument :
  999. * Description : 행삭제 Button Event
  1000. ******************************************************************/
  1001. function group3_button4_onclick(obj:Button, e:ClickEventInfo)
  1002. {
  1003. fDelRow();
  1004. }
  1005. /******************************************************************
  1006. * Argument : fDelRow
  1007. * Description : 행삭제
  1008. ******************************************************************/
  1009. function fDelRow(){
  1010. var iChkCnt = ds_grd_prtlprcp.getCaseCount("chk == '1'");
  1011. var iChkCnt2 = ds_grd_prtlprcp.getCaseCount("chk == 'Y'");
  1012. var iTotCnt = ds_grd_prtlprcp.rowcount;
  1013. if( iChkCnt == 0 && iChkCnt2 == 0){
  1014. sysf_messageBox("삭제할 처방목록을 ", "C002");
  1015. return;
  1016. }
  1017. var oExtCmn = new ExtCommon;
  1018. var nChkRows = new Array();
  1019. var nChkRows2 = new Array();
  1020. nChkRows = oExtCmn.findRows(ds_grd_prtlprcp, "chk", "1");
  1021. nChkRows2 = oExtCmn.findRows(ds_grd_prtlprcp, "chk", "Y");
  1022. grdf_setStatus(group3.grd_prtlprcp, "D", nChkRows);
  1023. grdf_setStatus(group3.grd_prtlprcp, "D", nChkRows2);
  1024. }
  1025. /******************************************************************
  1026. * Argument :
  1027. * Description : 저장
  1028. ******************************************************************/
  1029. function group3_button5_onclick(obj:Button, e:ClickEventInfo)
  1030. {
  1031. fSaveData();
  1032. }
  1033. /******************************************************************
  1034. * Argument :
  1035. * Description : 저장
  1036. ******************************************************************/
  1037. function fSaveData(){
  1038. var oDsUpdate = grdf_getGridUpdateData(group3.grd_prtlprcp);
  1039. grdf_setStatusColumn(oDsUpdate, "m"); // 각행의 status에 rowType 값에 따라 'i', 'u', 'd'로 업데이트 시켜준다
  1040. ds_send_req.copyData(oDsUpdate, true);
  1041. if( ds_send_req.rowcount > 1 ){
  1042. sysf_messageBox("수정(삭제)된 내역이 없습니다.", "I004");
  1043. return;
  1044. }
  1045. for( var i = 0; i <= ds_grd_prtlprcp.rowcount; i++ ){
  1046. if( utlf_isNull(ds_grd_prtlprcp.getColumn(i, "prcpcd")) ){
  1047. ds_grd_prtlprcp.setRowType(i, "D");
  1048. } else {
  1049. if( utlf_isNull(ds_grd_prtlprcp.getColumn(i, "drugmthdspccd")) ){
  1050. sysf_messageBox("Line:"+ i +" 의 용법/검체를 입력하십시오.","C999");
  1051. return;
  1052. }
  1053. if( ds_grd_prtlprcp.getColumn(i, "drugmthdspccd") == "999" ){
  1054. sysf_messageBox("Line:"+ i +" 의 검체를 선택하십시오.","C999");
  1055. return;
  1056. }
  1057. //20101113 이선경 수정 : 1회용량, 1회수량 기준 적용
  1058. var prcpvolvalue = "";
  1059. if( colHidnValue == "C" ){ //1회기준
  1060. prcpvolvalue = ds_grd_prtlprcp.getColumn(i, "prcpvol2");
  1061. } else { //1일기준
  1062. prcpvolvalue = ds_grd_prtlprcp.getColumn(i, "prcpvol");
  1063. }
  1064. if( utlf_isNull(prcpvolvalue) ){
  1065. sysf_messageBox("Line:"+ i +" 의 용량을 입력하십시오.","C999");
  1066. return;
  1067. }
  1068. if( prcpvolvalue <= 0 ){
  1069. sysf_messageBox("Line:"+ i +" 의 용량이 0 이하입니다.","C999");
  1070. return;
  1071. }
  1072. //20101113 이선경 수정 : 1회용량, 1회수량 기준 적용
  1073. var prcpqtyvalue = "";
  1074. if( colHidnValue == "C" ){ //1회기준
  1075. prcpqtyvalue = ds_grd_prtlprcp.getColumn(i, "prcpqty2");
  1076. } else { //1일기준
  1077. prcpqtyvalue = ds_grd_prtlprcp.getColumn(i, "prcpqty");
  1078. }
  1079. if( prcpqtyvalue == "" ){
  1080. sysf_messageBox("Line:"+ i +" 의 수량을 입력하십시오.","C999");
  1081. return;
  1082. }
  1083. if( prcpqtyvalue <= 0 ){
  1084. sysf_messageBox("Line:"+ i +" 의 수량이 0 이하입니다.","C999");
  1085. return;
  1086. }
  1087. if( utlf_isNull(ds_grd_prtlprcp.getColumn(i, "prcptims")) ){
  1088. sysf_messageBox("Line:"+ i +" 의 횟수를 입력하십시오.","C999");
  1089. return;
  1090. }
  1091. if( parseInt(ds_grd_prtlprcp.getColumn(i, "prcptims")) <= 0 ){
  1092. sysf_messageBox("Line:"+ i +" 의 횟수가 0 이하입니다.","C999");
  1093. return;
  1094. }
  1095. }
  1096. }
  1097. var oParam = {};
  1098. oParam.id = "TXADB00827";
  1099. oParam.service = "pharmacyprotocolapp.AnticancerProtocol";
  1100. oParam.method = "reqExeAnticancerProtocolPrcpByDrug";
  1101. oParam.inds = "prtlprcpdata=ds_send_req";
  1102. oParam.outds = "ds_hidden_ret=item";
  1103. oParam.async = false;
  1104. oParam.callback = "cf_TXADB00827";
  1105. tranf_submit(oParam);
  1106. if( arErrorCode.pop("TXADB00827") > -1 ){
  1107. group2_btn_sea_onclick();
  1108. }
  1109. }
  1110. function cf_TXADB00827(sSvcId, nErrorCode, sErrorMsg) {
  1111. arErrorCode.push(sSvcId, nErrorCode);
  1112. }
  1113. /******************************************************************
  1114. * Argument :
  1115. * Description : 그리드 내 Button click Event
  1116. ******************************************************************/
  1117. function group3_grd_prtlprcp_onexpanddown(obj:Grid, e:GridMouseEventInfo)
  1118. {
  1119. var cRow = ds_grd_prtlprcp.rowposition;
  1120. var cCol = group3.grd_prtlprcp.currentcol;
  1121. var prcpclscd = ds_grd_prtlprcp.getColumn(cRow, "prcpclscd");
  1122. if( cCol == group3.grd_prtlprcp.getBindCellIndex("body", "drugmthdspccd") ){
  1123. if( prcpclscd == "A2" || prcpclscd == "A4" || prcpclscd == "A6" ){
  1124. //약종류에 따라 용법구분 default 지정되도록 parameter 설정 (2009.05.26 JJE)
  1125. frmf_setParameter("SPADB61200_prcpclscd", prcpclscd);
  1126. ds_temp_receivedata.setColumn(0, "srchdrugcd", ds_grd_prtlprcp.getColumn(cRow, "prcpcd"));
  1127. ds_temp_receivedata.setColumn(0, "receiveref", "ds_hidden_receivemthd");
  1128. ds_temp_receivedata.setColumn(0, "receivedrugcd", "mdhdcd");
  1129. frmf_setParameter("SPADB61200_prcpclscd", prcpclscd);
  1130. var objArg = new Object();
  1131. objArg.arg_ds_hidden_rec = ds_temp_receivedata;
  1132. frmf_modal("SPADB61200", "SPADB61200", objArg, null, null, null, null, null, null, null, null, null, "M");
  1133. if( !utlf_isNull(ds_hidden_receivemthd.getColumn(0, "mthdcd")) ){
  1134. ds_grd_prtlprcp.setColumn(cRow, "drugmthdspccd", ds_hidden_receivemthd.getColumn(0, "mthdcd"));
  1135. ds_temp.setColumn(0, "bfprcptims", ds_grd_prtlprcp.getColumn(cRow, "prcptims"));
  1136. if( isFinite(ds_hidden_receivemthd.getColumn(0, "mthdcd").substring(2, 3)) == true ){
  1137. ds_grd_prtlprcp.setColumn(cRow, "prcptims", ds_hidden_receivemthd.getColumn(0, "mthdcd"));
  1138. } else {
  1139. ds_grd_prtlprcp.setColumn(cRow, "prcptims", "1");
  1140. }
  1141. //20110110 이선경 수정 : 횟수가 변경되면 용량, 수량 계산 다시 해야함
  1142. //grd_prtlprcp.dispatch("onendedit");
  1143. group3.grd_prtlprcp.showEditor(false);
  1144. }
  1145. } else if( prcpclscd == "B2" || prcpclscd == "B4" || prcpclscd == "B6" ){
  1146. fGetSpc(cRow)
  1147. }
  1148. }
  1149. if( cCol == group3.grd_prtlprcp.getBindCellIndex("body", "remark") ){
  1150. ds_temp.setColumn(0, "remark", ds_grd_prtlprcp.getColumn(cRow, "remark"));
  1151. grp_remark.visible = true;
  1152. }
  1153. if( cCol == group3.grd_prtlprcp.getBindCellIndex("body", "nursrem") ){
  1154. ds_temp.setColumn(0, "remark", ds_grd_prtlprcp.getColumn(cRow, "nursrem"));
  1155. grp_remark.visible = true;
  1156. }
  1157. if( cCol == group3.grd_prtlprcp.getBindCellIndex("body", "prnprcpflagbtn") ){
  1158. ds_temp.setColumn(0, "prntms", "");
  1159. ds_temp.setColumn(0, "prnprcpresncd", "");
  1160. ds_temp.setColumn(0, "prnresncmt", "");
  1161. ds_send.setColumn(0, "hardcd", "172");
  1162. var oParam = {};
  1163. oParam.id = "TRMMB16401";
  1164. oParam.service = "prcpbaseapp.EnvInfoMngt";
  1165. oParam.method = "reqGetHardCodeCD";
  1166. oParam.inds = "req=ds_send";
  1167. oParam.outds = "ds_temp_prnhardcd=hardcd";
  1168. oParam.async = false;
  1169. //oParam.callback = "cf_TRMMB16401";
  1170. tranf_submit(oParam);
  1171. var prnprcpdtl = ds_grd_prtlprcp.getColumn(cRow, "prnprcpdtl");
  1172. if( prnprcpdtl.length > 0 ){
  1173. group25.visible = true;
  1174. var SetPrnPrcpDetl = new Array();
  1175. SetPrnPrcpDetl = prnprcpdtl.split("|");
  1176. ds_temp.setColumn(0, "prntms", SetPrnPrcpDetl[0]);
  1177. ds_temp.setColumn(0, "prnprcpresncd", SetPrnPrcpDetl[1]);
  1178. if( SetPrnPrcpDetl[2] != "-" ){
  1179. ds_temp.setColumn(0, "prnresncmt", SetPrnPrcpDetl[2]);
  1180. }
  1181. if( prnprcpdtl.length > 3 ){
  1182. ds_temp.setColumn(0, "prnterm", SetPrnPrcpDetl[3]);
  1183. }
  1184. } else if( prnprcpdtl.length == 0 ){
  1185. sysf_messageBox("PRN처방 횟수및 사유가 입력되지 않았습니다.","I");
  1186. }
  1187. }
  1188. if( cCol == group3.grd_prtlprcp.getBindCellIndex("body", "prcpcd") ){
  1189. var Code = ds_grd_prtlprcp.getColumn(cRow, "prcpcd");
  1190. var CodeNm = ds_grd_prtlprcp.getColumn(cRow, "prcpnm");
  1191. var Rslt = "ds_grd_prtlprcp";
  1192. ds_temp_receivedata.setColumn(0, "srchdrugcd", Code);
  1193. ds_temp_receivedata.setColumn(0, "srchtype", "G");
  1194. ds_temp_receivedata.setColumn(0, "callbackFunc", "fSetPrcpCd");
  1195. ds_temp_receivedata.setColumn(0, "receiveref", "ds_grd_prtlprcp");
  1196. ds_temp_receivedata.setColumn(0, "receivedrugcd", "prcpcd");
  1197. ds_temp_receivedata.setColumn(0, "receivedrugnm", "prcpnm");
  1198. var objArg = new Object();
  1199. objArg.arg_ds_temp_receivedata = ds_temp_receivedata;
  1200. frmf_modal("SPADB60100", "SPADB60100", objArg, null, null, null, null, null, null, null, null, null, "M");
  1201. }
  1202. }
  1203. /******************************************************************
  1204. * Argument :
  1205. * Description : 그리드 내 변경된 값을 FocusOut 하지 안은 상태로 dataset에 적용
  1206. ******************************************************************/
  1207. function group3_grd_prtlprcp_ontextchanged(obj:Grid, e:GridEditTextChangedEventInfo)
  1208. {
  1209. if(e.col == obj.getBindCellIndex("body","prcpcd")) {
  1210. ds_grd_prtlprcp.setColumn(e.row,"prcpcd",e.posttext);
  1211. }
  1212. }
  1213. /******************************************************************
  1214. * Argument :
  1215. * Description : 그리드 내 input KeyEvent
  1216. ******************************************************************/
  1217. function group3_grd_prtlprcp_onkeydown(obj:Grid, e:KeyEventInfo)
  1218. {
  1219. var mthdcd = "";
  1220. var cRow = ds_grd_prtlprcp.rowposition;
  1221. var cCol = group3.grd_prtlprcp.currentcol;
  1222. if( e.keycode == 13 ){
  1223. if( cCol == group3.grd_prtlprcp.getBindCellIndex("body", "prcpnm") ){
  1224. ds_send_srchinfo.setColumn(0, "srchdrugnm", ds_grd_prtlprcp.getColumn(cRow, "prcpnm"));
  1225. /* 약품코드조회 (그리드내 ) */
  1226. var oParam = {};
  1227. oParam.id = "TRADB00106";
  1228. oParam.service = "pharmacybaseapp.DrugCode";
  1229. oParam.method = "reqGetDrugCodeSrch";
  1230. oParam.inds = "req=ds_send_srchinfo";
  1231. oParam.outds = "ds_grd_druglist=item";
  1232. oParam.async = false;
  1233. //oParam.callback = "cf_TRADB00106";
  1234. tranf_submit(oParam);
  1235. if( ds_grd_druglist.rowcount > 1 ){
  1236. ds_grd_druglist.visible = true;
  1237. } else if( ds_grd_druglist.rowcount == 1){
  1238. grd_druglist.visible = false;
  1239. ds_grd_prtlprcp.setColumn(cRow, "prcpcd", ds_grd_druglist.getColumn(0, "drugcd"));
  1240. fSetPrcpCd();
  1241. }
  1242. return;
  1243. }
  1244. if( cCol == group3.grd_prtlprcp.getBindCellIndex("body", "prcpcd") ){
  1245. if( utlf_isNull(ds_grd_prtlprcp.getColumn(cRow, "prcpcd")) ){
  1246. sysf_messageBox("코드를 입력하십시오.","C999");
  1247. return;
  1248. }
  1249. fSetPrcpCd();
  1250. if( utlf_isNull(ds_hidden_prcpinfo.getColumn(0, "prcpcd")) ){
  1251. //해당코드가 없으면 약품코드 부분코드, 구코드 검색을 실시한다.
  1252. ds_send_srchinfo.setColumn(0, "srchcd", ds_grd_prtlprcp.getColumn(cRow, "prcpcd").toUpperCase());
  1253. /* 약품코드조회 (그리드내 ) */
  1254. var oParam = {};
  1255. oParam.id = "TRADB00106";
  1256. oParam.service = "pharmacybaseapp.DrugCode";
  1257. oParam.method = "reqGetDrugCodeSrch";
  1258. oParam.inds = "req=ds_send_srchinfo";
  1259. oParam.outds = "ds_grd_druglist=item";
  1260. oParam.async = false;
  1261. //oParam.callback = "cf_TRADB00106";
  1262. tranf_submit(oParam);
  1263. if( ds_grd_druglist.rowcount > 1 ){
  1264. grd_druglist.visible = true;
  1265. } else if( ds_grd_druglist.rowcount == 1 ){
  1266. grd_druglist.visible = false;
  1267. ds_grd_prtlprcp.setColumn(cRow, "prcpcd", ds_grd_druglist.getColumn(0, "drugcd"));
  1268. fSetPrcpCd();
  1269. }
  1270. return;
  1271. }
  1272. }
  1273. if( cCol == group3.grd_prtlprcp.getBindCellIndex("body", "prcpcd") ){
  1274. if( utlf_isNull(ds_hidden_prcpinfo.getColumn(0, "prcpcd")) ){
  1275. group3.grd_prtlprcp.showEditor(true);
  1276. return;
  1277. }
  1278. /* 커서 이동 */
  1279. //20101113 이선경 수정 : 1회용량, 1회수량 추가
  1280. if( colHidnValue == "C" ){ //1회기준
  1281. group3.grd_prtlprcp.setCellPos(group3.grd_prtlprcp.getBindCellIndex("body", "prcpvol2"));
  1282. group3.grd_prtlprcp.showEditor(true);
  1283. } else {
  1284. group3.grd_prtlprcp.setCellPos(group3.grd_prtlprcp.getBindCellIndex("body", "prcpvol"));
  1285. group3.grd_prtlprcp.showEditor(true);
  1286. }
  1287. return;
  1288. }
  1289. if( cCol == group3.grd_prtlprcp.getBindCellIndex("body", "drugseqno") ){
  1290. /* 커서 이동 */
  1291. group3.grd_prtlprcp.setCellPos(group3.grd_prtlprcp.getBindCellIndex("body", "prcpcd"));
  1292. group3.grd_prtlprcp.showEditor(true);
  1293. }
  1294. if( cCol == group3.grd_prtlprcp.getBindCellIndex("body", "bsavol") ){
  1295. /*적용구분을 BSA로 셋팅 */
  1296. var getBsavol = ds_grd_prtlprcp.getColumn(cRow, "bsavol");
  1297. if( !utlf_isNull(getBsavol) ){
  1298. ds_grd_prtlprcp.setColumn(cRow, "volkind", "1");
  1299. }
  1300. }
  1301. if( cCol == group3.grd_prtlprcp.getBindCellIndex("body", "prcpqty") || cCol == group3.grd_prtlprcp.getBindCellIndex("body", "prcpqty2") ){
  1302. /* 커서 이동 */
  1303. group3.grd_prtlprcp.setCellPos(group3.grd_prtlprcp.getBindCellIndex("body", "prcptims"));
  1304. group3.grd_prtlprcp.showEditor(true);
  1305. return;
  1306. }
  1307. if( cCol == group3.grd_prtlprcp.getBindCellIndex("body", "prcpvol") ){
  1308. /* 커서 이동 */
  1309. group3.grd_prtlprcp.setCellPos(group3.grd_prtlprcp.getBindCellIndex("body", "prcpqty"));
  1310. group3.grd_prtlprcp.showEditor(true);
  1311. return;
  1312. }
  1313. if( cCol == group3.grd_prtlprcp.getBindCellIndex("body", "prcpvol2") ){
  1314. /* 커서 이동 */
  1315. group3.grd_prtlprcp.setCellPos(group3.grd_prtlprcp.getBindCellIndex("body", "prcpqty2"));
  1316. group3.grd_prtlprcp.showEditor(true);
  1317. return;
  1318. }
  1319. if( cCol == group3.grd_prtlprcp.getBindCellIndex("body", "kgvol") ){
  1320. /*적용구분을 KG로 셋팅 */
  1321. var getKgvol = ds_grd_prtlprcp.getColumn(cRow, "kgvol");
  1322. if( !utlf_isNull(getKgvol) ){
  1323. ds_grd_prtlprcp.setColumn(cRow, "volkind", "2");
  1324. }
  1325. }
  1326. if( cCol == group3.grd_prtlprcp.getBindCellIndex("body", "prcptims") ){
  1327. /* 커서 이동 */
  1328. group3.grd_prtlprcp.setCellPos(group3.grd_prtlprcp.getBindCellIndex("body", "drugmthdspccd"));
  1329. group3.grd_prtlprcp.showEditor(true);
  1330. return;
  1331. }
  1332. if( cCol == group3.grd_prtlprcp.getBindCellIndex("body", "drugmthdspccd") ){
  1333. /* 커서 이동 */
  1334. group3.grd_prtlprcp.setCellPos(group3.grd_prtlprcp.getBindCellIndex("body", "nursrem"));
  1335. group3.grd_prtlprcp.showEditor(true);
  1336. return;
  1337. }
  1338. if( cCol == group3.grd_prtlprcp.getBindCellIndex("body", "nursrem") ){
  1339. /* 커서 이동 */
  1340. var rowCnt = ds_grd_prtlprcp.rowcount;
  1341. var getPrcpcd = ds_grd_prtlprcp.getColumn(rowCnt - 1, "prcpcd");
  1342. if( !utlf_isNull(getPrcpcd) ){
  1343. group3.grd_prtlprcp.updateToDataset();
  1344. var iRow = ds_grd_prtlprcp.addRow();
  1345. /* 투약순서 셋팅 */
  1346. ds_grd_prtlprcp.setColumn(iRow, "drugseq", rowCnt);
  1347. group3.grd_prtlprcp.setCellPos(group3.grd_prtlprcp.getBindCellIndex("body", "prcpcd"));
  1348. group3.grd_prtlprcp.showEditor(true);
  1349. } else {
  1350. if( cCol != rowCnt && utlf_isNull(ds_grd_prtlprcp.getColumn(rowCnt - 1, "prcpcd")) ){
  1351. cRow = cRow + 2;
  1352. ds_grd_prtlprcp.rowposition = ds_grd_prtlprcp.rowposition +1;
  1353. group3.grd_prtlprcp.setCellPos(group3.grd_prtlprcp.getBindCellIndex("body", "prcpcd"));
  1354. group3.grd_prtlprcp.showEditor(true);
  1355. }
  1356. }
  1357. }
  1358. group3.grd_prtlprcp.setCellPos(group3.grd_prtlprcp.getBindCellIndex("body", "prcpcd"));
  1359. group3.grd_prtlprcp.showEditor(true);
  1360. return;
  1361. }
  1362. }
  1363. /******************************************************************
  1364. * Argument : fSetPrcpCd
  1365. * Description : 수가 조회 및 셋팅
  1366. ******************************************************************/
  1367. function fSetPrcpCd(){
  1368. var cRow = ds_grd_prtlprcp.rowposition;
  1369. /* 수가조회 */
  1370. ds_send_prcpdata.setColumn(0, "cond1", ds_grd_prtlprcp.getColumn(cRow, "prcpcd"));
  1371. ds_send_prcpdata.setColumn(0, "cond2", "-");
  1372. ds_send_prcpdata.setColumn(0, "cond3", utlf_getCurrentDate());
  1373. var oParam = {};
  1374. oParam.id = "TRADB00806";
  1375. oParam.service = "pharmacyprotocolapp.AnticancerProtocol";
  1376. oParam.method = "reqGetPrcpSrchInfo";
  1377. oParam.inds = "prcpdata=ds_send_prcpdata";
  1378. oParam.outds = "ds_hidden_prcpinfo=prcplist";
  1379. oParam.async = false;
  1380. //oParam.callback = "cf_TRADB00806";
  1381. tranf_submit(oParam);
  1382. if( utlf_isNull(ds_hidden_prcpinfo.getColumn(0, "prcpcd")) ){
  1383. return;
  1384. }
  1385. /* 수가조회후 정보 셋팅 */
  1386. ds_grd_prtlprcp.setColumn(cRow, "prcpcd", ds_hidden_prcpinfo.getColumn(0, "prcpcd"));
  1387. ds_grd_prtlprcp.setColumn(cRow, "prcpnm", ds_hidden_prcpinfo.getColumn(0, "prcpnm"));
  1388. ds_grd_prtlprcp.setColumn(cRow, "payflagcd", ds_hidden_prcpinfo.getColumn(0, "payflagcd"));
  1389. ds_grd_prtlprcp.setColumn(cRow, "prcpvol", ds_hidden_prcpinfo.getColumn(0, "prcpvol"));
  1390. ds_grd_prtlprcp.setColumn(cRow, "prcpqty", ds_hidden_prcpinfo.getColumn(0, "prcpqty"));
  1391. ds_grd_prtlprcp.setColumn(cRow, "prcptims", ds_hidden_prcpinfo.getColumn(0, "prcptims"));
  1392. ds_grd_prtlprcp.setColumn(cRow, "drugmthdspccd", ds_hidden_prcpinfo.getColumn(0, "drugmthdspccd"));
  1393. ds_grd_prtlprcp.setColumn(cRow, "prcpvolunitnm", ds_hidden_prcpinfo.getColumn(0, "prcpvolunitnm"));
  1394. ds_grd_prtlprcp.setColumn(cRow, "prcpvolunitflag", ds_hidden_prcpinfo.getColumn(0, "prcpvolunitflag"));
  1395. ds_grd_prtlprcp.setColumn(cRow, "prcpqtyunitnm", ds_hidden_prcpinfo.getColumn(0, "prcpqtyunitnm"));
  1396. ds_grd_prtlprcp.setColumn(cRow, "prcpqtyunitflag", ds_hidden_prcpinfo.getColumn(0, "prcpqtyunitflag"));
  1397. ds_grd_prtlprcp.setColumn(cRow, "drugspdunitnm", ds_hidden_prcpinfo.getColumn(0, "drugspdunitnm"));
  1398. ds_grd_prtlprcp.setColumn(cRow, "drugspdunitflag", ds_hidden_prcpinfo.getColumn(0, "drugspdunitflag"));
  1399. ds_grd_prtlprcp.setColumn(cRow, "prcpexecdeptcd", ds_hidden_prcpinfo.getColumn(0, "prcpexecdeptcd"));
  1400. ds_grd_prtlprcp.setColumn(cRow, "volrate", ds_hidden_prcpinfo.getColumn(0, "drugcntsvol"));
  1401. ds_grd_prtlprcp.setColumn(cRow, "prcpclscd", ds_hidden_prcpinfo.getColumn(0, "prcpclscd"));
  1402. ds_grd_prtlprcp.setColumn(cRow, "drugmastspec", ds_hidden_prcpinfo.getColumn(0, "drugmastspec"));
  1403. var cntsvol = ds_hidden_prcpinfo.getColumn(0, "drugcntsvol");
  1404. var basevol = ds_hidden_prcpinfo.getColumn(0, "drugbasevol");
  1405. //1회용량 (마스터의 약품기준용량 * 1회기본수량)
  1406. ds_grd_prtlprcp.setColumn(cRow, "prcpvol2", cntsvol * basevol);
  1407. //1회수량 (마스터의 1회기본수량 셋팅)
  1408. ds_grd_prtlprcp.setColumn(cRow, "prcpqty2", basevol);
  1409. }
  1410. /******************************************************************
  1411. * Argument :
  1412. * Description : 프로토콜 내역 조회 및 수정 시 용량 계산
  1413. ******************************************************************/
  1414. function ds_grd_prtlprcp_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  1415. {
  1416. //수정전 1일용량
  1417. var bfprcpvol = ds_temp.getColumn(0, "bfprcpvol");
  1418. //수정전 1일수량
  1419. var bfprcpqty = ds_temp.getColumn(0, "bfprcpqty");
  1420. //수정전 1회용량
  1421. var bfprcpvol2 = ds_temp.getColumn(0, "bfprcpvol2");
  1422. //수정전 1회수량
  1423. var bfprcpqty2 = ds_temp.getColumn(0, "bfprcpqty2");
  1424. //수정전 횟수
  1425. var bfprcptims = ds_temp.getColumn(0, "bfprcptims");
  1426. //선택된 Row
  1427. var cRow = ds_grd_prtlprcp.rowposition;
  1428. //1일수량 수정시
  1429. if( e.columnid == "prcpqty" && bfprcpqty != ds_grd_prtlprcp.getColumn(cRow, "prcpqty") ){
  1430. if( group3.grd_prtlprcp.getEditText() != undefined ){
  1431. /* 용량량재계산 */
  1432. var volrate = ds_grd_prtlprcp.getColumn(cRow, "volrate");
  1433. var prcpvol = ds_grd_prtlprcp.getColumn(cRow, "prcpvol");
  1434. var prcpqty = ds_grd_prtlprcp.getColumn(cRow, "prcpqty");
  1435. ds_grd_prtlprcp.setColumn(cRow, "prcpvol", Math.round(parseFloat(prcpqty)*parseFloat(volrate)*100)/100);
  1436. }
  1437. return;
  1438. }
  1439. if( e.columnid == "prcpvol" && bfprcpvol != ds_grd_prtlprcp.getColumn(cRow, "prcpvol") ){
  1440. if( group3.grd_prtlprcp.getEditText() != undefined ){
  1441. /* 수량재계산 */
  1442. var volrate = ds_grd_prtlprcp.getColumn(cRow, "volrate");
  1443. var prcpvol = ds_grd_prtlprcp.getColumn(cRow, "prcpvol");
  1444. var prcpqty = ds_grd_prtlprcp.getColumn(cRow, "prcpqty");
  1445. ds_grd_prtlprcp.setColumn(cRow, "prcpqty", Math.round(parseFloat(prcpvol)/parseFloat(volrate)*100)/100);
  1446. }
  1447. return;
  1448. }
  1449. //횟수수정시
  1450. if( e.columnid == "prcptims" && bfprcptims != ds_grd_prtlprcp.getColumn(cRow, "prcptims") ){
  1451. if( group3.grd_prtlprcp.getEditText() != undefined ){
  1452. var prcptims = ds_grd_prtlprcp.getColumn(cRow, "prcptims");
  1453. // 20101011_laboru_경북대병원_D 코드 로직 삭제. 처방분류코드(prcpclscd) 사용
  1454. if( ds_grd_prtlprcp.getColumn(cRow, "prcpclscd").substring(0,1) == "A" ){
  1455. mthdcd = "";
  1456. mthdcd = ds_grd_prtlprcp.getColumn(cRow, "drugmthdspccd").substring(0,2) + ds_grd_prtlprcp.getColumn(cRow, "prcptims");
  1457. mthdcd = ds_grd_prtlprcp.getColumn(cRow, "drugmthdspccd").substring(3,8);
  1458. var prcpvol = ds_grd_prtlprcp.getColumn(cRow, "prcpvol2");
  1459. var prcpqty = ds_grd_prtlprcp.getColumn(cRow, "prcpqty2");
  1460. //20110110 이선경 수정 : 횟수 수정시 총수량, 총용량 재계산
  1461. ds_grd_prtlprcp.setColumn(cRow, "prcpvol", prcpvol*prcptims);
  1462. ds_grd_prtlprcp.setColumn(cRow, "prcpqty", prcpqty*prcptims);
  1463. }
  1464. }
  1465. }
  1466. //1회수량 수정시
  1467. if( e.columnid == "prcpqty2" && bfprcpqty2 != ds_grd_prtlprcp.getColumn(cRow, "prcpqty2") ){
  1468. if( group3.grd_prtlprcp.getEditText() != undefined ){
  1469. /* 1회용량량재계산 */
  1470. var volrate = ds_grd_prtlprcp.getColumn(cRow, "volrate");
  1471. var prcpvol = ds_grd_prtlprcp.getColumn(cRow, "prcpvol2");
  1472. var prcpqty = ds_grd_prtlprcp.getColumn(cRow, "prcpqty2");
  1473. ds_grd_prtlprcp.setColumn(cRow, "prcpvol2", parseFloat(prcpqty)*parseFloat(volrate));
  1474. //1일용량재계산
  1475. var prcptims = ds_grd_prtlprcp.getColumn(cRow, "prcptims");
  1476. if( utlf_isNull(prcptims) || prcptims == 0 ){
  1477. prcptims = 1;
  1478. }
  1479. ds_grd_prtlprcp.setColumn(cRow, "prcpvol", parseFloat(prcpqty)*parseFloat(volrate) * prcptims);
  1480. //1일수량재계산
  1481. ds_grd_prtlprcp.setColumn(cRow, "prcpqty", parseFloat(prcpqty) * prcptims);
  1482. }
  1483. return;
  1484. }
  1485. //1회용량 수정시
  1486. if( e.columnid == "prcpvol2" && bfprcpvol2 != ds_grd_prtlprcp.getColumn(cRow, "prcpvol2") ){
  1487. if( group3.grd_prtlprcp.getEditText() != undefined ){
  1488. /* 1회수량재계산 */
  1489. var volrate = ds_grd_prtlprcp.getColumn(cRow, "volrate");
  1490. var prcpvol = ds_grd_prtlprcp.getColumn(cRow, "prcpvol2");
  1491. var prcpqty = ds_grd_prtlprcp.getColumn(cRow, "prcpqty2");
  1492. ds_grd_prtlprcp.setColumn(cRow, "prcpqty2", Math.round(parseFloat(prcpvol)/parseFloat(volrate)*100)/100);
  1493. //1일용량재계산
  1494. var prcptims = ds_grd_prtlprcp.getColumn(cRow, "prcptims");
  1495. if( utlf_isNull(prcptims) || prcptims == 0 ){
  1496. prcptims = 1;
  1497. }
  1498. ds_grd_prtlprcp.setColumn(cRow, "prcpvol", parseFloat(prcpvol)* prcptims);
  1499. //1일수량재계산
  1500. ds_grd_prtlprcp.setColumn(cRow, "prcpqty", Math.round(parseFloat(prcpvol)/parseFloat(volrate)*100)/100 * prcptims);
  1501. }
  1502. return;
  1503. }
  1504. /* 컬럼값 변경이 완료 되었을때 발생되는 Event Start*****************************************************************************************/
  1505. if( e.columnid == "prcptims" ){
  1506. if( ds_grd_prtlprcp.getColumn(cRow, "prnprcpflag") == "Y" ){
  1507. if( ds_grd_prtlprcp.getColumn(cRow, "prcptims") != "1" ){
  1508. sysf_messageBox ( "PRN 처방의 횟수는 1만 가능합니다. 1회로 수정하겠습니다." , "E" );
  1509. ds_grd_prtlprcp.setColumn(cRow, "prcptims", "1");
  1510. }
  1511. }
  1512. }
  1513. if( e.columnid == "prnprcpflag"){
  1514. if( ds_grd_prtlprcp.getColumn(cRow, "prnprcpflag") == "Y" ){
  1515. var bfdrugmastspec = ds_grd_prtlprcp.getColumn(cRow, "drugmastspec");
  1516. var bfprnl = getArrayData(bfdrugmastspec, 0, 23, "^", "|");
  1517. if( bfprnl == "N" ){
  1518. sysf_messageBox ( "PRN 지정이 불가능한 처방입니다." , "E" );
  1519. ds_grd_prtlprcp.setColumn(cRow, "prnprcpflag", "N");
  1520. } else if( bfprnl == "Y" ){
  1521. if( ds_grd_prtlprcp.getColumn(cRow, "prcptims") != "1" ){
  1522. sysf_messageBox ( "PRN 처방의 횟수는 1만 가능합니다. 1회로 수정하겠습니다." , "E" );
  1523. var prcptims = ds_grd_prtlprcp.getColumn(cRow, "prcptims");
  1524. //1이 아닌 경우는 1로 바꿔주고 경구약인 경우는 용법도 바꿔준다.
  1525. var prcpqty = ds_grd_prtlprcp.getColumn(cRow, "prcpqty");
  1526. var prcpvol = ds_grd_prtlprcp.getColumn(cRow, "prcpvol");
  1527. if( prcptims != "0" && ds_grd_prtlprcp.getColumn(cRow, "prcpclscd") =="A2" ){
  1528. prcpqty = (eval(prcpqty)*1000/eval(prcptims));
  1529. prcpvol = (eval(prcpvol)*1000/eval(prcptims));
  1530. ds_grd_prtlprcp.setColumn(cRow, "prcpqty", Math.round(prcpqty) / 1000);
  1531. ds_grd_prtlprcp.setColumn(cRow, "prcpvol", Math.round(prcpvol) / 1000);
  1532. }
  1533. ds_grd_prtlprcp.setColumn(cRow, "prcptims", "1");
  1534. if( ds_grd_prtlprcp.getColumn(cRow, "prcpclscd") == "A2" ){
  1535. fBaseMthd(1);
  1536. }
  1537. }
  1538. var monitorNumber = sysf_getCurrentMonitorNumber();
  1539. var monitorResolutions = system.getScreenRect(mon);
  1540. var resolution_width = monitorResolutions.right - monitorResolutions.left;
  1541. var resolution_height = monitorResolutions.bottom - monitorResolutions.top;
  1542. var xpt = (resolution_width - 246) / 2;
  1543. var ypt = (resolution_height - 119) / 2;
  1544. frmf_modal("SPMMO19200", "SPMMO19200", null, false, mon, xpt, ypt, null, null, null, null, null, "M");
  1545. var resnyn = frmf_getParameter("SPMMO19200_rtn1");
  1546. if( resnyn == "N" ){
  1547. ds_grd_prtlprcp.setColumn(cRow, "prnprcpflag", "N");
  1548. } else if( resnyn == "Y" ){
  1549. var Sprnprcpdtl = frmf_getParameter("SPMMO19200_prnNum") + "|" + frmf_getParameter("SPMMO19200_resncd") + "|"
  1550. + frmf_getParameter("SPMMO19200_resncmt") + "|" + frmf_getParameter("SPMMO19200_prnTerm");
  1551. ds_grd_prtlprcp.setColumn(cRow, "prnprcpdtl", Sprnprcpdtl);
  1552. ds_grd_prtlprcp.setColumn(cRow, "prnprcpflag", "Y");
  1553. }
  1554. }
  1555. }
  1556. }
  1557. /*컬럼값 변경이 완료 되었을때 발생되는 Event End*******************************************************************************/
  1558. }
  1559. /******************************************************************
  1560. * Argument :
  1561. * Description : Edit mode Event
  1562. ******************************************************************/
  1563. function group3_grd_prtlprcp_onenteredit(obj:Grid, e:GridEditEventInfo)
  1564. {
  1565. var cRow = ds_grd_prtlprcp.rowposition;
  1566. //1일용량
  1567. ds_temp.setColumn(0, "bfprcpvol", ds_grd_prtlprcp.getColumn(cRow, "prcpvol"));
  1568. //1일수량
  1569. ds_temp.setColumn(0, "bfprcpqty", ds_grd_prtlprcp.getColumn(cRow, "prcpqty"));
  1570. //1회용량
  1571. ds_temp.setColumn(0, "bfprcpvol2", ds_grd_prtlprcp.getColumn(cRow, "prcpvol2"));
  1572. //1회수량
  1573. ds_temp.setColumn(0, "bfprcpqty2", ds_grd_prtlprcp.getColumn(cRow, "prcpqty2"));
  1574. //횟수
  1575. ds_temp.setColumn(0, "bfprcptims", ds_grd_prtlprcp.getColumn(cRow, "prcptims"));
  1576. }
  1577. /******************************************************************
  1578. * Argument :
  1579. * Description : PRN popup 닫기 Button Event
  1580. ******************************************************************/
  1581. function group25_button25_onclick(obj:Button, e:ClickEventInfo)
  1582. {
  1583. group25.visible = false;
  1584. }
  1585. /******************************************************************
  1586. * Argument :
  1587. * Description : 전달사항 POPUP 닫기 Button Event
  1588. ******************************************************************/
  1589. function grp_remark_button20_onclick(obj:Button, e:ClickEventInfo)
  1590. {
  1591. grp_remark.visible = false;
  1592. }
  1593. /******************************************************************
  1594. * Argument :
  1595. * Description : 약품코드 popup
  1596. ******************************************************************/
  1597. function grd_druglist_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  1598. {
  1599. var cRow = ds_grd_prtlprcp.rowposition;
  1600. grd_druglist.visible = false;
  1601. ds_grd_prtlprcp.setColumn(cRow, "prcpcd", ds_grd_druglist.getColumn(ds_grd_druglist.rowposition, "drugcd"));
  1602. fSetPrcpCd();
  1603. }
  1604. function group3_grd_prtlprcp_onheadclick(obj:Grid, e:GridClickEventInfo)
  1605. {
  1606. if( e.col == group3.grd_prtlprcp.getBindCellIndex("body", "chk"))
  1607. {
  1608. var chkval = ds_grd_prtlprcp.getColumn(0, "chk");
  1609. if( chkval == "Y" )
  1610. {
  1611. chkval = "N";
  1612. }
  1613. else
  1614. {
  1615. chkval = "Y";
  1616. }
  1617. ds_grd_prtlprcp.enableevent = false;
  1618. ds_grd_prtlprcp.updatecontrol = false;
  1619. for(var i = 0; i < ds_grd_prtlprcp.rowcount; i++)
  1620. {
  1621. ds_grd_prtlprcp.setColumn(i, "chk", chkval);
  1622. if(chkval=="N") {
  1623. ds_grd_prtlprcp.setRowType(i, Dataset.ROWTYPE_NORMAL);
  1624. } else {
  1625. ds_grd_prtlprcp.setRowType(i, Dataset.ROWTYPE_UPDATE);
  1626. }
  1627. }
  1628. ds_grd_prtlprcp.updatecontrol = true;
  1629. ds_grd_prtlprcp.enableevent = true;
  1630. group3.grd_prtlprcp.setCellPos(group3.grd_prtlprcp.getBindCellIndex("body", "chk"));
  1631. group3.grd_prtlprcp.showEditor(true);
  1632. }
  1633. }
  1634. ]]></Script>
  1635. </Form>
  1636. </FDL>