SMPIS00500_계산처방시행조회.xrw 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * @(#)SMPIS00500_계산처방시행조회.xrw
  4. * 수정이력
  5. * - 2008.09.25 / 최초작성 / 강종태
  6. * - 2009.04.02 / 수정 : 필드 추가, 조건 추가
  7. ************************************************
  8. * [ Maps ]
  9. * TRPID20309 : 진료과, 주치의
  10. -->
  11. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  12. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  13. <xhtml:head>
  14. <xhtml:title>계산처방시행 조회</xhtml:title>
  15. <model id="model1">
  16. <instance id="instance1">
  17. <root xmlns="">
  18. <main>
  19. <!-- SPPMC02500_환자조회 화면에서 선택된 검색결과를 받는 경로임 -->
  20. <patinfo>
  21. <patinfolist/>
  22. </patinfo>
  23. <popupendflag/>
  24. <grdlist>
  25. <calcorderlist>
  26. <pid/>
  27. <hngnm/>
  28. <ioflag/>
  29. <prcpdd/>
  30. <execdd/>
  31. <insukind/>
  32. <suppkind/>
  33. <orddeptcd/>
  34. <orddrnm/>
  35. <atdrnm/>
  36. <diag/>
  37. <snglcalcscorcd/>
  38. <edicd/>
  39. <calchngnm/>
  40. <appunitcost/>
  41. <calcqty/>
  42. <calctims/>
  43. <calcdays/>
  44. <totqty/>
  45. <calcamt/>
  46. <calcscorpayflag/>
  47. <indd/>
  48. <fromdd/>
  49. <todd/>
  50. <oprcp/>
  51. <judgrid/>
  52. <acptno/>
  53. <cretfromdd/>
  54. <yn/>
  55. <orddd/>
  56. </calcorderlist>
  57. </grdlist>
  58. </main>
  59. <init>
  60. <!-- 진료과 -->
  61. <orddeptcdlist>
  62. <cd/>
  63. <nm/>
  64. </orddeptcdlist>
  65. <!-- 진료의 -->
  66. <orddrid>
  67. <cd/>
  68. <nm/>
  69. </orddrid>
  70. <!-- 심사자 -->
  71. <U0001list/>
  72. <earnclslist/>
  73. </init>
  74. <send>
  75. <datecond/>
  76. <fromdd/>
  77. <todd/>
  78. <ioflag/>
  79. <orddeptcd/>
  80. <orddrid/>
  81. <codecond/>
  82. <code/>
  83. <edicd/>
  84. <patunitsrch/>
  85. <judgrid/>
  86. <cancer/>
  87. <large/>
  88. <middle/>
  89. <small/>
  90. <grupcalcscorcd/>
  91. </send>
  92. <hidden>
  93. <smpic00200>
  94. <judgsrch>
  95. <con1_dd/>
  96. <con2_gsflag/>
  97. <con3_search1/>
  98. <con4_search2/>
  99. <con5_insu/>
  100. </judgsrch>
  101. <rslt>
  102. <mech/>
  103. <picmmech/>
  104. </rslt>
  105. </smpic00200>
  106. <sppmc02500>
  107. <cond>
  108. <srchcond/>
  109. <pid/>
  110. <hngnm/>
  111. </cond>
  112. </sppmc02500>
  113. </hidden>
  114. </root>
  115. </instance>
  116. <script type="javascript" ev:event="xforms-ready">
  117. <![CDATA[
  118. // 화면 초기화
  119. fInitialize();
  120. ]]>
  121. </script>
  122. <!-- submission -->
  123. <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  124. <submission id="TRPIS00500" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/calcorderlist"/>
  125. <submission id="TRPID20309" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/tmp"/>
  126. <submission id="TRPIB00603" mediatype="application/x-www-form-urlencoded" method="post" resultref="/root/init/U0001list"/>
  127. <submission id="TRPIS00510" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/earnclslist"/>
  128. </model>
  129. <!-- js import -->
  130. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  131. <script type="javascript" src="../../../com/commonweb/js/utilHelper.js"/>
  132. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  133. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  134. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  135. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  136. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  137. <script type="javascript" src="../../../com/batchinfoweb/js/ZSB001.js"/>
  138. <!-- 뽕숑 -->
  139. <script type="javascript">
  140. <![CDATA[
  141. // 화면 초기화
  142. function fInitialize()
  143. {
  144. // rdo_code.value = "calcscorcd"; // 2009.02.18 라디오버튼 제거
  145. model.removeNodeset("/root/main/grdlist/calcorderlist"); // 그리드 초기화
  146. fGetOrdDept(); // 진료과 콤보 리스트
  147. submit("TRPIB00603"); // 심사자 콤보리스트
  148. submit("TRPIS00510"); // 수가 수익분류 리스트
  149. rdo_searchcond.value = "calc";
  150. // 수정시 거지 같아서 분리해 놨다가 로드시 위치로
  151. //rdo_cancer.attribute("left") = 295;
  152. //cp_large.attribute("left") = 295;
  153. //cp_middle.attribute("left") = 475;
  154. //cp_small.attribute("left") = 635;
  155. //cmb_large.attribute("left") = 365;
  156. //cmb_middle.attribute("left") = 520;
  157. //cmb_small.attribute("left") = 685;
  158. // fGetOrdDrid(); // 진료의 콤보 리스트 (TRPID20309 호출시 진료과,진료의 모두 가져온다
  159. // 초기화 할 때 PID가 존재하면 조회를 실행 한다 (팝업으로 호출된 경우 PID를 가지고 있다)
  160. if ( model.getValue("/root/send/patunitsrch") != "" )
  161. {
  162. if ( model.getValue("/root/send/ioflag") == "" ) {
  163. model.setValue("/root/send/ioflag","A");
  164. }
  165. fSearch();
  166. }
  167. else
  168. {
  169. // 팝업 호출시 값을 가져오기 때문에 팝업이 아닐 경우에만 기본값으로 설정해 준다
  170. // rdo_datecond.value = "P"; // 처방 2009.02.18 라디오버튼 제거
  171. rdo_ioflag.value = "A"; // 내원유형:전체
  172. ipt_fromdd.value = getCurrentDate();
  173. ipt_todd.value = getCurrentDate();
  174. }
  175. }
  176. // 진료과 리스트 가져오기
  177. function fGetOrdDept()
  178. {
  179. submit("TRPID20309");
  180. }
  181. // // 진료의 리스트 가져오기
  182. // function fGetOrdDrid()
  183. // {
  184. // submit("TRPID20309");
  185. // }
  186. // 환자단위 조회
  187. function fPatSrch()
  188. {
  189. var ipt_pid = model.getValue("/root/send/patunitsrch");
  190. if (ipt_pid) {
  191. if ( !isNaN(ipt_pid) )
  192. {
  193. model.setValue("/root/hidden/sppmc02500/cond/srchcond", "1"); // 검색조건 : 등록번호로 설정
  194. model.setValue("/root/hidden/sppmc02500/cond/pid", ipt_pid);
  195. }
  196. else
  197. {
  198. model.setValue("/root/hidden/sppmc02500/cond/srchcond", "2"); // 검색조건 : 환자명으로 설정
  199. model.setValue("/root/hidden/sppmc02500/cond/hngnm", ipt_pid);
  200. }
  201. } else {
  202. model.resetInstanceNode("/root/hidden/sppmc02500/cond");
  203. }
  204. // pam/commonweb/xrw/SPPMC02500_환자조회.xrw
  205. modal("SPPMC02500", "1", "150", "150", "SPPMC02500", "/root/hidden/sppmc02500/cond", "/root/send", "", ""); // SPPMC02500_환자조회.xrw
  206. var srch_pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  207. if (srch_pid) { // SPPMC02500_환자조회 화면에서 조회한 경우임
  208. model.removeNodeset("/root/main/patinfo/patinfolist"); // patinfolist가 제거됨 (resetInstanceNode의 경우 값은 지우고 노드는 남아있음)
  209. model.makeNode("/root/main/patinfo/patinfolist"); // SPPMC02500_환자조회 팝업을 다시 조회할 경우를 위해 다시 노드를 추가함
  210. model.setValue("/root/send/patunitsrch", srch_pid);
  211. }
  212. model.refresh();
  213. }
  214. // 수가,EDI
  215. function fGetSnglcalcscorcd() {
  216. // 처방시작일을 수가조회 기준일자로 설정
  217. model.setValue("/root/hidden/smpic00200/judgsrch/con1_dd", ipt_fromdd.value);
  218. // 싱글수가코드
  219. model.setValue("/root/hidden/smpic00200/judgsrch/con2_gsflag", "S");
  220. // SMPIC00200_수가조회 화면의 검색조건 combo 조건값 설정
  221. // 수가 > calcscorcd , edi > edicd , 한글 hngnm
  222. // model.setValue("/root/hidden/smpic00200/judgsrch/con3_search1", rdo_code.value); // 2009.02.18 수가,EDI 라디오 버튼 제거
  223. model.setValue("/root/hidden/smpic00200/judgsrch/con3_search1", "calcscorcd");
  224. // SMPIC00200_수가조회 용
  225. model.setValue("/root/hidden/smpic00200/judgsrch/con4_search2", "");
  226. // 보험으로 박아서 날린다
  227. model.setValue("/root/hidden/smpic00200/judgsrch/con5_insu", "insu");
  228. model.removeNodeset("/root/hidden/smpic00200/rslt/mech"); // SMPIC00200_수가조회 에서 선택된 결과가 copyNode되는 경로임
  229. model.removeNodeset("/root/hidden/smpic00200/rslt/picmmech"); // SMPIC00200_수가조회 에서 선택된 결과가 copyNode되는 경로임
  230. modal("SMPIC00200", "1", "10", "10", "SMPIC00200", "root/hidden/smpic00200", "/root/temp", "", ""); // SMPIC00200_수가조회.xrw
  231. var mechSelect = instance1.selectSingleNode("/root/temp/mech");
  232. if (mechSelect == null) { // 선택한 코드가 없는 경우
  233. messageBox("수가조회 화면에서 선택한 결과가", "I004"); ///수가조회 화면에서 선택한 결과가 없습니다.
  234. return;
  235. }
  236. // SMPIC00200_수가조회 화면에서 보낸 결과 값에 대한 처리
  237. model.makeNode("/root/hidden/smpic00200/rslt/mech");
  238. model.makeNode("/root/hidden/smpic00200/rslt/picmmech");
  239. model.copyNode("/root/hidden/smpic00200/rslt/mech", "/root/temp/mech");
  240. model.copyNode("/root/hidden/smpic00200/rslt/picmmech", "/root/temp/picmmech");
  241. model.removeNodeset("/root/temp"); // SMPIC00200_수가조회 에서 선택된 결과가 직접 전달되는 경로임
  242. // 처방불가한 수가코드라도 조회 가능해야 한다!! (2015.11.02 칠곡 심사팀 김민혁 선생님 요청)
  243. //if (model.getValue("/root/hidden/smpic00200/rslt/mech/ordinptflag") != "A") { // 처방입력구분(코드군 P0141) A: 가능
  244. // messageBox("처방이 불가한 코드", "E008"); ///처방이 불가한 코드입니다.
  245. // return;
  246. //}
  247. // 수가코드만 조회하기 때문에 수가코드로 박는다 2009.02.23
  248. model.setValue("/root/send/code", model.getValue("/root/hidden/smpic00200/rslt/picmmech/picmmech_calcscorcd"));
  249. // if ( model.getValue("/root/send/codecond") == "calcscorcd" )
  250. // {
  251. // model.setValue("/root/send/code", model.getValue("/root/hidden/smpic00200/rslt/picmmech/picmmech_calcscorcd"));
  252. // }
  253. // else
  254. // {
  255. // model.setValue("/root/send/code", model.getValue("/root/hidden/smpic00200/rslt/mech/insuedicd"));
  256. // }
  257. ipt_code.refresh();
  258. // model.setValue("/root/send/item1/choicdsrch1", "3");
  259. // rdo_mchrgcode.refresh();
  260. // ipt_choicdsrch.refresh();
  261. }
  262. function fGetGrupcalcscorcd() {
  263. // 처방시작일을 수가조회 기준일자로 설정
  264. model.setValue("/root/hidden/smpic00200/judgsrch/con1_dd", ipt_fromdd.value);
  265. // 싱글수가코드
  266. model.setValue("/root/hidden/smpic00200/judgsrch/con2_gsflag", "S");
  267. // SMPIC00200_수가조회 화면의 검색조건 combo 조건값 설정
  268. // 수가 > calcscorcd , edi > edicd , 한글 hngnm
  269. // model.setValue("/root/hidden/smpic00200/judgsrch/con3_search1", rdo_code.value); // 2009.02.18 수가,EDI 라디오 버튼 제거
  270. model.setValue("/root/hidden/smpic00200/judgsrch/con3_search1", "calcscorcd");
  271. // SMPIC00200_수가조회 용
  272. model.setValue("/root/hidden/smpic00200/judgsrch/con4_search2", "");
  273. // 보험으로 박아서 날린다
  274. model.setValue("/root/hidden/smpic00200/judgsrch/con5_insu", "insu");
  275. model.removeNodeset("/root/hidden/smpic00200/rslt/mech"); // SMPIC00200_수가조회 에서 선택된 결과가 copyNode되는 경로임
  276. model.removeNodeset("/root/hidden/smpic00200/rslt/picmmech"); // SMPIC00200_수가조회 에서 선택된 결과가 copyNode되는 경로임
  277. modal("SMPIC00200", "1", "10", "10", "SMPIC00200", "root/hidden/smpic00200", "/root/temp", "", ""); // SMPIC00200_수가조회.xrw
  278. var mechSelect = instance1.selectSingleNode("/root/temp/mech");
  279. if (mechSelect == null) { // 선택한 코드가 없는 경우
  280. messageBox("수가조회 화면에서 선택한 결과가", "I004"); ///수가조회 화면에서 선택한 결과가 없습니다.
  281. return;
  282. }
  283. // SMPIC00200_수가조회 화면에서 보낸 결과 값에 대한 처리
  284. model.makeNode("/root/hidden/smpic00200/rslt/mech");
  285. model.makeNode("/root/hidden/smpic00200/rslt/picmmech");
  286. model.copyNode("/root/hidden/smpic00200/rslt/mech", "/root/temp/mech");
  287. model.copyNode("/root/hidden/smpic00200/rslt/picmmech", "/root/temp/picmmech");
  288. model.removeNodeset("/root/temp"); // SMPIC00200_수가조회 에서 선택된 결과가 직접 전달되는 경로임
  289. if (model.getValue("/root/hidden/smpic00200/rslt/mech/ordinptflag") != "A") { // 처방입력구분(코드군 P0141) A: 가능
  290. messageBox("처방이 불가한 코드", "E008"); ///처방이 불가한 코드입니다.
  291. return;
  292. }
  293. // 수가코드만 조회하기 때문에 수가코드로 박는다 2009.02.23
  294. model.setValue("/root/send/grupcalcscorcd", model.getValue("/root/hidden/smpic00200/rslt/picmmech/picmmech_calcscorcd"));
  295. // if ( model.getValue("/root/send/codecond") == "calcscorcd" )
  296. // {
  297. // model.setValue("/root/send/code", model.getValue("/root/hidden/smpic00200/rslt/picmmech/picmmech_calcscorcd"));
  298. // }
  299. // else
  300. // {
  301. // model.setValue("/root/send/code", model.getValue("/root/hidden/smpic00200/rslt/mech/insuedicd"));
  302. // }
  303. ipt_grupcalcscorcd.refresh();
  304. // model.setValue("/root/send/item1/choicdsrch1", "3");
  305. // rdo_mchrgcode.refresh();
  306. // ipt_choicdsrch.refresh();
  307. }
  308. function fGetEdicd() {
  309. // 처방시작일을 수가조회 기준일자로 설정
  310. model.setValue("/root/hidden/smpic00200/judgsrch/con1_dd", ipt_fromdd.value);
  311. // 싱글수가코드
  312. model.setValue("/root/hidden/smpic00200/judgsrch/con2_gsflag", "S");
  313. // SMPIC00200_수가조회 화면의 검색조건 combo 조건값 설정
  314. // 수가 > calcscorcd , edi > edicd , 한글 hngnm
  315. // model.setValue("/root/hidden/smpic00200/judgsrch/con3_search1", rdo_code.value); // 2009.02.18 수가,EDI 라디오 버튼 제거
  316. model.setValue("/root/hidden/smpic00200/judgsrch/con3_search1", "edicd");
  317. // SMPIC00200_수가조회 용
  318. model.setValue("/root/hidden/smpic00200/judgsrch/con4_search2", "");
  319. // 보험으로 박아서 날린다
  320. model.setValue("/root/hidden/smpic00200/judgsrch/con5_insu", "insu");
  321. model.removeNodeset("/root/hidden/smpic00200/rslt/mech"); // SMPIC00200_수가조회 에서 선택된 결과가 copyNode되는 경로임
  322. model.removeNodeset("/root/hidden/smpic00200/rslt/picmmech"); // SMPIC00200_수가조회 에서 선택된 결과가 copyNode되는 경로임
  323. modal("SMPIC00200", "1", "10", "10", "SMPIC00200", "root/hidden/smpic00200", "/root/temp", "", ""); // SMPIC00200_수가조회.xrw
  324. var mechSelect = instance1.selectSingleNode("/root/temp/mech");
  325. if (mechSelect == null) { // 선택한 코드가 없는 경우
  326. messageBox("수가조회 화면에서 선택한 결과가", "I004"); ///수가조회 화면에서 선택한 결과가 없습니다.
  327. return;
  328. }
  329. // SMPIC00200_수가조회 화면에서 보낸 결과 값에 대한 처리
  330. model.makeNode("/root/hidden/smpic00200/rslt/mech");
  331. model.makeNode("/root/hidden/smpic00200/rslt/picmmech");
  332. model.copyNode("/root/hidden/smpic00200/rslt/mech", "/root/temp/mech");
  333. model.copyNode("/root/hidden/smpic00200/rslt/picmmech", "/root/temp/picmmech");
  334. model.removeNodeset("/root/temp"); // SMPIC00200_수가조회 에서 선택된 결과가 직접 전달되는 경로임
  335. if (model.getValue("/root/hidden/smpic00200/rslt/mech/ordinptflag") != "A") { // 처방입력구분(코드군 P0141) A: 가능
  336. messageBox("처방이 불가한 코드", "E008"); ///처방이 불가한 코드입니다.
  337. return;
  338. }
  339. // 수가코드만 조회하기 때문에 수가코드로 박는다 2009.02.23
  340. model.setValue("/root/send/code", model.getValue("/root/hidden/smpic00200/rslt/picmmech/picmmech_insuedicd"));
  341. // if ( model.getValue("/root/send/codecond") == "calcscorcd" )
  342. // {
  343. // model.setValue("/root/send/code", model.getValue("/root/hidden/smpic00200/rslt/picmmech/picmmech_calcscorcd"));
  344. // }
  345. // else
  346. // {
  347. // model.setValue("/root/send/code", model.getValue("/root/hidden/smpic00200/rslt/mech/insuedicd"));
  348. // }
  349. ipt_edicd.refresh();
  350. // model.setValue("/root/send/item1/choicdsrch1", "3");
  351. // rdo_mchrgcode.refresh();
  352. // ipt_choicdsrch.refresh();
  353. }
  354. // 조회
  355. function fSearch()
  356. {
  357. var chk_pid = model.getValue("/root/send/patunitsrch");
  358. var chk_fromdd = model.getValue("/root/send/fromdd");
  359. var chk_todd = model.getValue("/root/send/todd");
  360. var chk_code = model.getValue("/root/send/code");
  361. var chk_edicd = model.getValue("/root/send/edicd");
  362. var chk_cancer = model.getValue("/root/send/cancer");
  363. var chk_large = model.getValue("/root/send/large");
  364. var chk_grupcalcscorcd = model.getValue("/root/send/grupcalcscorcd");
  365. if ( chk_fromdd == "" )
  366. {
  367. messageBox("조회기간은 ", "I003");
  368. model.setFocus("ipt_fromdd");
  369. }
  370. else if (!isValidDateTime(chk_fromdd,"YYYYMMDD"))
  371. {
  372. messageBox("날짜 타입이 ", "E004");
  373. model.setFocus("ipt_fromdd");
  374. }
  375. else if ( chk_todd == "" )
  376. {
  377. messageBox("조회기간은 ", "I003");
  378. model.setFocus("ipt_todd");
  379. }
  380. else if (!isValidDateTime(chk_todd,"YYYYMMDD"))
  381. {
  382. messageBox("날짜 타입이 ", "E004");
  383. model.setFocus("ipt_todd");
  384. }
  385. // else if ( chk_large == "" )
  386. // {
  387. // messageBox("검색조건은 ", "I003");
  388. // model.setFocus("ipt_code");
  389. // }
  390. else
  391. {
  392. // 근무시간 중 31일 이내, 근무시간 외 365일 이내만 조회되도록 제어 기능 추가 (2015.10.27 L.E.J)
  393. var chk_Time = getCurrentTime() ;
  394. var chk_diff = getDateInterval(chk_fromdd, chk_todd, "dd");
  395. if (chk_Time >= "080000" && chk_Time <= "173000")
  396. {
  397. if ( chk_diff > "31" )
  398. {
  399. alert("근무시간 중(08:00~17:30)에는 한달 이내만 조회 가능합니다!! 조회 기간을 다시 설정하세요!!!");
  400. model.setFocus("ipt_fromdd");
  401. }
  402. else
  403. {
  404. model.removeNodeset("/root/main/grdlist/calcorderlist");
  405. submit("TRPIS00500");
  406. if (model.getValue("/root/main/grdlist/calcorderlist[1]/pid") == "over10000") {
  407. model.removeNodeset("/root/main/grdlist/calcorderlist");
  408. messageBox("조회된 건수가 만건을 초과하여 배치로 ", "I001");
  409. grd_outjudg.refresh();
  410. }
  411. }
  412. }
  413. else
  414. {
  415. if ( chk_diff > "365" )
  416. {
  417. alert("조회기간은 일년 이내만 가능합니다!! 조회 기간을 다시 설정하세요!!!");
  418. model.setFocus("ipt_fromdd");
  419. }
  420. else
  421. {
  422. model.removeNodeset("/root/main/grdlist/calcorderlist");
  423. submit("TRPIS00500");
  424. if (model.getValue("/root/main/grdlist/calcorderlist[1]/pid") == "over10000") {
  425. model.removeNodeset("/root/main/grdlist/calcorderlist");
  426. messageBox("조회된 건수가 만건을 초과하여 배치로 ", "I001");
  427. grd_outjudg.refresh();
  428. }
  429. }
  430. }
  431. }
  432. }
  433. ]]>
  434. </script>
  435. </xhtml:head>
  436. <xhtml:body pagewidth="1211" pageheight="784" guideline="1,1214;2,784;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  437. <!-- TITLE -->
  438. <group id="group1" style="left:0px; top:0px; width:1190px; height:13px; ">
  439. <caption id="caption1" class="tit_1" style="left:0px; top:0px; width:173px; height:14px; ">계산처방시행 조회</caption>
  440. </group>
  441. <!-- 전체 그룹 -->
  442. <group id="group2" scroll="no" style="left:0px; top:23px; width:1190px; height:732px; ">
  443. <!-- 조회조건 -->
  444. <group id="group3" style="left:0px; top:0px; width:1190px; height:80px; vertical-align:top; ">
  445. <shape id="roundrect1" appearance="roundrect" style="left:0px; top:0px; width:1190px; height:80px; "/>
  446. <caption id="caption2" class="search_name" style="left:8px; top:31px; width:65px; height:17px; ">진료과</caption>
  447. <select1 id="base_date" ref="/root/send/orddeptcd" class="combo_search" appearance="minimal" style="left:91px; top:30px; width:100px; height:19px; ">
  448. <choices>
  449. <itemset nodeset="/root/init/tmp/orddeptcd/orddeptcdlist">
  450. <label ref="nm"/>
  451. <value ref="cd"/>
  452. </itemset>
  453. </choices>
  454. <script type="javascript" ev:event="xforms-value-changed">
  455. <![CDATA[
  456. var orddeptcd = model.getValue("/root/send/orddeptcd");
  457. if (orddeptcd) {
  458. cmb_orddrid.choices.itemset.attribute("nodeset") = "/root/init/tmp/orddrid/orddridlist[dp='" + orddeptcd + "']";
  459. } else {
  460. cmb_orddrid.choices.itemset.attribute("nodeset") = "/root/init/tmp/orddrid/orddridlist";
  461. }
  462. model.setValue("/root/send/orddrid", ""); // 주치의 선택을 초기화한다.
  463. model.refresh();
  464. ]]>
  465. </script>
  466. </select1>
  467. <line id="line1" class="line_4" style="x1:1109px; y1:5px; x2:1109px; y2:74px; "/>
  468. <button id="btn_search" class="btn1_letter2" navindex="2" style="left:1123px; top:30px; width:56px; height:22px; ">
  469. <caption>조회</caption>
  470. <script type="javascript" ev:event="DOMActivate">
  471. <![CDATA[
  472. fSearch();
  473. ]]>
  474. </script>
  475. </button>
  476. <caption id="caption26" class="search_name" style="left:212px; top:30px; width:70px; height:17px; ">진료의</caption>
  477. <select1 id="cmb_orddrid" ref="/root/send/orddrid" class="combo_search" appearance="minimal" style="left:283px; top:29px; width:100px; height:19px; ">
  478. <choices>
  479. <itemset nodeset="/root/init/tmp/orddrid/orddridlist">
  480. <label ref="nm"/>
  481. <value ref="cd"/>
  482. </itemset>
  483. </choices>
  484. </select1>
  485. <caption id="caption3" class="search_name" style="left:403px; top:7px; width:76px; height:17px; ">내원유형</caption>
  486. <select1 id="rdo_ioflag" ref="/root/send/ioflag" class="radio_search" appearance="full" cols="4" overflow="visible" style="left:502px; top:7px; width:183px; height:20px; border-style:none; ">
  487. <choices>
  488. <item>
  489. <label>전체</label>
  490. <value>A</value>
  491. </item>
  492. <item>
  493. <label>입원</label>
  494. <value>I</value>
  495. </item>
  496. <item>
  497. <label>외퇴</label>
  498. <value>D</value>
  499. </item>
  500. <item>
  501. <label>외래</label>
  502. <value>O</value>
  503. </item>
  504. </choices>
  505. <script type="javascript" ev:event="xforms-value-changed">
  506. <![CDATA[
  507. fGetOrdDept(); // 진료과 콤보 리스트
  508. // fGetOrdDrid(); // 진료의 콤보 리스트
  509. ]]>
  510. </script>
  511. </select1>
  512. <input id="ipt_fromdd" ref="/root/send/fromdd" class="input_search" navindex="3" inputtype="date" format="yyyy-mm-dd" style="left:91px; top:5px; width:100px; height:19px; "/>
  513. <input id="ipt_todd" ref="/root/send/todd" class="input_search" navindex="3" inputtype="date" format="yyyy-mm-dd" style="left:211px; top:5px; width:100px; height:19px; "/>
  514. <caption id="caption4" style="left:196px; top:5px; width:15px; height:20px; ">~</caption>
  515. <input id="ipt_code" ref="/root/send/code" class="input_search" inputtype="button" _chartype="upper" style="left:502px; top:55px; width:183px; height:19px; ">
  516. <script type="javascript" ev:event="onbuttonclick">
  517. <![CDATA[
  518. fGetSnglcalcscorcd();
  519. ]]>
  520. </script>
  521. <script type="javascript" ev:event="xforms-value-changed">
  522. <![CDATA[
  523. model.setValue("/root/send/edicd", "");
  524. ipt_edicd.refresh();
  525. ]]>
  526. </script>
  527. </input>
  528. <input id="ipt_patunitsrch" ref="/root/send/patunitsrch" class="input_search" navindex="3" inputtype="button" maxlength="10" style="left:790px; top:5px; width:104px; height:19px; ">
  529. <hint>
  530. <![CDATA[환자성명으로 검색시 2자 이상 입력하세요.]]>
  531. </hint>
  532. <script type="javascript" ev:event="onkeypress">
  533. <![CDATA[
  534. if (event.keyCode == "13") { // Enter 입력 시에
  535. if (ipt_patunitsrch.currentText.length > 1) { // 2글자 이상이면
  536. setInputNodeCurText(); // (tfHelper.js) 현재 인풋값 노드 반영
  537. if( isNaN(model.getValue("/root/send/patunitsrch")) ) // PID로 검색시 조회
  538. {
  539. fPatSrch();
  540. }
  541. else
  542. {
  543. fSearch();
  544. }
  545. }
  546. }
  547. ]]>
  548. </script>
  549. <script type="javascript" ev:event="onbuttonclick">
  550. <![CDATA[
  551. fPatSrch();
  552. ]]>
  553. </script>
  554. </input>
  555. <caption id="caption5" class="search_name" style="left:707px; top:7px; width:76px; height:17px; ">환자조회</caption>
  556. <caption id="caption7" class="search_name" style="left:8px; top:7px; width:76px; height:17px; ">진료일자</caption>
  557. <select1 id="combo1" ref="/root/send/judgrid" navindex="1" appearance="minimal" style="left:984px; top:5px; width:104px; height:19px; ">
  558. <choices>
  559. <itemset nodeset="/root/init/U0001list/U0001">
  560. <label ref="cdnm"/>
  561. <value ref="cdid"/>
  562. </itemset>
  563. </choices>
  564. </select1>
  565. <caption id="caption9" class="search_name" style="left:911px; top:7px; width:73px; height:17px; ">심사자</caption>
  566. <caption id="caption10" class="search_name" style="left:8px; top:56px; width:76px; height:17px; ">검색조건</caption>
  567. <select1 id="rdo_searchcond" ref="/root/send/codecond" class="radio_search" appearance="full" cols="3" overflow="visible" style="left:90px; top:55px; width:167px; height:20px; border-style:none; ">
  568. <choices>
  569. <item>
  570. <label>코드별</label>
  571. <value>calc</value>
  572. </item>
  573. <item>
  574. <label>항암제</label>
  575. <value>cancer</value>
  576. </item>
  577. <item>
  578. <label>분류별</label>
  579. <value>kind</value>
  580. </item>
  581. </choices>
  582. <script type="javascript" ev:event="xforms-select">
  583. <![CDATA[
  584. ipt_code.value = "";
  585. rdo_cancer.value = "";
  586. cmb_large.value = "";
  587. cmb_middle.choices.itemset.attribute("nodeset") = "/root/init/hidden";
  588. cmb_small.choices.itemset.attribute("nodeset") = "/root/init/hidden";
  589. var choice = rdo_searchcond.value;
  590. if ( choice == "calc" ) {
  591. cp_code.disabled = false;
  592. ipt_code.disabled = false;
  593. ipt_grupcalcscorcd.disabled = false;
  594. cp_edicd.disabled = false;
  595. ipt_edicd.disabled = false;
  596. rdo_cancer.disabled = true;
  597. cp_large.disabled = true;
  598. cp_middle.disabled = true;
  599. cp_small.disabled = true;
  600. cmb_large.disabled = true;
  601. cmb_middle.disabled = true;
  602. cmb_small.disabled = true;
  603. } else if ( choice == "cancer" ) {
  604. rdo_cancer.select(0);
  605. cp_code.disabled = true;
  606. ipt_code.disabled = true;
  607. ipt_grupcalcscorcd.disabled = true;
  608. cp_edicd.disabled = true;
  609. ipt_edicd.disabled = true;
  610. rdo_cancer.disabled = false;
  611. cp_large.disabled = true;
  612. cp_middle.disabled = true;
  613. cp_small.disabled = true;
  614. cmb_large.disabled = true;
  615. cmb_middle.disabled = true;
  616. cmb_small.disabled = true;
  617. } else if ( choice == "kind" ) {
  618. cp_code.disabled = true;
  619. ipt_code.disabled = true;
  620. ipt_grupcalcscorcd.disabled = true;
  621. cp_edicd.disabled = true;
  622. ipt_edicd.disabled = true;
  623. rdo_cancer.disabled = true;
  624. cp_large.disabled = false;
  625. cp_middle.disabled = false;
  626. cp_small.disabled = false;
  627. cmb_large.disabled = false;
  628. cmb_middle.disabled = false;
  629. cmb_small.disabled = false;
  630. }
  631. ]]>
  632. </script>
  633. </select1>
  634. <select1 id="rdo_cancer" ref="/root/send/cancer" class="radio_search" disabled="true" visibility="visible" appearance="full" cols="3" overflow="visible" style="left:263px; top:55px; width:120px; height:20px; border-style:none; ">
  635. <choices>
  636. <item>
  637. <label>전체</label>
  638. <value>A</value>
  639. </item>
  640. <item>
  641. <label>1군</label>
  642. <value>1</value>
  643. </item>
  644. <item>
  645. <label>2군</label>
  646. <value>2</value>
  647. </item>
  648. </choices>
  649. </select1>
  650. <select1 id="cmb_large" ref="/root/send/large" disabled="true" navindex="1" visibility="visible" appearance="minimal" style="left:502px; top:29px; width:183px; height:19px; ">
  651. <choices>
  652. <itemset nodeset="/root/init/hidden/earnclslist[step='L']">
  653. <label ref="earncls1nm"/>
  654. <value ref="earncls1"/>
  655. </itemset>
  656. </choices>
  657. <script type="javascript" ev:event="xforms-select">
  658. <![CDATA[
  659. cmb_middle.choices.itemset.attribute("nodeset") = "/root/init/hidden";
  660. cmb_small.choices.itemset.attribute("nodeset") = "/root/init/hidden";
  661. cmb_middle.value = "";
  662. cmb_small.value = "";
  663. cmb_middle.choices.itemset.attribute("nodeset") = "/root/init/hidden/earnclslist[step='M' and earncls1='" + cmb_large.value + "']";
  664. cmb_middle.refresh();
  665. ]]>
  666. </script>
  667. </select1>
  668. <select1 id="cmb_middle" ref="/root/send/middle" disabled="true" navindex="1" visibility="visible" appearance="minimal" style="left:790px; top:29px; width:104px; height:19px; ">
  669. <choices>
  670. <itemset nodeset="/root/init/hidden/">
  671. <label ref="earncls2nm"/>
  672. <value ref="earncls2"/>
  673. </itemset>
  674. </choices>
  675. <script type="javascript" ev:event="xforms-select">
  676. <![CDATA[
  677. cmb_small.choices.itemset.attribute("nodeset") = "/root/init/hidden/earnclslist[step='S' and earncls1='" + cmb_large.value + "' and earncls2='" + cmb_middle.value + "']";
  678. cmb_small.refresh();
  679. ]]>
  680. </script>
  681. </select1>
  682. <select1 id="cmb_small" ref="/root/send/small" disabled="true" navindex="1" visibility="visible" appearance="minimal" style="left:984px; top:30px; width:104px; height:19px; ">
  683. <choices>
  684. <itemset nodeset="/root/init/hidden/">
  685. <label ref="earncls3nm"/>
  686. <value ref="earncls3"/>
  687. </itemset>
  688. </choices>
  689. </select1>
  690. <caption id="cp_large" class="search_name" style="left:403px; top:30px; width:89px; height:17px; ">처방대분류</caption>
  691. <caption id="cp_code" class="search_name" style="left:403px; top:55px; width:76px; height:17px; ">수가코드</caption>
  692. <caption id="cp_middle" class="search_name" style="left:707px; top:30px; width:64px; height:17px; ">중분류</caption>
  693. <caption id="cp_small" class="search_name" style="left:911px; top:30px; width:65px; height:17px; ">소분류</caption>
  694. <caption id="cp_edicd" class="search_name" style="left:912px; top:55px; width:76px; height:17px; ">EDI코드</caption>
  695. <input id="ipt_edicd" ref="/root/send/edicd" class="input_search" inputtype="button" maxlength="10" _chartype="upper" style="left:985px; top:55px; width:104px; height:19px; ">
  696. <script type="javascript" ev:event="onbuttonclick">
  697. <![CDATA[
  698. fGetEdicd();
  699. ]]>
  700. </script>
  701. <script type="javascript" ev:event="xforms-value-changed">
  702. <![CDATA[
  703. model.setValue("/root/send/code", "");
  704. ipt_code.refresh();
  705. ]]>
  706. </script>
  707. </input>
  708. <input id="ipt_grupcalcscorcd" ref="/root/send/grupcalcscorcd" class="input_search" inputtype="button" _chartype="upper" style="left:790px; top:55px; width:105px; height:19px; ">
  709. <script type="javascript" ev:event="onbuttonclick">
  710. <![CDATA[
  711. fGetGrupcalcscorcd();
  712. ]]>
  713. </script>
  714. <script type="javascript" ev:event="xforms-value-changed">
  715. <![CDATA[
  716. model.setValue("/root/send/edicd", "");
  717. ipt_edicd.refresh();
  718. ]]>
  719. </script>
  720. </input>
  721. <caption id="caption6" class="search_name" style="left:708px; top:55px; width:79px; height:17px; ">그룹코드</caption>
  722. </group>
  723. <caption id="caption8" class="tit_2" style="left:0px; top:90px; width:100px; height:13px; ">환자 리스트</caption>
  724. <button id="btn_excelsave" class="btn2_letter4" style="left:1120px; top:85px; width:64px; height:19px; ">
  725. <caption>엑셀저장</caption>
  726. <script type="javascript" ev:event="DOMActivate">
  727. <![CDATA[
  728. if (grd_outjudg.rows > 1) {
  729. var fileName = window.fileDialog("save", "", false, "계산처방시행 조회_" + getCurrentDate(), "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  730. if (fileName != "") {
  731. //datagrid.saveExcel의 7번째 인자 값(boolean) : 그리드의 col type=combo일 경우 엑셀저장내용이 lable 또는 value로 설정 함
  732. // grd_clbsmast.saveExcel(fileName, "SheetName", true, true, "", "", true);
  733. grd_outjudg.saveExcel(fileName, "sheetname:;colhiddenextend:false;rowhiddenextend:false;", true, true, "", "", true);
  734. }
  735. } else {
  736. messageBox("엑셀저장할 대상이 ", "I004"); ///엑셀저장할 대상자가 없습니다.
  737. }
  738. ]]>
  739. </script>
  740. </button>
  741. <datagrid id="grd_outjudg" nodeset="/root/main/grdlist/calcorderlist" class="datagrid2" caption="등록번호^성명^내원유형^처방일자^진료일자^실시일자^시행&#xA;여부^유형^보조^진료과^병동^진료의^진료의^주상병^수가코드^EDI코드^그룹코드^한글명^단가^수량^횟수^일수^총투^금액^급비^입원일자^유형시작일^종료일^원외^심사자^접수번호^생성일자" colsep="^" colwidth="62, 49, 35, 80, 80, 83, 42, 20, 23, 45, 58, 55, 55, 66, 72, 66, 80, 205, 70, 40, 40, 40, 40, 83, 28, 75, 75, 83, 31, 47, 61, 76" explorerbar="sortshow" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:0px; top:105px; width:1190px; height:610px; ">
  742. <col ref="pid" style="text-align:center; "/>
  743. <col ref="hngnm" style="text-align:center; "/>
  744. <col ref="ioflag"/>
  745. <col ref="prcpdd" format="yyyy-mm-dd" style="text-align:center; "/>
  746. <col ref="orddd" format="yyyy-mm-dd" style="text-align:center; "/>
  747. <col ref="execdd" format="yyyy-mm-dd" style="text-align:center; "/>
  748. <col ref="yn" style="text-align:center; "/>
  749. <col ref="insukind"/>
  750. <col ref="suppkind"/>
  751. <col ref="orddeptcd"/>
  752. <col ref="wardnm"/>
  753. <col ref="orddrnm" style="text-align:center; "/>
  754. <col ref="atdrnm" style="text-align:center; "/>
  755. <col ref="diag"/>
  756. <col ref="snglcalcscorcd"/>
  757. <col ref="edicd"/>
  758. <col ref="grupcalcscorcd"/>
  759. <col ref="calchngnm"/>
  760. <col ref="appunitcost" format="#,###" style="text-align:right; "/>
  761. <col ref="calcqty" format="#,###.00" style="text-align:right; "/>
  762. <col ref="calctims" format="#,###" style="text-align:right; "/>
  763. <col ref="calcdays" style="text-align:right; "/>
  764. <col ref="totqty" format="#,###.00" style="text-align:right; "/>
  765. <col ref="calcamt" format="#,###" style="text-align:right; "/>
  766. <col disabled="true" ref="calcscorpayflag" type="combo" style="text-align:center; ">
  767. <choices>
  768. <item>
  769. <label>급</label>
  770. <value>0</value>
  771. </item>
  772. <item>
  773. <label>100</label>
  774. <value>1</value>
  775. </item>
  776. <item>
  777. <label>비</label>
  778. <value>2</value>
  779. </item>
  780. <item>
  781. <label>선</label>
  782. <value>8</value>
  783. </item>
  784. <item>
  785. <label>선</label>
  786. <value>9</value>
  787. </item>
  788. </choices>
  789. </col>
  790. <col ref="indd" format="yyyy-mm-dd" style="text-align:center; "/>
  791. <col ref="fromdd" format="yyyy-mm-dd" style="text-align:center; "/>
  792. <col ref="todd" format="yyyy-mm-dd" style="text-align:center; "/>
  793. <col ref="oprcp"/>
  794. <col ref="judgrid" style="text-align:center; "/>
  795. <col ref="acptno" style="text-align:center; "/>
  796. <col ref="cretfromdd" format="yyyy-mm-dd" style="text-align:center; "/>
  797. </datagrid>
  798. <button id="btn_batch" class="btn2_letter6" style="left:1030px; top:85px; width:86px; height:19px; ">
  799. <caption>배치결과확인</caption>
  800. <script type="javascript" ev:event="DOMActivate">
  801. <![CDATA[
  802. var todd = getCurrentDate();
  803. todd = todd.toDate().getAddDate(+1, 'D');
  804. zsbfOpenBatchLogPopup("aftjudgstatmgr.CalcOrderListBatch",getCurrentDate(),todd.getDateFormat());
  805. ]]>
  806. </script>
  807. </button>
  808. </group>
  809. </xhtml:body>
  810. </xhtml:html>