SMMMO04700.js 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506
  1. /*
  2. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  3. 환자검색 ( SMMMO04700_환자검색.xrw - JScript )
  4. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  5. */
  6. var sPATSRCHLIST_PATH = "/root/main/patsrchinfo/patsrchlist";
  7. var sORDERBY = "asc";
  8. /**
  9. * @desc : 화면 초기화
  10. * @
  11. * @param :
  12. * @return :
  13. * @author : 오지훈
  14. * @---------------------------------------------------
  15. */
  16. function fInitialize_SMMMO04700(){
  17. model.removeNodeset(sPATSRCHLIST_PATH);
  18. model.setValue("/root/main/cond/fromdd" ,((getCurrentDate().toDate()).getAddDate(-3,"M")).getDateFormat()); //시작일자는 3개월 전 LYJ (요청번호 1896번)
  19. model.setValue("/root/main/cond/todd" , getCurrentDate()); //종료일자는 현재일자
  20. var openflag = model.getValue(opener.root.list.srchpatlistflag);
  21. var reopenflag = model.getValue(opener.root.reopen.reopenflag); //진료대상자 리스트 open여부
  22. var chngcolflag= model.getValue(opener.root.chngcol.chngcolflag); //컬럼변경 여부
  23. if(openflag == "N"){
  24. zbcfGetCodeList(new Array("P0008"), new Array("/root/init/P0008")); //공통코드 보험유형 조회
  25. mmbfGetDeptCodeComboList("/root/send/reqdata", "/root/init/orddept" , "A"); //부서코드 콤보
  26. mmbfGetUserComboList("/root/send/reqdata" , "/root/init/userlist" , getUserInfo("dutplcecd"), "0330");
  27. addComboInstance("/root/init/orddept" , "deptcd^depthngnm", "-^전체", "dept"); //부서코드 콤보 전체 instance추가
  28. addComboInstance("/root/init/userlist", "userid^usernm", "-^전체" , "usercombo"); //의사콤보 전체 instance추가
  29. model.copyNode(opener.root.temp.srchpatlist , root.init);
  30. model.setValue(opener.root.list.srchpatlistflag, "Y");
  31. if(reopenflag != "Y"){ //다시 열린 경우가 아니면, 기본 조회 조건 설정
  32. model.setValue("/root/main/cond/orddeptcd", getUserInfo("dutplcecd"));
  33. model.setValue("/root/main/cond/orddrid" , getUserInfo("userid"));
  34. model.refresh();
  35. }else{ //다시 열린 경우, main에 ordtab의 condlist(화면이 닫힐때 설정된 정보)를 그대로 재설정
  36. model.copyNode(root.main.cond , opener.root.reopen.condlist.condlist);
  37. model.setValue(opener.root.reopen.reopenflag, "N");
  38. mmbfGetUserComboList("/root/send/reqdata", "/root/init/userlist", cmb_orddept.value, "0330");
  39. addComboInstance("/root/init/userlist" , "userid^usernm" , "-^전체" , "usercombo"); //의사콤보 전체항목 추가
  40. }
  41. model.copyNode(opener.root.cond.srchpatlist, root.main.cond);
  42. }else{ //다시 열린 경우, main에 ordtab의 condlist(화면이 닫힐때 설정된 정보)를 그대로 재설정
  43. model.copyNode(root.init , opener.root.temp.srchpatlist);
  44. model.copyNode(root.main.cond, opener.root.cond.srchpatlist);
  45. var xmlnode = model.instance1.selectSingleNode("/root/init/userscrnenvinfo/gridseq");
  46. if(xmlnode != null){
  47. var refdata = model.getValue("/root/init/userscrnenvinfo/gridseq/compsrefcnts");
  48. var sizedata = model.getValue("/root/init/userscrnenvinfo/gridseq/compssizecnts");
  49. var frozencol = model.getValue("/root/init/userscrnenvinfo/gridseq/frozencol");
  50. setOrderInfoOfCol("grd_srchpatlist", refdata, sizedata, frozencol); //수술환자리스트 컬럼 설정, 기존에 조회한 내용으로 처리
  51. }
  52. }
  53. if(cmb_orddept.label==""){cmb_orddept.select(0);}
  54. if(cmb_orddrid.label==""){cmb_orddrid.select(0);}
  55. if(chngcolflag == "Y"){ //컬럼설정을 통해 재설정 한 경우, 컬럼순서를 다시 조회 처리
  56. reqOrderInfoOfCol("SMMMO04700", "grd_srchpatlist"); //외래환자리스트 컬럼 조회 및 설정
  57. model.setValue(opener.root.chngcol.chngcolflag, "N");
  58. }
  59. model.refresh();
  60. opener.javascript.fCtrlBtnDisable(false);
  61. }
  62. /**
  63. * @desc : 환자 검색
  64. * @
  65. * @param :
  66. * @return :
  67. * @author : 오지훈
  68. * @---------------------------------------------------
  69. */
  70. function fReqPatSrchList(){
  71. var pid = model.getValue("/root/main/cond/pid");
  72. if(pid.length < 1){
  73. messageBox("환자의 등록번호를", "C001");
  74. return;
  75. }
  76. model.copyNode("/root/send/reqdata", "/root/main/cond");
  77. if(submit("TRMMO04701")){
  78. var totrow = grd_srchpatlist.rows-1;
  79. model.setValue("/root/main/totcnt/totcnt", totrow);
  80. model.copyNode(opener.root.cond.srchpatlist , root.main.cond);
  81. model.copyNode(opener.root.temp.srchpatlist , root.init);
  82. }
  83. }
  84. /**
  85. * @desc : 환자 선택시, 처방화면 및 기록지 연동여부 확인 및 화면 open
  86. * @
  87. * @param :
  88. * @return :
  89. * @author : 오지훈
  90. * @---------------------------------------------------
  91. */
  92. function fSelectPatSrch(){
  93. var ordrecflag = model.getValue(opener.root.main.cond.ordrecflag); //기록지연결 여부
  94. var currow = grd_srchpatlist.row;
  95. if(currow < 1){
  96. return;
  97. }
  98. if( getGlobalVariable("able_sel_patlist", "M") == "N" ) { // 환자 선택 가능 여부 체크 2012.09.03 엄영만
  99. messageBox("현재 로그인한 '"+ getUserInfo("dutplcenm") +"' 부서는 기록저장 및 처방발행이 불가능한 부서 입니다.\n\n다시 로그인 후 진행 하십시오.","E");
  100. return false;
  101. }
  102. //처방, CP화면에 modal 또는 modaless가 뜬 경우, 환자 선택 불가
  103. if(fChkScrnDisable()==false){
  104. return;
  105. }
  106. //CP환자 여부 확인
  107. if(fChkCPPatValid(currow)==false){
  108. return;
  109. }
  110. var pid = model.getValue(sPATSRCHLIST_PATH + "[" + currow + "]/pid");
  111. var hngnm = model.getValue(sPATSRCHLIST_PATH + "[" + currow + "]/hngnm");
  112. var orddd = model.getValue(sPATSRCHLIST_PATH + "[" + currow + "]/orddd");
  113. var cretno = model.getValue(sPATSRCHLIST_PATH + "[" + currow + "]/cretno");
  114. var ordtype = model.getValue(sPATSRCHLIST_PATH + "[" + currow + "]/ioflag");
  115. var orddeptcd = model.getValue(sPATSRCHLIST_PATH + "[" + currow + "]/orddeptcd");
  116. setParameter("SPMMO016000_resnflag" , "P"); // 진료대상자에서 수술시 예방적 항생제를 띄울경우
  117. setParameter("SPMMO016000_pid" , pid);
  118. setParameter("SPMMO016000_orddd" , orddd);
  119. setParameter("SPMMO016000_cretno" , cretno);
  120. setParameter("SPMMO016000_ordtype" , ordtype);
  121. setParameter("SPMMO016000_orddeptcd" , orddeptcd);
  122. // 진료기록에 수정된 사항이 있을 경우 저장할 것인지 묻는 함수 호출 : 2009. 07. 27 김영학
  123. var mainobj = getMainViewer();
  124. var mainscrnid = mainobj.javascript.getScreenID(); //메인화면의 기록지 ID
  125. if(mainscrnid == "SMMMR00100"){
  126. var prvIntRecPamInfRtn = mainobj.window.javascript.fPrevInitRecPamInfo();
  127. if(prvIntRecPamInfRtn == false){
  128. return;
  129. }// 기록지에 필수 입력사항을 입력하지 않았을 때 그냥 넘어가 버리는 오류 수정 20100305 LYJ
  130. }
  131. //상단정보 설정 및 진료기록 처방화면 연동
  132. //var mainObj = getMainViewer();
  133. var mainObj = getViewer("sysMessage");
  134. if(fReqPatSrchPamInfo() == true){
  135. if (fChkOpDrugResn() == false) {
  136. return;
  137. }
  138. var cpflag = opener.model.getValue("/root/cpflag");
  139. var ordrecflag = opener.model.getValue("/root/main/cond/ordrecflag");
  140. var recflag = opener.model.getValue("/root/main/cond/recflag");
  141. var chngflag = opener.model.getValue("/root/main/cond/chngflag");
  142. var mainObj = getMainViewer();
  143. if (recflag == "Y") {
  144. var mainObj = getMainViewer();
  145. curEmrRecObj = getOpenWindow("SMMRI00400"); //활성화된 진료기록 화면 object loading
  146. curExamRsltObj = getOpenWindow("SMAER00800"); //활성화된 검사결과 화면 object loading
  147. curNurTprObj = getOpenWindow("SMMNR00900"); //활성화된 간호 TPR 화면 object loading
  148. curNurBSEMRObj = getOpenWindow("SMMNR02500"); //활성화된 간호 TPR 화면 object loading
  149. curGrphObj = getOpenWindow("SPMRF05200"); //활성화된 그래프 서식 화면 object loading
  150. curCunsultObj = getOpenWindow("SMMMR05000"); //활성화된 Consult 화면 object loading
  151. curExamRsltNewObj = getOpenWindow("SMMMI00100"); //활성화된 검사결과 화면 object loading
  152. //if(curEmrRecObj != null){curEmrRecObj.javascript.fClose();} //진료기록 화면 close
  153. var wndobj = getOpenWindow("SMMRI00400");
  154. if(wndobj != null)
  155. {
  156. setParameter("SMMRI00400_param_pid" , model.getValue("/root/source/pid"));
  157. setParameter("SMMRI00400_param_chosflag", model.getValue("/root/main/paminfo/list/ordtype"));
  158. wndobj.javascript.fInitalize();
  159. activateChild("SMMRI00400");
  160. }
  161. if(curExamRsltObj != null){
  162. curExamRsltObj.model.setvalue("/root/send/data/singdata/srchpid", pid );
  163. curExamRsltObj.javascript.btn_srch.dispatch("DOMActivate");
  164. } //검사결과 화면 refresh;
  165. if(curNurTprObj != null){ //간호 TPR 화면 refresh : 2008-11-28 : 김영학 ;
  166. curNurTprObj.javascript.fInitialize("init");
  167. } //간호 TPR 화면 refresh;
  168. if(curNurBSEMRObj != null){ //혈당간호기록 refresh : 2008-12-24 : 김영학 ;
  169. curNurBSEMRObj.javascript.fInitialize("init");
  170. } //혈당간호기록 refresh;
  171. if(curGrphObj != null){ //그래프 서식 refresh : 2009-01-02 : 박민규 SW 요청 : 김영학 ;
  172. curGrphObj.javascript.fInitialize();
  173. } //그래프 서식 refresh;
  174. // if(curCunsultObj != null && consulyn !="T"){
  175. if(curCunsultObj != null ){
  176. curCunsultObj.javascript.fInitalize();
  177. } //그래프 서식 refresh;
  178. if(curExamRsltNewObj != null){
  179. curExamRsltNewObj.model.setvalue("/root/send/data/singdata/srchpid", pid );
  180. curExamRsltNewObj.javascript.btn_srch.dispatch("DOMActivate");
  181. } //검사결과 화면 NEW refresh;
  182. curCpObj = mainObj.javascript.getOpenWindow("SMMMP00800"); //활성화된 CP Main 화면 object loading
  183. curPrcpObj = mainObj.javascript.getOpenWindow("SMMMO00100"); //활성화된 처방Main 화면 object loading
  184. curCpSrchObj = mainObj.javascript.getOpenWindow("SPMMP01200"); //활성화된 CP 검색 화면 object loading
  185. if(curPrcpObj != null) {curPrcpObj.javascript.fPrcpWndClose(); } ////활성화된 처방Main 화면이 있는 경우 close
  186. if(curCpObj != null){curCpObj.javascript.fCloseGPS();} //활성화된 CP Main화면이 있는 경우 close
  187. if(curCpSrchObj != null){curCpSrchObj.javascript.fCpSrchWndClose();} //활성화된 CP검색화면이 있는 경우 close
  188. clearParameter("SMMMO04100_ANSWCNT");
  189. opener.javascript.fChngEMRScrn();// 진료기록 Open
  190. } else {
  191. opener.javascript.fOpenPrcpMainWnd();
  192. //mainObj.window.javascript.openEmrScrn("SMMMO00100"); //처방화면 open
  193. }
  194. }
  195. /*
  196. if(fReqPatSrchPamInfo() == true){
  197. opener.javascript.fOpenPrcpMainWnd();
  198. }
  199. */
  200. /*
  201. if(fReqPatSrchPamInfo()== true){
  202. if(ordrecflag == "N"){ //기록지연결 여부 Y인 경우, main화면 진료기록지 교체, 화면상단정보 설정 및 처방화면 OPEN
  203. fOpenOrdRecMainWnd();
  204. }else{
  205. fOpenEmptyWnd(); //기록지연결 여부 N인 경우, main화면 빈화면 교체, 화면상단정보 설정 및 처방화면 OPEN
  206. }
  207. }*/
  208. }
  209. /**
  210. * @desc : 환자 검색
  211. * @
  212. * @param :
  213. * @return :
  214. * @author : 오지훈
  215. * @---------------------------------------------------
  216. */
  217. function fReqPatSrchPamInfo(){
  218. var currow = grd_srchpatlist.row;
  219. var ioflag = model.getValue(sPATSRCHLIST_PATH + "[" + currow + "]/ioflag");
  220. var pid = model.getValue(sPATSRCHLIST_PATH + "[" + currow + "]/pid");
  221. var orddd = model.getValue(sPATSRCHLIST_PATH + "[" + currow + "]/orddd");
  222. var cretno = model.getValue(sPATSRCHLIST_PATH + "[" + currow + "]/cretno");
  223. var instcd = model.getValue(sPATSRCHLIST_PATH + "[" + currow + "]/instcd");
  224. var dschdd = model.getValue(sPATSRCHLIST_PATH + "[" + currow + "]/dschdd");
  225. var srchdd = "99991231";
  226. if (dschdd == "99991231") {
  227. srchdd = getCurrentDate();
  228. } else {
  229. srchdd = dschdd;
  230. }
  231. if(ioflag == "O"){ //외래환자인 경우
  232. var param = "O" + "▦" + pid + "▦" + orddd + "▦" + cretno + "▦" + instcd + "▦";
  233. }else if(ioflag == "I" || ioflag == "D"){ //입원환자의 경우
  234. var param = "I" + "▦" + pid + "▦" + orddd + "▦" + cretno + "▦" + instcd + "▦" + srchdd;
  235. }else if(ioflag == "E"){ //응급환자의 경우
  236. var param = "E" + "▦" + pid + "▦" + orddd + "▦" + cretno + "▦" + instcd + "▦" + srchdd;
  237. }
  238. setParameter("condparam", param);
  239. modal("SPMMO08900", 1, 0, 0, "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
  240. var useyn = getParameter("SPMMO08900_rtn_useyn");
  241. if(useyn == "Y"){
  242. setParameter("SPMMO08900_rtn_useyn", "");
  243. return true;
  244. }else{
  245. return false;
  246. }
  247. }
  248. /**
  249. * @desc : 그리드 data 엑셀화일로 저장
  250. * @
  251. * @param :
  252. * @return :
  253. * @author : 오지훈
  254. * @---------------------------------------------------
  255. */
  256. function fSaveGridToExcel(){
  257. saveGridToExcel(grd_srchpatlist);
  258. }
  259. /**
  260. * @desc : (환자검색)관심환자등록창 호출
  261. * @
  262. * @param :
  263. * @return :
  264. * @author : 오지훈
  265. * @---------------------------------------------------
  266. */
  267. function fCallWndConcPatRgst(){
  268. var currow = grd_srchpatlist.row;
  269. var ioflag = model.getValue(sPATSRCHLIST_PATH + "[" + currow + "]/ioflag");
  270. var pid = model.getValue(sPATSRCHLIST_PATH + "[" + currow + "]/pid");
  271. var hngnm = model.getValue(sPATSRCHLIST_PATH + "[" + currow + "]/hngnm");
  272. var orddd = model.getValue(sPATSRCHLIST_PATH + "[" + currow + "]/orddd");
  273. var cretno = model.getValue(sPATSRCHLIST_PATH + "[" + currow + "]/cretno");
  274. var instcd = model.getValue(sPATSRCHLIST_PATH + "[" + currow + "]/instcd");
  275. var seqno = "";
  276. var param = ioflag + "▩" + pid + "▩" + hngnm + "▩" + orddd + "▩" + cretno + "▩" + seqno + "▩" + instcd;
  277. setParameter("param", param);
  278. open("SPMMO08200");
  279. //modal("SPMMO08200");
  280. //fReqPatSrchList();
  281. }
  282. /**
  283. * @desc : (수술)주의요망환자창 호출
  284. * @
  285. * @param :
  286. * @return :
  287. * @author : 엄영만
  288. * @---------------------------------------------------
  289. */
  290. function fCallWndWarnPat(){
  291. var nCurRow = grd_srchpatlist.row;
  292. var sPid = model.getValue(sPATSRCHLIST_PATH + "[" + nCurRow + "]/pid");
  293. var sHngnm = model.getValue(sPATSRCHLIST_PATH + "[" + nCurRow + "]/hngnm");
  294. setParameter("SMMMO19100_warncd" , sPid);
  295. setParameter("SMMMO19100_warnnm" , sHngnm);
  296. modal("SMMMO19100");
  297. clearParameter("SMMMO19100_warncd");
  298. clearParameter("SMMMO19100_warnnm");
  299. }
  300. /**
  301. * @desc : CP환자 여부 검사
  302. * @
  303. * @param :
  304. * @return :
  305. * @author : 오지훈
  306. * @---------------------------------------------------
  307. */
  308. function fChkCPPatValid(currow){
  309. var pid = model.getValue(sPATSRCHLIST_PATH + "[" + currow + "]/pid");
  310. var orddd = model.getValue(sPATSRCHLIST_PATH + "[" + currow + "]/orddd");
  311. var cretno = model.getValue(sPATSRCHLIST_PATH + "[" + currow + "]/cretno");
  312. var ioflag = model.getValue(sPATSRCHLIST_PATH + "[" + currow + "]/ioflag");
  313. var hngnm = model.getValue(sPATSRCHLIST_PATH + "[" + currow + "]/hngnm");
  314. var orddeptcd = model.getValue(sPATSRCHLIST_PATH + "[" + currow + "]/orddeptcd");
  315. model.removeNodeset("/root/send/reqdata");
  316. model.makeValue("/root/send/reqdata/pid" , pid);
  317. model.makeValue("/root/send/reqdata/orddd" , orddd);
  318. model.makeValue("/root/send/reqdata/cretno" , cretno);
  319. model.makeValue("/root/send/reqdata/hngnm" , hngnm); //추가(2008.08.25)
  320. model.makeValue("/root/send/reqdata/prcpgenrflag", ioflag);
  321. model.makeValue("/root/send/reqdata/srchtabflag" , "D"); //대상자리스트탭(I/D):조회결과orddd,cretno는 외래이력의 수전정보임
  322. if(submit("TRMMO04303")==true){ //CP적용 여부 확인
  323. var cppatnode = model.instance1.selectNodes("/root/init/rsltgetdata/getdata");
  324. if(cppatnode.length < 1){ //cp적용환자 tbl에 유효한 데이터가 없는 경우
  325. model.setValue(opener.root.cpflag, "N"); //처방open
  326. return true;
  327. }else{ //CP적용환자 tbl에 유효한 데이터가 있는 경우
  328. var appstat = model.getValue("/root/init/rsltgetdata/getdata/appstat");
  329. var cpgnm = model.getValue("/root/init/rsltgetdata/getdata/cpgnm");
  330. var cpgappno = model.getValue("/root/init/rsltgetdata/getdata/cpgappno");
  331. var msgcnts = model.getValue("/root/init/rsltgetdata/getdata/msgcnts");
  332. var msgflag = model.getValue("/root/init/rsltgetdata/getdata/msgflag");
  333. var prtlflagcd = model.getValue("/root/init/rsltgetdata/getdata/prtlflagcd"); //01:CP,02:CPG
  334. if(appstat == 52){
  335. //case52: 입원장 CP
  336. var rtnval = messageBox(msgcnts, msgflag);
  337. if(rtnval == 6){
  338. model.setValue(opener.root.cpflag, "X"); // CP Main open
  339. return true;
  340. }else{
  341. model.setValue(opener.root.cpflag, "N");
  342. if(fUpdtCPPatAppStatVal(41) != false && instance1.selectSingleNode(sPATSRCHLIST_PATH + "[" + currow + "]/cpyn") != null){ //41 : CP 취소
  343. model.setValue(sPATSRCHLIST_PATH + "[" + currow + "]/cpyn", "N");
  344. return;
  345. }else{
  346. return false;
  347. }
  348. }
  349. }else{
  350. if( prtlflagcd == "02" && isNull(appstat) && msgflag == "P" ){ //모니터링구분:대상자탐색 Case. CPG & 호출flag:Popup(appyn:평가용여부)
  351. //CPG적용대상자 알림 팝업 호출 (2009.05.04)
  352. setParameter("SMMMO041_hngnm" , hngnm);
  353. setParameter("SMMMO041_pid" , pid);
  354. setParameter("SMMMO041_cretno" , cretno);
  355. setParameter("SMMMO041_orddd" , orddd);
  356. setParameter("SMMMO041_ordtype" , ioflag);
  357. setParameter("SMMMO041_orddeptcd" , orddeptcd);
  358. setParameter("SMMMO041_slipnm" , model.getValue(root.init.rsltgetdata.getdata.msgcnts)); //cpgno▦cpghistseq▦cpgnm▦slipno▦slipnm▦valusgeyn▦valunm▦guidedocucnts
  359. setParameter("SMMMO041_cpgmntrflag", appstat); //null, SPMMP03200화면에서 cpgmntrflag(M or S)으로 따짐
  360. setParameter("SMMMO041_cpgappno" , cpgappno); //적용중인 CP가 존재하면 값이 있음
  361. setParameter("SMMMO041_cpgnm" , cpgnm); //적용중인 CP가 존재하면 값이 있음
  362. modal("SPMMP03200"); //CP대상자 알람 팝업
  363. if( cpgappno > 0 && cpgappno != getParameter("SPMMP032_cpgappno") && instance1.selectSingleNode(sPATSRCHLIST_PATH + "[" + currow + "]/cpyn") != null){ //진행중인 CP가 있는데 팝업에서 Drop한 경우 CP여부 N으로..
  364. model.setValue(sPATSRCHLIST_PATH + "[" + currow + "]/cpyn", "N");
  365. }
  366. if( !isNull(getParameter("SPMMP032_cpgappno")) && getParameter("SPMMP032_cpgappno") > 0 ){
  367. model.setValue(opener.root.cpflag, "Y"); //CPG적용한 경우, MGPS 호출
  368. }else{
  369. model.setValue(opener.root.cpflag, "N"); //미적용 시 처방 화면 호출
  370. }
  371. clearParameter("SPMMP032_cpgappno");
  372. clearParameter("SMMMO041_hngnm");
  373. clearParameter("SMMMO041_pid");
  374. clearParameter("SMMMO041_cretno");
  375. clearParameter("SMMMO041_orddd");
  376. clearParameter("SMMMO041_ordtype");
  377. clearParameter("SMMMO041_orddeptcd");
  378. clearParameter("SMMMO041_slipnm");
  379. clearParameter("SMMMO041_cpgmntrflag");
  380. clearParameter("SMMMO041_cpgappno");
  381. clearParameter("SMMMO041_cpgnm");
  382. return true;
  383. }else{
  384. //case 12 : D0 ~ D1 CP
  385. //그외 case : (10 : 진행중...)
  386. if( !isNull(msgcnts) && !isNull(msgflag) ){
  387. //12: D0 처방일과 == 입원일 -> Drop 유도
  388. //그외: 오늘날짜 > CP퇴원예정일 -> Drop 유도
  389. messageBox(msgcnts, msgflag);
  390. setParameter("SMMMO043_cpgappno", cpgappno); //drop 팝업에서 인식할 수 있는 param
  391. setParameter("SMMMO043_drop" , "N"); //drop 팝업에서 인식할 수 있는 param
  392. modal("SPMMP02300"); //Drop 팝업 호출
  393. model.setValue(opener.root.cpflag, "N");
  394. if( getParameter("SMMMO043_drop") == "Y" ){
  395. model.setValue(sINPATLIST_PATH + "[" + currow + "]/cpyn", "N");
  396. }else{
  397. return false;
  398. }
  399. clearParameter("SMMMO043_cpgappno");
  400. clearParameter("SMMMO043_drop");
  401. return true;
  402. }
  403. model.setValue(opener.root.cpflag, "Y");
  404. return true;
  405. }
  406. }
  407. }
  408. }
  409. }
  410. function fChkOpDrugResn() {
  411. var currow = grd_srchpatlist.row;
  412. var ioflag = model.getValue(sPATSRCHLIST_PATH + "[" + currow + "]/ioflag");
  413. var orddeptcd = model.getValue(sPATSRCHLIST_PATH + "[" + currow + "]/orddeptcd");
  414. if (ioflag == "I") {
  415. if (orddeptcd =="2040000000" || orddeptcd =="2050000000" || orddeptcd =="2100000000" || orddeptcd =="2070000000") {
  416. var resnyn = getPatientInfoDetail("resnyn");
  417. if (resnyn == "") {
  418. modal("SPMMO16000", "", "510px", "427px", "SPMMO16000", "", "", "sysmenu:hidden; min:visible; max:visible; icon:visible", false);
  419. }
  420. }
  421. }
  422. return true;
  423. }
  424. function fPrtPatList() {
  425. messageBox("환자검색탭은 출력을 지원하지 않습니다.", "");
  426. }