SMPID20200.js 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901
  1. // =================================================================================================
  2. // 입원사후심사 대상자조회 화면(김상진)
  3. // 수정이력
  4. // - 2007.03.22 / 정주미
  5. // - 2008.06.03 / 김상진
  6. //==================================================================================================
  7. /* --------------------------------------------------------------------------------------------------
  8. Fucntion Name || Description
  9. -----------------------------------------------------------------------------------------------------
  10. fInitialize : 화면 초기화
  11. -------------------------------------------------------------------------------------------------- */
  12. // Global 변수 선언
  13. var gToday = new Date();
  14. var gBaseyear = gToday.getDateFormat("YYYY"); // (dateHelper.js)에서 제공하는 함수를 사용하여 해당 년를 구한다.
  15. var gBasemonth = gToday.getDateFormat("MM");
  16. var gBaseday = gToday.getDateFormat("DD");
  17. var gCurrentdd = gBaseyear + gBasemonth + gBaseday;
  18. var gCurrentym = gBaseyear + gBasemonth;
  19. var gUserid = getUserId();
  20. // 20100420 환경초기화를 위한 로딩상태 저장
  21. var gClbsmast_refdata = "";
  22. var gClbsmast_sizedata = "";
  23. // 화면 open시(와 초기화 버튼 클릭시) 화면 초기화 기능을 수행한다.
  24. function fInitialize() {
  25. // 공통코드를 조회한다.
  26. // (ZBC001.js) com.ZBCMCODE에서 기초코드 값을 가져와서 Combo 컨트롤 item으로 설정하기 위해 사용한다.
  27. zbcfGetCodeList(
  28. new Array("P0008" // 보험유형
  29. ,"P0010" // 보조유형
  30. ,"P0151" // 심사상태 / 심사완료여부
  31. ,"P0291" // 청구분야(진료분야)
  32. ,"P0319" // 특정기호
  33. ,"P0155" // 청구구분
  34. ,"P0430" // 청구완료여부(명세서상태)
  35. ),
  36. new Array("/root/init/P0008list"
  37. ,"/root/init/P0010list"
  38. ,"/root/init/P0151list"
  39. ,"/root/init/P0291list"
  40. ,"/root/init/P0319list"
  41. ,"/root/init/P0155list"
  42. ,"/root/init/P0430list"
  43. ),
  44. false ); // minimum을 'false'로 설정한 경우에는 코드의 모든속성을 가져온다.
  45. pamfGetCodeList(new Array("P0201"), new Array("/root/init/P0201sublist"));
  46. pamfGetCodeList(new Array("PK032"), new Array("/root/init/PK032list"));
  47. model.setValue("/root/hidden/item_all/clamym", gCurrentym);
  48. model.setValue("/root/hidden/item_all/ioflag", "I");
  49. model.setValue("/root/hidden/item_all/judgid", gUserid );
  50. //---------------------------------------------------------------------------------------------
  51. // 환경저장 조회부분(환경저장된 컬럼 ref순서대로 colMove시킨다.
  52. //---------------------------------------------------------------------------------------------
  53. model.setValue("/root/send/listval/uuee/scrnid", "SMPID20200"); // SMPID20200_입원사후심사대상자조회
  54. // 심사자, 보조유형, 진료의사, 청구과, 진료과, 심사자유무정보 조회
  55. submit("TRPID20201");
  56. model.removeNodeset("/root/init/judgrid");
  57. model.removeNodeset("/root/init/suppkind");
  58. model.removeNodeset("/root/init/orddrid");
  59. model.removeNodeset("/root/init/orddrid2");
  60. model.removeNodeset("/root/init/clamdept");
  61. model.removeNodeset("/root/init/orddeptcd");
  62. model.removeNodeset("/root/init/orddeptcd2");
  63. model.removeNodeset("root/init/item3");
  64. model.removeNodeset("root/init/clamdg");
  65. model.removeNodeset("/root/init/listval");
  66. model.makeNode("/root/init/judgrid");
  67. model.makeNode("/root/init/suppkind");
  68. model.makeNode("/root/init/orddrid");
  69. model.makeNode("/root/init/orddrid2");
  70. model.makeNode("/root/init/clamdept");
  71. model.makeNode("/root/init/orddeptcd");
  72. model.makeNode("/root/init/orddeptcd2");
  73. model.makeNode("root/init/item3");
  74. model.makeNode("root/init/clamdg");
  75. model.makeNode("root/init/listval");
  76. //----------------------------------------------
  77. // 20100222 일반의 조회 때문에 추가
  78. //----------------------------------------------
  79. model.removeNodeset("/root/init/tmporddrid/orddrid");
  80. model.makeValue("/root/init/tmporddrid/orddrid/orddridlist/cd","PAM99999");
  81. model.makeValue("/root/init/tmporddrid/orddrid/orddridlist/nm","일반의(과별)");
  82. model.makeValue("/root/init/tmporddrid/orddrid/orddridlist/dp","-");
  83. copyNodeType("/root/init/tmp/orddrid","/root/init/tmporddrid/orddrid","before");
  84. //----------------------------------------------
  85. //----------------------------------------------
  86. // 20100222 진료과선택시 전체의사 때문에 추가
  87. //----------------------------------------------
  88. model.removeNodeset("/root/init/tmporddrid/orddrid");
  89. model.makeValue("/root/init/tmporddrid/orddrid/orddridlist/cd","");
  90. model.makeValue("/root/init/tmporddrid/orddrid/orddridlist/nm","");
  91. model.makeValue("/root/init/tmporddrid/orddrid/orddridlist/dp","-");
  92. copyNodeType("/root/init/tmp/orddrid","/root/init/tmporddrid/orddrid","before");
  93. //----------------------------------------------
  94. model.copyNode("/root/init/judgrid", "/root/init/tmp/judgrid");
  95. model.copyNode("/root/init/suppkind", "/root/init/tmp/suppkind");
  96. model.copyNode("/root/init/orddrid", "/root/init/tmp/orddrid");
  97. model.copyNode("/root/init/orddrid2", "/root/init/tmp/orddrid2");
  98. model.copyNode("/root/init/clamdept", "/root/init/tmp/clamdept");
  99. model.copyNode("/root/init/orddeptcd", "/root/init/tmp/orddeptcd");
  100. model.copyNode("/root/init/orddeptcd2", "/root/init/tmp/orddeptcd2");
  101. model.copyNode("root/init/item3", "root/init/tmp/item3");
  102. model.copyNode("root/init/clamdg", "root/init/tmp/clamdg");
  103. model.copyNode("root/init/listval", "root/init/tmp/listval");
  104. model.removeNodeset("/root/init/tmp/judgrid");
  105. model.removeNodeset("/root/init/tmp/suppkind");
  106. model.removeNodeset("/root/init/tmp/orddrid");
  107. model.removeNodeset("/root/init/tmp/orddrid2");
  108. model.removeNodeset("/root/init/tmp/clamdept");
  109. model.removeNodeset("/root/init/tmp/orddeptcd");
  110. model.removeNodeset("/root/init/tmp/orddeptcd2");
  111. model.removeNodeset("root/init/tmp/item3");
  112. model.removeNodeset("root/init/tmp/clamdg");
  113. model.removeNodeset("root/init/tmp/listval");
  114. //-----------------------------------------------------------------------
  115. // 20100420 환경저장 조회부분 처리전 로딩상태 저장 (환경초기화에서 사용)
  116. //-----------------------------------------------------------------------
  117. // 대상자 리스트
  118. var clbsmast_obj = document.controls.item("grd_clbsmast");
  119. for (var i = 0; i < clbsmast_obj.cols; i++) {
  120. var refval = clbsmast_obj.colAttribute(i, "ref");
  121. gClbsmast_refdata += refval + "^";
  122. var sizeval = clbsmast_obj.colWidth(i);
  123. gClbsmast_sizedata += sizeval + "^";
  124. }
  125. gClbsmast_refdata = gClbsmast_refdata.substring(0, gClbsmast_refdata.length-1);
  126. gClbsmast_sizedata = gClbsmast_sizedata.substring(0, gClbsmast_sizedata.length-1);
  127. //-----------------------------------------------------------------------
  128. var compsnm = model.getValue("/root/init/listval/uuee/compsnm");
  129. if (compsnm) { // Grid ID 정보
  130. // setOrderInfoOfCol("grd_clodhist");
  131. var refdata = model.getValue("/root/init/listval/uuee/compscnts"); // Grid의 칼럼명
  132. var sizedata = model.getValue("/root/init/listval/uuee/compssizecnts"); // Grid의 칼럼Size
  133. var grdobj = document.controls.item(compsnm);
  134. var refarr = refdata.split("^");
  135. var sizearr = sizedata.split("^");
  136. var colcnt = "";
  137. var size = "";
  138. for(var i = 0; i < refarr.length; i++) {
  139. colcnt = grdobj.colref("" + refarr[i] + "");
  140. if (i != colcnt) {
  141. grdobj.colMove(i, colcnt, "before",false);
  142. }
  143. size = sizearr[i];
  144. grdobj.colWidth(i) = eval(size);
  145. }
  146. grdobj.refresh()
  147. var caption = ""
  148. for( var i = 1; i < grdobj.cols ; i++ ){
  149. if (caption == "") {
  150. caption = grdobj.textMatrix(0,i);
  151. } else {
  152. caption += "^" + grdobj.textMatrix(0,i);
  153. }
  154. }
  155. grdobj.caption = caption;
  156. }
  157. var patunitsrch1 = model.getValue("/root/send/item1/patunitsrch1");
  158. // main / send / hidden 데이터를 초기화한다.
  159. fInitSrchData();
  160. model.setValue("/root/send/item1/patunitsrch1", patunitsrch1);
  161. // 사후심사 화면에서 등록번호를 입력하고 Enter 친 경우 해당 환자를 조회하여 보여준다.
  162. //var patunitsrch1 = model.getValue("/root/send/item1/patunitsrch1");
  163. if (patunitsrch1) { // 대상자 화면을 취소하고 닫은 후 다시 열때 기존에 심사하던 환자 정보로 다시 조회하지 않도록
  164. fSetPatUnitSrch1pidSrch();
  165. }
  166. //model.refresh(); // refresh() 하지 않은 경우 공통코드가 combo 에 매칭되어 표시되지 않음
  167. // 로그인심사자ID Default Setting
  168. // 2011.01.17 경북대김순애샘요청으로 막음. 진료과로 심사하신다고함
  169. /*
  170. if ( model.getValue("/root/init/item3/judgidyn") == "Y" ) {
  171. model.setValue("/root/send/item1/judgrid", gUserid );
  172. } else {
  173. model.setValue("/root/send/item1/judgrid", "" );
  174. }
  175. */
  176. // 청구차수조회위한 청구월, 내원구분셋팅
  177. model.setValue("/root/send/item1/clamym", gCurrentym);
  178. model.setValue("/root/send/item1/ioflag", "I");
  179. cmb_judgrid.refresh();
  180. cmb_clamdg.select(0);
  181. cmb_srchcnt.select(0);
  182. // 심사상태 '미심사(A)'로 Default Setting
  183. cmb_judgendyn.select(4);
  184. // 삭감처방 조회기준 초기화
  185. radio2.disabled = false;
  186. model.setValue("/root/send/item1/cutviewyn", "Y");
  187. model.setValue("/root/send/item1/cutprcpsel", "1");
  188. model.refresh(); // refresh() 하지 않은 경우 공통코드가 combo 에 매칭되어 표시되지 않음
  189. }
  190. // [SPPIZ00400_상병코드조회.xrw 에서 호출] 상병코드조회 팝업에서 선택한 상병을 상병 그리드에 반영
  191. function fSetDiagCdNm() {
  192. var diagcd = model.getValue("/root/hidden/sppiz00400/rslt/diagcd");
  193. if (diagcd) {
  194. model.setValue("/root/send/item1/diagcdfr", diagcd);
  195. model.setValue("/root/send/item1/diagcdto", diagcd);
  196. model.refreshpart("/root/send/item1/diagcdfr");
  197. model.refreshpart("/root/send/item1/diagcdto");
  198. }
  199. }
  200. // 수가명칭조회
  201. function fGetSnglcalcscorcd() {
  202. //-----------------------------------------------------------------------
  203. // SMPIC00200_수가조회 parameter setting
  204. //-----------------------------------------------------------------------
  205. // 1. 기준일자 : 처방시작일
  206. var ordfromdd = model.getValue("/root/main/item1/clbs/insukindcd");
  207. if (ordfromdd) {
  208. model.setValue("/root/hidden/smpic00200/judgsrch/con1_dd", ordfromdd);
  209. }
  210. // 2.그룹싱글구분 (G, S)
  211. model.setValue("/root/hidden/smpic00200/judgsrch/con2_gsflag", "S");
  212. // 3. 검색구분 (수가코드:calcscorcd, EDI코드:edicd, 한글명:hngnm)
  213. model.setValue("/root/hidden/smpic00200/judgsrch/con3_search1", "hngnm");
  214. // 4. 검색명
  215. model.setValue("/root/hidden/smpic00200/judgsrch/con4_search2", "");
  216. // 5. 보험유형
  217. var insukindcd = model.getValue("/root/main/item1/clbs/insukindcd");
  218. if (insukindcd == "11") {
  219. model.setValue("/root/hidden/smpic00200/judgsrch/con5_insu", "insu");
  220. }
  221. else if (insukindcd == "21" || insukindcd == "22") {
  222. model.setValue("/root/hidden/smpic00200/judgsrch/con5_insu", "proc");
  223. }
  224. else if (insukindcd == "31") {
  225. model.setValue("/root/hidden/smpic00200/judgsrch/con5_insu", "autm");
  226. }
  227. else if (insukindcd == "41") {
  228. model.setValue("/root/hidden/smpic00200/judgsrch/con5_insu", "indus");
  229. } else {
  230. model.setValue("/root/hidden/smpic00200/judgsrch/con5_insu", "insu");
  231. }
  232. model.removeNodeset("/root/hidden/smpic00200/rslt/mech"); // SMPIC00200_수가조회 에서 선택된 결과가 copyNode되는 경로임
  233. model.removeNodeset("/root/hidden/smpic00200/rslt/picmmech"); // SMPIC00200_수가조회 에서 선택된 결과가 copyNode되는 경로임
  234. modal("SMPIC00200", "1", "10", "10", "SMPIC00200", "root/hidden/smpic00200", "/root/temp", "", ""); // SMPIC00200_수가조회.xrw
  235. var mechSelect = instance1.selectSingleNode("/root/temp/mech");
  236. if (mechSelect == null) { // 선택한 코드가 없는 경우
  237. messageBox("수가조회 화면에서 선택한 결과가", "I004"); ///수가조회 화면에서 선택한 결과가 없습니다.
  238. return;
  239. }
  240. // SMPIC00200_수가조회 화면에서 보낸 결과 값에 대한 처리
  241. model.makeNode("/root/hidden/smpic00200/rslt/mech");
  242. model.makeNode("/root/hidden/smpic00200/rslt/picmmech");
  243. model.copyNode("/root/hidden/smpic00200/rslt/mech", "/root/temp/mech");
  244. model.copyNode("/root/hidden/smpic00200/rslt/picmmech", "/root/temp/picmmech");
  245. model.removeNodeset("/root/temp"); // SMPIC00200_수가조회 에서 선택된 결과가 직접 전달되는 경로임
  246. if (model.getValue("/root/hidden/smpic00200/rslt/mech/ordinptflag") != "A") { // 처방입력구분(코드군 P0141) A: 가능
  247. messageBox("처방이 불가한 코드", "E008"); ///처방이 불가한 코드입니다.
  248. return;
  249. }
  250. if (model.getValue("/root/hidden/smpic00200/rslt/mech/grupsnglflag") != "S") { // 그룹코드인 경우의 그룹코드에 속하는 싱글코드를 조회함.
  251. model.setValue("/root/send/item1/choicdsrch2", model.getValue("/root/hidden/smpic00200/rslt/mech/calcscorcd"));
  252. } else { // 싱글코드를 선택했을 때
  253. model.setValue("/root/send/item1/choicdsrch2", model.getValue("/root/hidden/smpic00200/rslt/picmmech/picmmech_calcscorcd"));
  254. }
  255. model.setValue("/root/send/item1/choicdsrch1", "3");
  256. rdo_mchrgcode.refresh();
  257. ipt_choicdsrch.refresh();
  258. }
  259. // main / send / hidden 데이터를 초기화한다.
  260. function fInitSrchData() {
  261. // grid를 인스턴스에 mapping후 인스턴스에 해당하는 빈줄 1줄이 생기므로 grid 초기화
  262. model.removeNodeset("/root/main/list1/clbs");
  263. // 청구과, 주치의 비활성화
  264. cmb_clamdeptcd.disabled = false;
  265. // 전체 청구과를 표시한다.
  266. cmb_clamdeptcd.choices.itemset.attribute("nodeset") = "/root/init/clamdept/clamdeptlist";
  267. // 전체 진료과를 표시한다.
  268. cmb_orddeptcd.choices.itemset.attribute("nodeset") = "/root/init/orddeptcd/orddeptcdlist";
  269. cmb_orddrid.disabled = true;
  270. cmb_suppkind.choices.itemset.attribute("nodeset") = "/root/init/P0010list/P0010";
  271. model.resetInstanceNode("/root/send");
  272. model.resetInstanceNode("/root/hidden");
  273. // 오늘날짜로 청구년월을 표시한다.
  274. fSetClamym();
  275. // 조회 조건을 초기화한다.
  276. model.setValue("/root/send/item1/cmbtotordamt", "3"); // 3: 원이상
  277. model.setValue("/root/send/item1/cmbownbamt", "3"); // 3: 원이상
  278. model.setValue("/root/send/item1/choicdsrch1", "4"); // 4: EDI
  279. //ipt_choicdsrch.attribute("_chartype") = "upper"; // (tfHelper.js) 대문자로 입력을 제한한다.
  280. model.setValue("/root/send/item1/patmode", "1"); // 환자번호로 검색
  281. model.setValue("/root/send/item1/ioflag", "I");
  282. // 대상자 Grid의 메모 필드의 Btn 클릭시 보여지는 메모 저장용 Group을 감춘다.
  283. grp_judgmemo.visible = false;
  284. }
  285. // 청구일자 표시 함수
  286. function fSetClamym() {
  287. var today = new Date();
  288. var baseyear = today.getDateFormat("YYYY"); // (dateHelper.js)에서 제공하는 함수를 사용하여 해당 년를 구한다.
  289. var basemonth = today.getDateFormat("MM");
  290. var baseday = today.getDateFormat("DD");
  291. var currentym = baseyear + basemonth;
  292. var currentdd = baseyear + basemonth + baseday;
  293. model.setValue("/root/send/item1/clamym", currentym);
  294. model.setValue("/root/send/item1/clamdg", "");
  295. model.setValue("/root/hidden/clbs/basedd", currentdd);
  296. }
  297. // 화면 권한을 설정한다.
  298. function fCheckAuth() {
  299. if (!isPopup()) { // (common.js) 자신이 팝업인지 아닌지를 리턴한다.
  300. model.setValue("properties/auth", "10100000"); // (RXP)팝업이 아닌 경우 처리권한을 부여하지 않는다.
  301. }
  302. var pAuth = !checkAuth("P"); // 출력권한(보고서 출력, 엑셀 내려받기 등)
  303. btn_excelsave.disabled = pAuth;
  304. btn_print.disabled = pAuth;
  305. var xAuth = !checkAuth("X"); // 처리권한(입력, 수정, 삭제 등)
  306. btn_confirm.disabled = xAuth;
  307. btn_cancel.disabled = xAuth;
  308. }
  309. // 조회 조건이 올바르게 입력되었는지 체크한다.
  310. function fCheckSrchCond(srchMode){
  311. // 환자단위조회를 하는 경우
  312. if (srchMode == "pidSrch") {
  313. var patunitsrch1 = model.getValue("/root/send/item1/patunitsrch1").getTrim(); // (stringHelper.js) 문자열 앞뒤에 있는 공백 제거
  314. var patmode = model.getValue("/root/send/item1/patmode"); // 환자조회시 번호로 할것인지 성명으로 할것인지 결정 - 20090810 박창원
  315. model.setValue("/root/send/item1/patunitsrch1", patunitsrch1);
  316. if (patunitsrch1 == "") {
  317. model.setValue("/root/send/item1/patunitsrch2", "");
  318. }
  319. // else if (patunitsrch1.isNumber()) { // (numericHelper.js) 숫자가 입력된 경우 환자번호로 조회한다.
  320. else if (patmode == "1") { // 환자번호로 조회한다.
  321. model.setValue("/root/send/item1/patunitsrch2", "pidSrch");
  322. } else { // 문자가 입력된 경우 환자이름으로 조회한다.
  323. if (patunitsrch1.length > 1) {
  324. model.setValue("/root/send/item1/patunitsrch2", "nmSrch");
  325. } else {
  326. messageBox("환자단위조회시 검색할 환자이름은 2글자 이상", "C001"); ///환자단위조회시 검색할 환자이름은 2글자 이상 입력하십시오.
  327. model.setFocus("ipt_patunitsrch");
  328. model.setValue("/root/send/item1/patunitsrch2", "");
  329. return false;
  330. }
  331. }
  332. }
  333. //명세서별로 조회하는 경우
  334. else if (srchMode == "docuSrch") {
  335. // 명번호 범위를 확인한다.
  336. var docuseqno1 = model.getValue("/root/send/item1/docuseqno1");
  337. var docuseqno2 = model.getValue("/root/send/item1/docuseqno2");
  338. if (docuseqno1 != "" && docuseqno2 != "") {
  339. if (docuseqno1 > docuseqno2) {
  340. messageBox("명번호 검색 시작번호가 끝번호 보다 클 수", "I004"); ///명번호 검색 시작번호가 끝번호 보다 클 수 없습니다.
  341. return false;
  342. }
  343. model.setValue("/root/send/item1/patunitsrch2", "docuSrch");
  344. return true;
  345. } else {
  346. messageBox("명번호를", "C001"); ///명번호를 입력하십시오!
  347. return false;
  348. }
  349. }
  350. // 환자단위조회를 하지 않는 경우
  351. else {
  352. model.setValue("/root/send/item1/patunitsrch2", "");
  353. // 명번호 범위를 확인한다.
  354. var docuseqno1 = model.getValue("/root/send/item1/docuseqno1");
  355. var docuseqno2 = model.getValue("/root/send/item1/docuseqno2");
  356. if (docuseqno1 != "" && docuseqno2 != "") {
  357. if (docuseqno1 > docuseqno2) {
  358. messageBox("명번호 검색 시작번호가 끝번호 보다 클 수", "I004"); ///명번호 검색 시작번호가 끝번호 보다 클 수 없습니다.
  359. return false;
  360. }
  361. }
  362. // 총진료비, 본인부담금 입력 범위를 확인한다.
  363. var totordamt = model.getValue("/root/send/item1/totordamt");
  364. if (totordamt) {
  365. if (totordamt > 2147483647) { // java.lang.NumberFormatException: For input string: "2147483648" 에러 발생함
  366. messageBox("입력 가능한 총진료비 범위를", "E003"); ///입력 가능한 총진료비 범위를 초과하였습니다.
  367. return false;
  368. }
  369. }
  370. var ownbamt = model.getValue("/root/send/item1/ownbamt");
  371. if (ownbamt) {
  372. if (ownbamt > 2147483647) { // java.lang.NumberFormatException: For input string: "2147483648" 에러 발생함
  373. messageBox("입력 가능한 본인부담금 범위를", "E003"); ///입력 가능한 본인부담금 범위를 초과하였습니다.
  374. return false;
  375. }
  376. }
  377. // 선별심사대상을 설정한다.
  378. var choicdsrch2 = model.getValue("/root/send/item1/choicdsrch2").getTrim();
  379. model.setValue("/root/send/item1/choicdsrch2", choicdsrch2);
  380. if (choicdsrch2 != "") {
  381. var choicdsrch1 = model.getValue("/root/send/item1/choicdsrch1");
  382. if (choicdsrch1 == "") {
  383. messageBox("선별심사 조건을 명칭, 수가, EDI 중에", "C002"); ///선별심사 조건을 명칭, 수가, EDI 중에 선택하십시오.
  384. return false;
  385. }
  386. else if (choicdsrch1 == "1") { // 명칭인 경우
  387. for (var i=0; i < choicdsrch2.length; i++) {
  388. if (choicdsrch2.charCodeAt(i) > 255) { // 한글이 들어오면 255보다 크다.
  389. model.setValue("/root/send/item1/choicdsrch1", "2"); // 2: 한글명
  390. }
  391. }
  392. } else { // 수가와 EDI 코드 검색의 경우 대문자로 조건값을 변환한다.
  393. model.setValue("/root/send/item1/choicdsrch2", choicdsrch2.toUpperCase());
  394. }
  395. }
  396. }
  397. return true;
  398. }
  399. // "조회" Btn 입원사후심사대상자 조회를 요청한다.
  400. function fGetInAftJudgTrgtManList(srchMode){
  401. grp_judgmemo.visible = false; // 대상자 Grid의 메모 필드의 Btn 클릭시 보여지는 메모 저장용 Group을 감춘다.
  402. model.removeNodeset("/root/main/list1/clbs");
  403. if (fCheckSrchCond(srchMode)) {
  404. // 조회버튼으로 조회 시 offset은 "0"으로 설정하고 submit() 을 수행한다.
  405. model.setValue("/root/send/item1/lastclamym", "");
  406. model.setValue("/root/send/item1/lastclamdg", "");
  407. model.setValue("/root/send/item1/lastjudgno", "");
  408. model.setValue("/root/send/item1/lastpid", "");
  409. model.setValue("/root/send/item1/lastpidsn", "");
  410. model.setValue("/root/send/item1/lastordcd", "");
  411. model.setValue("/root/send/item1/lastclamkey", "");
  412. model.setValue("/root/send/item1/lastedilnno", "");
  413. // 페이지 단위 조회시 기존 조회조건이 변경되었는지 체크한다.
  414. submit("TRPID20202");
  415. // 검색 결과를 표시한다.
  416. fSetSrchJudgTrgtMan();
  417. if (getOpenerUID()) { // (common.js) Opener의 UID를 리턴, Opener가 없으면 "" 리턴
  418. // 대상자 리스트에서 선택된 row를 초기화한다. (대상자조회 pre/next 에서 사용)
  419. model.resetInstanceNode(opener.root.hidden.smpid20200.rslt.selectedRow);
  420. }
  421. //model.refresh();
  422. grd_clbsmast.refresh();
  423. }
  424. }
  425. // 사후심사 화면에서 등록번호를 입력하고 Enter 친 경우 해당 환자를 조회하여 보여준다.
  426. function fSetPatUnitSrch1pidSrch(){
  427. var patunitsrch1 = opener.model.getValue("/root/hidden/smpid20200/cond/pid");
  428. if (patunitsrch1 != "") {
  429. model.removeNodeset("/root/main/list1/clbs");
  430. grp_judgmemo.visible = false; // 대상자 Grid의 메모 필드의 Btn 클릭시 보여지는 메모 저장용 Group을 감춘다.
  431. model.setValue("/root/send/item1/patunitsrch1", patunitsrch1);
  432. model.setValue("/root/send/item1/patunitsrch2", "pidSrch");
  433. // 조회버튼으로 조회 시 offset은 "0"으로 설정하고 submit() 을 수행한다.
  434. // model.setValue("/root/send/item1/offset", "0");
  435. model.setValue("/root/send/item1/lastclamym", "");
  436. model.setValue("/root/send/item1/lastclamdg", "");
  437. model.setValue("/root/send/item1/lastjudgno", "");
  438. model.setValue("/root/send/item1/lastpid", "");
  439. model.setValue("/root/send/item1/lastpidsn", "");
  440. model.setValue("/root/send/item1/lastordcd", "");
  441. model.setValue("/root/send/item1/lastclamkey", "");
  442. model.setValue("/root/send/item1/lastedilnno", "");
  443. // // 페이지 단위 조회시 기존 조회조건이 변경되었는지 체크한다.
  444. // model.copyNode("/root/hidden/item1", "/root/send/item1");
  445. submit("TRPID20202");
  446. // 검색 결과를 표시한다.
  447. fSetSrchJudgTrgtMan();
  448. model.setFocus("ipt_patunitsrch");
  449. model.setValue(opener.root.hidden.smpid20200.rslt.oldPid, patunitsrch1); // 현재 조회된 환자의 등록번호를 저장
  450. //model.refresh();
  451. grd_clbsmast.refresh();
  452. }
  453. }
  454. // 검색 결과를 표시한다.
  455. function fSetSrchJudgTrgtMan() {
  456. // 총건수와 기타 심사상태에 따른 cnt를 표시한다.
  457. fSetWorkStatCnt();
  458. // 한글명칭 검색시 Rdo에 선택이 표시되지 않으므로
  459. if (model.getValue("/root/send/item1/choicdsrch1") == "2") { // 2: 한글명
  460. model.setValue("/root/send/item1/choicdsrch1", "1");
  461. }
  462. var srchmode = model.getValue("/root/hidden/clbs/srchmode");
  463. if (srchmode == "specclbs") { // 선별심사 모드인 경우
  464. grd_clbsmast.colHidden(grd_clbsmast.colRef("ordcd")) = false;
  465. grd_clbsmast.colHidden(grd_clbsmast.colRef("ordnm")) = false;
  466. grd_clbsmast.colHidden(grd_clbsmast.colRef("payflag")) = false;
  467. grd_clbsmast.colHidden(grd_clbsmast.colRef("drugqtytims")) = false;
  468. grd_clbsmast.colHidden(grd_clbsmast.colRef("dayno")) = false;
  469. grd_clbsmast.colHidden(grd_clbsmast.colRef("orddt")) = false;
  470. grd_clbsmast.colHidden(grd_clbsmast.colRef("execdt")) = false;
  471. cap_judgtrgtman.text = "선별심사 대상자";
  472. } else {
  473. grd_clbsmast.colHidden(grd_clbsmast.colRef("ordcd")) = true;
  474. grd_clbsmast.colHidden(grd_clbsmast.colRef("ordnm")) = true;
  475. grd_clbsmast.colHidden(grd_clbsmast.colRef("payflag")) = true;
  476. grd_clbsmast.colHidden(grd_clbsmast.colRef("drugqtytims")) = true;
  477. grd_clbsmast.colHidden(grd_clbsmast.colRef("dayno")) = true;
  478. grd_clbsmast.colHidden(grd_clbsmast.colRef("orddt")) = true;
  479. grd_clbsmast.colHidden(grd_clbsmast.colRef("execdt")) = true;
  480. cap_judgtrgtman.text = "사후심사 대상자";
  481. }
  482. var clbsList = instance1.selectSingleNode("/root/main/list1/clbs");
  483. if (clbsList == null) { // 조회된 대상자가 없는 경우
  484. model.setValue("/root/send/item1/lastclamym", "");
  485. model.setValue("/root/send/item1/lastclamdg", "");
  486. model.setValue("/root/send/item1/lastjudgno", "");
  487. model.setValue("/root/send/item1/lastpid", "");
  488. model.setValue("/root/send/item1/lastpidsn", "");
  489. model.setValue("/root/send/item1/lastordcd", "");
  490. model.setValue("/root/send/item1/lastclamkey", "");
  491. model.setValue("/root/send/item1/lastedilnno", "");
  492. // 페이지 단위 조회시 기존 조회조건이 변경되었는지 체크한다.
  493. model.copyNode("/root/hidden/item1", "/root/send/item1");
  494. messageBox("검색된 심사대상자가", "I004"); ///검색된 심사대상자가 없습니다.
  495. return;
  496. }
  497. var row = grd_clbsmast.rows - 1;
  498. model.setValue("/root/send/item1/lastclamym", model.getValue("/root/main/list1/clbs["+ row +"]/clamym"));
  499. model.setValue("/root/send/item1/lastclamdg", model.getValue("/root/main/list1/clbs["+ row +"]/clamdg"));
  500. model.setValue("/root/send/item1/lastjudgno", model.getValue("/root/main/list1/clbs["+ row +"]/judgno"));
  501. model.setValue("/root/send/item1/lastpid", model.getValue("/root/main/list1/clbs["+ row +"]/pid"));
  502. model.setValue("/root/send/item1/lastpidsn", model.getValue("/root/main/list1/clbs["+ row +"]/pidsn"));
  503. model.setValue("/root/send/item1/lastordcd", model.getValue("/root/main/list1/clbs["+ row +"]/ordcd"));
  504. model.setValue("/root/send/item1/lastclamkey", model.getValue("/root/main/list1/clbs["+ row +"]/clamkey"));
  505. model.setValue("/root/send/item1/lastedilnno", model.getValue("/root/main/list1/clbs["+ row +"]/edilnno"));
  506. // 페이지 단위 조회시 기존 조회조건이 변경되었는지 체크한다.
  507. model.copyNode("/root/hidden/item1", "/root/send/item1");
  508. /*
  509. // 2008-11-10 선별심사 색구분 제회요청(윤영옥선생님)
  510. clbsList = instance1.selectSingleNode("/root/main/list1"); //root/main/list1
  511. var clbsNode = clbsList.childNodes; //root/main/list1/clbs
  512. for (var i = 1; i <= clbsNode.length; i++) { // 조회된 대상자 만큼 돌면서
  513. // 선별심사 처방 색깔 구분
  514. var spcljudgyn = model.getValue("/root/main/list1/clbs["+ i +"]/spcljudgyn");
  515. if (spcljudgyn == "Y") {
  516. grd_clbsmast.rowStyle(i, "data", "color") = "#ff3333";
  517. } else {
  518. grd_clbsmast.rowStyle(i, "data", "color") = "#000000";
  519. }
  520. }
  521. */
  522. var cutprcp = model.getValue("/root/send/item1/cutprcp");
  523. if(cutprcp == "Y"){
  524. //삭감처방은 GREEN색으로 색구분--2009-11-26
  525. var clbsNode = clbsList.childNodes;
  526. for (var i = 1; i <= clbsNode.length; i++) { // 조회된 대상자 만큼 돌면서
  527. // 선별심사 처방 색깔 구분
  528. var cutprcpyn = model.getValue("/root/main/list1/clbs["+ i +"]/cutprcpyn");
  529. if (cutprcpyn == "Y") {
  530. grd_clbsmast.rowStyle(i, "data", "background-color") = "#99cc00";
  531. } else {
  532. grd_clbsmast.rowStyle(i, "data", "background-color") = "#ffffff";
  533. }
  534. }
  535. }
  536. }
  537. // 총건수와 기타 심사상태에 따른 cnt를 표시한다.
  538. function fSetWorkStatCnt(){
  539. var srchmode = "clbsmast";
  540. if (model.getValue("/root/send/item1/patunitsrch1") == "" && model.getValue("/root/send/item1/choicdsrch2")) {
  541. srchmode = "specclbs";
  542. }
  543. model.setValue("/root/hidden/clbs/srchmode", srchmode);
  544. model.setValue("/root/hidden/clbs/totcnt", instance1.getXPathString("count(/root/main/list1/clbs)")); // 총건수
  545. model.setValue("/root/hidden/clbs/endcnt", instance1.getXPathString("count(/root/main/list1/clbs[judgendyn='C' or judgendyn='E' or judgendyn='Z'])")); // 완료
  546. model.setValue("/root/hidden/clbs/unjudgcnt", instance1.getXPathString("count(/root/main/list1/clbs[judgendyn='A'])")); // 미심사
  547. model.setValue("/root/hidden/clbs/retecnt", instance1.getXPathString("count(/root/main/list1/clbs[judgendyn='N'])")); // 보류
  548. model.setValue("/root/hidden/clbs/delcnt", instance1.getXPathString("count(/root/main/list1/clbs[judgendyn='D'])")); // 삭제
  549. model.setValue("/root/hidden/clbs/autodelcnt", instance1.getXPathString("count(/root/main/list1/clbs[judgendyn='R'])")); // 자동삭제
  550. model.setValue("/root/hidden/clbs/judgprcscnt", instance1.getXPathString("count(/root/main/list1/clbs[judgendyn='B'])")); // 심사중
  551. model.setValue("/root/hidden/clbs/rptclamcnt", instance1.getXPathString("count(/root/main/list1/clbs[retdocuyn='Y'])")); // 반송불능여부
  552. if (srchmode == "specclbs") { // 선별심사 모드인 경우
  553. var totCnt = 0;
  554. var cntE = 0; // 완료
  555. var cntA = 0; // 미심사
  556. var cntM = 0; // 보류
  557. var cntD = 0; // 삭제
  558. var cntR = 0; // 자동삭제
  559. var cntB = 0; // 심사중
  560. var cntJ = 0; // 반송불능여부
  561. for (var i = 1; i < grd_clbsmast.rows; i++) {
  562. var curclamkey = model.getValue("/root/main/list1/clbs["+ i +"]/clamkey");
  563. var dupl = false;
  564. for (var j = (i-1); j >= 1; j--) {
  565. var preclamkey = model.getValue("/root/main/list1/clbs["+ j +"]/clamkey");
  566. if (curclamkey == preclamkey) {
  567. dupl = true;
  568. }
  569. }
  570. if (dupl == false) {
  571. var judgendyn = model.getValue("/root/main/list1/clbs["+ i +"]/judgendyn");
  572. if (judgendyn == "A") { // 미심사
  573. cntA++;
  574. }
  575. else if (judgendyn == "B") { // 심사중
  576. cntB++;
  577. }
  578. else if (judgendyn == "D") { // 삭제
  579. cntD++;
  580. }
  581. else if (judgendyn == "R") { // 자동삭제
  582. cntR++;
  583. }
  584. else if (judgendyn == "N") { // 보류
  585. cntM++;
  586. }
  587. else if (judgendyn == "C" || judgendyn == "E" || judgendyn == "Z") { // 완료
  588. cntE++;
  589. }
  590. var retdocuyn = model.getValue("/root/main/list1/clbs["+ i +"]/retdocuyn");
  591. if (retdocuyn == "Y") { // 반송불능여부
  592. cntJ++;
  593. }
  594. totCnt++;
  595. }
  596. }
  597. model.setValue("/root/hidden/clbs/totcnt", totCnt); // 총건수
  598. model.setValue("/root/hidden/clbs/endcnt", cntE); // 완료
  599. model.setValue("/root/hidden/clbs/unjudgcnt", cntA); // 미심사
  600. model.setValue("/root/hidden/clbs/retecnt", cntM); // 보류
  601. model.setValue("/root/hidden/clbs/autodelcnt", cntD); // 자동삭제
  602. model.setValue("/root/hidden/clbs/delcnt", cntD); // 삭제
  603. model.setValue("/root/hidden/clbs/judgprcscnt", cntB); // 심사중
  604. model.setValue("/root/hidden/clbs/rptclamcnt", cntJ); // 반송불능여부
  605. }
  606. model.refreshpart("/root/hidden/clbs/totcnt"); // 총건수
  607. model.refreshpart("/root/hidden/clbs/endcnt"); // 완료
  608. model.refreshpart("/root/hidden/clbs/unjudgcnt"); // 미심사
  609. model.refreshpart("/root/hidden/clbs/retecnt"); // 보류
  610. model.refreshpart("/root/hidden/clbs/delcnt"); // 삭제
  611. model.refreshpart("/root/hidden/clbs/autodelcnt"); // 자동삭제
  612. model.refreshpart("/root/hidden/clbs/judgprcscnt"); // 심사중
  613. model.refreshpart("/root/hidden/clbs/rptclamcnt"); // 반송불능여부
  614. }
  615. // 심사중해제
  616. function fSetJudgEndYN() {
  617. model.removeNodeset("/root/send/list1");
  618. var cnt = 0;
  619. var judgendyn = model.getValue("/root/hidden/item1/judgendyn");
  620. // 심사상태 "심사중"을 조건으로 조회하여 "심사중 해제"를 요청한 경우에는
  621. // 대상자를 개별 선택할 필요가 없이 조회된 모든 대상자가 해제되도록 기능 부여
  622. if (judgendyn == "B") {
  623. if (grd_clbsmast.rows > 1) { // 조회된 모든 심사중 대상자를 해제한다.
  624. for (var i = 1; i < grd_clbsmast.rows; i++) {
  625. var clamym = model.getValue("/root/main/list1/clbs[" + i + "]/clamym");
  626. var clamdg = model.getValue("/root/main/list1/clbs[" + i + "]/clamdg");
  627. var pid = model.getValue("/root/main/list1/clbs[" + i + "]/pid");
  628. var pidsn = model.getValue("/root/main/list1/clbs[" + i + "]/pidsn");
  629. // 20100120 완료상태일 경우도 심사중해제될수 있어 상태체크 조건 추가
  630. if ( model.getValue("/root/main/list1/clbs[" + i + "]/judgendyn") == "B" ) {
  631. cnt++;
  632. model.makeValue("/root/send/list1/endclbs[" + cnt + "]/clamym", clamym);
  633. model.makeValue("/root/send/list1/endclbs[" + cnt + "]/clamdg", clamdg);
  634. model.makeValue("/root/send/list1/endclbs[" + cnt + "]/pid", pid);
  635. model.makeValue("/root/send/list1/endclbs[" + cnt + "]/pidsn", pidsn);
  636. model.makeValue("/root/send/list1/endclbs[" + cnt + "]/judgendyn", "A"); // A: 미심사
  637. }
  638. }
  639. if ( cnt > 0 ) {
  640. var ans = messageBox("조회된 모든 심사중 상태 " + cnt + "건을 해제", "S001"); /// 조회된 모든 심사중 상태 *건을 해제 하시려면 예(Yes)\n아니면 아니오(No)
  641. if (ans == 6) { // return : yes=6, no=7
  642. submit("TXPID20302");
  643. if (ipt_patunitsrch.currentText.length > 1) {
  644. fGetInAftJudgTrgtManList("pidSrch");
  645. } else {
  646. fGetInAftJudgTrgtManList();
  647. }
  648. }
  649. }
  650. } else { // 조회된 대상자가 없는 경우임
  651. messageBox("심사중 해제 할 대상자를 조회", "I008"); /// 심사중 해제 할 대상자를 조회 하십시오.
  652. }
  653. return;
  654. }
  655. else {
  656. if (grd_clbsmast.selectedRows == 0) {
  657. messageBox("심사중 해제를 할 대상자를", "C002"); /// 심사중 해제를 할 대상자를 선택하십시오.
  658. return;
  659. }
  660. // 선택된 모든 대상자의 심사중 상태를 해제한다.
  661. for (var i = 0; i < grd_clbsmast.selectedRows; i++) {
  662. var row = grd_clbsmast.selectedrow(i);
  663. var sel_clamym = model.getValue("/root/main/list1/clbs[" + row + "]/clamym");
  664. var sel_clamdg = model.getValue("/root/main/list1/clbs[" + row + "]/clamdg");
  665. var sel_pid = model.getValue("/root/main/list1/clbs[" + row + "]/pid");
  666. var sel_pidsn = model.getValue("/root/main/list1/clbs[" + row + "]/pidsn");
  667. var sel_judgendyn = model.getValue("/root/main/list1/clbs[" + row + "]/judgendyn");
  668. if (sel_judgendyn == "B") { // 심사중 상태인 경우
  669. cnt++;
  670. model.makeValue("/root/send/list1/endclbs[" + cnt + "]/clamym", sel_clamym);
  671. model.makeValue("/root/send/list1/endclbs[" + cnt + "]/clamdg", sel_clamdg);
  672. model.makeValue("/root/send/list1/endclbs[" + cnt + "]/pid", sel_pid);
  673. model.makeValue("/root/send/list1/endclbs[" + cnt + "]/pidsn", sel_pidsn);
  674. model.makeValue("/root/send/list1/endclbs[" + cnt + "]/judgendyn", "A"); // A: 미심사
  675. }
  676. }
  677. if (cnt > 0) {
  678. var ans = messageBox(cnt + "건을 심사중 해제", "S001"); /// *건을 심사중 해제 하시려면 예(Yes)\n아니면 아니오(No)
  679. if (ans == 6) { // return : yes=6, no=7
  680. submit("TXPID20302");
  681. fGetInAftJudgTrgtManList();
  682. }
  683. } else {
  684. messageBox("선택된 대상자 중 심사중 상태의 대상자가", "I004"); /// 선택된 대상자 중 심사중 상태의 대상자가 없습니다.
  685. }
  686. }
  687. }
  688. //------------------------------------------------------------
  689. // 진료정보조회 : SMMMO02500_환자진료정보.xrw
  690. //------------------------------------------------------------
  691. function fGetEmrInformation() {
  692. var row = grd_clbsmast.row
  693. fOpenSMMMO02500_1(model.getValue("/root/main/list1/clbs[" + row + "]/pid")); // SMMMO02500_환자진료정보.xrw
  694. }
  695. //------------------------------------------------------------
  696. // EMR - 통합기록전체조회
  697. //------------------------------------------------------------
  698. function fGetAllEmrInformation() {
  699. var row = grd_clbsmast.row
  700. fOpenSMMRI00400(model.getValue("/root/main/list1/clbs[" + row + "]/pid"));
  701. }
  702. function responseHandlerTRPID20202() {
  703. // 서버에서 전달된 결과를 instance에 맵핑
  704. //defualtResponseHandler(submitUUID, response, responseType);
  705. copyNodeType("/root/main/list1","/root/hidden/list1","after");
  706. model.removeNodeset("/root/hidden/list1/clbs");
  707. fSetSrchJudgTrgtMan();
  708. btn_nextpage.attribute("visibility") = "visible";
  709. model.refresh();
  710. //
  711. }
  712. function setPopupRefresh(pid) {
  713. var sChildSMMRI00400 = findChildWindowByScreenID("SMMRI00400");
  714. if (sChildSMMRI00400 != null) {
  715. var wndobj = getOpenWindow("SMMRI00400");
  716. if(wndobj != null)
  717. {
  718. setParameter("SMMRI00400_param_pid", pid);
  719. // 초기화함수 호출
  720. wndobj.javascript.fInitalize();
  721. }
  722. }
  723. var sChildSMPPI00700 = findChildWindowByScreenID("SMPPI00700");
  724. if (sChildSMPPI00700 != null) {
  725. var wndobj = getOpenWindow("SMPPI00700");
  726. if(wndobj != null)
  727. {
  728. fGetDurginfo(wndobj);
  729. }
  730. }
  731. var sChildSMAER00800 = findChildWindowByScreenID("SMAER00800");
  732. if (sChildSMAER00800 != null) {
  733. var wndobj = getOpenWindow("SMAER00800");
  734. if(wndobj != null)
  735. {
  736. wndobj.javascript.model.makeValue("/root/send/data/singdata/srchdate1", model.getValue("/root/main/list1/clbs[" + grd_clbsmast.row + "]/indd"));
  737. wndobj.javascript.model.makeValue("/root/send/data/singdata/srchpid", pid);
  738. wndobj.javascript.model.makeValue("/root/send/data/singdata/orddeptcd", model.getValue("/root/main/list1/clbs[" + grd_clbsmast.row + "]/orddeptcd"));
  739. wndobj.javascript.model.refresh();
  740. wndobj.javascript.model.dispatch("xforms-ready");
  741. }
  742. }
  743. }
  744. //약제누적팝업
  745. function fGetDurginfo(wndobj) {
  746. var srchmode = model.getValue("/root/hidden/clbs/srchmode");
  747. if (srchmode == "specclbs") { // 선별심사 모드인 경우
  748. grd_specclbs.refresh()
  749. var cur_row = grd_specclbs.row;
  750. } else {
  751. var cur_row = grd_clbsmast.row;
  752. }
  753. var vpid = model.getValue("/root/main/list1/clbs[" + cur_row + "]/pid");
  754. var vhngnm = model.getValue("/root/main/list1/clbs[" + cur_row + "]/patnm");
  755. var vprcpdd = getCurrentDate();
  756. var vprcpcd = "";
  757. setParameter("pid", vpid);
  758. setParameter("hngnm", vhngnm);
  759. setParameter("prcpdd", vprcpdd);
  760. setParameter("prcpcd", vprcpcd);
  761. if (wndobj != null) {
  762. wndobj.javascript.fInitalize();
  763. } else {
  764. open("../../../pam/bfjudgcareweb/xrw/SMPPI00700_환자별약제누적관리", "1", "20", "80" ,"SMPPI00700_환자별약제누적관리", "", "");
  765. }
  766. }
  767. function fGetKDrgOpenPopup(){
  768. var srchmode = model.getValue("/root/hidden/clbs/srchmode");
  769. if (srchmode == "specclbs") { // 선별심사 모드인 경우
  770. grd_specclbs.refresh()
  771. var cur_row = grd_specclbs.row;
  772. } else {
  773. var cur_row = grd_clbsmast.row;
  774. }
  775. var pid = model.getValue("/root/main/list1/clbs[" + cur_row + "]/pid");
  776. var pidsn = model.getValue("/root/main/list1/clbs[" + cur_row + "]/pidsn");
  777. var clamdg = model.getValue("/root/main/list1/clbs[" + cur_row + "]/clamdg");
  778. var clamym = model.getValue("/root/main/list1/clbs[" + cur_row + "]/clamym");
  779. var ordrsltcd = model.getValue("/root/main/list1/clbs[" + cur_row + "]/ordrsltcd");
  780. setParameter("pid", pid);
  781. setParameter("pidsn", pidsn);
  782. setParameter("clamdg", clamdg);
  783. setParameter("clamym", clamym);
  784. setParameter("ordrsltcd", ordrsltcd);
  785. open("SPPID31000" ,"", "10", "10", "SPPID31000", "/root/hidden/SPPID31000/cond", "/root/send/data/drginfo", "", "");
  786. }