MMR01200.xjs 72 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  3. * System Name : DBS
  4. * Job Name :
  5. * File Name : MMR01200.xjs
  6. * Creator : jaewon.choe
  7. * Make Date : 2014-08-13
  8. *
  9. * Description :
  10. *---------------------------------------------------------------------------------------
  11. * Modify Date Modifier Modify Description
  12. *---------------------------------------------------------------------------------------
  13. * 2014-08-13 DBS Converting Program(TF->XP)
  14. *
  15. *---------------------------------------------------------------------------------------
  16. ****************************************************************************************/
  17. var gRef_MediFormView = ds_medireccnts;
  18. var gRef_ViewMediFormView = ds_viewmedirec_medireccnts;
  19. var IMGE_SZ = 500;
  20. var gExtnFuncFlag = true;
  21. var gReclistCnt = "";
  22. var gFDGWidth = 573;
  23. var gFDGHeight = 357;
  24. var TRMMR01201_add = "";
  25. /****************************************************************************************
  26. * Function : dsf_createDs
  27. * Description : 공통코드를 가져온다.
  28. * Argument : 01.sKey : 코드아이디
  29. * : 02.sValue : 코드명
  30. * return type : String - dataset name
  31. * Creator : 임준호
  32. ****************************************************************************************/
  33. /**
  34. * @desc : 초기 화면 설정
  35. * @id :
  36. * @event : xforms-ready
  37. * @return : void
  38. * @authur : 박종훈
  39. */
  40. function fReadyForm()
  41. {
  42. // Grid Initialize
  43. grdf_initGrid(grup_menu.grd_formlist);
  44. grdf_initGrid(grup_menu.grd_itemlist);
  45. //grd_medirec.autosizingtype = "row";
  46. obj_imge.visible = false;
  47. obj_fdg.visible = false;
  48. if (frmf_checkOpener())//frmf_isPopup()
  49. {
  50. gExtnFuncFlag = false;
  51. var formnm = frmf_getParameter("formnm");
  52. if (!utlf_isNull(formnm))
  53. {
  54. this.titletext = formnm + " - 미리보기";
  55. var cont = new COMN_CONT_RECCNTS();
  56. cont.pid = "";
  57. cont.recfromdt = "";
  58. cont.rectodt = "";
  59. cont.formrecdeptcd = "";
  60. cont.chosflag = "";
  61. cont.formrecseq = "-1";
  62. fAtrerRef(cont);
  63. }
  64. }
  65. }
  66. /**
  67. * @desc : 초기 사이즈 설정
  68. * @id :
  69. * @event :
  70. * @return : void
  71. * @authur : 박종훈
  72. */
  73. function fInitPage(wid, hei)
  74. {
  75. this.width = wid;
  76. this.height = hei;
  77. grd_medirec.position.width = wid;
  78. grd_medirec.position.height = hei;
  79. grd_medirec.setFormatColProperty(1, "size", wid - 21 );
  80. //grd_medirec.visible = true;
  81. /*
  82. grd_medirec.colWidth(1) = wid - 21;
  83. */
  84. }
  85. /**
  86. * @desc : 기록 미리보기
  87. * @id :
  88. * @event :
  89. * @return : void
  90. * @authur : 박종훈
  91. */
  92. function fPreviewData(oDS)
  93. {
  94. //sysf_trace("***** fPreviewData *****");
  95. // dataset copy
  96. gRef_MediFormView.clearData();
  97. gRef_MediFormView.copyData(oDs, true);
  98. var cont = new COMN_CONT_RECCNTS();
  99. cont.pid = "";
  100. cont.recfromdt = "";
  101. cont.rectodt = "";
  102. cont.formrecdeptcd = "";
  103. cont.chosflag = "";
  104. cont.formrecseq = "-1";
  105. fAtrerRef(cont);
  106. }
  107. /**
  108. * @desc : 화면 Clear
  109. * @id :
  110. * @event :
  111. * @return : void
  112. * @authur : 박종훈
  113. */
  114. function fClear()
  115. {
  116. gRef_MediFormView.clearData();
  117. gRef_ViewMediFormView.clearData();
  118. }
  119. /**
  120. * @desc : 기록내역 조회
  121. * @id :
  122. * @event :
  123. * @return : void
  124. * @authur : 박종훈
  125. */
  126. function fRefRecView(condflag, pid, chosflag, fromdd, todd, stddd, srcformcd, deptcd, formrecseq, arrFormrecseq, rechfview, recformsort, painhideflag, mainyn,notprogress,formcd )
  127. {
  128. //sysf_trace("***** fRefRecView *****");
  129. ds_reqmedireccnts.clearData();
  130. var nRow = ds_reqmedireccnts.addRow();
  131. ds_reqmedireccnts.setColumn( nRow, "condflag" , condflag );
  132. ds_reqmedireccnts.setColumn( nRow, "pid" , pid );
  133. ds_reqmedireccnts.setColumn( nRow, "chosflag" , chosflag );
  134. ds_reqmedireccnts.setColumn( nRow, "fromdd" , fromdd );
  135. ds_reqmedireccnts.setColumn( nRow, "todd" , todd );
  136. ds_reqmedireccnts.setColumn( nRow, "stddd" , stddd );
  137. ds_reqmedireccnts.setColumn( nRow, "attr" , srcformcd );
  138. ds_reqmedireccnts.setColumn( nRow, "deptcd" , deptcd );
  139. ds_reqmedireccnts.setColumn( nRow, "keyval" , formrecseq );
  140. ds_reqmedireccnts.setColumn( nRow, "rechfview" , rechfview );
  141. ds_reqmedireccnts.setColumn( nRow, "recformsort" , recformsort );
  142. ds_reqmedireccnts.setColumn( nRow, "painhideflag" , painhideflag );
  143. ds_reqmedireccnts.setColumn( nRow, "mainyn" , mainyn );
  144. ds_reqmedireccnts.setColumn( nRow, "notprogress" , notprogress );
  145. ds_reqmedireccnts.setColumn( nRow, "newlogicyn" , ds_hardcodeinfo.getColumn(0, "trgtcd"));
  146. if(utlf_isNull(formcd)){
  147. formcd = "-";
  148. }
  149. ds_reqmedireccnts.setColumn( nRow, "formcd" , formcd );
  150. // 2010/01/04 hkjoo 수정
  151. var submitLength = 1;
  152. if ( !utlf_isNull(arrFormrecseq) )
  153. {
  154. submitLength = arrFormrecseq.length;
  155. }
  156. // 2010/01/04 hkjoo 수정
  157. for ( i=0; i<submitLength; i++ )
  158. {
  159. if ( !utlf_isNull(arrFormrecseq) && i != 0) //그룹 서식 조회 시, 첫번째 조회 시는 add=""가 되게.
  160. {
  161. /*
  162. paging 처리 부분 확인 필요!!!
  163. */
  164. //TRMMR01201.attribute("add") = "bottom";
  165. TRMMR01201_add = "bottom";
  166. ds_reqmedireccnts.setColumn( nRow, "keyval", arrFormrecseq[i]);
  167. }
  168. else
  169. TRMMR01201_add = "";
  170. //TRMMR01201.attribute("add") = "";
  171. // jw.choe grid pos reset problem
  172. // grd_medirec.binddataset = "";
  173. var oParam = {};
  174. oParam.id = "TRMMR01201";
  175. oParam.service = "medirecapp.ComnMediRec";
  176. oParam.method = "reqGetComnFormRecCnts";
  177. oParam.inds = "req=" + "ds_reqmedireccnts";
  178. oParam.outds = "ds_medireccnts_tmp" + "=medireccnts";
  179. oParam.async = false;
  180. oParam.callback = "cf_TRMMR01201"
  181. tranf_submit(oParam);
  182. //submit("TRMMR01201", false);
  183. var cont = new COMN_CONT_RECCNTS();
  184. cont.pid = pid;
  185. cont.recfromdt = fromdd;
  186. cont.rectodt = todd;
  187. cont.formrecdeptcd = deptcd;
  188. cont.chosflag = chosflag;
  189. cont.formrecseq = formrecseq;
  190. cont.rechfview = rechfview;
  191. //2014/02/20 이정택
  192. cont.condflag = condflag;
  193. //asyncSend("TRMMR01201", "/root/send/reqcond", "/root/main/medirec/medireccnts", "responseHandlerTRMMR01201"); // 비동기식
  194. //2014/02/20 이정택
  195. fAtrerRef(cont);
  196. }
  197. }
  198. function cf_TRMMR01201(sSvcId, nErrorCode, sErrorMsg){
  199. if(nErrorCode > -1) {
  200. if(TRMMR01201_add == "bottom"){
  201. ds_medireccnts.appendData(ds_medireccnts_tmp);
  202. }else{
  203. ds_medireccnts.copyData(ds_medireccnts_tmp);
  204. }
  205. }
  206. }
  207. /**
  208. * @desc : 서식기록 순번으로 기록내역 조회
  209. * @id :
  210. * @event :
  211. * @return : void
  212. * @authur : 박종훈
  213. */
  214. function fRefMediRecCntsByFormRecSeq(formrecseq)
  215. {
  216. var cont = new COMN_CONT_RECCNTS();
  217. cont.pid = "";
  218. cont.recfromdt = "";
  219. cont.rectodt = "";
  220. cont.formrecdeptcd = "";
  221. cont.chosflag = "";
  222. cont.formrecseq = formrecseq;
  223. fRefMediRecCnts(cont);
  224. }
  225. /**
  226. * 이정택 2014/02/18
  227. * @return
  228. */
  229. function StringBuffer() { this.buffer = []; }
  230. /**
  231. * 이정택 2014/02/18
  232. * @return
  233. */
  234. StringBuffer.prototype.append = function(str) {
  235. if (utlf_isNull(str)) { str = ""; }
  236. this.buffer.push(str);
  237. return this;
  238. }
  239. /**
  240. * 이정택 2014/02/18
  241. * @return
  242. */
  243. StringBuffer.prototype.toString = function(str) {
  244. if (utlf_isNull(str)) { str = ""; }
  245. return this.buffer.join(str);
  246. }
  247. /**
  248. * 기록내용 클릭시 로직 분기
  249. */
  250. function fRefMediRecCnts(cond){
  251. //sysf_trace("***** fRefMediRecCnts *****");
  252. //var screenid = parent.frmf_getScreenID();
  253. var screenid = this.getOwnerFrame().form.frmf_getScreenID();
  254. sysf_trace("screenid : "+ screenid);
  255. ds_hardcodeinfo.clearData();
  256. ds_reqhardcodeinfo.clearData();
  257. var nRow = ds_reqhardcodeinfo.addRow();
  258. ds_reqhardcodeinfo.setColumn( nRow, "hardcdno", "7020");
  259. var oParam = {};
  260. oParam.id = "TRMMR01204";
  261. oParam.service = "medirecapp.util";
  262. oParam.method = "reqGetHardCodeInfo";
  263. oParam.inds = "req=" + "ds_reqhardcodeinfo";
  264. oParam.outds = "ds_hardcodeinfo" + "=item";
  265. oParam.async = false;
  266. oParam.callback = "cf_TRMMR01204"
  267. tranf_submit(oParam);
  268. // 신규로직 적용 여부
  269. if(ds_hardcodeinfo.getColumn(0, "trgtcd") == "Y"){
  270. if(screenid == "SPMMR05400"){
  271. btn_paging.visible=false;
  272. }else{
  273. btn_paging.visible=true;
  274. }
  275. fRefMediRecCnts_New(cond);
  276. }else{
  277. btn_paging.visible=false;
  278. fRefMediRecCnts_Old(cond);
  279. }
  280. }
  281. function cf_TRMMR01204(sSvcId, nErrorCode, sErrorMsg){
  282. if(nErrorCode > -1) {
  283. }
  284. }
  285. // 기록목록을 더블클릭 했을시 한개만
  286. var comn_cont_reccnts_copy ="";
  287. var arr_formrecseq = "";
  288. // 신규로직
  289. function fRefMediRecCnts_New(comn_cont_reccnts){
  290. trace("fRefMediRecCnts_MMR01200 start");
  291. ds_formlist.filter("chk != 'Y'");
  292. for(var i = 0; i < ds_formlist.rowcount; i++){
  293. ds_formlist.setColumn(i, "chk", "Y");
  294. }
  295. ds_formlist.filter("");
  296. ds_itemlist.filter("chk != 'Y'");
  297. for(var i = 0; i < ds_itemlist.rowcount; i++){
  298. ds_itemlist.setColumn(i, "chk", "Y");
  299. }
  300. ds_itemlist.filter("");
  301. gFilterCond = "";
  302. var flag = true;
  303. if (flag)
  304. {
  305. ds_reqComn.clearData();
  306. var nRow = ds_reqComn.addRow();
  307. ds_reqComn.setColumn( nRow, "pid", comn_cont_reccnts.pid);
  308. ds_reqComn.setColumn( nRow, "recfromdt", comn_cont_reccnts.recfromdt);
  309. ds_reqComn.setColumn( nRow, "rectodt", comn_cont_reccnts.rectodt);
  310. ds_reqComn.setColumn( nRow, "formrecdeptcd", comn_cont_reccnts.formrecdeptcd);
  311. ds_reqComn.setColumn( nRow, "chosflag", comn_cont_reccnts.chosflag);
  312. ds_reqComn.setColumn( nRow, "formrecseq", comn_cont_reccnts.formrecseq);
  313. if ( !utlf_isNull(comn_cont_reccnts.formrecseq) )
  314. {
  315. ds_reqComn.setColumn( nRow, "recfromdt", "-");
  316. }
  317. else
  318. {
  319. gReclistCnt = comn_cont_reccnts.reclistlength;
  320. pagecnt=comn_cont_reccnts.pagecnt;
  321. }
  322. comn_cont_reccnts.condflag = "main";
  323. if ( !utlf_isNull(comn_cont_reccnts.formrecseq)
  324. && !utlf_isNull(comn_cont_reccnts.formrecseq)
  325. && ( comn_cont_reccnts.pagingyn=="N" || utlf_isNull(comn_cont_reccnts.pagingyn) )){
  326. comn_cont_reccnts.condflag = "keyval";
  327. comn_cont_reccnts_copy="";
  328. comn_cont_reccnts_copy = comn_cont_reccnts;
  329. ds_medireccnts.clearData();
  330. ds_viewmedirec_medireccnts.clearData();
  331. btn_paging.visible=false;
  332. }else{
  333. if(pagecnt=="1"){
  334. arr_formrecseq = new Array();
  335. ds_medireccnts.clearData();
  336. ds_viewmedirec_medireccnts.clearData();
  337. var sb = new StringBuffer();
  338. for(var j = 0; j<comn_cont_reccnts.reclistlength; j++){
  339. // var oDs = eval(parent.grd_medireclist.binddataset);
  340. // var colref = oDs.getBindCellIndex("body", "formrecseq");
  341. //formrecseq = eval(parent.grd_medireclist.binddataset).getColumn( j, "formrecseq");
  342. var gridObj = lf_getGridObj();
  343. formrecseq = eval(gridObj.binddataset).getColumn( j, "formrecseq");
  344. sb.append("'" + formrecseq + "'");
  345. }
  346. var formrecseq=sb.toString(",");
  347. comn_cont_reccnts_copy = comn_cont_reccnts;
  348. var temp_formrecseq =formrecseq.split(",");
  349. var pagetotcnt = Math.ceil(comn_cont_reccnts.reclistlength/5);
  350. for(var i=0; i<pagetotcnt; i++){
  351. var sb = new StringBuffer();
  352. for(var j=i*5; j<(i*5)+5 && j<temp_formrecseq.length; j++){
  353. sb.append(temp_formrecseq[j]);
  354. }
  355. var sb_formrecseq=sb.toString(",");
  356. arr_formrecseq.push(sb_formrecseq);
  357. }
  358. comn_cont_reccnts.formrecseq =arr_formrecseq[parseInt(pagecnt)-1];
  359. }else{
  360. comn_cont_reccnts.formrecseq =arr_formrecseq[parseInt(pagecnt)-1];
  361. }
  362. }
  363. if(parseInt(pagecnt)<=arr_formrecseq.length || (comn_cont_reccnts.pagingyn=="N" || utlf_isNull(comn_cont_reccnts.pagingyn ))){
  364. fRefRecView( comn_cont_reccnts.condflag ,
  365. comn_cont_reccnts.pid ,
  366. comn_cont_reccnts.chosflag ,
  367. comn_cont_reccnts.recfromdt ,
  368. comn_cont_reccnts.rectodt ,
  369. "" ,
  370. "" ,
  371. comn_cont_reccnts.formrecdeptcd ,
  372. comn_cont_reccnts.formrecseq ,
  373. comn_cont_reccnts.arrFormrecseq , // 2010/01/04 hkjoo 추가, 그룹 서식 조회 기능
  374. comn_cont_reccnts.rechfview , // 2013.09.06 cyw 기록내용 고도화작업으로인해 사용자환경변수 하나 등록
  375. comn_cont_reccnts.recformsort , // 2013.10.22 cyw 진료기록메인의 기록조회 디폴트 설정(기록 정렬방식)
  376. comn_cont_reccnts.painhideflag , // 2013.10.28 cyw 진료기록메인의 기록조회 디폴트 설정(통증숨김여부)
  377. comn_cont_reccnts.mainyn,
  378. comn_cont_reccnts.notprogress, //입원경과 제외여부
  379. comn_cont_reccnts.formcd);
  380. }
  381. }
  382. trace("fRefMediRecCnts_MMR01200 end");
  383. }
  384. // 기존로직
  385. function fRefMediRecCnts_Old(comn_cont_reccnts)
  386. {
  387. trace("fRefMediRecCnts_MMR01200 start");
  388. ds_formlist.filter("chk != 'Y'");
  389. for(var i = 0; i < ds_formlist.rowcount; i++){
  390. ds_formlist.setColumn(i, "chk", "Y");
  391. }
  392. ds_formlist.filter("");
  393. ds_itemlist.filter("chk != 'Y'");
  394. for(var i = 0; i < ds_itemlist.rowcount; i++){
  395. ds_itemlist.setColumn(i, "chk", "Y");
  396. }
  397. ds_itemlist.filter("");
  398. gFilterCond = "";
  399. var flag = true;
  400. if (flag)
  401. {
  402. ds_reqComn.clearData();
  403. var nRow = ds_reqComn.addRow();
  404. ds_reqComn.setColumn( nRow, "pid", comn_cont_reccnts.pid);
  405. ds_reqComn.setColumn( nRow, "recfromdt", comn_cont_reccnts.recfromdt);
  406. ds_reqComn.setColumn( nRow, "rectodt", comn_cont_reccnts.rectodt);
  407. ds_reqComn.setColumn( nRow, "formrecdeptcd", comn_cont_reccnts.formrecdeptcd);
  408. ds_reqComn.setColumn( nRow, "chosflag", comn_cont_reccnts.chosflag);
  409. ds_reqComn.setColumn( nRow, "formrecseq", comn_cont_reccnts.formrecseq);
  410. if ( !utlf_isNull(comn_cont_reccnts.formrecseq) )
  411. {
  412. ds_reqComn.setColumn( nRow, "recfromdt", "-");
  413. }
  414. else
  415. {
  416. gReclistCnt = comn_cont_reccnts.reclistlength;
  417. }
  418. var condflag = "main";
  419. if ( !utlf_isNull(comn_cont_reccnts.formrecseq) )
  420. condflag = "keyval";
  421. fRefRecView( condflag ,
  422. comn_cont_reccnts.pid ,
  423. comn_cont_reccnts.chosflag ,
  424. comn_cont_reccnts.recfromdt ,
  425. comn_cont_reccnts.rectodt ,
  426. "" ,
  427. "" ,
  428. comn_cont_reccnts.formrecdeptcd ,
  429. comn_cont_reccnts.formrecseq ,
  430. comn_cont_reccnts.arrFormrecseq , // 2010/01/04 hkjoo 추가, 그룹 서식 조회 기능
  431. comn_cont_reccnts.rechfview , // 2013.09.06 cyw 기록내용 고도화작업으로인해 사용자환경변수 하나 등록
  432. comn_cont_reccnts.recformsort , // 2013.10.22 cyw 진료기록메인의 기록조회 디폴트 설정(기록 정렬방식)
  433. comn_cont_reccnts.painhideflag , // 2013.10.28 cyw 진료기록메인의 기록조회 디폴트 설정(통증숨김여부)
  434. comn_cont_reccnts.mainyn,
  435. comn_cont_reccnts.notprogress,
  436. comn_cont_reccnts.formcd );
  437. }
  438. trace("fRefMediRecCnts_MMR01200 end");
  439. }
  440. function fRefMediRecCnts_SPMMR00100(comn_cont_reccnts)
  441. {
  442. trace("fRefMediRecCnts_SPMMR00100 start");
  443. ds_formlist.filter("chk != 'Y'");
  444. for(var i = 0; i < ds_formlist.rowcount; i++){
  445. ds_formlist.setColumn(i, "chk", "Y");
  446. }
  447. ds_formlist.filter("");
  448. ds_itemlist.filter("chk != 'Y'");
  449. for(var i = 0; i < ds_itemlist.rowcount; i++){
  450. ds_itemlist.setColumn(i, "chk", "Y");
  451. }
  452. ds_itemlist.filter("");
  453. gFilterCond = "";
  454. var flag = true;
  455. if (flag)
  456. {
  457. ds_reqComn.clearData();
  458. var nRow = ds_reqComn.addRow();
  459. ds_reqComn.setColumn( nRow, "pid", comn_cont_reccnts.pid);
  460. ds_reqComn.setColumn( nRow, "recfromdt", comn_cont_reccnts.recfromdt);
  461. ds_reqComn.setColumn( nRow, "rectodt", comn_cont_reccnts.rectodt);
  462. ds_reqComn.setColumn( nRow, "formrecdeptcd", comn_cont_reccnts.formrecdeptcd);
  463. ds_reqComn.setColumn( nRow, "chosflag", comn_cont_reccnts.chosflag);
  464. ds_reqComn.setColumn( nRow, "formrecseq", comn_cont_reccnts.formrecseq);
  465. if (!utlf_isNull(comn_cont_reccnts.formrecseq))
  466. {
  467. ds_reqComn.setColumn( nRow, "recfromdt", "-");
  468. }
  469. else
  470. {
  471. gReclistCnt = comn_cont_reccnts.reclistlength;
  472. }
  473. var condflag = "SPMMR00100";
  474. if ( !utlf_isNull(comn_cont_reccnts.formrecseq) )
  475. condflag = "keyval";
  476. fRefRecView( condflag ,
  477. comn_cont_reccnts.pid ,
  478. comn_cont_reccnts.chosflag ,
  479. comn_cont_reccnts.recfromdt ,
  480. comn_cont_reccnts.rectodt ,
  481. "" ,
  482. "" ,
  483. comn_cont_reccnts.formrecdeptcd ,
  484. comn_cont_reccnts.formrecseq ,
  485. comn_cont_reccnts.arrFormrecseq , // 2010/01/04 hkjoo 추가, 그룹 서식 조회 기능
  486. comn_cont_reccnts.rechfview , // 2013.09.06 cyw 기록내용 고도화작업으로인해 사용자환경변수 하나 등록
  487. comn_cont_reccnts.recformsort , // 2013.10.22 cyw 진료기록메인의 기록조회 디폴트 설정(기록 정렬방식)
  488. comn_cont_reccnts.painhideflag , // 2013.10.28 cyw 진료기록메인의 기록조회 디폴트 설정(통증숨김여부)
  489. comn_cont_reccnts.mainyn,
  490. comn_cont_reccnts.notprogress,
  491. comn_cont_reccnts.formcd );
  492. }
  493. }
  494. /**
  495. *
  496. *
  497. *
  498. */
  499. function fGetMetaMode(str)
  500. {
  501. //sysf_trace("******** fGetMetaMode ********");
  502. var strXrw = str;
  503. var regexp = new RegExp('(<Xvg [^<>]+>)', 'igm');
  504. if (regexp.test(strXrw) == true)
  505. {
  506. var xvginfo = strXrw.match(regexp);
  507. var strRtn = "";
  508. for(var idx =0; idx < xvginfo.length; idx++)
  509. {
  510. strRtn += xvginfo[idx];
  511. }
  512. // ViewMode 얻기
  513. strRtn = strRtn.setReplaceWord("<", "");
  514. strRtn = strRtn.setReplaceWord(">", "");
  515. strRtn = strRtn.setReplaceWord("'", "");
  516. var arrAttrs = strRtn.split(" ");
  517. var viewMode = "";
  518. var viewWidth = "";
  519. var viewHeight = "";
  520. var strXvgInfo = new Array(3);
  521. for(var i = 0; i < arrAttrs.length; i++)
  522. {
  523. var strSplit = arrAttrs[i].split("=");
  524. if(strSplit[0] == "viewMode") {
  525. viewMode = strSplit[1];
  526. strXvgInfo[0] = viewMode;
  527. continue;
  528. }
  529. if(strSplit[0] == "width") {
  530. viewWidth = strSplit[1];
  531. strXvgInfo[1] = viewWidth;
  532. continue;
  533. }
  534. if(strSplit[0] == "height") {
  535. viewHeight = strSplit[1];
  536. strXvgInfo[2] = viewHeight;
  537. continue;
  538. }
  539. }
  540. return strXvgInfo;
  541. }
  542. else
  543. {
  544. return "";
  545. }
  546. }
  547. /**
  548. * @desc : 기록내용 조회후 화면표시 형식 셋팅 로직
  549. * @id :
  550. * @event :
  551. * @return : void
  552. * @authur : 박종훈
  553. */
  554. function fAtrerRef(comn_cont_reccnts)
  555. {
  556. sysf_trace("***** fAtrerRef start *****");
  557. var cnt = gRef_MediFormView.rowcount;
  558. //2010.01.15 dhkim - 조회된 기록이 없으면 기록내용 clear
  559. if(cnt == 0){
  560. fClear();
  561. }
  562. // <, > 로 변환
  563. doReplaceLtGt(gRef_MediFormView);
  564. // var path_degnitemkind = gRef_MediFormView.name + ".getColumn(#iIdx#, \"degnitemkind\")";
  565. // var path_viewimge = gRef_MediFormView.name + ".getColumn(#iIdx#, \"viewimge\")";
  566. // var path_reccnts = gRef_MediFormView.name + ".getColumn(#iIdx#, \"reccnts\")";
  567. //
  568. // var path_imgewid = gRef_MediFormView.name + ".setColumn(#iIdx#, \"imgewid\")";
  569. // var path_imgehei = gRef_MediFormView.name + ".setColumn(#iIdx#, \"imgehei\")";
  570. // var path_viewcnts = gRef_MediFormView.name + ".setColumn(#iIdx#, \"viewcnts\")";
  571. //
  572. // var path_degnitemlevlcd = gRef_MediFormView.name + ".getColumn(#iIdx#, \"degnitemlevlcd\")";
  573. var chpath_viewimge;
  574. var chpath_reccnts;
  575. for (var i = 0; i < cnt; i++)
  576. {
  577. try
  578. {
  579. chpath_viewimge = gRef_MediFormView.getColumn(i, "viewimge");
  580. chpath_reccnts = gRef_MediFormView.getColumn(i, "reccnts");
  581. if (gRef_MediFormView.getColumn(i, "degnitemkind") == "IMG" &&
  582. (!utlf_isNull(chpath_viewimge) || !utlf_isNull(chpath_reccnts)) )
  583. {
  584. var Localimg = "";
  585. var degnitemlevlcd = "";
  586. var IMGListNode = "";
  587. var strXvgInfo = "";
  588. degnitemlevlcd = gRef_MediFormView.getColumn(i, "degnitemlevlcd");
  589. if( !utlf_isNull(degnitemlevlcd)){
  590. //dataset filter apply
  591. gRef_MediFormView.filter("degnitemlevlcd=='" + degnitemlevlcd + "' && degnitemkind=='MTX'");
  592. // copy tmp ds
  593. ds_tmp_medireccnts.copyData(gRef_MediFormView, true);
  594. // reset filter
  595. gRef_MediFormView.filter("");
  596. //IMGListNode = findNodeset(model, gRef_MediFormView+ "[degnitemlevlcd='" + degnitemlevlcd + "' and degnitemkind='MTX']");
  597. }
  598. for(var idx = 0; idx < ds_tmp_medireccnts.rowcount; idx++)
  599. {
  600. var Localimg = ds_tmp_medireccnts.getColumn( idx, "viewcnts");
  601. }
  602. // XML 데이터 입력 시 width / height로 ocx 크기를 변경함.
  603. var reccntsValue = gRef_MediFormView.getColumn(i, "reccnts");
  604. var strImgBase64 = gRef_MediFormView.getColumn(i, "viewimge");
  605. var shapeinfo = reccntsValue;
  606. // caption 을 모두 CDATA 처리
  607. reccntsValue = fSetCdata(reccntsValue);
  608. if(!utlf_isNull(reccntsValue))
  609. {
  610. strXvgInfo = fGetMetaMode(reccntsValue);
  611. var tmpShape = removeXvgTag(reccntsValue);
  612. }
  613. obj_imge.Clear();
  614. var viewMode = obj_imge.GetViewMode();
  615. if(viewMode != 1) { // ActiveX를 스크린 사이즈로 맞춤
  616. obj_imge.SetViewMode(1);
  617. }
  618. obj_imge.SetControlSize(strXvgInfo[1], strXvgInfo[2]);
  619. obj_imge.LoadImageBase64(strImgBase64);
  620. // LocalImg 인 경우 기록이미지를 열기때문에 메타데이터를 로딩하지 않음.
  621. if(Localimg != "LOCALIMG")
  622. {
  623. if( !utlf_isNull(reccntsValue) )
  624. {
  625. //obj_imge.SetShapeString(reccntsValue);
  626. }
  627. }
  628. // 디버그용
  629. //obj_imge.SaveImage(1, "c:\\temp\\saveImg.jpg");
  630. // 1. 로컬이미지
  631. // 2. DB이미지이며, 기록된 이미지가 있는 경우
  632. // 3. DB이미지이며, 기록된 메타데이터가 있는 경우
  633. if (Localimg == "LOCALIMG" || (Localimg != "LOCALIMG" && utlf_isNull(strImgBase64)) || obj_imge.GetShapeCount() > 0)
  634. {
  635. // 실제 이미지 사이즈가 아닌 OCX 크기에 맞춰진 이미지 사이즈를 구한다.
  636. var sz = obj_imge.GetImageSizeEx(false);
  637. var arrSz = sz.split("|");
  638. var imgewid = arrSz[0];
  639. var imgehei = arrSz[1];
  640. var adjustImgSize = fGetAdjustImgeSize(imgewid, imgehei);
  641. var Newimgewid = adjustImgSize.split("|")[0];
  642. var Newimgehei = adjustImgSize.split("|")[1];
  643. //obj_imge.SetControlSize(Newimgewid, Newimgehei);
  644. // 현재 OCX 크기에 이미지를 맞추어 계산한 Base64코드를 반환한다.
  645. var strBase64 = obj_imge.GetThumbnailBase64(Newimgewid, Newimgehei);
  646. gRef_MediFormView.setColumn(i, "imgewid", Newimgewid );
  647. gRef_MediFormView.setColumn(i, "imgehei", Newimgehei );
  648. //gRef_MediFormView.setColumn(i, "viewimge", strBase64) );
  649. // model.setValue(path_viewcnts.replace("#iIdx#", i), strBase64, true);
  650. // setImageRefInstance(path_viewcnts.replace("#iIdx#", i));
  651. }
  652. }
  653. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  654. // 가계도
  655. else if (gRef_MediFormView.getColumn(i, "degnitemkind") == "FDG" && !utlf_isNull(chpath_reccnts))
  656. {
  657. var MetaData = gRef_MediFormView.getColumn(i, "reccnts");
  658. obj_fdg.RemoveAll();
  659. obj_fdg.LoadMetaData(MetaData);
  660. // 현 가계도 내용을 JPG로 저장한다.
  661. //obj_fdg.SaveJpg("c:\\가계도.jpg", "100");
  662. // 현재 가계도에 표현된 내용을 Base64로 인코딩하여 반환한다.(이미지 형식은 BMP)
  663. // 가계도의 기본사이즈는 573:357
  664. // 기록내용보기의 가로 최대는 500임.
  665. var strBase64 = obj_fdg.SaveEncodedBase64();
  666. obj_imge.Clear();
  667. var viewMode = obj_imge.GetViewMode();
  668. if(viewMode != 1) { // ActiveX를 스크린 사이즈로 맞춤
  669. obj_imge.SetViewMode(1);
  670. }
  671. obj_imge.SetControlSize(gFDGWidth, gFDGHeight);
  672. obj_imge.LoadImageBase64(strBase64);
  673. // 실제 이미지 사이즈가 아닌 OCX 크기에 맞춰진 이미지 사이즈를 구한다.
  674. var sz = obj_imge.GetImageSizeEx(false);
  675. var arrSz = sz.split("|");
  676. var imgewid = arrSz[0];
  677. var imgehei = arrSz[1];
  678. var adjustImgSize = fGetAdjustImgeSize(imgewid, imgehei);
  679. var Newimgewid = adjustImgSize.split("|")[0];
  680. var Newimgehei = adjustImgSize.split("|")[1];
  681. // 현재 OCX 크기에 이미지를 맞추어 계산한 Base64코드를 반환한다.
  682. var strNewBase64 = obj_imge.GetThumbnailBase64(Newimgewid, Newimgehei);
  683. // gRef_MediFormView.setColumn(i, "imgewid", Newimgewid );
  684. // gRef_MediFormView.setColumn(i, "imgehei", Newimgehei );
  685. // gRef_MediFormView.setColumn(i, "viewimge", strBase64 );
  686. // model.setValue(path_viewcnts.replace("#iIdx#", i), strNewBase64, true);
  687. // setImageRefInstance(path_viewcnts.replace("#iIdx#", i));
  688. }
  689. }
  690. catch (e)
  691. {
  692. alert(e);
  693. //sysf_catchTrace(e);
  694. }
  695. }
  696. // grd_medirec.binddataset = gRef_ViewMediFormView; //grd_medirec.attribute("ref") = "/root/main/viewmedirec/medireccnts";
  697. if (!utlf_isNull(comn_cont_reccnts.formrecseq))
  698. {
  699. if( ds_hardcodeinfo.getColumn(0, "trgtcd")=="Y" && pagecnt != "1" && comn_cont_reccnts.condflag!="keyval"){
  700. //sysf_trace("***** dsf_copyDs append *****");
  701. //dsf_copyDs(gRef_ViewMediFormView, gRef_MediFormView, "after");
  702. gRef_ViewMediFormView.appendData(gRef_MediFormView);
  703. }else{
  704. //dsf_copyDs(gRef_ViewMediFormView, gRef_MediFormView, "replace");
  705. gRef_ViewMediFormView.copyData(gRef_MediFormView);
  706. }
  707. fDrawGrid();
  708. }
  709. else
  710. {
  711. fExeFilter(gFilterCond);
  712. }
  713. //sysf_trace("***** fAtrerRef end *****");
  714. }
  715. function fAtrerRef_old(comn_cont_reccnts)
  716. {
  717. //sysf_trace("***** fAtrerRef_old *****");
  718. var cnt = gRef_MediFormView.rowcount;
  719. // <, > 로 변환
  720. doReplaceLtGt(gRef_MediFormView);
  721. var path_degnitemkind = gRef_MediFormView.name + ".getColumn(#iIdx#, \"degnitemkind\")";
  722. var path_viewimge = gRef_MediFormView.name + ".getColumn(#iIdx#, \"viewimge\")";
  723. var path_reccnts = gRef_MediFormView.name + ".getColumn(#iIdx#, \"reccnts\")";
  724. var path_imgewid = gRef_MediFormView.name + ".setColumn(#iIdx#, \"imgewid\")";
  725. var path_imgehei = gRef_MediFormView.name + ".setColumn(#iIdx#, \"imgehei\")";
  726. var path_viewcnts = gRef_MediFormView.name + ".setColumn(#iIdx#, \"viewcnts\")";
  727. var chpath_viewimge;
  728. var chpath_reccnts;
  729. for (var i = 0; i < cnt; i++)
  730. {
  731. try
  732. {
  733. chpath_viewimge = path_viewimge.replace("#iIdx#", i);
  734. chpath_reccnts = path_reccnts.replace("#iIdx#", i);
  735. if (eval(path_degnitemkind.replace("#iIdx#", i)) == "IMG" &&
  736. (!utlf_isNull(eval(chpath_viewimge)) || !utlf_isNull(eval(chpath_reccnts))) )
  737. {
  738. var viewMode = obj_imge.GetViewMode();
  739. // ActiveX를 스크린 사이즈로 맞춤
  740. if(viewMode != 1) {
  741. obj_imge.SetViewMode(1);
  742. }
  743. obj_imge.Clear();
  744. obj_imge.SetControlSize(IMGE_SZ, IMGE_SZ);
  745. obj_imge.LoadImageBase64(eval(path_viewimge.replace("#iIdx#", i)));
  746. // XML 데이터 입력 시 width/height를 ocx 크기로 변경함.
  747. var reccntsValue = eval(path_reccnts.replace("#iIdx#", i));
  748. if(!utlf_isNull(reccntsValue) && reccntsValue != "-")
  749. {
  750. obj_imge.SetShapeString(reccntsValue);
  751. }
  752. if (obj_imge.GetShapeCount() > 0)
  753. {
  754. // OCX 사이즈를 늘리기 전의 이미지를 저장한다.
  755. //obj_imge.GetThumbnailBase64(0, 0);
  756. if (obj_imge.GetViewMode() == 0)
  757. {
  758. obj_imge.SetViewMode(1);
  759. //obj_imge.SetViewMode(4);
  760. //alert("뷰모드 변경: 4");
  761. }
  762. // 실제 이미지 사이즈가 아닌 OCX 크기에 맞춰진 이미지 사이즈를 구한다.
  763. var sz = obj_imge.GetImageSizeEx(false);
  764. var arrSz = sz.split("|");
  765. var imgewid = arrSz[0];
  766. var imgehei = arrSz[1];
  767. //alert("2: " + arrSz);
  768. if ( imgewid > IMGE_SZ && imgehei > IMGE_SZ )
  769. {
  770. //alert("이미지 사이즈의 가로 및 세로가 500보다 큼: " + arrSz);
  771. if (imgewid > imgehei)
  772. {
  773. var newHeight = ( imgehei * IMGE_SZ ) / imgewid;
  774. obj_imge.SetControlSize(IMGE_SZ, newHeight);
  775. imgewid = IMGE_SZ;
  776. imgehei = newHeight;
  777. }
  778. else if (imgewid < imgehei)
  779. {
  780. var newWidth = ( imgewid * IMGE_SZ ) / imgehei;
  781. obj_imge.SetControlSize(newWidth, IMGE_SZ);
  782. imgewid = newWidth;
  783. imgehei = IMGE_SZ;
  784. }
  785. else
  786. {
  787. obj_imge.SetControlSize(IMGE_SZ, IMGE_SZ);
  788. imgewid = IMGE_SZ;
  789. imgehei = IMGE_SZ;
  790. }
  791. }
  792. else if ( imgewid > IMGE_SZ )
  793. {
  794. //alert("이미지 가로 사이즈가 500보다 큼: " + arrSz);
  795. var newheight = ( imgehei * IMGE_SZ ) / imgewid;
  796. obj_imge.SetControlSize(IMGE_SZ, newheight);
  797. imgewid = IMGE_SZ;
  798. imgehei = newheight;
  799. }
  800. else if ( imgehei > IMGE_SZ )
  801. {
  802. //alert("이미지 세로 사이즈가 500보다 큼: " + arrSz);
  803. var newWidth = ( imgewid * IMGE_SZ ) / imgehei;
  804. obj_imge.SetControlSize(newWidth, IMGE_SZ);
  805. imgewid = newWidth;
  806. imgehei = IMGE_SZ;
  807. }
  808. else if ( imgewid < IMGE_SZ && imgehei < IMGE_SZ )
  809. {
  810. //alert("이미지 가로 및 세로 사이즈가 500보다 작음: " + arrSz);
  811. if ( imgewid > imgehei )
  812. {
  813. var newHeight = ( imgehei * IMGE_SZ ) / imgewid;
  814. obj_imge.SetControlSize(IMGE_SZ, newHeight);
  815. imgewid = IMGE_SZ;
  816. imgehei = newHeight;
  817. }
  818. else if (imgewid < imgehei)
  819. {
  820. var newWidth = ( imgewid * IMGE_SZ ) / imgehei;
  821. obj_imge.SetControlSize(newWidth, IMGE_SZ);
  822. imgewid = newWidth;
  823. imgehei = IMGE_SZ;
  824. }
  825. else
  826. {
  827. obj_imge.SetControlSize(IMGE_SZ, IMGE_SZ);
  828. imgewid = IMGE_SZ;
  829. imgehei = IMGE_SZ;
  830. }
  831. }
  832. else if ( imgewid < IMGE_SZ )
  833. {
  834. //alert("이미지 가로 사이즈가 500보다 작음: " + arrSz);
  835. if ( imgehei > IMGE_SZ )
  836. {
  837. var newHeight = ( imgehei * IMGE_SZ ) / imgewid;
  838. obj_imge.SetControlSize(IMGE_SZ, newHeight);
  839. imgewid = IMGE_SZ;
  840. imgehei = newHeight;
  841. }
  842. else if ( imgehei < IMGE_SZ )
  843. {
  844. var newWidth = ( imgewid * IMGE_SZ ) / imgehei;
  845. obj_imge.SetControlSize(newWidth, IMGE_SZ);
  846. imgewid = newWidth;
  847. imgehei = IMGE_SZ;
  848. }
  849. }
  850. else if ( imgehei < IMGE_SZ )
  851. {
  852. //alert("이미지 세로 사이즈가 500보다 작음: " + arrSz);
  853. if ( imgewid > IMGE_SZ )
  854. {
  855. var newHeight = ( imgehei * IMGE_SZ ) / imgewid;
  856. obj_imge.SetControlSize(IMGE_SZ, newHeight);
  857. imgewid = IMGE_SZ;
  858. imgehei = newHeight;
  859. }
  860. else if ( imgewid < IMGE_SZ )
  861. {
  862. var newWidth = ( imgewid * IMGE_SZ ) / imgehei;
  863. obj_imge.SetControlSize(newWidth, IMGE_SZ);
  864. imgewid = newWidth;
  865. imgehei = IMGE_SZ;
  866. }
  867. }
  868. /* if (imgewid != IMGE_SZ || imgehei != IMGE_SZ)
  869. {
  870. obj_imge.SetControlSize(IMGE_SZ, IMGE_SZ);
  871. }
  872. */
  873. // 현재 OCX 크기에 이미지를 맞추어 계산한 Base64코드를 반환한다.
  874. //var strBase64 = obj_imge.GetThumbnailBase64(IMGE_SZ, IMGE_SZ);
  875. var strBase64 = obj_imge.GetThumbnailBase64(0, 0);
  876. //alert("3");
  877. //model.setValue(path_imgewid.replace("#iIdx#", i), IMGE_SZ);
  878. //model.setValue(path_imgehei.replace("#iIdx#", i), IMGE_SZ);
  879. path_imgewid.replace("#iIdx#", i);
  880. eval( path_imgewid.replace("#imgewid#", imgewid) );
  881. path_imgehei.replace("#iIdx#", i);
  882. eval( path_imgehei.replace("#imgehei#", imgehei) );
  883. // path_viewcnts.replace("#iIdx#", i);
  884. // eval( path_viewcnts.replace("#viewcnts#", strBase64) );
  885. // model.setValue(path_imgewid.replace("#iIdx#", i), imgewid);
  886. // model.setValue(path_imgehei.replace("#iIdx#", i), imgehei);
  887. // model.setValue(path_viewcnts.replace("#iIdx#", i), strBase64, true);
  888. //
  889. // setImageRefInstance(path_viewcnts.replace("#iIdx#", i));
  890. }//if
  891. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  892. // 가계도
  893. else if (eval(path_degnitemkind.replace("#iIdx#", i)) == "FDG" && !utlf_isNull(eval(chpath_reccnts)))
  894. {
  895. var MetaData = eval(path_reccnts.replace("#iIdx#", i));
  896. obj_fdg.LoadMetaData(MetaData);
  897. // 현 가계도 내용을 JPG로 저장한다.
  898. //obj_fdg.SaveJpg("c:\\가계도.jpg", "100");
  899. // 현재 가계도에 표현된 내용을 Base64로 인코딩하여 반환한다.(이미지 형식은 BMP)
  900. var strBase64 = obj_fdg.SaveEncodedBase64();
  901. path_imgewid.replace("#iIdx#", i);
  902. eval( path_imgewid.replace("#imgewid#", 500) );
  903. path_imgehei.replace("#iIdx#", i);
  904. eval( path_imgehei.replace("#imgehei#", 500) );
  905. // path_viewcnts.replace("#iIdx#", i);
  906. // eval( path_viewcnts.replace("#viewcnts#", strBase64) );
  907. // model.setValue(path_imgewid.replace("#iIdx#", i), 500);
  908. // model.setValue(path_imgehei.replace("#iIdx#", i), 500);
  909. // model.setValue(path_viewcnts.replace("#iIdx#", i), strBase64, true);
  910. //
  911. // setImageRefInstance(path_viewcnts.replace("#iIdx#", i));
  912. }
  913. }
  914. }
  915. catch (e)
  916. {
  917. alert(e);
  918. }
  919. }
  920. // jw.choe grid pos reset problem
  921. // grd_medirec.binddataset = gRef_ViewMediFormView; //grd_medirec.attribute("ref") = "/root/main/viewmedirec/medireccnts";
  922. if (!utlf_isNull(comn_cont_reccnts.formrecseq))
  923. {
  924. dsf_copyDs(gRef_ViewMediFormView, gRef_MediFormView);
  925. //copyNodeset(gRef_ViewMediFormView, gRef_MediFormView, "replace", model, model);
  926. fDrawGrid();
  927. }
  928. else
  929. {
  930. fExeFilter(gFilterCond);
  931. }
  932. }
  933. /**
  934. * @desc : 그리드 그리기 로직
  935. * @id :
  936. * @event :
  937. * @return : void
  938. * @authur : 박종훈
  939. */
  940. var gfontSz = 11;
  941. function fDrawGrid()
  942. {
  943. //sysf_trace("***** fDrowGrid ******");
  944. //sysf_trace(gfontSz);
  945. var fontsz = lf_getRegistry("FontSz");
  946. if (!utlf_isNull(fontsz) && fontsz != 0)
  947. {
  948. gfontSz = fontsz;
  949. }
  950. grd_medirec.visible = false;
  951. var colref_viewflag = grd_medirec.getBindCellIndex("body", "viewflag");
  952. var colref_imgehei = grd_medirec.getBindCellIndex("body", "imgehei");
  953. var colref_degnitemlevlno = grd_medirec.getBindCellIndex("body", "degnitemlevlno");
  954. var colref_degnitemkind = grd_medirec.getBindCellIndex("body", "degnitemkind");
  955. //trace("colref_viewflag " + colref_viewflag + " " + colref_imgehei + " " + colref_degnitemlevlno + " " + colref_degnitemkind );
  956. var viewflag;
  957. var degnitemlevlno;
  958. //var ft_std = 11;
  959. var ft_std = 0;
  960. var ft_header = (ft_std + parseInt(gfontSz) + 1);// + "pt";
  961. var ft_cnts = (ft_std + parseInt(gfontSz));// + "pt";
  962. var ft_tail = (ft_std + parseInt(gfontSz) - 1);// + "pt";
  963. var padng = 15;
  964. var ds_medirec = eval(grd_medirec.binddataset);
  965. //sysf_trace( "****** start setCellProperty ****");
  966. /* Style apply */
  967. grd_medirec.setCellProperty("body", 1, "background" ,"EXPR(fSetRowStyle(viewflag,imgehei,degnitemlevlno,degnitemkind,0,"+ft_cnts+","+ft_header+"))");//&quot;
  968. grd_medirec.setCellProperty("body", 1, "background2" ,"EXPR(fSetRowStyle(viewflag,imgehei,degnitemlevlno,degnitemkind,0,"+ft_cnts+","+ft_header +"))");
  969. grd_medirec.setCellProperty("body", 1, "font", "EXPR(fSetRowStyle(viewflag,imgehei,degnitemlevlno,degnitemkind,1,"+ft_cnts+","+ft_header+"))");
  970. grd_medirec.setCellProperty("body", 1, "padding", "EXPR(fSetRowStyle(viewflag,imgehei,degnitemlevlno,degnitemkind,2,"+ft_cnts+","+ft_header+"))");
  971. grd_medirec.setCellProperty("body", 1, "align", "EXPR(fSetRowStyle(viewflag,imgehei,degnitemlevlno,degnitemkind,4,"+ft_cnts+","+ft_header+"))");
  972. //grd_medirec.setCellProperty("body", 1, "text", "EXPR(degnitemkind=='IMG'||degnitemkind=='FDG'?viewimge:viewcnts)");
  973. //grd_medirec.setCellProperty("body", 20, "color", "#55435d");
  974. //grd_medirec.setCellProperty("body", 20, "color2", "#55435d");
  975. //grd_medirec.setCellProperty("body", 20, "displaytype", "EXPR(fSetRowStyle(viewflag, imgehei, degnitemlevlno, degnitemkind, 3, " + ft_cnts + ", " + ft_header + "))");
  976. //sysf_trace( "****** end setCellProperty ****");
  977. grd_medirec.autosizingtype = "row"; //grd_medirec.resizeCells();
  978. var colref_compflag = grd_medirec.getBindCellIndex("body", "compflag");
  979. for (var i = 0; i < ds_medirec.rowcount; i++)
  980. {
  981. viewflag = ds_medirec.getColumn(i, "viewflag");
  982. if (!utlf_isNull(ds_medirec.getColumn(i, "imgehei")))
  983. {
  984. //grd_medirec.setFormatRowProperty(i, "size", parseInt(ds_medirec.getColumn(i, "imgehei")) + 5 );
  985. grd_medirec.setRealRowSize(i, parseInt(ds_medirec.getColumn(i, "imgehei")) + 5);
  986. }
  987. else if (viewflag == "formnm")
  988. {
  989. grd_medirec.setRealRowSize(i, grd_medirec.getRealRowSize(i) + 5);
  990. }
  991. else if (viewflag == "recinfo")
  992. {
  993. grd_medirec.setRealRowSize(i, grd_medirec.getRealRowSize(i) + 3);
  994. }
  995. else if (viewflag == "recuser")
  996. {
  997. grd_medirec.setRealRowSize(i, 50);
  998. }
  999. }
  1000. grd_medirec.visible = true;
  1001. }
  1002. /**
  1003. * @desc : 그리드 Row형식 셋팅
  1004. * @id :
  1005. * @event :
  1006. * @return : void
  1007. * @authur : 박종훈
  1008. */
  1009. function fSetRowStyle(viewflag, imgehei, degnitemlevelno, degnitemkind, Flag, ft_cnts, ft_header )
  1010. {
  1011. var background;
  1012. var font;
  1013. var padding;
  1014. var displaytype = "normal";
  1015. var align = "left";
  1016. var padng = 15;
  1017. //trace(" ****** 1: " + viewflag + " ****** 2: " + imgehei + " ****** 3: " + degnitemlevlno + " ****** 4: " + degnitemkind + " ****** 5: " + Flag + " ****** 6: " + ft_cnts + " ****** 7: " + ft_header);
  1018. if (viewflag == "data")
  1019. {
  1020. if (utlf_isNull(imgehei))
  1021. {
  1022. if( degnitemlevlno != "1" ){
  1023. if (degnitemlevlno > "2" && degnitemkind == "GSU" ){
  1024. //fSetRowStyle(i, "transparent", "", ft_cnts, (padng * (parseInt(ds_medirec.getColumn(i, colref_degnitemlevlno))-2)) + "");
  1025. background = "transparent";
  1026. font = ft_cnts;
  1027. padding = (padng * parseInt(degnitemlevelno)-2);
  1028. }else{
  1029. //fSetRowStyle(i, "transparent", "", ft_cnts, (padng * (parseInt(ds_medirec.getColumn(i, colref_degnitemlevlno))-1)) + "");
  1030. background = "transparent";
  1031. font = ft_cnts;
  1032. padding = (padng * parseInt(degnitemlevelno)-1);
  1033. }
  1034. }else{
  1035. //fSetRowStyle(i, "transparent", "", ft_cnts, (padng * (parseInt(ds_medirec.getColumn(i, colref_degnitemlevlno)))) + "");
  1036. background = "transparent";
  1037. font = ft_cnts;
  1038. padding = (padng * parseInt(degnitemlevelno));
  1039. }
  1040. }else{
  1041. //fSetRowStyle(i, "transparent", "", "11", "IMGE");
  1042. //grd_medirec.rowheight(i) = parseInt(grd_medirec.valueMatrix(i, colref_imgehei)) + 5;
  1043. background = "transparent";
  1044. font = "11";
  1045. padding = "IMGE";
  1046. align = "center middle";
  1047. }
  1048. }
  1049. else if (viewflag == "fstlevl")
  1050. {
  1051. //fSetRowStyle(i, "transparent", "bold", ft_cnts, "5");
  1052. background = "transparent";
  1053. font = ft_cnts + ",bold";
  1054. padding = 5;
  1055. }
  1056. else if (viewflag == "formnm")
  1057. {
  1058. //fSetRowStyle(i, "#cce8ff", "bold", ft_header, "5");
  1059. background = "#cce8ff";
  1060. font = ft_header + ",bold";
  1061. padding = 5;
  1062. }
  1063. else if (viewflag == "recinfo")
  1064. {
  1065. //fSetRowStyle(i, "#cce8ff", "", ft_cnts, "5");
  1066. background = "#cce8ff";
  1067. font = ft_cnts;
  1068. padding = 5;
  1069. }
  1070. else if (viewflag == "recuser")
  1071. {
  1072. //fSetRowStyle(i, "transparent", "", "12", "5");
  1073. background = "transparent";
  1074. font = "10";
  1075. padding = 5;
  1076. }
  1077. if( Flag == 0 )
  1078. {
  1079. if( padding == "IMGE" )
  1080. {
  1081. background = background + " center center";
  1082. }
  1083. return background;
  1084. }
  1085. else if ( Flag == 1 )
  1086. {
  1087. return "dotum," + font;
  1088. }
  1089. else if( Flag == 2 )
  1090. {
  1091. if( padding == "IMGE" )
  1092. {
  1093. return "";//"0 0 0 15";
  1094. }
  1095. else
  1096. {
  1097. return "0 0 0 "+ padding;
  1098. }
  1099. }
  1100. else if( Flag == 3 )
  1101. {
  1102. return displaytype;
  1103. }
  1104. else if( Flag == 4 )
  1105. {
  1106. return align;
  1107. }
  1108. }
  1109. /**
  1110. * @desc : 메뉴 확인버튼 클릭시
  1111. * @id :
  1112. * @event :
  1113. * @return : void
  1114. * @authur : 박종훈
  1115. */
  1116. function fCnfm()
  1117. {
  1118. //sysf_trace("***** fCnfm() *****");
  1119. var formlist_cnt = ds_formlist.getCaseCount("value!='-'");
  1120. ds_formlist.filter("chk == 'Y' && value != '-'");
  1121. var arrSrcFormCds = null;
  1122. if( ds_formlist.rowcount != formlist_cnt )
  1123. {
  1124. arrSrcFormCds = new Array(ds_formlist.rowcount);
  1125. for (var i = 0; i < ds_formlist.rowcount; i++)
  1126. {
  1127. arrSrcFormCds[i] = ds_formlist.getColumn(i, "value");
  1128. }
  1129. }
  1130. ds_formlist.filter("");
  1131. var itemlist_cnt = ds_itemlist.getCaseCount("value!='-'");
  1132. ds_itemlist.filter("chk == 'Y' && value != '-'");
  1133. var arrItemBaseCds = null;
  1134. if( ds_itemlist.rowcount != itemlist_cnt )
  1135. {
  1136. arrItemBaseCds = new Array(ds_itemlist.rowcount);
  1137. for(var i = 0; i < ds_itemlist.rowcount; i++){
  1138. arrItemBaseCds[i] = ds_itemlist.getColumn(i, "value");
  1139. }
  1140. }
  1141. ds_itemlist.filter("");
  1142. //grup_menu.visible = false;
  1143. if(grup_menu.isPopup()) grup_menu.closePopup();
  1144. return fFiltering(arrSrcFormCds, arrItemBaseCds);
  1145. }
  1146. /**
  1147. * @desc : 메뉴 취소버튼 클릭시
  1148. * @id :
  1149. * @event :
  1150. * @return : void
  1151. * @authur : 박종훈
  1152. */
  1153. function fCncl()
  1154. {
  1155. //grup_menu.visible = false;
  1156. if(grup_menu.isPopup()) grup_menu.closePopup();
  1157. }
  1158. /**
  1159. * @desc : 기록내용 필터링
  1160. * @id :
  1161. * @event :
  1162. * @return : void
  1163. * @authur : 박종훈
  1164. */
  1165. var gSrcFormCds = "";
  1166. var gItemBaseCds = "";
  1167. function fFiltering(pArrSrcFormCds, pArrItemBaseCds)
  1168. {
  1169. //sysf_trace(" ************** fFiltering *****************");
  1170. var stmtForm = "";
  1171. var stmtItem = "";
  1172. if ( !utlf_isNull(pArrSrcFormCds) )
  1173. {
  1174. for (var i = 0; i < pArrSrcFormCds.length; i++)
  1175. {
  1176. if ( !utlf_isNull(stmtForm))
  1177. stmtForm += " || ";
  1178. stmtForm += "srcformcd=='" +pArrSrcFormCds[i]+ "'";
  1179. }
  1180. }
  1181. if ( !utlf_isNull(pArrItemBaseCds) )
  1182. {
  1183. for (var i = 0; i < pArrItemBaseCds.length; i++)
  1184. {
  1185. if ( !utlf_isNull(stmtItem) )
  1186. stmtItem += " || ";
  1187. stmtItem += "fstlevlitembasecd='" +pArrItemBaseCds[i]+ "'";
  1188. }
  1189. }
  1190. var stmt = "";
  1191. if ( !utlf_isNull(stmtForm) )
  1192. {
  1193. stmt = "(" + stmtForm + ")";
  1194. }
  1195. if ( !utlf_isNull(stmt) && !utlf_isNull(stmtItem) )
  1196. {
  1197. stmt += " && ";
  1198. }
  1199. if ( !utlf_isNull(stmtItem) )
  1200. {
  1201. stmt += "(" + stmtItem + " || fstlevlitembasecd='-1')";
  1202. }
  1203. //sysf_trace("*********** fFiltering stmt : " + stmt + "********");
  1204. //sysf_trace("*********** fFiltering fFilterCond : " + gFilterCond + "********");
  1205. if (gFilterCond == stmt)
  1206. {
  1207. return false;
  1208. }
  1209. else
  1210. {
  1211. return fExeFilter(stmt);
  1212. }
  1213. }
  1214. /**
  1215. * @desc : 기록내용 필터
  1216. * @id :
  1217. * @event :
  1218. * @return : void
  1219. * @authur : 박종훈
  1220. */
  1221. var gFilterCond = "";
  1222. function fExeFilter(stmt)
  1223. {
  1224. //sysf_trace("*********** fExeFilter *****************");
  1225. var cond = stmt;
  1226. if(utlf_isNull(stmt))
  1227. stmt = "";
  1228. //sysf_trace("*********** stmt ************* : " + stmt + "****");
  1229. gRef_MediFormView.filter(stmt);
  1230. if( gRef_MediFormView.rowcount == 0 ){
  1231. return false;
  1232. }
  1233. //sysf_trace("******* start copyDs ********");
  1234. gRef_ViewMediFormView.copyData(gRef_MediFormView, true);
  1235. //gRef_MediFormView.filter("");
  1236. //sysf_trace("******* end copyDs ********");
  1237. fDrawGrid();
  1238. gFilterCond = cond;
  1239. return true;
  1240. }
  1241. /**
  1242. * @desc : 최근 폰트 사이즈로 보이기
  1243. * @id :
  1244. * @event :
  1245. * @return : void
  1246. * @authur : 박종훈
  1247. */
  1248. function fShowLstFtSz(e)
  1249. {
  1250. if( grup_menu.isPopup() ) grup_menu.closePopup();
  1251. //sysf_trace("******* fShowLstFtSz() ***********");
  1252. //sysf_trace(" gExtnFuncFlag : " + gExtnFuncFlag + " getparameter : " + frmf_getParameter("SSMMR1200_showfontsize"));
  1253. if (gExtnFuncFlag == false || frmf_getParameter("SSMMR1200_showfontsize") == "false") return;
  1254. var nX = e.clientX;
  1255. var nY = e.clientY;
  1256. var widGrup = parseInt(grup_menu.position.width);
  1257. var widGrd = parseInt(grd_medirec.position2.width);
  1258. if (widGrd < nX + widGrup)
  1259. {
  1260. nX = widGrd - widGrup - 17;
  1261. }
  1262. var heiGrup = parseInt(grup_menu.position.height);
  1263. var heiGrd = parseInt(grd_medirec.position.height);
  1264. if (heiGrd < nY + heiGrup)
  1265. {
  1266. nY = heiGrd - heiGrup;
  1267. }
  1268. //sysf_trace("nX : " + nX + " nY : " + nY + "widGrup : " + widGrup + " widGrd : " + widGrd + " heiGrup : " + heiGrup + " heiGrd : " + heiGrd);
  1269. nX = system.clientToScreenX(grd_medirec,nX);
  1270. nY = system.clientToScreenY(grd_medirec,nY);
  1271. grup_menu.trackPopup(nX,nY);
  1272. return true; //event.propagate = "stokop";
  1273. }
  1274. /**
  1275. * @desc : 폰트 사이즈 변경
  1276. * @id :
  1277. * @event :
  1278. * @return : void
  1279. * @authur : 박종훈
  1280. */
  1281. function fChgFontSz()
  1282. {
  1283. // grup_menu.visible = false;
  1284. if( grup_menu.isPopup() ) grup_menu.closePopup();
  1285. var oDs = eval(grup_menu.grd_fntsz.binddataset);
  1286. var nRow = oDs.rowposition;
  1287. if (nRow != -1)
  1288. {
  1289. if (gfontSz != parseInt( oDs.getColumn(nRow, "value") ) )
  1290. {
  1291. gfontSz = parseInt( oDs.getColumn(nRow, "value") );
  1292. if (fCnfm() == false)
  1293. {
  1294. lf_setRegistry("FontSz", gfontSz);
  1295. fDrawGrid();
  1296. }
  1297. }
  1298. }
  1299. }
  1300. /**
  1301. * @desc : 기록 인스턴스 연결
  1302. * @
  1303. * @param :
  1304. * @return :
  1305. * @authur : 박종훈
  1306. */
  1307. function fSetRecItemValue()
  1308. {
  1309. //sysf_trace("**** fSetRecItemValue() *****");
  1310. if (gExtnFuncFlag == false) return;
  1311. var oDs = eval(grd_medirec.binddataset);
  1312. var nRow = oDs.rowposition;
  1313. var viewflag = oDs.getColumn(nRow, "viewflag");
  1314. var nodelist;
  1315. var preFix = "formrecseq == '" + oDs.getColumn(nRow, "formrecseq") + "'";
  1316. var postFix = " && viewflag=='data'";
  1317. //var postFix = " and viewflag='data' and (rectermcd != '' or recitemcd != '' or reccnts != '')]";
  1318. switch (viewflag)
  1319. {
  1320. case "data":
  1321. //nodelist = instance1.selectNodes(gRef_ViewMediFormView + preFix + postFix);
  1322. var reciteminfo = new RECITEM_INFO();
  1323. reciteminfo.degnitemkind = oDs.getColumn(nRow, "degnitemkind");
  1324. reciteminfo.degnitemcd = "";
  1325. reciteminfo.degnitemlevlcd = oDs.getColumn(nRow, "degnitemlevlcd");
  1326. reciteminfo.rectermcd = oDs.getColumn(nRow, "rectermcd");
  1327. reciteminfo.rectermnm = oDs.getColumn(nRow, "rectermnm");
  1328. //reciteminfo.recitemcd = oDs.getColumn(nRow, "recitemcd");
  1329. reciteminfo.recitemcd = oDs.getColumn(nRow, "recrefcd");
  1330. reciteminfo.reccnts = oDs.getColumn(nRow, "reccnts");
  1331. //2010-06-01 오전 8:21:42 이지운 추가 : MSL -> 부분서식지로 복사할경우 발생하는 오류 수정
  1332. reciteminfo.colno = oDs.getColumn(nRow, "colno");
  1333. //2014.01.02 김영기 => 이윤주수정(20140621)
  1334. if(reciteminfo.degnitemkind != "IMG" && reciteminfo.degnitemkind != "CHK" && reciteminfo.degnitemkind != "MSL"){
  1335. //parent.fSetRecItemValueBydegnitemlevlcd(reciteminfo);
  1336. try{
  1337. fSetRecItemValueBydegnitemlevlcd(reciteminfo);
  1338. }catch(e){
  1339. sysf_catchTrace(e);
  1340. }
  1341. fRecurSelect(oDs.getColumn(nRow, "formrecseq"),
  1342. oDs.getColumn(nRow, "fstlevlitemcd"),
  1343. oDs.getColumn(nRow, "degnitemno"));
  1344. }else{
  1345. fOpenImageViewer();
  1346. }
  1347. break;
  1348. case "fstlevl":
  1349. // nodelist = instance1.selectNodes(gRef_ViewMediFormView + preFix +
  1350. // " and fstlevlitemcd = '" + grd_medirec.valueMatrix(grd_medirec.row, grd_medirec.colref("fstlevlitemcd")) +"'"+
  1351. // postFix);
  1352. gRef_ViewMediFormView.filter( preFix +
  1353. " && fstlevlitemcd == '" + oDs.getColumn(nRow, "fstlevlitemcd") +"'" +
  1354. postFix);
  1355. fSetRecItemValueByNodeList(gRef_ViewMediFormView);
  1356. gRef_ViewMediFormView.filter("");
  1357. break;
  1358. default:
  1359. //nodelist = instance1.selectNodes(gRef_ViewMediFormView + preFix + postFix);
  1360. gRef_ViewMediFormView.filter(preFix + postFix);
  1361. fSetRecItemValueByNodeList(gRef_ViewMediFormView);
  1362. gRef_ViewMediFormView.filter("");
  1363. break;
  1364. }
  1365. }
  1366. /**
  1367. * @desc : 노드리스트별 기록 인스턴스 연결을 위한 재귀함수
  1368. * @
  1369. * @param :
  1370. * @return :
  1371. * @authur : 박종훈
  1372. */
  1373. function fRecurSelect(formrecseq, fstlevlitemcd, degnitemno)
  1374. {
  1375. //sysf_trace("***** fRecurSelect *****");
  1376. gRef_ViewMediFormView.filter("viewflag=='data' && formrecseq = '" + formrecseq +
  1377. "' && fstlevlitemcd == '" +fstlevlitemcd+ "' && supdegnitemno == '" +degnitemno+ "'");
  1378. for (var i=0; i<gRef_ViewMediFormView.rowcount; i++)
  1379. {
  1380. fRecurSelect(formrecseq, fstlevlitemcd, gRef_ViewMediFormView.getColumn(i, "degnitemno"));
  1381. }
  1382. fSetRecItemValueByNodeList(gRef_ViewMediFormView);
  1383. }
  1384. /**
  1385. * @desc : 노드리스트별 기록 인스턴스 연결
  1386. * @
  1387. * @param :
  1388. * @return :
  1389. * @authur : 박종훈
  1390. */
  1391. function fSetRecItemValueByNodeList(oDs)
  1392. {
  1393. //sysf_trace("***** fSetRecItemValueByNodeList *****");
  1394. // nodelist 는 dataset으로 변경
  1395. var reciteminfo;
  1396. for (var i=0; i< oDs.rowcount; i++)
  1397. {
  1398. if ( !utlf_isNull(oDs.getColumn(i, "rectermcd")) ||
  1399. !utlf_isNull(oDs.getColumn(i, "recitemcd")) ||
  1400. !utlf_isNull(oDs.getColumn(i, "reccnts")) )
  1401. {
  1402. reciteminfo = new RECITEM_INFO();
  1403. reciteminfo.degnitemkind = oDs.getColumn(i, "degnitemkind");
  1404. reciteminfo.degnitemcd = "";
  1405. reciteminfo.degnitemlevlcd = oDs.getColumn(i, "degnitemlevlcd");
  1406. reciteminfo.rectermcd = oDs.getColumn(i, "rectermcd");
  1407. reciteminfo.rectermnm = oDs.getColumn(i, "rectermnm");
  1408. reciteminfo.recitemcd = oDs.getColumn(i, "recitemcd");
  1409. reciteminfo.reccnts = oDs.getColumn(i, "reccnts");
  1410. //2010-06-01 오전 8:21:42 이지운 추가 : MSL -> 부분서식지로 복사할경우 발생하는 오류 수정
  1411. reciteminfo.colno = oDs.getColumn(i, "colno");
  1412. //parent.fSetRecItemValueBydegnitemlevlcd(reciteminfo);
  1413. try{
  1414. fSetRecItemValueBydegnitemlevlcd(reciteminfo);
  1415. }catch(e){
  1416. sysf_catchTrace(e);
  1417. }
  1418. }
  1419. }
  1420. }
  1421. var gTabSpace = new Array("", "", " ", " ", " ", " ",
  1422. " ", " ", " ");
  1423. /**
  1424. * @desc : 복사하기(클립보드에복사)
  1425. * @id :
  1426. * @event :
  1427. * @return : void
  1428. * @authur : 박종훈
  1429. */
  1430. function fSendBufCnts()
  1431. {
  1432. //sysf_trace("***** fSendBufCnts *****");
  1433. if (gExtnFuncFlag == false) return;
  1434. var bufCnts = "";
  1435. var rowidx;
  1436. var degnitemlevlno;
  1437. var oDs = eval(grd_medirec.binddataset);
  1438. var sCnt = grd_medirec.selectcount;
  1439. var arrData = grd_medirec.selectstartrow;
  1440. for (var i = 0; i < sCnt; i++)
  1441. {
  1442. rowidx = arrData[i];
  1443. degnitemlevlno = oDs.getColumn( rowidx, "degnitemlevlno");
  1444. if (degnitemlevlno == -1)
  1445. {
  1446. bufCnts += oDs.getColumn(rowidx, "viewcnts") + "\r\n";
  1447. }
  1448. else if ( utlf_isNull(oDs.getColumn(rowidx, "imgehei")) )
  1449. {
  1450. bufCnts += gTabSpace[ parseInt( degnitemlevlno ) ];
  1451. bufCnts += oDs.getColumn(rowidx, "viewcnts") + "\r\n";
  1452. }
  1453. }
  1454. //window.clipBoardData = bufCnts;
  1455. system.setClipboard("CF_TEXT",bufCnts);
  1456. }
  1457. /**
  1458. * @desc : 통합기록조회에서의 미리 보기
  1459. * @
  1460. * @param :
  1461. * @return :
  1462. * @---------------------------------------------------
  1463. */
  1464. function fSystViewRefMediRecCnts(comn_cont_reccnts)
  1465. {
  1466. //sysf_trace("***** fSystViewRefMediRecCnts *****");
  1467. var objColInfo = new Array();
  1468. objColInfo.push({col: "depth", type:"STRING", size:256, val: comn_cont_reccnts.depth});
  1469. objColInfo.push({col: "label", type:"STRING", size:256, val: comn_cont_reccnts.label});
  1470. objColInfo.push({col: "val", type:"BIGDECIMAL", size:256, val: comn_cont_reccnts.val});
  1471. objColInfo.push({col: "pid", type:"STRING", size:256, val: comn_cont_reccnts.pid});
  1472. objColInfo.push({col: "orddd", type:"STRING", size:256, val: comn_cont_reccnts.orddd});
  1473. objColInfo.push({col: "cretno", type:"INT", size:256, val: comn_cont_reccnts.cretno});
  1474. objColInfo.push({col: "chosflag", type:"STRING", size:256, val: comn_cont_reccnts.chosflag});
  1475. objColInfo.push({col: "tabflag", type:"STRING", size:256, val: comn_cont_reccnts.tabflag});
  1476. objColInfo.push({col: "viewflag", type:"STRING", size:256, val: comn_cont_reccnts.viewflag});
  1477. objColInfo.push({col: "condflag", type:"STRING", size:256, val: comn_cont_reccnts.condflag});
  1478. objColInfo.push({col: "fromdd", type:"STRING", size:256, val: comn_cont_reccnts.fromdd});
  1479. objColInfo.push({col: "todd", type:"STRING", size:256, val: comn_cont_reccnts.todd});
  1480. dsf_createDsRow("ds_reqmedireccnts2", objColInfo);
  1481. //sysf_trace(ds_reqmedireccnts2.saveXML());
  1482. var oParam = {};
  1483. oParam.id = "TRMMR01202";
  1484. oParam.service = "medirecapp.ComnMediRec";
  1485. oParam.method = "reqGetComnFormRecCnts";
  1486. oParam.inds = "req=" + "ds_reqmedireccnts2";
  1487. oParam.outds = "ds_medireccnts" + "=medireccnts";
  1488. oParam.async = false;
  1489. oParam.callback = "cf_TRMMR01202"
  1490. tranf_submit(oParam);
  1491. fAtrerRef(comn_cont_reccnts);
  1492. }
  1493. function cf_TRMMR01202(sSvcId, nErrorCode, sErrorMsg){
  1494. if(nErrorCode > -1) {
  1495. /* Temp로 사용한 Dataset을 삭제 */
  1496. var oRemoveDs = this.removeChild("ds_reqmedireccnts2");
  1497. oRemoveDs = null;
  1498. // ds_medireccnts.addColumn("imgehei", "string");
  1499. // ds_medireccnts.addColumn("imgewid", "string");
  1500. }
  1501. }
  1502. /**
  1503. * @desc : 그리드 더블 클릭시 리피트 기능
  1504. * @
  1505. * @param :
  1506. * @return :
  1507. * @---------------------------------------------------
  1508. */
  1509. // 2013.10.22 김영기 서식인터페이스 추가로 인한 분기점 생성
  1510. function fOnDbClickGrid()
  1511. {
  1512. //sysf_trace(" **** fOnDBClickGrid() ****");
  1513. var oDs = eval(grd_medirec.binddataset);
  1514. var nRow = oDs.rowposition;
  1515. var formprogflag = oDs.getColumn(nRow, "formprogflag");
  1516. //var sScreenID = parent.frmf_getScreenID();
  1517. var sScreenID = this.getOwnerFrame().form.frmf_getScreenID();
  1518. sysf_trace(" sScreenID : " + sScreenID);
  1519. if(sScreenID == "SPMMR00100"){
  1520. //sysf_trace(" **** sScreenID SPMMR00100 ****");
  1521. var formrecseq = oDs.getColumn(nRow, "formrecseq");
  1522. var viewflag = oDs.getColumn(nRow, "viewflag");
  1523. if (viewflag == "formnm" || viewflag == "recinfo")
  1524. {
  1525. //sysf_trace(" viewflag == formnm || viewflag == recinfo ****");
  1526. parent.fOpenMediRecCntForm(formrecseq);
  1527. }
  1528. }else{
  1529. //sysf_trace(" **** sScreenID SPMMR00100 else ****");
  1530. if (formprogflag == "-" || formprogflag == "OCR" || formprogflag == "PROF")
  1531. {
  1532. //sysf_trace(" **** formprogflag == \"-\" || formprogflag == \"OCR\" || formprogflag == \"PROF\" ****");
  1533. var formrecseq = oDs.getColumn(nRow, "formrecseq");
  1534. var viewflag = oDs.getColumn(nRow, "viewflag");
  1535. if (viewflag == "formnm" || viewflag == "recinfo")
  1536. {
  1537. //sysf_trace(" **** viewflag == \"formnm\" || viewflag == \"recinfo\" ****");
  1538. frmf_setParameter("openmode", "recform");
  1539. frmf_setParameter("formrecseq", formrecseq);
  1540. //modalURL("../../../emr/medirecweb/xrw/SSMMR01100_서식로더.xrw", 1, 0, 0, "", "", "");
  1541. //frmf_modalInternal(sID, sURL, sArg, bPrevPos, nMonitor, nLeft, nTop, nWidth, nHeight, sStyle, sProp, objScrnInfo, sOpt)
  1542. frmf_modalInternal("SSMMR01100", "emr_medirecxp::SSMMR01100_서식로더.xfdl", null, null, 1, null, 0, 0, null, null, null, null, "P");
  1543. }else if(viewflag == "data"){
  1544. //2014.01.02 김영기
  1545. //sysf_trace(" **** viewflag == \"data\" ****");
  1546. if(oDs.getColumn(nRow, "degnitemkind") == "IMG"){
  1547. fOpenImageViewer();
  1548. }
  1549. }
  1550. }
  1551. else
  1552. {
  1553. fSetRecItemValue();
  1554. }
  1555. }
  1556. }
  1557. /**
  1558. * @desc : 한번 클릭시 수정을 위해 formrecseq를 상위화면에 파라미터로 셋
  1559. * @
  1560. * @param :
  1561. * @return :
  1562. * @---------------------------------------------------
  1563. */
  1564. function fOnClickGrid(e)
  1565. {
  1566. //sysf_trace("***** fOnClickGrid *****");
  1567. var ods = eval(grd_medirec.binddataset);
  1568. var formcd = ods.getColumn(e.newrow, "formcd");
  1569. var formrecseq = ods.getColumn(e.newrow, "formrecseq");
  1570. var cnfmyn = ods.getColumn(e.newrow, "cnfmyn");
  1571. //sysf_trace( " formcd : " + formcd + " formrecseq : " + formrecseq + " cnfmyn : " + cnfmyn );
  1572. var oOpener;
  1573. if( frmf_getCurrentFormKind() == "main" ){
  1574. oOpener = frmf_getMainViewer();
  1575. }else{
  1576. if( sysf_getObjType(this) == "Form" ) oOpener = opener;
  1577. else oOpener = this.getOwnerFrame().form;
  1578. }
  1579. oOpener.frmf_setParameter("SSMMR01200_Param_formcd", formcd);
  1580. oOpener.frmf_setParameter("SSMMR01200_Param_recseq", formrecseq);
  1581. oOpener.frmf_setParameter("SSMMR01200_Param_cnfmyn", cnfmyn);
  1582. }
  1583. /**
  1584. * @desc : 메타데이터에서 caption을 CDATA로 감싼다.
  1585. * @id :
  1586. * @event :
  1587. * @return :
  1588. * @authur : 이경희
  1589. */
  1590. function fSetCdata(metadata)
  1591. {
  1592. //sysf_trace("******** fSetCdata*********");
  1593. var strMeta = metadata;
  1594. // 1. CDATA로 감싸져 있는지 확인.
  1595. if(utlf_isSearchString(strMeta, "CDATA") == false)
  1596. {
  1597. var strStCaptionOld = "";
  1598. var strEdCaptionOld = "";
  1599. var strStCaptionNew = "";
  1600. var strEdCaptionNew = "";
  1601. // 배열로 반환
  1602. strStCaptionOld = fGetXvgStCaption(strMeta);
  1603. strEdCaptionOld = fGetXvgEdCaption(strMeta);
  1604. // for문으로 반복
  1605. for(var idx = 0; idx < strStCaptionOld.length; idx++)
  1606. {
  1607. if(idx == 0)
  1608. {
  1609. // 모든 </caption> 을 ]]]]><![CDATA[></caption> 으로 변경
  1610. strEdCaptionNew = "]]]]><![CDATA[>" + strEdCaptionOld[idx];
  1611. strMeta = strMeta.setReplaceWord(strEdCaptionOld[idx], strEdCaptionNew);
  1612. }
  1613. strStCaptionNew = strStCaptionOld[idx] + "<![CDATA[";
  1614. strMeta = strMeta.setReplaceWord(strStCaptionOld[idx], strStCaptionNew);
  1615. }
  1616. }
  1617. return strMeta;
  1618. }
  1619. /**
  1620. * @desc : 메타데이터에서 caption의 시작 태그를 반환한다.
  1621. * @id :
  1622. * @event :
  1623. * @return :
  1624. * @authur : 이경희
  1625. */
  1626. function fGetXvgStCaption(metadata)
  1627. {
  1628. //sysf_trace("******** fGetXvgStCaption*********");
  1629. var strMeta = metadata;
  1630. var getStCaption = new Array();
  1631. var grpexpSt = new RegExp('(<caption[^<>]+>)', 'igm');
  1632. if(grpexpSt.test(strMeta) == true)
  1633. {
  1634. getStCaption = strMeta.match(grpexpSt);
  1635. strMeta = strMeta.replace(grpexpSt, "");
  1636. }
  1637. if(getStCaption.length > 0)
  1638. return getStCaption;
  1639. else
  1640. return "";
  1641. }
  1642. /**
  1643. * @desc : 메타데이터에서 caption의 종료 태그를 반환한다.
  1644. * @id :
  1645. * @event :
  1646. * @return :
  1647. * @authur : 이경희
  1648. */
  1649. function fGetXvgEdCaption(metadata)
  1650. {
  1651. //sysf_trace("******** fGetXvgEdCaption *********");
  1652. var strMeta = metadata;
  1653. var getEdCaption = new Array();
  1654. var grpexpEd = new RegExp('(</caption>)', 'igm');
  1655. if (grpexpEd.test(strMeta) == true)
  1656. {
  1657. getEdCaption = strMeta.match(grpexpEd);
  1658. strMeta = strMeta.replace(grpexpEd, "");
  1659. }
  1660. if(getEdCaption.length > 0)
  1661. return getEdCaption;
  1662. else
  1663. return "";
  1664. }
  1665. /**
  1666. * @desc : 기록내역 조회 BY 기록이력 순번
  1667. * @id :
  1668. * @event :
  1669. * @return : void
  1670. * @authur : 박종훈
  1671. */
  1672. function fRefRecViewByHistSeq(rechistseq)
  1673. {
  1674. //sysf_trace("********* fRefRecViewByHistSeq *******************");
  1675. //sysf_trace("********* rechistseq *******************" + rechistseq);
  1676. var objColInfo = new Array();
  1677. objColInfo.push({col: "rechistseq", val: rechistseq});
  1678. dsf_createDsRow("ds_reqrechistseq", objColInfo);
  1679. // grd_medirec.binddataset = ""; // grd_medirec.attribute("ref") = "";
  1680. var oParam = {};
  1681. oParam.id = "TRMMR01203";
  1682. oParam.service = "medirecapp.ComnMediRec";
  1683. oParam.method = "reqGetComnFormRecCntsByhistseq";
  1684. oParam.inds = "req=" + "ds_reqrechistseq";
  1685. oParam.outds = "ds_medireccnts" + "=medireccnts";
  1686. oParam.async = false;
  1687. oParam.callback = "cf_TRMMR01203"
  1688. tranf_submit(oParam);
  1689. //sysf_trace(ds_medireccnts.saveXML());
  1690. var cont = new COMN_CONT_RECCNTS();
  1691. fAtrerRef_Recview(cont);
  1692. }
  1693. function cf_TRMMR01203(sSvcId, nErrorCode, sErrorMsg){
  1694. if(nErrorCode > -1) {
  1695. /* 동적 사용한 Dataset을 삭제 */
  1696. var oRemoveDs = this.removeChild("ds_reqrechistseq");
  1697. oRemoveDs = null;
  1698. // ds_medireccnts.addColumn("imgehei", "string");
  1699. // ds_medireccnts.addColumn("imgewid", "string");
  1700. }
  1701. }
  1702. /**
  1703. * @desc : 기록내용 조회후 화면표시 형식 셋팅 로직
  1704. * @id :
  1705. * @event :
  1706. * @return : void
  1707. * @authur : 박종훈
  1708. */
  1709. function fAtrerRef_Recview(comn_cont_reccnts)
  1710. {
  1711. sysf_trace("******** fAtrerRef_Recview ************");
  1712. var cnt = parseInt( gRef_MediFormView.rowcount );
  1713. //sysf_trace("******** cnt ************" + cnt);
  1714. // <, > 로 변환
  1715. doReplaceLtGt(gRef_MediFormView);
  1716. var chpath_viewimge;
  1717. var chpath_reccnts;
  1718. for (var i = 0; i < cnt; i++)
  1719. {
  1720. try
  1721. {
  1722. chpath_viewimge = gRef_MediFormView.getColumn(i, "viewimge");
  1723. chpath_reccnts = gRef_MediFormView.getColumn(i, "reccnts");
  1724. if ( gRef_MediFormView.getColumn(i, "degnitemkind") == "IMG" &&
  1725. ( !utlf_isNull(chpath_viewimge) || !utlf_isNull(chpath_reccnts) ) )
  1726. {
  1727. var Localimg = "";
  1728. var degnitemlevlcd = "";
  1729. /*var IMGListNode = "";*/ // replace dataset : ds_tmp_medireccnts
  1730. var strXvgInfo = "";
  1731. degnitemlevlcd = gRef_MediFormView.getColumn(i, "degnitemkind");
  1732. if( !utlf_isNull(degnitemlevlcd)){
  1733. //dataset filter apply
  1734. gRef_MediFormView.filter("degnitemlevlcd=='" + degnitemlevlcd + "' && degnitemkind=='MTX'");
  1735. // copy tmp ds
  1736. ds_tmp_medireccnts.copyData(gRef_MediFormView, true);
  1737. // reset filter
  1738. gRef_MediFormView.filter("");
  1739. //IMGListNode = findNodeset(model, gRef_MediFormView+ "[degnitemlevlcd='" + degnitemlevlcd + "' and degnitemkind='MTX']");
  1740. }
  1741. for(var idx = 0; idx < ds_tmp_medireccnts.rowcount; idx++)
  1742. {
  1743. var Localimg = ds_tmp_medireccnts.getColumn( idx, "viewcnts");
  1744. }
  1745. // XML 데이터 입력 시 width / height로 ocx 크기를 변경함.
  1746. //sysf_trace( "*********** Localimg : " + Localimg);
  1747. var reccntsValue = gRef_MediFormView.getColumn(i, "reccnts");
  1748. var strRecImgBase64 = gRef_MediFormView.getColumn(i, "viewimge");
  1749. obj_imge.LoadImageBase64(strRecImgBase64);
  1750. var shapeinfo = reccntsValue;
  1751. // caption 을 모두 CDATA 처리
  1752. reccntsValue = fSetCdata(reccntsValue);
  1753. if( !utlf_isNull(reccntsValue) )
  1754. {
  1755. strXvgInfo = fGetMetaMode(reccntsValue);
  1756. var tmpShape = removeXvgTag(reccntsValue);
  1757. }
  1758. obj_imge.Clear();
  1759. var viewMode = obj_imge.GetViewMode();
  1760. if(viewMode != 1) { // ActiveX를 스크린 사이즈로 맞춤
  1761. obj_imge.SetViewMode(1);
  1762. }
  1763. obj_imge.SetControlSize(strXvgInfo[1], strXvgInfo[2]);
  1764. obj_imge.LoadImageBase64(strRecImgBase64);
  1765. // obj_imge.SaveImage(0, "c:\\Users\\lainblue\\Documents\\saveImg.jpg");
  1766. // 실제 이미지 사이즈가 아닌 OCX 크기에 맞춰진 이미지 사이즈를 구한다.
  1767. var sz = obj_imge.GetImageSizeEx(false);
  1768. var arrSz = sz.split("|");
  1769. var imgewid = arrSz[0];
  1770. var imgehei = arrSz[1];
  1771. var adjustImgSize = fGetAdjustImgeSize(imgewid, imgehei);
  1772. var Newimgewid = adjustImgSize.split("|")[0];
  1773. var Newimgehei = adjustImgSize.split("|")[1];
  1774. // 현재 OCX 크기에 이미지를 맞추어 계산한 Base64코드를 반환한다.
  1775. var strBase64 = obj_imge.GetThumbnailBase64(Newimgewid, Newimgehei);
  1776. gRef_MediFormView.setColumn(i, "imgewid", Newimgewid);
  1777. gRef_MediFormView.setColumn(i, "imgehei", Newimgehei);
  1778. // var objExt = new ExtCommon();
  1779. // var objBlob = objExt.decodeBase64(obj_imge.SaveJpegBase64(), "BIN");
  1780. //model.setValue(path_viewcnts.replace("#iIdx#", i), strBase64, true);
  1781. //sysf_trace("****** end image set *******");
  1782. }
  1783. // 가계도
  1784. else if (gRef_MediFormView.getColumn(i, "degnitemkind") == "FDG" && !utlf_isNull(chpath_reccnts))
  1785. {
  1786. var MetaData = gRef_MediFormView.getColumn(i, "reccnts");
  1787. obj_fdg.RemoveAll();
  1788. obj_fdg.LoadMetaData(MetaData);
  1789. // 현 가계도 내용을 JPG로 저장한다.
  1790. //obj_fdg.SaveJpg("c:\\가계도.jpg", "100");
  1791. // 현재 가계도에 표현된 내용을 Base64로 인코딩하여 반환한다.(이미지 형식은 BMP)
  1792. // 가계도의 기본사이즈는 573:357
  1793. // 기록내용보기의 가로 최대는 500임.
  1794. var strBase64 = obj_fdg.SaveEncodedBase64();
  1795. obj_imge.Clear();
  1796. var viewMode = obj_imge.GetViewMode();
  1797. if(viewMode != 1) { // ActiveX를 스크린 사이즈로 맞춤
  1798. obj_imge.SetViewMode(1);
  1799. }
  1800. obj_imge.SetControlSize(gFDGWidth, gFDGHeight);
  1801. obj_imge.LoadImageBase64(strBase64);
  1802. // 실제 이미지 사이즈가 아닌 OCX 크기에 맞춰진 이미지 사이즈를 구한다.
  1803. var sz = obj_imge.GetImageSizeEx(false);
  1804. var arrSz = sz.split("|");
  1805. var imgewid = arrSz[0];
  1806. var imgehei = arrSz[1];
  1807. var adjustImgSize = fGetAdjustImgeSize(imgewid, imgehei);
  1808. var Newimgewid = adjustImgSize.split("|")[0];
  1809. var Newimgehei = adjustImgSize.split("|")[1];
  1810. // 현재 OCX 크기에 이미지를 맞추어 계산한 Base64코드를 반환한다.
  1811. var strNewBase64 = obj_imge.GetThumbnailBase64(Newimgewid, Newimgehei);
  1812. gRef_MediFormView.setColumn(i, "imgewid", Newimgewid );
  1813. gRef_MediFormView.setColumn(i, "imgehei", Newimgehei );
  1814. // gRef_MediFormView.setColumn(i, "viewimge", strNewBase64 );
  1815. // model.setValue(path_viewcnts.replace("#iIdx#", i), strNewBase64, true);
  1816. // setImageRefInstance(path_viewcnts.replace("#iIdx#", i));
  1817. }
  1818. }
  1819. catch (e)
  1820. {
  1821. //alert(e);
  1822. sysf_catchTrace(e);
  1823. }
  1824. }
  1825. //grd_medirec.binddataset = gRef_ViewMediFormView; //grd_medirec.attribute("ref") = "/root/main/viewmedirec/medireccnts";
  1826. if (!utlf_isNull(comn_cont_reccnts.formrecseq))
  1827. {
  1828. dsf_copyDs(gRef_ViewMediFormView, gRef_MediFormView, "replace");
  1829. //copyNodeset(gRef_ViewMediFormView, gRef_MediFormView, "replace", model, model);
  1830. fDrawGrid();
  1831. }
  1832. else
  1833. {
  1834. fExeFilter(gFilterCond);
  1835. }
  1836. }
  1837. function fGetAdjustImgeSize(imgewid, imgehei)
  1838. {
  1839. if ( parseInt(imgewid) > parseInt(IMGE_SZ) && parseInt(imgehei) > parseInt(IMGE_SZ) ) // 이미지 사이즈의 가로 및 세로가 500보다 큼
  1840. {
  1841. //alert("이미지 사이즈의 가로 및 세로가 500보다 큼: " + arrSz);
  1842. if ( parseInt(imgewid) >= parseInt(imgehei) )
  1843. {
  1844. var newHeight = ( imgehei * IMGE_SZ ) / imgewid;
  1845. //obj_imge.SetControlSize(IMGE_SZ, newHeight);
  1846. imgewid = IMGE_SZ;
  1847. imgehei = newHeight;
  1848. }
  1849. else if ( parseInt(imgewid) <= parseInt(imgehei) )
  1850. {
  1851. var newWidth = ( imgewid * IMGE_SZ ) / imgehei;
  1852. //obj_imge.SetControlSize(newWidth, IMGE_SZ);
  1853. imgewid = newWidth;
  1854. imgehei = IMGE_SZ;
  1855. }
  1856. else
  1857. {
  1858. //obj_imge.SetControlSize(IMGE_SZ, IMGE_SZ);
  1859. imgewid = IMGE_SZ;
  1860. imgehei = IMGE_SZ;
  1861. }
  1862. }
  1863. else if ( parseInt(imgewid) > parseInt(IMGE_SZ) )
  1864. {
  1865. //alert("이미지 가로 사이즈가 500보다 큼: " + arrSz);
  1866. var newheight = ( imgehei * IMGE_SZ ) / imgewid;
  1867. //obj_imge.SetControlSize(IMGE_SZ, newheight);
  1868. imgewid = IMGE_SZ;
  1869. imgehei = newheight;
  1870. }
  1871. else if ( parseInt(imgehei) > parseInt(IMGE_SZ) )
  1872. {
  1873. //alert("이미지 세로 사이즈가 500보다 큼: " + arrSz);
  1874. var newWidth = ( imgewid * IMGE_SZ ) / imgehei;
  1875. //obj_imge.SetControlSize(newWidth, IMGE_SZ);
  1876. imgewid = newWidth;
  1877. imgehei = IMGE_SZ;
  1878. }
  1879. else if ( parseInt(imgewid) < parseInt(IMGE_SZ) && parseInt(imgehei) < parseInt(IMGE_SZ) ) // 이미지 가로 및 세로 사이즈가 500보다 작음
  1880. {
  1881. //alert("이미지 가로 및 세로 사이즈가 500보다 작음: " + arrSz);
  1882. if ( parseInt(imgewid) > parseInt(imgehei) )
  1883. {
  1884. var newHeight = ( imgehei * IMGE_SZ ) / imgewid;
  1885. //obj_imge.SetControlSize(IMGE_SZ, newHeight);
  1886. imgewid = IMGE_SZ;
  1887. imgehei = newHeight;
  1888. }
  1889. else if ( parseInt(imgewid) < parseInt(imgehei) )
  1890. {
  1891. var newWidth = ( imgewid * IMGE_SZ ) / imgehei;
  1892. //obj_imge.SetControlSize(newWidth, IMGE_SZ);
  1893. imgewid = newWidth;
  1894. imgehei = IMGE_SZ;
  1895. }
  1896. else
  1897. {
  1898. //obj_imge.SetControlSize(IMGE_SZ, IMGE_SZ);
  1899. imgewid = IMGE_SZ;
  1900. imgehei = IMGE_SZ;
  1901. }
  1902. }
  1903. else if ( parseInt(imgewid) < parseInt(IMGE_SZ) ) // 이미지 가로 사이즈가 500보다 작음
  1904. {
  1905. //alert("이미지 가로 사이즈가 500보다 작음: " + arrSz);
  1906. if ( parseInt(imgehei) > parseInt(IMGE_SZ) )
  1907. {
  1908. var newHeight = ( imgehei * IMGE_SZ ) / imgewid;
  1909. //obj_imge.SetControlSize(IMGE_SZ, newHeight);
  1910. imgewid = IMGE_SZ;
  1911. imgehei = newHeight;
  1912. }
  1913. else if ( parseInt(imgehei) < parseInt(IMGE_SZ) )
  1914. {
  1915. var newWidth = ( imgewid * IMGE_SZ ) / imgehei;
  1916. //obj_imge.SetControlSize(newWidth, IMGE_SZ);
  1917. imgewid = newWidth;
  1918. imgehei = IMGE_SZ;
  1919. }
  1920. }
  1921. else if ( parseInt(imgehei) < parseInt(IMGE_SZ) ) // 이미지 세로 사이즈가 500보다 작음
  1922. {
  1923. //alert("이미지 세로 사이즈가 500보다 작음: " + arrSz);
  1924. if ( parseInt(imgewid) > parseInt(IMGE_SZ) )
  1925. {
  1926. var newHeight = ( imgehei * IMGE_SZ ) / imgewid;
  1927. //obj_imge.SetControlSize(IMGE_SZ, newHeight);
  1928. imgewid = IMGE_SZ;
  1929. imgehei = newHeight;
  1930. }
  1931. else if ( parseInt(imgewid) < parseInt(IMGE_SZ) )
  1932. {
  1933. var newWidth = ( imgewid * IMGE_SZ ) / imgehei;
  1934. //obj_imge.SetControlSize(newWidth, IMGE_SZ);
  1935. imgewid = newWidth;
  1936. imgehei = IMGE_SZ;
  1937. }
  1938. }
  1939. else
  1940. {
  1941. //obj_imge.SetControlSize(IMGE_SZ, IMGE_SZ);
  1942. imgewid = IMGE_SZ;
  1943. imgehei = IMGE_SZ;
  1944. }
  1945. return imgewid + "|" + imgehei;
  1946. }
  1947. /**
  1948. * 이미지 다운버튼 활성여부 함수
  1949. */
  1950. function fOpenImageViewer(){
  1951. var ds = eval(grd_medirec.binddataset);
  1952. var row = ds.rowposition;
  1953. var sDegitemkind = ds.getColumn(row, "degnitemkind");
  1954. if(sDegitemkind == "IMG"){
  1955. ds_img_downinfo.setColumn(0, row);
  1956. ds_img_downinfo.setColumn(0, ds.getColumn(row, "viewimge"));
  1957. var objArgs = new Object();
  1958. /*
  1959. objArgs.col1 = "A";
  1960. objArgs.col2 = "B";
  1961. objArgs.col3 = {C:"C"};
  1962. */
  1963. frmf_modal("SSMMR01201", "SSMMR01201", objArgs, null, null, null, null, null, null, null, null, null, "M");
  1964. }else{
  1965. ds_img_downinfo.setColumn(0, "-1");
  1966. ds_img_downinfo.setColumn(0, "");
  1967. }
  1968. /*
  1969. var row = grd_medirec.row;
  1970. var sDegitemkind = model.getValue("/root/main/viewmedirec/medireccnts['"+row+"']/degnitemkind");
  1971. if(sDegitemkind == "IMG"){
  1972. model.setValue("root/temp2/img_downinfo/row",row);
  1973. model.setValue("root/temp2/img_downinfo/viewcnts", model.getValue("/root/main/viewmedirec/medireccnts['"+row+"']/viewimge"));
  1974. modal("SSMMR01201");
  1975. }else{
  1976. model.setValue("root/temp2/img_downinfo/row","-1");
  1977. model.setValue("root/temp2/img_downinfo/viewcnts","");
  1978. }
  1979. */
  1980. }
  1981. /**
  1982. * 2014/02/13 마우스 휠 이벤트
  1983. * 이정택
  1984. **/
  1985. var pagecnt="";
  1986. function fPaging(){
  1987. if( ds_hardcodeinfo.getColumn(0, "trgtcd") == "Y" ){
  1988. if(grd_medirec.vscrollbar.max == grd_medirec.vscrollbar.pos
  1989. && comn_cont_reccnts_copy.condflag!="keyval"
  1990. && arr_formrecseq.length > pagecnt ){
  1991. pagecnt = parseInt(pagecnt);
  1992. pagecnt +=1;
  1993. //sysf_trace("fPaging() pagecnt : " + pagecnt);
  1994. comn_cont_reccnts_copy.pagingyn="Y";
  1995. fRefMediRecCnts_New(comn_cont_reccnts_copy);
  1996. }
  1997. }
  1998. }
  1999. /**
  2000. * 2013/03/04 버튼 클릭시의 이벤트
  2001. * 이정택
  2002. * @return
  2003. */
  2004. function fPaging_click(){
  2005. if( ds_hardcodeinfo.getColumn(0, "trgtcd") == "Y" ){
  2006. if(comn_cont_reccnts_copy.condflag!="keyval" && arr_formrecseq.length > pagecnt ){
  2007. pagecnt = parseInt(pagecnt);
  2008. pagecnt +=1;
  2009. comn_cont_reccnts_copy.pagingyn="Y";
  2010. //sysf_trace("fPaging() pagecnt : " + pagecnt);
  2011. fRefMediRecCnts_New(comn_cont_reccnts_copy);
  2012. }
  2013. }
  2014. }]]></Script>