SPLPP01600_보고서출력.xrw 62 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SPLPP01600_보고서출력.xrw
  4. * 설 명 : 보고서출력
  5. * 설 계 자 : (주)에이씨케이 - 유동철
  6. * 작 성 자 : (주)에이씨케이 - 유동철
  7. * 작 성 일 : 2007.09.07
  8. * 수정이력 :
  9. * 기 타 : 2008.06.06
  10. * 미리보기, 출력 시 모두 window.close를 시행 하여야 한다.
  11. * 출력 시 window.close를 하지 않을 경우 hidden창이 종료되지 않아 Main창이
  12. * Blocking현상이 발생한다.
  13. -->
  14. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  15. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  16. <xhtml:head>
  17. <xhtml:title>의뢰지 및 보고서출력</xhtml:title>
  18. <model id="model1">
  19. <instance id="instance1">
  20. <root xmlns="">
  21. <main>
  22. <testrslt>
  23. <patinfo>
  24. <ptno/>
  25. <patnm/>
  26. <rrgstno/>
  27. <pid/>
  28. <sexage/>
  29. <acptdd/>
  30. <readdd/>
  31. <grosdrid/>
  32. <grosdrnm/>
  33. <spcnm/>
  34. </patinfo>
  35. </testrslt>
  36. <prntinfo>
  37. <headerinfo>
  38. <instcd/>
  39. <ptno/>
  40. <dispptno/>
  41. <pid/>
  42. <patnm/>
  43. <sexage/>
  44. <rrgstno/>
  45. <orddeptnm/>
  46. <wardnm/>
  47. <prcpdt/>
  48. <orddrnm/>
  49. <dsctdt/>
  50. <chrgdrnm/>
  51. <acptdt/>
  52. <acptnm/>
  53. <grosdt/>
  54. <grosdrnm/>
  55. <reqcnts/>
  56. </headerinfo>
  57. </prntinfo>
  58. </main>
  59. <send/>
  60. <init>
  61. <reptflagcd/>
  62. <prntflagcd/>
  63. <ptno/>
  64. <pid/>
  65. <hospenv>
  66. <hospenvinfo>
  67. <instcd/>
  68. <lendrtnterm/>
  69. <recvqualmthdcd/>
  70. <plgydeptcd/>
  71. <plgyteamcd/>
  72. <doctjobgradcd/>
  73. <teamjobgradcd/>
  74. <repttitl/>
  75. </hospenvinfo>
  76. </hospenv>
  77. <seporesn1>
  78. <dgflagcd>1</dgflagcd>
  79. <seporslt/>
  80. <seporesninfo>
  81. <title>Cervico-vaginal smear, liquid based cytology, automated screening system;</title>
  82. <title01>1) Adequacy of specimen</title01>
  83. <val01>false</val01>
  84. <lbl01>1. satisfactory for evaluation</lbl01>
  85. <val02>false</val02>
  86. <lbl02>2. unsatisfactory for evaluation</lbl02>
  87. <title02>2) Cytologic diagnosis</title02>
  88. <val03>false</val03>
  89. <lbl03>1. Negative for intraepithelial lesion or malignancy</lbl03>
  90. <val04>false</val04>
  91. <lbl04>1. Organisms :</lbl04>
  92. <val05>false</val05>
  93. <lbl05>1. Fungus(Candida sp.),</lbl05>
  94. <val06>false</val06>
  95. <lbl06>2. Trichomonas</lbl06>
  96. <val07>false</val07>
  97. <lbl07>3. Actinomyces</lbl07>
  98. <val08>false</val08>
  99. <lbl08>4. Other</lbl08>
  100. <val09>false</val09>
  101. <lbl09>2. Other non neoplastic findings :</lbl09>
  102. <val10>false</val10>
  103. <lbl10>1. RCC(Inflammation)</lbl10>
  104. <val11>false</val11>
  105. <lbl11>2. Atrophy</lbl11>
  106. <val12>false</val12>
  107. <lbl12>3. Therapeutic effect</lbl12>
  108. <val13>false</val13>
  109. <lbl13>2. Epithelial cell abnormalities</lbl13>
  110. <val14>false</val14>
  111. <lbl14>1. Squamous cell :</lbl14>
  112. <val15>true</val15>
  113. <lbl15>1. ASC-US</lbl15>
  114. <val16>false</val16>
  115. <lbl16>2. ASC-H</lbl16>
  116. <val17>false</val17>
  117. <lbl17>3. LSIL</lbl17>
  118. <val18>false</val18>
  119. <lbl18>4. HSIL</lbl18>
  120. <val19>false</val19>
  121. <lbl19>5. SCC</lbl19>
  122. <val20>false</val20>
  123. <lbl20>2. Glandular cell :</lbl20>
  124. <val21>false</val21>
  125. <lbl21>1. AGC</lbl21>
  126. <val22>false</val22>
  127. <lbl22>2. Endocervical AIS</lbl22>
  128. <val23>false</val23>
  129. <lbl23>3. Adenocarcinoma</lbl23>
  130. <val24>false</val24>
  131. <lbl24>3. Other malignant neoplasm :</lbl24>
  132. </seporesninfo>
  133. </seporesn1>
  134. <seporesn3>
  135. <seporesninfo>
  136. <title>Thyroid, left, conventional smear, needle aspiration cytology with cell block(증례별 자동인쇄);</title>
  137. <title01>1) Adequacy of specimen</title01>
  138. <val01>false</val01>
  139. <lbl01>1. satisfactory for evaluation</lbl01>
  140. <val02>false</val02>
  141. <lbl02>2. unsatisfactory for evaluation</lbl02>
  142. <title02>2) Cytologic diagnosis</title02>
  143. <val03>false</val03>
  144. <lbl03>1. Negative for malignancy</lbl03>
  145. <val04>false</val04>
  146. <lbl04>2. Atypical cells</lbl04>
  147. <val05>false</val05>
  148. <lbl05>3. Malignancy</lbl05>
  149. <val06>false</val06>
  150. <lbl06>4. Others</lbl06>
  151. <val07/>
  152. <lbl07>* Description :</lbl07>
  153. </seporesninfo>
  154. <dgflagcd/>
  155. <seporslt/>
  156. </seporesn3>
  157. <spccd>
  158. <resncdlist>
  159. <resncd/>
  160. <resncnts/>
  161. </resncdlist>
  162. </spccd>
  163. </init>
  164. <hidden/>
  165. <temp>
  166. <instcd/>
  167. <ptno/>
  168. <pid/>
  169. <acptdd/>
  170. <exmpcd>
  171. <exmpcdlist/>
  172. </exmpcd>
  173. </temp>
  174. </root>
  175. </instance>
  176. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  177. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  178. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  179. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  180. <script type="javascript" src="../../../lis/commonweb/js/LPZ001.js"/>
  181. <script type="javascript" ev:event="xforms-ready">
  182. <![CDATA[
  183. window.minimize();
  184. makeReportPreview(0, 50, 1179, 678, "grp_prnt");
  185. fExeInitialize();
  186. ]]>
  187. </script>
  188. <submission id="TRLPZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/hospenv/hospenvinfo"/>
  189. <submission id="TRLPZ00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/spccd/resncdlist"/>
  190. <submission id="TRLPZ00111" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/temp/exmpcd/exmpcdlist"/>
  191. <submission id="TRLPR00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/testrslt/patinfo"/>
  192. <submission id="TRLPP01601" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/prntinfo/headerinfo"/>
  193. <submission id="TRLPP02002" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqpatinfo" resultref="/root/hidden/prtninfolist"/>
  194. </model>
  195. <script type="javascript">
  196. <![CDATA[
  197. /* @group : 보고서출력
  198. * @ver : 2007.09.07 (CMCDEV-0001)
  199. * @by : 유동철(ACK)
  200. * @-----------------------------------
  201. * @type : function
  202. * @access : public
  203. * @desc : 화면초기화 함수
  204. */
  205. function fExeInitialize() {
  206. var bState = false;
  207. var sPreview = "false";
  208. var sReptFileNm = "";
  209. //---------------------------------------------------
  210. if (model.getValue("/root/temp/prntflagcd") == "0") {
  211. sPreview = "true"; // 출력은 화면 자동 종료
  212. }
  213. model.removeNodeset("/root/send");
  214. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  215. submit("TRLPZ00101", false);
  216. //---------------------------------------------------------
  217. // 병원환경정보를 취득하여 병리과와 병리팀 코드를 편집한다.
  218. lpzfUserDeptCd("/root/init/hospenv/hospenvinfo", "/root/hidden");
  219. //--------------------
  220. // 작업구분 목록 조회
  221. model.makeValue("/root/send/baseflagcd", "'U1'");
  222. submit("TRLPZ00103");
  223. /*
  224. model.makeValue("/root/init/ptno", "C07000066");
  225. model.makeValue("/root/init/acptdd", "20071126");
  226. model.makeValue("/root/init/pid", "10423");
  227. model.makeValue("/root/temp/ptno", "C07000066");
  228. model.makeValue("/root/temp/acptdd", "20071126");
  229. model.makeValue("/root/temp/pid", "10423");
  230. model.makeValue("/root/temp/instcd", "012");
  231. model.makeValue("/root/temp/reptflagcd", "0");
  232. model.makeValue("/root/temp/prntflagcd", "1");
  233. */
  234. //----------------------------------
  235. //makeReportPreview(0, 50, 1179, 678);
  236. //-------------------------------
  237. // 출력정보 조회(미리보기는 제외)
  238. if (model.getValue("/root/temp/prntflagcd") == "0") {
  239. fGetPrntInfo();
  240. }
  241. //----------------------------------
  242. // reptflagcd : 의뢰지(0), 보고서(1)
  243. // prntflagcd : 출력(0), 미리보기(1)
  244. sReptFileNm = "RPLPP00600";
  245. fExeMakeNodeReqFrm(); // 출력노드 생성
  246. switch ( model.getValue("/root/main/prntinfo/headerinfo/statsworkflagcd") ) {
  247. case "1080" : //분자보고서는 별도 출력한다.
  248. if(model.getValue("/root/temp/reptflagcd") != "0") {
  249. fprtnmolereport();
  250. bState = false;
  251. break;
  252. } else {
  253. //if(model.getValue("/root/main/prntinfo/headerinfo/hideflagcd") != "" && model.getValue("/root/main/prntinfo/headerinfo/hideflagcd") != "0" && model.getValue("/root/main/prntinfo/headerinfo/hideflagcd") != "1" ){
  254. sReptFileNm = "RPLPP00900";
  255. bState = true;
  256. //}else {
  257. // bState = false;
  258. // break;
  259. //}
  260. }
  261. // case "1081" : //분자보고서는 별도 출력한다. , 분자의뢰지도 별도 출력 한다.
  262. // case "1082" :
  263. // case "1083" :
  264. // case "1084" :
  265. // case "1085" :
  266. // case "1086" :
  267. // case "1087" :
  268. // case "1088" :
  269. // case "1089" :
  270. // if(model.getValue("/root/temp/reptflagcd") != "0") {
  271. // fprtnmolereport();
  272. // bState = false;
  273. // break;
  274. // } else {
  275. // sReptFileNm = "RPLPP00900";
  276. // }
  277. case "1010" :
  278. case "1011" :
  279. case "1090" :
  280. case "1021" :
  281. case "1022" :
  282. case "1023" :
  283. case "10A0" :
  284. case "10B0" :
  285. case "10B1" :
  286. case "10D0" :
  287. case "10D1" :
  288. case "10D2" :
  289. case "1060" : // 2011-02-08 : YDC : 면역형광 추가
  290. case "1070" : // 2010-09-30 : YDC : 전자현미경 추가
  291. bState = true;
  292. break;
  293. default :
  294. bState = false;
  295. break;
  296. }
  297. //-----------
  298. if (bState) {
  299. //---------------------------------------------------
  300. if (model.getValue("/root/temp/prntflagcd") == "0") {
  301. exeReportPreview(sReptFileNm, "XMLSTR", "", "", sPreview, "", "", "", "", "", "", "grp_prnt");
  302. } else {
  303. exeReportPreview(sReptFileNm, "XMLSTR");
  304. }
  305. }
  306. //---------------------------------------------------
  307. // if (model.getValue("/root/temp/prntflagcd") == "1") { // 출력(0), 미리보기(1)
  308. window.close();
  309. // }
  310. }
  311. /* @group : 보고서출력
  312. * @ver : 2007.09.07 (CMCDEV-0001)
  313. * @by : 유동철(ACK)
  314. * @-----------------------------------
  315. * @type : function
  316. * @access : public
  317. * @desc : 출력정보 조회 함수
  318. */
  319. function fGetPrntInfo() {
  320. model.removeNodeset("/root/send");
  321. model.removeNodeset("/root/main/prntinfo/headerinfo");
  322. model.makeValue("/root/send/instcd", model.getValue("/root/temp/instcd"));
  323. model.makeValue("/root/send/ptno", model.getValue("/root/temp/ptno"));
  324. model.makeValue("/root/send/pid", model.getValue("/root/temp/pid"));
  325. model.makeValue("/root/send/acptdd", model.getValue("/root/temp/acptdd"));
  326. model.makeValue("/root/send/reptflagcd", model.getValue("/root/temp/reptflagcd"));
  327. model.makeValue("/root/send/prntflagcd", model.getValue("/root/temp/prntflagcd"));
  328. model.makeValue("/root/send/adddiagprtn", model.getValue("/root/temp/adddiagprtn"));
  329. model.makeValue("/root/send/adddiaglist", model.getValue("/root/temp/adddiaglist"));
  330. model.makeValue("/root/send/addrsltlist", model.getValue("/root/temp/addrsltlist"));
  331. submit("TRLPP01601");
  332. }
  333. /* @group : 보고서출력
  334. * @ver : 2007.09.07 (CMCDEV-0001)
  335. * @by : 유동철(ACK)
  336. * @-----------------------------------
  337. * @type : function
  338. * @access : public
  339. * @desc : 출력용 노드 생성 처리 함수
  340. */
  341. function fExeMakeNodeReqFrm() {
  342. var re = /▨/g; // i:1회실행, g:모두실행, gi:전역실행(대소문자 안가림)
  343. var sTemp = "";
  344. var sTitle1 = "";
  345. var sTitle2 = "";
  346. var sIFTitle = "";
  347. var sHdrInfo = "/root/main/prntinfo/headerinfo";
  348. var sDiagInfo = "/root/main/prntinfo/diaginfo";
  349. var sRelaList = "/root/main/prntinfo/relaptnolist";
  350. var sBfList = "/root/main/prntinfo/bfptnolist";
  351. var sBfHoriList = "/root/main/prntinfo/bfptnohorilist";
  352. var sReadList = "/root/main/prntinfo/readnmlist";
  353. var sStainList = "/root/main/prntinfo/staintestlist";
  354. var sMoleHLList = "/root/main/prntinfo/molehllist";
  355. var sElecList = "/root/main/prntinfo/electestlist";
  356. var sFrznNode = "/root/main/prntinfo/frzncstelist";
  357. var sIFNode = "/root/main/prntinfo/iftestlist";
  358. var sRecNode = "/root/main/prntinfo/reccntslist";
  359. var sExmpNode = "/root/temp/exmpcd/exmpcdlist";
  360. var sPrntMoleHLPath = "/root/main/testrslt/molehllist";
  361. var sPrntElecPath = "/root/main/testrslt/electestlist";
  362. var sPrntRecPath = "/root/main/testrslt/reccntslist";
  363. var sRsltImgList = "/root/main/prntinfo/rsltimglist";
  364. var sReptKind = "0";
  365. var sDetlKind = "0";
  366. var sWorkFlag = "0";
  367. var sIFState = "0";
  368. var sRelaPtNo = "0";
  369. var sStainState = "0";
  370. var sFroznState = "0";
  371. var sAddRsltState = "0";
  372. var sMoleHLState = "0";
  373. var sFstexamState = "0";
  374. var sRecDiagState = "0";
  375. var sElecState = "0";
  376. var sRsltState1 = "0";
  377. var sRsltState2 = "0";
  378. var sRsltState3 = "0";
  379. var sRsltState4 = "0";
  380. var sRsltState5 = "0";
  381. var sRsltImgState = "0";
  382. var sDetlSpcNm = "";
  383. var aDetlSpcNm = "";
  384. var sPrcpDt = "";
  385. var sAcptDt = "";
  386. var sInDt = "";
  387. var sGrosDt = "";
  388. var sReadDt = "";
  389. var sResnCnts = "";
  390. var sEtcFlagCd = "";
  391. var sCellDiag1 = "";
  392. var sCellDiag2 = "";
  393. var sCellDiag3 = "";
  394. var sCellTitle1 = "";
  395. var sCellTitle2 = "";
  396. var sCellTitle3 = "";
  397. var sCellDiagNm1 = "";
  398. var sCellDiagNm2 = "";
  399. var sResnNo = "0";
  400. var iEndNo = 0;
  401. var aInptItem2 = "";
  402. var iCepoCount = 0;
  403. var sCepoString = "";
  404. //--------------------
  405. // Instance Node초기화
  406. model.removeNodeset("/root/prnt");
  407. model.makeNode("/root/prnt");
  408. model.makeNode("/root/prnt/testrslt");
  409. //----------------------------------
  410. // reptflagcd : 의뢰지(0), 보고서(1)
  411. // prntflagcd : 출력(0), 미리보기(1)
  412. switch (model.getValue(sHdrInfo+"/statsworkflagcd")) {
  413. //------------------------------------
  414. // 통계작업구분이 "부인과"인 경우 처리
  415. case "1021" :
  416. sDetlKind = "C";
  417. sWorkFlag = "G";
  418. //-------------------
  419. // J:의뢰서, R:보고서
  420. if (model.getValue("/root/temp/reptflagcd") == "0") {
  421. sReptKind = "J";
  422. sTitle1 = "자궁경부세포진 의뢰서";
  423. sTitle2 = "Request for Cervical Cytology";
  424. } else {
  425. sReptKind = "R";
  426. sTitle1 = "자궁경부세포진 보고서";
  427. sTitle2 = "Report for Cervical Cytology";
  428. }
  429. //--------------
  430. // 세포예문 생성
  431. model.makeValue("/root/init/instcd", getUserInfo("dutplceinstcd")); //instcd
  432. lpzfExeSePoResnInit("/root/init/seporesn1", "/root/init/seporesn2", "/root/init/seporesn3", "1");
  433. break;
  434. //----------------------------------------------------------------------
  435. // 통계작업구분이 "비부인과(체액세포):1022", "세침흡인(1023)인 경우 처리
  436. case "1022" :
  437. case "1023" :
  438. sDetlKind = "C";
  439. sWorkFlag = "N";
  440. //---------------------------------------------------
  441. if (model.getValue("/root/temp/reptflagcd") == "0") {
  442. sReptKind = "J";
  443. sTitle1 = "일반 세포병리 의뢰서";
  444. sTitle2 = "Request for General Cytology";
  445. } else {
  446. sReptKind = "R";
  447. sTitle1 = "일반 세포병리 보고서";
  448. sTitle2 = "Report for General Cytology";
  449. }
  450. //-----------------------------------------------------------------------------------------------
  451. lpzfExeSePoResnInit("/root/init/seporesn4", "/root/init/seporesn5", "/root/init/seporesn6", "2");
  452. break;
  453. /*
  454. //------------
  455. case "1080" :
  456. sTitle1 = "분자병리 보고서";
  457. sTitle2 = "Report for Pathology";
  458. sReptKind = "R";
  459. sDetlKind = "S";
  460. break;
  461. */
  462. //--------
  463. default :
  464. sDetlKind = "S";
  465. //-----------------------------------------------------
  466. switch (model.getValue(sHdrInfo+"/statsworkflagcd")) {
  467. case "1001" : sTitle1 = "조직병리";
  468. break;
  469. case "1060" : sTitle1 = "면역형광";
  470. break;
  471. case "1070" : sTitle1 = "전자현미경";
  472. break;
  473. case "1080" : sTitle1 = "분자병리";
  474. break;
  475. case "1090" : sTitle1 = "부검";
  476. break;
  477. case "10A0" : sTitle1 = "골수조직 ";
  478. break;
  479. case "10D0" : //외부(비부인과)
  480. sTitle1 = "외부판독 ";
  481. sDetlKind = "C";
  482. sWorkFlag = "N";
  483. sReptKind = "J";
  484. break;
  485. case "10D1" : //외부(조직)
  486. sTitle1 = "외부판독 ";
  487. sDetlKind = "S";
  488. sReptKind = "J";
  489. break;
  490. case "10D2" : //외부(부인과)
  491. sTitle1 = "외부판독 ";
  492. sDetlKind = "C";
  493. sWorkFlag = "G";
  494. sReptKind = "J";
  495. break;
  496. case "10E0" : sTitle1 = "연구 ";
  497. break;
  498. case "10F0" : sTitle1 = "대출 ";
  499. break;
  500. default : sTitle1 = "조직병리";
  501. break;
  502. }
  503. //----------------------------------
  504. // reptflagcd : 의뢰지(0), 보고서(1)
  505. // prntflagcd : 출력(0), 미리보기(1)
  506. if (model.getValue("/root/temp/reptflagcd") == "0") {
  507. sTitle1 += " 의뢰서";
  508. sTitle2 = "Request paper for Pathology";
  509. sReptKind = "J";
  510. //----------------------------------------------------------
  511. if (model.getValue(sHdrInfo+"/statsworkflagcd") == "1011" ||
  512. model.getValue(sHdrInfo+"/statsworkflagcd") == "10B1") {
  513. sFroznState = "2";
  514. } else {
  515. sFroznState = "0";
  516. }
  517. } else {
  518. sTitle1 += " 보고서";
  519. sTitle2 = "Report for Pathology";
  520. sReptKind = "R";
  521. //---------------------
  522. // 동결절편의 경우 처리
  523. if (model.getValue(sHdrInfo+"/statsworkflagcd") == "1011" ||
  524. model.getValue(sHdrInfo+"/statsworkflagcd") == "10B1") {
  525. //-----------------------------------
  526. if (getNodesetCount(sFrznNode) > 0) {
  527. sFroznState = "1";
  528. } else {
  529. sFroznState = "0";
  530. }
  531. } else if (model.getValue(sHdrInfo+"/statsworkflagcd") == "1060") {
  532. //-------------------------------------------------
  533. if (model.getValue(sHdrInfo+"/rsltcnts2") == "0") {
  534. sIFTitle = "Kidney";
  535. sIFState = "K";
  536. } else if (model.getValue(sHdrInfo+"/rsltcnts2") == "1") {
  537. sIFTitle = "Skin";
  538. sIFState = "S";
  539. } else {
  540. sIFTitle = "Etc";
  541. sIFState = "D";
  542. fExeMakeRow(sHdrInfo+"/rsltcnts1", "rsltcnts1", "rsltcnts1list", "Default");
  543. }
  544. }
  545. //-----------------------------------------------------------------
  546. if (model.getValue(sHdrInfo+"/rsltcnts1") != "") sRsltState1 = "1";
  547. if (model.getValue(sHdrInfo+"/rsltcnts2") != "") sRsltState2 = "1";
  548. if (model.getValue(sHdrInfo+"/rsltcnts3") != "") sRsltState3 = "1";
  549. sRsltState4 = "0";
  550. sRsltState5 = "0";
  551. }
  552. break;
  553. }
  554. //-----------------
  555. // 내시경소견, 내시경진단, 현병력 추가
  556. if (model.getValue("/root/temp/reptflagcd") == "0") {
  557. for (var iNo=1; iNo <= getNodesetCount(sRecNode); iNo++) {
  558. fExeMakeRow2(sRecNode+"["+iNo+"]/reccnts", "reccnts", "reccntslist", "내시경 소견");
  559. }
  560. if (getNodesetCount("/root/main/prntinfo/reccntslistdiag") > 0) sRecDiagState = "1"; //내시경진단
  561. if (getNodesetCount("/root/main/prntinfo/fstexamchrt") > 0) sFstexamState = "1"; //현병력
  562. }
  563. //--------------------------
  564. // 보고서 출력일 경우만 처리
  565. // reptflagcd : 의뢰지(0), 보고서(1)
  566. // prntflagcd : 출력(0), 미리보기(1)
  567. if (model.getValue("/root/temp/reptflagcd") != "0") {
  568. //-----------------------------------------------------
  569. switch (model.getValue(sHdrInfo+"/statsworkflagcd")) {
  570. case "1021" :
  571. case "1022" :
  572. case "1023" :
  573. case "1024" :
  574. case "10D0" :
  575. case "10D2" :
  576. //---------------------------
  577. // 세포 보고서 결과 Title설정
  578. sCellTitle1 = "1차진단";
  579. sCellTitle2 = "2차진단";
  580. if (model.getValue("/root/main/prntinfo/rslthdrinfo/readdrnm") == "") {
  581. sCellTitle3 = "최종진단";
  582. } else {
  583. sCellTitle3 = "최종진단 : 판독자 " + model.getValue("/root/main/prntinfo/rslthdrinfo/readdrnm");
  584. }
  585. //----------------
  586. // 세포판독자 설정
  587. for (var iLoop=1; iLoop <= getNodesetCount("/root/main/prntinfo/readnmlist"); iLoop++) {
  588. switch (model.getValue("/root/main/prntinfo/readnmlist["+iLoop+"]/rgstdg")) {
  589. case "1" : sCellDiag1 = model.getValue("/root/main/prntinfo/readnmlist["+iLoop+"]/rgstdt");
  590. sCellTitle1 += " : 판독자 " + model.getValue("/root/main/prntinfo/readnmlist["+iLoop+"]/usernmlist");
  591. sCellDiagNm1 = model.getValue("/root/main/prntinfo/readnmlist["+iLoop+"]/usernmlist");
  592. break;
  593. case "2" : sCellDiag2 = model.getValue("/root/main/prntinfo/readnmlist["+iLoop+"]/rgstdt");
  594. sCellTitle2 += " : 판독자 " + model.getValue("/root/main/prntinfo/readnmlist["+iLoop+"]/usernmlist");
  595. sCellDiagNm2 = model.getValue("/root/main/prntinfo/readnmlist["+iLoop+"]/usernmlist");
  596. break;
  597. }
  598. }
  599. //----------------------------------------------------------------------------
  600. fExeMakeRow(sHdrInfo+"/rsltcnts1", "rsltcnts1", "rsltcnts1list", sCellTitle1);
  601. fExeMakeRow(sHdrInfo+"/rsltcnts2", "rsltcnts2", "rsltcnts2list", sCellTitle2);
  602. fExeMakeRow(sHdrInfo+"/rsltcnts3", "rsltcnts3", "rsltcnts3list", sCellTitle3);
  603. break;
  604. case "1080" :
  605. fExeMakeRow(sHdrInfo+"/rsltcnts1", "rsltcnts1", "rsltcnts1list", "Molecular Study");
  606. model.makeValue(sHdrInfo+"/rsltcnts2", "");
  607. model.makeValue(sHdrInfo+"/rsltcnts3", "");
  608. fExeMakeRow(sHdrInfo+"/cmtcnts", "cmtcnts", "cmtcntslist", "COMMENT"); //코멘트
  609. break;
  610. case "1090" :
  611. break;
  612. default :
  613. fExeMakeRow(sHdrInfo+"/rsltcnts1", "rsltcnts1", "rsltcnts1list", "GROSS DESCRIPTION");
  614. fExeMakeRow(sHdrInfo+"/rsltcnts2", "rsltcnts2", "rsltcnts2list", "MICROSCOPIC DESCRIPTION");
  615. fExeMakeRow(sHdrInfo+"/rsltcnts3", "rsltcnts3", "rsltcnts3list", "DIAGNOSIS");
  616. break;
  617. }
  618. //--------------------------------------------------------------------------------
  619. model.makeValue("/root/prnt/testrslt/pid", model.getValue(sHdrInfo+"/pid"));
  620. model.makeValue("/root/prnt/testrslt/orddeptnm", model.getValue(sHdrInfo+"/orddeptnm") + " " + model.getValue(sHdrInfo+"/wardnm"));
  621. //model.makeValue("/root/prnt/testrslt/chrgdrnm", model.getValue(sHdrInfo+"/orddeptnm") + "(" + model.getValue(sHdrInfo+"/wardnm") + ")");
  622. model.makeValue("/root/prnt/testrslt/chrgdrnm", model.getValue(sHdrInfo+"/chrgdrnm"));
  623. //보고서 주민번호 뒷자리 모자이크처리
  624. model.makeValue("/root/prnt/testrslt/rrgstno", (model.getValue(sHdrInfo+"/rrgstno")).substr(0, 8) + "xxxxxx");
  625. } else {
  626. //model.makeValue("/root/prnt/testrslt/pid", model.getValue(sHdrInfo+"/pid")+"\n"+model.getValue(sHdrInfo+"/rrgstno"));
  627. model.makeValue("/root/prnt/testrslt/pid", model.getValue(sHdrInfo+"/pid"));
  628. model.makeValue("/root/prnt/testrslt/orddeptnm", model.getValue(sHdrInfo+"/orddeptnm") + "\n" + model.getValue(sHdrInfo+"/wardnm"));
  629. model.makeValue("/root/prnt/testrslt/rrgstno", (model.getValue(sHdrInfo+"/rrgstno")).substr(0, 8) + "******");
  630. model.makeValue("/root/prnt/testrslt/speordappdr", model.getValue(sHdrInfo+"/speordappdr")); //선택진료의
  631. model.makeValue("/root/prnt/testrslt/isolabbrcd", model.getValue(sHdrInfo+"/isolabbrcd")); //감염정보
  632. }
  633. //-------------------
  634. // 내시경 소견 붙이기
  635. //-------------------------
  636. // 세부검체명에 번호 붙이기
  637. sDetlSpcNm = model.getValue(sHdrInfo+"/spcnmlist");
  638. aDetlSpcNm = sDetlSpcNm.split("▨");
  639. //--------------
  640. sDetlSpcNm = "";
  641. for (var iNo=0; iNo < aDetlSpcNm.length; iNo++) {
  642. sDetlSpcNm += Number(iNo+1) + ") " + aDetlSpcNm[iNo] + " ";
  643. }
  644. //-------------------------------------------
  645. sPrcpDt = model.getValue(sHdrInfo+"/prcpdt");
  646. //sPrcpDt = sPrcpDt.toDate("YYYY-MM-DD hh:mm:ss").getDateFormat("YYYY-MM-DD hh:mm:ss");
  647. sAcptDt = model.getValue(sHdrInfo+"/acptdt");
  648. //sAcptDt = sAcptDt.toDate("YYYY-MM-DD hh:mm:ss").getDateFormat("YYYY-MM-DD hh:mm:ss");
  649. sGrosDt = model.getValue(sHdrInfo+"/grosdt");
  650. //sGrosDt = sGrosDt.toDate("YYYY-MM-DD").getDateFormat("YYYY-MM-DD");
  651. if (model.getValue("/root/main/prntinfo/rslthdrinfo/inptdt") == "" ||
  652. model.getValue("/root/main/prntinfo/rslthdrinfo/inptdt") == "-") {
  653. sInDt = " ";
  654. } else {
  655. sInDt = model.getValue("/root/main/prntinfo/rslthdrinfo/inptdt");
  656. //sInDt = sInDt.toDate("YYYY-MM-DD").getDateFormat("YYYY-MM-DD");
  657. }
  658. //----------------------------------------------------------------------------------------
  659. model.makeValue("/root/prnt/testrslt/instcd", model.getValue(sHdrInfo+"/instcd"));
  660. model.makeValue("/root/prnt/testrslt/ptno", model.getValue(sHdrInfo+"/ptno"));
  661. model.makeValue("/root/prnt/testrslt/dispptno", model.getValue(sHdrInfo+"/dispptno"));
  662. // model.makeValue("/root/prnt/testrslt/pid", model.getValue(sHdrInfo+"/pid"));
  663. model.makeValue("/root/prnt/testrslt/patnm", model.getValue(sHdrInfo+"/patnm") + "["+model.getValue(sHdrInfo+"/sexage")+"]");
  664. // model.makeValue("/root/prnt/testrslt/rrgstno", model.getValue(sHdrInfo+"/rrgstno"));
  665. model.makeValue("/root/prnt/testrslt/sexage", model.getValue(sHdrInfo+"/sexage"));
  666. model.makeValue("/root/prnt/testrslt/grosdrnm", model.getValue(sHdrInfo+"/grosdrnm"));
  667. model.makeValue("/root/prnt/testrslt/prcpdt", sPrcpDt + " " +model.getValue(sHdrInfo+"/orddrnm"));
  668. model.makeValue("/root/prnt/testrslt/acptdt", sAcptDt + " " + model.getValue(sHdrInfo+"/acptnm"));
  669. model.makeValue("/root/prnt/testrslt/acptdd", sAcptDt);
  670. model.makeValue("/root/prnt/testrslt/grosdt", sGrosDt + " " + model.getValue(sHdrInfo+"/grosdrnm"));
  671. model.makeValue("/root/prnt/testrslt/inptdt", sInDt + " " + model.getValue("/root/main/prntinfo/rslthdrinfo/inptnm"));
  672. model.makeValue("/root/prnt/testrslt/acptnm", model.getValue(sHdrInfo+"/acptnm"));
  673. // model.makeValue("/root/prnt/testrslt/orddeptnm", model.getValue(sHdrInfo+"/orddeptnm"));
  674. model.makeValue("/root/prnt/testrslt/orddrnm", model.getValue(sHdrInfo+"/orddrnm"));
  675. model.makeValue("/root/prnt/testrslt/wardroom", model.getValue(sHdrInfo+"/wardnm"));
  676. model.makeValue("/root/prnt/testrslt/testnmlist", model.getValue(sHdrInfo+"/testnmlist"));
  677. model.makeValue("/root/prnt/testrslt/detlspcnm", sDetlSpcNm);
  678. model.makeValue("/root/prnt/testrslt/cfnm", model.getValue(sHdrInfo+"/cfnm"));
  679. model.makeValue("/root/prnt/testrslt/acptnm", model.getValue(sHdrInfo+"/acptnm"));
  680. model.makeValue("/root/prnt/testrslt/grosdrnm", model.getValue(sHdrInfo+"/grosdrnm"));
  681. model.makeValue("/root/prnt/testrslt/oproomcd", model.getValue(sHdrInfo+"/oproomcd"));
  682. model.makeValue("/root/prnt/testrslt/orgpatnm", model.getValue(sHdrInfo+"/patnm"));
  683. model.makeValue("/root/prnt/testrslt/orgpid", model.getValue(sHdrInfo+"/pid"));
  684. model.makeValue("/root/prnt/testrslt/mcode", model.getValue(sHdrInfo+"/mcode"));
  685. model.makeValue("/root/prnt/testrslt/sepoprtnexmp1", model.getValue(sHdrInfo+"/sepoprtnexmp1")); // 부인과세포예문
  686. model.makeValue("/root/prnt/testrslt/sepoprtnexmp3", model.getValue(sHdrInfo+"/sepoprtnexmp3")); // 분자의뢰서예문
  687. model.makeValue("/root/prnt/testrslt/termengnm", model.getValue(sHdrInfo+"/termengnm")); // 수술명
  688. model.makeValue("/root/prnt/testrslt/humspecnm", model.getValue(sHdrInfo+"/humspecnm")); // 인종
  689. model.makeValue("/root/prnt/testrslt/delivedt", model.getValue(sHdrInfo+"/delivedt") + " " + model.getValue(sHdrInfo+"/delivenm")); //채취일시
  690. /* ******************************
  691. * 2010-09-30 : YDC
  692. * 비부인과 예문과 세침흡인 예문을 분리
  693. */
  694. // alert(model.getValue(sHdrInfo+"/spccd"));
  695. if ( model.getValue(sHdrInfo+"/statsworkflagcd") == "1023") {
  696. //------------------------
  697. var bSpcCD_Find = false;
  698. for ( var iNo=1; iNo <= getNodesetCount("/root/init/spccd/resncdlist"); iNo++) {
  699. //------------------------------------------------------------------------------------------------------------
  700. if ( model.getValue("/root/init/spccd/resncdlist["+iNo+"]/resncnts") == model.getValue(sHdrInfo+"/spccd") ) {
  701. bSpcCD_Find = true;
  702. // alert(model.getValue(sHdrInfo+"/spccd"));
  703. break;
  704. }
  705. }
  706. //-----------------
  707. if (bSpcCD_Find) {
  708. model.makeValue("/root/prnt/testrslt/sepoprtnexmp2", model.getValue(sHdrInfo+"/sepoprtnexmp5")); // 세침흡인(Thyroid) 예문
  709. } else {
  710. model.makeValue("/root/prnt/testrslt/sepoprtnexmp2", model.getValue(sHdrInfo+"/sepoprtnexmp4")); // 세침흡인(Thyroid외) 예문
  711. }
  712. } else {
  713. model.makeValue("/root/prnt/testrslt/sepoprtnexmp2", model.getValue(sHdrInfo+"/sepoprtnexmp2")); // 비부인과세포예문
  714. }
  715. if (model.getValue("/root/main/prntinfo/rslthdrinfo/readdrnm") != "") {
  716. model.makeValue("/root/prnt/testrslt/readdt", model.getValue("/root/main/prntinfo/rslthdrinfo/readdt") +
  717. " " + model.getValue("/root/main/prntinfo/rslthdrinfo/readdrnm"));
  718. } else {
  719. model.makeValue("/root/prnt/testrslt/readdt", model.getValue("/root/main/prntinfo/rslthdrinfo/readdt"));
  720. }
  721. //---------------------
  722. // 세포 1차 진단일 설정
  723. if (sCellDiagNm1 == "") {
  724. model.makeValue("/root/prnt/testrslt/celldiagdt", sCellDiag2 + " [" + sCellDiagNm2 + "]");
  725. } else {
  726. model.makeValue("/root/prnt/testrslt/celldiagdt", sCellDiag1 + " " + sCellDiagNm1);
  727. model.makeValue("/root/prnt/testrslt/celldiag1", model.getValue("/root/prnt/testrslt/celldiagdt"));
  728. }
  729. //----------------------
  730. // 임상정보의 RT/LT 검색
  731. if (instance1.selectSingleNode(sHdrInfo+"/reqcnts/reqfrminfo/spcsite") == null) {
  732. model.makeValue("/root/prnt/testrslt/spcnm", model.getValue(sHdrInfo+"/spcnm"));
  733. } else if (model.getValue(sHdrInfo+"/reqcnts/reqfrminfo/spcsite") == "0") {
  734. model.makeValue("/root/prnt/testrslt/spcnm", model.getValue(sHdrInfo+"/spcnm") + "(RT)");
  735. } else if (model.getValue(sHdrInfo+"/reqcnts/reqfrminfo/spcsite") == "1") {
  736. model.makeValue("/root/prnt/testrslt/spcnm", model.getValue(sHdrInfo+"/spcnm") + "(LT)");
  737. } else {
  738. model.makeValue("/root/prnt/testrslt/spcnm", model.getValue(sHdrInfo+"/spcnm"));
  739. }
  740. model.makeValue("/root/prnt/testrslt/sepo01", "0");
  741. model.makeValue("/root/prnt/testrslt/sepo02", "0");
  742. model.makeValue("/root/prnt/testrslt/sepo03", "0");
  743. model.makeValue("/root/prnt/testrslt/sepo04", "0");
  744. model.makeValue("/root/prnt/testrslt/sepo05", "0");
  745. model.makeValue("/root/prnt/testrslt/sepo06", "0");
  746. model.makeValue("/root/prnt/testrslt/sepo07", "0");
  747. model.makeValue("/root/prnt/testrslt/sepo08", "0");
  748. model.makeValue("/root/prnt/testrslt/sepo09", "0");
  749. model.makeValue("/root/prnt/testrslt/sepo10", "0");
  750. model.makeValue("/root/prnt/testrslt/sepo11", "");
  751. //-----------------------------------------------------------
  752. if (model.getValue(sHdrInfo+"/statsworkflagcd") == "1021") {
  753. sTemp = model.getValue(sHdrInfo+"/reqcnts/reqfrminfo/inptitem02");
  754. aInptItem2 = sTemp.split(" ");
  755. //-----------------------------------------------------------
  756. for (var iItemNo=0; iItemNo < aInptItem2.length; iItemNo++) {
  757. if (aInptItem2[iItemNo].getTrim() == "") {
  758. // Continue
  759. } else {
  760. switch (aInptItem2[iItemNo]) {
  761. case "0" :
  762. if(iCepoCount != 0) sCepoString += ", ";
  763. sCepoString += "Routine Check";
  764. iCepoCount++;
  765. break;
  766. case "1" : model.makeValue("/root/prnt/testrslt/sepo02", "1");
  767. if(iCepoCount != 0) sCepoString += ", ";
  768. sCepoString += "Hormone Therapy";
  769. iCepoCount++;
  770. break;
  771. case "2" : model.makeValue("/root/prnt/testrslt/sepo03", "1");
  772. if(iCepoCount != 0) sCepoString += ", ";
  773. sCepoString += "Pregnancy";
  774. iCepoCount++;
  775. break;
  776. case "3" : model.makeValue("/root/prnt/testrslt/sepo04", "1");
  777. if(iCepoCount != 0) sCepoString += ", ";
  778. sCepoString += "Hx. of Gyn surgery";
  779. iCepoCount++;
  780. break;
  781. case "4" : model.makeValue("/root/prnt/testrslt/sepo05", "1");
  782. if(iCepoCount != 0) sCepoString += ", ";
  783. sCepoString += "Chemotherapy";
  784. iCepoCount++;
  785. break;
  786. case "5" : model.makeValue("/root/prnt/testrslt/sepo06", "1");
  787. if(iCepoCount != 0) sCepoString += ", ";
  788. sCepoString += "Postparturm";
  789. iCepoCount++;
  790. break;
  791. case "6" : model.makeValue("/root/prnt/testrslt/sepo07", "1");
  792. if(iCepoCount != 0) sCepoString += ", ";
  793. sCepoString += "Hx. of Abnormal PAP smear";
  794. iCepoCount++;
  795. break;
  796. case "7" : model.makeValue("/root/prnt/testrslt/sepo08", "1");
  797. if(iCepoCount != 0) sCepoString += ", ";
  798. sCepoString += "Radiation Therapy";
  799. iCepoCount++;
  800. break;
  801. case "8" : model.makeValue("/root/prnt/testrslt/sepo09", "1");
  802. if(iCepoCount != 0) sCepoString += ", ";
  803. sCepoString += "Vaginal bleeding";
  804. iCepoCount++;
  805. break;
  806. case "9" : model.makeValue("/root/prnt/testrslt/sepo10", "1");
  807. if(iCepoCount != 0) sCepoString += ", ";
  808. sCepoString += "Menopause" + "(" + model.getValue(sHdrInfo+"/reqcnts/reqfrminfo/inptitem03") + ")";
  809. iCepoCount++;
  810. break;
  811. //임상정보 및 요구사항 항목을 전체 다 보여주고 선택 된것은 체크 박스로 구분.
  812. /*
  813. case "0" : model.makeValue("/root/prnt/testrslt/sepo01", "1");
  814. break;
  815. case "1" : model.makeValue("/root/prnt/testrslt/sepo02", "1");
  816. break;
  817. case "2" : model.makeValue("/root/prnt/testrslt/sepo03", "1");
  818. break;
  819. case "3" : model.makeValue("/root/prnt/testrslt/sepo04", "1");
  820. break;
  821. case "4" : model.makeValue("/root/prnt/testrslt/sepo05", "1");
  822. break;
  823. case "5" : model.makeValue("/root/prnt/testrslt/sepo06", "1");
  824. break;
  825. case "6" : model.makeValue("/root/prnt/testrslt/sepo07", "1");
  826. break;
  827. case "7" : model.makeValue("/root/prnt/testrslt/sepo08", "1");
  828. break;
  829. case "8" : model.makeValue("/root/prnt/testrslt/sepo09", "1");
  830. break;
  831. case "9" : model.makeValue("/root/prnt/testrslt/sepo10", "1");
  832. model.makeValue("/root/prnt/testrslt/sepo10", model.getValue(sHdrInfo+"/reqcnts/reqfrminfo/inptitem03"));
  833. break;
  834. */
  835. }
  836. }
  837. }
  838. }
  839. model.makeValue("/root/prnt/testrslt/sepo01", sCepoString);
  840. model.makeValue("/root/prnt/testrslt/inptnm", model.getValue("/root/main/prntinfo/rslthdrinfo/inptnm"));
  841. //model.makeValue("/root/prnt/testrslt/readdt", model.getValue("/root/main/prntinfo/rslthdrinfo/readdt"));
  842. model.makeValue("/root/prnt/testrslt/readdrnm", model.getValue("/root/main/prntinfo/rslthdrinfo/readdrnm"));
  843. model.makeValue("/root/prnt/testrslt/opnm", "-");
  844. model.makeValue("/root/prnt/testrslt/dschdt", "-");
  845. // model.makeValue("/root/prnt/testrslt/chrgdrnm", "-");
  846. model.makeValue("/root/prnt/testrslt/repttitl", model.getValue("/root/init/hospenv/hospenvinfo/repttitl"));
  847. model.makeValue("/root/prnt/testrslt/diagcnts", model.getValue(sDiagInfo+"/termengnm"));
  848. model.makeValue("/root/prnt/testrslt/title1", sTitle1);
  849. model.makeValue("/root/prnt/testrslt/title2", sTitle2);
  850. model.makeValue("/root/prnt/testrslt/copyflagcd", model.getValue("/root/temp/copyflagcd")); // 의뢰지/보고서(0), 복사본(1)
  851. model.makeValue("/root/prnt/testrslt/reptkindcd", sReptKind); // J:의뢰지, R:보고서
  852. model.makeValue("/root/prnt/testrslt/reptflagcd", sDetlKind); // S:조직, C:세포
  853. model.makeValue("/root/prnt/testrslt/workflagcd", sWorkFlag); // G:부인과, N:비부인과, 세침흡인 ---> 세포인 경우만
  854. model.makeValue("/root/prnt/testrslt/fstexamstate", sFstexamState); //현병력 여부
  855. model.makeValue("/root/prnt/testrslt/recdiagstate", sRecDiagState); //내시경 진단
  856. model.makeValue("/root/prnt/testrslt/rsltstate1", sRsltState1);
  857. model.makeValue("/root/prnt/testrslt/rsltstate2", sRsltState2);
  858. model.makeValue("/root/prnt/testrslt/rsltstate3", sRsltState3);
  859. model.makeValue("/root/prnt/testrslt/rsltstate4", sRsltState4);
  860. model.makeValue("/root/prnt/testrslt/rsltstate5", sRsltState5);
  861. model.makeValue("/root/prnt/testrslt/readnm1", "");
  862. model.makeValue("/root/prnt/testrslt/readnm2", "");
  863. model.makeValue("/root/prnt/testrslt/readnm3", "");
  864. model.makeValue("/root/prnt/testrslt/keybloc", model.getValue("/root/main/prntinfo/headerinfo/keybloc"));
  865. model.makeValue("/root/prnt/testrslt/tissbloct", model.getValue("/root/main/prntinfo/headerinfo/tissbloct"));
  866. model.makeValue("/root/prnt/testrslt/tissblocnt", model.getValue("/root/main/prntinfo/headerinfo/tissblocnt"));
  867. model.makeValue("/root/prnt/testrslt/cstecnt", model.getValue("/root/main/prntinfo/headerinfo/cstecnt"));
  868. model.makeValue("/root/prnt/testrslt/slidecnt", model.getValue("/root/main/prntinfo/headerinfo/slidcnt"));
  869. //--------------------------------------------------------------------
  870. if (model.getValue("/root/main/prntinfo/headerinfo/grospic") == "1") {
  871. model.makeValue("/root/prnt/testrslt/grospic", "1");
  872. } else {
  873. model.makeValue("/root/prnt/testrslt/grospic", "0");
  874. }
  875. if (Number(model.getValue("/root/main/prntinfo/headerinfo/cstecnt")) == 0) {
  876. model.makeValue("/root/prnt/testrslt/cstestate", "0");
  877. } else {
  878. model.makeValue("/root/prnt/testrslt/cstestate", "1");
  879. }
  880. if (Number(model.getValue("/root/main/prntinfo/headerinfo/tissbank")) == 0) {
  881. model.makeValue("/root/prnt/testrslt/tissbank", "0");
  882. } else {
  883. model.makeValue("/root/prnt/testrslt/tissbank", "1");
  884. }
  885. if (model.getValue("/root/main/prntinfo/headerinfo/keybloc") == "") {
  886. model.makeValue("/root/prnt/testrslt/keyblocstate", "0");
  887. } else {
  888. model.makeValue("/root/prnt/testrslt/keyblocstate", "1");
  889. }
  890. //---------------
  891. sEtcFlagCd == "";
  892. //-------------
  893. // 육안사진
  894. if (model.getValue(sHdrInfo+"/grospic") == "1") {
  895. sEtcFlagCd += "육안사진촬영";
  896. }
  897. //-------------
  898. // 관심증례여부
  899. if (model.getValue(sHdrInfo+"/conccaseflagcd") == "1") {
  900. //----------------------
  901. if (sEtcFlagCd != "") {
  902. sEtcFlagCd += " / " + "관심증례";
  903. } else {
  904. sEtcFlagCd += "관심증례";
  905. }
  906. }
  907. //-------------
  908. // 검체보관여부
  909. if(sReptKind == "R") {
  910. if (model.getValue(sHdrInfo+"/spckeepflagcd") == "1") {
  911. //----------------------
  912. if (sEtcFlagCd != "") {
  913. sEtcFlagCd += " / " + "검체보관";
  914. } else {
  915. sEtcFlagCd += "검체보관";
  916. }
  917. }
  918. }
  919. //---------------
  920. // 결과숨기기여부
  921. if (model.getValue(sHdrInfo+"/rslthideflagcd") == "1") {
  922. //----------------------
  923. if (sEtcFlagCd != "") {
  924. sEtcFlagCd += " / " + "결과숨기기";
  925. } else {
  926. sEtcFlagCd += "결과숨기기";
  927. }
  928. }
  929. //------------------
  930. // 예비결과 표시여부
  931. if (model.getValue(sHdrInfo+"/preprsltflagcd") == "1") {
  932. //----------------------
  933. if (sEtcFlagCd != "") {
  934. sEtcFlagCd += " / " + "추정소견";
  935. } else {
  936. sEtcFlagCd += "추정소견";
  937. }
  938. }
  939. //------------------
  940. // 긴급알림 표시여부
  941. if (model.getValue(sHdrInfo+"/ugcyalertflagcd") == "1") {
  942. //----------------------
  943. if (sEtcFlagCd != "") {
  944. sEtcFlagCd += " / " + "긴급알림";
  945. } else {
  946. sEtcFlagCd += "긴급알림";
  947. }
  948. }
  949. //----------------------------------------------------
  950. sResnCnts = model.getValue(sHdrInfo+"/spcnm") + ", ";
  951. sResnCnts += model.getValue(sHdrInfo+"/testnmlist") + ", ";
  952. sResnCnts += model.getValue(sHdrInfo+"/mcont");
  953. model.makeValue("/root/init/seporesn1/seporesninfo/title", sResnCnts);
  954. model.makeValue("/root/init/seporesn4/seporesninfo/title", sResnCnts);
  955. //-------------------------------------------------
  956. model.makeNode("/root/prnt/seporesn/seporesninfo");
  957. if (sDetlKind == "1") {
  958. copyNodesetType("/root/prnt/seporesn/seporesninfo", "/root/init/seporesn1/seporesninfo");
  959. } else if (sDetlKind == "2") {
  960. copyNodesetType("/root/prnt/seporesn/seporesninfo", "/root/init/seporesn4/seporesninfo");
  961. }
  962. //-----------------------
  963. // 2차 결과가 존재시 처리
  964. if (model.getValue(sHdrInfo+"/rsltcnts2") != "") {
  965. model.makeNode("/root/prnt/seporesn2/seporesninfo");
  966. //---------------------
  967. if (sDetlKind == "1") {
  968. copyNodesetType("/root/prnt/seporesn2/seporesninfo", "/root/init/seporesn1/seporesninfo");
  969. model.makeValue("/root/init/seporesn2/seporesninfo/title", sResnCnts);
  970. } else if (sDetlKind == "2") {
  971. copyNodesetType("/root/prnt/seporesn2/seporesninfo", "/root/init/seporesn4/seporesninfo");
  972. }
  973. }
  974. //---------------------------------------------------------
  975. for (var iNo=1; iNo <= getNodesetCount(sReadList); iNo++) {
  976. if (model.getValue(sReadList+"["+iNo+"]/rgstdg") == "1") {
  977. model.makeValue("/root/prnt/testrslt/readnm1", model.getValue(sReadList+"["+iNo+"]/usernmlist"));
  978. } else if (model.getValue(sReadList+"["+iNo+"]/rgstdg") == "2") {
  979. model.makeValue("/root/prnt/testrslt/readnm2", model.getValue(sReadList+"["+iNo+"]/usernmlist"));
  980. } else {
  981. model.makeValue("/root/prnt/testrslt/readnm3", model.getValue(sReadList+"["+iNo+"]/usernmlist"));
  982. }
  983. }
  984. //-----------------------------------
  985. // 임상정보 및 소견내용 출력노드 생성
  986. fExeMakeRow(sHdrInfo+"/reqcnts/reqfrminfo/reqcnts", "reqcnts", "reqcntslist", "임상정보 및 요구사항");
  987. fExeMakeRow("/root/main/prntinfo/headerinfo/cmtcnts", "cmtcnts", "cmtcntslist", "COMMENT");
  988. //----------------------------
  989. // 관련 병리번호 출력노드 생성
  990. model.makeNode("/root/main/testrslt/relaptnolist");
  991. copyNodesetType("/root/main/testrslt/relaptnolist", sRelaList);
  992. for (var iNo=1; iNo <= getNodesetCount(sRelaList); iNo++) {
  993. model.makeValue("/root/main/testrslt/relaptnolist["+iNo+"]/title", "관련병리검사");
  994. sRelaPtNo = "1";
  995. }
  996. //----------------------------------------
  997. // 이전 병리번호 및 최종진단 출력노드 생성
  998. model.makeNode("/root/main/testrslt/bfptnolist");
  999. if (model.getValue("/root/temp/reptflagcd") == "0") {
  1000. copyNodesetType("/root/main/testrslt/bfptnolist", sBfList);
  1001. } else {
  1002. copyNodesetType("/root/main/testrslt/bfptnolist", sBfHoriList);
  1003. }
  1004. //-----------------------------------------
  1005. // 분자병리 High/Low 검사결과 출력노드 생성
  1006. model.makeNode(sPrntMoleHLPath);
  1007. copyNodesetType(sPrntMoleHLPath, sMoleHLList);
  1008. if (getNodesetCount(sMoleHLList) > 0) {
  1009. sMoleHLState = "1";
  1010. }
  1011. //검사결과이미지
  1012. if(getNodesetCount(sRsltImgList) > 0) {
  1013. sRsltImgState = "1";
  1014. }
  1015. //----------------------------------
  1016. // 전자현미경 검사결과 출력노드 생성
  1017. model.makeNode(sPrntElecPath);
  1018. copyNodesetType(sPrntElecPath, sElecList);
  1019. //fExeMakeRow(sElecList+"/testrslt", "electest", "electestlist", "Electron Microscopy");
  1020. if (getNodesetCount(sElecList) > 0) sElecState = "1";
  1021. //-------------------------------------
  1022. // 특수/면역염색 검사결과 출력노드 생성
  1023. model.makeNode("/root/main/testrslt/staintestlist");
  1024. copyNodesetType("/root/main/testrslt/staintestlist", sStainList);
  1025. if (getNodesetCount(sStainList) > 0) {
  1026. sStainState = "1";
  1027. }
  1028. //-------------------------------------------
  1029. // 면역형광 검사결과가 관련검사로 존재할 경우
  1030. if (sIFTitle == "") {
  1031. if (getNodesetCount(sIFNode) > 0) {
  1032. //-------------------------------------------------
  1033. if (model.getValue(sIFNode+"/rsltcnts2") == "0") {
  1034. sIFTitle = "Kidney";
  1035. sIFState = "K";
  1036. model.makeValue(sIFNode + "/iftitle", "Kidney");
  1037. model.makeValue(sIFNode + "/ifstate", "K");
  1038. } else if (model.getValue(sIFNode+"/rsltcnts2") == "1") {
  1039. sIFTitle = "Skin";
  1040. sIFState = "S";
  1041. model.makeValue(sIFNode + "/iftitle", "Skin");
  1042. model.makeValue(sIFNode + "/ifstate", "S");
  1043. }
  1044. }
  1045. }
  1046. /*
  1047. //-------------------------------------------
  1048. // 세포결과 보고서 출력일 경우 예문 노드 생성
  1049. if (sReptKind == "2") {
  1050. fResnChange();
  1051. }
  1052. */
  1053. //-------------------------
  1054. // 추가결과의 존재여부 검사
  1055. if (getNodesetCount("/root/main/prntinfo/addrsltlist") > 0) sAddRsltState = "1";
  1056. //---------------------
  1057. if (sEtcFlagCd != "") {
  1058. model.makeValue("/root/prnt/testrslt/etcstate", "1");
  1059. } else {
  1060. model.makeValue("/root/prnt/testrslt/etcstate", "0");
  1061. }
  1062. //------------------------------------------------------------
  1063. model.makeValue("/root/prnt/testrslt/iftitle", sIFTitle);
  1064. model.makeValue("/root/prnt/testrslt/ifstate", sIFState);
  1065. model.makeValue("/root/prnt/testrslt/elecstate", sElecState);
  1066. model.makeValue("/root/prnt/testrslt/molestate", sMoleHLState);
  1067. model.makeValue("/root/prnt/testrslt/stainstate", sStainState);
  1068. model.makeValue("/root/prnt/testrslt/relaptno", sRelaPtNo);
  1069. model.makeValue("/root/prnt/testrslt/frznstate", sFroznState);
  1070. model.makeValue("/root/prnt/testrslt/addrsltstate", sAddRsltState);
  1071. model.makeValue("/root/prnt/testrslt/etcflagcd", sEtcFlagCd);
  1072. model.makeValue("/root/prnt/testrslt/prntrnm", getUserInfo("usernm"));
  1073. model.makeValue("/root/prnt/testrslt/rsltimgstate", sRsltImgState);
  1074. model.makeValue("/root/prnt/testrslt/reqcntschoi", model.getValue("/root/prnt/reqcnts/reqcntslist/cnts")); //의뢰지 상의 임상정보및요구사항 중 외쪽 선택 항목
  1075. model.makeValue("/root/prnt/testrslt/reqcntschoi2", model.getValue("/root/prnt/reqcnts/reqcntslist/cnts2")); //분자의뢰지 상의 임상정보및요구사항
  1076. //------------------------------------------
  1077. // 세포결과예문의 true(0), false(1)으로 변환
  1078. if (sReptKind == "2") {
  1079. if (sDetlKind == "1") {
  1080. iEndNo = 24;
  1081. } else if (sDetlKind == "2") {
  1082. iEndNo = 6;
  1083. } else {
  1084. iEndNo = 0;
  1085. }
  1086. } else {
  1087. iEndNo = 0;
  1088. }
  1089. //-------------------------------------------------------------------
  1090. model.makeValue("/root/prnt/seporesn/seporesninfo/title", sResnCnts);
  1091. //----------------------
  1092. // 문자(▨)를 ","로 변경
  1093. for (var iNo=1; iNo <= getNodesetCount("/root/main/testrslt/relaptnolist"); iNo++) {
  1094. sTemp = model.getValue("/root/main/testrslt/relaptnolist["+iNo+"]/testnmlist");
  1095. //--------------------------
  1096. if (sTemp.getTrim() != "") {
  1097. sTemp = sTemp.replace(re, ", ");
  1098. model.makeValue("/root/main/testrslt/relaptnolist["+iNo+"]/testnmlist", sTemp);
  1099. }
  1100. }
  1101. for (var iNo=1; iNo <= getNodesetCount("/root/main/testrslt/bfptnolist"); iNo++) {
  1102. sTemp = model.getValue("/root/main/testrslt/bfptnolist["+iNo+"]/dispptno");
  1103. sTemp = sTemp.replace(re, ", ");
  1104. model.makeValue("/root/main/testrslt/bfptnolist["+iNo+"]/dispptno", sTemp);
  1105. }
  1106. }
  1107. /* @group : 보고서출력
  1108. * @ver : 2007.09.07 (CMCDEV-0001)
  1109. * @by : 유동철(ACK)
  1110. * @-----------------------------------
  1111. * @type : function
  1112. * @access : public
  1113. * @desc : 결과내용을 노드로 생성 처리 Function
  1114. */
  1115. function fExeMakeRow(pSrcNode, pDescNm1, pDescNm2, pTitle) {
  1116. var iSNo = 0;
  1117. var iENo = 0;
  1118. var iRowNo = 0;
  1119. var sRsltCnts = model.getValue(pSrcNode);
  1120. var aCnts = new Array();
  1121. var aCntList = sRsltCnts.split("\n");
  1122. var bState = false;
  1123. //---------------------------------------------
  1124. for (var iNo=0; iNo < aCntList.length; iNo++) {
  1125. //-----
  1126. iSNo=0;
  1127. iENo=0;
  1128. do {
  1129. //----------
  1130. iENo += 120;
  1131. aCnts[iRowNo] = aCntList[iNo].substr(iSNo, 120);
  1132. //--------------------------------
  1133. if (aCntList[iNo].length > iENo) {
  1134. bState = false;
  1135. } else {
  1136. bState = true;
  1137. }
  1138. //----------
  1139. iSNo = iENo;
  1140. iRowNo++;
  1141. } while (bState == false);
  1142. }
  1143. //------------------------------------------
  1144. model.removeNodeset("/root/prnt/"+pDescNm1);
  1145. //-----------------------------------
  1146. iSNo = Number(0);
  1147. if (model.getValue(pSrcNode) != "") {
  1148. model.makeNode("/root/prnt");
  1149. model.makeNode("/root/prnt/"+pDescNm1);
  1150. model.makeNode("/root/prnt/"+pDescNm1+"/"+pDescNm2);
  1151. //------------------------------
  1152. if (pDescNm2 == "reqcntslist") {
  1153. if (instance1.selectSingleNode("/root/main/prntinfo/headerinfo/reqcnts/reqfrminfo/resncd") == null) {
  1154. iSNo = 0;
  1155. } else {
  1156. for (var iNo=1; iNo <= 4; iNo++) {
  1157. if (model.getValue("/root/main/prntinfo/headerinfo/reqcnts/reqfrminfo/resncd/resncdlist["+iNo+"]/choi") == "true") {
  1158. model.makeValue("/root/prnt/"+pDescNm1+"/"+pDescNm2+"[1]/cnts", "R/O " + model.getValue("/root/main/prntinfo/headerinfo/reqcnts/reqfrminfo/resncd/resncdlist["+iNo+"]/resnnm"), true);
  1159. model.makeValue("/root/prnt/"+pDescNm1+"/"+pDescNm2+"[1]/title", pTitle, true);
  1160. iSNo = 1;
  1161. }
  1162. }
  1163. }
  1164. }
  1165. //------------------------------------------
  1166. for (var iNo=0; iNo < aCnts.length; iNo++) {
  1167. if(pDescNm2 == "reqcntslist") {
  1168. model.makeValue("/root/prnt/"+pDescNm1+"/"+pDescNm2+"["+ (Number(iNo) + 1) +"]/cnts2", aCnts[iNo], true);
  1169. model.makeValue("/root/prnt/"+pDescNm1+"/"+pDescNm2+"["+ (Number(iNo) + 1) +"]/title", pTitle, true);
  1170. } else {
  1171. //if (aCnts[iNo] != "") {
  1172. model.makeValue("/root/prnt/"+pDescNm1+"/"+pDescNm2+"["+(Number(iNo)+1+Number(iSNo)) +"]/cnts", aCnts[iNo], true);
  1173. model.makeValue("/root/prnt/"+pDescNm1+"/"+pDescNm2+"["+(Number(iNo)+1+Number(iSNo)) +"]/title", pTitle, true);
  1174. //}
  1175. }
  1176. }
  1177. } else {
  1178. //------------------------------
  1179. if (pDescNm2 == "reqcntslist") {
  1180. if (instance1.selectSingleNode("/root/main/prntinfo/headerinfo/reqcnts/reqfrminfo/resncd") == null) {
  1181. iSNo = 0;
  1182. } else {
  1183. for (var iNo=1; iNo <= 4; iNo++) {
  1184. if (model.getValue("/root/main/prntinfo/headerinfo/reqcnts/reqfrminfo/resncd/resncdlist["+iNo+"]/choi") == "true") {
  1185. model.makeValue("/root/prnt/"+pDescNm1+"/"+pDescNm2+"[1]/cnts", model.getValue("/root/main/prntinfo/headerinfo/reqcnts/reqfrminfo/resncd/resncdlist["+iNo+"]/resnnm"), true);
  1186. model.makeValue("/root/prnt/"+pDescNm1+"/"+pDescNm2+"[1]/title", pTitle, true);
  1187. iSNo = 1;
  1188. }
  1189. }
  1190. }
  1191. }
  1192. }
  1193. }
  1194. /* @group : 보고서출력
  1195. * @ver : 2008.09.30 (CMCDEV-0001)
  1196. * @by : 유동철(ACK)
  1197. * @-----------------------------------
  1198. * @type : function
  1199. * @access : public
  1200. * @desc : 결과내용을 노드로 생성 처리 Function
  1201. */
  1202. function fExeMakeRow2(pSrcNode, pDescNm1, pDescNm2, pTitle) {
  1203. var iSNo = 0;
  1204. var iENo = 0;
  1205. var iRowNo = 0;
  1206. var sRsltCnts = model.getValue(pSrcNode);
  1207. var aCnts = new Array();
  1208. var aCntList = sRsltCnts.split("\n");
  1209. var bState = false;
  1210. //---------------------------------------------
  1211. for (var iNo=0; iNo < aCntList.length; iNo++) {
  1212. //-----
  1213. iSNo=0;
  1214. iENo=0;
  1215. do {
  1216. //----------
  1217. iENo += 120;
  1218. aCnts[iRowNo] = aCntList[iNo].substr(iSNo, 120);
  1219. //--------------------------------
  1220. if (aCntList[iNo].length > iENo) {
  1221. bState = false;
  1222. } else {
  1223. bState = true;
  1224. }
  1225. //----------
  1226. iSNo = iENo;
  1227. iRowNo++;
  1228. } while (bState == false);
  1229. }
  1230. //---------------
  1231. iSNo = Number(0);
  1232. if (model.getValue(pSrcNode) != "") {
  1233. //----------------------------------------------------
  1234. var nodeNn = instance1.selectSingleNode("/root/prnt");
  1235. if (nodeNn == null) model.makeNode("/root/prnt");
  1236. //--------------------------------------------------------------
  1237. var nodeNn = instance1.selectSingleNode("/root/prnt/"+pDescNm1);
  1238. if (nodeNn == null) model.makeNode("/root/prnt/"+pDescNm1);
  1239. //---------------------------------------------------------------------------
  1240. var nodeNn = instance1.selectSingleNode("/root/prnt/"+pDescNm1+"/"+pDescNm2);
  1241. if (nodeNn == null) model.makeNode("/root/prnt/"+pDescNm1+"/"+pDescNm2);
  1242. //------------------------------------------
  1243. for (var iNo=0; iNo < aCnts.length; iNo++) {
  1244. model.makeValue("/root/prnt/"+pDescNm1+"/"+pDescNm2+"["+(Number(iNo)+1+Number(iSNo)) +"]/cnts", aCnts[iNo], true);
  1245. model.makeValue("/root/prnt/"+pDescNm1+"/"+pDescNm2+"["+(Number(iNo)+1+Number(iSNo)) +"]/title", pTitle, true);
  1246. }
  1247. }
  1248. }
  1249. /* @group : 보고서출력
  1250. * @ver : 2007.09.07 (CMCDEV-0001)
  1251. * @by : 유동철(ACK)
  1252. * @-----------------------------------
  1253. * @type : function
  1254. * @access : public
  1255. * @desc : 세포예문 노드 생성 처리 Function
  1256. */
  1257. function fResnChange() {
  1258. var sResnNode = "<?xml version='1.0' encoding='euc-kr'?>";
  1259. var sCnts = "";
  1260. //---------------------------------------------------------------------
  1261. if (model.getValue("/root/main/prntinfo/headerinfo/rsltcnts1") != "") {
  1262. sCnts = sResnNode + "<root>"+model.getValue("/root/main/prntinfo/headerinfo/rsltcnts4")+"</root>";
  1263. iviewer1.window.instance1.loadXML(sCnts);
  1264. model.copyNode(root.prnt.seporesn, iviewer1.window.instance1.selectSingleNode("/root"));
  1265. }
  1266. //---------------------------------------------------------------------
  1267. if (model.getValue("/root/main/prntinfo/headerinfo/rsltcnts2") != "") {
  1268. sCnts = sResnNode + "<root>"+model.getValue("/root/main/prntinfo/headerinfo/rsltcnts5")+"</root>";
  1269. iviewer1.window.instance1.loadXML(sCnts);
  1270. model.copyNode(root.prnt.seporesn2, iviewer1.window.instance1.selectSingleNode("/root"));
  1271. }
  1272. }
  1273. /* @group : 보고서출력
  1274. * @ver : 2007.09.07 (CMCDEV-0001)
  1275. * @by : 유동철(ACK)
  1276. * @-----------------------------------
  1277. * @type : function
  1278. * @access : public
  1279. * @desc : 분자보고서 별도 출력
  1280. */
  1281. function fprtnmolereport() {
  1282. var sHdrInfo = "/root/hidden/headerinfo";
  1283. var sRsltHdrInfo = "/root/hidden/rslthdrinfo";
  1284. //if(model.getValue("/root/init/refval") == "" && model.getValue("/root/init/ptnocode") != "-" && model.getValue("/root/init/ptnocode") != "") {
  1285. model.removenode("/root/hidden/prtninfo");
  1286. model.removenode("/root/hidden/diaginfo");
  1287. model.removenode("/root/hidden/headerinfo");
  1288. model.removenode("/root/hidden/rslthdrinfo");
  1289. model.removenode("/root/hidden/imginfo");
  1290. //----------------------------------------------------------------------
  1291. model.makeValue("/root/send/reqpatinfo/instcd", getUserInfo("dutplceinstcd"));
  1292. model.makeValue("/root/send/reqpatinfo/ptno", model.getValue("/root/temp/ptno"));
  1293. model.makeValue("/root/send/reqpatinfo/acptdd", model.getValue("/root/temp/acptdd"));
  1294. //model.makeNode("/root/hidden/prtninfo");
  1295. //-------------------
  1296. if(submit("TRLPP02002")) {
  1297. model.makeValue("/root/hidden/prtninfo/ptno", model.getValue(sHdrInfo+"/ptno"));
  1298. model.makeValue("/root/hidden/prtninfo/pid", model.getValue(sHdrInfo+"/pid"));
  1299. model.makeValue("/root/hidden/prtninfo/patnm", model.getValue(sHdrInfo+"/patnm"));
  1300. model.makeValue("/root/hidden/prtninfo/sexage", model.getValue(sHdrInfo+"/sexage"));
  1301. //model.makeValue("/root/hidden/prtninfo/relaptno", model.getValue(sHdrInfo+"/relaptno"));
  1302. model.makeValue("/root/hidden/prtninfo/hospnm", model.getValue(sHdrInfo+"/hospnm"));
  1303. model.makeValue("/root/hidden/prtninfo/orddeptnm", model.getValue(sHdrInfo+"/orddeptnm"));
  1304. model.makeValue("/root/hidden/prtninfo/dispptno", model.getValue(sHdrInfo+"/dispptno"));
  1305. //model.makeValue("/root/hidden/prtninfo/disprelaptno", model.getValue(sHdrInfo+"/disprelaptno"));
  1306. //model.makeValue("/root/hidden/prtninfo/rsltimg", model.getValue("/root/main/imginfo/imginfolist/rsltimg"), true);
  1307. //model.makeNode("/root/hidden/imginfo");
  1308. //model.copyNode("/root/hidden/imginfo", "/root/main/imginfo");
  1309. for(var iimgcnt = 1 ; iimgcnt <= getNodesetCount("/root/hidden/imginfolist") ; iimgcnt++) {
  1310. model.makeNode("/root/hidden/imginfo/imginfolist["+ iimgcnt +"]/rsltimg");
  1311. model.setValue("/root/hidden/imginfo/imginfolist["+ iimgcnt +"]/rsltimg", model.getValue("/root/hidden/imginfolist["+ iimgcnt +"]/rsltimg"), true);
  1312. }
  1313. model.makeValue(sHdrInfo+"/patnm", model.getValue(sHdrInfo+"/patnm") + "["+model.getValue(sHdrInfo+"/sexage")+"]");
  1314. model.makeValue(sHdrInfo+"/rrgstno", (model.getValue(sHdrInfo+"/rrgstno")).substr(0, 8) + "xxxxxx");
  1315. model.makeValue(sHdrInfo+"/prcpdt", model.getValue(sHdrInfo+"/prcpdt") + " " + model.getValue(sHdrInfo+"/orddrnm"));
  1316. model.makeValue(sHdrInfo+"/acptdt", model.getValue(sHdrInfo+"/acptdt") + " " + model.getValue(sHdrInfo+"/acptnm"));
  1317. model.makeValue(sHdrInfo+"/grosdt", model.getValue(sHdrInfo+"/grosdt") + " " + model.getValue(sHdrInfo+"/grosdrnm"));
  1318. model.makeValue(sHdrInfo+"/delivedtnm", model.getValue(sHdrInfo+"/delivedt") + " " + model.getValue(sHdrInfo+"/delivenm")); //채취일시
  1319. model.makeValue(sRsltHdrInfo+"/inptdt", model.getValue(sRsltHdrInfo+"/inptdt") + " " + model.getValue(sRsltHdrInfo+"/inptnm"));
  1320. model.makeValue(sRsltHdrInfo+"/readdt", model.getValue(sRsltHdrInfo+"/readdt") + " " + model.getValue(sRsltHdrInfo+"/readdrnm"));
  1321. //model.makeValue("/root/hidden/prtninfo/cmtcnts", model.getValue(sHdrInfo+"cmtcnts"));
  1322. //exeReportPreview("RPLPP00700", "XMLSTR", "", "", "true", "", "", "", "", "false", "", "grp_prnt");
  1323. //재출력화면에서 일괄 출력할 경우 미리보기를 표시하지 않는다.
  1324. if (model.getValue("/root/temp/scrnid") == "SPLPJ01700") {
  1325. exeReportPreview("RPLPP00700", "XMLSTR", "", "", "true", "", "", "", "", "false", "", "grp_prnt");
  1326. } else {
  1327. exeReportPreview("RPLPP00700", "XMLSTR", "", "", "", "", "", "", "", "", "", "");
  1328. }
  1329. }
  1330. //}
  1331. }
  1332. ]]>
  1333. </script>
  1334. </xhtml:head>
  1335. <xhtml:body pagewidth="1179" pageheight="728" style="margin-left:8; margin-top:8; margin-right:8; margin-bottom:8; ">
  1336. <group id="grp_biz" style="left:0; top:0; width:1179; height:728; ">
  1337. <iviewer id="iviewer1" visibility="hidden" src="SPLPP01700_viewer.xrw" style="left:20px; top:15px; width:390px; height:370px; border-style:sunken; "/>
  1338. <group id="grp_prnt" visibility="hidden" style="left:440px; top:10px; width:605px; height:665px; "/>
  1339. </group>
  1340. </xhtml:body>
  1341. </xhtml:html>