SSMRC03200.js 42 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384
  1. /**
  2. * @desc : 폼초기화
  3. * @
  4. * @param :
  5. * @return :
  6. * @authur : 이은영 2008.03.18
  7. * @---------------------------------------------------
  8. */
  9. function fFormInit()
  10. {
  11. /* 마스터 정보 가져오기..
  12. //공통코드 가져오기...
  13. //M0392:챠트미대출사유코드
  14. //M0412:과보관사유코드
  15. //M0424:차트상태(분실)코드
  16. zbcfGetCodeList(new Array("M0392","M0412","M0424"), new Array("/root/init/M0392","/root/init/M0412","/root/init/M0424"));
  17. // 대출용도, 대출과, 차트과, 차트담당자, 보관장소
  18. model.makeValue("/root/send/reqdata/ioflag" , "O");
  19. model.makeValue("/root/send/reqdata/useyn" , "");
  20. model.makeValue("/root/send/reqdata/allwardyn", "");
  21. submit("TRMRC00100");
  22. //*/
  23. model.setValue("/root/send/reqdata/appfromdd" , getCurrentDate()); //KNUH, 대출예약일 구간 조회 요청 (2011.02.24 JJE)
  24. model.setValue("/root/send/reqdata/apptodd" , getCurrentDate()); //KNUH, 대출예약일 구간 조회 요청 (2011.02.24 JJE)
  25. model.setValue("/root/send/reqdata/appdept" , "ALL");
  26. model.setValue("/root/send/reqdata/chrtdept" , "ALL");
  27. model.setValue("/root/send/reqdata/chgrman" , "ALL");
  28. model.setValue("/root/send/reqdata/keepplce" , "ALL");
  29. model.setValue("/root/send/reqdata/rendflag" , "X");
  30. model.setValue("/root/send/reqdata/prntflag" , "X");
  31. model.setValue("/root/send/reqdata/sortappdept", "Y");
  32. // 2009.01.12. 대출용도 셋 조회... (의료정보팀..3230000000)
  33. // 90000000000000055 예약
  34. // 90000000000000056 외래당일접수
  35. // 90000000000000057 병동/응급실
  36. // 90000000000000058 당일신청서
  37. // 90000000000000059 연구용
  38. // 90000000000000060 전체
  39. model.setValue("/root/send/reqdata/deptcd" , "3230000000");
  40. submit("TRMRC01312");
  41. // 2009.01.12. 선택된 대출용도 코드 리스트 스트링 만들기..
  42. // 초기화 선택 셋코드.. 외래당일접수..90000000000000056
  43. fGetChkRendCdList("90000000000000056");
  44. // 2007.12.15. 로그인 사용자가 챠트담당자 리스트에 있는지 확인하고 선택해 주자..
  45. var acptid = model.getValue("/root/init/lendmastinfo/chrtchgrlist[chgruserid == '"+ getUserId() +"']/chgruserid");
  46. if (acptid != "") {
  47. model.setValue("/root/send/reqdata/chgrman", getUserId());
  48. cbo_chgrman.refresh();
  49. }
  50. // 2008.01.16. 접수증 출력시 - 미리보기 창 안보이게 실행하기
  51. makeReportPreview(0,50,1194,600, "grp_report");
  52. }
  53. /**
  54. * @desc : 선택된 대출용도 코드 리스트 스트링 만들기..
  55. * @
  56. * @param :
  57. * @return :
  58. * @authur : 이은영 2009.01.12
  59. * @---------------------------------------------------
  60. */
  61. function fGetChkRendCdList(setcd)
  62. {
  63. model.setValue("/root/send/reqdata/setcd" , setcd);
  64. submit("TRMRC01313");
  65. var ref = "/root/init/lendsetitem/setitemlist";
  66. var cnt = getNodesetCnt(model, ref);
  67. var chkrendcdlist = "";
  68. for ( var i = 1; i <= cnt; i++)
  69. {
  70. var rendcd = model.getValue(ref + "[" + i + "]/rendcd");
  71. var srchuseyn = model.getValue(ref + "[" + i + "]/srchuseyn");
  72. if (srchuseyn == "Y") {
  73. chkrendcdlist = chkrendcdlist + rendcd + "|";
  74. }
  75. }
  76. var rendcdlist = chkrendcdlist.split("|");
  77. if (rendcdlist.length > 0) {
  78. chkrendcdlist = chkrendcdlist.substring(0, chkrendcdlist.length -1);
  79. }
  80. model.setValue("/root/send/reqdata/chkrendcdlist", chkrendcdlist);
  81. chk_rendcd.refresh();
  82. }
  83. var gTimerID;
  84. var gCount = 60;
  85. /**
  86. * @desc : 접수증 출력
  87. * @
  88. * @param :
  89. * @return :
  90. * @authur : 이은영 2008.03.18
  91. * @---------------------------------------------------
  92. */
  93. function fprnfstacpt()
  94. {
  95. if(gCount <= 0){
  96. // 2008.01.10. 다시 조회한다. - 접수증이 출력이 되었고, 챠트가 대출된 경우 접수증을 출력하지 않는다..
  97. // 2008.01.18. 다시 조회한다. - 출력시 데이타 체킹으로 출력한다.. (접수증출력, 챠트대출상태, 보관장소)
  98. // model.setValue("/root/send/reqdata/rendflag", "X");
  99. // model.setValue("/root/send/reqdata/prnflag" , "Y");
  100. // model.refresh();
  101. // 2008.10.05. 다시 조회시 진료일자를 조회하는 현 날짜로 셋하고 조회하기..
  102. model.setValue("/root/send/reqdata/appfromdd" , getCurrentDate()); //KNUH, 대출예약일 구간 조회 요청 (2011.02.24 JJE)
  103. model.setValue("/root/send/reqdata/apptodd" , getCurrentDate()); //KNUH, 대출예약일 구간 조회 요청 (2011.02.24 JJE)
  104. ipt_rappdd.refresh();
  105. ipt_rapptodd.refresh(); //KNUH, 대출예약일 구간 조회 요청 (2011.02.24 JJE)
  106. btn_r_receipt.dispatch("DOMActivate");
  107. if(grd_receipt.rows - grd_receipt.fixedRows < 1){
  108. gCount = model.getValue("/root/init/timer");
  109. model.setValue("/root/init/interval", gCount);
  110. return;
  111. }
  112. window.clearinterval(gTimerID);
  113. var dataString = fPrntDataString("1"); // 1:접수증출력
  114. if (dataString.length > 0)
  115. {
  116. model.makeValue("/root/send/savedata", dataString);
  117. submit("TXMRC00104");
  118. // 접수증 전체 출력하기...
  119. // 2008.01.16. 접수증 출력시 - 미리보기 창 안보이게 실행하기
  120. exeReportPreview("RPMRC00100", "XMLSTR", "/root/hidden/rex/chrtrciplist", "", "true", "", "", "", "", "", "", "grp_report");
  121. // 다시 조회하기..
  122. btn_r_receipt.dispatch("DOMActivate");
  123. }
  124. gCount = model.getValue("/root/init/timer");
  125. gTimerID = window.setInterval( "fprnfstacpt();", 1000);
  126. } else{
  127. gCount--;
  128. model.setValue("/root/init/interval", gCount);
  129. opt_interval.refresh();
  130. }
  131. }
  132. /**
  133. * @desc : 접수증 출력 (선택 로우 재출력)
  134. * @
  135. * @param :
  136. * @return :
  137. * @authur : 이은영 2008.03.18
  138. * @---------------------------------------------------
  139. */
  140. function freprnfstacpt()
  141. {
  142. // 노드 클리어..
  143. model.removeNodeset("/root/hidden/rex/chrtrciplist");
  144. model.refresh();
  145. var savedata = "m▦chrtseqno▦medirecno▦pid▦rendcd▦prnttype▦fstacptprndt▩";
  146. var dataString = "";
  147. var fstacptprndt = getCurrentDate() + getCurrentTime();
  148. for ( var i = 0; i < grd_receipt.selectedRows; i++)
  149. {
  150. model.setValue("/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]/fstacptprndt", fstacptprndt);
  151. model.refresh();
  152. var chrtseqno = model.getValue("/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]/chrtseqno");
  153. var medirecno = model.getValue("/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]/medirecno");
  154. var pid = model.getValue("/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]/pid");
  155. var rendcd = model.getValue("/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]/rendcd");
  156. dataString = dataString + "u▦" + chrtseqno + "▦" + medirecno + "▦" + pid + "▦" + rendcd + "▦1▦" + fstacptprndt + "▩";
  157. // 접수증 선택 로우 카피...
  158. copyNodeListType("/root/hidden/rex", "/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]", "after");
  159. }
  160. if (dataString.length > 0)
  161. {
  162. model.makeValue("/root/send/savedata", savedata + dataString);
  163. submit("TXMRC00104");
  164. // 접수증 선택 출력하기...
  165. // 2008.01.16. 접수증 출력시 - 미리보기 창 안보이게 실행하기
  166. exeReportPreview("RPMRC00100", "XMLSTR", "/root/hidden/rex/chrtrciplist", "", "true", "", "", "", "", "", "", "grp_report");
  167. // 다시 조회하기..
  168. btn_r_receipt.dispatch("DOMActivate");
  169. }
  170. }
  171. /**
  172. * @desc : 출력일시 업데이트 데이타 스트링...
  173. * @
  174. * @param : prnttype : 출력구분 (0:안함,1:접수증출력,2:대출신청리스트출력,3:대출예약리스트출력)
  175. * @return : dataString
  176. * @authur : 이은영 2008.03.18
  177. * @---------------------------------------------------
  178. */
  179. function fPrntDataString(prnttype)
  180. {
  181. // 2008.01.21. prnttype : 출력구분 (0:안함,1:접수증출력,2:대출신청리스트출력,3:대출예약리스트출력)
  182. if (prnttype == null) { return; }
  183. // 노드 클리어..
  184. model.removeNodeset("/root/hidden/rex/chrtrciplist");
  185. model.refresh();
  186. var savedata = "m▦chrtseqno▦medirecno▦pid▦rendcd▦prnttype▦fstacptprndt▩";
  187. var dataString = "";
  188. var fstacptprndt = getCurrentDate() + getCurrentTime();
  189. var keepplce = model.getValue("/root/init/print");
  190. //debugger;
  191. for ( var i = 1; i < grd_receipt.rows; i++)
  192. {
  193. if (prnttype == "1") {
  194. // 2008.01.18. 접수증 출력시..
  195. // 1. 접수증이 미출력 상태인가?
  196. // 2. 챠트가 미대출챠트 인가?
  197. // 3. 보관장소가 출력대상인가?
  198. // 4. 접수증 출력 대상 진료과인가?(20120725 이윤주)
  199. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/noprntdept", 5613);
  200. var orddeptcd = model.getValue("/root/main/chrtrciplist[" + i + "]/orddeptcd");
  201. var noprntdeptCnt = getNodesetCnt(model,"/root/init/noprntdept/hardcd[hardcd = '" + orddeptcd + "']");
  202. var chrtlendyn = model.getValue("/root/main/chrtrciplist[" + i + "]/chrtlendyn");
  203. var renddd = model.getValue("/root/main/chrtrciplist[" + i + "]/renddd");
  204. if (chrtlendyn != "Y" && renddd == "") {
  205. var prnt = model.getValue("/root/main/chrtrciplist[" + i + "]/prnttype");
  206. var keepno = model.getValue("/root/main/chrtrciplist[" + i + "]/keepno");
  207. if (prnt == "0" && keepplce.indexOf(keepno) > -1 && noprntdeptCnt == 0) {
  208. model.setValue("/root/main/chrtrciplist[" + i + "]/fstacptprndt", fstacptprndt);
  209. // model.refresh();
  210. var chrtseqno = model.getValue("/root/main/chrtrciplist[" + i + "]/chrtseqno");
  211. var medirecno = model.getValue("/root/main/chrtrciplist[" + i + "]/medirecno");
  212. var pid = model.getValue("/root/main/chrtrciplist[" + i + "]/pid");
  213. var rendcd = model.getValue("/root/main/chrtrciplist[" + i + "]/rendcd");
  214. dataString = dataString + "u▦" + chrtseqno + "▦" + medirecno + "▦" + pid + "▦" + rendcd + "▦" + prnttype + "▦" + fstacptprndt + "▩";
  215. // 선택 로우 카피...
  216. copyNodeListType("/root/hidden/rex", "/root/main/chrtrciplist[" + i + "]", "after");
  217. }
  218. }
  219. } else {
  220. var prnt = model.getValue("/root/main/chrtrciplist[" + i + "]/prnttype");
  221. if (prnt == "0") {
  222. model.setValue("/root/main/chrtrciplist[" + i + "]/fstacptprndt", fstacptprndt);
  223. // model.refresh();
  224. var chrtseqno = model.getValue("/root/main/chrtrciplist[" + i + "]/chrtseqno");
  225. var medirecno = model.getValue("/root/main/chrtrciplist[" + i + "]/medirecno");
  226. var pid = model.getValue("/root/main/chrtrciplist[" + i + "]/pid");
  227. var rendcd = model.getValue("/root/main/chrtrciplist[" + i + "]/rendcd");
  228. dataString = dataString + "u▦" + chrtseqno + "▦" + medirecno + "▦" + pid + "▦" + rendcd + "▦" + prnttype + "▦" + fstacptprndt + "▩";
  229. }
  230. // 선택 로우 카피...
  231. // copyNodeListType("/root/hidden/rex", "/root/main/chrtrciplist[" + i + "]", "after");
  232. }
  233. }
  234. if (dataString.length > 0) {
  235. dataString = savedata + dataString;
  236. }
  237. return dataString;
  238. }
  239. /**
  240. * @desc : 접수자 명단 조회
  241. * @
  242. * @param :
  243. * @return :
  244. * @authur : 이은영 2008.03.18
  245. * @---------------------------------------------------
  246. */
  247. function fGetReqRendAppList()
  248. {
  249. // 2007.12.26. 대출용도 멀티로 조회하기.. ^^
  250. var rendcd = model.getValue("/root/send/reqdata/chkrendcdlist");
  251. var rendcdlist = "";
  252. // 2009.01.12. 대출용도 선택항목이 전체인지 구분하기 위해서..
  253. var ref = "/root/init/lendsetitem/setitemlist";
  254. var cnt = getNodesetCnt(model, ref);
  255. var rendcdlist = rendcd.split("|");
  256. if (rendcdlist.length == 1) {
  257. rendcd = rendcd;
  258. } else if (rendcdlist.length == cnt) {
  259. rendcd = "ALL";
  260. } else {
  261. for (var i = 0 ; i < rendcdlist.length ; i++) {
  262. rendcd = rendcd.replace("|","','");
  263. }
  264. rendcdlist = "Y";
  265. rendcd = "'" + rendcd + "'";
  266. }
  267. model.setValue("/root/send/reqdata/rendcdlist", rendcdlist);
  268. model.setValue("/root/send/reqdata/rendcd", rendcd);
  269. model.refresh();
  270. submit("TRMRC00160");
  271. // 2008.01.02. 접수현황 조회 총건수..
  272. model.setValue ("/root/init/count", grd_receipt.rows - 1);
  273. cap_receipt.refresh();
  274. //return;
  275. // 2008.01.16. 상태에 따라 로우 색상 지정해 주기..
  276. // 2008.12.15. 속도 개선을 위한 인스턴스가 아닌 그리드 컨트롤로 처리하기..
  277. initGridStyle("grd_receipt");
  278. var gridObj = grd_receipt;
  279. for ( var i = 1 ; i < gridObj.rows ; i++)
  280. {
  281. if(gridObj.valueMatrix(i , gridObj.colRef("chrtlendyn")) == "Y"){
  282. gridObj.rowstyle(i, "data", "background-color") = "#ffccff"; // 이미대출중 (핑크색)
  283. }
  284. if(gridObj.valueMatrix(i , gridObj.colRef("unrendcd")) != "00"){
  285. gridObj.rowstyle(i, "data", "background-color") = "#ffff99"; // 미대출처리 (노란색)
  286. }
  287. if(gridObj.valueMatrix(i , gridObj.colRef("delyn")) != "N"){
  288. gridObj.rowstyle(i, "data", "background-color") = "#ff0000"; // 대출신청취소 (빨간색)
  289. }
  290. if(gridObj.valueMatrix(i , gridObj.colRef("renddt")) != ""){
  291. gridObj.rowstyle(i, "data", "background-color") = "#ccffcc"; // 대출완료 (초록색)
  292. }
  293. }
  294. }
  295. /**
  296. * @desc : 등록된 환자번호인지 체킹한다..
  297. * @
  298. * @param : iptObj - 환자번호 입력 컨트롤 (pid)
  299. * @return :
  300. * @authur : 이은영 2008.09.17
  301. * @---------------------------------------------------
  302. */
  303. function fGetPidNo(iptObj, ref)
  304. {
  305. var chkyn = model.getValue(ref);
  306. if (chkyn == "Y") {
  307. if (iptObj.currentText.length > 0) {
  308. var pid = iptObj.currentText;
  309. pid = getCretCheckNo(pid, getUserInfo("dutplceinstcd"));
  310. model.makeValue(iptObj.attribute("ref"), pid);
  311. iptObj.refresh();
  312. }
  313. }
  314. }
  315. /**
  316. * @desc : 등록된 환자번호인지 체킹한다..
  317. * @
  318. * @param : iptObj - 환자번호 입력 컨트롤 (pid)
  319. * @return : pnm - 환자명
  320. * @authur : 이은영 2008.03.18
  321. * @---------------------------------------------------
  322. */
  323. function fCheckPid(iptObj, refPnm)
  324. {
  325. model.makeValue("/root/send/req/srchcond", "1");
  326. model.makeValue("/root/send/req/pid", iptObj.currentText);
  327. //환자등록번호 체크
  328. if(iptObj.currentText.length > 0 ){
  329. model.resetInstanceNode("/root/main/result/patinfo");
  330. model.makeNode("/root/main/result/patinfo");
  331. if(submit("TRPMC02500", "", "/root/send/req", "/root/main/result/patinfo")){
  332. //fSearch는 인적사항 화면을 임포트 해간 화면에서 구현해 주어야 하는 함수이다.
  333. if( getNodesetCount("/root/main/result/patinfo/patinfolist") > 0 ){
  334. model.copyNode("/root/main/patinfo", "/root/main/result/patinfo");
  335. //* 2009.04.07. 이중번호 메세지 ( 14257937 박용석 -> 13275912 신옥순 )
  336. var sBindPid = model.getValue("/root/main/result/patinfo/patinfolist/bindpid");
  337. if( sBindPid != '-' && sBindPid != '' && sBindPid != ' ' ){
  338. //합번된 등록번호 메세지 처리
  339. var sPid = model.getValue("/root/main/result/patinfo/patinfolist/pid");
  340. var sHngnm = model.getValue("/root/main/result/patinfo/patinfolist/hngnm");
  341. var retValue = messageBox(sPid + " (" + sHngnm + ") 환자의 등록번호가 [ " + sBindPid + " ] 로 합번 되었습니다. 합번된 등록번호로 재조회 하시겠습니까?", "Q999", "");
  342. if( retValue == '6' ){
  343. model.makeValue(iptObj.attribute("ref"), sBindPid);
  344. iptObj.refresh();
  345. fCheckPid(iptObj, refPnm);
  346. return "";
  347. }
  348. }
  349. //*/
  350. var pid = model.getValue("/root/main/result/patinfo/patinfolist/pid");
  351. var pnm = model.getValue("/root/main/result/patinfo/patinfolist/hngnm");
  352. if (refPnm != null)
  353. {
  354. model.makeValue(refPnm, pnm);
  355. }
  356. return pnm;
  357. }else{
  358. model.resetInstanceNode("/root/main/patinfo/patinfolist");
  359. messageBox("없는 환자 번호 입니다.", "E999", "");
  360. model.refresh();
  361. return "";
  362. }
  363. }
  364. }else{
  365. messageBox("환자등록번호를 정확히", "C001");
  366. return "";
  367. }
  368. }
  369. /**
  370. * @desc : 환자등록번호 조회 팝업
  371. * @
  372. * @param : refPid - 환자번호 참고 node path
  373. * refPnm - 환자명 참고 node path
  374. * @return :
  375. * @authur : 이은영 2008.03.18
  376. * @---------------------------------------------------
  377. */
  378. function fGetPid(refPid, refPnm)
  379. {
  380. //조회건수가 1건일 경우 팝업창을 바로 닫는다.
  381. model.makeValue("/root/hidden/tmp/pidpopupinfo/checkfnexam", "1");
  382. model.makeValue("/root/hidden/tmp/pidpopupinfo/autoflag", "N");
  383. if( model.getValue("/root/hidden/tmp/pidpopupinfo/srchcond") == '' ){
  384. model.makeValue("/root/hidden/tmp/pidpopupinfo/srchcond", '2');
  385. }
  386. modal("SPPMC02500", "1","150", "150", "SPPMC02500", "/root/hidden/tmp/pidpopupinfo", "/root/send");
  387. model.resetInstanceNode("/root/source");
  388. //환자번호 copy
  389. var popupendflag = model.getValue("/root/main/popupendflag");
  390. if (popupendflag == "ok")
  391. {
  392. model.makeValue(refPid, model.getValue("/root/main/patinfo/patinfolist/pid"));
  393. if (refPnm == null) { refPnm = "" }
  394. if (refPnm != "") {
  395. model.makeValue(refPnm, model.getValue("/root/main/patinfo/patinfolist/hngnm"));
  396. }
  397. model.refresh();
  398. }
  399. }
  400. /**
  401. * @desc : 등록된 사용자 번호인지 체킹한다..
  402. * @
  403. * @param : iptObj - 사용자 ID 입력 컨트롤 (userid)
  404. * @return : posdeptcd - 사용자 부서코드
  405. * @authur : 이은영 2008.03.18
  406. * @---------------------------------------------------
  407. */
  408. function fCheckUserid(iptObj)
  409. {
  410. setInputNodeCurText();
  411. // 사용자 번호 체크
  412. if(iptObj.currentText.length > 0 ){
  413. // 사용자 조회
  414. model.removenode("/root/hidden/tmp/tempuserinfo/list");
  415. model.reset("/root/hidden/tmp/tempuserinfo");
  416. model.setValue("/root/hidden/tmp/userpopupinfo/param", "_OneS");
  417. model.setValue("/root/hidden/tmp/userpopupinfo/flag", "userid");
  418. model.setValue("/root/hidden/tmp/userpopupinfo/searchitem", iptObj.currentText);
  419. modal("SPZSU10103", "", "200", "200", "SPZSU10103","/root/hidden/tmp/userpopupinfo","/root/main/temp");
  420. var iParam = getParameter("SPZSU10103_");
  421. setCSVToNode("/root/hidden/tmp/tempuserinfo", iParam);
  422. clearParameter("SPZSU10103_");
  423. //fSearch는 인적사항 화면을 임포트 해간 화면에서 구현해 주어야 하는 함수이다.
  424. if( getNodesetCount("/root/hidden/tmp/tempuserinfo/list") > 0 ){
  425. var userid = model.getValue("/root/hidden/tmp/tempuserinfo/list/userid");
  426. var posdeptcd = model.getValue("/root/hidden/tmp/tempuserinfo/list/posdeptcd");
  427. iptObj.value = userid;
  428. model.refresh();
  429. return posdeptcd;
  430. //fSearch();
  431. }else{
  432. model.resetInstanceNode("/root/hidden/tmp/tempuserinfo/list");
  433. messageBox("없는 사용자 번호 입니다.", "E999", "");
  434. model.refresh();
  435. }
  436. }else{
  437. messageBox("사용자 번호를 정확히", "C001");
  438. iptObj.value = "";
  439. model.refresh();
  440. }
  441. return "";
  442. }
  443. /**
  444. * @desc : 마우스 오른쪽 버튼 팝업창
  445. * @
  446. * @param : job - 0:챠트대출, 1:챠트반납, 2:접수자명단
  447. * @return :
  448. * @authur : 이은영 2008.03.18
  449. * @---------------------------------------------------
  450. */
  451. function fMouseRghtBtnPopup(gridObj, job)
  452. {
  453. if (event.button == 3) {
  454. if (gridObj.isCell(event.target) && gridObj.mouseRow >= gridObj.fixedrows) {
  455. if (job == "2") {
  456. model.removeNodeset("/root/send/savedata");
  457. window.setPopupMenu(true, "/root/hidden/chrtrciplist_menu/menu", "label", "func", false);
  458. } else {
  459. window.setPopupMenu(false);
  460. }
  461. } else {
  462. window.setPopupMenu(false);
  463. }
  464. } else {
  465. window.setPopupMenu(false);
  466. }
  467. }
  468. /**
  469. * @desc : 팝업폼 보여주기..
  470. * @
  471. * @param : job - 0:챠트대출(미대출사유) , 1:챠트반납(과보관사유),
  472. * @ 2:접수자명단(미대출사유), 3:챠트반납(대출연장) , 4:챠트반납(차트분실)
  473. * @return :
  474. * @authur : 이은영 2008.03.18
  475. * @---------------------------------------------------
  476. */
  477. function fShowWndIptBox(job)
  478. {
  479. grup_unrendresn2.visible = "false";
  480. if (job == "2") {
  481. // 2008.12.12. 미대출사유를 선택한 신청건의 미대출사유 값을 보여줌..
  482. var row = grd_receipt.row;
  483. var chrtseqno = model.getValue("/root/main/chrtrciplist[" + row + "]/chrtseqno");
  484. var unrendcd = model.getValue("/root/main/chrtrciplist[" + row + "]/unrendcd");
  485. var unrendresn = model.getValue("/root/main/chrtrciplist[" + row + "]/unrendresn");
  486. if (unrendcd == ""){ unrendcd = "00" }
  487. model.setValue("/root/hidden/chrtrciplist/unrendcd" , unrendcd);
  488. model.setValue("/root/hidden/chrtrciplist/unrendresn", unrendresn);
  489. model.refresh();
  490. if (event.clientY < 450) {
  491. grup_unrendresn2.attribute("top") = event.clientY-100;
  492. } else {
  493. grup_unrendresn2.attribute("top") = 450;
  494. }
  495. grup_unrendresn2.visible = "true";
  496. }
  497. if (job == "3") {
  498. // 2009.02.06. 신청처리메세지를 선택한 신청건의 신청처리메세지 값을 보여줌..
  499. var row = grd_receipt.row;
  500. var chrtseqno = model.getValue("/root/main/chrtrciplist[" + row + "]/chrtseqno");
  501. var apptretmsg = model.getValue("/root/main/chrtrciplist[" + row + "]/apptretmsg");
  502. model.setValue("/root/hidden/chrtrciplist/apptretmsg", apptretmsg);
  503. model.setValue("/root/hidden/chrtrciplist/apptretcd" , "00");
  504. model.refresh();
  505. if (event.clientY < 450) {
  506. grup_apptretmsg.attribute("top") = event.clientY-100;
  507. } else {
  508. grup_apptretmsg.attribute("top") = 450;
  509. }
  510. grup_apptretmsg.visible = "true";
  511. }
  512. }
  513. /**
  514. * @desc : 접수자명단 우클릭시 - > 미대출처리
  515. * @
  516. * @param :
  517. * @return :
  518. * @authur : 이은영 2008.03.18
  519. * @---------------------------------------------------
  520. */
  521. function fsetunrend99()
  522. {
  523. var savedata ="chrtseqno▦unrendcd▦unrendresn▩";
  524. var dataString = "";
  525. var dataCount = 0;
  526. for ( var i = 0; i < grd_receipt.selectedRows; i++)
  527. {
  528. var renddd = model.getValue("/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]/renddd");
  529. if (renddd == "") {
  530. var chrtseqno = model.getValue("/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]/chrtseqno");
  531. dataString = dataString + chrtseqno + "▦99▦▩";
  532. dataCount = dataCount + 1;
  533. }
  534. }
  535. if (dataString.length > 0)
  536. {
  537. alert("총 " + dataCount + " 건 미대출 되었습니다.");
  538. model.makeValue("/root/send/savedata", savedata + dataString);
  539. submit("TXMRC00102");
  540. }
  541. // 다시 조회하기..
  542. fGetReqRendAppList();
  543. }
  544. /**
  545. * @desc : 접수자명단 우클릭시 - > 미처리
  546. * @
  547. * @param :
  548. * @return :
  549. * @authur : 이은영 2008.03.18
  550. * @---------------------------------------------------
  551. */
  552. function fsetunrend00()
  553. {
  554. var savedata ="chrtseqno▦unrendcd▦unrendresn▩";
  555. var dataString = "";
  556. var dataCount = 0;
  557. for ( var i = 0; i < grd_receipt.selectedRows; i++)
  558. {
  559. var renddd = model.getValue("/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]/renddd");
  560. if (renddd == "") {
  561. var chrtseqno = model.getValue("/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]/chrtseqno");
  562. dataString = dataString + chrtseqno + "▦00▦▩";
  563. dataCount = dataCount + 1;
  564. }
  565. }
  566. if (dataString.length > 0)
  567. {
  568. alert("총 " + dataCount + " 건 미처리 되었습니다.");
  569. model.makeValue("/root/send/savedata", savedata + dataString);
  570. submit("TXMRC00102");
  571. }
  572. // 다시 조회하기..
  573. fGetReqRendAppList();
  574. }
  575. /**
  576. * @desc :접수자명단 우클릭시 - > 미대출 사유 입력
  577. * @
  578. * @param :
  579. * @return :
  580. * @authur : 이은영 2008.03.18
  581. * @---------------------------------------------------
  582. */
  583. function fsetrendresn2(){
  584. if(grd_receipt.row < 1){
  585. return;
  586. }
  587. // 2007.12.27. 미대출사유 입력하기...
  588. fShowWndIptBox("2");
  589. }
  590. /**
  591. * @desc : 접수자명단 우클릭시 - > 미대출 사유 입력 (update)
  592. * @
  593. * @param :
  594. * @return :
  595. * @authur : 이은영 2008.03.18
  596. * @---------------------------------------------------
  597. */
  598. function fUpdateUnrendresn2()
  599. {
  600. // 2007.12.27. 미대출사유 입력하기...
  601. var unrendcd = model.getValue("/root/hidden/chrtrciplist/unrendcd");
  602. var unrendresn = model.getValue("/root/hidden/chrtrciplist/unrendresn");
  603. var savedata ="chrtseqno▦unrendcd▦unrendresn▩";
  604. var dataString = "";
  605. var dataCount = 0;
  606. for ( var i = 0; i < grd_receipt.selectedRows; i++)
  607. {
  608. var renddd = model.getValue("/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]/renddd");
  609. if (renddd == "") {
  610. var chrtseqno = model.getValue("/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]/chrtseqno");
  611. dataString = dataString + chrtseqno + "▦" + unrendcd + "▦" + unrendresn + "▩";
  612. dataCount = dataCount + 1;
  613. }
  614. }
  615. if (dataString.length > 0)
  616. {
  617. alert("총 " + dataCount + " 건 미대출(사유입력) 되었습니다.");
  618. model.makeValue("/root/send/savedata", savedata + dataString);
  619. submit("TXMRC00102");
  620. }
  621. grup_unrendresn2.visible = false;
  622. // 다시 조회하기..
  623. fGetReqRendAppList();
  624. }
  625. /**
  626. * @desc : 접수자명단 우클릭시 - > 대출 신청 취소
  627. * @
  628. * @param :
  629. * @return :
  630. * @authur : 이은영 2008.03.18
  631. * @---------------------------------------------------
  632. */
  633. function fsetrendcncl2(){
  634. if(grd_receipt.row < 1){
  635. return;
  636. }
  637. // 2008.01.15. 대출 신청 취소...
  638. var ref = "/root/main/chrtrciplist";
  639. var grdObj = grd_receipt;
  640. var savedata = "m▦chrtseqno▦medirecno▦pid▦delyn▩";
  641. var dataString = "";
  642. var dataCount = 0;
  643. for ( var i = 0; i < grdObj.selectedRows; i++)
  644. {
  645. var renddd = model.getValue("/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]/renddd");
  646. if (renddd == "") {
  647. var chrtseqno = model.getValue(ref + "[" + grdObj.selectedrow(i) + "]/chrtseqno");
  648. var medirecno = model.getValue(ref + "[" + grdObj.selectedrow(i) + "]/medirecno");
  649. var pid = model.getValue(ref + "[" + grdObj.selectedrow(i) + "]/pid");
  650. dataString = dataString + "u▦" + chrtseqno + "▦" + medirecno + "▦" + pid + "▦Y▩";
  651. dataCount = dataCount + 1;
  652. }
  653. }
  654. if (dataString.length > 0)
  655. {
  656. alert("총 " + dataCount + " 건 대출신청이 취소되었습니다.");
  657. model.makeValue("/root/send/savedata", savedata + dataString);
  658. submit("TXMRC00105");
  659. }
  660. // 다시 조회하기..
  661. fGetReqRendAppList();
  662. }
  663. /**
  664. * @desc : exeReportPreview 함수 기본값 셋해주고 레포트 출력하기..
  665. * @
  666. * @param : 보고서ID, 연계방법, 매개변수필드 Xpath, 출력여부, 인쇄창 보임여부, 프린트용지(A4)
  667. * @return :
  668. * @authur : 이은영 2008.03.18
  669. * @---------------------------------------------------
  670. */
  671. /**
  672. exeReportPreview(
  673. rid, -- "RPMRC00102"
  674. dataType, -- "XMLSTR"
  675. paramsXPath, -- "/root/main/chrtrciplist"
  676. submitId,
  677. print, -- "true"
  678. printDialog, -- "false"
  679. fileType,
  680. fileName,
  681. fileDialog,
  682. closeYn, -- "true"
  683. monNo,
  684. parentObjId, -- 미리보기 숨기기 (group id - hidden)
  685. printPaperBin,
  686. userService,
  687. showButton,
  688. printCount,
  689. zoomRate,
  690. printPaper, -- "A4"
  691. dataXPath,
  692. mainDataXPath,
  693. subDataXPath)
  694. */
  695. //<< 옵션으로 사용할수 있는 문자열>>
  696. //* enablezoom : 확대/축소인쇄가능 (예) - > 0/1
  697. //* zoomnumber : 모아찍기 (예) - > 0/1/2/3/4/5/6
  698. //* zoomdirection : 출력순서 (예) - > 0/1
  699. //* enablefittingpaper : 용지크기에 자동 맞춤 (예) - > 0/1
  700. //* printpaper : 출력용지 (예) - > 0/1/2/3/4/5/6
  701. //* printdirection : 용지방향 (예) - > 0/1
  702. //* papersetting : 용지설정 (예) - > 0/1
  703. //* offsetx : 인쇄위치(가로) (예) - > 100
  704. //* offsety : 인쇄위치(세로) (예) - > 100
  705. //* duplex : 양면인쇄 (예) - > 0/1/2/3
  706. //(예) printPaper = "enablezoom=1;enablefittingpaper=0;printdirection=1;" (사용자정의)
  707. function fReportPrint(rid, dataType, paramsXPath, print, printDialog, parentObjId, printPaper)
  708. {
  709. resetReportPreview(parentObjId);
  710. // exeReportPreview("RPMRC00101", "XMLSTR", "/root/main/chrtrciplist", "", "true", "", "", "", "", "", "", "grp_report", "", "", "", "", "", "enablefittingpaper=1;");
  711. exeReportPreview(rid, dataType, paramsXPath, "", print, printDialog, "", "", "", "", "", parentObjId, "", "", "", "", "", printPaper);
  712. }
  713. /**
  714. * @desc : 접수증 출력시작
  715. * @
  716. * @param :
  717. * @return :
  718. * @authur : 이은영 2008.03.18
  719. * @---------------------------------------------------
  720. */
  721. function fPrntStartStop()
  722. {
  723. var interval = model.getValue("/root/init/timer");
  724. if(interval <= 0){
  725. messageBox("Time이 0초인 상태로는 시작","E001");
  726. return;
  727. }
  728. if (btn_interval.attribute("text") == "출력시작"){
  729. btn_interval.attribute("text") = "출력정지";
  730. gCount = interval;
  731. model.refresh();
  732. gTimerID = window.setInterval( "fprnfstacpt();", 1000);
  733. } else {
  734. window.clearinterval(gTimerID);
  735. btn_interval.attribute("text") = "출력시작";
  736. model.refresh();
  737. }
  738. }
  739. /**
  740. * @desc : 대출신청 리스트 출력
  741. * @
  742. * @param :
  743. * @return :
  744. * @authur : 이은영 2008.03.18
  745. * @---------------------------------------------------
  746. */
  747. function fPrntAppList()
  748. {
  749. var dataString = fPrntDataString("2"); // 2:대출신청출력
  750. if (dataString.length > 0)
  751. {
  752. model.makeValue("/root/send/savedata", dataString);
  753. model.refresh();
  754. submit("TXMRC00104");
  755. }
  756. // 대출신청 리스트 출력하기...
  757. exeReportPreview("RPMRC00101", "XMLSTR", "/root/main/chrtrciplist", "", "true");
  758. // 2008.01.16. 접수증 출력시 - 미리보기 창 안보이게 실행하기
  759. // fReportPrint("RPMRC00101", "XMLSTR", "/root/main/chrtrciplist", "true", "", "grp_report", "enablefittingpaper=1;");
  760. // 다시 조회하기..
  761. btn_r_receipt.dispatch("DOMActivate");
  762. }
  763. /**
  764. * @desc : 대출예약 리스트 출력
  765. * @
  766. * @param :
  767. * @return :
  768. * @authur : 이은영 2008.03.18
  769. * @---------------------------------------------------
  770. */
  771. function fPrntRsvList()
  772. {
  773. var dataString = fPrntDataString("3"); // 3:대출예약출력
  774. if (dataString.length > 0)
  775. {
  776. model.makeValue("/root/send/savedata", dataString);
  777. model.refresh();
  778. submit("TXMRC00104");
  779. }
  780. // 대출예약 리스트 출력하기...
  781. // xeReportPreview("RPMRC00102", "XMLSTR", "/root/main/chrtrciplist", "", "true");
  782. // 2008.01.16. 접수증 출력시 - 미리보기 창 안보이게 실행하기
  783. fReportPrint("RPMRC00102", "XMLSTR", "/root/main/chrtrciplist", "true", "", "grp_report", "enablefittingpaper=1;");
  784. // 다시 조회하기..
  785. btn_r_receipt.dispatch("DOMActivate");
  786. }
  787. /**
  788. * @desc : 사용자콤보 조회
  789. * @
  790. * @param : ref - reference path
  791. * rsltref - result reference path
  792. * deptcd - 부서코드
  793. * jobkindcd - 직종코드
  794. * jobposcd - 직책코드
  795. * specordyn - 선택진료여부
  796. * @return :
  797. * @author :
  798. * @---------------------------------------------------
  799. */
  800. function fGetUserComboList(ref, rsltref, deptcd, jobkindcd, specordyn)
  801. {
  802. model.removeNode(ref);
  803. model.makeValue(ref + "/deptcd" , deptcd); //부서코드
  804. model.makeValue(ref + "/jobkindcd", jobkindcd); //직종코드(의사:0330)
  805. model.makeValue(ref + "/specordyn", specordyn); //선택진료여부
  806. model.removeNode(rsltref);
  807. model.makeValue(rsltref + "/userlist/usercombo[1]/usernm", '-');
  808. model.makeValue(rsltref + "/userlist/usercombo[1]/userid", '');
  809. model.refresh();
  810. submit("TRMMB04102", "false", ref, rsltref + "/userlist");
  811. }
  812. /**
  813. * @desc : 환자등록번호 찾기...
  814. * @
  815. * @param :
  816. * @return :
  817. * @authur : 이은영 2008.07.21
  818. * @---------------------------------------------------
  819. */
  820. function fFindPid(grdObj, pidRef)
  821. {
  822. var pid = model.getValue(pidRef);
  823. var col = grdObj.colRef("pid");
  824. var startRow = grdObj.row + 1;
  825. if(startRow <= 0) { startRow = 1; }
  826. var row = grdObj.findRow(pid, parseInt(startRow), parseInt(grdObj.colRef("pid")), false, false);
  827. if(row < 0){
  828. alert("no more");
  829. } else {
  830. grdObj.row = row;
  831. grdObj.topRow = row;
  832. }
  833. }
  834. /**
  835. * @desc : 사용자콤보 조회
  836. * @
  837. * @param : ref - reference path
  838. * rsltref - result reference path
  839. * deptcd - 부서코드
  840. * jobkindcd - 직종코드
  841. * jobposcd - 직책코드
  842. * specordyn - 선택진료여부
  843. * @return :
  844. * @author :
  845. * @---------------------------------------------------
  846. */
  847. function fGetUserComboList(ref, rsltref, deptcd, jobkindcd, specordyn)
  848. {
  849. model.removeNode(ref);
  850. model.makeValue(ref + "/deptcd" , deptcd); //부서코드
  851. model.makeValue(ref + "/jobkindcd", jobkindcd); //직종코드(의사:0330)
  852. model.makeValue(ref + "/specordyn", specordyn); //선택진료여부
  853. model.removeNode(rsltref);
  854. model.makeValue(rsltref + "/userlist/usercombo[1]/usernm", '-');
  855. model.makeValue(rsltref + "/userlist/usercombo[1]/userid", '');
  856. model.refresh();
  857. submit("TRMMB04102", "false", ref, rsltref + "/userlist");
  858. }
  859. /**
  860. * @desc : 사용자 조회
  861. * @
  862. * @param : refUserid - 사용자 ID, refUserDeptcd - 소속부서코드 ( posdeptcd )
  863. * @return :
  864. * @authur : 이은영 2008.03.18
  865. * @---------------------------------------------------
  866. */
  867. function fGetUserid(refUserid, refUsernm, refUserDeptcd, cmbObj)
  868. {
  869. model.removenode("/root/hidden/tmp/tempuserinfo/list");
  870. model.reset("/root/hidden/tmp/tempuserinfo");
  871. var user = model.getValue(refUserid);
  872. var flag = "userid";
  873. if(isNaN(user)){
  874. flag = "usernm";
  875. }
  876. model.setValue("/root/hidden/tmp/userpopupinfo/param", "_OneS");
  877. model.setValue("/root/hidden/tmp/userpopupinfo/flag", flag);
  878. model.setValue("/root/hidden/tmp/userpopupinfo/searchitem", user);
  879. modal("SPZSU10103", "", "200", "200", "SPZSU10103","/root/hidden/tmp/userpopupinfo","/root/main/temp");
  880. var iParam = getParameter("SPZSU10103_");
  881. setCSVToNode("/root/hidden/tmp/tempuserinfo", iParam);
  882. clearParameter("SPZSU10103_");
  883. model.refresh();
  884. //fSearch는 인적사항 화면을 임포트 해간 화면에서 구현해 주어야 하는 함수이다.
  885. if( getNodesetCount("/root/hidden/tmp/tempuserinfo/list") > 0 ){
  886. var userid = model.getValue("/root/hidden/tmp/tempuserinfo/list/userid");
  887. var usernm = model.getValue("/root/hidden/tmp/tempuserinfo/list/usernm");
  888. var posdeptcd = model.getValue("/root/hidden/tmp/tempuserinfo/list/posdeptcd");
  889. if (!isNull(refUsernm)){
  890. if (isNaN(refUsernm)){
  891. model.makeValue(refUsernm, usernm);
  892. }
  893. }
  894. if (!isNull(refUserDeptcd)){
  895. if (isNaN(refUserDeptcd)){
  896. model.makeValue(refUserDeptcd, posdeptcd);
  897. }
  898. }
  899. if (cmbObj != null){
  900. fAddUser(userid, usernm, cmbObj);
  901. }
  902. model.makeValue(refUserid, userid);
  903. model.refresh();
  904. }
  905. }
  906. /**
  907. * @desc : 사용자 조회
  908. * @
  909. * @param : Userid - 사용자ID, Usernm - 사용자명
  910. * @return :
  911. * @authur : 이은영 2008.09.01
  912. * @---------------------------------------------------
  913. */
  914. function fAddUser(Userid, Usernm, cmbObj)
  915. {
  916. var ref = cmbObj.choices.itemset.attribute("nodeset");
  917. var cnt = getNodesetCnt(model, ref) + 1 ;
  918. var userid = model.getValue(ref + "[userid ='" + Userid + "']/userid");
  919. if (userid == ""){
  920. model.makeValue(ref + "["+ cnt +"]/userid", Userid);
  921. model.makeValue(ref + "["+ cnt +"]/usernm", Usernm);
  922. var dataRef = cmbObj.attribute("ref");
  923. model.setValue(dataRef, Userid);
  924. cmbObj.refresh();
  925. }
  926. }
  927. /**
  928. * @desc : excel 저장 하기
  929. * @
  930. * @param :
  931. * @return :
  932. * @authur : 이은영 2008.07.14
  933. * @---------------------------------------------------
  934. */
  935. function fExcel(gridObj, title){
  936. if (title == null) { title = "" }
  937. var fileName = window.fileDialog("save", ",", false, title + "_" + getCurrentDate(), "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  938. if (fileName != "") {
  939. gridObj.saveExcel(fileName, "SheetName", true, true, "", "", true);
  940. }
  941. }
  942. /**
  943. * @desc : 선택된 환자등록번호로 현위치조회 텝이동..
  944. * @
  945. * @param : gridObj - 그리드 컨트롤, ref - node path
  946. * @return :
  947. * @authur : 이은영 2008.03.18
  948. * @---------------------------------------------------
  949. */
  950. function fMoveTabChartByPid(gridObj, ref){
  951. if (isDataCell() == false){
  952. return;
  953. }
  954. if (gridObj.row < 1){
  955. return;
  956. }
  957. var pid = model.getValue(ref + "[" + gridObj.row + "]/pid");
  958. var pnm = model.getValue(ref + "[" + gridObj.row + "]/pnm");
  959. window.parent.model.makeValue("/root/send/reqdata/pid" , pid);
  960. window.parent.model.makeValue("/root/send/reqdata/pnm" , pnm);
  961. window.parent.model.makeValue("/root/send/reqdata/rrgstno", "");
  962. window.parent.model.refresh();
  963. window.parent.btn_ChrtInfo.dispatch("onclick");
  964. window.parent.javascript.fChartHistory();
  965. }
  966. /**
  967. * @desc : 단축키 선택시 커서이동
  968. * @
  969. * @param :
  970. * @return :
  971. * @authur : 이은영 2009.01.28
  972. * @---------------------------------------------------
  973. */
  974. function fKeyDown(){
  975. // F7 : 118, F8 : 119 , F9 : 120, F10 : 121
  976. var keyCode = event.keyCode;
  977. if (keyCode == "118") {
  978. window.parent.javascript.fAccessKey1();
  979. } else if (keyCode == "119") {
  980. window.parent.javascript.fAccessKey2();
  981. } else if (keyCode == "120") {
  982. window.parent.javascript.fAccessKey3();
  983. } else if (keyCode == "121") {
  984. window.parent.javascript.fAccessKey4();
  985. }
  986. }
  987. /**
  988. * @desc : 대출신청 리스트 출력 (선택 로우 출력)
  989. * @
  990. * @param :
  991. * @return :
  992. * @authur : 이은영 2009.02.05
  993. * @---------------------------------------------------
  994. */
  995. function fPrntAppListSelected()
  996. {
  997. var dataString = fPrntDataStringSelected("2"); // 2:대출신청출력
  998. if (dataString.length > 0)
  999. {
  1000. model.makeValue("/root/send/savedata", dataString);
  1001. model.refresh();
  1002. submit("TXMRC00104");
  1003. }
  1004. // 대출신청 리스트 출력하기...
  1005. exeReportPreview("RPMRC00103", "XMLSTR", "/root/hidden/rex/chrtrciplist", "", "true");
  1006. // 2008.01.16. 접수증 출력시 - 미리보기 창 안보이게 실행하기
  1007. // fReportPrint("RPMRC00103", "XMLSTR", "/root/hidden/rex/chrtrciplist", "true", "", "grp_report", "enablefittingpaper=1;");
  1008. // 다시 조회하기..
  1009. btn_r_receipt.dispatch("DOMActivate");
  1010. }
  1011. /**
  1012. * @desc : 대출예약 리스트 출력 (선택 로우 출력)
  1013. * @
  1014. * @param :
  1015. * @return :
  1016. * @authur : 이은영 2009.02.05
  1017. * @---------------------------------------------------
  1018. */
  1019. function fPrntRsvListSelected()
  1020. {
  1021. var dataString = fPrntDataStringSelected("3"); // 3:대출예약출력
  1022. if (dataString.length > 0)
  1023. {
  1024. model.makeValue("/root/send/savedata", dataString);
  1025. model.refresh();
  1026. submit("TXMRC00104");
  1027. }
  1028. // 대출예약 리스트 출력하기...
  1029. exeReportPreview("RPMRC00104", "XMLSTR", "/root/hidden/rex/chrtrciplist", "", "true");
  1030. // 2008.01.16. 접수증 출력시 - 미리보기 창 안보이게 실행하기
  1031. // fReportPrint("RPMRC00104", "XMLSTR", "/root/hidden/rex/chrtrciplist", "true", "", "grp_report", "enablefittingpaper=1;");
  1032. // 다시 조회하기..
  1033. btn_r_receipt.dispatch("DOMActivate");
  1034. }
  1035. /**
  1036. * @desc : 출력일시 업데이트 데이타 스트링... (선택 로우 출력)
  1037. * @
  1038. * @param : prnttype : 출력구분 (0:안함,1:접수증출력,2:대출신청리스트출력,3:대출예약리스트출력)
  1039. * @return : dataString
  1040. * @authur : 이은영 2009.02.05
  1041. * @---------------------------------------------------
  1042. */
  1043. function fPrntDataStringSelected(prnttype)
  1044. {
  1045. // 2008.01.21. prnttype : 출력구분 (0:안함,1:접수증출력,2:대출신청리스트출력,3:대출예약리스트출력)
  1046. if (prnttype == null) { return; }
  1047. // 노드 클리어..
  1048. model.removeNodeset("/root/hidden/rex/chrtrciplist");
  1049. model.refresh();
  1050. var savedata = "m▦chrtseqno▦medirecno▦pid▦rendcd▦prnttype▦fstacptprndt▩";
  1051. var dataString = "";
  1052. var fstacptprndt = getCurrentDate() + getCurrentTime();
  1053. var keepplce = model.getValue("/root/init/print");
  1054. for ( var i = 0; i < grd_receipt.selectedRows; i++)
  1055. {
  1056. if (prnttype == "1") {
  1057. // 2008.01.18. 접수증 출력시..
  1058. // 1. 접수증이 미출력 상태인가?
  1059. // 2. 챠트가 미대출챠트 인가?
  1060. // 3. 보관장소가 출력대상인가?
  1061. var chrtlendyn = model.getValue("/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]/chrtlendyn");
  1062. var renddd = model.getValue("/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]/renddd");
  1063. if (chrtlendyn != "Y" && renddd == "") {
  1064. var prnt = model.getValue("/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]/prnttype");
  1065. var keepno = model.getValue("/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]/keepno");
  1066. if (prnt == "0" && keepplce.indexOf(keepno) > -1) {
  1067. model.setValue("/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]/fstacptprndt", fstacptprndt);
  1068. // model.refresh();
  1069. var chrtseqno = model.getValue("/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]/chrtseqno");
  1070. var medirecno = model.getValue("/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]/medirecno");
  1071. var pid = model.getValue("/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]/pid");
  1072. var rendcd = model.getValue("/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]/rendcd");
  1073. dataString = dataString + "u▦" + chrtseqno + "▦" + medirecno + "▦" + pid + "▦" + rendcd + "▦" + prnttype + "▦" + fstacptprndt + "▩";
  1074. // 선택 로우 카피...
  1075. copyNodeListType("/root/hidden/rex", "/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]", "after");
  1076. }
  1077. }
  1078. } else {
  1079. var prnt = model.getValue("/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]/prnttype");
  1080. if (prnt == "0") {
  1081. model.setValue("/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]/fstacptprndt", fstacptprndt);
  1082. // model.refresh();
  1083. var chrtseqno = model.getValue("/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]/chrtseqno");
  1084. var medirecno = model.getValue("/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]/medirecno");
  1085. var pid = model.getValue("/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]/pid");
  1086. var rendcd = model.getValue("/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]/rendcd");
  1087. dataString = dataString + "u▦" + chrtseqno + "▦" + medirecno + "▦" + pid + "▦" + rendcd + "▦" + prnttype + "▦" + fstacptprndt + "▩";
  1088. }
  1089. // 선택 로우 카피...
  1090. copyNodeListType("/root/hidden/rex", "/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]", "after");
  1091. }
  1092. }
  1093. if (dataString.length > 0) {
  1094. dataString = savedata + dataString;
  1095. }
  1096. return dataString;
  1097. }
  1098. /**
  1099. * @desc :접수자명단 우클릭시 - > 신청처리메세지 입력
  1100. * @
  1101. * @param :
  1102. * @return :
  1103. * @authur : 이은영 2009.02.06
  1104. * @---------------------------------------------------
  1105. */
  1106. function fsetapptretmsg(){
  1107. if(grd_receipt.row < 1){
  1108. return;
  1109. }
  1110. // 2009.02.06. 신청처리메세지 입력하기...
  1111. fShowWndIptBox("3");
  1112. }
  1113. /**
  1114. * @desc : 접수자명단 우클릭시 - > 신청처리메세지 입력 (update)
  1115. * @
  1116. * @param :
  1117. * @return :
  1118. * @authur : 이은영 2009.02.06
  1119. * @---------------------------------------------------
  1120. */
  1121. function fUpdateAppTretMsg()
  1122. {
  1123. // 2009.02.06. 신청처리메세지 입력하기...
  1124. var apptretmsg = model.getValue("/root/hidden/chrtrciplist/apptretmsg");
  1125. var savedata ="chrtseqno▦apptretmsg▩";
  1126. var dataString = "";
  1127. var dataCount = 0;
  1128. for ( var i = 0; i < grd_receipt.selectedRows; i++)
  1129. {
  1130. var renddd = model.getValue("/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]/renddd");
  1131. if (renddd == "") {
  1132. var chrtseqno = model.getValue("/root/main/chrtrciplist[" + grd_receipt.selectedrow(i) + "]/chrtseqno");
  1133. dataString = dataString + chrtseqno + "▦" + apptretmsg + "▩";
  1134. dataCount = dataCount + 1;
  1135. }
  1136. }
  1137. if (dataString.length > 0)
  1138. {
  1139. alert("총 " + dataCount + " 건 신청처리메세지가 입력 되었습니다.");
  1140. model.makeValue("/root/send/savedata", savedata + dataString);
  1141. submit("TXMRC00108");
  1142. }
  1143. // 2009.02.11. 메세지함 화면 띄워주기..
  1144. modal("SPZMI00101");
  1145. grup_apptretmsg.visible = false;
  1146. // 다시 조회하기..
  1147. fGetReqRendAppList();
  1148. }
  1149. /**
  1150. * @desc : 두꺼운 챠트 여부 입력
  1151. * @
  1152. * @param :
  1153. * @return :
  1154. * @authur : 정창혁 20121126
  1155. * @---------------------------------------------------
  1156. */
  1157. function fSaveThickChart() {
  1158. if (grd_receipt.row < grd_receipt.fixedRows)
  1159. return;
  1160. var sMsg = "두꺼운 차트 여부를 설정하시겠습니까?";
  1161. if (grd_receipt.valueMatrix(grd_receipt.row, grd_receipt.colRef("thickyn")) == "Y") {
  1162. sMsg = "두꺼운 차트 적용을 취소하시겠습니까?";
  1163. model.makeValue("/root/send/savedata/thickyn", "N");
  1164. } else if (grd_receipt.valueMatrix(grd_receipt.row, grd_receipt.colRef("thickyn")) == "N" || grd_receipt.valueMatrix(grd_receipt.row, grd_receipt.colRef("thickyn")) == "") {
  1165. sMsg = "두꺼운 차트로 적용하시겠습니까?";
  1166. model.makeValue("/root/send/savedata/thickyn", "Y");
  1167. } else {
  1168. model.makeValue("/root/send/savedata/thickyn", "");
  1169. return;
  1170. }
  1171. if (messageBox(sMsg, "Q000") == 7) {
  1172. return;
  1173. }
  1174. model.makeValue("/root/send/savedata/medirecno", grd_receipt.valueMatrix(grd_receipt.row, grd_receipt.colRef("medirecno")));
  1175. if (submit("TXMRC00111")) {
  1176. btn_r_receipt.dispatch("DOMActivate");
  1177. }
  1178. }