SMARC02000.js 50 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309
  1. /**
  2. * @desc : 의사회신서 출력 버튼 클릭
  3. * @
  4. * @param :
  5. * @return :
  6. * @author : 정희수
  7. * @---------------------------------------------------
  8. */
  9. // 초기값 셋팅
  10. function fInit()
  11. {
  12. // 오늘 날짜로 세팅
  13. var CurrentDate = getCurrentDate();
  14. model.setValue("/root/send/search/fromdd", CurrentDate);
  15. model.setValue("/root/send/search/todd", CurrentDate );
  16. // 진료과
  17. var instcd = getUserInfo("dutplceinstcd");
  18. var standard_yn = "rcptuseyn";
  19. var ord_deptflag = 'D';
  20. var rslt_ref = "/root/init/dept";
  21. var sort_method = "depthngnm";
  22. sort_field = "depthngnm"
  23. zsdfGetInOutOrdDeptList(instcd, rslt_ref, sort_field, sort_method);
  24. //hie병원여부
  25. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/hieyn", 5975);
  26. var hieyn = model.getValue("/root/init/hieyn/hardcd/hardcd");
  27. if (hieyn == "Y") {
  28. btn_hieyn.attribute("visibility") = "visible";
  29. }
  30. //회신방법(20160226 - 회신유형 코드추가)
  31. //zbcfGetCodeList(new Array("A0422", "A0636"),new Array("/root/init/replmthd", "/root/init/qreplflag"), true );
  32. zbcfGetCodeList(new Array("A0422", "A0636", "A0423"),new Array("/root/init/replmthd", "/root/init/qreplflag" , "/root/init/repltype"), true );
  33. addComboItem("cmb_orddeptcd", "", "", "above");
  34. addComboItem("cmb_replflag", "", "-", "above");
  35. cmb_replflag.select(1); //091016 kimsj DEFAULT값 '예'로 변경
  36. //진료의사조회
  37. fDoctSearch();
  38. model.removeNodeset("/root/main/list/repldoculist");
  39. model.refresh();
  40. }
  41. // 진료의사 조회
  42. function fDoctSearch()
  43. {
  44. // 진료의사
  45. model.removenode("/root/send/doctor");
  46. model.makeValue("/root/send/doctor/orddd", model.getValue("/root/send/search/fromdd"));
  47. model.makeValue("/root/send/doctor/orddeptcd", model.getValue("/root/send/search/orddeptcd"));
  48. submit("TRARC01302", false);
  49. cmb_orddrid.select(0);
  50. //model.setValue("/root/main/patient/orddrid", orddrid);
  51. }
  52. // 등록번호 조회 팝업
  53. function fPatPopUp()
  54. {
  55. /*
  56. model.makeValue("/root/temp/pid", model.getValue("/root/send/search/pid"));
  57. model.makeValue("/root/temp/srchcond","1");
  58. model.makeValue("/root/temp/autoflag","Y");
  59. */
  60. modal("SPPMC02500", 1,10, 10, "SPPMC02500", "/root/temp", "/root/send");
  61. //model.resetInstanceNode("/root/main/patinfo/patinfolist");
  62. //model.resetInstanceNode("/root/send/cond");
  63. if (model.getValue("/root/main/popupendflag") == "ok"){
  64. model.setValue("/root/send/search/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  65. model.setValue("/root/send/search/hngnm", model.getValue("/root/main/patinfo/patinfolist/hngnm"));
  66. }
  67. //fHistSearch();
  68. model.refresh();
  69. }
  70. // 초기화
  71. function fAllClear()
  72. {
  73. grd_list.fixedcellischeck(0,1) = false;
  74. model.resetInstanceNode("/root/send/search");
  75. var CurrentDate = getCurrentDate();
  76. model.setValue("/root/send/search/fromdd", CurrentDate);
  77. model.setValue("/root/send/search/todd", CurrentDate );
  78. model.setValue("/root/send/search/fstprint", '%' );
  79. model.setValue("/root/send/search/fstyn", 'N' );
  80. model.resetInstanceNode("/root/send/search/formrecusenm");
  81. model.resetInstanceNode("/root/send/search/pid");
  82. model.resetInstanceNode("/root/send/search/hngnm");
  83. model.removeNodeset("/root/main/list/repldoculist");
  84. cmb_orddeptcd.select(0);
  85. cmb_replflag.select(0);
  86. fDoctSearch();
  87. model.refresh();
  88. }
  89. // 조회전 필수 체크
  90. function fCheckDate()
  91. {
  92. var fromdd = model.getValue("/root/send/search/fromdd");
  93. var todd = model.getValue("/root/send/search/todd");
  94. var pid = model.getValue("/root/send/search/pid");
  95. if (isNull(pid) == true)
  96. {
  97. if( ! isValidDateTime( fromdd, 'YYYYMMDD') || ! isValidDateTime( todd, 'YYYYMMDD') ){
  98. messageBox("입력하신 일자구분이 정확한 날짜타입이 아닙니다.", "E999", "");
  99. return false;
  100. }
  101. /*
  102. if( getDateInterval(fromdd, todd) > 31 ){
  103. messageBox("조회가능한 최대 기간은 1달입니다. 일자구분에서 날짜를 수정하세요!", "E999", "");
  104. return false;
  105. }
  106. */
  107. if( getDateInterval(fromdd, todd) < 0 ){
  108. messageBox("일자구분에서 시작일자가 종료일자보다 미래일자 입니다. 확인하세요!", "E999", "");
  109. return false;
  110. }
  111. // 날짜 계산
  112. var daycnt = getDateInterval(fromdd, todd);
  113. // 1일이 아닌 경우는 조건을 타야 함
  114. if (daycnt != 0)
  115. {
  116. // 진료과 체크
  117. /*
  118. if (model.getValue("/root/send/search/orddeptcd") == "")
  119. {
  120. messageBox("일자구분에서 하루 이상의 기간을 선택했을 경우, 진료과는 조회 필수 조건입니다. 진료과를 입력하세요.", "E999", "");
  121. //messageBox("진료과를 ","C002");
  122. return false;
  123. }
  124. */
  125. if (ipt_hngnm.currentText.length > 0 && ipt_hngnm.currentText.length < 2) {
  126. messageBox("환자명은 2글자 이상으로 해주십시요!","E999","");
  127. model.setFocus("ipt_hngnm");
  128. return false;
  129. }
  130. }
  131. }
  132. return true;
  133. }
  134. // 조회
  135. function fSearch()
  136. {
  137. // reqGetReplDocuList
  138. // getReplDocuList
  139. if (submit("TRARC02001", false) == true)
  140. {
  141. grd_list.fixedcellischeck(0, 1) = false;
  142. }
  143. else
  144. {
  145. messageBox("조회를", "E009");
  146. }
  147. model.refresh();
  148. }
  149. // 미리보기
  150. function fPreview(){
  151. /*
  152. var currow = grd_list.row;
  153. model.makeValue("/root/temp/popup/pid" ,model.getValue("/root/main/list/repldoculist["+ currow +"]/pid"));
  154. model.makeValue("/root/temp/popup/cretno",model.getValue("/root/main/list/repldoculist["+ currow +"]/cretno"));
  155. model.makeValue("/root/temp/popup/ioflag",model.getValue("/root/main/list/repldoculist["+ currow +"]/ioflag"));
  156. model.makeValue("/root/temp/popup/disflag","popup");
  157. model.makeValue("/root/temp/popup/profcertseq",model.getValue("/root/main/list/repldoculist["+ currow +"]/profcertseq"));
  158. model.makeValue("/root/temp/popup/formrecseq",model.getValue("/root/main/list/repldoculist["+ currow +"]/formrecseq"));
  159. model.makeValue("/root/temp/popup/ord","ord");
  160. model.makeValue("/root/temp/popup/issstat",model.getValue("/root/main/list/repldoculist["+ currow +"]/issstat"));
  161. model.makeValue("/root/temp/popup/issflag",model.getValue("/root/main/list/repldoculist["+ currow +"]/issflag"));
  162. model.makeValue("/root/temp/popup/issid",model.getValue("/root/main/list/repldoculist["+ currow +"]/issid"));
  163. model.makeValue("/root/temp/popup/issnm",model.getValue("/root/main/list/repldoculist["+ currow +"]/issnm"));
  164. model.makeValue("/root/temp/popup/issdeptcd",model.getValue("/root/main/list/repldoculist["+ currow +"]/issdeptcd"));
  165. model.makeValue("/root/temp/popup/issdeptnm",model.getValue("/root/main/list/repldoculist["+ currow +"]/formrecdeptnm"));
  166. modal("SMMMR02900", 1,10, 10, "SMMMR02900", "/root/temp/popup", "/root/temp/popup");
  167. */
  168. if (grd_list.rows <= 1) return;
  169. if (grd_list.row < 1) return;
  170. var currow = grd_list.row;
  171. var sREPLDOCULIST_PATH = "/root/main/list/repldoculist";
  172. var replseqno = model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/replseqno")
  173. var irow = grd_list.rows;
  174. // 출력시 수술정보, 입퇴원정보, 외래예약정보 저장해야 함
  175. // 출력일지 저장해야 함
  176. //var savedata = grd_list.getUpdateDataAll("u");
  177. //model.resetInstanceNode("/root/send/viewcond");
  178. //model.setValue("/root/send/viewcond", grd_list.getUpdateDataAll("u"));
  179. model.resetInstanceNode("/root/send/viewcond");
  180. model.copyNode("/root/send/viewcond", sREPLDOCULIST_PATH+"["+ grd_list.row +"]");
  181. if (submit("TRARC02002", false) == true)
  182. {
  183. //==================================================================
  184. // 치료사항 및 향후 계획의 내용을 Row단위로 만들기(enter로 구분)
  185. var curecnts = model.getValue("/root/main/previewinfo/replinfo/curecnts");
  186. cureArray = curecnts.split("\n");
  187. m = 1;
  188. for (k = 0; k < cureArray.length; k++)
  189. {
  190. model.makeValue("/root/main/previewinfo/curelsit[" + m + "]/curecnts", cureArray[k]);
  191. m = m + 1;
  192. }
  193. //==================================================================
  194. fInitial_subordlist();
  195. var nodecnt = model.instances(0).selectNodes("/root/main/previewinfo/rsltinfo").length;
  196. if (model.instances(0).selectNodes("/root/main/previewinfo/rsltinfo").length >= 1)
  197. {
  198. //alert(nodecnt);
  199. if (model.getValue("/root/main/previewinfo/rsltinfo[1]/prcpdd") != "")
  200. {
  201. var sPassData =
  202. "bcno" //바코드번호
  203. + "▦testmdlcd" //검사중분류코드
  204. + "▦lastreptdd" //최종보고일자
  205. + "▦examgubun" //검사구분
  206. + "▦level" //바코드검사레벨(LIS)
  207. + "▦srchpid" //등록번호
  208. + "▦dutplceinstcd" //기관코드
  209. + "▦prcpdd" //처방일자
  210. + "▦execprcpuniqno" //실시유일번호
  211. + "▩" ;
  212. for( var i = 1 ; i <= nodecnt ; i++ ) {
  213. /*
  214. var nodeList = instance1.selectNodes("/root/main/previewinfo/rsltinfo["+i+"]");
  215. var rCSV = getNodeListCSV(nodeList);
  216. // model.copyNode("/root/send/maindata" , "/root/main/ordlist1/maindailylist["+row+"]");
  217. //alert('rCSV하기전->'+rCSV);
  218. model.setValue("/root/send/maindata", rCSV);
  219. */
  220. sPassData = sPassData
  221. + model.getValue("/root/main/previewinfo/rsltinfo["+ i + "]/bcno") //바코드번호
  222. + "▦" + model.getValue("/root/main/previewinfo/rsltinfo["+ i + "]/testmdlcd") //검사중분류코드
  223. + "▦" + model.getValue("/root/main/previewinfo/rsltinfo["+ i + "]/lastreptdd") //최종보고일자
  224. + "▦" + model.getValue("/root/main/previewinfo/rsltinfo["+ i + "]/examgubun") //검사구분
  225. + "▦" + model.getValue("/root/main/previewinfo/rsltinfo["+ i + "]/depth") //바코드검사레벨(LIS)
  226. + "▦" + model.getValue("/root/main/previewinfo/rsltinfo["+ i + "]/pid") //등록번호
  227. + "▦" + getUserInfo("dutplceinstcd") //기관코드
  228. + "▦" + model.getValue("/root/main/previewinfo/rsltinfo["+ i + "]/prcpdd") //처방일자
  229. + "▦" + model.getValue("/root/main/previewinfo/rsltinfo["+ i + "]/execprcpuniqno") //실시유일번호
  230. + "▩" ;
  231. //alert(rCSV);
  232. }
  233. model.setValue("/root/send/maindata", sPassData);
  234. submit("TRAER00850");
  235. //==================================================================
  236. // kimsj 검사결과 상세내역의 내용을 Row단위로 만들기(enter로 구분)
  237. var rsltChk = 0;
  238. var j = 1;
  239. var rsltprcp = "";
  240. var rsltCnts = "";
  241. var rsltArray = "";
  242. var rsltNodeCnt = model.instances(0).selectNodes("/root/main/subordlist1/subresultdetail1").length;
  243. model.removeNodeset("/root/hidden/subordlist1/subresultdetail1");
  244. for( var m = 1 ; m <= rsltNodeCnt ; m++ )
  245. {
  246. //kimsj 검사결과 내역중 이미지(IMG) 가 있을 경우 SKIP
  247. if ( model.getValue("/root/main/subordlist1/subresultdetail1["+ m + "]/img") == "IMG") continue;
  248. rsltprcp = model.getValue("/root/main/subordlist1/subresultdetail1["+ m + "]/prcpcd");
  249. rsltCnts = model.getValue("/root/main/subordlist1/subresultdetail1["+ m + "]/reptrslt");
  250. rsltArray = rsltCnts.split("\n");
  251. for (var k = 0; k < rsltArray.length; k++)
  252. {
  253. model.makeValue("/root/hidden/subordlist1/subresultdetail1[" + j + "]/reptrslt", "_"+rsltArray[k]); //공백문자 포함하기 위해 "_"추가 [pData.substr(1, plen)]
  254. model.makeValue("/root/hidden/subordlist1/subresultdetail1[" + j + "]/prcpcd", rsltprcp);
  255. j = j + 1;
  256. }
  257. }
  258. model.removeNodeset("/root/main/subordlist1/subresultdetail1");
  259. model.copyNode("/root/main/subordlist1", "/root/hidden/subordlist1");
  260. //==================================================================
  261. }
  262. }
  263. //exeReportPreview("RPARC02500", "XMLSTR","","","true","","","","","","","grp_prnt");
  264. //setParameter("reportprintyn", "");
  265. //exeReportPreview("RPARC02500", "XMLSTR");
  266. var rid = "RPARC02500"; // 레포트명
  267. var dataType = "XMLSTR"; // 연계방법(XMLSTR/ XMLFILE/ XML)
  268. var paramsXPath = ""; // 매개변수필드 XPath
  269. var submitId = ""; // SubmitID
  270. var print = ""; // 출력여부(true, false)
  271. var printDialog = ""; // 인쇄 창 보임 여부(true, false)
  272. var fileType = ""; // 저장타입(xls/ pdf/ hml/rtf/ html/ bmp/ txt/ xml )
  273. var fileName = ""; // 파일명(c:\report\레포트명.저장타입)
  274. var fileDialog = ""; // 파일 저장 창 보임여부(0 : 숨김[기본]/1 : 보임)
  275. var closeYn = ""; // 미리보기창닫기여부(출력 후 true로 설정한 경우 미리보기 화면 닫기)
  276. var monNo = ""; // 모니터 번호
  277. var parentObjId = ""; // 부모객체명(미리 생성한 부모 객체명, 해당 부모 객체에 레포트 데이터를 생성한다.)
  278. var printPaperBin = ""; // 트레이번호
  279. var userService = ""; // 데이터 소스
  280. //var showButton = "hidden"; // 툴바버튼보임여부(visible, hidden)
  281. var showButton = ""; // 툴바버튼보임여부(visible, hidden)
  282. var printCount = ""; // 프린트장수(1, 2,..)
  283. var zoomRate = ""; // 미리보기뷰어 비율(0, 50,...)
  284. var printOption = ""; // 출력시 선택 옵션
  285. var dataXPath = ""; // 데이터 XPath
  286. var mainDataXPath = ""; // 메인리포트 반복XPath
  287. var subDataXPath = ""; // 서브리포트1 반복Xpath
  288. exeReportPreview(rid, dataType, paramsXPath, submitId, print, printDialog, fileType, fileName, fileDialog, closeYn, monNo, parentObjId, printPaperBin, userService, showButton, printCount, zoomRate, printOption, dataXPath, mainDataXPath, subDataXPath);
  289. }
  290. else
  291. {
  292. messageBox("출력정보를 저장", "E001");
  293. }
  294. }
  295. // 일괄 출력
  296. function fReplprint(allflag){
  297. var currow = grd_list.row;
  298. var sREPLDOCULIST_PATH = "/root/main/list/repldoculist";
  299. var replseqno = model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/replseqno")
  300. var irow = grd_list.rows;
  301. var cnt = 0;
  302. //var savedata = getNodeListCSV(instance1.selectNodes(sREPLDOCULIST_PATH));
  303. for(var i=1; i < irow; i++){
  304. var chk = model.getValue(sREPLDOCULIST_PATH+"["+ i +"]/chk")
  305. if (chk == "Y"){
  306. cnt++;
  307. }
  308. }
  309. if(cnt == 0){
  310. messageBox("출력할 데이터를", "C002");
  311. return;
  312. }
  313. // 일괄출력 여부
  314. if (allflag == "Y")
  315. {
  316. }
  317. else
  318. {
  319. if (cnt > 1)
  320. {
  321. messageBox("미리보기는 한 건에 대해서만 가능합니다. 출력할 데이터를", "C002");
  322. return;
  323. }
  324. }
  325. //model.setValue("/root/send/savedata", savedata);
  326. // 출력시 수술정보, 입퇴원정보, 외래예약정보 저장해야 함
  327. // 출력일지 저장해야 함
  328. //var savedata = grd_list.getUpdateDataAll("u");
  329. model.resetInstanceNode("/root/send/viewcond");
  330. model.setValue("/root/send/viewcond", grd_list.getUpdateDataAll("u"));
  331. for(var i=1; i < irow; i++)
  332. {
  333. var chk = model.getValue(sREPLDOCULIST_PATH+"["+ i +"]/chk")
  334. if (chk == "Y"){
  335. model.resetInstanceNode("/root/send/viewcond");
  336. model.copyNode("/root/send/viewcond", sREPLDOCULIST_PATH+"["+ i +"]");
  337. if (submit("TRARC02002", false) == true)
  338. {
  339. //exeReportPreview("RPARC02500", "XMLSTR","","","true","","","","","","","grp_prnt");
  340. //setParameter("reportprintyn", "");
  341. //==================================================================
  342. // 치료사항 및 향후 계획의 내용을 Row단위로 만들기(enter로 구분)
  343. var curecnts = model.getValue("/root/main/previewinfo/replinfo/curecnts");
  344. cureArray = curecnts.split("\n");
  345. m = 1;
  346. for (k = 0; k < cureArray.length; k++)
  347. {
  348. model.makeValue("/root/main/previewinfo/curelsit[" + m + "]/curecnts", cureArray[k]);
  349. m = m + 1;
  350. }
  351. //==================================================================
  352. // 출력
  353. if (allflag == "Y")
  354. {
  355. fInitial_subordlist();
  356. var nodecnt = model.instances(0).selectNodes("/root/main/previewinfo/rsltinfo").length;
  357. if (model.instances(0).selectNodes("/root/main/previewinfo/rsltinfo").length >= 1)
  358. {
  359. if (model.getValue("/root/main/previewinfo/rsltinfo[1]/prcpdd") != "")
  360. {
  361. var sPassData =
  362. "bcno" //바코드번호
  363. + "▦testmdlcd" //검사중분류코드
  364. + "▦lastreptdd" //최종보고일자
  365. + "▦examgubun" //검사구분
  366. + "▦level" //바코드검사레벨(LIS)
  367. + "▦srchpid" //등록번호
  368. + "▦dutplceinstcd" //기관코드
  369. + "▦prcpdd" //처방일자
  370. + "▦execprcpuniqno" //실시유일번호
  371. + "▩" ;
  372. for( var j = 1 ; j <= nodecnt ; j++ ) {
  373. /*
  374. var nodeList = instance1.selectNodes("/root/main/previewinfo/rsltinfo["+i+"]");
  375. var rCSV = getNodeListCSV(nodeList);
  376. // model.copyNode("/root/send/maindata" , "/root/main/ordlist1/maindailylist["+row+"]");
  377. //alert('rCSV하기전->'+rCSV);
  378. model.setValue("/root/send/maindata", rCSV);
  379. */
  380. sPassData = sPassData
  381. + model.getValue("/root/main/previewinfo/rsltinfo["+ j + "]/bcno") //바코드번호
  382. + "▦" + model.getValue("/root/main/previewinfo/rsltinfo["+ j + "]/testmdlcd") //검사중분류코드
  383. + "▦" + model.getValue("/root/main/previewinfo/rsltinfo["+ j + "]/lastreptdd") //최종보고일자
  384. + "▦" + model.getValue("/root/main/previewinfo/rsltinfo["+ j + "]/examgubun") //검사구분
  385. + "▦" + model.getValue("/root/main/previewinfo/rsltinfo["+ j + "]/depth") //바코드검사레벨(LIS)
  386. + "▦" + model.getValue("/root/main/previewinfo/rsltinfo["+ j + "]/pid") //등록번호
  387. + "▦" + getUserInfo("dutplceinstcd") //기관코드
  388. + "▦" + model.getValue("/root/main/previewinfo/rsltinfo["+ j + "]/prcpdd") //처방일자
  389. + "▦" + model.getValue("/root/main/previewinfo/rsltinfo["+ j + "]/execprcpuniqno") //실시유일번호
  390. + "▩" ;
  391. }
  392. model.setValue("/root/send/maindata", sPassData);
  393. submit("TRAER00850");
  394. //==================================================================
  395. // kimsj 검사결과 상세내역의 내용을 Row단위로 만들기(enter로 구분)
  396. var rsltChk = 0;
  397. var j = 1;
  398. var rsltprcp = "";
  399. var rsltCnts = "";
  400. var rsltArray = "";
  401. var rsltNodeCnt = model.instances(0).selectNodes("/root/main/subordlist1/subresultdetail1").length;
  402. model.removeNodeset("/root/hidden/subordlist1/subresultdetail1");
  403. for( var m = 1 ; m <= rsltNodeCnt ; m++ )
  404. {
  405. //kimsj 검사결과 내역중 이미지(IMG) 가 있을 경우 SKIP
  406. if ( model.getValue("/root/main/subordlist1/subresultdetail1["+ m + "]/img") == "IMG") continue;
  407. rsltprcp = model.getValue("/root/main/subordlist1/subresultdetail1["+ m + "]/prcpcd");
  408. rsltCnts = model.getValue("/root/main/subordlist1/subresultdetail1["+ m + "]/reptrslt");
  409. rsltArray = rsltCnts.split("\n");
  410. for (var k = 0; k < rsltArray.length; k++)
  411. {
  412. model.makeValue("/root/hidden/subordlist1/subresultdetail1[" + j + "]/reptrslt", "_"+rsltArray[k]); //공백문자 포함하기 위해 "_"추가 [pData.substr(1, plen)]
  413. model.makeValue("/root/hidden/subordlist1/subresultdetail1[" + j + "]/prcpcd", rsltprcp);
  414. j = j + 1;
  415. }
  416. }
  417. model.removeNodeset("/root/main/subordlist1/subresultdetail1");
  418. model.copyNode("/root/main/subordlist1", "/root/hidden/subordlist1");
  419. //==================================================================
  420. }
  421. }
  422. //exeReportPreview("RPARC02500", "XMLSTR","","","true","","","","","","","grp_prnt");
  423. //exeReportPreview("RPARC02500", "XMLSTR","","","","","","","","","","grp_prnt");
  424. // e-mail : 4번
  425. var replmthd = model.getValue(sREPLDOCULIST_PATH+"["+ i +"]/replmthd")
  426. if (replmthd == "4")
  427. {
  428. var fileType = "pdf"; // 저장타입(xls/ pdf/ hml/rtf/ html/ bmp/ txt/ xml )
  429. var fileName = "report"; // 파일명(c:\report\레포트명.저장타입)
  430. var print = ""; // 출력여부(true, false)
  431. }
  432. else
  433. {
  434. var fileType = ""; // 저장타입(xls/ pdf/ hml/rtf/ html/ bmp/ txt/ xml )
  435. var fileName = ""; // 파일명(c:\report\레포트명.저장타입)
  436. var print = "true"; // 출력여부(true, false)
  437. }
  438. /*
  439. var fileType = "pdf"; // 저장타입(xls/ pdf/ hml/rtf/ html/ bmp/ txt/ xml )
  440. var fileName = "report"; // 파일명(c:\report\레포트명.저장타입)
  441. */
  442. var rid = "RPARC02500"; // 레포트명
  443. var dataType = "XMLSTR"; // 연계방법(XMLSTR/ XMLFILE/ XML)
  444. var paramsXPath = ""; // 매개변수필드 XPath
  445. var submitId = ""; // SubmitID
  446. var printDialog = ""; // 인쇄 창 보임 여부(true, false)
  447. var fileDialog = ""; // 파일 저장 창 보임여부(0 : 숨김[기본]/1 : 보임)
  448. var closeYn = "true"; // 미리보기창닫기여부(출력 후 true로 설정한 경우 미리보기 화면 닫기)
  449. var monNo = ""; // 모니터 번호
  450. var parentObjId = ""; // 부모객체명(미리 생성한 부모 객체명, 해당 부모 객체에 레포트 데이터를 생성한다.)
  451. var printPaperBin = ""; // 트레이번호
  452. var userService = ""; // 데이터 소스
  453. var showButton = "hidden"; // 툴바버튼보임여부(visible, hidden)
  454. var printCount = ""; // 프린트장수(1, 2,..)
  455. var zoomRate = ""; // 미리보기뷰어 비율(0, 50,...)
  456. var printOption = ""; // 출력시 선택 옵션
  457. var dataXPath = ""; // 데이터 XPath
  458. var mainDataXPath = ""; // 메인리포트 반복XPath
  459. var subDataXPath = ""; // 서브리포트1 반복Xpath
  460. exeReportPreview(rid, dataType, paramsXPath, submitId, print, printDialog, fileType, fileName, fileDialog, closeYn, monNo, parentObjId, printPaperBin, userService, showButton, printCount, zoomRate, printOption, dataXPath, mainDataXPath, subDataXPath);
  461. model.makeValue("/root/main/previewinfo/replinfo/replmthd", replmthd);
  462. fUpdateData();
  463. //if (getParameter("reportprintyn") == "Y"){
  464. //}
  465. }
  466. else
  467. {
  468. //exeReportPreview("RPARC02500", "XMLSTR");
  469. var rid = "RPARC02500"; // 레포트명
  470. var dataType = "XMLSTR"; // 연계방법(XMLSTR/ XMLFILE/ XML)
  471. var paramsXPath = ""; // 매개변수필드 XPath
  472. var submitId = ""; // SubmitID
  473. var print = ""; // 출력여부(true, false)
  474. var printDialog = ""; // 인쇄 창 보임 여부(true, false)
  475. var fileType = ""; // 저장타입(xls/ pdf/ hml/rtf/ html/ bmp/ txt/ xml )
  476. var fileName = ""; // 파일명(c:\report\레포트명.저장타입)
  477. var fileDialog = ""; // 파일 저장 창 보임여부(0 : 숨김[기본]/1 : 보임)
  478. var closeYn = ""; // 미리보기창닫기여부(출력 후 true로 설정한 경우 미리보기 화면 닫기)
  479. var monNo = ""; // 모니터 번호
  480. var parentObjId = ""; // 부모객체명(미리 생성한 부모 객체명, 해당 부모 객체에 레포트 데이터를 생성한다.)
  481. var printPaperBin = ""; // 트레이번호
  482. var userService = ""; // 데이터 소스
  483. var showButton = "hidden"; // 툴바버튼보임여부(visible, hidden)
  484. var printCount = ""; // 프린트장수(1, 2,..)
  485. var zoomRate = ""; // 미리보기뷰어 비율(0, 50,...)
  486. var printOption = ""; // 출력시 선택 옵션
  487. var dataXPath = ""; // 데이터 XPath
  488. var mainDataXPath = ""; // 메인리포트 반복XPath
  489. var subDataXPath = ""; // 서브리포트1 반복Xpath
  490. exeReportPreview(rid, dataType, paramsXPath, submitId, print, printDialog, fileType, fileName, fileDialog, closeYn, monNo, parentObjId, printPaperBin, userService, showButton, printCount, zoomRate, printOption, dataXPath, mainDataXPath, subDataXPath);
  491. }
  492. }
  493. else
  494. {
  495. messageBox("출력정보를 저장", "E001");
  496. }
  497. }
  498. }
  499. // 일괄출력 여부
  500. if (allflag == "Y")
  501. {
  502. fSearch();
  503. }
  504. /*
  505. if (submit("TRARC02002", false) == true)
  506. {
  507. //exeReportPreview("RPARC02500", "XMLSTR","","","true","","","","","","","grp_prnt");
  508. setParameter("reportprintyn", "");
  509. exeReportPreview("RPARC02500", "XMLSTR");
  510. //if (getParameter("reportprintyn") == "Y"){
  511. fUpdateData();
  512. //}
  513. //fSearch();
  514. }
  515. else
  516. {
  517. messageBox("출력정보를 저장", "E001");
  518. }
  519. */
  520. /*
  521. var yn = model.alert("정말로 일괄 출력을 하시겠습니까?", "일괄 출력", 0x20 | 3); //출력 재확인
  522. yn = "6";
  523. if(yn == "6"){
  524. for(var i=1; i < irow; i++){
  525. var chk = model.getValue(sREPLDOCULIST_PATH+"["+ i +"]/chk")
  526. if (chk == "true"){
  527. model.makeValue("/root/send/savedata/instcd" ,model.getValue(sREPLDOCULIST_PATH+"["+ i +"]/instcd"));
  528. model.makeValue("/root/send/savedata/formrecseq" ,model.getValue(sREPLDOCULIST_PATH+"["+ i +"]/formrecseq"));
  529. model.makeValue("/root/send/savedata/pid" ,model.getValue(sREPLDOCULIST_PATH+"["+ i +"]/pid"));
  530. model.makeValue("/root/send/savedata/orddd" ,model.getValue(sREPLDOCULIST_PATH+"["+ i +"]/orddd"));
  531. model.makeValue("/root/send/savedata/cretno" ,model.getValue(sREPLDOCULIST_PATH+"["+ i +"]/cretno"));
  532. model.makeValue("/root/send/savedata/reqorddd" ,model.getValue(sREPLDOCULIST_PATH+"["+ i +"]/orddd"));
  533. model.makeValue("/root/send/savedata/reqcretno" ,model.getValue(sREPLDOCULIST_PATH+"["+ i +"]/cretno"));
  534. model.makeValue("/root/send/savedata/reqseqno" ,model.getValue(sREPLDOCULIST_PATH+"["+ i +"]/seqno"));
  535. getFormData("0000001536", model.getValue(sREPLDOCULIST_PATH+"["+ i +"]/formrecseq"));
  536. setParameter("reportprintyn", "");
  537. exeReportPreview("RFM0153600", "XMLSTR","","","true","","","","","","","grp_prnt");
  538. if(submit("TXARC02001", false)==false){
  539. //messageBox("출력정보를 저장", "E001");
  540. return;
  541. }
  542. cnt++;
  543. model.resetInstanceNode("/root/send/savedata");
  544. }
  545. } // for
  546. } // 출력 여부
  547. else
  548. {
  549. return;
  550. }
  551. // if(cnt == 0){
  552. // messageBox("출력할 데이터를", "C002");
  553. // return;
  554. // }
  555. fSearch();
  556. model.refresh();
  557. */
  558. }
  559. // 출력을 하면 데이터 저장
  560. function fUpdateData(){
  561. /*
  562. model.resetInstanceNode("/root/send/savedata");
  563. //var savedata = grd_inoutrepllist.getUpdateDataAll("u");
  564. //model.setValue("/root/send/savedata", model.getValue("/root/main/previewinfo"));
  565. model.copyNode("/root/send/savedata", "/root/main/previewinfo");
  566. */
  567. model.removeNodeset("/root/send/savedata");
  568. model.makeNode("/root/send/savedata/replinfo");
  569. model.copyNode("/root/send/savedata/replinfo", "/root/main/previewinfo/replinfo");
  570. model.makeValue("/root/send/savedata/replinfo/hngnm", model.getValue("/root/main/previewinfo/patientinfo/hngnm"));
  571. // 대표 메일
  572. //model.makeValue("/root/send/savedata/replinfo/mainemail", "hjsong@catholic.ac.kr");
  573. model.makeValue("/root/send/savedata/replinfo/mainemail", model.getValue("/root/main/previewinfo/baseinfo/mainemail"));
  574. model.makeValue("/root/send/savedata/replinfo/maindeptnm", model.getValue("/root/main/previewinfo/baseinfo/maindeptnm"));
  575. /*
  576. var opinfocnt = model.instances(0).selectNodes("/root/main/previewinfo/opinfo").length;
  577. if (opinfocnt > 0)
  578. {
  579. var opinlist = null;
  580. for (i=0; i < opinfocnt; i++)
  581. {
  582. var nodeList = instance1.selectNodes("/root/main/previewinfo/opinfo["+i+"]");
  583. opinlist = opinlist + nodelist;
  584. }
  585. model.makeValue("/root/send/savedata/opinfo", opinlist);
  586. }
  587. var dschinfocnt = model.instances(0).selectNodes("/root/main/previewinfo/dschinfo").length;
  588. if (dschinfocnt > 0)
  589. {
  590. var dschinfolist = null;
  591. for (i=0; i < dschinfofocnt; i++)
  592. {
  593. var nodeList = instance1.selectNodes("/root/main/previewinfo/dschinfo["+i+"]");
  594. dschinfolist = dschinfolist + nodelist;
  595. }
  596. model.makeValue("/root/send/savedata/dschinfo", dschinfolist);
  597. }
  598. */
  599. //var nodeList = instance1.selectNodes("/root/main/ordlist1/maindailylist["+row+"]");
  600. var nodeList = instance1.selectNodes("/root/main/previewinfo/reqhospinfo");
  601. var reqhospinfo = getNodeListCSV(nodeList);
  602. model.makeValue("/root/send/savedata/reqhospinfo", reqhospinfo);
  603. // 회송방법
  604. var replmthd = model.getValue("/root/main/previewinfo/replinfo/replmthd");
  605. // E-mail 안내문
  606. var instcdnm = model.getValue("/root/main/previewinfo/baseinfo/instcdnm");
  607. var maindeptnm = model.getValue("/root/main/previewinfo/baseinfo/maindeptnm");
  608. var epurl = model.getValue("/root/main/previewinfo/baseinfo/url");
  609. var mainmsg = "안녕하십니까?" + "\n\n"
  610. + "가톨릭대학교 " + instcdnm + " " + maindeptnm + " 입니다." + "\n"
  611. + "선생님께서 본원으로 의뢰해주신 환자의 진료회신을 첨부하여 알려드립니다." + "\n\n"
  612. + "의뢰하신 환자의 자세한 진료정보는 " + epurl + "를 이용하시면 " + "\n"
  613. + "조회하실 수 있습니다." + "\n\n"
  614. + "저희 " + instcdnm + "에서는 선생님께서 의뢰하여 주신 환자에 대하여 성심성의껏 진료에 임할 것을 " + "\n"
  615. + "약속드리며 앞으로도 지속적인 관심과 협조 부탁드립니다. " + "\n"
  616. + "감사합니다." + "\n\n"
  617. + "만일 file이 열리지 않을 경우 인터넷에서 무료로“아크로뱃리더”를 다운받으시면 됩니다.";
  618. model.makeValue("/root/send/savedata/replinfo/mainmsg", mainmsg);
  619. // e-mail일 경우만 파일 첨부
  620. if (replmthd == "4")
  621. {
  622. var emailid = model.getValue("/root/main/previewinfo/reqhospinfo/emailid");
  623. var emailaddr = model.getValue("/root/main/previewinfo/reqhospinfo/emailaddr");
  624. model.makeValue("/root/send/savedata/replinfo/emailid", emailid);
  625. model.makeValue("/root/send/savedata/replinfo/emailaddr", emailaddr);
  626. var pos;
  627. var filename;
  628. var n;
  629. model.removeNodeset("/root/send/savedata/attach");
  630. //files = window.fileDialog("open", "|", true);
  631. files = "C:\\report\\report.pdf";
  632. filelist = files.split("|");
  633. for(var i = 0 ; i < filelist.length ; i++ ) {
  634. if(filelist[i] != "")
  635. {
  636. /*
  637. grd_attach.addItem();
  638. n = grd_attach.rows - 1;
  639. grd_attach.valueMatrix(n, 0) = filelist[i];
  640. pos=filelist[i].lastIndexOf("\\");
  641. filename=filelist[i].substring(pos+1);
  642. grd_attach.valueMatrix(n, 1) = filename;
  643. grd_attach.valueMatrix(n, 2) = upload_attach.getFileSize(filelist[i]);
  644. */
  645. model.makeValue("/root/send/savedata/attach/file", filelist[i]);
  646. pos=filelist[i].lastIndexOf("\\");
  647. filename=filelist[i].substring(pos+1);
  648. model.makeValue("/root/send/savedata/attach/filename", filename);
  649. model.makeValue("/root/send/savedata/attach/filesize", upload_attach.getFileSize(filelist[i]));
  650. }
  651. }
  652. }
  653. //grd_attach.rebuild();
  654. //model.makeValue("/root/send/savedata/attach", grd_attach.getUpdateDataAll("i"));
  655. //model.refresh();
  656. if(submit("TXARC02001",false )== true){
  657. //fSearch();
  658. }
  659. }
  660. function fReplcheck(){
  661. var currow = grd_list.row;
  662. var sREPLDOCULIST_PATH = "/root/main/list/repldoculist";
  663. var formrecseq = model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/formrecseq")
  664. var irow = grd_list.rows;
  665. var cnt = 0;
  666. var savedata = getNodeListCSV(instance1.selectNodes(sREPLDOCULIST_PATH));
  667. model.setValue("/root/send/savedata", savedata);
  668. var chk = model.getValue(sREPLDOCULIST_PATH+"["+currow +"]/chk")
  669. if (chk == "true"){
  670. model.makeValue("/root/send/savedata/instcd" ,model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/instcd"));
  671. model.makeValue("/root/send/savedata/formrecseq" ,model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/formrecseq"));
  672. model.makeValue("/root/send/savedata/pid" ,model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/pid"));
  673. model.makeValue("/root/send/savedata/orddd" ,model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/orddd"));
  674. model.makeValue("/root/send/savedata/cretno" ,model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/cretno"));
  675. model.makeValue("/root/send/savedata/reqorddd" ,model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/orddd"));
  676. model.makeValue("/root/send/savedata/reqcretno" ,model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/cretno"));
  677. model.makeValue("/root/send/savedata/reqseqno" ,model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/seqno"));
  678. getFormData("0000001536", model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/formrecseq"));
  679. setParameter("reportprintyn", "");
  680. exeReportPreview("RFM0153600", "XMLSTR");
  681. if (getParameter("reportprintyn") == "Y"){
  682. if(submit("TXARC02001",false)==true){
  683. messageBox("출력저장", "I001");
  684. }
  685. }
  686. model.resetInstanceNode("/root/send/savedata");
  687. }
  688. else
  689. {
  690. messageBox("출력할 데이터를", "C002");
  691. return;
  692. }
  693. fSearch();
  694. model.refresh();
  695. }
  696. // 결과내역 인스턴스 초기화
  697. function fInitial_subordlist() {
  698. model.resetInstanceNode("/root/main/subordlist1/subresultdetail1"); // 결과내역
  699. model.removeNodeset("/root/send/maindata"); // 일자별 그리드
  700. model.makeNode("/root/send/maindata");
  701. }
  702. /* @group : 결과조회
  703. * @ver : 2007.06.14
  704. * @by : 장준원
  705. * @-----------------------------------
  706. * @type : function
  707. * @access : public
  708. * @desc : Daily 결과 상세조회 Function
  709. */
  710. function fClickResultList(maingridlistid) {
  711. if ( maingridlistid.row == 0 ) return;
  712. if ( maingridlistid.row >= maingridlistid.fixedRows ) {
  713. var row = maingridlistid.row;
  714. // 일자별
  715. if ( btn_case1.selected == true ) {
  716. fInitial_subordlist(); // /root/main/subordlist1/subresultdetail1
  717. /*
  718. * 일자별탭 그리드 세팅한다.
  719. */
  720. var loop = grd_maindaily.rows - grd_maindaily.fixedRows;
  721. for( var i = 1 ; i <= loop ; i++ ) {
  722. model.makeValue("/root/main/ordlist1/maindailylist[" + i + "]/level","3");
  723. }
  724. // 다시 체크를 할 경우에는 체크박스만 "N"으로 세팅함.
  725. if ( model.getValue("/root/main/ordlist1/maindailylist[" + row + "]/check") == "Y" ) {
  726. model.setValue("/root/main/ordlist1/maindailylist[" + row + "]/check","N");
  727. return;
  728. }
  729. model.setValue("/root/main/ordlist1/maindailylist[" + row + "]/check","Y");
  730. model.makeValue("/root/main/ordlist1/maindailylist[" + row + "]/srchpid", model.getValue("/root/send/data/singdata/srchpid"));
  731. model.makeValue("/root/main/ordlist1/maindailylist[" + row + "]/dutplceinstcd", model.getValue("/root/send/globalinstance/instance2"));
  732. var nodeList = instance1.selectNodes("/root/main/ordlist1/maindailylist["+row+"]");
  733. var rCSV = getNodeListCSV(nodeList);
  734. // model.copyNode("/root/send/maindata" , "/root/main/ordlist1/maindailylist["+row+"]");
  735. //alert('rCSV하기전->'+rCSV);
  736. model.setValue("/root/send/maindata", rCSV);
  737. //alert(rCSV);
  738. submit("TRAER00850");
  739. /*
  740. * 일자별 결과내역 그리드 세팅한다.
  741. */
  742. fSetSubDetailGrid();
  743. model.refresh();
  744. /*
  745. * 디자인 결과내역 조회를 하기 위한 로직구현.
  746. */
  747. fPopupXsltList();
  748. }
  749. // 검사분류별
  750. if ( btn_case2.selected == true ) {
  751. fInitial_subordlist(); // /root/main/subordlist1/subresultdetail1
  752. /*
  753. * 그리드 세팅한다.
  754. */
  755. var loop = grd_mainserious.rows - grd_mainserious.fixedRows;
  756. for( var i = 1 ; i <= loop ; i++ ) {
  757. model.makeValue("/root/main/ordlist2/mainserious[" + i + "]/level","3");
  758. }
  759. model.setValue("/root/main/ordlist2/mainserious[" + row + "]/check","Y");
  760. model.makeValue("/root/main/ordlist2/mainserious[" + row + "]/srchpid", model.getValue("/root/send/data/singdata/srchpid"));
  761. model.makeValue("/root/main/ordlist2/mainserious[" + row + "]/dutplceinstcd", model.getValue("/root/send/globalinstance/instance2"));
  762. var nodeList = instance1.selectNodes("/root/main/ordlist2/mainserious["+row+"]");
  763. var rCSV = getNodeListCSV(nodeList);
  764. // model.copyNode("/root/send/maindata" , "/root/main/ordlist1/maindailylist["+row+"]");
  765. //alert('rCSV하기전->'+rCSV);
  766. model.setValue("/root/send/maindata", rCSV);
  767. //alert(rCSV);
  768. submit("TRAER00850");
  769. /*
  770. * 결과내역 그리드 세팅한다.
  771. */
  772. fSetSubDetailGrid();
  773. model.refresh();
  774. }
  775. }
  776. }
  777. function fPrint(){
  778. var currow = grd_list.row;
  779. var sREPLDOCULIST_PATH = "/root/main/list/repldoculist";
  780. model.resetInstanceNode("/root/send/savedata");
  781. model.makeValue("/root/send/savedata/instcd" ,model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/instcd"));
  782. model.makeValue("/root/send/savedata/formrecseq" ,model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/formrecseq"));
  783. model.makeValue("/root/send/savedata/pid" ,model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/pid"));
  784. model.makeValue("/root/send/savedata/orddd" ,model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/orddd"));
  785. model.makeValue("/root/send/savedata/cretno" ,model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/cretno"));
  786. model.makeValue("/root/send/savedata/reqorddd" ,model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/orddd"));
  787. model.makeValue("/root/send/savedata/reqcretno" ,model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/cretno"));
  788. model.makeValue("/root/send/savedata/reqseqno" ,model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/seqno"));
  789. if (submit("TXARC02001", true) == false)
  790. {
  791. messageBox("출력 저장에", "E009");
  792. }
  793. model.refresh();
  794. }
  795. // 회신서 콜
  796. function fReplPopup()
  797. {
  798. if (grd_list.rows <= 1) return;
  799. if (grd_list.row < 1) return;
  800. var mainObj = getMainViewer();
  801. var currow = grd_list.row;
  802. var sREPLDOCULIST_PATH = "/root/main/list/repldoculist";
  803. /*
  804. var pid = model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/pid");
  805. var replflag = model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/replflag");
  806. var orddeptcd = model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/orddeptcd");
  807. var orddeptnm = model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/orddeptnm");
  808. var orddrid = model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/orddrid");
  809. var orddrnm = model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/orddrnm");
  810. var orddd = model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/orddd");
  811. var pid = setParameter("pid", pid);
  812. var replflag = setParameter("replflag", replflag);
  813. var orddeptcd = setParameter("orddeptcd", orddeptcd);
  814. var orddeptnm = setParameter("orddeptnm", orddeptnm);
  815. var orddrid = setParameter("orddrid", orddrid);
  816. var orddrnm = setParameter("orddrnm", orddrnm);
  817. var orddd = setParameter("orddd", orddd);
  818. var prcpyn = setParameter("prcpyn", "C");
  819. var curEmrRecObj = getOpenWindow("SMARC02500"); //활성화된 진료기록 화면 object loading
  820. //var curCpObj = mainObj.javascript.getOpenWindow("SPARC00100"); //활성화된 CP Main 화면 object loading
  821. if (curEmrRecObj != null)
  822. {
  823. //alert("AA");
  824. curEmrRecObj.javascript.fInit();
  825. }
  826. else
  827. {
  828. open("SMARC02500",1,1,1, "SMARC02500", "", "", "", false);
  829. }
  830. */
  831. var pid = model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/pid");
  832. var replseqno = model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/replseqno");
  833. var fstyn = model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/fstyn");
  834. var pid = setParameter("pid", pid);
  835. var replseqno = setParameter("replseqno", replseqno);
  836. var fstyn = setParameter("fstyn", fstyn);
  837. modal("SPARC00100",1,1,1, "SPARC00100", "", "", "", false);
  838. }
  839. // KNUH_20110307_추가(리스트 엑셀 파일로 만들기)
  840. function fExcel()
  841. {
  842. if (grd_list.rows <= 1) return;
  843. var fileName = window.fileDialog("save", ",", false, "의사회신서 리스트", "xls", "All Files Excel Files(*.xls)|*.xls|(*.*)|*.*");
  844. if (fileName != ""){
  845. grd_list.saveExcel(fileName, "SheetName", false, false, "", "", false);
  846. }
  847. }
  848. /*
  849. * 출력된 회신서를 출력 취소로 돌림
  850. */
  851. function fPrintCancel(){
  852. var selected_rows = getNodesetCount("/root/main/list/repldoculist[chk='Y']");
  853. var updatedata = "instcd▦pid▦replseqno▦lastupdtrid▩";
  854. var datastring="";
  855. if(selected_rows=="0"){
  856. messageBox("선택된 데이터가 없습니다.","I","");
  857. return;
  858. }else{
  859. for(var i=1; i<=grd_list.rows-grd_list.fixedRows; i++){
  860. if(grd_list.valuematrix(i, grd_list.colRef("chk"))=="N" || grd_list.valuematrix(i, grd_list.colRef("chk"))==null || grd_list.valuematrix(i, grd_list.colRef("chk"))==""){
  861. continue;
  862. }else{
  863. datastring=datastring+model.getValue("/root/main/list/repldoculist["+i+"]/instcd") +"▦" +
  864. model.getValue("/root/main/list/repldoculist["+i+"]/pid") +"▦" +
  865. model.getValue("/root/main/list/repldoculist["+i+"]/replseqno") +"▦" +
  866. getUserInfo("userid")+"▩";
  867. }
  868. }
  869. }
  870. model.removenode("/root/send/updatedata");
  871. model.makeValue("/root/send/updatedata", updatedata + datastring);
  872. if(submit("TXARH00906")){
  873. messageBox("출력 취소 되었습니다.", "I", "");
  874. submit("TRARC02001");
  875. }
  876. }
  877. // OCR 기록보기
  878. function fOCRView()
  879. {
  880. var irow = grd_list.rows;
  881. var sREPLDOCULIST_PATH = "/root/main/list/repldoculist";
  882. var chk = "N";
  883. for(var i=1; i < irow; i++){
  884. chk = model.getValue(sREPLDOCULIST_PATH+"["+ i +"]/chk")
  885. if (chk == "Y"){
  886. var pid = model.getValue(sREPLDOCULIST_PATH+"["+ i +"]/pid");
  887. var ocryn = model.getValue(sREPLDOCULIST_PATH+"["+ i +"]/ocryn");
  888. var docucd = model.getValue(sREPLDOCULIST_PATH+"["+ i +"]/formcd");
  889. break;
  890. }
  891. }
  892. if (chk == "N") {
  893. messageBox("선택된 데이터가 없습니다","I999");
  894. return;
  895. }
  896. if (ocryn != "Y") {
  897. messageBox("스캔된 타병원 진료의뢰서가 없습니다","I999");
  898. return;
  899. }
  900. model.makeValue("/root/send/iemr/pid", pid);
  901. model.makeValue("/root/send/iemr/docucd", docucd);
  902. if(window.children.item("imgemrviewer") == null)
  903. {
  904. window.load("../../../emr/imgemrweb/xrw/SSMRC03130.xrw", "modeless", "imgemrviewer", "", "/root/send/iemr", "/root/hidden/temp");
  905. }
  906. else
  907. {
  908. var iemrNode = instance1.selectSingleNode("/root/send/iemr");
  909. window.children.item("imgemrviewer").javascript.reloadChart(iemrNode);
  910. window.children.item("imgemrviewer").modelesstopmost = true;
  911. window.children.item("imgemrviewer").modelesstopmost = false;
  912. }
  913. }
  914. function fOCRView_Personal()
  915. {
  916. var irow = grd_list.rows;
  917. var sREPLDOCULIST_PATH = "/root/main/list/repldoculist";
  918. var chk = "N";
  919. for(var i=1; i < irow; i++){
  920. chk = model.getValue(sREPLDOCULIST_PATH+"["+ i +"]/chk")
  921. if (chk == "Y"){
  922. var pid = model.getValue(sREPLDOCULIST_PATH+"["+ i +"]/pid");
  923. var ocryn = model.getValue(sREPLDOCULIST_PATH+"["+ i +"]/personal_ocryn");
  924. var docucd = model.getValue(sREPLDOCULIST_PATH+"["+ i +"]/personal_formcd");
  925. break;
  926. }
  927. }
  928. if (chk == "N") {
  929. messageBox("선택된 데이터가 없습니다","I999");
  930. return;
  931. }
  932. if (ocryn != "Y") {
  933. messageBox("스캔된 개인정보이용 동의서가 없습니다","I999");
  934. return;
  935. }
  936. model.makeValue("/root/send/iemr/pid", pid);
  937. model.makeValue("/root/send/iemr/docucd", docucd);
  938. if(window.children.item("imgemrviewer") == null)
  939. {
  940. window.load("../../../emr/imgemrweb/xrw/SSMRC03130.xrw", "modeless", "imgemrviewer", "", "/root/send/iemr", "/root/hidden/temp");
  941. }
  942. else
  943. {
  944. var iemrNode = instance1.selectSingleNode("/root/send/iemr");
  945. window.children.item("imgemrviewer").javascript.reloadChart(iemrNode);
  946. window.children.item("imgemrviewer").modelesstopmost = true;
  947. window.children.item("imgemrviewer").modelesstopmost = false;
  948. }
  949. }
  950. //HIE 전송
  951. function fHIE(){
  952. if (grd_list.rows <= 1) return;
  953. if (grd_list.row < 1) return;
  954. var currow = grd_list.row;
  955. var sREPLDOCULIST_PATH = "/root/main/list/repldoculist";
  956. var replseqno = model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/replseqno")
  957. var irow = grd_list.rows;
  958. model.resetInstanceNode("/root/send/viewcond");
  959. model.copyNode("/root/send/viewcond", sREPLDOCULIST_PATH+"["+ grd_list.row +"]");
  960. model.makeValue("/root/send/viewcond/hospmsg", model.getValue("/root/send/hospmsgdata/hospmsg"));
  961. if (submit("TRARC02003", false) != true) {
  962. messageBox("HIE 회신저장시 에러", "I999");
  963. model.resetInstanceNode("/root/send/viewcond");
  964. return;
  965. }
  966. }
  967. //HIE 보기
  968. function fHIEReferView() {
  969. // model.makeValue("/root/send/search/reqseqno",model.getValue("/root/temp/reqhospinfo/hospinfo/reqseqno"));
  970. // model.makeValue("/root/send/search/orddrid",model.getValue("/root/temp/reqhospinfo/hospinfo/orddrid"));
  971. // model.makeValue("/root/send/search/orddeptcd",model.getValue("/root/temp/reqhospinfo/hospinfo/orddeptcd"));
  972. //
  973. if (submit("TRARC02510")) {
  974. var IE;
  975. var url = model.getValue("/root/tmp/reqinfo/reqinfo/url");
  976. var headerInfo = model.getValue("/root/tmp/reqinfo/reqinfo/headerinfo");
  977. IE = new ActiveXObject("InternetExplorer.Application");
  978. IE.Visible = "True";
  979. IE.Navigate2(url, null, null, null, headerInfo);
  980. }
  981. }
  982. //첨부파일 보기
  983. function fViewAttfile(){
  984. if (grd_list.rows <= 1) return;
  985. if (grd_list.row < 1) return;
  986. var currow = grd_list.row;
  987. var sREPLDOCULIST_PATH = "/root/main/list/repldoculist";
  988. var attfilenm = model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/attfilenm");
  989. var attfilepath = model.getValue(sREPLDOCULIST_PATH+"["+ currow +"]/attfilepath");
  990. var irow = grd_list.rows;
  991. model.resetInstanceNode("/root/send/viewcond");
  992. model.copyNode("/root/send/viewcond", sREPLDOCULIST_PATH+"["+ grd_list.row +"]");
  993. model.makeValue("/root/send/viewcond/hospmsg", model.getValue("/root/send/hospmsgdata/hospmsg"));
  994. if(attfilenm == "") {
  995. messageBox("다운로드 할 파일을 ", "C002");
  996. return;
  997. } else {
  998. //파일명를 받아옴
  999. var getfilenm = attfilenm;
  1000. var getfilepath = attfilepath;
  1001. model.makeValue("/root/send/filecond/attfilenm", getfilenm );
  1002. model.makeValue("/root/send/filecond/attfilepath", getfilepath );
  1003. //파일명이 있는 경우 다운로드
  1004. if(getfilenm != ""){
  1005. //파일명의 확장자만 받아옴
  1006. var fileext = getfilenm.lastIndexOf(".");
  1007. var ext = getfilenm.substring(fileext +1);
  1008. //파일을 다운로드 하기 위해 저장할 창을 띄움
  1009. var filesave = window.fileDialog("save","|",false,getfilenm,ext,"All Files(*.*)|*.*");
  1010. //키값을 가지고 DB에 저장된 데이타를 조회하러 간다
  1011. if (filesave != "") {
  1012. model.download(getActionURL("TRARC02512") + "&attfilepath=" + getfilepath + "&filepathcolnm=attfilepath", filesave);
  1013. var rtn = messageBox("파일을", "Q004");
  1014. if( rtn == 6 ) {
  1015. window.exec(filesave);
  1016. }
  1017. }
  1018. }
  1019. }
  1020. }