SPMRB00401.js 77 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828
  1. // 다중 페이지 지원을 위한 파일 패스와 페이지 정보
  2. var g_path;
  3. var g_page;
  4. var g_page_lut;
  5. var g_form_count;
  6. var g_outertext;
  7. var g_recrowno;
  8. /**
  9. * @group :
  10. * @ver : 2007.05.21
  11. * @by : 김재홍
  12. * @---------------------------------------------------
  13. * @type : function
  14. * @access : public
  15. * @desc : 초기화 함수
  16. * @return :
  17. * @---------------------------------------------------
  18. */
  19. function fInitilize()
  20. {
  21. fSet_OCX_PageViewer();
  22. fSet_OCX_ThumbViewer();
  23. fSet_OCX_ChartViewer();
  24. fSet_OCX_PreViewer();
  25. // 페이지 데이터 초기화
  26. g_path = new Array();
  27. g_page = new Array();
  28. g_page_lut = new Array();
  29. g_form_count = new Array();
  30. g_outertext = new Array();
  31. g_recrowno = new Array();
  32. //model.setValue("/root/main/chartinfo/pagetotal", "0");
  33. //model.setValue("/root/main/chartinfo/pagecurrent", "0");
  34. model.setValue("/root/main/chartinfo/pagetotal", "0");
  35. model.setValue("/root/main/chartinfo/pagecurrent", "0");
  36. model.refresh();
  37. // 모든 버튼 이미지를 설정한다.
  38. setupAllButtons();
  39. // 토글 버튼의 기본값 설정
  40. //processToggleButton("btnFitBest");
  41. processToggleButton("btnPageMouseNormal");
  42. //processToggleButton("btnChartMouseNormal");
  43. processToggleButton("btnChartMousePanning");
  44. // 페이지뷰의 페이지 이동 버튼 설정
  45. setupMoveButton();
  46. // 보기 방법의 기본값 설정
  47. setupChart("ChartView");
  48. // 데이터 초기화
  49. resetData();
  50. // 뷰어를 IMPORT 된 크기로 FIT 시킨다.
  51. // if(document.body.isChild("importIemr") == true)
  52. // if(window.type == "iviewer")
  53. // {
  54. // fitToImportArea();
  55. // }
  56. // 썸네일 뷰어의 레이아웃 설정
  57. objThumbView.SetThumbLayout(4, 3);
  58. }
  59. /**
  60. * @group :
  61. * @ver : 2007.05.21
  62. * @by : 김재홍
  63. * @---------------------------------------------------
  64. * @type : function
  65. * @access : public
  66. * @desc : 입력받은 YYYYMMDD를 YYYY-MM-DD 로 반환한다.
  67. * @return :
  68. * @---------------------------------------------------
  69. */
  70. function formatDate(value)
  71. {
  72. return value.substr(0, 4) + "-" +
  73. value.substr(4, 2) + "-" +
  74. value.substr(6, 2);
  75. }
  76. /**
  77. * @group :
  78. * @ver : 2007.05.21
  79. * @by : 김재홍
  80. * @---------------------------------------------------
  81. * @type : function
  82. * @access : public
  83. * @desc : PageViewer OCX 초기화
  84. * @return :
  85. * @---------------------------------------------------
  86. */
  87. function fSet_OCX_PageViewer()
  88. {
  89. objPageView.BorderStyle = 1;
  90. objPageView.BackColor = 0xffffff;//0xe0e0e0;
  91. objPageView.BestFit();
  92. objPageView.HorzAlignMode = 1;
  93. objPageView.VertAlignMode = 1;
  94. //objPageView.MouseMode = 4;
  95. objPageView.MouseMode = 0;
  96. objPageView.MagnifyingGlassWidth = 700;
  97. objPageView.MagnifyingGlassHeight = 400;
  98. //objPageView.MagnifyingGlassHeight = 300;
  99. //objPageView.MagnifyingGlassWidth = objPageView.ImageWidth;
  100. objPageView.MagnifyingGlassRatio = 1.0;
  101. }
  102. /**
  103. * @group :
  104. * @ver : 2007.05.21
  105. * @by : 김재홍
  106. * @---------------------------------------------------
  107. * @type : function
  108. * @access : public
  109. * @desc : PreViewer OCX 초기화
  110. * @return :
  111. * @---------------------------------------------------
  112. */
  113. function fSet_OCX_PreViewer()
  114. {
  115. objPreview.BorderStyle = 1;
  116. objPreview.BackColor = 0xffffff;//0xe0e0e0;
  117. objPreview.BestFit();
  118. objPreview.HorzAlignMode = 1;
  119. objPreview.VertAlignMode = 1;
  120. }
  121. /**
  122. * @group :
  123. * @ver : 2007.05.21
  124. * @by : 김재홍
  125. * @---------------------------------------------------
  126. * @type : function
  127. * @access : public
  128. * @desc : ThumbViewer OCX 초기화
  129. * @return :
  130. * @---------------------------------------------------
  131. */
  132. function fSet_OCX_ThumbViewer()
  133. {
  134. objThumbView.BorderStyle = 1;
  135. objThumbView.BackColor = 0xffffff;
  136. objThumbView.BorderColor = 0xf4f4f4;
  137. objThumbView.SelectColor = 0xc8a8c0;
  138. objThumbView.TextColor = 0x000000;
  139. objThumbView.ShowFilename = true;
  140. // objThumbView.ShowFilename = false;
  141. objThumbView.ShowIndex = false;
  142. objThumbView.ShowPage = false;
  143. objThumbView.MultiSelect = true;
  144. }
  145. /**
  146. * @group :
  147. * @ver : 2007.05.21
  148. * @by : 김재홍
  149. * @---------------------------------------------------
  150. * @type : function
  151. * @access : public
  152. * @desc : ChartViewer OCX 초기화
  153. * @return :
  154. * @---------------------------------------------------
  155. */
  156. function fSet_OCX_ChartViewer()
  157. {
  158. objChartView.BackColor = 0xffffff;
  159. // objChartView.CaptionForeColor = 0xffffff;
  160. objChartView.CaptionBackColor = 0xb99a5c;
  161. objChartView.CaptionForeColor = 0xffffff;
  162. // objChartView.CaptionBackColor = 0xffffff;
  163. objChartView.CaptionFont = "돋움";
  164. objChartView.CaptionHeight = 20;
  165. objChartView.CaptionBold = true;
  166. objChartView.CaptionItalic = false;
  167. objChartView.CaptionStrikeOut = false;
  168. objChartView.CaptionUnderline = false;
  169. objChartView.MouseMode = 0;
  170. objChartView.MagnifyingGlassWidth = 700;
  171. objChartView.MagnifyingGlassHeight = 400;
  172. objChartView.MagnifyingGlassRatio = 2.3;
  173. objChartView.DefaultRegionAnalyzeMethod =
  174. "Method=2;" +
  175. "MarginX=20;" +
  176. "MarginY=20;" +
  177. "HyphenWidthMin=7;" +
  178. "HyphenWidthMax=15;" +
  179. "HyphenHeightMin=2;" +
  180. "HyphenHeightMax=8;" +
  181. "HyphenMaxDifY=4;" +
  182. "HyphenAgreeMin=8;" +
  183. "HyphenSpaceMin=20;" +
  184. "HyphenSpaceMax=30;" +
  185. "LineMergeHeight=40;" +
  186. "LineTopEraseMargin=12;" +
  187. "LineBottomEraseMargin=0;" +
  188. "LineTop=0;" +
  189. "LineBottom=0"
  190. }
  191. /**
  192. * @group :
  193. * @ver : 2007.05.21
  194. * @by : 김재홍
  195. * @---------------------------------------------------
  196. * @type : function
  197. * @access : public
  198. * @desc : XPath로 부터 Button image Load
  199. * @return :
  200. * @---------------------------------------------------
  201. */
  202. function getXPathButtonImage(button)
  203. {
  204. return button == null ? "/root/hidden/buttonImage" : "/root/hidden/buttonImage/" + button;
  205. }
  206. /**
  207. * @group :
  208. * @ver : 2007.05.21
  209. * @by : 김재홍
  210. * @---------------------------------------------------
  211. * @type : function
  212. * @access : public
  213. * @desc : XPath로 부터 ToggleButton image Load
  214. * @return :
  215. * @---------------------------------------------------
  216. */
  217. function getXPathToggleButton(button)
  218. {
  219. return button == null ? "/root/hidden/buttonToggle" : "/root/hidden/buttonToggle/" + button;
  220. }
  221. /**
  222. * @group :
  223. * @ver : 2007.05.21
  224. * @by : 김재홍
  225. * @---------------------------------------------------
  226. * @type : function
  227. * @access : public
  228. * @desc : 등록되어 있는 모든 버튼 이미지를 설정한다.
  229. * @return :
  230. * @---------------------------------------------------
  231. */
  232. function setupAllButtons()
  233. {
  234. var node = instance1.selectSingleNode( getXPathButtonImage() );
  235. var list = node.childNodes;
  236. var total = list.length;
  237. var i;
  238. for (i = 0; i < total; i++)
  239. {
  240. setupButton( list.item(i).nodeName );
  241. }
  242. }
  243. /**
  244. * @group :
  245. * @ver : 2007.05.21
  246. * @by : 김재홍
  247. * @---------------------------------------------------
  248. * @type : function
  249. * @access : public
  250. * @desc : 토글 버튼의 속성을 반환하거나 설정한다.
  251. * @return :
  252. * @---------------------------------------------------
  253. */
  254. function toggleButton(button, property, value)
  255. {
  256. if (button == null || property == null) return;
  257. var path = getXPathToggleButton(button) + "/" + property;
  258. if (value == null)
  259. {
  260. return model.getValue(path);
  261. }
  262. else
  263. {
  264. if (model.getValue(path) != value)
  265. {
  266. model.setValue(path, value);
  267. setupButton(button);
  268. }
  269. }
  270. }
  271. /**
  272. * @group :
  273. * @ver : 2007.05.21
  274. * @by : 김재홍
  275. * @---------------------------------------------------
  276. * @type : function
  277. * @access : public
  278. * @desc : 버튼의 현재 상황에 맞게 이미지를 설정한다.
  279. * @return :
  280. * @---------------------------------------------------
  281. */
  282. function setupButton(button)
  283. {
  284. var path = model.getValue("/root/hidden/buttonImageHome") + model.getValue(getXPathButtonImage(button));
  285. var ext = model.getValue("/root/hidden/buttonImageExt");
  286. var objButton = document.controls.item(button);
  287. // 버튼 상태에 따라 이미지 설정
  288. if(toggleButton(button, "value") == "1")
  289. {
  290. objButton.attribute("background-image") = path + "_c" + ext;
  291. objButton.attribute("down.background-image") = path + "_c" + ext;
  292. objButton.attribute("hover.background-image") = path + "_c" + ext;
  293. objButton.attribute("disable.background-image") = path + "_d" + ext;
  294. }
  295. else
  296. {
  297. objButton.attribute("background-image") = path + ext;
  298. objButton.attribute("down.background-image") = path + "_c" + ext;
  299. objButton.attribute("hover.background-image") = path + "_h" + ext;
  300. objButton.attribute("disable.background-image") = path + "_d" + ext;
  301. }
  302. // disable 처리
  303. var btnDis = toggleButton(button, "disable") == "1" ? true : false;
  304. objButton.disabled = btnDis;
  305. // 버튼을 화면에 갱신
  306. objButton.refresh();
  307. }
  308. /**
  309. * @group :
  310. * @ver : 2007.05.21
  311. * @by : 김재홍
  312. * @---------------------------------------------------
  313. * @type : function
  314. * @access : public
  315. * @desc : 토글 버튼을 처리한다.
  316. * @return :
  317. * @---------------------------------------------------
  318. */
  319. function processToggleButton(button)
  320. {
  321. var node = instance1.selectSingleNode(getXPathToggleButton());
  322. var list = node.childNodes;
  323. var total = list.length;
  324. var curName;
  325. var name;
  326. var i;
  327. if (objChartView.TotalChart == 0)
  328. {
  329. //return;
  330. }
  331. // 이미 켜져 있다면 처리가 필요 없음
  332. // if(toggleButton(button, "value") == "1") return;
  333. // 영역확대, 확대, 축소 버튼일 경우 실제크기보기, 최적크기보기, 가로크기보기 버튼 끔
  334. if(button == "btnPageMouseRegionZoom" || button == "btnZoomIn" || button == "btnZoomOut")
  335. {
  336. if(toggleButton("btnFitBest", "value") == "1")
  337. {
  338. toggleButton("btnFitBest", "value", "0");
  339. }
  340. if(toggleButton("btnFitActual", "value") == "1")
  341. {
  342. toggleButton("btnFitActual", "value", "0");
  343. }
  344. if(toggleButton("btnFitWidth", "value") == "1")
  345. {
  346. toggleButton("btnFitWidth", "value", "0");
  347. }
  348. }
  349. // 확대, 축소 버튼의 경우 의미없음
  350. if(button == "btnZoomIn" || button == "btnZoomOut") return;
  351. curName = toggleButton(button, "name");
  352. for (i = 0; i < total; i++)
  353. {
  354. name = list.item(i).nodeName;
  355. if(toggleButton(name, "name") == curName && toggleButton(name, "value") == "1")
  356. {
  357. toggleButton(name, "value", "0");
  358. // 핸들러 호출
  359. eval(name + "_Changed()");
  360. }
  361. }
  362. toggleButton(button, "value", "1");
  363. // 핸들러 호출
  364. eval(button + "_Changed()");
  365. }
  366. /**
  367. * @group :
  368. * @ver : 2007.05.21
  369. * @by : 김재홍
  370. * @---------------------------------------------------
  371. * @type : function
  372. * @access : public
  373. * @desc : 뷰어 정보를 초기화 한다.
  374. * @return :
  375. * @---------------------------------------------------
  376. */
  377. function resetData()
  378. {
  379. // objChartView.AutoRefresh = false;
  380. // objThumbView.ClearPage();
  381. // objChartView.ChartRemove(0, 0);
  382. // objPageView.CurrentPage = 0;
  383. // objChartView.AutoRefresh = true;
  384. // 개체에 이미지가 등록되어 있다면 해지한다.
  385. objChartView.AutoRefresh = false;
  386. objChartView.ChartRemove(0, 0);
  387. objChartView.ChartScroll(1);
  388. objPageView.CurrentPage = 0;
  389. objThumbView.ClearPage();
  390. objChartView.AutoRefresh = true;
  391. // 개체의 쓰레드가 종료될때 까지 기다린다.
  392. while(objThumbView.IsThreadDone() == false);
  393. model.removeNode("/root/hidden/tempcharts");
  394. model.removeNode("/root/main/charts");
  395. model.refresh();
  396. setupMoveButton();
  397. }
  398. /**
  399. * @group :
  400. * @ver : 2007.05.21
  401. * @by : 김재홍
  402. * @---------------------------------------------------
  403. * @type : function
  404. * @access : public
  405. * @desc : 차트뷰의 끌기 마우스 커서 버튼 핸들러
  406. * @return :
  407. * @---------------------------------------------------
  408. */
  409. function btnChartMousePanning_Changed()
  410. {
  411. if(getToggleValue("ModeChartMouse") == "btnChartMousePanning")
  412. {
  413. objChartView.MouseMode = 1;
  414. }
  415. }
  416. /**
  417. * @group :
  418. * @ver : 2007.05.21
  419. * @by : 김재홍
  420. * @---------------------------------------------------
  421. * @type : function
  422. * @access : public
  423. * @desc : 차트뷰의 돋보기 마우스 커서 버튼 핸들러
  424. * @return :
  425. * @---------------------------------------------------
  426. */
  427. function btnChartMouseMagnifyingGlass_Changed()
  428. {
  429. if(getToggleValue("ModeChartMouse") == "btnChartMouseMagnifyingGlass")
  430. {
  431. objChartView.MouseMode = 2;
  432. }
  433. }
  434. /**
  435. * @group :
  436. * @ver : 2007.05.21
  437. * @by : 김재홍
  438. * @---------------------------------------------------
  439. * @type : function
  440. * @access : public
  441. * @desc : 차트뷰의 디폴트 마우스 커서 버튼 핸들러
  442. * @return :
  443. * @---------------------------------------------------
  444. */
  445. function btnChartMouseNormal_Changed()
  446. {
  447. if(getToggleValue("ModeChartMouse") == "btnChartMouseNormal")
  448. {
  449. objChartView.MouseMode = 0;
  450. }
  451. }
  452. /**
  453. * @group :
  454. * @ver : 2007.05.21
  455. * @by : 김재홍
  456. * @---------------------------------------------------
  457. * @type : function
  458. * @access : public
  459. * @desc : 실제 크기 맞추기 버튼 핸들러
  460. * @return :
  461. * @---------------------------------------------------
  462. */
  463. function btnFitActual_Changed()
  464. {
  465. if(getToggleValue("ModeFit") == "btnFitActual")
  466. {
  467. objPageView.ActualSize();
  468. processToggleButton("btnPageMousePanning");
  469. }
  470. }
  471. /**
  472. * @group :
  473. * @ver : 2007.05.21
  474. * @by : 김재홍
  475. * @---------------------------------------------------
  476. * @type : function
  477. * @access : public
  478. * @desc : 최적 크기 맞추기 버튼 핸들러
  479. * @return :
  480. * @---------------------------------------------------
  481. */
  482. function btnFitBest_Changed()
  483. {
  484. if(getToggleValue("ModeFit") == "btnFitBest")
  485. {
  486. objPageView.BestFit();
  487. //processToggleButton("btnPageMouseMagnifyingGlass");
  488. }
  489. }
  490. /**
  491. * @group :
  492. * @ver : 2007.05.21
  493. * @by : 김재홍
  494. * @---------------------------------------------------
  495. * @type : function
  496. * @access : public
  497. * @desc : 가로 크기 맞추기 버튼 핸들러
  498. * @return :
  499. * @---------------------------------------------------
  500. */
  501. function btnFitWidth_Changed()
  502. {
  503. if(getToggleValue("ModeFit") == "btnFitWidth")
  504. {
  505. objPageView.FitToWidth();
  506. processToggleButton("btnPageMousePanning");
  507. }
  508. }
  509. /**
  510. * @group :
  511. * @ver : 2007.05.21
  512. * @by : 김재홍
  513. * @---------------------------------------------------
  514. * @type : function
  515. * @access : public
  516. * @desc : 일반 마우스 커서 버튼 핸들러
  517. * @return :
  518. * @---------------------------------------------------
  519. */
  520. function btnPageMouseNormal_Changed()
  521. {
  522. if(getToggleValue("ModePageMouse") == "btnPageMouseNormal")
  523. {
  524. objPageView.MouseMode = 0;
  525. }
  526. }
  527. /**
  528. * @group :
  529. * @ver : 2007.05.21
  530. * @by : 김재홍
  531. * @---------------------------------------------------
  532. * @type : function
  533. * @access : public
  534. * @desc : 영역 확대 마우스 커서 버튼 핸들러
  535. * @return :
  536. * @---------------------------------------------------
  537. */
  538. function btnPageMouseRegionZoom_Changed()
  539. {
  540. if(getToggleValue("ModePageMouse") == "btnPageMouseRegionZoom")
  541. {
  542. objPageView.MouseMode = 2;
  543. }
  544. }
  545. /**
  546. * @group :
  547. * @ver : 2007.05.21
  548. * @by : 김재홍
  549. * @---------------------------------------------------
  550. * @type : function
  551. * @access : public
  552. * @desc : 돋보기 마우스 커서 버튼 핸들러
  553. * @return :
  554. * @---------------------------------------------------
  555. */
  556. function btnPageMouseMagnifyingGlass_Changed()
  557. {
  558. if(getToggleValue("ModePageMouse") == "btnPageMouseMagnifyingGlass")
  559. {
  560. objPageView.MouseMode = 4;
  561. }
  562. }
  563. /**
  564. * @group :
  565. * @ver : 2007.05.21
  566. * @by : 김재홍
  567. * @---------------------------------------------------
  568. * @type : function
  569. * @access : public
  570. * @desc : 끌기 마우스 커서 버튼 핸들러
  571. * @return :
  572. * @---------------------------------------------------
  573. */
  574. function btnPageMousePanning_Changed()
  575. {
  576. if(getToggleValue("ModePageMouse") == "btnPageMousePanning")
  577. {
  578. objPageView.MouseMode = 1;
  579. }
  580. }
  581. /**
  582. * @group :
  583. * @ver : 2007.05.21
  584. * @by : 김재홍
  585. * @---------------------------------------------------
  586. * @type : function
  587. * @access : public
  588. * @desc : 차트 정보의 xpath를 반환한다.
  589. * @return :
  590. * @---------------------------------------------------
  591. */
  592. function getXPathChart(page, value)
  593. {
  594. return "/root/main/charts[" + page + "]" + ((value == null) ? "" : "/" + value);
  595. }
  596. /**
  597. * @group :
  598. * @ver : 2007.05.21
  599. * @by : 김재홍
  600. * @---------------------------------------------------
  601. * @type : function
  602. * @access : public
  603. * @desc : 보기 모드와 현재 페이지에 따라 적당한 차트가 보이도록 설정한다.
  604. * @return :
  605. * @---------------------------------------------------
  606. */
  607. function setupChart(ViewMode)
  608. {
  609. if(ViewMode == null)
  610. {
  611. // 보기 모드가 지정되지 않았다면 현재의 값을 사용한다.
  612. ViewMode = model.getValue("/root/hidden/currentViewMode");
  613. }
  614. else
  615. {
  616. // 보기 모드에 따라 스위치를 설정한다.
  617. switch(ViewMode)
  618. {
  619. case "PageView":
  620. model.toggle("swViewModeCase3");
  621. document.controls.item("btnPageView").selected = true;
  622. processToggleButton("btnPageMouseNormal");
  623. break;
  624. case "ThumbView":
  625. model.toggle("swtViewModeCase1");
  626. document.controls.item("btnThumbView").selected = true;
  627. break;
  628. case "ChartView":
  629. model.toggle("swViewModeCase2");
  630. document.controls.item("btnChartView").selected = true;
  631. break;
  632. }
  633. // 현재 보기 모드를 저장한다.
  634. model.setValue("/root/hidden/currentViewMode", ViewMode);
  635. }
  636. var pageTotal = parseInt(model.getValue("/root/main/chartinfo/pagetotal"));
  637. var pageCurrent = parseInt(model.getValue("/root/main/chartinfo/pagecurrent"));
  638. var nPrv;
  639. var nCur;
  640. var nPage;
  641. var i;
  642. var j;
  643. var count;
  644. var imgemrcount;
  645. var totalemrorddate;
  646. var totalemrformnm;
  647. var totalemrformcd;
  648. var totalemrdeptnm;
  649. var totalemrdeptcd;
  650. var totalemrpage;
  651. var totalemrhiddenmsg;
  652. var emrorddate;
  653. var emrformnm;
  654. var emrformcd;
  655. var emrdeptnm;
  656. var emrdeptcd;
  657. var emrpage;
  658. var emrhiddenmsg;
  659. var counttemp = 0;
  660. var countnull = 0;
  661. var txtemrcount = 0;
  662. var txtemrcounttemp = 0;
  663. var emrcounttemp = 0;
  664. var emrfilepath = "";
  665. var emrfilepathtemp = "";
  666. var emrgpath = 0;
  667. var emrchartindex;
  668. var emrpagecount = 0;
  669. var emrresult = 0;
  670. var emrtotalpagecount = 0;
  671. var idx;
  672. switch(ViewMode)
  673. {
  674. case "PageView":
  675. processToggleButton("btnPageMouseNormal");
  676. if (pageCurrent != 0)
  677. {
  678. objPageView.Load(g_path[pageCurrent], g_page[pageCurrent]);
  679. }
  680. else
  681. {
  682. model.setValue("/root/main/chartinfo/pagecurrent", "1");
  683. //model.setValue("/root/main/chartinfo/pagecurrent",pageCurrent);
  684. pageCurrent = parseInt(model.getValue("/root/main/chartinfo/pagecurrent"));
  685. model.refresh();
  686. objPageView.Load(g_path[pageCurrent], g_page[pageCurrent]);
  687. }
  688. break;
  689. //
  690. case "ChartView":
  691. objChartView.ChartRemove(0, 0);
  692. processToggleButton("btnChartMousePanning");
  693. idx = parseInt(model.getValue("/root/main/chartinfo/pagecurrent"));
  694. if (pageCurrent == 0)
  695. {
  696. objChartView.ChartAppend(g_path[1], g_page[1], g_page[1]);
  697. objChartView.OuterCaption(1) = g_outertext[0];
  698. //fn_SendRecRowno(idx);
  699. }
  700. else
  701. {
  702. objChartView.ChartAppend(g_path[pageCurrent], g_page[pageCurrent], g_page[pageCurrent]);
  703. objChartView.OuterCaption(1) = g_outertext[pageCurrent - 1];
  704. //fn_SendRecRowno(idx);
  705. }
  706. objChartView.ChartScroll(1);
  707. /*
  708. if (pageCurrent != 0)
  709. {
  710. objChartView.ChartAppend(g_path[pageCurrent], g_page[pageCurrent], g_page[pageCurrent]);
  711. objChartView.OuterCaption(1) = formatDate(model.getValue("/root/main/charts[" + pageCurrent + "]/indd")) + " " +
  712. model.getValue("/root/main/charts[" + pageCurrent + "]/orddeptnm") + " " +
  713. model.getValue("/root/main/charts[" + pageCurrent + "]/docunm") + " " +
  714. model.getValue("/root/main/charts[" + pageCurrent + "]/chrtpage");
  715. alert(pageCurrent);
  716. }
  717. else
  718. {
  719. model.setValue("/root/main/chartinfo/pagecurrent", "1");
  720. pageCurrent = parseInt(model.getValue("/root/main/chartinfo/pagecurrent"));
  721. model.refresh();
  722. // objPageView.Load(g_path[pageCurrent], g_page[pageCurrent]);
  723. objChartView.ChartAppend(g_path[pageCurrent], g_page[pageCurrent], g_page[pageCurrent]);
  724. }
  725. break;
  726. */
  727. // processToggleButton("btnFitWidth");
  728. break;
  729. case "ThumbView":
  730. //[성가 병원 clear Viewer 안되는 현상]
  731. fSet_OCX_ThumbViewer();
  732. fShow_FalsePreviewChart(0,0,0);
  733. break;
  734. }
  735. }
  736. /**
  737. * @group :
  738. * @ver : 2007.05.21
  739. * @by : 김재홍
  740. * @---------------------------------------------------
  741. * @type : function
  742. * @access : public
  743. * @desc : 페이지뷰 툴바에 있는 페이지 이동 버튼의 활성화 여부를 처리한다.
  744. * @return :
  745. * @---------------------------------------------------
  746. */
  747. function setupMoveButton()
  748. {
  749. var pageTotal = parseInt(model.getValue("/root/main/chartinfo/pagetotal"));
  750. var pageCurrent = parseInt(model.getValue("/root/main/chartinfo/pagecurrent"));
  751. var prev = "1";
  752. var next = "1";
  753. if (pageCurrent > 1) prev = "0";
  754. if (pageCurrent < pageTotal) next = "0";
  755. // toggleButton("btnMoveFirst", "disable", prev);
  756. // toggleButton("btnMovePrev", "disable", prev);
  757. // toggleButton("btnMoveLast", "disable", next);
  758. // toggleButton("btnMoveNext", "disable", next);
  759. }
  760. /**
  761. * @group :
  762. * @ver : 2007.05.21
  763. * @by : 김재홍
  764. * @---------------------------------------------------
  765. * @type : function
  766. * @access : public
  767. * @desc : 프린터 설정
  768. * @return :
  769. * @---------------------------------------------------
  770. */
  771. function printSetup(hWND)
  772. {
  773. if (objBIP.PrinterSetup(hWND) == true)
  774. {
  775. return true;
  776. }
  777. else
  778. {
  779. return false;
  780. }
  781. }
  782. /**
  783. * @group :
  784. * @ver : 2007.05.21
  785. * @by : 김재홍
  786. * @---------------------------------------------------
  787. * @type : function
  788. * @access : public
  789. * @desc : 출력 로그 설정
  790. * @return :
  791. * @---------------------------------------------------
  792. */
  793. function printLog(page)
  794. {
  795. page = g_page_lut[page];
  796. return model.getValue(getXPathChart(page, "chrtpage")) + "|" +
  797. model.getValue(getXPathChart(page, "ordno")) + "|" +
  798. model.getValue(getXPathChart(page, "pageno")) + "|" +
  799. model.getValue(getXPathChart(page, "docucd")) + "|" +
  800. model.getValue(getXPathChart(page, "orddeptcd")) + "|" +
  801. model.getValue(getXPathChart(page, "ptdt")) + "|" +
  802. model.getValue(getXPathChart(page, "usercd")) + "|" +
  803. model.getValue(getXPathChart(page, "indd")) + "|" +
  804. model.getValue(getXPathChart(page, "outdd")) + "|" +
  805. model.getValue(getXPathChart(page, "remtip")) + "|" +
  806. model.getValue(getXPathChart(page, "remtport"));
  807. }
  808. /**
  809. * @group :
  810. * @ver : 2007.05.21
  811. * @by : 김재홍
  812. * @---------------------------------------------------
  813. * @type : function
  814. * @access : public
  815. * @desc : 현재 보이는 차트를 출력한다.
  816. * @return :
  817. * @---------------------------------------------------
  818. */
  819. function printChart(docName)
  820. {
  821. var strPage;
  822. var strPage;
  823. var strPrintLog;
  824. var bFirstPage;
  825. var start = getCurrentDateTime();
  826. //출력지 모이는 현상
  827. //0 BIPPM_SMART_FIT
  828. //1 BIPPM_ACTUAL_SIZE
  829. //2 BIPPM_PAGE_FIT
  830. objBIP.PrintMethod = 2
  831. switch(model.getValue("/root/hidden/currentViewMode"))
  832. {
  833. case "PageView":
  834. var pageCurrent = parseInt(model.getValue("/root/main/chartinfo/pagecurrent"));
  835. if(pageCurrent > 0)
  836. {
  837. strPath = g_path[pageCurrent];
  838. strPage = g_page[pageCurrent];
  839. // objBIP.StartDoc(docName);
  840. if (objBIP.StartDoc(docName) == false)
  841. {
  842. return false;
  843. }
  844. // objBIP.PrintImage(g_path[pageCurrent], g_page[pageCurrent]);
  845. if (objBIP.PrintImage(g_path[pageCurrent], g_page[pageCurrent]) == false)
  846. {
  847. return false;
  848. }
  849. else
  850. {
  851. //사본발급시
  852. if (docName=="SMMRC03000")
  853. {
  854. objBIP.FontFaceName = "HY울릉도M"
  855. objBIP.FontSize = 12
  856. objBIP.FontBold = true
  857. objBIP.PrintText(360, objBIP.PaperHeight - 20,"이 서식은 사본입니다(원본 대조필)");
  858. }
  859. }
  860. // objBIP.EndDoc();
  861. if (objBIP.EndDoc() == false)
  862. {
  863. return false;
  864. }
  865. // 출력 통보
  866. model.setAttribute("sCMR_Param", printLog(pageCurrent));
  867. }
  868. else
  869. {
  870. alert("출력할 페이지가 없습니다.");
  871. return false;
  872. }
  873. break;
  874. case "ThumbView":
  875. if(objThumbView.TotalSelectedThumbnail == 0)
  876. {
  877. // alert("선택된 차트가 없습니다.");
  878. // return;
  879. // objBIP.StartDoc(docName);
  880. if (objBIP.StartDoc(docName) == false)
  881. {
  882. return false;
  883. }
  884. bFirstPage = true;
  885. strPrintLog = "";
  886. for(i = 1; i <= objThumbView.TotalThumbnail; i++)
  887. {
  888. if(bFirstPage == false)
  889. {
  890. // objBIP.NewPage();
  891. if (objBIP.NewPage() == false)
  892. {
  893. return false;
  894. }
  895. strPrintLog += ",";
  896. }
  897. else
  898. {
  899. bFirstPage = false;
  900. }
  901. // objBIP.PrintImage(objThumbView.FileName(i), objThumbView.Page(i));
  902. if (objBIP.PrintImage(objThumbView.FileName(i), objThumbView.Page(i)) == false)
  903. {
  904. return false;
  905. }
  906. else
  907. {
  908. //사본발급시
  909. if (docName=="SMMRC03000")
  910. {
  911. objBIP.FontFaceName = "HY울릉도M"
  912. objBIP.FontSize = 12
  913. objBIP.FontBold = true
  914. objBIP.PrintText(360, objBIP.PaperHeight - 20,"이 서식은 사본입니다(원본 대조필)");
  915. }
  916. }
  917. strPrintLog += printLog(i);
  918. }
  919. // objBIP.EndDoc();
  920. if (objBIP.EndDoc() == false)
  921. {
  922. return false;
  923. }
  924. model.setAttribute("sCMR_Param", strPrintLog);
  925. break;
  926. }
  927. else
  928. {
  929. // objBIP.StartDoc(docName);
  930. if (objBIP.StartDoc(docName) == false)
  931. {
  932. return false;
  933. }
  934. bFirstPage = true;
  935. strPrintLog = "";
  936. for(i = 1; i <= objThumbView.TotalThumbnail; i++)
  937. {
  938. if(objThumbView.Select(i) == true)
  939. {
  940. if(bFirstPage == false)
  941. {
  942. // objBIP.NewPage();
  943. if (objBIP.NewPage() == false)
  944. {
  945. return false;
  946. }
  947. strPrintLog += ",";
  948. }
  949. else
  950. {
  951. bFirstPage = false;
  952. }
  953. // objBIP.PrintImage(objThumbView.FileName(i), objThumbView.Page(i));
  954. if (objBIP.PrintImage(objThumbView.FileName(i), objThumbView.Page(i)) == false)
  955. {
  956. return false;
  957. }
  958. else
  959. {
  960. //사본발급시
  961. if (docName=="SMMRC03000")
  962. {
  963. objBIP.FontFaceName = "HY울릉도M"
  964. objBIP.FontSize = 12
  965. objBIP.FontBold = true
  966. objBIP.PrintText(360, objBIP.PaperHeight - 20,"이 서식은 사본입니다(원본 대조필)");
  967. }
  968. }
  969. strPrintLog += printLog(i);
  970. }
  971. }
  972. // objBIP.EndDoc();
  973. if (objBIP.EndDoc() == false)
  974. {
  975. return false;
  976. }
  977. model.setAttribute("sCMR_Param", strPrintLog);
  978. break;
  979. }
  980. case "ChartView":
  981. alert("'연속보기' 에서는 출력할 수 없습니다.");
  982. return false;
  983. break;
  984. }
  985. return true;
  986. }
  987. /**
  988. * @group :
  989. * @ver : 2007.05.21
  990. * @by : 김재홍
  991. * @---------------------------------------------------
  992. * @type : function
  993. * @access : public
  994. * @desc : 검색 조건에 의해 검색을 하고 검색된 차트를 출력한다.
  995. * @return :
  996. * @---------------------------------------------------
  997. */
  998. function printChartBySearch(docName, param)
  999. {
  1000. resetData();
  1001. // 전송할 데이터를 만든다.
  1002. var destNode = instance1.selectSingleNode("/root/_send/data1");
  1003. model.copyNode(destNode, param);
  1004. model.setValue("/root/main/chartinfo/filetotal", model.getValue("/root/_send/data1/pgto"));
  1005. // 전송
  1006. submit("TRMRC00105");
  1007. // 만들었던 데이터 삭제
  1008. model.resetInstanceNode("/root/_send");
  1009. // 페이지 정보를 조정한다.
  1010. model.setValue("/root/main/chartinfo/pagecurrent", model.getValue("/root/main/chartinfo/pagetotal") != "0" ? "1" : "0");
  1011. model.refresh();
  1012. // 차트 파일을 다운로드 받는다.
  1013. downloadChart();
  1014. // 차트를 출력한다.
  1015. printChart(docName);
  1016. }
  1017. /**
  1018. * @group :
  1019. * @ver : 2007.05.21
  1020. * @by : 김재홍
  1021. * @---------------------------------------------------
  1022. * @type : function
  1023. * @access : public
  1024. * @desc : 검색 조건에 의해 검색을 하고 검색된 차트를 보여준다.
  1025. * @return :
  1026. * @---------------------------------------------------
  1027. */
  1028. function searchChart(param)
  1029. {
  1030. var count;
  1031. var r, re;
  1032. r = ",";
  1033. re = "','";
  1034. resetData();
  1035. // alert(instance1.selectSingleNode("/root/hidden/temp").xml);
  1036. // 전송할 데이터를 만든다.
  1037. var destNode = instance1.selectSingleNode("/root/_send/data1");
  1038. model.copyNode(destNode, param);
  1039. // if (destNode.cmc_spcid.nodeValue != null && destNode.cmc_spcid.nodeValue != "")
  1040. // {
  1041. // destNode.cmc_spcid.nodeValue = "'" + destNode.cmc_spcid.nodeValue.setReplaceWord(r, re) + "'";
  1042. // }
  1043. // if (destNode.cmc_orddate.nodeValue != null && destNode.cmc_orddate.nodeValue != "")
  1044. // {
  1045. // destNode.cmc_orddate.nodeValue = "'" + destNode.cmc_orddate.nodeValue.setReplaceWord(r, re) + "'";
  1046. // }
  1047. // 전송
  1048. submit("TRMRC03101");
  1049. count = 1;
  1050. // alert(instance1.selectSingleNode("/root/hidden/temp").xml);
  1051. /*
  1052. if (model.getValue("/root/main/charts[" + count + "]/chrtpage") == null || model.getValue("/root/main/charts[" + count + "]/chrtpage") == "")
  1053. {
  1054. alert("해당 데이터가 없습니다.");
  1055. }
  1056. */
  1057. // 보여줄 페이지 수를 센다.
  1058. while(model.getValue("/root/main/charts[" + count + "]/chrtpage") != null && model.getValue("/root/main/charts[" + count + "]/chrtpage") != "")
  1059. {
  1060. count++;
  1061. }
  1062. model.makeNode("/root/_send/data1/pagetot");
  1063. model.setValue("/root/_send/data1/pagetot", count - 1);
  1064. model.setValue("/root/main/chartinfo/filetotal", model.getValue("/root/_send/data1/pagetot"));
  1065. g_form_count[0] = model.getValue("/root/main/chartinfo/filetotal");
  1066. // 만들었던 데이터 삭제
  1067. model.resetInstanceNode("/root/_send");
  1068. // 페이지 정보를 조정한다.
  1069. model.setValue("/root/main/chartinfo/pagecurrent", model.getValue("/root/main/chartInfo/pagetotal") != "0" ? "1" : "0");
  1070. model.refresh();
  1071. }
  1072. /**
  1073. * @group :
  1074. * @ver : 2007.05.21
  1075. * @by : 김재홍
  1076. * @---------------------------------------------------
  1077. * @type : function
  1078. * @access : public
  1079. * @desc : 검색 조건에 의해 검색을 하고 검색된 차트를 보여준다.
  1080. * @return :
  1081. * @---------------------------------------------------
  1082. */
  1083. function searchChart_EMR(param)
  1084. {
  1085. var count;
  1086. var r, re;
  1087. r = ",";
  1088. re = "','";
  1089. var treatno;
  1090. var docucd;
  1091. var temptreatno;
  1092. var tempdocucd;
  1093. var count;
  1094. var countmain;
  1095. var counthidden;
  1096. resetData();
  1097. // 전송할 데이터를 만든다.
  1098. var destNode = instance1.selectSingleNode("/root/_send/data1");
  1099. model.copyNode(destNode, param);
  1100. temptreatno = destNode.treatno.nodeValue;
  1101. tempdocucd = destNode.docucd.nodeValue;
  1102. treatno = temptreatno.split(",");
  1103. docucd = tempdocucd.split(",");
  1104. model.makeNode("/root/hidden/tempcharts");
  1105. counthidden = 1;
  1106. for (count = 1; count < treatno.length + 1; count++)
  1107. {
  1108. destNode.treatno.nodeValue = treatno[count - 1];
  1109. destNode.docucd.nodeValue = docucd[count - 1];
  1110. submit("TRMRC03101");
  1111. g_form_count[count - 1] = counthidden - 1;
  1112. countmain = 1;
  1113. while(model.getValue("/root/main/charts[" + countmain + "]/chrtpage") != null && model.getValue("/root/main/charts[" + countmain + "]/chrtpage") != "")
  1114. {
  1115. model.makeNode("/root/hidden/tempcharts[" + counthidden + "]");
  1116. model.copyNode("/root/hidden/tempcharts[" + counthidden + "]", "/root/main/charts[" + countmain + "]");
  1117. countmain++;
  1118. counthidden++;
  1119. }
  1120. g_form_count[count - 1] = counthidden - 1;
  1121. model.refresh();
  1122. }
  1123. model.removeNode("/root/main/charts");
  1124. model.makeNode("/root/main/charts");
  1125. for (count = 1; count <= counthidden; count++)
  1126. {
  1127. model.makeNode("root/main/charts[" + count + "]");
  1128. model.copyNode("root/main/charts[" + count + "]", "root/hidden/tempcharts[" + count + "]");
  1129. }
  1130. count = 1;
  1131. // 보여줄 페이지 수를 센다.
  1132. while(model.getValue("/root/main/charts[" + count + "]/chrtpage") != null && model.getValue("/root/main/charts[" + count + "]/chrtpage") != "")
  1133. {
  1134. count++;
  1135. }
  1136. model.makeNode("/root/_send/data1/pagetot");
  1137. model.setValue("/root/_send/data1/pagetot", count - 1);
  1138. model.setValue("/root/main/chartinfo/filetotal", model.getValue("/root/_send/data1/pagetot"));
  1139. // 만들었던 데이터 삭제
  1140. model.resetInstanceNode("/root/_send");
  1141. // 페이지 정보를 조정한다.
  1142. model.setValue("/root/main/chartinfo/pagecurrent", model.getValue("/root/main/chartInfo/pagetotal") != "0" ? "1" : "0");
  1143. model.refresh();
  1144. }
  1145. /**
  1146. * @group :
  1147. * @ver : 2007.05.21
  1148. * @by : 김재홍
  1149. * @---------------------------------------------------
  1150. * @type : function
  1151. * @access : public
  1152. * @desc : 토글 버튼 그룹에서 눌려져 있는 버튼 이름을 반환한다.
  1153. * @return :
  1154. * @---------------------------------------------------
  1155. */
  1156. function getToggleValue(group)
  1157. {
  1158. var node = instance1.selectSingleNode( getXPathToggleButton() );
  1159. var list = node.childNodes;
  1160. var total = list.length;
  1161. var name;
  1162. var i;
  1163. for(i = 0; i < total; i++)
  1164. {
  1165. name = list.item(i).nodeName;
  1166. if(toggleButton(name, "name") == group && toggleButton(name, "value") == "1")
  1167. {
  1168. return name;
  1169. }
  1170. }
  1171. return "";
  1172. }
  1173. /**
  1174. * @group :
  1175. * @ver : 2007.05.21
  1176. * @by : 김재홍
  1177. * @---------------------------------------------------
  1178. * @type : function
  1179. * @access : public
  1180. * @desc : 차트 파일을 받아올 폴더를 만들고 내용을 정리한다.
  1181. * @return :
  1182. * @---------------------------------------------------
  1183. */
  1184. function setupRecvPath(fso)
  1185. {
  1186. var pathRecv;
  1187. var curFolder;
  1188. var curFile;
  1189. // 개체에 이미지가 등록되어 있다면 해지한다.
  1190. objChartView.AutoRefresh = false;
  1191. objChartView.ChartRemove(0, 0);
  1192. objPageView.CurrentPage = 0;
  1193. objThumbView.ClearPage();
  1194. objChartView.AutoRefresh = true;
  1195. // 개체의 쓰레드가 종료될때 까지 기다린다.
  1196. while(objThumbView.IsThreadDone() == false);
  1197. pathRecv = fso.GetSpecialFolder(2) + "\\bitnixViewer\\";
  1198. // 차트를 다운받을 폴더가 없다면 만든다.
  1199. if( fso.FolderExists(pathRecv) == false)
  1200. {
  1201. fso.CreateFolder(pathRecv);
  1202. }
  1203. // 폴더안에 있는 모든 파일을 삭제한다.
  1204. curFolder = fso.GetFolder(pathRecv);
  1205. curFile = new Enumerator(curFolder.Files);
  1206. for(; !curFile.atEnd(); curFile.moveNext())
  1207. {
  1208. fso.DeleteFile(curFile.item().Path, true);
  1209. }
  1210. // 차트 폴더를 저장
  1211. model.setValue("/root/hidden/chartImageHome", pathRecv);
  1212. }
  1213. /**
  1214. * @group :
  1215. * @ver : 2007.05.21
  1216. * @by : 김재홍
  1217. * @---------------------------------------------------
  1218. * @type : function
  1219. * @access : public
  1220. * @desc : SFT서버에서 GetFiles()를 이용해서 파일을 받는다.
  1221. * @return :
  1222. * @---------------------------------------------------
  1223. */
  1224. function getFiles(host, port, user, pass, pathRemote, pathLocal)
  1225. {
  1226. var result;
  1227. objSFT.Host = host;
  1228. objSFT.Port = port;
  1229. objSFT.Account = user;
  1230. objSFT.Password = pass;
  1231. objSFT.Connect();
  1232. if(objSFT.IsOnline() == false) return false;
  1233. result = objSFT.GetFiles(pathRemote, pathLocal);
  1234. objSFT.Close();
  1235. return result;
  1236. }
  1237. /**
  1238. * @group :
  1239. * @ver : 2007.05.21
  1240. * @by : 김재홍
  1241. * @---------------------------------------------------
  1242. * @type : function
  1243. * @access : public
  1244. * @desc : 필요한 차트 파일을 SFT서버로 부터 다운로드 받는다.
  1245. * @return :
  1246. * @---------------------------------------------------
  1247. */
  1248. function downloadChart()
  1249. {
  1250. var fso;
  1251. var curAddr = "";
  1252. var curHost = "";
  1253. var curPort = "";
  1254. var xpathChart;
  1255. var pathRemote = "";
  1256. var pathLocal = "";
  1257. var pathSrc;
  1258. var pathDst;
  1259. var pageDemand;
  1260. var filename;
  1261. var pathname;
  1262. var rmad;
  1263. var rmpo;
  1264. var i;
  1265. var j;
  1266. fso = new ActiveXObject("Scripting.FileSystemObject");
  1267. // 차트 파일을 다운로드 받을 폴더를 준비한다.
  1268. var pathRecv;
  1269. pathRecv = fso.GetSpecialFolder(2) + "\\bitnixViewer\\";
  1270. // 차트를 다운받을 폴더가 없다면 만든다.
  1271. if( fso.FolderExists(pathRecv) == false)
  1272. {
  1273. fso.CreateFolder(pathRecv);
  1274. }
  1275. // 차트 폴더를 저장
  1276. model.setValue("/root/hidden/chartImageHome", pathRecv);
  1277. //setupRecvPath(fso);
  1278. var fileTotal = model.getValue("/root/main/chartinfo/filetotal");
  1279. var pathRecv = model.getValue("/root/hidden/chartImageHome");
  1280. if (fileTotal >= 1)
  1281. {
  1282. body.disabled = false;
  1283. //pageDemand = 0;
  1284. pageDemand = parseInt(objThumbView.TotalThumbnail);
  1285. for(i = 0; i < fileTotal; i++ )
  1286. {
  1287. // 작업할 차트 정보를 갖고 있는 xpath를 만든다.
  1288. xpathChart = getXPathChart(i + 1);
  1289. // 다운로드 받을 파일이 있는 서버 정보를 얻는다.
  1290. rmad = model.getValue(xpathChart + "/remtip");
  1291. rmpo = model.getValue(xpathChart + "/remtport");
  1292. // rmad가 비어 있다면 로컬 디스크 상에 파일이 있는걸로 간주한다.
  1293. if(rmad != "")
  1294. {
  1295. // 다운로드 받을 파일의 패스를 만든다.
  1296. filename = model.getValue(xpathChart + "/pageno");
  1297. pathname = "000" + filename;
  1298. pathSrc = model.getValue(xpathChart + "/remtpath") + "\\" + pathname.substr(pathname.length - 4, 4) + "\\" + filename + "." + model.getValue(xpathChart+ "/fileextn ");
  1299. pathDst = pathRecv + filename;
  1300. // 파일을 다운로드 받거나 패스 문자열을 만든다.
  1301. if(curAddr == rmad && curPort == rmpo)
  1302. {
  1303. // 이미 존재하는 내용이 있다면 연결 문자를 추가한다.
  1304. if( pathRemote.length != 0 )
  1305. {
  1306. pathRemote = pathRemote + "|";
  1307. pathLocal = pathLocal + "|";
  1308. }
  1309. // 받을 파일을 추가한다.
  1310. pathRemote = pathRemote + pathSrc;
  1311. pathLocal = pathLocal + pathDst;
  1312. }
  1313. else
  1314. {
  1315. // 필요하다면 파일을 다운로드 받는다.
  1316. if(pathRemote.length != 0 )
  1317. {
  1318. if(getFiles(curAddr, curPort, model.getValue(xpathChart+ "/remtuser"), model.getValue(xpathChart+ "/remtpwd"), pathRemote, pathLocal) == false) return false;
  1319. }
  1320. // 현재 상태를 초기화 한다.
  1321. pathRemote = pathSrc;
  1322. pathLocal = pathDst;
  1323. curAddr = rmad;
  1324. curPort = rmpo;
  1325. }
  1326. // 파일 패스와 페이지 번호 저장
  1327. g_path[pageDemand + 1] = pathDst;
  1328. g_page[pageDemand + 1] = 1;
  1329. g_page_lut[pageDemand + 1] = i + 1;
  1330. pageDemand++;
  1331. }
  1332. else
  1333. {
  1334. // 로컬 디스크에 파일이 있을경우 그 패스는 rmpt에 들어가 있게 된다.
  1335. // pageno에 보여질 이미지 파일의 파일 이름을 저장해 두게 된다.
  1336. // 원본과 복사본 파일 패스
  1337. filename = "local" + i + ".txt";
  1338. pathSrc = model.getValue(xpathChart + "/remtpath");
  1339. pathDst = pathRecv + filename;
  1340. // 파일 복사
  1341. fso.CopyFile(pathSrc, pathDst, true);
  1342. // 파일 이름을 pageno에 저장
  1343. model.setValue(xpathChart + "/pageno", filename);
  1344. // 파일 패스와 페이지 번호 저장
  1345. objPreview.Load(pathDst, 1);
  1346. for(j = 0; j < objPreview.TotalPage; j++)
  1347. {
  1348. g_path[pageDemand + 1] = pathDst;
  1349. g_page[pageDemand + 1] = j + 1;
  1350. g_page_lut[pageDemand + 1] = i + 1;
  1351. pageDemand++;
  1352. }
  1353. objPreview.ImageFilePath = "";
  1354. }
  1355. }
  1356. // 필요하다면 파일을 다운로드 받는다.
  1357. if( pathRemote.length != 0 )
  1358. {
  1359. if(getFiles(curAddr, curPort, model.getValue(xpathChart+ "/remtuser"), model.getValue(xpathChart+ "/remtpwd"), pathRemote, pathLocal) == false) return false;
  1360. }
  1361. setupMoveButton();
  1362. return true;
  1363. }
  1364. }
  1365. /**
  1366. * @group :
  1367. * @ver : 2007.05.21
  1368. * @by : 김재홍
  1369. * @---------------------------------------------------
  1370. * @type : function
  1371. * @access : public
  1372. * @desc : 필요한 차트 파일을 SFT서버로 부터 다운로드 받는다.
  1373. * @return :
  1374. * @---------------------------------------------------
  1375. */
  1376. function appendEMRChart()
  1377. {
  1378. var i, j;
  1379. var count = 0;
  1380. var emrTotalPath;
  1381. var emrPagePath;
  1382. var emrPageTotal;
  1383. var temp_path;
  1384. var temp_page;
  1385. var temp_page_lut;
  1386. var countform = 0;
  1387. var counttemp = 0;
  1388. temp_path = new Array();
  1389. temp_page = new Array();
  1390. temp_page_lut = new Array();
  1391. if (model.getValue("/root/main/emrpath") != null && model.getValue("/root/main/emrpath") != "")
  1392. {
  1393. emrTotalPath = model.getValue("/root/main/emrpath");
  1394. emrPagePath = emrTotalPath.split("|");
  1395. for (i = 1; i <= emrPagePath.length; i++)
  1396. {
  1397. if (emrPagePath[i - 1].substring(0, 1) == "*")
  1398. {
  1399. for (j = counttemp + 1; j <= g_form_count[countform]; j++)
  1400. {
  1401. temp_path[count + 1] = g_path[j];
  1402. temp_page[count + 1] = g_page[j];
  1403. temp_page_lut[count + 1] = g_page_lut[j];
  1404. count++;
  1405. }
  1406. countform++;
  1407. counttemp = g_form_count[countform - 1];
  1408. // for (j = 1; j < g_path.length; j++)
  1409. // {
  1410. // temp_path[count] = g_path[j];t
  1411. // temp_page[count] = g_page[j];
  1412. // temp_page_lut[count] = g_page_lut[j];
  1413. // count = count + 1;
  1414. // }
  1415. }
  1416. else
  1417. {
  1418. temp_path[count + 1] = emrPagePath[i - 1];
  1419. temp_page[count + 1] = 1;
  1420. temp_page_lut[count + 1] = 1;
  1421. count++;
  1422. }
  1423. }
  1424. g_path = temp_path;
  1425. g_page = temp_page;
  1426. g_page_lut = temp_page_lut;
  1427. }
  1428. return count;
  1429. }
  1430. /**
  1431. * @group :
  1432. * @ver : 2007.05.21
  1433. * @by : 김재홍
  1434. * @---------------------------------------------------
  1435. * @type : function
  1436. * @access : public
  1437. * @desc : 다음 Chart를 가져온다.
  1438. * @return :
  1439. * @---------------------------------------------------
  1440. */
  1441. function fMoveNext()
  1442. {
  1443. var pageCurrent = parseInt(model.getValue("/root/main/chartinfo/pagecurrent"));
  1444. var pageTotal = model.getValue("/root/main/chartinfo/pagetotal");
  1445. if (pageTotal > pageCurrent)
  1446. {
  1447. model.setValue("/root/main/chartinfo/pagecurrent", pageCurrent + 1);
  1448. }
  1449. else
  1450. {
  1451. //1
  1452. //parent.window.javascript.fGetRec("next");
  1453. alert("마지막 페이지 입니다.");
  1454. }
  1455. setupMoveButton();
  1456. model.refresh();
  1457. setupChart();
  1458. }
  1459. /**
  1460. * @group :
  1461. * @ver : 2007.05.21
  1462. * @by : 김재홍
  1463. * @---------------------------------------------------
  1464. * @type : function
  1465. * @access : public
  1466. * @desc : 이전 Chart를 가져온다.
  1467. * @return :
  1468. * @---------------------------------------------------
  1469. */
  1470. function fMovePrev()
  1471. {
  1472. var pageCurrent = parseInt(model.getValue("/root/main/chartinfo/pagecurrent"));
  1473. if (pageCurrent >= 2)
  1474. {
  1475. model.setValue("/root/main/chartinfo/pagecurrent", pageCurrent - 1);
  1476. }
  1477. else
  1478. {
  1479. //1
  1480. //parent.window.javascript.fGetRec("prev");
  1481. alert("쳇페이지 입니다.");
  1482. }
  1483. setupMoveButton();
  1484. model.refresh();
  1485. setupChart();
  1486. }
  1487. /**
  1488. * @group :
  1489. * @ver : 2007.05.21
  1490. * @by : 김재홍
  1491. * @---------------------------------------------------
  1492. * @type : function
  1493. * @access : public
  1494. * @desc : 마지막 Chart를 가져온다.
  1495. * @return :
  1496. * @---------------------------------------------------
  1497. */
  1498. function fMoveLast()
  1499. {
  1500. //1
  1501. //parent.window.javascript.fGetRec("midend");
  1502. model.setValue("/root/main/chartinfo/pagecurrent", model.getValue("/root/main/chartinfo/pagetotal"));
  1503. setupMoveButton();
  1504. model.refresh();
  1505. setupChart();
  1506. }
  1507. /**
  1508. * @group :
  1509. * @ver : 2007.05.21
  1510. * @by : 김재홍
  1511. * @---------------------------------------------------
  1512. * @type : function
  1513. * @access : public
  1514. * @desc : 처음 Chart를 가져온다.
  1515. * @return :
  1516. * @---------------------------------------------------
  1517. */
  1518. function fMoveFirst()
  1519. {
  1520. //1
  1521. //parent.window.javascript.fGetRec("midfirst");
  1522. model.setValue("/root/main/chartinfo/pagecurrent", "1");
  1523. setupMoveButton();
  1524. model.refresh();
  1525. setupChart();
  1526. }
  1527. /**
  1528. * @group :
  1529. * @ver : 2007.05.21
  1530. * @by : 김재홍
  1531. * @---------------------------------------------------
  1532. * @type : function
  1533. * @access : public
  1534. * @desc : 챠트 미리보기 시작
  1535. * @return :
  1536. * @---------------------------------------------------
  1537. */
  1538. function fShow_TruePreviewChart(Button, Shift, Index, Path, Page)
  1539. {
  1540. if(Button == 2)
  1541. {
  1542. objPreview.Load(Path, Page);
  1543. if(objPreview.CurrentPage != 0)
  1544. {
  1545. groupThumbView.attribute("visibility") = "hidden";
  1546. groupPreview.attribute("visibility") = "visible";
  1547. }
  1548. }
  1549. }
  1550. /**
  1551. * @group :
  1552. * @ver : 2007.05.21
  1553. * @by : 김재홍
  1554. * @---------------------------------------------------
  1555. * @type : function
  1556. * @access : public
  1557. * @desc : 챠트 미리보기를 종료
  1558. * @return :
  1559. * @---------------------------------------------------
  1560. */
  1561. function fShow_FalsePreviewChart(Button, Shift, x, y)
  1562. {
  1563. objPreview.CurrentPage = 0;
  1564. groupThumbView.attribute("visibility") = "visible";
  1565. groupPreview.attribute("visibility") = "hidden";
  1566. }
  1567. /**
  1568. * @group :
  1569. * @ver : 2007.05.21
  1570. * @by : 김재홍
  1571. * @---------------------------------------------------
  1572. * @type : function
  1573. * @access : public
  1574. * @desc : 뷰어의 크기를 설정
  1575. * @return :
  1576. * @---------------------------------------------------
  1577. */
  1578. function setChartViewerSize(newWidth, newHeight)
  1579. {
  1580. var strSwitchButton = new Array("btnThumbView", "btnChartView", "btnPageView");
  1581. var strCase = new Array("swtViewModeCase1", "swViewModeCase2", "swViewModeCase3");
  1582. var strToolbar = new Array("recSwitchToolbar1", "recSwitchToolbar2", "recSwitchToolbar3");
  1583. var strActiveX = new Array("objPageView", "objChartView");
  1584. var obj;
  1585. var i;
  1586. var marginright = 2;
  1587. var marginbottom = 2;
  1588. var toolbarmargin = 3;
  1589. // 스위치 버튼 위치 조정
  1590. btnThumbView.attribute("left") = 0;
  1591. btnChartView.attribute("left") = parseInt(btnThumbView.attribute("left")) + parseInt(btnThumbView.attribute("width"));
  1592. btnPageView.attribute("left") = parseInt(btnChartView.attribute("left")) + parseInt(btnChartView.attribute("width"));
  1593. // 페이지 정보 위치 조정
  1594. captionPage.attribute("left") = newWidth - parseInt(captionPage.attribute("width")) - marginright;
  1595. optPageCurrent.attribute("left") = captionPage.attribute("left");
  1596. optPageTotal.attribute("left") = parseInt(captionPage.attribute("left")) + parseInt(captionPage.attribute("width")) - parseInt(optPageTotal.attribute("width"));
  1597. // SwitchView 크기, 위치 조정
  1598. switchView.attribute("left") = 0;
  1599. switchView.attribute("top") = parseInt(btnThumbView.attribute("top")) + parseInt(btnThumbView.attribute("height"));
  1600. switchView.attribute("width") = newWidth - marginright;
  1601. switchView.attribute("height") = newHeight - parseInt(switchView.attribute("top")) - marginbottom;
  1602. // Case 크기, 위치 조정
  1603. for(i = 0; i < strCase.length; i++){
  1604. obj = document.controls.item(strCase[i]);
  1605. obj.attribute("left") = 0;
  1606. obj.attribute("top") = 0;
  1607. obj.attribute("width") = switchView.attribute("width");
  1608. obj.attribute("height") = switchView.attribute("height");
  1609. }
  1610. // 툴바 크기 조정
  1611. for(i = 0; i < strToolbar.length; i++){
  1612. obj = document.controls.item(strToolbar[i]);
  1613. obj.attribute("left") = 0;
  1614. obj.attribute("top") = toolbarmargin;
  1615. obj.attribute("width") = switchView.attribute("width") - marginright;
  1616. obj.attribute("height") = 36;
  1617. }
  1618. // 그룹 크기 조정
  1619. groupPreview.attribute("left") = 0;
  1620. groupPreview.attribute("top") = toolbarmargin + parseInt(recSwitchToolbar1.attribute("height")) + toolbarmargin;
  1621. groupPreview.attribute("width") = switchView.attribute("width") - marginright;
  1622. groupPreview.attribute("height") = parseInt(switchView.attribute("height")) - parseInt(groupPreview.attribute("top")) - marginbottom;
  1623. groupThumbView.attribute("left") = 0;
  1624. groupThumbView.attribute("top") = toolbarmargin + parseInt(recSwitchToolbar1.attribute("height")) + toolbarmargin;
  1625. groupThumbView.attribute("width") = switchView.attribute("width") - marginright;
  1626. groupThumbView.attribute("height") = parseInt(switchView.attribute("height")) - parseInt(groupThumbView.attribute("top")) - marginbottom;
  1627. // ActiveX 컨트롤 크기 조정
  1628. // ActiveX 컨트롤 중 "objPreview", "objThumbView" 는 각각의 그룹에 속함
  1629. obj = document.controls.item("objPreview");
  1630. obj.attribute("left") = 0;
  1631. obj.attribute("top") = 0;
  1632. obj.attribute("width") = groupPreview.attribute("width");
  1633. obj.attribute("height") = groupPreview.attribute("height");
  1634. obj = document.controls.item("objThumbView");
  1635. obj.attribute("left") = 0;
  1636. obj.attribute("top") = 0;
  1637. obj.attribute("width") = groupThumbView.attribute("width");
  1638. obj.attribute("height") = groupThumbView.attribute("height");
  1639. // "objPageView", "objChartView"
  1640. for(i = 0; i < strActiveX.length; i++){
  1641. obj = document.controls.item(strActiveX[i]);
  1642. obj.attribute("left") = 0;
  1643. obj.attribute("top") = toolbarmargin + parseInt(recSwitchToolbar1.attribute("height")) + toolbarmargin;
  1644. obj.attribute("width") = switchView.attribute("width") - marginright;
  1645. obj.attribute("height") = parseInt(switchView.attribute("height")) - parseInt(obj.attribute("top")) - marginbottom;
  1646. }
  1647. }
  1648. /**
  1649. * @group :
  1650. * @ver : 2007.05.21
  1651. * @by : 김재홍
  1652. * @---------------------------------------------------
  1653. * @type : function
  1654. * @access : public
  1655. * @desc : 뷰어를 임포트 영역에 FIT
  1656. * @return :
  1657. * @---------------------------------------------------
  1658. */
  1659. function fitToImportArea()
  1660. {
  1661. // 임포트 영역 크기 산출
  1662. // var strWidth = parseInt(window.parent.document.body.children("iviewerIemr").attribute("width"));
  1663. // var strHeight = parseInt(window.parent.document.body.children("iviewerIemr").attribute("height"));
  1664. var strWidth = parseInt(window.parent.document.controls("iviewerIemr").attribute("width"));
  1665. var strHeight = parseInt(window.parent.document.controls("iviewerIemr").attribute("height"));
  1666. setChartViewerSize(strWidth, strHeight);
  1667. body.attribute("pagewidth") = strWidth;
  1668. body.attribute("pageheight") = strHeight;
  1669. body.refresh();
  1670. }
  1671. /**
  1672. * @group :
  1673. * @ver : 2007.05.21
  1674. * @by : 김재홍
  1675. * @---------------------------------------------------
  1676. * @type : function
  1677. * @access : public
  1678. * @desc : 페이지 비교 화면을 호출한다.
  1679. * @return :
  1680. * @---------------------------------------------------
  1681. */
  1682. function comparePage(path)
  1683. {
  1684. model.setValue("/root/main/chartpath", path);
  1685. window.load("SPMRC03100.xrw", "modeless", "imgemrviewer", "", "/root/main/chartpath", "/root/main/chartpath");
  1686. }
  1687. /**
  1688. * @group :
  1689. * @ver : 2007.05.21
  1690. * @by : 김재홍
  1691. * @---------------------------------------------------
  1692. * @type : function
  1693. * @access : public
  1694. * @desc : 사본신청에 해당하는 값을 리턴한다.
  1695. * @return :
  1696. * @---------------------------------------------------
  1697. */
  1698. function setCopy(getValue)
  1699. {
  1700. var setValue = "";
  1701. var tempValue = "";
  1702. var count;
  1703. var valuecount = 0;
  1704. var tempcount = 1;
  1705. var emrcount = 0;
  1706. if (getValue == true)
  1707. {
  1708. switch(model.getValue("/root/hidden/currentViewMode"))
  1709. {
  1710. case "PageView":
  1711. //현재 페이지 정보 가져오기
  1712. var pageCurrent = parseInt(model.getValue("/root/main/chartinfo/pagecurrent"));
  1713. if(pageCurrent > 0)
  1714. {
  1715. //if (model.getValue("/root/main/charts[" + pageCurrent + "]/ordno")!= "" || model.getValue("/root/main/charts[" + pageCurrent-1 + "]/ordno")!= null)
  1716. //C:\C.... C:\D...
  1717. if(g_path[pageCurrent].substring(4, 3) != "C")
  1718. {
  1719. setValue = "I" + "▦" + model.getValue("/root/main/charts[" + pageCurrent + "]/ordno") + "▦" + model.getValue("/root/main/charts[" + pageCurrent + "]/docucd") + "▦" + model.getValue("/root/main/charts[" + pageCurrent + "]/pagecnt");
  1720. }
  1721. else
  1722. {
  1723. //setValue = "E" + "▦" + objThumbView.ThumbUserText(pageCurrent) + "▦" + g_page[pageCurrent - 1];
  1724. setValue = objThumbView.ThumbUserText(pageCurrent) ;
  1725. }
  1726. return setValue;
  1727. }
  1728. break;
  1729. case "ThumbView":
  1730. if(objThumbView.TotalSelectedThumbnail == 0)
  1731. {
  1732. for (count = 1; count <= objThumbView.TotalThumbnail; count++)
  1733. {
  1734. if(objThumbView.ThumbUserText(count) == "" || objThumbView.ThumbUserText(count) == null)
  1735. {
  1736. //arrValue[valuecount] = "I" + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/ordno") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/docucd");
  1737. //valuecount = valuecount + 1;
  1738. if (tempValue != "I" + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/ordno") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/docucd") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/pagecnt"))
  1739. {
  1740. setValue = setValue + "I" + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/ordno") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/docucd") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/pagecnt") + "|";
  1741. tempValue = "I" + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/ordno") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/docucd") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/pagecnt");
  1742. }
  1743. }
  1744. else
  1745. {
  1746. //arrvalue[valuecount] = "e" + "▦" + objthumbview.thumbusertext(count);
  1747. //valuecount = valuecount + 1;
  1748. for (emrcount = count; emrcount <= objThumbView.TotalThumbnail; emrcount++)
  1749. {
  1750. if (g_path[count] != g_path[emrcount])
  1751. {
  1752. break;
  1753. }
  1754. }
  1755. //setValue = setValue + "E" + "▦" + objThumbView.ThumbUserText(count) + "▦" + g_page[emrcount - 1] + "|";
  1756. setValue = setValue + objThumbView.ThumbUserText(count) + "▦" + g_page[emrcount - 1] + "|";
  1757. }
  1758. if(objThumbView.ThumbUserText(count) == "" || objThumbView.ThumbUserText(count) == null)
  1759. {
  1760. tempcount = tempcount + 1;
  1761. }
  1762. }
  1763. setValue = setValue.substr(0, setValue.length - 1);
  1764. //alert(setValue);
  1765. return setValue;
  1766. break;
  1767. }
  1768. else
  1769. {
  1770. for (count = 1; count <= objThumbView.TotalThumbnail; count++)
  1771. {
  1772. if (objThumbView.Select(count) == true)
  1773. {
  1774. if(objThumbView.ThumbUserText(count) == "" || objThumbView.ThumbUserText(count) == null)
  1775. {
  1776. //arrValue[valuecount] = "I" + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/ordno") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/docucd");
  1777. //valuecount = valuecount + 1;
  1778. if (tempValue != "I" + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/ordno") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/docucd") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/pagecnt"))
  1779. {
  1780. setValue = setValue + "I" + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/ordno") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/docucd") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/pagecnt") + "|";
  1781. tempValue = "I" + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/ordno") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/docucd") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/pagecnt");
  1782. }
  1783. }
  1784. else
  1785. {
  1786. //arrvalue[valuecount] = "e" + "▦" + objthumbview.thumbusertext(count);
  1787. //valuecount = valuecount + 1;
  1788. for (emrcount = count; emrcount <= objThumbView.TotalThumbnail; emrcount++)
  1789. {
  1790. if (g_path[count] != g_path[emrcount])
  1791. {
  1792. break;
  1793. }
  1794. }
  1795. setValue = setValue + objThumbView.ThumbUserText(count) + "▦" + g_page[emrcount - 1] + "|";
  1796. }
  1797. }
  1798. if(objThumbView.ThumbUserText(count) == "" || objThumbView.ThumbUserText(count) == null)
  1799. {
  1800. tempcount = tempcount + 1;
  1801. }
  1802. }
  1803. setValue = setValue.substr(0, setValue.length - 1);
  1804. // alert(setValue);
  1805. return setValue;
  1806. break;
  1807. }
  1808. case "ChartView":
  1809. alert("출력은 '여러페이지보기' 에서만 가능합니다.");
  1810. return setValue;
  1811. break;
  1812. }
  1813. }
  1814. else
  1815. {
  1816. return setValue;
  1817. }
  1818. }
  1819. /**
  1820. * @group :
  1821. * @ver : 2009.10.15
  1822. * @by : 김재홍
  1823. * @---------------------------------------------------
  1824. * @type : function
  1825. * @access : public
  1826. * @desc : 중요페이지 보기 기능
  1827. * @return :
  1828. * @---------------------------------------------------
  1829. */
  1830. function SetMarkPage(getValue)
  1831. {
  1832. var setValue = "";
  1833. var tempValue = "";
  1834. var count;
  1835. var valuecount = 0;
  1836. var tempcount = 1;
  1837. var emrcount = 0;
  1838. var emrflag = "";
  1839. //if (getValue == true)
  1840. //{
  1841. //switch(model.getValue("/root/hidden/currentViewMode"))
  1842. switch(getValue)
  1843. {
  1844. case "PageView":
  1845. //현재 페이지 정보 가져오기
  1846. var pageCurrent = parseInt(model.getValue("/root/main/chartinfo/pagecurrent"));
  1847. if(pageCurrent > 0)
  1848. {
  1849. //if (model.getValue("/root/main/charts[" + pageCurrent + "]/ordno")!= "" || model.getValue("/root/main/charts[" + pageCurrent-1 + "]/ordno")!= null)
  1850. //C:\C.... C:\D...
  1851. if(g_path[pageCurrent].substring(4, 3) != "C")
  1852. {
  1853. setValue = "I" + "▦" + model.getValue("/root/main/charts[" + pageCurrent + "]/ordno") + "▦" + model.getValue("/root/main/charts[" + pageCurrent + "]/docucd") + "▦" + model.getValue("/root/main/charts[" + pageCurrent + "]/pagecnt") +"▦" + model.getValue("/root/main/charts[" + pageCurrent + "]/pageno") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/indd") + " " + model.getValue("/root/main/charts[" + tempcount + "]/docunm");
  1854. }
  1855. else
  1856. {
  1857. //setValue = "E" + "▦" + objThumbView.ThumbUserText(pageCurrent) + "▦" + g_page[pageCurrent - 1];
  1858. setValue = objThumbView.ThumbUserText(pageCurrent);
  1859. }
  1860. return setValue;
  1861. }
  1862. break;
  1863. case "ThumbView":
  1864. if(objThumbView.TotalSelectedThumbnail == 0)
  1865. {
  1866. for (count = 1; count <= objThumbView.TotalThumbnail; count++)
  1867. {
  1868. emrflag = objThumbView.ThumbUserText(count).split("▦")[0];
  1869. //if(objThumbView.ThumbUserText(count) == "" || objThumbView.ThumbUserText(count) == null)
  1870. if(emrflag == "I")
  1871. {
  1872. //arrValue[valuecount] = "I" + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/ordno") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/docucd");
  1873. //valuecount = valuecount + 1;
  1874. if (tempValue != "I" + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/ordno") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/docucd") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/pagecnt") +"▦" + model.getValue("/root/main/charts[" + tempcount + "]/pageno") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/indd") + " " + model.getValue("/root/main/charts[" + tempcount + "]/docunm"))
  1875. {
  1876. setValue = setValue + "I" + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/ordno") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/docucd") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/pagecnt") +"▦" + model.getValue("/root/main/charts[" + tempcount + "]/pageno") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/indd") + " " + model.getValue("/root/main/charts[" + tempcount + "]/docunm") + "|";
  1877. tempValue = "I" + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/ordno") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/docucd") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/pagecnt" ) +"▦" + model.getValue("/root/main/charts[" + tempcount + "]/pageno") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/indd") + " " + model.getValue("/root/main/charts[" + tempcount + "]/docunm");
  1878. }
  1879. }
  1880. else
  1881. {
  1882. //arrvalue[valuecount] = "e" + "▦" + objthumbview.thumbusertext(count);
  1883. //valuecount = valuecount + 1;
  1884. for (emrcount = count; emrcount <= objThumbView.TotalThumbnail; emrcount++)
  1885. {
  1886. if (g_path[count] != g_path[emrcount])
  1887. {
  1888. break;
  1889. }
  1890. }
  1891. //setValue = setValue + "E" + "▦" + objThumbView.ThumbUserText(count) + "▦" + g_page[emrcount - 1] + "|";
  1892. setValue = setValue + objThumbView.ThumbUserText(count) + "▦" + g_page[emrcount - 1] + "|";
  1893. }
  1894. // if(objThumbView.ThumbUserText(count) == "" || objThumbView.ThumbUserText(count) == null)
  1895. // {
  1896. tempcount = tempcount + 1;
  1897. // }
  1898. }
  1899. setValue = setValue.substr(0, setValue.length - 1);
  1900. //alert(setValue);
  1901. return setValue;
  1902. break;
  1903. }
  1904. else
  1905. {
  1906. for (count = 1; count <= objThumbView.TotalThumbnail; count++)
  1907. {
  1908. if (objThumbView.Select(count) == true)
  1909. {
  1910. emrflag = objThumbView.ThumbUserText(count).split("▦")[0];
  1911. if(emrflag == "I")
  1912. {
  1913. if (tempValue != "I" + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/ordno") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/docucd") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/pagecnt") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/pageno") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/indd") + " " + model.getValue("/root/main/charts[" + tempcount + "]/docunm"))
  1914. {
  1915. setValue = setValue + "I" + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/ordno") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/docucd") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/pagecnt") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/pageno") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/indd") + " " + model.getValue("/root/main/charts[" + tempcount + "]/docunm") + "|";
  1916. tempValue = "I" + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/ordno") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/docucd") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/pagecnt" ) +"▦" + model.getValue("/root/main/charts[" + tempcount + "]/pageno") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/indd") + " " + model.getValue("/root/main/charts[" + tempcount + "]/docunm") ;
  1917. }
  1918. }
  1919. else
  1920. {
  1921. for (emrcount = count; emrcount <= objThumbView.TotalThumbnail; emrcount++)
  1922. {
  1923. if (g_path[count] != g_path[emrcount])
  1924. {
  1925. break;
  1926. }
  1927. }
  1928. setValue = setValue + objThumbView.ThumbUserText(count) + "▦" + g_page[emrcount - 1] + "|";
  1929. }
  1930. }
  1931. // if(objThumbView.ThumbUserText(count) == "" || objThumbView.ThumbUserText(count) == null)
  1932. // {
  1933. tempcount = tempcount + 1;
  1934. // }
  1935. }
  1936. setValue = setValue.substr(0, setValue.length - 1);
  1937. // alert(setValue);
  1938. return setValue;
  1939. break;
  1940. }
  1941. case "ChartView":
  1942. //현재 페이지 정보 가져오기
  1943. var pageCurrent = parseInt(model.getValue("/root/main/chartinfo/pagecurrent"));
  1944. if(pageCurrent > 0)
  1945. {
  1946. //if (model.getValue("/root/main/charts[" + pageCurrent + "]/ordno")!= "" || model.getValue("/root/main/charts[" + pageCurrent-1 + "]/ordno")!= null)
  1947. //C:\C.... C:\D...
  1948. if(g_path[pageCurrent].substring(4, 3) != "C")
  1949. {
  1950. setValue = "I" + "▦" + model.getValue("/root/main/charts[" + pageCurrent + "]/ordno") + "▦" + model.getValue("/root/main/charts[" + pageCurrent + "]/docucd") + "▦" + model.getValue("/root/main/charts[" + pageCurrent + "]/pagecnt") +"▦" + model.getValue("/root/main/charts[" + pageCurrent + "]/pageno") + "▦" + model.getValue("/root/main/charts[" + tempcount + "]/indd") + " " + model.getValue("/root/main/charts[" + tempcount + "]/docunm");
  1951. }
  1952. else
  1953. {
  1954. //setValue = "E" + "▦" + objThumbView.ThumbUserText(pageCurrent) + "▦" + g_page[pageCurrent - 1];
  1955. setValue = objThumbView.ThumbUserText(pageCurrent);
  1956. }
  1957. return setValue;
  1958. }
  1959. break;
  1960. }
  1961. //}
  1962. //else
  1963. //{
  1964. // return setValue;
  1965. //}
  1966. }
  1967. /**
  1968. * @group :
  1969. * @ver : 2007.05.21
  1970. * @by : 김재홍
  1971. * @---------------------------------------------------
  1972. * @type : function
  1973. * @access : public
  1974. * @desc : 사용중인 팝업 뷰어화면을 닫지 않고 새로운 차트를 리로드 한다.
  1975. * @return :
  1976. * @---------------------------------------------------
  1977. */
  1978. function reloadChart(param)
  1979. {
  1980. var ViewMode;
  1981. // var destNode = instance1.selectSingleNode("/root/hidden/temp");
  1982. // model.copyNode(destNode, param);
  1983. // searchChart("/root/hidden/temp");
  1984. searchChart(param);
  1985. if (downloadChart() == true)
  1986. {
  1987. ViewMode = model.getValue("/root/hidden/currentViewMode");
  1988. if (ViewMode == null || ViewMode == "")
  1989. {
  1990. setupChart("ChartView");
  1991. }
  1992. else
  1993. {
  1994. setupChart(ViewMode);
  1995. }
  1996. }
  1997. }
  1998. /**
  1999. * @group :
  2000. * @ver : 2007.05.21
  2001. * @by : 김재홍
  2002. * @---------------------------------------------------
  2003. * @type : function
  2004. * @access : public
  2005. * @desc : IVIEWER에서 인스턴스 값 리셋.
  2006. * @return :
  2007. * @---------------------------------------------------
  2008. */
  2009. function resetInstance_EMR()
  2010. {
  2011. model.resetInstanceNode("/root/main/emrpath");
  2012. model.resetInstanceNode("/root/main/emrorddate");
  2013. model.resetInstanceNode("/root/main/emrformnm");
  2014. model.resetInstanceNode("/root/main/emrformcd");
  2015. model.resetInstanceNode("/root/main/emrdeptnm");
  2016. model.resetInstanceNode("/root/main/emrdeptcd");
  2017. model.resetInstanceNode("/root/main/emrpage");
  2018. model.resetInstanceNode("/root/main/emrhiddenmsg");
  2019. }
  2020. /**
  2021. * @group :
  2022. * @ver : 2007.05.21
  2023. * @by : 김재홍
  2024. * @---------------------------------------------------
  2025. * @type : function
  2026. * @access : public
  2027. * @desc : IVEWER에서 초기화 함수
  2028. * @return :
  2029. * @---------------------------------------------------
  2030. */
  2031. function cleanViewer()
  2032. {
  2033. var fso;
  2034. fso = new ActiveXObject("Scripting.FileSystemObject");
  2035. setupRecvPath(fso);
  2036. // 사용하는 개체를 초기화 한다.
  2037. fSet_OCX_PageViewer();
  2038. fSet_OCX_ThumbViewer();
  2039. fSet_OCX_ChartViewer();
  2040. fSet_OCX_PreViewer();
  2041. model.setValue("/root/main/chartinfo/pagetotal", "0");
  2042. model.setValue("/root/main/chartinfo/pagecurrent", "0");
  2043. model.refresh();
  2044. // 모든 버튼 이미지를 설정한다.
  2045. setupAllButtons();
  2046. // 토글 버튼의 기본값 설정
  2047. //processToggleButton("btnChartMouseNormal");
  2048. processToggleButton("btnChartMousePanning");
  2049. //processToggleButton("btnFitBest");
  2050. processToggleButton("btnPageMouseNormal");
  2051. // 페이지뷰의 페이지 이동 버튼 설정
  2052. setupMoveButton();
  2053. // 데이터 초기화
  2054. resetData();
  2055. // 뷰어를 IMPORT 된 크기로 FIT 시킨다.
  2056. // if(document.body.isChild("importIemr") == true)
  2057. // if(window.type == "iviewer")
  2058. // {
  2059. // fitToImportArea();
  2060. // }
  2061. // 썸네일 뷰어의 레이아웃 설정
  2062. objThumbView.SetThumbLayout(4, 3);
  2063. }
  2064. /**
  2065. * @group :
  2066. * @ver :
  2067. * @by :
  2068. * @---------------------------------------------------
  2069. * @type : function
  2070. * @access : public
  2071. * @desc :
  2072. * @return :
  2073. * @---------------------------------------------------
  2074. */
  2075. function append_BmarkChart(param, chartinfo, hiddenmsg , recrowno)
  2076. {
  2077. //영상-EMR구분|파일경로| TREATNO | FORMCODE | PAGENO
  2078. var arrChartInfo;
  2079. var nPrvPageTotal;
  2080. var nCurPageTotal;
  2081. var nCurPageCount;
  2082. var nNexPageTotal;
  2083. var i;
  2084. var j;
  2085. var r, re;
  2086. r = ",";
  2087. re = "','";
  2088. var treatno;
  2089. var docucd;
  2090. var temptreatno;
  2091. var tempdocucd;
  2092. var count;
  2093. var countmain;
  2094. var counthidden;
  2095. // var pageTotal = parseInt(model.getValue("/root/main/chartinfo/pagetotal"));
  2096. // var pageCurrent = parseInt(model.getValue("/root/main/chartinfo/pagecurrent"));
  2097. //영상-EMR구분|파일경로| TREATNO | FORMCODE | PAGENO
  2098. if (chartinfo == "")
  2099. {
  2100. return false;
  2101. }
  2102. nPrvPageTotal = parseInt(objThumbView.TotalThumbnail);
  2103. nCurPageTotal = parseInt(objThumbView.TotalThumbnail);
  2104. arrChartInfo = chartinfo.split("|");
  2105. if (arrChartInfo[0] == "I")
  2106. {
  2107. // 전송할 데이터를 만든다.
  2108. var destNode = instance1.selectSingleNode("/root/_send/data1");
  2109. var pageno = "";
  2110. var params = param.selectNodes("iemr");
  2111. for(var i = 0 ; i < params.length ; i++){
  2112. var selParam = params.item(i);
  2113. pageno = pageno + selParam.selectSingleNode("pageno").text + ",";
  2114. }
  2115. pageno = pageno.substr(0, pageno.length - 1);
  2116. model.removenode("/root/tmp/pagenoset");
  2117. model.makeValue("/root/tmp/pagenoset", pageno);
  2118. var selNode = instance1.selectSingleNode("/root/tmp/pagenoset");
  2119. param.appendChild(selNode);
  2120. model.copyNode(destNode, param);
  2121. // 전송
  2122. submit("TRMRC03130");
  2123. // 보여줄 페이지 수를 센다.
  2124. nCurPageCount = 0;
  2125. while(model.getValue("/root/main/charts[" + (nCurPageCount + 1) + "]/chrtpage") != null && model.getValue("/root/main/charts[" + (nCurPageCount + 1) + "]/chrtpage") != "")
  2126. {
  2127. nCurPageCount++;
  2128. nCurPageTotal++;
  2129. }
  2130. model.makeNode("/root/_send/data1/pagetot");
  2131. model.setValue("/root/_send/data1/pagetot", nCurPageCount);
  2132. model.setValue("/root/main/chartinfo/filetotal", model.getValue("/root/_send/data1/pagetot"));
  2133. model.setValue("/root/main/chartinfo/pagetotal", nCurPageTotal);
  2134. model.setValue("/root/main/chartinfo/pagecurrent", model.getValue("/root/main/chartinfo/pagetotal") != "0" ? "1" : "0");
  2135. model.refresh();
  2136. // 만들었던 데이터 삭제
  2137. model.resetInstanceNode("/root/_send");
  2138. // 페이지 정보를 조정한다.
  2139. model.setValue("/root/main/chartinfo/pagecurrent", model.getValue("/root/main/chartInfo/pagetotal") != "0" ? "1" : "0");
  2140. model.refresh();
  2141. // 파일다운로드
  2142. downloadChart();
  2143. for (i = nPrvPageTotal + 1; i <= nCurPageTotal; i++)
  2144. {
  2145. g_outertext[i - 1] = formatDate(model.getValue("/root/main/charts[" + (i - nPrvPageTotal) + "]/indd")) + " " +
  2146. model.getValue("/root/main/charts[" + (i - nPrvPageTotal) + "]/orddeptnm") + " " +
  2147. model.getValue("/root/main/charts[" + (i - nPrvPageTotal) + "]/docunm") + " " +
  2148. model.getValue("/root/main/charts[" + (i - nPrvPageTotal) + "]/chrtpage");
  2149. objThumbView.AppendPage(g_path[i], 0, 0);
  2150. objThumbView.ThumbText(i) = "[" +
  2151. model.getValue("/root/main/charts[" + (i - nPrvPageTotal) + "]/chrtpage") +
  2152. "] " +
  2153. model.getValue("/root/main/charts[" + (i - nPrvPageTotal) + "]/indd") + " " +
  2154. model.getValue("/root/main/charts[" + (i - nPrvPageTotal) + "]/docunm");
  2155. objThumbView.ThumbUserText(i) = "I" + "▦" + model.getValue("/root/main/charts[" + (i - nPrvPageTotal) + "]/ordno") + "▦" + model.getValue("/root/main/charts[" + (i - nPrvPageTotal) + "]/docucd") + "▦" + model.getValue("/root/main/charts[" + (i - nPrvPageTotal) + "]/pagecnt") + "|";
  2156. g_recrowno[i]= recrowno;
  2157. }
  2158. // 차트 추가
  2159. objChartView.ChartAppend(g_path[1], 1, 1);
  2160. objChartView.OuterCaption(1) = g_outertext[0];
  2161. }
  2162. else
  2163. {
  2164. //영상-EMR구분|파일경로|입원일|서식지코드|서식지이름|진료과코드|진료과이름
  2165. // 차트 추가
  2166. i = nPrvPageTotal + 1;
  2167. objThumbView.AppendPage(arrChartInfo[1], 0, 0);
  2168. nNexPageTotal = parseInt(objThumbView.TotalThumbnail);
  2169. for (j = i; j <= nNexPageTotal; j++)
  2170. {
  2171. g_outertext[j - 1] = formatDate(arrChartInfo[2]) + " " +
  2172. arrChartInfo[6] + " " +
  2173. arrChartInfo[4] + " " +
  2174. parseInt(j - i + 1);
  2175. objThumbView.ThumbText(j) = "[" +
  2176. parseInt(j - i + 1) +
  2177. "] " +
  2178. arrChartInfo[2] + " " +
  2179. arrChartInfo[4];
  2180. objThumbView.ThumbUserText(j) = hiddenmsg + "▦" + nNexPageTotal;
  2181. g_recrowno[j]= recrowno;
  2182. g_path[j] = objThumbView.FileName(j);
  2183. g_page[j] = j - i + 1;
  2184. g_page_lut[j] = j;
  2185. }
  2186. // 차트 추가
  2187. objChartView.ChartAppend(arrChartInfo[1], 1, 1);
  2188. objChartView.OuterCaption(1) = g_outertext[0];
  2189. model.setValue("/root/main/chartinfo/pagetotal", nNexPageTotal);
  2190. model.setValue("/root/main/chartinfo/pagecurrent", model.getValue("/root/main/chartinfo/pagetotal") != "0" ? "1" : "0");
  2191. model.refresh();
  2192. }
  2193. model.refresh();
  2194. }
  2195. /**
  2196. * @group :
  2197. * @ver : 2007.05.21
  2198. * @by : 김재홍
  2199. * @---------------------------------------------------
  2200. * @type : function
  2201. * @access : public
  2202. * @desc :
  2203. * @return :
  2204. * @---------------------------------------------------
  2205. */
  2206. function appendChart(param, chartinfo, hiddenmsg , recrowno)
  2207. {
  2208. var arrChartInfo;
  2209. var nPrvPageTotal;
  2210. var nCurPageTotal;
  2211. var nCurPageCount;
  2212. var nNexPageTotal;
  2213. var i;
  2214. var j;
  2215. var r, re;
  2216. r = ",";
  2217. re = "','";
  2218. var treatno;
  2219. var docucd;
  2220. var temptreatno;
  2221. var tempdocucd;
  2222. var count;
  2223. var countmain;
  2224. var counthidden;
  2225. // var pageTotal = parseInt(model.getValue("/root/main/chartinfo/pagetotal"));
  2226. // var pageCurrent = parseInt(model.getValue("/root/main/chartinfo/pagecurrent"));
  2227. //영상-EMR구분|파일경로|입원일|서식지코드|서식지이름|진료과코드|진료과이름
  2228. if (chartinfo == "")
  2229. {
  2230. return false;
  2231. }
  2232. nPrvPageTotal = parseInt(objThumbView.TotalThumbnail);
  2233. nCurPageTotal = parseInt(objThumbView.TotalThumbnail);
  2234. arrChartInfo = chartinfo.split("|");
  2235. if (arrChartInfo[0] == "I")
  2236. {
  2237. // 전송할 데이터를 만든다.
  2238. var destNode = instance1.selectSingleNode("/root/_send/data1");
  2239. model.copyNode(destNode, param);
  2240. // 전송
  2241. submit("TRMRC03101");
  2242. // 보여줄 페이지 수를 센다.
  2243. nCurPageCount = 0;
  2244. while(model.getValue("/root/main/charts[" + (nCurPageCount + 1) + "]/chrtpage") != null && model.getValue("/root/main/charts[" + (nCurPageCount + 1) + "]/chrtpage") != "")
  2245. {
  2246. nCurPageCount++;
  2247. nCurPageTotal++;
  2248. }
  2249. model.makeNode("/root/_send/data1/pagetot");
  2250. model.setValue("/root/_send/data1/pagetot", nCurPageCount);
  2251. model.setValue("/root/main/chartinfo/filetotal", model.getValue("/root/_send/data1/pagetot"));
  2252. model.setValue("/root/main/chartinfo/pagetotal", nCurPageTotal);
  2253. model.setValue("/root/main/chartinfo/pagecurrent", model.getValue("/root/main/chartinfo/pagetotal") != "0" ? "1" : "0");
  2254. model.refresh();
  2255. // 만들었던 데이터 삭제
  2256. model.resetInstanceNode("/root/_send");
  2257. // 페이지 정보를 조정한다.
  2258. model.setValue("/root/main/chartinfo/pagecurrent", model.getValue("/root/main/chartInfo/pagetotal") != "0" ? "1" : "0");
  2259. model.refresh();
  2260. // 파일다운로드
  2261. downloadChart();
  2262. for (i = nPrvPageTotal + 1; i <= nCurPageTotal; i++)
  2263. {
  2264. //objChartView.AutoRefresh = false;
  2265. //objThumbView.ThumbGen = false;
  2266. //objThumbView.Redraw = false;
  2267. // objChartView.ChartAppend(g_path[i], 0, 0);
  2268. // objChartView.OuterCaption(i) = formatDate(model.getValue("/root/main/charts[" + (i - nPrvPageTotal) + "]/indd")) + " " +
  2269. // model.getValue("/root/main/charts[" + (i - nPrvPageTotal) + "]/orddeptnm") + " " +
  2270. // model.getValue("/root/main/charts[" + (i - nPrvPageTotal) + "]/docunm") + " " +
  2271. // model.getValue("/root/main/charts[" + (i - nPrvPageTotal) + "]/chrtpage");
  2272. g_outertext[i - 1] = formatDate(model.getValue("/root/main/charts[" + (i - nPrvPageTotal) + "]/indd")) + " " +
  2273. model.getValue("/root/main/charts[" + (i - nPrvPageTotal) + "]/orddeptnm") + " " +
  2274. model.getValue("/root/main/charts[" + (i - nPrvPageTotal) + "]/docunm") + " " +
  2275. model.getValue("/root/main/charts[" + (i - nPrvPageTotal) + "]/chrtpage");
  2276. objThumbView.AppendPage(g_path[i], 0, 0);
  2277. objThumbView.ThumbText(i) = "[" +
  2278. model.getValue("/root/main/charts[" + (i - nPrvPageTotal) + "]/chrtpage") +
  2279. "] " +
  2280. model.getValue("/root/main/charts[" + (i - nPrvPageTotal) + "]/indd") + " " +
  2281. model.getValue("/root/main/charts[" + (i - nPrvPageTotal) + "]/docunm");
  2282. objThumbView.ThumbUserText(i) = "I" + "▦" + model.getValue("/root/main/charts[" + (i - nPrvPageTotal) + "]/ordno") + "▦" + model.getValue("/root/main/charts[" + (i - nPrvPageTotal) + "]/docucd") + "▦" + model.getValue("/root/main/charts[" + (i - nPrvPageTotal) + "]/pagecnt") + "|";
  2283. g_recrowno[i]= recrowno;
  2284. //objChartView.AutoRefresh = true;
  2285. //objThumbView.Redraw = true;
  2286. //objThumbView.ThumbGen = true;
  2287. }
  2288. // 차트 추가
  2289. objChartView.ChartAppend(g_path[1], 1, 1);
  2290. objChartView.OuterCaption(1) = g_outertext[0];
  2291. }
  2292. else
  2293. {
  2294. //영상-EMR구분|파일경로|입원일|서식지코드|서식지이름|진료과코드|진료과이름
  2295. // 차트 추가
  2296. i = nPrvPageTotal + 1;
  2297. //objChartView.AutoRefresh = false;
  2298. //objThumbView.ThumbGen = false;
  2299. //objThumbView.Redraw = false;
  2300. objThumbView.AppendPage(arrChartInfo[1], 0, 0);
  2301. //objChartView.AutoRefresh = true;
  2302. //objThumbView.Redraw = true;
  2303. //objThumbView.ThumbGen = true;
  2304. nNexPageTotal = parseInt(objThumbView.TotalThumbnail);
  2305. for (j = i; j <= nNexPageTotal; j++)
  2306. {
  2307. //objChartView.OuterCaption(j) = formatDate(arrChartInfo[2]) + " " +
  2308. // arrChartInfo[6] + " " +
  2309. // arrChartInfo[4] + " " +
  2310. // parseInt(j - i + 1);
  2311. g_outertext[j - 1] = formatDate(arrChartInfo[2]) + " " +
  2312. arrChartInfo[6] + " " +
  2313. arrChartInfo[4] + " " +
  2314. parseInt(j - i + 1);
  2315. objThumbView.ThumbText(j) = "[" +
  2316. parseInt(j - i + 1) +
  2317. "] " +
  2318. arrChartInfo[2] + " " +
  2319. arrChartInfo[4];
  2320. objThumbView.ThumbUserText(j) = hiddenmsg + "▦" + nNexPageTotal;
  2321. g_recrowno[j]= recrowno;
  2322. g_path[j] = objThumbView.FileName(j);
  2323. g_page[j] = j - i + 1;
  2324. g_page_lut[j] = j;
  2325. }
  2326. // 차트 추가
  2327. objChartView.ChartAppend(arrChartInfo[1], 1, 1);
  2328. objChartView.OuterCaption(1) = g_outertext[0];
  2329. model.setValue("/root/main/chartinfo/pagetotal", nNexPageTotal);
  2330. model.setValue("/root/main/chartinfo/pagecurrent", model.getValue("/root/main/chartinfo/pagetotal") != "0" ? "1" : "0");
  2331. model.refresh();
  2332. }
  2333. model.refresh();
  2334. }
  2335. function fn_SendRecRowno(idx)
  2336. {
  2337. // 2.0 5월 7일 추가
  2338. parent.window.javascript.fReturnRecRowno(g_recrowno[idx]);
  2339. }
  2340. function fn_ChartPageScroll(getValue)
  2341. {
  2342. //커서값
  2343. var pageCurrent = parseInt(model.getValue("/root/main/chartinfo/pagecurrent"));
  2344. //getValue 키값을 문자열로 받아준다
  2345. if (objChartView.TotalChart == 0 )
  2346. {
  2347. return;
  2348. }
  2349. if ( pageCurrent == 1 )
  2350. {
  2351. switch(getValue)
  2352. {
  2353. case "PageUp" :
  2354. //fMovePrev();
  2355. //parent.window.javascript.fGetRec("prev");
  2356. fMovePrev();
  2357. break;
  2358. case "PageDown" :
  2359. /*
  2360. if (pageCurrent == objThumbView.TotalThumbnail)
  2361. {
  2362. parent.window.javascript.fGetRec("next");
  2363. }
  2364. else
  2365. {
  2366. fMoveNext();
  2367. }
  2368. */
  2369. fMoveNext();
  2370. break;
  2371. case "Top" :
  2372. fMovePrev();
  2373. //parent.window.javascript.fGetRec("prev");
  2374. break;
  2375. case "Bottom" :
  2376. if (pageCurrent == objThumbView.TotalThumbnail)
  2377. {
  2378. //parent.window.javascript.fGetRec("next");
  2379. }
  2380. else
  2381. {
  2382. fMoveNext();
  2383. }
  2384. break;
  2385. case "Home" :
  2386. parent.window.javascript.fGetRec("midfirst");
  2387. break;
  2388. case "End" :
  2389. parent.window.javascript.fGetRec("midend");
  2390. break;
  2391. }
  2392. return;
  2393. }
  2394. if ( pageCurrent == objThumbView.TotalThumbnail )
  2395. {
  2396. switch(getValue)
  2397. {
  2398. case "PageUp" :
  2399. fMovePrev();
  2400. break;
  2401. case "PageDown" :
  2402. fMoveNext();
  2403. //parent.window.javascript.fGetRec("next");
  2404. break;
  2405. case "Top" :
  2406. fMovePrev();
  2407. break;
  2408. case "Bottom" :
  2409. fMoveNext();
  2410. //parent.window.javascript.fGetRec("next");
  2411. break;
  2412. case "Home" :
  2413. parent.window.javascript.fGetRec("midfirst");
  2414. break;
  2415. case "End" :
  2416. parent.window.javascript.fGetRec("midend");
  2417. break;
  2418. }
  2419. return;
  2420. }
  2421. switch(getValue)
  2422. {
  2423. case "PageUp" :
  2424. //objChartView.Action = 3
  2425. fMovePrev();
  2426. break;
  2427. case "PageDown" :
  2428. //objChartView.Action = 4
  2429. fMoveNext();
  2430. break;
  2431. case "Home" :
  2432. //objChartView.Action = 1
  2433. break;
  2434. case "End" :
  2435. //objChartView.Action = 2
  2436. break;
  2437. case "Top" :
  2438. fMovePrev();
  2439. break;
  2440. case "Bottom" :
  2441. fMoveNext();
  2442. break;
  2443. }
  2444. model.refresh();
  2445. }
  2446. function refreshFalse()
  2447. {
  2448. objChartView.AutoRefresh = false;
  2449. objThumbView.ThumbGen = false;
  2450. objThumbView.Redraw = false;
  2451. }
  2452. function refreshTrue()
  2453. {
  2454. objChartView.AutoRefresh = true;
  2455. objThumbView.Redraw = true;
  2456. objThumbView.ThumbGen = true;
  2457. }