SPARC05400_회신서미리보기.xfdl 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPARC05400" position="absolute 0 0 860 976" titletext="회신서미리보기" oninit="SPARC05400_oninit" onload="SPARC05400_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption2" text="회신서미리보기" class="tit_1" position="absolute 0 0 158 25"/>
  8. <Div id="div_report" taborder="1" position="absolute 0 38 850 952"/>
  9. </Layout>
  10. </Layouts>
  11. <Objects/>
  12. <Bind/>
  13. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  14. * System Name :
  15. * Job Name :
  16. * Creator :
  17. * Make Date : 2015-05-06
  18. * Description :
  19. *---------------------------------------------------------------------------------------
  20. * Modify Date Modifier Modify Description
  21. *---------------------------------------------------------------------------------------
  22. * 2015-05-06 Live Converter TF->XP
  23. *
  24. *---------------------------------------------------------------------------------------
  25. ****************************************************************************************/
  26. include "com_commonxp::comm_main.xjs"
  27. function SPARC05400_oninit(obj:Form, e:InitEventInfo)
  28. {
  29. frmf_initForm(obj);
  30. }
  31. function SPARC05400_onload(obj:Form, e:LoadEventInfo)
  32. {
  33. fInit();
  34. }
  35. function fInit()
  36. {
  37. var pid = opener.frmf_getParameter("pid");
  38. var replseqno = opener.frmf_getParameter("replseqno");
  39. var fstyn = opener.frmf_getParameter("fstyn");
  40. dsf_createDsRow("ds_cond_TRARC02507", [{col:"pid", type:"STRING", size:256, val:pid}
  41. , {col:"replseqno", type:"INT", size:256, val:replseqno}
  42. , {col:"instcd", type:"STRING", size:256, val:""}
  43. ]);
  44. dsf_setDefaultVal(ds_cond_TRARC02507, "replseqno:0");
  45. //<!-- 기본정보 -->
  46. dsf_createDs("ds_data_baseinfo", [{col:"instcdnm", type:"STRING", size:256}
  47. , {col:"ordfromdd", type:"STRING", size:256}
  48. , {col:"ordtodd", type:"STRING", size:256}
  49. , {col:"telno1", type:"STRING", size:256}
  50. , {col:"telno2", type:"STRING", size:256}
  51. , {col:"faxno", type:"STRING", size:256}
  52. , {col:"url", type:"STRING", size:256}
  53. , {col:"mainemail", type:"STRING", size:256}
  54. , {col:"maindeptnm", type:"STRING", size:256}]);
  55. //<!-- 환자정보 -->
  56. dsf_createDs("ds_data_patientinfo", [{col:"pid", type:"STRING", size:256}
  57. , {col:"hngnm", type:"STRING", size:256}
  58. , {col:"sex", type:"STRING", size:256}
  59. , {col:"age", type:"BIGDECIMAL", size:256}
  60. , {col:"rrgstno1", type:"STRING", size:256}
  61. , {col:"rrgstno2", type:"STRING", size:256}
  62. , {col:"brthdd", type:"STRING", size:256}]);
  63. //dsf_setTypeFormat(ds_data_patientinfo, "age:BIGDECIMAL");
  64. //<!-- 회신내용 -->
  65. dsf_createDs("ds_data_replinfo", [{col:"pid", type:"STRING", size:256}
  66. , {col:"replseqno", type:"BIGDECIMAL", size:256}
  67. , {col:"replflag", type:"STRING", size:256}
  68. , {col:"writflag", type:"STRING", size:256}
  69. , {col:"recdd", type:"STRING", size:256}
  70. , {col:"orddeptcd", type:"STRING", size:256}
  71. , {col:"orddeptnm", type:"STRING", size:256}
  72. , {col:"orddrid", type:"STRING", size:256}
  73. , {col:"orddrnm", type:"STRING", size:256}
  74. , {col:"reqorddd", type:"STRING", size:256}
  75. , {col:"reqcretno", type:"BIGDECIMAL", size:256}
  76. , {col:"reqseqno", type:"BIGDECIMAL", size:256}
  77. , {col:"rsrvdd", type:"STRING", size:256}
  78. , {col:"rsrvtm", type:"STRING", size:256}
  79. , {col:"rsrvorddeptcd", type:"STRING", size:256}
  80. , {col:"rsrvorddrid", type:"STRING", size:256}
  81. , {col:"rsrvorddeptnm", type:"STRING", size:256}
  82. , {col:"rsrvorddrnm", type:"STRING", size:256}
  83. , {col:"rsrvcretno", type:"BIGDECIMAL", size:256}
  84. , {col:"diagnm", type:"STRING", size:256}
  85. , {col:"curecnts", type:"STRING", size:256}
  86. , {col:"delivefact", type:"STRING", size:256}
  87. , {col:"reqagnkindcd", type:"STRING", size:256}
  88. , {col:"reqagnkindnm", type:"STRING", size:256}
  89. , {col:"saverid", type:"STRING", size:256}
  90. , {col:"savernm", type:"STRING", size:256}
  91. , {col:"savedd", type:"STRING", size:256}
  92. , {col:"aprvrid", type:"STRING", size:256}
  93. , {col:"aprvrnm", type:"STRING", size:256}
  94. , {col:"aprvdd", type:"STRING", size:256}
  95. , {col:"aprvdeptcd", type:"STRING", size:256}
  96. , {col:"aprvdeptnm", type:"STRING", size:256}
  97. , {col:"saveflag", type:"STRING", size:256}
  98. , {col:"footflag", type:"STRING", size:256}
  99. , {col:"prntdt", type:"STRING", size:256}]);
  100. //<!-- 의뢰병원정보 -->
  101. dsf_createDs("ds_data_reqhospinfo", [{col:"reqdd", type:"STRING", size:256}
  102. , {col:"coophospcd", type:"STRING", size:256}
  103. , {col:"coophospnm", type:"STRING", size:256}
  104. , {col:"coopdrcd", type:"STRING", size:256}
  105. , {col:"coopdrnm", type:"STRING", size:256}
  106. , {col:"clsmatyn", type:"STRING", size:256}
  107. , {col:"gradyear", type:"STRING", size:256}
  108. , {col:"telno", type:"STRING", size:256}
  109. , {col:"mpphontel", type:"STRING", size:256}
  110. , {col:"emailid", type:"STRING", size:256}
  111. , {col:"emailaddr", type:"STRING", size:256}
  112. , {col:"coopflag", type:"STRING", size:256}
  113. , {col:"reqorddd", type:"STRING", size:256}
  114. , {col:"reqcretno", type:"BIGDECIMAL", size:256}
  115. , {col:"reqseqno", type:"BIGDECIMAL", size:256}
  116. , {col:"addr", type:"STRING", size:256}
  117. , {col:"detladdr", type:"STRING", size:256}
  118. , {col:"zipcd1", type:"STRING", size:256}
  119. , {col:"zipcd2", type:"STRING", size:256}
  120. , {col:"drflag", type:"STRING", size:256}
  121. , {col:"faxno", type:"STRING", size:256}], true);
  122. //<!-- 검사내역 -->
  123. dsf_createDs("ds_data_rsltinfo", [{col:"prcpdd", type:"STRING", size:256}
  124. , {col:"examnm", type:"STRING", size:256}
  125. , {col:"spcnm", type:"STRING", size:256}
  126. , {col:"examgubun", type:"STRING", size:256}
  127. , {col:"lastreptdd", type:"STRING", size:256}
  128. , {col:"bcno", type:"STRING", size:256}
  129. , {col:"testmdlcd", type:"STRING", size:256}
  130. , {col:"execprcpuniqno", type:"STRING", size:256}
  131. , {col:"pid", type:"STRING", size:256}
  132. , {col:"depth", type:"STRING", size:256}
  133. , {col:"replseqno", type:"BIGDECIMAL", size:256}
  134. , {col:"seqno", type:"BIGDECIMAL", size:256}]);
  135. //<!-- 처방내역 -->
  136. dsf_createDs("ds_data_prcpinfo", [{col:"prcpdd", type:"STRING", size:256}
  137. , {col:"prcpcd", type:"STRING", size:256}
  138. , {col:"prcpnm", type:"STRING", size:256}
  139. , {col:"prcpqty", type:"BIGDECIMAL", size:256}
  140. , {col:"prcpqtyunitnm", type:"STRING", size:256}
  141. , {col:"prcptims", type:"BIGDECIMAL", size:256}
  142. , {col:"prcpdayno", type:"BIGDECIMAL", size:256}
  143. , {col:"prcpno", type:"BIGDECIMAL", size:256}
  144. , {col:"prcphistno", type:"BIGDECIMAL", size:256}
  145. , {col:"pid", type:"STRING", size:256}
  146. , {col:"replseqno", type:"BIGDECIMAL", size:256}
  147. , {col:"seqno", type:"BIGDECIMAL", size:256}
  148. , {col:"prcpqtyunitflag", type:"STRING", size:256}]);
  149. //<!-- 수술정보 -->
  150. dsf_createDs("ds_data_opinfo", [{col:"opdd", type:"STRING", size:256}
  151. , {col:"opnm", type:"STRING", size:256}
  152. , {col:"perdeptnm", type:"STRING", size:256}
  153. , {col:"perfdrnm", type:"STRING", size:256}
  154. , {col:"opstatcd", type:"STRING", size:256}
  155. , {col:"pid", type:"STRING", size:256}
  156. , {col:"replseqno", type:"BIGDECIMAL", size:256}
  157. , {col:"seqno", type:"BIGDECIMAL", size:256}
  158. , {col:"oprsrvno", type:"BIGDECIMAL", size:256}
  159. , {col:"ophistno", type:"BIGDECIMAL", size:256}
  160. , {col:"opcd", type:"STRING", size:256}
  161. , {col:"perfdrid", type:"STRING", size:256}
  162. , {col:"perfdeptcd", type:"STRING", size:256}]);
  163. //<!-- 입퇴원요약정보 -->
  164. dsf_createDs("ds_data_dschinfo", [{col:"indd", type:"STRING", size:256}
  165. , {col:"orddeptnm", type:"STRING", size:256}
  166. , {col:"orddrnm", type:"STRING", size:256}
  167. , {col:"dschdd", type:"STRING", size:256}
  168. , {col:"roomcd", type:"STRING", size:256}
  169. , {col:"formrecseq", type:"BIGDECIMAL", size:256}
  170. , {col:"orddeptcd", type:"STRING", size:256}
  171. , {col:"orddrid", type:"STRING", size:256}
  172. , {col:"pid", type:"STRING", size:256}
  173. , {col:"replseqno", type:"BIGDECIMAL", size:256}
  174. , {col:"seqno", type:"BIGDECIMAL", size:256}]);
  175. // 미리보기는 저장된 내용이 있어야만 미리보기가 된다.
  176. var oParam = {};
  177. oParam.id = "TRARC02507";
  178. oParam.service = "healcarecoopapp.ReqMngt";
  179. oParam.method = "reqGetPreviewInfo";
  180. oParam.inds = "req=ds_cond_TRARC02507";
  181. oParam.outds = "ds_data_baseinfo=baseinfo ds_data_patientinfo=patientinfo ds_data_replinfo=replinfo " +
  182. "ds_data_reqhospinfo=reqhospinfo ds_data_rsltinfo=rsltinfo ds_data_prcpinfo=prcpinfo " +
  183. "ds_data_opinfo=opinfo ds_data_dschinfo=dschinfo";
  184. oParam.async = false;
  185. oParam.callback = "cf_TRARC02507";
  186. tranf_submit(oParam);
  187. var curecnts = utlf_transNullToEmpty(ds_data_replinfo.getColumn(0, "curecnts"));
  188. cureArray = curecnts.split("\n");
  189. if( cureArray.length > 0 && this.objects["ds_data_curelsit"] == null ){
  190. dsf_createDs("ds_data_curelsit", [{col:"curecnts", type:"STRING", size:256}]);
  191. }else if(this.objects["ds_data_curelsit"] != null){
  192. ds_data_curelsit.clearData();
  193. }
  194. for (i = 0; i < cureArray.length; i++)
  195. {
  196. var nRow = ds_data_curelsit.addRow();
  197. ds_data_curelsit.setColumn(nRow, "curecnts", cureArray[i]);
  198. }
  199. fComInitial_subordlist();
  200. var rsltinfoCnt = ds_data_rsltinfo.rowcount;
  201. if (rsltinfoCnt > 0)
  202. {
  203. if(!utlf_isNull(ds_data_rsltinfo.getColumn(0, "prcpdd")))
  204. {
  205. for( var i=0; i<rsltinfoCnt; i++ ) {
  206. var nRow = ds_send_maindata.addRow();
  207. ds_send_maindata.setColumn(nRow, "bcno" , utlf_transNullToEmpty(ds_data_rsltinfo.getColumn(i, "bcno"))); //바코드번호
  208. ds_send_maindata.setColumn(nRow, "testmdlcd" , utlf_transNullToEmpty(ds_data_rsltinfo.getColumn(i, "testmdlcd"))); //검사중분류코드
  209. ds_send_maindata.setColumn(nRow, "lastreptdd" , utlf_transNullToEmpty(ds_data_rsltinfo.getColumn(i, "lastreptdd"))); //최종보고일자
  210. ds_send_maindata.setColumn(nRow, "examgubun" , utlf_transNullToEmpty(ds_data_rsltinfo.getColumn(i, "examgubun"))); //검사구분
  211. ds_send_maindata.setColumn(nRow, "level" , utlf_transNullToEmpty(ds_data_rsltinfo.getColumn(i, "depth"))); //바코드검사레벨(LIS)
  212. ds_send_maindata.setColumn(nRow, "pid" , utlf_transNullToEmpty(ds_data_rsltinfo.getColumn(i, "pid"))); //등록번호
  213. ds_send_maindata.setColumn(nRow, "instcd" , sysf_getUserInfo("dutplceinstcd")); //기관코드
  214. ds_send_maindata.setColumn(nRow, "prcpdd" , utlf_transNullToEmpty(ds_data_rsltinfo.getColumn(i, "prcpdd"))); //처방일자
  215. ds_send_maindata.setColumn(nRow, "execprcpuniqno", utlf_transNullToEmpty(ds_data_rsltinfo.getColumn(i, "execprcpuniqno"))); //실시유일번호
  216. }
  217. var oParam = {};
  218. oParam.id = "TRAER00850";
  219. oParam.service = "examcureresultrefapp.RsltRef";
  220. oParam.method = "reqGetRsltRefDetailList";
  221. oParam.inds = "reqparam=ds_send_maindata";
  222. oParam.outds = "ds_main_subordlist1=getResultDetail";
  223. oParam.async = false;
  224. oParam.callback = "cf_TRAER00850";
  225. tranf_submit(oParam);
  226. }
  227. }
  228. var objDOM = rptf_createDOM(); // DOM 객체 설정
  229. rptf_setNodeListToDOM(objDOM, "/root/main/previewinfo/baseinfo", ds_data_baseinfo);
  230. rptf_setNodeListToDOM(objDOM, "/root/main/previewinfo/patientinfo", ds_data_patientinfo);
  231. rptf_setNodeListToDOM(objDOM, "/root/main/previewinfo/replinfo", ds_data_replinfo);
  232. rptf_setNodeListToDOM(objDOM, "/root/main/previewinfo/reqhospinfo", ds_data_reqhospinfo);
  233. rptf_setNodeListToDOM(objDOM, "/root/main/previewinfo/rsltinfo", ds_data_rsltinfo);
  234. rptf_setNodeListToDOM(objDOM, "/root/main/previewinfo/prcpinfo", ds_data_prcpinfo);
  235. rptf_setNodeListToDOM(objDOM, "/root/main/previewinfo/opinfo", ds_data_opinfo);
  236. rptf_setNodeListToDOM(objDOM, "/root/main/previewinfo/dschinfo", ds_data_dschinfo);
  237. rptf_setNodeListToDOM(objDOM, "/root/main/previewinfo/curelsit", ds_data_curelsit);
  238. rptf_setNodeListToDOM(objDOM, "/root/main/subordlist1/subresultdetail1", ds_main_subordlist1);
  239. var objParam = new Object();
  240. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
  241. var option = "open=0;save=1;directprint=0;printdialog=0;print=1;zoom=1;moveprev=1;movenext=1;combo=1;movefirst=1;movelast=1;excel=0;pdf=1;hwp=0;refresh=0;";
  242. rptf_exeReportPreview30(["RPARC02500"],[objParam], option, "", "div_report");
  243. }
  244. function cf_TRARC02507(sSvcId, nErrorCode, sErrorMsg) {
  245. if(nErrorCode < 0){
  246. sysf_messageBox("출력정보를 저장", "E001");
  247. return;
  248. }
  249. dsf_setDefaultVal(ds_data_replinfo, "reqcretno:0,reqseqno:0,rsrvcretno:0");
  250. dsf_setDefaultVal(ds_data_opinfo, "replseqno:0,seqno:0,oprsrvno:0,ophistno:0");
  251. dsf_setDefaultVal(ds_data_dschinfo, "formrecseq:0,replseqno:0,seqno:0");
  252. }
  253. // 결과내역 인스턴스 초기화
  254. function fComInitial_subordlist() {
  255. // 일자별 그리드
  256. dsf_createDs("ds_main_subordlist1", [{col:"check", type:"STRING", size:256}
  257. , {col:"reptrslt", type:"STRING", size:256}
  258. , {col:"judgmark", type:"STRING", size:256}
  259. , {col:"judgmark2", type:"STRING", size:256}
  260. , {col:"prcpcd", type:"STRING", size:256}
  261. , {col:"prcpnm", type:"STRING", size:256}
  262. , {col:"img", type:"STRING", size:256}
  263. , {col:"imgcnts", type:"BLOB", size:256}
  264. , {col:"spcno", type:"STRING", size:256}
  265. , {col:"pacsno", type:"STRING", size:256}
  266. , {col:"flag", type:"STRING", size:256}]);
  267. // 일자별 그리드
  268. dsf_createDs("ds_send_maindata", [{col:"bcno", type:"STRING", size:256}
  269. , {col:"testmdlcd", type:"STRING", size:256}
  270. , {col:"lastreptdd", type:"STRING", size:256}
  271. , {col:"examgubun", type:"STRING", size:256}
  272. , {col:"level", type:"STRING", size:256}
  273. , {col:"pid", type:"STRING", size:256} //srchpid
  274. , {col:"instcd", type:"STRING", size:256} //dutplceinstcd
  275. , {col:"prcpdd", type:"STRING", size:256}
  276. , {col:"execprcpuniqno", type:"STRING", size:256}
  277. , {col:"check", type:"STRING", size:256}
  278. , {col:"hla", type:"STRING", size:256}]);
  279. }
  280. ]]></Script>
  281. </Form>
  282. </FDL>