SPADT63200_특조처방전출력.xfdl 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPADT63200" position="absolute 0 0 378 134" titletext="특수조제실처방전출력" oninit="SPADT63200_oninit" onload="SPADT63200_onload">
  5. <Layouts>
  6. <Layout>
  7. <Shape position="absolute 0 0 378 134" id="roundrect1" class="roundrect_error" type="roundrectangle"/>
  8. <Static text="특조 처방전 출력 중" position="absolute 130 43 327 99" id="caption1" style="font:Dotum,11,bold;"/>
  9. <ImageViewer position="absolute 42 33 117 103" id="img1" image="URL('theme://images\error.png')" style="background:transparent;" stretch="none"/>
  10. <Div position="absolute 0 0 0 0" id="grp_report1" visible="false"/>
  11. <Div position="absolute 0 0 0 0" id="grp_report2" visible="false"/>
  12. </Layout>
  13. </Layouts>
  14. <Objects>
  15. <Dataset id="ds_send_prcpinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  16. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  17. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  18. <Dataset id="ds_main_prcpdata_resn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  19. <Dataset id="ds_main_prcpdata_patinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  20. <Dataset id="ds_main_prcpdata_diaginfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  21. <Dataset id="ds_main_prcpdata_sumlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  22. </Objects>
  23. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  24. * System Name :
  25. * Job Name :
  26. * Creator :
  27. * Make Date : 2015-11-13
  28. * Description :
  29. *---------------------------------------------------------------------------------------
  30. * Modify Date Modifier Modify Description
  31. *---------------------------------------------------------------------------------------
  32. * 2015-11-13 Live Converter TF->XP
  33. *
  34. *---------------------------------------------------------------------------------------
  35. ****************************************************************************************/
  36. //=======================================================================================
  37. // Lib Include
  38. //---------------------------------------------------------------------------------------
  39. include "com_commonxp::comm_main.xjs"
  40. include "ast_commonxp::AST.xjs"
  41. //include "ast_pharmacyxp::SPADT63200.xjs"
  42. include "emr_prcpmngtxp::MMOCommon.xjs"
  43. //=======================================================================================
  44. // Global Form Variable
  45. //---------------------------------------------------------------------------------------
  46. var arErrorCode = new HashArray();
  47. //=======================================================================================
  48. // Function
  49. //---------------------------------------------------------------------------------------
  50. /****************************************************************************************
  51. * Argument : N/A
  52. * Description : 초기화
  53. ****************************************************************************************/
  54. function fInit() {
  55. var params = opener.frmf_clearParameter("params");
  56. dsf_setCSVToDs("ds_send_prcpinfo",params);
  57. // var sParam = model.getAttribute("params");
  58. //
  59. // model.makeValue("/root/send/prcpinfo/drugdd", astfMatrixData(sParam, 1, 0));
  60. // model.makeValue("/root/send/prcpinfo/drugno", astfMatrixData(sParam, 1, 1));
  61. // model.makeValue("/root/send/prcpinfo/ioflag", astfMatrixData(sParam, 1, 2));
  62. // model.makeValue("/root/send/prcpinfo/prcpdd", astfMatrixData(sParam, 1, 3));
  63. // model.makeValue("/root/send/prcpinfo/orddd", astfMatrixData(sParam, 1, 4));
  64. // model.makeValue("/root/send/prcpinfo/cretno", astfMatrixData(sParam, 1, 5));
  65. // model.makeValue("/root/send/prcpinfo/prcpgenrflag", astfMatrixData(sParam, 1, 6));
  66. // model.makeValue("/root/send/prcpinfo/pid", astfMatrixData(sParam, 1, 7));
  67. // model.makeValue("/root/send/prcpinfo/orddeptcd", astfMatrixData(sParam, 1, 8));
  68. // model.makeValue("/root/send/prcpinfo/wardcd", astfMatrixData(sParam, 1, 9));
  69. // model.makeValue("/root/send/prcpinfo/lblflag", astfMatrixData(sParam, 1, 10));
  70. // model.makeValue("/root/send/prcpinfo/prcpflag", astfMatrixData(sParam, 1, 11));
  71. // model.makeValue("/root/send/prcpinfo/prntflag", astfMatrixData(sParam, 1, 12));
  72. // model.makeValue("/root/send/prcpinfo/drugflag", astfMatrixData(sParam, 1, 13));
  73. // model.makeValue("/root/send/prcpinfo/memoflag", "Y");
  74. // model.refresh();
  75. //sysf_trace(ds_send_prcpinfo.saveXML());
  76. ds_send_prcpinfo.setColumn(0,"prcpdd",ds_send_prcpinfo.getColumn(0,"drugdd"));
  77. dsf_setTypeFormat(ds_send_prcpinfo, "drugno:INT^cretno:INT");
  78. var oParam = {};
  79. oParam.id = "TRADT63201";
  80. oParam.service = "pharmacyprescriptionapp.DrugPrint";
  81. oParam.method = "reqGetSpPrintData";
  82. oParam.inds = "req=ds_send_prcpinfo";
  83. oParam.outds = "ds_main_prcpdata_patinfo=patinfo ds_main_prcpdata_diaginfo=diaginfo ds_main_prcpdata_sumlist=sumlist ds_main_prcpdata_resn=resn";
  84. oParam.async = false;
  85. //oParam.callback = "cf_TRADT63201";
  86. tranf_submit(oParam);
  87. //20101102 이선경 수정 : 일일기준과 1회 기준의 용량과 수량을 보여주는 것을 결정하여 결과를 리턴
  88. var colHidnValue = lf_grdBaseColHidn("D");
  89. //1회 기준
  90. if( colHidnValue == "C") {
  91. dsf_makeValue(ds_main_prcpdata_patinfo,"prcpvol2chk","string","Y");
  92. }
  93. //sysf_trace(utlf_isNull(ds_main_prcpdata_patinfo.getColumn(0,"pid")));
  94. if(!utlf_isNull(ds_main_prcpdata_patinfo.getColumn(0,"pid"))){
  95. var memo = ds_main_prcpdata_patinfo.getColumn(0,"memo");
  96. var memoCnt = 0;
  97. var lineCnt = 0;
  98. var pageCnt = 0;
  99. var strMemo = "";
  100. var nextMemo = "";
  101. if ( !utlf_isNull(memo) && memo.indexOf("\n", lineCnt ) >=0 ){
  102. while ( (memoCnt = memo.indexOf("\n", lineCnt ))>=0){
  103. if( pageCnt < 3) {
  104. if (lineCnt == 0) {
  105. strMemo = strMemo + memo.substring( lineCnt, memoCnt );
  106. } else {
  107. strMemo = strMemo + "\n" + memo.substring( lineCnt, memoCnt ) ;
  108. }
  109. } else {
  110. if (pageCnt == 3) {
  111. nextMemo = nextMemo + memo.substring( lineCnt, memoCnt );
  112. } else {
  113. nextMemo = nextMemo + "\n" + memo.substring( lineCnt, memoCnt ) ;
  114. }
  115. }
  116. lineCnt = memoCnt + 1;
  117. pageCnt++;
  118. }
  119. if ( lineCnt < memo.length ) {
  120. nextMemo = nextMemo + "\n" + memo.substring( lineCnt, memo.length );
  121. }
  122. } else {
  123. strMemo = memo;
  124. }
  125. ds_main_prcpdata_patinfo.setColumn(0,"memo", strMemo);
  126. dsf_makeValue(ds_main_prcpdata_patinfo,"memo1","string", nextMemo);
  127. // 처방전에 DUR이 존재하면 RFADT63202 존재하지 않으면 RFADT63200 출력
  128. // 20101117_wify_경북대병원_보고서폼 변경 처리
  129. // RFADT63200 ==> RFADT63203
  130. // RFADT63201 ==> RFADT63204
  131. // RFADT63203 ==> RFADT63205
  132. var resn = ds_main_prcpdata_resn.getColumn(0,"resnnm");
  133. // 20101106_wify_경북대병원_주민번호 뒷자리 별표 처리
  134. var rrgstno = ds_main_prcpdata_patinfo.getColumn(0,"rrgstno").split("-");
  135. ds_main_prcpdata_patinfo.setColumn(0,"rrgstno", rrgstno[0] + "-" + rrgstno[1].substring(0, 1) + "******");
  136. if(utlf_isNull(resn)) {
  137. if ( !utlf_isNull(nextMemo) ) {
  138. // makeReportPreview(0,0,10, 10, "grp_report1"); //root/main/prcpdata/sumlist
  139. // exeReportPreview("RFADT63203", "XMLSTR","","","true","","","","","","","grp_report1");
  140. // makeReportPreview(0,0,10, 10, "grp_report2");
  141. // exeReportPreview("RFADT63204", "XMLSTR","","","true","","","","","","","grp_report2");
  142. var objDOM = rptf_createDOM(); // DOM 객체 설정
  143. var objParam = new Object();
  144. rptf_setNodeListToDOM(objDOM, "/root/main/prcpdata/sumlist" , ds_main_prcpdata_sumlist);
  145. rptf_setNodeListToDOM(objDOM, "/root/main/prcpdata/patinfo" , ds_main_prcpdata_patinfo);
  146. rptf_setNodeListToDOM(objDOM, "/root/main/prcpdata/diaginfo", ds_main_prcpdata_diaginfo);
  147. objParam.xml_data_XML1 = objDOM.documentElement.source;
  148. var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0;callback=lf_complete";
  149. rptf_exeReportPreview30(["RFADT63203","RFADT63204"],[objParam], option);
  150. } else {
  151. // makeReportPreview(0,0,10, 10, "grp_report1");
  152. // exeReportPreview("RFADT63203", "XMLSTR","","","true","","","","","","","grp_report1");
  153. var objDOM = rptf_createDOM(); // DOM 객체 설정
  154. var objParam = new Object();
  155. rptf_setNodeListToDOM(objDOM, "/root/main/prcpdata/sumlist" , ds_main_prcpdata_sumlist);
  156. rptf_setNodeListToDOM(objDOM, "/root/main/prcpdata/patinfo" , ds_main_prcpdata_patinfo);
  157. rptf_setNodeListToDOM(objDOM, "/root/main/prcpdata/diaginfo", ds_main_prcpdata_diaginfo);
  158. objParam.xml_data_XML1 = objDOM.documentElement.source;
  159. var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0;callback=lf_complete";
  160. rptf_exeReportPreview30(["RFADT63203"],[objParam], option);
  161. //removeReportPreview();
  162. }
  163. }else{
  164. if ( !utlf_isNull(nextMemo) ) {
  165. // makeReportPreview(0,0,10, 10, "grp_report1");
  166. // exeReportPreview("RFADT63205", "XMLSTR","","","true","","","","","","","grp_report1");
  167. // makeReportPreview(0,0,10, 10, "grp_report2");
  168. // exeReportPreview("RFADT63204", "XMLSTR","","","true","","","","","","","grp_report2");
  169. var objDOM1 = rptf_createDOM(); // DOM 객체 설정
  170. var objDOM2 = rptf_createDOM(); // DOM 객체 설정
  171. var objParam = new Object();
  172. rptf_setNodeListToDOM(objDOM1, "/root/main/prcpdata/sumlist" , ds_main_prcpdata_sumlist);
  173. rptf_setNodeListToDOM(objDOM1, "/root/main/prcpdata/patinfo" , ds_main_prcpdata_patinfo);
  174. rptf_setNodeListToDOM(objDOM1, "/root/main/prcpdata/diaginfo", ds_main_prcpdata_diaginfo);
  175. rptf_setNodeListToDOM(objDOM2,"/root/main/prcpdata/resn", ds_main_prcpdata_resn);
  176. objParam.xml_data_XML1 = objDOM1.documentElement.source;
  177. objParam.xml_data_XML2 = objDOM2.documentElement.source;
  178. var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0;callback=lf_complete";
  179. rptf_exeReportPreview30(["RFADT63205","RFADT63204"],[objParam], option);
  180. } else {
  181. // makeReportPreview(0,0,10, 10, "grp_report1");
  182. // exeReportPreview("RFADT63205", "XMLSTR","","","true","","","","","","","grp_report1");
  183. var objDOM1 = rptf_createDOM(); // DOM 객체 설정
  184. var objDOM2 = rptf_createDOM(); // DOM 객체 설정
  185. var objParam = new Object();
  186. rptf_setNodeListToDOM(objDOM1, "/root/main/prcpdata/sumlist" , ds_main_prcpdata_sumlist);
  187. rptf_setNodeListToDOM(objDOM1, "/root/main/prcpdata/patinfo" , ds_main_prcpdata_patinfo);
  188. rptf_setNodeListToDOM(objDOM1, "/root/main/prcpdata/diaginfo", ds_main_prcpdata_diaginfo);
  189. rptf_setNodeListToDOM(objDOM2,"/root/main/prcpdata/resn", ds_main_prcpdata_resn);
  190. objParam.xml_data_XML1 = objDOM1.documentElement.source;
  191. objParam.xml_data_XML2 = objDOM2.documentElement.source;
  192. var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0;callback=lf_complete";
  193. rptf_exeReportPreview30(["RFADT63205"],[objParam], option);
  194. //removeReportPreview();
  195. }
  196. }
  197. } else {
  198. this.close();
  199. }
  200. //this.close();
  201. }
  202. // function cf_TRADT63201(sSvcId, nErrorCode, sErrorMsg) {
  203. // if(nErrorCode < 0) return;
  204. // dsf_setTypeFormat(ds_main_prcpdata_patinfo, "drugno:INT");
  205. // dsf_setTypeFormat(ds_main_prcpdata_sumlist, "prcptims:INT^prcpdayno:INT");
  206. // }
  207. function lf_complete() {
  208. this.close();
  209. }
  210. //=======================================================================================
  211. // Event
  212. //---------------------------------------------------------------------------------------
  213. /****************************************************************************************
  214. * Components : Form
  215. * Components ID : SPADT63200
  216. * Event : oninit
  217. * Argument : 01.obj : Object Event has occurred
  218. * : 02.e : Event Object
  219. * Description : 화면 처음 초기화시 폼초기화
  220. ****************************************************************************************/
  221. function SPADT63200_oninit(obj:Form, e:InitEventInfo)
  222. {
  223. frmf_initForm(obj); // 폼 초기화
  224. }
  225. /****************************************************************************************
  226. * Components : Form
  227. * Components ID : SPADT63200
  228. * Event : onload
  229. * Argument : 01.obj : Object Event has occurred
  230. * : 02.e : Event Object
  231. * Description : 화면 처음 초기화시 폼초기화
  232. ****************************************************************************************/
  233. function SPADT63200_onload(obj:Form, e:LoadEventInfo)
  234. {
  235. if(frmf_checkOpener()) {
  236. fInit(); // 초기화
  237. }
  238. }
  239. ]]></Script>
  240. </Form>
  241. </FDL>