SMAHA00700_처방관리.xrw 68 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SMAHA00700.xrw
  4. * 설 명 : 처방관리
  5. * 설 계 자 : 손주연
  6. * 작 성 자 : 손주연
  7. * 작 성 일 : 2007.06.11
  8. * 수정이력 :
  9. * 기 타 :
  10. -->
  11. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  12. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  13. <xhtml:head>
  14. <xhtml:title>처방관리</xhtml:title>
  15. <model id="model1">
  16. <instance id="instance1">
  17. <root xmlns="">
  18. <main>
  19. <histlst>
  20. <item>
  21. <orddd/>
  22. <cmpynm/>
  23. <pkgnm/>
  24. <statflag/>
  25. <cmpyflag/>
  26. <lastupdtrid/>
  27. <lastupdtdt/>
  28. <rsrvdd/>
  29. <rsrvno/>
  30. <pkgcd/>
  31. <healexamflag/>
  32. <healexamdetlflag/>
  33. <cmpycd/>
  34. <conseq/>
  35. <healexamplacecd/>
  36. </item>
  37. </histlst>
  38. <info>
  39. <patinfo>
  40. <item>
  41. <pid/>
  42. <rgstno1/>
  43. <rgstno2/>
  44. <hngnm/>
  45. <engnm/>
  46. <sex/>
  47. <age/>
  48. <brthdd/>
  49. <zipcd11/>
  50. <zipcd12/>
  51. <addr1/>
  52. <detladdr1/>
  53. <mpphon/>
  54. <telno/>
  55. <emailid/>
  56. <emailtype/>
  57. <healexampid/>
  58. <emailkind/>
  59. <zipcd21/>
  60. <zipcd22/>
  61. <addr2/>
  62. <detladdr2/>
  63. <psptno/>
  64. <brthareacnts/>
  65. <pidcretfg/>
  66. <zipcdseq1/>
  67. <zipcdseq2/>
  68. <clntgrde/>
  69. <patremcnts/>
  70. <choiflag/>
  71. </item>
  72. </patinfo>
  73. <ordinfo>
  74. <ordlst>
  75. <sel/>
  76. <dcflag/>
  77. <testflag/>
  78. <uncocd/>
  79. <testcd/>
  80. <testnm/>
  81. <dcynflag/>
  82. <scoreamt/>
  83. <prcpexecdeptcd/>
  84. <lastupdtrid/>
  85. <lastupdtdt/>
  86. <prcpdd/>
  87. <prcpno/>
  88. <m/>
  89. <rcptstat/>
  90. <calcscorcd/>
  91. <grupflag/>
  92. <execprcpuniqno/>
  93. </ordlst>
  94. <info>
  95. <acptdesc/>
  96. <dcamt/>
  97. <selamt/>
  98. <cmpyaddamt/>
  99. <addamt/>
  100. </info>
  101. </ordinfo>
  102. </info>
  103. </main>
  104. <send>
  105. <saveordcd/>
  106. <srchhealexamdetlflag/>
  107. <srchpid/>
  108. <srchhealexamflag/>
  109. <srchinstcd/>
  110. <srchstatflag/>
  111. <srchrsrvdd/>
  112. <srchrsrvno/>
  113. <srchorddd/>
  114. <srchhopedd/>
  115. <srchcretno/>
  116. <srchorddeptcd/>
  117. <srchchk/>
  118. <save>
  119. <healexamflag/>
  120. <healexamdetlflag/>
  121. <rsrvdd/>
  122. <rsrvno/>
  123. <pid/>
  124. <orddd/>
  125. <cretno/>
  126. <uncocd/>
  127. <disccd/>
  128. <orddeptcd/>
  129. <instcd/>
  130. <saveordlst/>
  131. </save>
  132. <saveinfo>
  133. <savelist/>
  134. </saveinfo>
  135. </send>
  136. <send1>
  137. <healexamflag/>
  138. <rsrvdd/>
  139. <rsrvno/>
  140. <testflag/>
  141. <testcd/>
  142. <cmpyflag/>
  143. <age/>
  144. <cmpycd/>
  145. <conseq/>
  146. <conhistseq/>
  147. <statflag/>
  148. </send1>
  149. <send2>
  150. <popchk/>
  151. </send2>
  152. <price>
  153. <dangainfo>
  154. <danga/>
  155. </dangainfo>
  156. </price>
  157. <init>
  158. <baseinfo>
  159. <uncocdlst>
  160. </uncocdlst>
  161. <clntgrdlst/>
  162. <rsrvflaglst/>
  163. <rsltcnstflaglst/>
  164. <choiflaglst/>
  165. <emaillst/>
  166. <hedetlflaglst/>
  167. <statlst/>
  168. <relacdlst/>
  169. <pamcdlst>
  170. <disccdlst>
  171. <item>
  172. <cd/>
  173. <nm/>
  174. </item>
  175. </disccdlst>
  176. <uncocdlst>
  177. <item>
  178. <cd/>
  179. <nm/>
  180. </item>
  181. </uncocdlst>
  182. </pamcdlst>
  183. <testflag/>
  184. <ordstatlst>
  185. <M0011/>
  186. </ordstatlst>
  187. <rcptstatlst/>
  188. <choiflaglst/>
  189. <examinfo/>
  190. </baseinfo>
  191. <dept_info>
  192. <initprcpexecdeptcd>
  193. <prcpexecdeptcdid/>
  194. <prcpexecdeptcdnm/>
  195. </initprcpexecdeptcd>
  196. </dept_info>
  197. </init>
  198. <hidden>
  199. </hidden>
  200. <temp>
  201. <patinfo>
  202. <item/>
  203. </patinfo>
  204. <templst/>
  205. <choiflagchangeyn/>
  206. </temp>
  207. <temp1>
  208. <test>
  209. <testcd/>
  210. <pkgcd/>
  211. </test>
  212. </temp1>
  213. <choitest/>
  214. </root>
  215. </instance>
  216. <bind id="bind_testcd" ref="/root/main/info/ordinfo/ordlst/testcd" readonly="../prcpno!=''"/>
  217. <bind id="bind_uncocd" ref="/root/main/info/ordinfo/ordlst/uncocd" readonly="../prcpno!=''"/>
  218. <bind id="bind_testflag" ref="/root/main/info/ordinfo/ordlst/testflag" readonly="../prcpno!=''"/>
  219. <bind id="bind_dc" ref="/root/main/info/ordinfo/ordlst/dcflag" readonly="../prcpno=''"/>
  220. <submission id="TRZBC00101"/>
  221. <submission id="TRAHA00003"/>
  222. <submission id="TRAHA00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/temp/patinfo"/>
  223. <submission id="TRAHA00104" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/baseinfo/pamcdlst"/>
  224. <submission id="TRAHA00106" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/histlst"/>
  225. <submission id="TRAHA00701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/info/ordinfo"/>
  226. <submission id="TRAHA00702" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send1" replace="instance" resultref="/root/price"/>
  227. <submission id="TXAHA00701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" replace="instance" resultref="/root/hidden"/>
  228. <submission id="TXAHA00702" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/saveinfo" replace="instance" resultref="/root/hidden"/>
  229. <submission id="TXAHA00703" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/saveinfo" replace="instance" resultref="/root/hidden"/>
  230. <submission id="TXAHA02101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/temp/rcptinfo/hidden"/>
  231. <submission id="TXAHA02102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/temp/rcptinfo/hidden"/>
  232. <submission id="TRAHA02105" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/temp/rcptno_out"/>
  233. <submission id="TRAHA00013" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/test" replace="instance" resultref="/root/tmp"/>
  234. <submission id="TXAHA04002" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/choitest"/>
  235. <submission id="TRAEB00205" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/globalinstance" replace="instance" resultref="/root/init/dept_info"/>
  236. <submission id="TXAHA00105" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/dope" replace="instance" resultref="/root/hidden"/>
  237. </model>
  238. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  239. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  240. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  241. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  242. <script type="javascript" src="../../../ast/healexamweb/js/AHA001.js"/>
  243. <script type="javascript" src="../../../ast/healthexambaseweb/js/healcombolist2.js"/>
  244. <script type="javascript" ev:event="xforms-ready">
  245. <![CDATA[
  246. fInitBaseInfo();
  247. fInitOrdInfo(true);
  248. if(checkOpener()){
  249. var param_healexamdetlflag = opener.javascript.getParameter("SMAHA00700_PARAM1");
  250. var param_pid = opener.javascript.getParameter("SMAHA00700_PARAM2");
  251. if(param_healexamdetlflag != "" && param_pid != ""){
  252. model.setValue(cmb_srchhealexamdetlflag.attribute("ref") , param_healexamdetlflag);
  253. ipt_pid.currentText = param_pid;
  254. fGetPatInfo(2);
  255. btn_search.dispatch("DOMActivate");
  256. }
  257. }
  258. model.makeValue("/root/tmp/cho", rdo_choiflag.value);
  259. submit("TRAEB00205"); //시행부서 조회
  260. model.setfocus("grd_ordlst");
  261. ]]>
  262. </script>
  263. <script type="javascript">
  264. <![CDATA[
  265. var col_calcflag = 3;
  266. var col_uncocd = 4;
  267. var col_prcpcd = 5;
  268. var col_prcpnm = 6;
  269. var col_scoramt = 8;
  270. var col_execdept = 9;
  271. /**=============================================================================================
  272. * 기본정보 가져오기.
  273. * 건진구분, 건진상태구분, 청구유형, 처방구분(P/A/S)을 가져온다.
  274. *=============================================================================================*/
  275. function fInitBaseInfo(){
  276. //건진상세구분 , 상태구분, 처방구분
  277. var vHealExamFg = fGetHealExamFlag();
  278. var sDetlFg = "";
  279. if(vHealExamFg == "C"){
  280. zbcfGetCodeList(new Array("A0069", "A0107", "A0117", "M0011", "P0030" , "A0116"),
  281. new Array("/root/init/baseinfo/hedetlflaglst"
  282. , "/root/init/baseinfo/statlst"
  283. , "/root/init/baseinfo/testflag"
  284. , "/root/init/baseinfo/ordstatlst"
  285. , "/root/init/baseinfo/rcptstatlst"
  286. , "/root/init/baseinfo/choiflaglst"));
  287. sDetlFg = "/root/init/baseinfo/hedetlflaglst/A0069";
  288. }else{
  289. zbcfGetCodeList(new Array("A0070", "A0107", "A0117", "M0011", "P0030"),
  290. new Array("/root/init/baseinfo/hedetlflaglst"
  291. , "/root/init/baseinfo/statlst"
  292. , "/root/init/baseinfo/testflag"
  293. , "/root/init/baseinfo/ordstatlst"
  294. , "/root/init/baseinfo/rcptstatlst"));
  295. sDetlFg = "/root/init/baseinfo/hedetlflaglst/A0070";
  296. }
  297. model.resetInstanceNode("/root/init/baseinfo/examinfo");
  298. healGetCodeList( new Array("S100"), new Array("/root/init/baseinfo/examinfo"));
  299. submit("TRAHA00003");
  300. cmb_srchhealexamdetlflag.choices.itemset.attribute("nodeset") = sDetlFg;
  301. submit("TRZBC00101");
  302. model.setValue("/root/send/srchinstcd", getUserInfo("dutplceinstcd"));
  303. submit("TRAHA00104");
  304. var nodelist = instance1.selectNodes(sDetlFg);
  305. if(nodelist.length > 0){
  306. if(nodelist.length == 1){
  307. cmb_srchhealexamdetlflag.value = model.getValue(sDetlFg + "/cdid");
  308. }else{
  309. cmb_srchhealexamdetlflag.value = model.getValue(sDetlFg + "[1]/cdid");
  310. }
  311. }
  312. var vHealExamDetlFg = fGetHealExamDetlFlag();
  313. var sDetlFg = "/root/init/baseinfo/hedetlflaglst/A0069";
  314. var nodelist = instance1.selectNodes(sDetlFg);
  315. if(nodelist.length > 0){
  316. cmb_srchhealexamdetlflag.value = vHealExamDetlFg;
  317. }
  318. model.setFocus("ipt_pid");
  319. model.refresh();
  320. }
  321. /**=============================================================================================
  322. * 처방 초기화
  323. *bAll : 전체 초기화(true)_건진이력포함, 처방정보만 초기화(false)
  324. *=============================================================================================*/
  325. function fInitOrdInfo(bAll){
  326. if(bAll){
  327. model.removeNodeset("/root/main/histlst/item");
  328. }
  329. model.setValue(tar_desc.attribute("ref"), "");
  330. model.resetInstanceNode("/root/main/ordinfo");
  331. model.removeNodeset(grd_ordlst.nodeset);
  332. model.refresh();
  333. }
  334. /**=============================================================================================
  335. * 선택검사변경
  336. *=============================================================================================*/
  337. function fChangeCode(choi){
  338. model.makeValue("/root/temp/save/choiflag/choiValue", "");
  339. if(model.getValue("/root/tmp/cho") != rdo_choiflag.value){
  340. model.makeValue("/root/temp/choiflagchangeyn", "N");
  341. var cnt = grd_ordlst.rows;
  342. //grd_ordlst.clearStatus();
  343. //testchance(rdo_choiflag.value);
  344. model.makeValue("/root/temp/save/choiflag/choiValue", rdo_choiflag.value);
  345. var stestcd = model.getValue("//root/init/baseinfo/examinfo/S100[cdid = " + rdo_choiflag.value +"]/cdid");
  346. var stestnm = model.getValue("//root/init/baseinfo/examinfo/S100[cdid = " + rdo_choiflag.value +"]/cdnm");
  347. var sexcucd = model.getValue("//root/init/baseinfo/examinfo/S100[cdid = " + rdo_choiflag.value +"]/cmt");
  348. if(sexcucd != ""){
  349. /* 선택검사 단가 */
  350. /*
  351. model.removeNodeset("/root/send1");
  352. model.makeValue("/root/send1/healexamflag" , model.getValue("/root/main/histlst/item[" + grd_histlst.row + "]/healexamflag"));
  353. model.makeValue("/root/send1/rsrvdd" , model.getValue("/root/main/histlst/item[" + grd_histlst.row + "]/rsrvdd"));
  354. model.makeValue("/root/send1/rsrvno" , model.getValue("/root/main/histlst/item[" + grd_histlst.row + "]/rsrvno"));
  355. model.makeValue("/root/send1/testflag" , "S");
  356. model.makeValue("/root/send1/testcd" , stestcd);
  357. model.makeValue("/root/send1/cmpyflag" , model.getValue("/root/main/histlst/item[" + grd_histlst.row + "]/cmpyflag"));
  358. model.makeValue("/root/send1/age" , model.getValue("/root/main/info/patinfo/item/age"));
  359. model.makeValue("/root/send1/cmpycd" , model.getValue("/root/main/histlst/item[" + grd_histlst.row + "]/cmpycd"));
  360. model.makeValue("/root/send1/conseq" , model.getValue("/root/main/histlst/item[" + grd_histlst.row + "]/conseq"));
  361. model.makeValue("/root/send1/conhistseq" , model.getValue("/root/main/histlst/item[" + grd_histlst.row + "]/conhistseq"));
  362. model.makeValue("/root/send1/statflag" , model.getValue("/root/main/histlst/item[" + grd_histlst.row + "]/statflag"));
  363. submit("TRAHA00702");
  364. */
  365. grd_ordlst.addRow();
  366. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("sel")) = "Y";
  367. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("dcflag")) = "N";
  368. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("testflag")) = "S";
  369. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("uncocd")) = "V01";
  370. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("testcd")) = sexcucd;
  371. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("testnm")) = stestnm;
  372. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("dcynflag")) = "";
  373. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("scoreamt")) = model.getValue("/root/price/dangainfo/danga");
  374. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("prcpexecdeptcd")) = "";
  375. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("lastupdtrid")) = "";
  376. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("lastupdtdt")) = "";
  377. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("prcpdd")) = "";
  378. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("prcpno")) = "";
  379. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("m")) = "";
  380. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("rcptstat")) = "";
  381. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("calcscorcd")) = sexcucd;
  382. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("grupflag")) = "S";
  383. grd_ordlst.rowStatus(cnt) = 3;
  384. }
  385. /* function 종료 - 주석처리
  386. if (rdo_choiflag.value=="01"){
  387. model.makeValue("/root/temp/save/choiflag/choiValue" , "01") ;
  388. }
  389. if (rdo_choiflag.value=="02"){
  390. grd_ordlst.addRow();
  391. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("sel"))="Y";
  392. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("dcflag"))="N";
  393. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("testflag"))="S";
  394. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("uncocd"))="V01";
  395. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("testcd"))="RSHA010G";
  396. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("testnm"))="위투시";
  397. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("dcynflag"))="";
  398. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("scoreamt"))="64114";
  399. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("prcpexecdeptcd"))="";
  400. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("lastupdtrid"))="";
  401. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("lastupdtdt"))="";
  402. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("prcpdd"))="";
  403. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("prcpno"))="";
  404. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("m"))="";
  405. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("rcptstat"))="";
  406. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("calcscorcd"))="RSHA010G";
  407. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("grupflag"))="S";
  408. grd_ordlst.rowStatus(cnt) = 3;
  409. model.makeValue("/root/temp/save/choiflag/choiValue" , "02") ;
  410. // grd_ordlst.gridToInstance();
  411. // grd_ordlst.rebuild();
  412. }
  413. if (rdo_choiflag.value=="03"){
  414. grd_ordlst.addRow();
  415. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("sel"))="Y";
  416. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("dcflag"))="N";
  417. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("testflag"))="S";
  418. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("uncocd"))="V01";
  419. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("testcd"))="VHGE761101G";
  420. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("testnm"))="위내시경";
  421. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("dcynflag"))="";
  422. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("scoreamt"))="64114";
  423. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("prcpexecdeptcd"))="";
  424. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("lastupdtrid"))="";
  425. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("lastupdtdt"))="";
  426. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("prcpdd"))="";
  427. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("prcpno"))="";
  428. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("m"))="";
  429. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("rcptstat"))="";
  430. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("calcscorcd"))="VHGE761101G";
  431. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("grupflag"))="G";
  432. model.makeValue("/root/temp/save/choiflag/choiValue" , "03") ;
  433. grd_ordlst.rowStatus(cnt) = 3;
  434. }
  435. if (rdo_choiflag.value=="04"){
  436. grd_ordlst.addRow();
  437. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("sel"))="Y";
  438. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("dcflag"))="N";
  439. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("testflag"))="A";
  440. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("uncocd"))="V01";
  441. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("testcd"))="VHGE761103G";
  442. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("testnm"))="수면내시경";
  443. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("dcynflag"))="";
  444. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("scoreamt"))="64114";
  445. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("prcpexecdeptcd"))="";
  446. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("lastupdtrid"))="";
  447. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("lastupdtdt"))="";
  448. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("prcpdd"))="";
  449. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("prcpno"))="";
  450. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("m"))="";
  451. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("rcptstat"))="";
  452. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("calcscorcd"))="VHGE761103G";
  453. grd_ordlst.valueMatrix(cnt ,grd_ordlst.colRef("grupflag"))="G";
  454. model.makeValue("/root/temp/save/choiflag/choiValue" , "04") ;
  455. grd_ordlst.rowStatus(cnt) = 3;
  456. }
  457. // model.refresh()
  458. // grd_ordlst.rebuild();
  459. */
  460. }
  461. }
  462. /**=============================================================================================
  463. * 선택검사변경
  464. *=============================================================================================*/
  465. function testchance(choi){ /* 사용안함 */
  466. var spkgcd = "";
  467. /* if (model.getValue("root/tmp/cho") == "02"){
  468. spkgcd = "RSHA010G";
  469. }else if (model.getValue("root/tmp/cho") == "03"){
  470. spkgcd = "VHGE761101G";
  471. }else if (model.getValue("root/tmp/cho") == "04"){
  472. spkgcd = "VHGE761103G";
  473. }else{
  474. return;
  475. }
  476. spkgcd = "VHGE761103G";
  477. for (var i = 1; i < grd_ordlst.rows; i ++){
  478. if (model.getValue("/root/main/info/ordinfo/ordlst[" + i + "]/pkgcd") == spkgcd){
  479. grd_ordlst.valueMatrix(i,grd_ordlst.colRef("sel"))="Y";
  480. grd_ordlst.valueMatrix(i,grd_ordlst.colRef("dcflag"))="Y";
  481. grd_ordlst.valueMatrix(i ,grd_ordlst.colRef("m"))="d";
  482. grd_ordlst.rowStatus(i) = 4;
  483. }
  484. }*/
  485. /* 사용안함 (수정일자 : 20090406)
  486. var cnt = getNodesetCount("/root/choitest/test/choitest");
  487. var grcnt = grd_ordlst.rows;
  488. // if (choi=="01"){
  489. for(var i=0;i<=cnt;i++){
  490. for(var grdi=0;grdi<=grcnt;grdi++){
  491. if(grd_ordlst.valueMatrix(grdi,grd_ordlst.colRef("testcd"))==model.getValue("/root/choitest/test/choitest["+i+"]/testcd")){
  492. grd_ordlst.valueMatrix(grdi,grd_ordlst.colRef("sel"))="Y";
  493. grd_ordlst.valueMatrix(grdi,grd_ordlst.colRef("dcflag"))="Y";
  494. grd_ordlst.valueMatrix(grdi ,grd_ordlst.colRef("m"))="d";
  495. grd_ordlst.rowStatus(grdi) = 4;
  496. // grd_ordlst.valueMatrix(grdi,grd_ordlst.colRef("m"))="u";
  497. break;
  498. }
  499. }
  500. }
  501. // }
  502. if(choi=="02"){
  503. for(var i=0;i<=cnt;i++){
  504. if (model.getValue("/root/choitest/test/choitest["+i+"]/pkgcd")!="RSHA010G"){
  505. for(var grdi=0;grdi<=grcnt;grdi++){
  506. if(grd_ordlst.valueMatrix(grdi,grd_ordlst.colRef("testcd"))==model.getValue("/root/choitest/test/choitest["+i+"]/testcd")){
  507. grd_ordlst.valueMatrix(grdi,grd_ordlst.colRef("sel"))="Y";
  508. grd_ordlst.rowStatus(grdi) = 4;
  509. grd_ordlst.valueMatrix(grdi ,grd_ordlst.colRef("m"))="d";
  510. break;
  511. }
  512. }
  513. }
  514. }
  515. }
  516. if(choi=="03"){
  517. for(var i=0;i<=cnt;i++){
  518. if (model.getValue("/root/choitest/test/choitest["+i+"]/pkgcd")!="VHGE761101G"){
  519. for(var grdi=0;grdi<=grcnt;grdi++){
  520. if(grd_ordlst.valueMatrix(grdi,grd_ordlst.colRef("testcd"))==model.getValue("/root/choitest/test/choitest["+i+"]/testcd")){
  521. grd_ordlst.valueMatrix(grdi,grd_ordlst.colRef("sel"))="Y";
  522. grd_ordlst.rowStatus(grdi) = 4;
  523. grd_ordlst.valueMatrix(grdi ,grd_ordlst.colRef("m"))="d";
  524. break;
  525. }
  526. }
  527. }
  528. }
  529. }
  530. if(choi=="04"){
  531. for(var i=0;i<=cnt;i++){
  532. if (model.getValue("/root/choitest/test/choitest["+i+"]/pkgcd")!="VHGE761103G"){
  533. for(var grdi=0;grdi<=grcnt;grdi++){
  534. if(grd_ordlst.valueMatrix(grdi,grd_ordlst.colRef("testcd"))==model.getValue("/root/choitest/test/choitest["+i+"]/testcd")){
  535. grd_ordlst.valueMatrix(grdi,grd_ordlst.colRef("sel"))="Y";
  536. grd_ordlst.rowStatus(grdi) = 4;
  537. grd_ordlst.valueMatrix(grdi ,grd_ordlst.colRef("m"))="d";
  538. break;
  539. }
  540. }
  541. }
  542. }
  543. }
  544. */
  545. }
  546. /**=============================================================================================
  547. @desc : 건진접수내역가져오기
  548. @param : 건진구분, 등록번호, 진료일자
  549. *=============================================================================================*/
  550. function fGetHistList(){
  551. var vPid = model.getValue("/root/main/info/patinfo/item/pid");
  552. if(vPid == ""){
  553. messageBox("환자ID를 입력하세요", "E999");
  554. model.setFocus("ipt_pid");
  555. return ;
  556. }
  557. fInitOrdInfo(false);
  558. model.setValue("/root/send/srchhealexamflag" , fGetHealExamFlag());
  559. model.setValue("/root/send/srchstatflag" , "C");
  560. model.setValue("/root/send/srchpid" , vPid);
  561. //openLoadingBar("건진 접수내역...") ;//처리중 화면을 오픈한다.
  562. submit("TRAHA00106");
  563. //closeLoadingBar() ;//처리중 화면을 close한다.
  564. }
  565. /**=============================================================================================
  566. * 건진처방내역가져오기
  567. * 건진구분, 등록번호, 진료일자
  568. *=============================================================================================*/
  569. function fGetOrdInfo(){
  570. model.removeNodeset(grd_ordlst.nodeset );
  571. var idx = grd_histlst.row;
  572. var idxs = grd_histlst.rows;
  573. if(idx < 1){
  574. if(idxs > 1){
  575. grd_histlst.row = 1;
  576. idx = grd_histlst.row;
  577. }else{
  578. messageBox("건진이력항목을 선택하세요", "E999");
  579. return ;
  580. }
  581. }
  582. var statflag = model.getValue("/root/main/histlst/item[" + idx + "]/statflag");
  583. model.setValue("/root/send/srchhealexamflag" , fGetHealExamFlag()); //건진구분
  584. model.setValue("/root/send/srchpid" , model.getValue(ipt_pid.attribute("ref"))); //등록번호
  585. model.setValue("/root/send/srchrsrvdd" , model.getValue(grd_histlst.nodeset + "[" + idx + "]/rsrvdd")); //건진예약등록일자
  586. model.setValue("/root/send/srchrsrvno" , model.getValue(grd_histlst.nodeset + "[" + idx + "]/rsrvno")); //건진예약등록번호
  587. if (statflag == "C"){
  588. model.setValue("/root/send/srchorddd" , "");
  589. model.setValue("/root/send/srchhopedd" , model.getValue(grd_histlst.nodeset + "[" + idx + "]/orddd")); //진료일자
  590. }else{
  591. model.setValue("/root/send/srchorddd" , model.getValue(grd_histlst.nodeset + "[" + idx + "]/orddd")); //진료일자
  592. }
  593. model.setValue("/root/send/srchcretno" , model.getValue(grd_histlst.nodeset + "[" + idx + "]/cretno")); //원무생성번호
  594. model.setValue("/root/send/srchorddeptcd" , model.getValue(grd_histlst.nodeset + "[" + idx + "]/orddeptcd")); //진료과-처방발생부서
  595. model.makeValue("/root/send/srchorddrid" , model.getValue(grd_histlst.nodeset + "[" + idx + "]/orddrid")); //진료과-처방의
  596. model.makeValue("/root/send/srchage" , model.getValue("/root/main/info/patinfo/item/age")); //나이
  597. model.makeValue("/root/send/sex" , model.getValue("/root/main/info/patinfo/item/sex")); //성별
  598. model.makeValue("/root/send/hopedd" , model.getValue(grd_histlst.nodeset + "[" + idx + "]/hopedd")); //진료일자
  599. model.makeValue("/root/send/cmpyflag" , model.getValue(grd_histlst.nodeset + "[" + idx + "]/cmpyflag")); //단체구분
  600. submit("TRAHA00701");
  601. //grd_ordlst.sort(1, 3, grd_ordlst.rows - 1, 5) = "desc";
  602. //grd_ordlst.gridToInstance();
  603. if(statflag =="E" || statflag =="G" || statflag =="H" || statflag =="I"){
  604. btn_seladd.disabled = false;
  605. btn_save.disabled = false;
  606. for (var i = 1; i < grd_ordlst.rows; i ++){
  607. grd_ordlst.isReadOnly(i, 1) = false;
  608. grd_ordlst.isReadOnly(i, 2) = false;
  609. }
  610. }else{
  611. btn_seladd.disabled = true;
  612. btn_save.disabled = true;
  613. /*
  614. var k = 0;
  615. for (var i = 1; i < grd_ordlst.rows; i ++){
  616. grd_ordlst.isReadOnly(i, 1) = true;
  617. if (model.getValue("/root/main/info/ordinfo/ordlst[" + i + "]/rcptstat") == "000"){
  618. grd_ordlst.isReadOnly(i, 2) = false;
  619. k = k + 1;
  620. }else{
  621. grd_ordlst.isReadOnly(i, 2) = true;
  622. }
  623. }
  624. if (k == 0){
  625. btn_save.disabled = true;
  626. }else{
  627. btn_save.disabled = false;
  628. }
  629. */
  630. }
  631. var choiflag = model.getValue("/root/main/info/ordinfo/info/choiflag");
  632. model.setValue("/root/main/info/patinfo/item/choiflag", choiflag);
  633. rdo_choiflag.refresh();
  634. /*
  635. for (var j = 1; j < grd_ordlst.rows; j ++){
  636. grd_ordlst.isReadOnly(j, 2) = false;
  637. }
  638. */
  639. /* 수납처리 버튼 비활성화 - 2012.09.19
  640. button1.visible = false;
  641. var icnt = 0;
  642. if(statflag =="E" || statflag =="G" || statflag =="H" || statflag =="I"){
  643. for (var i = 1; i < grd_ordlst.rows; i ++){
  644. if (model.getValue("/root/main/info/ordinfo/ordlst[" + i + "]/rcptstat") == "000"){
  645. icnt = icnt + 1;
  646. }
  647. }
  648. if (icnt > 0){
  649. button1.visible = true;
  650. }else{
  651. button1.visible = false;
  652. }
  653. }
  654. */
  655. model.refresh();
  656. }
  657. /**=============================================================================================
  658. * 추가검사 및 선택검사 금액 계산
  659. * 청구방법/처방구분/삭제여부 에 따른 금액 계산
  660. *=============================================================================================*/
  661. function fCalcOrdAmt(){
  662. var cnt = grd_ordlst.rows;
  663. if( cnt < 1) return ;
  664. var vDcAmt = model.getValue("/root/main/info/ordinfo/info/dcamt");
  665. if( vDcAmt == "" ) vDcAmt = "0";
  666. vDcAmt = parseInt(vDcAmt);
  667. var vAddAmt = model.getValue("/root/main/info/ordinfo/info/addamt");
  668. if( vAddAmt == "" ) vAddAmt = "0";
  669. vAddAmt = parseInt(vAddAmt);
  670. var vSelAmt = model.getValue("/root/main/info/ordinfo/info/selamt");
  671. if( vSelAmt == "" ) vSelAmt = "0";
  672. vSelAmt = parseInt(vSelAmt);
  673. var vCmpyAmt = model.getValue("/root/main/info/ordinfo/info/cmpyaddamt");
  674. if( vCmpyAmt == "" ) vCmpyAmt = "0";
  675. vCmpyAmt = parseInt(vCmpyAmt);
  676. var vTmpDc = 0;
  677. var vTmpSel = 0;
  678. var vTmpAdd = 0;
  679. var vTmpCmpy = 0;
  680. var vTmp = "";
  681. var vTmpAmt = 0;
  682. for ( var i = 1; i <= cnt ; i++){
  683. if( grd_ordlst.rowstatus(i) == 4 ) //dc
  684. {
  685. vTmp = grd_ordlst.valueMatrix(i, col_scoramt );
  686. if( vTmp == "" ) vTmp = "0";
  687. vTmpAmt = parseInt(vTmp);
  688. vTmpDc += vTmpAmt;
  689. vTmp = grd_ordlst.valueMatrix(i, col_calcflag ) ;
  690. if( vTmp = "A" ){
  691. vTmp = grd_ordlst.valueMatrix(i, col_uncocd ) ;
  692. if( vTmp== "V01" ) //개인
  693. {
  694. vTmpAdd -= vTmpAmt;
  695. }
  696. else
  697. if( (vTmp== "V02" ) || (vTmp == "V03" ) )//단체 , 개인/단체
  698. {
  699. vTmpCmpy -= vTmpAmt;
  700. }
  701. }
  702. else
  703. if( vTmp == "S" ){
  704. vTmpSel -= vTmpAmt ;
  705. }
  706. }
  707. else
  708. if( grd_ordlst.rowstatus(i) == 1 ) //insert
  709. {
  710. vTmp = grd_ordlst.valueMatrix(i, col_calcflag ) ;
  711. if( vTmp = "A" ){
  712. vTmp = grd_ordlst.valueMatrix(i, col_uncocd ) ;
  713. if( vTmp== "V01" ) //개인
  714. {
  715. vTmp = grd_ordlst.valueMatrix(i, col_scoramt );
  716. if( vTmp == "" ) vTmp = "0";
  717. vTmpAdd += parseInt(vTmp);
  718. }
  719. else
  720. if( (vTmp== "V02" ) || (vTmp == "V03" ) )//단체 , 개인/단체
  721. {
  722. vTmp = grd_ordlst.valueMatrix(i, col_scoramt );
  723. if( vTmp == "" ) vTmp = "0";
  724. vTmpCmpy += parseInt(vTmp);
  725. }
  726. }
  727. else
  728. if( vTmp = "S" ){
  729. vTmp = grd_ordlst.valueMatrix(i, col_scoramt );
  730. if( vTmp == "" ) vTmp = "0";
  731. vTmpSel += parseInt(vTmp);
  732. }
  733. }
  734. }
  735. model.setValue("/root/main/info/ordinfo/info/dcamt" , vDcAmt + vTmpDc);
  736. model.setValue("/root/main/info/ordinfo/info/addamt" , vAddAmt + vTmpAdd);
  737. model.setValue("/root/main/info/ordinfo/info/selamt" , vSelAmt + vTmpSel);
  738. model.setValue("/root/main/info/ordinfo/info/cmpyaddamt", vCmpyAmt + vTmpCmpy);
  739. opt_dcamt.refresh();
  740. opt_selamt.refresh();
  741. opt_addamt.refresh();
  742. opt_cmpyaddamt.refresh();
  743. }
  744. /**=============================================================================================
  745. * 처방저장
  746. *=============================================================================================*/
  747. function fSavePrcp(){
  748. if(messageBox("처방내역을 ", "Q002") != 6) return;
  749. if(grd_histlst.row < 1){
  750. messageBox("건진이력을 ", "C002");
  751. return;
  752. }
  753. var nodeRcptstatList = instance1.selectNodes(grd_ordlst.nodeset + "[sel='Y' and dcflag = 'Y' and rcptstat > '230']");
  754. if(nodeRcptstatList.length > 0){
  755. messageBox("D/C처리 가능한 처방상태가 아닙니다.", "E999");
  756. return;
  757. }
  758. var nodeList = instance1.selectNodes(grd_ordlst.nodeset + "[sel='Y']");
  759. var updData = getGridUpdateData(grd_ordlst);
  760. if((nodeList.length < 1) || (updData == "")){
  761. messageBox("저장할 데이터가 존재하지 않습니다.", "E999");
  762. return;
  763. }
  764. model.resetInstanceNode("/root/send/save");
  765. model.makeNode("/root/send/save/saveordlst");
  766. model.setValue("/root/send/save/saveordlst", updData);
  767. //건진일자 => 진료일자가 오늘일자가 아닐경우 막아야 함...
  768. //해당 부분 고민 필요함. 강남만 확인 한 사항이므로...
  769. /*
  770. var cur_Date = getCurrentDate();
  771. if(model.getValue(sNode + "orddd") != cur_Date){
  772. messageBox("당일 건진 내역이 아닙니다.", "E999");
  773. return;
  774. }
  775. */
  776. model.makeNode("/root/send/save/healexamflag");
  777. model.makeNode("/root/send/save/healexamdetlflag");
  778. model.makeNode("/root/send/save/rsrvdd");
  779. model.makeNode("/root/send/save/rsrvno");
  780. model.makeNode("/root/send/save/pid");
  781. model.makeNode("/root/send/save/orddd");
  782. model.makeNode("/root/send/save/cretno");
  783. model.makeNode("/root/send/save/orddeptcd");
  784. model.makeNode("/root/send/save/orddrid");
  785. model.makeNode("/root/send/save/uncocd");
  786. model.makeNode("/root/send/save/disccd");
  787. model.makeNode("/root/send/save/instcd");
  788. model.makeNode("/root/send/save/sex");
  789. model.makeNode("/root/send/save/srchchk");
  790. model.makeNode("/root/send/save/hopedd");
  791. model.makeNode("/root/send/save/healexamplacecd");
  792. var sNode = grd_histlst.nodeset + "[" + grd_histlst.row + "]/";
  793. model.setValue("/root/send/save/healexamflag" , fGetHealExamFlag());
  794. model.setValue("/root/send/save/healexamdetlflag" , model.getValue(cmb_srchhealexamdetlflag.attribute("ref")));
  795. model.setValue("/root/send/save/rsrvdd" , model.getValue(sNode + "rsrvdd") );
  796. model.setValue("/root/send/save/rsrvno" , model.getValue(sNode + "rsrvno"));
  797. model.setValue("/root/send/save/pid" , model.getValue(sNode + "pid"));
  798. model.setValue("/root/send/save/orddd" , model.getValue(sNode + "orddd"));
  799. model.setValue("/root/send/save/cretno" , model.getValue(sNode + "cretno"));
  800. model.setValue("/root/send/save/orddeptcd" , model.getValue(sNode + "orddeptcd"));
  801. model.setValue("/root/send/save/orddrid" , model.getValue(sNode + "orddrid"));
  802. model.setValue("/root/send/save/uncocd" , model.getValue(sNode + "uncocd"));
  803. model.setValue("/root/send/save/disccd" , model.getValue(sNode + "disccd"));
  804. model.setValue("/root/send/save/instcd" , getUserInfo("dutplceinstcd"));
  805. model.setValue("/root/send/save/sex" , model.getValue("/root/main/info/patinfo/item/sex"));
  806. model.setValue("/root/send/save/srchchk" , model.getValue("/root/send/srchchk") );
  807. model.setValue("/root/send/save/hopedd" , model.getValue(sNode + "hopedd"));
  808. model.setValue("/root/send/save/healexamplacecd" , model.getValue(sNode + "healexamplacecd"));
  809. //패키지내 선택검사 변경 여부 및 값
  810. model.makeValue("/root/send/save/choiflag/choiflagchangeyn" , model.getValue("/root/temp/choiflagchangeyn"));
  811. model.makeValue("/root/send/save/choiflag/choiflag" , model.getValue("/root/main/info/patinfo/item/choiflag"));
  812. model.makeValue("/root/send/save/choiflag/choiValue" , model.getValue("/root/temp/save/choiflag/choiValue"));
  813. // var ret = submit("TXAHA00701"); //처방저장
  814. // if(ret){
  815. //처방저장
  816. if(submit("TXAHA00701")){
  817. //처방 저장 후 수납창 팝업되도록 수정
  818. ahafOpenRcpt(model.getValue("/root/send/save/healexamflag")
  819. , model.getValue("/root/send/save/rsrvdd")
  820. , model.getValue("/root/send/save/rsrvno")
  821. , model.getValue("/root/send/save/pid")
  822. , model.getValue(sNode + "rcptstat")
  823. , model.getValue("/root/send/save/orddd"));
  824. }
  825. /* 처방 저장 후 수납창 팝업되도록 수정에 따른 주석 처리 - 2012.09.19
  826. var statflag = model.getValue("/root/main/histlst/item[" + idx + "]/statflag");
  827. if(statflag == "C"){
  828. return;
  829. }
  830. var amtCheck = "1";
  831. for(i=0; i<=grd_ordlst.rows; i++){
  832. if((grd_ordlst.valueMatrix(i+1 , grd_ordlst.colRef("dcflag")) == "Y") && (grd_ordlst.valueMatrix(i+1, grd_ordlst.colRef("testflag")) != "P")){
  833. amtCheck = "2";
  834. break;
  835. }
  836. if((grd_ordlst.valueMatrix(i+1 , grd_ordlst.colRef("sel")) == "Y") && (grd_ordlst.valueMatrix(i+1, grd_ordlst.colRef("testflag")) == "A")){
  837. amtCheck = "2";
  838. break;
  839. }
  840. }
  841. //수면위내시경 상태가 변경이 될경우는 수납창을 뛰워서 환불이든 추가검사금액이든 받아야 한다
  842. if(model.getValue("/root/tmp/cho") == "04"){
  843. amtCheck="2"
  844. }
  845. if(rdo_choiflag.value=="04"){
  846. amtCheck="2"
  847. }
  848. amtCheck = "2";
  849. //수가에 반영이 돼지 않는 항목이라면 수납화면을 뛰우지 않는다
  850. if(amtCheck == "2"){
  851. if(ret == true ){
  852. //재계산
  853. model.makeNode("/root/send/srchjobflag");
  854. model.makeNode("/root/send/srchrcptdd");
  855. model.makeNode("/root/send/srchrcptno");
  856. model.makeNode("/root/send/srchrcptseqno");
  857. // ret = fCalcAmt("RCPT"
  858. // , model.getValue("/root/send/save/healexamflag")
  859. // , model.getValue("/root/send/save/rsrvdd")
  860. // , model.getValue("/root/send/save/rsrvno")
  861. // , model.getValue("/root/send/save/pid")
  862. // , model.getValue("/root/send/save/instcd"));
  863. if(ret == 1){
  864. if(model.getValue("/root/send2/popchk") == "Y"){
  865. //ahafRcptAmt("RCPT");
  866. //20100727 JHP 수납조회 기준일자를 orddd에서 hopedd로 변경함.
  867. ahafOpenRcpt(model.getValue("/root/send/save/healexamflag")
  868. , model.getValue("/root/send/save/rsrvdd")
  869. , model.getValue("/root/send/save/rsrvno")
  870. , model.getValue("/root/send/save/pid")
  871. , model.getValue(sNode + "rcptstat")
  872. , model.getValue("/root/send/save/hopedd"));
  873. }
  874. }
  875. // if( ret == 1){
  876. // //수납
  877. // ahafRcptAmt("RCPT"
  878. // , model.getValue("/root/send/save/rsrvdd")
  879. // , model.getValue("/root/send/save/rsrvno")
  880. // , model.getValue("/root/send/save/pid")
  881. // , model.getValue("/root/send/save/orddd")
  882. // , model.getValue(sNode + "rcptstat")
  883. // , "/root/temp/rcptinfo/hidden/opmi_out" )
  884. // }
  885. }
  886. }else{
  887. messageBox("수납 되었습니다.", "E999");
  888. }
  889. */
  890. }
  891. /**
  892. * 건진내역 계산
  893. 건진구분 :srchhealexamflag
  894. 예약일자 :srchrsrvdd
  895. 예약번호 :srchrsrvno
  896. 등록번호 :srchpid
  897. 기관코드 :srchinstcd
  898. */ function fCalcAmt(vJobFlag, vHealFg, vRsrvDD, vRsrvNo, vPid, vInstcd ){
  899. model.makeNode("/root/send/srchjobflag" );
  900. model.makeNode("/root/send/srchrcptdd" );
  901. model.makeNode("/root/send/srchrcptno" );
  902. model.makeNode("/root/send/srchrcptseqno");
  903. var ret = -1;
  904. if( vHealFg == "" ) return ret;
  905. model.setValue("/root/send/srchhealexamflag", vHealFg );
  906. if( vPid == "" ) return ret;
  907. model.setValue("/root/send/srchpid", vPid );
  908. if( vRsrvDD== "" ) return ret;
  909. model.setValue("/root/send/srchrsrvdd", vRsrvDD );
  910. model.setValue("/root/send/srchrsrvno" , vRsrvNo );
  911. model.setValue("/root/send/srchinstcd" , getUserInfo("dutplceinstcd"));
  912. model.setValue("/root/send/srchjobflag" ,vJobFlag);
  913. var sNd = "/root/temp/rcptinfo/hidden/opmi_out";
  914. model.resetInstanceNode(sNd);
  915. sNd = sNd + "/";
  916. //openLoadingBar("수납예상내역 계산 중입니다..") ;//처리중 화면을 오픈한다.
  917. if( submit("TXAHA02101") == true ){
  918. model.setValue(opt_addamt.attribute("ref") , model.getValue( sNd + "opmi_addexamamt")); //추가검사금액
  919. model.setValue(opt_cmpyaddamt.attribute("ref") , model.getValue( sNd + "opmi_cmpyamt")); //단체부담금
  920. model.setValue(opt_dcamt.attribute("ref") , model.getValue( sNd + "opmi_rcptamt"));
  921. model.refresh();
  922. ret = 1;
  923. }
  924. //closeLoadingBar() ;//처리중 화면을 close한다.
  925. return ret;
  926. }
  927. /*****************************************************************************************************************************************************
  928. * 추가한 처방코드의 중복 체크
  929. *****************************************************************************************************************************************************/
  930. function fDupCheck(vGrdObj , vTestCdCol ) {
  931. var chk_idx = vGrdObj.rows - 1;
  932. var vDesTestcd = vGrdObj.valueMatrix(chk_idx , vTestCdCol );
  933. for( var i = 1 ; i < chk_idx ; i++ ){
  934. vTestcd = model.getValue(vGrdObj.nodeSet + "[" + i + "]/testcd" );
  935. vTestnm = model.getValue(vGrdObj.nodeSet + "[" + i + "]/testnm" );
  936. if(vDesTestcd == vTestcd) {
  937. if( messageBox("중복되는 검사코드[" + vTestcd + " - " + vTestnm +"] 를 추가 ", "S001") != 6 ){
  938. vGrdObj.deleteRow(chk_idx);
  939. }
  940. break;
  941. }
  942. }
  943. }
  944. function GridTest(){
  945. model.removeNodeset("/root/temp1/test/choitest");
  946. var choiflag = model.getValue("/root/main/info/ordinfo/info/choiflag");
  947. var spkgcd = "";
  948. spkgcd = model.getValue("//root/init/baseinfo/examinfo/S100[cdid = " + choiflag +"]/cmt");
  949. /*
  950. if (choiflag == "02"){
  951. spkgcd = "RSHA010G";
  952. }else if (choiflag == "03"){
  953. spkgcd = "VHGE761101G";
  954. }else if (choiflag == "04"){
  955. spkgcd = "VHGE761103G";
  956. }
  957. */
  958. //alert(choiflag + "==" + spkgcd);
  959. copyNodesetType("/root/temp1/test", "/root/choitest/test/choitest[pkgcd='"+spkgcd+"']");
  960. //copyNodesetType("/root/temp1/test/choitest", "/root/choitest/test/choitest", "replace");
  961. model.makeValue("/root/tmp/cho",rdo_choiflag.value) ;
  962. /*
  963. for (var j = 1; j < grd_ordlst.rows; j ++){
  964. grd_ordlst.isReadOnly(j, 2) = false;
  965. }
  966. */
  967. model.refresh();
  968. }
  969. function fPrcpDanga(){
  970. model.removeNodeset("/root/send1");
  971. model.makeValue("/root/send1/healexamflag", model.getValue("/root/main/histlst/item[" + grd_histlst.row + "]/healexamflag"));
  972. model.makeValue("/root/send1/rsrvdd", model.getValue("/root/main/histlst/item[" + grd_histlst.row + "]/rsrvdd"));
  973. model.makeValue("/root/send1/rsrvno", model.getValue("/root/main/histlst/item[" + grd_histlst.row + "]/rsrvno"));
  974. model.makeValue("/root/send1/testflag", model.getValue("/root/main/info/ordinfo/ordlst[" + grd_ordlst.row + "]/testflag"));
  975. model.makeValue("/root/send1/testcd", model.getValue("/root/main/info/ordinfo/ordlst[" + grd_ordlst.row + "]/testcd"));
  976. model.makeValue("/root/send1/cmpyflag", model.getValue("/root/main/histlst/item[" + grd_histlst.row + "]/cmpyflag"));
  977. model.makeValue("/root/send1/age", model.getValue("/root/main/info/patinfo/item/age"));
  978. model.makeValue("/root/send1/cmpycd", model.getValue("/root/main/histlst/item[" + grd_histlst.row + "]/cmpycd"));
  979. model.makeValue("/root/send1/conseq", model.getValue("/root/main/histlst/item[" + grd_histlst.row + "]/conseq"));
  980. model.makeValue("/root/send1/conhistseq", model.getValue("/root/main/histlst/item[" + grd_histlst.row + "]/conhistseq"));
  981. model.makeValue("/root/send1/statflag", model.getValue("/root/main/histlst/item[" + grd_histlst.row + "]/statflag"));
  982. //2015/10/26 이정택 추가
  983. model.makeValue("/root/send1/forgneryn", opener.javascript.getParameter("SMAHA00700_PARAM3")); // 외국인 여부
  984. model.makeValue("/root/send1/agencyrate", opener.javascript.getParameter("SMAHA00700_PARAM4")); // MOU요율
  985. //2015/10/26 이정택 추가
  986. submit("TRAHA00702");
  987. var suncocd = model.getValue("/root/main/info/ordinfo/ordlst[" + grd_ordlst.row + "]/scoreamt");
  988. model.makeValue("/root/main/info/ordinfo/ordlst[" + grd_ordlst.row + "]/scoreamt", model.getValue("/root/price/dangainfo/danga"));
  989. model.refresh();
  990. }
  991. function fDope(){
  992. model.makeNode("/root/send/dope");
  993. model.makeValue("/root/send/dope/instcd" , model.getValue("/root/send/srchinstcd"));
  994. model.makeValue("/root/send/dope/pid" , model.getValue("/root/send/srchpid"));
  995. model.makeValue("/root/send/dope/orddd" , model.getValue("/root/send/srchorddd"));
  996. model.makeValue("/root/send/dope/cretno" , model.getValue("/root/send/srchcretno"));
  997. model.makeValue("/root/send/dope/orddrid" , model.getValue("/root/send/srchorddrid"));
  998. model.makeValue("/root/send/dope/orddeptcd" , model.getValue("/root/send/srchorddeptcd"));
  999. submit("TXAHA00105", false);
  1000. }
  1001. ]]>
  1002. </script>
  1003. </xhtml:head>
  1004. <xhtml:body guideline="1,1195;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  1005. <group id="grp_tle" style="left:0px; top:0px; width:1195px; height:13px; ">
  1006. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:149px; height:14px; ">처방 관리</caption>
  1007. </group>
  1008. <group id="grp_biz" scroll="auto" style="left:0px; top:13px; width:1195px; height:744px; ">
  1009. <output id="opt_dcamt" ref="/root/main/info/ordinfo/info/dcamt" class="output_fix" format="#,###" style="left:1075px; top:76px; width:116px; height:19px; text-align:right; "/>
  1010. <output id="opt_cmpyaddamt" ref="/root/main/info/ordinfo/info/cmpyaddamt" class="output_fix" format="#,###" style="left:739px; top:76px; width:94px; height:19px; text-align:right; "/>
  1011. <caption id="caption59" class="cell_1" style="left:460px; top:75px; width:89px; height:23px; vertical-align:middle; ">추가처방(개인)</caption>
  1012. <caption id="caption5" class="cell_1" style="left:1013px; top:75px; width:59px; height:23px; vertical-align:middle; ">반환금액</caption>
  1013. <output id="opt_addamt" ref="/root/main/info/ordinfo/info/addamt" class="output_fix" format="#,###" style="left:551px; top:76px; width:94px; height:19px; text-align:right; "/>
  1014. <caption id="caption55" class="cell_1" style="left:648px; top:75px; width:89px; height:23px; vertical-align:middle; ">추가처방(단체)</caption>
  1015. <caption id="caption76" class="cell_1" style="left:836px; top:75px; width:59px; height:23px; vertical-align:middle; ">선택검사</caption>
  1016. <output id="opt_selamt" ref="/root/main/info/ordinfo/info/selamt" class="output_fix" format="#,###" style="left:898px; top:76px; width:111px; height:19px; text-align:right; "/>
  1017. <group id="grp_sea" style="left:0px; top:10px; width:1194px; height:35px; vertical-align:top; ">
  1018. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1194px; height:35px; "/>
  1019. <caption id="caption2" class="search_name" style="left:275px; top:10px; width:86px; height:17px; ">등록번호 :</caption>
  1020. <line id="line13" class="line_4" style="x1:1107px; y1:7px; x2:1107px; y2:29px; "/>
  1021. <button id="btn_search" class="btn1_letter2" style="left:1123px; top:7px; width:56px; height:22px; ">
  1022. <caption>조회</caption>
  1023. <script type="javascript" ev:event="DOMActivate">
  1024. <![CDATA[
  1025. fGetHistList(); //건진접수내역가져오기
  1026. fGetOrdInfo(); //건진처방내역가져오기
  1027. submit("TXAHA04002");
  1028. GridTest();
  1029. ]]>
  1030. </script>
  1031. </button>
  1032. <input id="ipt_pid" ref="/root/main/info/patinfo/item/pid" class="input_search" style="left:364px; top:8px; width:90px; height:19px; ">
  1033. <script type="javascript" ev:event="onkeyup">
  1034. <![CDATA[
  1035. if(event.keyCode == 13){
  1036. model.resetInstanceNode("/root/main/info/patinfo/item");
  1037. fGetPatInfo(2);
  1038. btn_search.dispatch("DOMActivate");
  1039. }
  1040. ]]>
  1041. </script>
  1042. </input>
  1043. <button id="btn_srchpat" class="icon_search" style="left:459px; top:10px; width:16px; height:16px; ">
  1044. <caption/>
  1045. <script type="javascript" ev:event="DOMActivate">
  1046. <![CDATA[
  1047. fSearchPatInfo("SMAHA00100", "pid", ipt_pid.currentText , "Y", "/root/main/info/patinfo/item" ,"", "");
  1048. if( model.getValue("/root/temp/okflag") == "ok" ){
  1049. btn_search.dispatch("DOMActivate");
  1050. }
  1051. ]]>
  1052. </script>
  1053. </button>
  1054. <select1 id="cmb_srchhealexamdetlflag" ref="/root/send/srchhealexamdetlflag" class="combo_search" appearance="minimal" style="left:90px; top:8px; width:170px; height:19px; ">
  1055. <choices>
  1056. <itemset nodeset="/root/init/baseinfo/hedetlflaglst/A0069">
  1057. <label ref="cdnm"/>
  1058. <value ref="cdid"/>
  1059. </itemset>
  1060. </choices>
  1061. <script type="javascript" ev:event="xforms-select">
  1062. <![CDATA[
  1063. fGetHistList(); //건진접수내역가져오기
  1064. ]]>
  1065. </script>
  1066. </select1>
  1067. <caption id="caption7" class="search_name" style="left:5px; top:8px; width:86px; height:17px; ">건진구분 :</caption>
  1068. <output id="opt_sex" ref="/root/main/info/patinfo/item/sex" class="output_fix" style="left:588px; top:8px; width:36px; height:19px; "/>
  1069. <output id="opt_age" ref="/root/main/info/patinfo/item/age" class="output_fix" style="left:627px; top:8px; width:36px; height:19px; "/>
  1070. <input id="ipt_pnm" ref="/root/main/info/patinfo/item/hngnm" class="input_search" style="left:480px; top:8px; width:105px; height:19px; ">
  1071. <script type="javascript" ev:event="onkeyup">
  1072. <![CDATA[
  1073. if( event.keyCode == 13) {
  1074. model.resetInstanceNode("/root/main/info/patinfo/item");
  1075. fSearchPatInfo("SMAHA00100", "pnm", ipt_pnm.currentText , "Y", "/root/main/info/patinfo/item" ,"", "");
  1076. btn_search.dispatch("DOMActivate");
  1077. }
  1078. ]]>
  1079. </script>
  1080. </input>
  1081. <input id="ipt_rgstno1" ref="/root/main/info/patinfo/item/rgstno1" class="input_search" visibility="hidden" style="left:665px; top:8px; width:105px; height:19px; "/>
  1082. <input id="ipt_rgstno2" ref="/root/main/info/patinfo/item/rgstno2" class="input_search" visibility="hidden" style="left:775px; top:8px; width:105px; height:19px; "/>
  1083. </group>
  1084. <caption id="caption3" class="tit_2" style="left:460px; top:55px; width:78px; height:13px; ">처방내역</caption>
  1085. <line id="line2" class="line_1" style="x1:460px; y1:70px; x2:1195px; y2:70px; "/>
  1086. <button id="btn_addord" class="btn2_letter3" visibility="hidden" style="left:825px; top:50px; width:53px; height:19px; ">
  1087. <caption>행추가</caption>
  1088. <script type="javascript" ev:event="DOMActivate">
  1089. <![CDATA[
  1090. grd_ordlst.addRow();
  1091. grd_ordlst.col = col_prcpcd ;
  1092. //grd_ordlst.editCell();
  1093. ]]>
  1094. </script>
  1095. </button>
  1096. <datagrid id="grd_ordlst" nodeset="/root/main/info/ordinfo/ordlst" caption="V^D/C^처방구분^청구방법^처방코드^처방명^단가^처방상태^처방일자^시행부서^묶음코드^수가코드^최종수정자^최종수정일시^처방번호^m^묶음검사구분^상태^caption1" colsep="^" colwidth="24, 29, 73, 82, 89, 205, 100, 58, 81, 112, 100, 100, 79, 117, 90, 39, 100, 100" ellipsis="true" explorerbar="sortshow" frozencols="5" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="50" rowsep="|" tooltip="true" style="left:460px; top:75px; width:735px; height:580px; ">
  1097. <col checkvalue="Y,N" ref="sel" type="checkbox"/>
  1098. <col checkvalue="Y,N" ref="dcflag" type="checkbox"/>
  1099. <col disabled="true" ref="testflag" type="combo">
  1100. <choices>
  1101. <itemset nodeset="/root/init/baseinfo/testflag/A0117">
  1102. <label ref="cdnm"/>
  1103. <value ref="cdid"/>
  1104. </itemset>
  1105. </choices>
  1106. </col>
  1107. <col ref="uncocd" type="combo">
  1108. <choices>
  1109. <itemset nodeset="/root/init/baseinfo/pamcdlst/uncocdlst">
  1110. <label ref="nm"/>
  1111. <value ref="cd"/>
  1112. </itemset>
  1113. </choices>
  1114. </col>
  1115. <col ref="testcd" type="inputbutton"/>
  1116. <col ref="testnm"/>
  1117. <col disabled="true" ref="scoreamt" type="input" format="#,###" style="text-align:right; "/>
  1118. <col disabled="true" ref="rcptstat" type="combo">
  1119. <choices>
  1120. <itemset nodeset="/root/init/baseinfo/ordstatlst/M0011">
  1121. <label ref="cdnm"/>
  1122. <value ref="cdid"/>
  1123. </itemset>
  1124. </choices>
  1125. </col>
  1126. <col ref="prcpdd" format="yyyy-mm-dd" style="text-align:center; "/>
  1127. <col disabled="true" ref="prcpexecdeptcd" type="combo">
  1128. <choices>
  1129. <itemset nodeset="/root/init/dept_info/initprcpexecdeptcd">
  1130. <label ref="prcpexecdeptcdnm"/>
  1131. <value ref="prcpexecdeptcdid"/>
  1132. </itemset>
  1133. </choices>
  1134. </col>
  1135. <col ref="pkgcd"/>
  1136. <col ref="calcscorcd"/>
  1137. <col ref="lastupdtrid"/>
  1138. <col ref="lastupdtdt" format="yyyy-mm-dd hh:nn:ss"/>
  1139. <col ref="prcpno"/>
  1140. <col ref="m" visibility="hidden"/>
  1141. <col ref="grupflag" type="combo" visibility="hidden">
  1142. <choices>
  1143. <item>
  1144. <label>묶음</label>
  1145. <value>G</value>
  1146. </item>
  1147. <item>
  1148. <label>패키지</label>
  1149. <value>P</value>
  1150. </item>
  1151. </choices>
  1152. </col>
  1153. <col ref="dcynflag" visibility="hidden"/>
  1154. <col ref="execprcpuniqno" visibility="hidden"/>
  1155. <script type="javascript" ev:event="onbuttonclick">
  1156. <![CDATA[
  1157. if( grd_ordlst.col == col_prcpcd ) {
  1158. var idx = grd_ordlst.row;
  1159. if( idx < 1) return ;
  1160. fGetPkgCd("SMAHA00100", "A", "N","cd" , grd_ordlst.labelMatrix(idx, col_prcpcd) , "" , "", grd_ordlst.nodeset + "[" + idx + "]" , "Y"); //AHA001.js
  1161. fDupCheck(grd_ordlst , grd_ordlst.colRef("testcd"));
  1162. fCalcOrdAmt();
  1163. }
  1164. ]]>
  1165. </script>
  1166. <script type="javascript" ev:event="onendedit">
  1167. <![CDATA[
  1168. if( grd_ordlst.col == col_prcpcd ) {
  1169. var idx = grd_ordlst.row;
  1170. if( idx < 1) return ;
  1171. fGetPkgCd("SMAHA00100", "A", "N","cd" , grd_ordlst.labelMatrix(idx, col_prcpcd) , "" , "", grd_ordlst.nodeset + "[" + idx + "]" , "Y"); //AHA001.js
  1172. fDupCheck(grd_ordlst , grd_ordlst.colRef("testcd"));
  1173. fCalcOrdAmt();
  1174. }
  1175. ]]>
  1176. </script>
  1177. <script type="javascript" ev:event="xforms-value-changed">
  1178. <![CDATA[
  1179. if (grd_ordlst.colRef("testflag") == grd_ordlst.col){
  1180. fPrcpDanga();
  1181. }
  1182. if (grd_ordlst.colRef("uncocd") == grd_ordlst.col){
  1183. var suncocd = model.getValue("/root/main/info/ordinfo/ordlst[" + grd_ordlst.row + "]/uncocd");
  1184. if (suncocd == "V02"){
  1185. var sdanga = parseFloat(model.getValue("/root/main/info/ordinfo/ordlst[" + grd_ordlst.row + "]/scoreamt"));
  1186. model.makeValue("/root/hidd/danga", sdanga);
  1187. sdanga = parseInt(sdanga * 0.1);
  1188. sdanga = sdanga * 10;
  1189. model.setValue("/root/main/info/ordinfo/ordlst[" + grd_ordlst.row + "]/scoreamt", sdanga);
  1190. }else{
  1191. var vCnt = getNodesetCount("/root/hidd/danga");
  1192. if (vCnt > 0){
  1193. model.setValue("/root/main/info/ordinfo/ordlst[" + grd_ordlst.row + "]/scoreamt", model.getValue("/root/hidd/danga"));
  1194. }
  1195. }
  1196. }
  1197. fCalcOrdAmt();
  1198. if( grd_ordlst.col == 2 ){
  1199. var i = grd_ordlst.row;
  1200. if( i < 1) return ;
  1201. var dcflag = model.getValue(grd_ordlst.nodeset + "[" + i + "]/dcflag");
  1202. if( dcflag == "Y" ) {
  1203. model.setValue(grd_ordlst.nodeset + "[" + i + "]/m", "d");
  1204. model.setValue(grd_ordlst.nodeset + "[" + i + "]/sel", "Y");
  1205. grd_ordlst.addStatus(i, "delete");
  1206. }
  1207. else {
  1208. model.setValue(grd_ordlst.nodeset + "[" + i + "]/m", "u");
  1209. grd_ordlst.removeStatus(i, "delete");
  1210. }
  1211. var spkgcd = model.getValue("/root/main/info/ordinfo/ordlst[" + i + "]/pkgcd");
  1212. var stestflag = model.getValue("/root/main/info/ordinfo/ordlst[" + i + "]/testflag");
  1213. var sprcpdd = model.getValue("/root/main/info/ordinfo/ordlst[" + i + "]/prcpdd");
  1214. if (stestflag == "A"){
  1215. if (dcflag == "Y"){
  1216. if (spkgcd == "" || spkgcd == "-"){
  1217. }else{
  1218. for (var j = 1; j < grd_ordlst.rows; j ++){
  1219. if (model.getValue("/root/main/info/ordinfo/ordlst[" + j + "]/pkgcd") == spkgcd && model.getValue("/root/main/info/ordinfo/ordlst[" + j + "]/prcpdd") == sprcpdd){
  1220. model.setValue("/root/main/info/ordinfo/ordlst[" + j + "]/m", "d");
  1221. model.setValue("/root/main/info/ordinfo/ordlst[" + j + "]/sel", "Y");
  1222. model.setValue("/root/main/info/ordinfo/ordlst[" + j + "]/dcflag", "Y");
  1223. grd_ordlst.isReadOnly(j, 2) = true;
  1224. grd_ordlst.addStatus(j, "delete");
  1225. }
  1226. }
  1227. }
  1228. }else{
  1229. if (spkgcd == "" || spkgcd == "-"){
  1230. }else{
  1231. for (var j = 1; j < grd_ordlst.rows; j ++){
  1232. if (model.getValue("/root/main/info/ordinfo/ordlst[" + j + "]/pkgcd") == spkgcd && model.getValue("/root/main/info/ordinfo/ordlst[" + j + "]/prcpdd") == sprcpdd){
  1233. model.setValue("/root/main/info/ordinfo/ordlst[" + j + "]/sel", "N");
  1234. model.setValue("/root/main/info/ordinfo/ordlst[" + j + "]/dcflag", "N");
  1235. grd_ordlst.removeStatus(j, "delete");
  1236. grd_ordlst.isReadOnly(j, 2) = false;
  1237. }
  1238. }
  1239. }
  1240. }
  1241. }
  1242. grd_ordlst.refresh();
  1243. }
  1244. ]]>
  1245. </script>
  1246. <script type="javascript" ev:event="onkeydown">
  1247. <![CDATA[
  1248. var keyp = event.keyCode
  1249. if(keyp == 113 ) {
  1250. grd_ordlst.row = grd_ordlst.rows-1;
  1251. }
  1252. ]]>
  1253. </script>
  1254. <script type="javascript" ev:event="onclick">
  1255. <![CDATA[
  1256. if(!(grd_ordlst.row == 0 && grd_ordlst.col == 2)) return;
  1257. var cnt = grd_ordlst.rows;
  1258. if(model.getXPathValue("count(/root/main/info/ordinfo/ordlst[dcflag = 'Y'])") != model.getXPathValue("count(/root/main/info/ordinfo/ordlst)")){
  1259. for(var i = 1; i < cnt ; i++){
  1260. model.setValue(grd_ordlst.nodeset + "[" + i + "]/m" , "d");
  1261. model.setValue(grd_ordlst.nodeset + "[" + i + "]/sel" , "Y");
  1262. model.setValue(grd_ordlst.nodeset + "[" + i + "]/dcflag" , "Y");
  1263. grd_ordlst.addStatus(i, "delete");
  1264. }
  1265. }else{
  1266. for(var i = 1; i < cnt ; i++){
  1267. model.setValue(grd_ordlst.nodeset + "[" + i + "]/m" , "d");
  1268. model.setValue(grd_ordlst.nodeset + "[" + i + "]/sel" , "Y");
  1269. model.setValue(grd_ordlst.nodeset + "[" + i + "]/dcflag" , "Y");
  1270. grd_ordlst.addStatus(i, "delete");
  1271. }
  1272. }
  1273. ]]>
  1274. </script>
  1275. <script type="javascript" ev:event="onaftersort">
  1276. <![CDATA[
  1277. grd_ordlst.gridToInstance();
  1278. ]]>
  1279. </script>
  1280. </datagrid>
  1281. <button id="btn_delord" class="btn2_letter3" visibility="hidden" style="left:881px; top:50px; width:53px; height:19px; ">
  1282. <caption>행삭제</caption>
  1283. <script type="javascript" ev:event="DOMActivate">
  1284. <![CDATA[
  1285. //deleteSelectedRows(grd_ordlst, true);
  1286. var idx = grd_ordlst.row;
  1287. if(idx > 0) {
  1288. var rowStat = grd_ordlst.rowStatus(idx);
  1289. if(rowStat == 1 || rowStat == 3) {
  1290. grd_ordlst.deleteRow(idx);
  1291. }else {
  1292. model.setValue(grd_ordlst.nodeset + "[" + grd_ordlst.row + "]/m", "d");
  1293. model.setValue(grd_ordlst.nodeset + "[" + grd_ordlst.row + "]/addexamdel", "Y");
  1294. grd_ordlst.valueMatrix(idx , grd_ordlst.colRef("sel")) = 'Y';
  1295. grd_ordlst.valueMatrix(idx , grd_ordlst.colRef("dcflag")) = 'Y';
  1296. grd_ordlst.addStatus(grd_ordlst.row, "delete");
  1297. }
  1298. }
  1299. ]]>
  1300. </script>
  1301. </button>
  1302. <datagrid id="grd_histlst" nodeset="/root/main/histlst/item" caption="건진일자^단체명^패키지명^건진상태^수납상태^caption3^caption4^healexamplacecd^caption1^caption2" colsep="^" colwidth="71, 97, 101, 71, 74, 100, 100, 100" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:5px; top:75px; width:450px; height:175px; ">
  1303. <col ref="hopedd" format="yyyy-mm-dd"/>
  1304. <col ref="cmpynm"/>
  1305. <col ref="pkgnm"/>
  1306. <col disabled="true" ref="statflag" type="combo">
  1307. <choices>
  1308. <itemset nodeset="/root/init/baseinfo/statlst/A0107">
  1309. <label ref="cdnm"/>
  1310. <value ref="cdid"/>
  1311. </itemset>
  1312. </choices>
  1313. </col>
  1314. <col disabled="true" ref="rcptstat" type="combo">
  1315. <choices>
  1316. <item>
  1317. <label>수납</label>
  1318. <value>Y</value>
  1319. </item>
  1320. <item>
  1321. <label>미계산</label>
  1322. <value>N</value>
  1323. </item>
  1324. <item>
  1325. <label>수납</label>
  1326. <value>X</value>
  1327. </item>
  1328. </choices>
  1329. </col>
  1330. <col ref="uncocd" visibility="hidden"/>
  1331. <col ref="disccd" visibility="hidden"/>
  1332. <col ref="healexamplacecd" visibility="hidden"/>
  1333. <script type="javascript" ev:event="onclick">
  1334. <![CDATA[
  1335. fGetOrdInfo(); //건진처방내역가져오기
  1336. model.makeValue("/root/tmp/cho",rdo_choiflag.value);
  1337. model.setfocus("grd_ordlst");
  1338. ]]>
  1339. </script>
  1340. </datagrid>
  1341. <caption id="caption1" class="tit_2" style="left:10px; top:55px; width:78px; height:14px; ">건진이력</caption>
  1342. <line id="line1" class="line_1" style="x1:5px; y1:70px; x2:455px; y2:70px; "/>
  1343. <caption id="caption4" class="tit_2" style="left:10px; top:255px; width:95px; height:14px; ">
  1344. <![CDATA[건진상세정보]]>
  1345. <script type="javascript" ev:event="ondblclick">
  1346. <![CDATA[
  1347. bool1.visible = true;
  1348. caption10.visible = true;
  1349. ]]>
  1350. </script>
  1351. </caption>
  1352. <line id="line3" class="line_1" style="x1:5px; y1:270px; x2:455px; y2:270px; "/>
  1353. <textarea id="tar_desc" ref="/root/main/info/ordinfo/info/acptdesc" disabled="true" style="left:5px; top:275px; width:450px; height:465px; "/>
  1354. <line id="line10" class="line_2" style="x1:455px; y1:100px; x2:1185px; y2:100px; "/>
  1355. <button id="btn_selprcpcd" class="btn2_letter4" visibility="hidden" style="left:995px; top:50px; width:64px; height:19px; ">
  1356. <caption>처방사전</caption>
  1357. <script type="javascript" ev:event="DOMActivate">
  1358. <![CDATA[
  1359. fGetPkgCd("SMAHA00100", "T", "Y","nm" , "" , "" , "", "/root/temp/templst", "Y"); //AHA001.js
  1360. fSetAddList(grd_ordlst, col_prcpcd, "/root/temp/templst/list", "Y"); //AHA001.js
  1361. grd_ordlst.row= grd_ordlst.rows -1;
  1362. grd_ordlst.editCell();
  1363. ]]>
  1364. </script>
  1365. </button>
  1366. <button id="btn_seladd" class="btn2_letter4" style="left:1128px; top:50px; width:64px; height:19px; ">
  1367. <caption>추가검사</caption>
  1368. <script type="javascript" ev:event="DOMActivate">
  1369. <![CDATA[
  1370. var choitestcd = model.getValue("/root/tmp/cho");
  1371. fGetPkgCd("SMAHA00100", "A", "Y", "nm", "", "", "", "/root/temp/templst", "Y", "", "", "", opener.javascript.getParameter("SMAHA00700_PARAM3"), opener.javascript.getParameter("SMAHA00700_PARAM4")); //AHA001.js
  1372. fSetAddList(grd_ordlst, col_prcpcd, "/root/temp/templst/list", "Y", "", model.getValue("/root/main/histlst/item/pkgcd")); //AHA001.js
  1373. if(model.getValue("/root/temp/okflag") != ""){
  1374. fPrcpDanga();
  1375. grd_ordlst.row = grd_ordlst.rows -1;
  1376. grd_ordlst.topRow = grd_ordlst.row;
  1377. grd_ordlst.editCell();
  1378. model.makeValue("/root/send2/popchk", "Y");
  1379. }
  1380. model.makeValue("/root/tmp/cho", choitestcd);
  1381. model.refresh();
  1382. ]]>
  1383. </script>
  1384. </button>
  1385. <caption id="caption8" class="tit_2" style="left:460px; top:680px; width:78px; height:14px; ">선택검사</caption>
  1386. <line id="line4" class="line_1" style="x1:460px; y1:695px; x2:1195px; y2:695px; "/>
  1387. <caption id="cap_choiflag" class="cell_1" style="left:460px; top:705px; width:64px; height:23px; vertical-align:middle; ">선택</caption>
  1388. <caption id="caption9" style="left:465px; top:660px; width:590px; height:15px; color:#ff0000; ">* 약처방 및 주사는 용법에 따라 취소 시점이 다르므로 삭제된 처방이 안보일 수 있음.</caption>
  1389. <datagrid id="datagrid1" nodeset="/root/temp1/test" visibility="hidden" caption="caption1^caption2" colsep="^" colwidth="100, 100" mergecellsfixedrows="bycolrec" rowsep="|" style="left:215px; top:215px; width:225px; height:310px; ">
  1390. <col ref="testcd"/>
  1391. <col ref="pkgcd"/>
  1392. </datagrid>
  1393. <bool id="bool1" visibility="hidden" checkvalue="Y,N" ref="/root/send/srchchk" style="left:1010px; top:670px; width:35px; height:20px; "/>
  1394. <caption id="caption10" visibility="hidden" style="left:1040px; top:670px; width:100px; height:20px; ">수납적용제외</caption>
  1395. <select1 id="rdo_choiflag" ref="/root/main/info/patinfo/item/choiflag" appearance="full" cols="5" overflow="visible" style="left:527px; top:707px; width:300px; height:20px; border-style:none; ">
  1396. <choices>
  1397. <itemset nodeset="/root/init/baseinfo/examinfo/S100">
  1398. <label ref="cdnm"/>
  1399. <value ref="cdid"/>
  1400. </itemset>
  1401. </choices>
  1402. <script type="javascript" ev:event="xforms-value-changed">
  1403. <![CDATA[
  1404. if(model.getValue("/root/main/info/ordinfo/info/choiflag") != model.getValue("/root/main/info/patinfo/item/choiflag")){
  1405. var rtn = messageBox("선택검사를 변경 하시겠습니까? ", "Q099");
  1406. if(rtn == 6){
  1407. model.makeValue("/root/temp/choiflagchangeyn", "Y");
  1408. for (var i=1; i<datagrid1.rows; i++){
  1409. var stestcd = model.getValue("/root/temp1/test[" + i + "]/testcd");
  1410. var spkgcd = model.getValue("/root/temp1/test[" + i + "]/pkgcd");
  1411. for(var j=1; j<grd_ordlst.rows; j++){
  1412. if (model.getValue("/root/main/info/ordinfo/ordlst[" + j + "]/testcd") == stestcd && model.getValue("/root/main/info/ordinfo/ordlst[" + j + "]/pkgcd") == spkgcd){
  1413. model.setValue("/root/main/info/ordinfo/ordlst[" + j + "]/m" , "d");
  1414. model.setValue("/root/main/info/ordinfo/ordlst[" + j + "]/sel" , "Y");
  1415. model.setValue("/root/main/info/ordinfo/ordlst[" + j + "]/dcflag" , "Y");
  1416. grd_ordlst.isReadOnly(j, 2) = true;
  1417. grd_ordlst.addStatus(j, "delete");
  1418. continue;
  1419. }
  1420. }
  1421. }
  1422. }else if(rtn == 7){
  1423. rdo_choiflag.value = selcho;
  1424. return false;
  1425. }
  1426. }else{
  1427. model.makeValue("/root/temp/choiflagchangeyn", "N");
  1428. for (var i = 1; i < datagrid1.rows; i ++){
  1429. var stestcd = model.getValue("/root/temp1/test[" + i + "]/testcd");
  1430. var spkgcd = model.getValue("/root/temp1/test[" + i + "]/pkgcd");
  1431. for (var j = 1; j < grd_ordlst.rows; j ++){
  1432. if (model.getValue("/root/main/info/ordinfo/ordlst[" + j + "]/testcd") == stestcd && model.getValue("/root/main/info/ordinfo/ordlst[" + j + "]/pkgcd") == spkgcd){
  1433. if (model.getValue("/root/main/info/ordinfo/ordlst[" + j + "]/dcflag") == "Y"){
  1434. model.setValue("/root/main/info/ordinfo/ordlst[" + j + "]/sel" , "N");
  1435. model.setValue("/root/main/info/ordinfo/ordlst[" + j + "]/dcflag" , "N");
  1436. grd_ordlst.removeStatus(j, "delete");
  1437. grd_ordlst.isReadOnly(j, 2) = false;
  1438. continue;
  1439. }
  1440. }
  1441. }
  1442. }
  1443. }
  1444. model.refresh();
  1445. ]]>
  1446. </script>
  1447. <script type="javascript" ev:event="DOMFocusIn">
  1448. <![CDATA[
  1449. selcho = rdo_choiflag.value;
  1450. ]]>
  1451. </script>
  1452. </select1>
  1453. </group>
  1454. <group id="grp_btn" style="left:0px; top:757px; width:1195px; height:27px; ">
  1455. <button id="btn_clear" class="btn4_letter3" style="left:1122px; top:5px; width:68px; height:22px; ">
  1456. <caption>초기화</caption>
  1457. <script type="javascript" ev:event="DOMActivate">
  1458. <![CDATA[
  1459. fGetHistList();
  1460. ]]>
  1461. </script>
  1462. </button>
  1463. <button id="btn_save" class="btn4_letter2" style="left:1065px; top:5px; width:56px; height:22px; ">
  1464. <caption>저장</caption>
  1465. <script type="javascript" ev:event="DOMActivate">
  1466. <![CDATA[
  1467. fChangeCode(); //선택검사변경
  1468. fSavePrcp(); //처방저장
  1469. fGetOrdInfo(); //건진처방내역가져오기
  1470. GridTest();
  1471. model.makeValue("/root/tmp/cho", rdo_choiflag.value);
  1472. /* 선택검사 변경 후 수납 시 수납정보 미입력으로 인한 주석처리 - 20111017_서원식
  1473. * emr.mmodexop - rcptno, rcptseqno, rcptdd, rcptrid
  1474. var kk = 0;
  1475. for (var i = 1; i < grd_ordlst.rows; i++){
  1476. if (model.getValue("/root/main/info/ordinfo/ordlst[" + i + "]/rcptstat") >= "230"){
  1477. kk = kk + 1;
  1478. }
  1479. }
  1480. if (kk > 0) {
  1481. model.resetInstanceNode("/root/send/savelist");
  1482. var nodeList = instance1.selectNodes(grd_ordlst.nodeset + "[rcptstat='000' and testflag='S']");
  1483. var rCSV = getNodeListCSV(nodeList);
  1484. model.makeNode("/root/send/saveinfo/savelist");
  1485. model.setValue("/root/send/saveinfo/savelist", rCSV);
  1486. if (submit("TXAHA00702")){
  1487. fGetOrdInfo();
  1488. GridTest();
  1489. model.makeValue("/root/tmp/cho",rdo_choiflag.value) ;
  1490. }
  1491. }
  1492. */
  1493. ]]>
  1494. </script>
  1495. </button>
  1496. <button id="button1" class="btn4_letter4" visibility="hidden" style="left:985px; top:5px; width:80px; height:22px; ">
  1497. <caption>수납처리</caption>
  1498. <script type="javascript" ev:event="DOMActivate">
  1499. <![CDATA[
  1500. model.resetInstanceNode("/root/send/savelist");
  1501. var nodeList = instance1.selectNodes(grd_ordlst.nodeset + "[rcptstat='000']");
  1502. var rCSV = getNodeListCSV(nodeList);
  1503. model.makeNode("/root/send/saveinfo/savelist");
  1504. model.setValue("/root/send/saveinfo/savelist" , rCSV);
  1505. if (submit("TXAHA00702")){
  1506. fGetOrdInfo(); //건진처방내역가져오기
  1507. GridTest();
  1508. fDope(); //마약 호출
  1509. model.makeValue("/root/tmp/cho",rdo_choiflag.value);
  1510. }
  1511. ]]>
  1512. </script>
  1513. </button>
  1514. <button id="button2" class="btn4_letter4" style="left:905px; top:5px; width:80px; height:22px; ">
  1515. <caption>상태변경</caption>
  1516. <script type="javascript" ev:event="DOMActivate">
  1517. <![CDATA[
  1518. if(messageBox("상태변경 ", "Q002") != 6) return;
  1519. if(grd_histlst.row < 1){
  1520. messageBox("건진이력을 ", "C002");
  1521. return;
  1522. }
  1523. var nodeList = instance1.selectNodes(grd_ordlst.nodeset + "[sel='Y']");
  1524. var updData = getGridUpdateData(grd_ordlst);
  1525. if((nodeList.length < 1) || (updData == "" )){
  1526. messageBox("저장할 데이터가 존재하지 않습니다.", "E999");
  1527. return;
  1528. }
  1529. model.resetInstanceNode("/root/send/saveinfo/savelist");
  1530. model.makeNode("/root/send/saveinfo/savelist");
  1531. model.setValue("/root/send/saveinfo/savelist", updData);
  1532. if(submit("TXAHA00703")){
  1533. fGetOrdInfo(); //건진처방내역가져오기
  1534. GridTest();
  1535. model.makeValue("/root/tmp/cho", rdo_choiflag.value) ;
  1536. }
  1537. ]]>
  1538. </script>
  1539. </button>
  1540. </group>
  1541. <script type="javascript" ev:event="onkeydown">
  1542. <![CDATA[
  1543. var keyp = event.keyCode
  1544. if(keyp == 113 ) {
  1545. grd_ordlst.row = grd_ordlst.rows-1;
  1546. }
  1547. ]]>
  1548. </script>
  1549. </xhtml:body>
  1550. </xhtml:html>