123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[
- /**
- * 초기화
- */
- function fInit() {
- var opener_ID = opener.frmf_getParameter("opener_ID");
- var sParam = opener.frmf_getParameter("params");
- dsf_setCSVToDs("ds_send_prcpinfo",sParam);
- sysf_trace(ds_send_prcpinfo.saveXML());
-
- // alert(opener.frmf_getParameter("pid")) ;
- // dsf_makeValue(ds_send_prcpinfo,"drugdd" ,"string", opener.frmf_getParameter("drugdd"));
- // dsf_makeValue(ds_send_prcpinfo,"drugno" ,"string", opener.frmf_getParameter("drugno"));
- //dsf_makeValue(ds_send_prcpinfo,"pid" ,"string", opener.frmf_getParameter("pid"));
- // dsf_makeValue(ds_send_prcpinfo,"orddd" ,"string", opener.frmf_getParameter("orddd"));
- //dsf_makeValue(ds_send_prcpinfo,"cretno" ,"string", opener.frmf_getParameter("cretno"));
- //dsf_makeValue(ds_send_prcpinfo,"orddeptcd" ,"string", opener.frmf_getParameter("orddeptcd"));
- //dsf_makeValue(ds_send_prcpinfo,"prcpgenrflag" ,"string", opener.frmf_getParameter("prcpgenrflag"));
- //dsf_makeValue(ds_send_prcpinfo,"autoinprntyn" ,"string", opener.frmf_getParameter("reprintyn"));
- //dsf_makeValue(ds_send_prcpinfo,"reprintyn" ,"string", opener.frmf_getParameter("reprintyn"));
- //dsf_makeValue(ds_send_prcpinfo,"stocdeptcd" ,"string", opener.frmf_getParameter("stocdeptcd"));
- dsf_makeValue(ds_send_prcpinfo,"ioflag" ,"string","O");
- dsf_makeValue(ds_send_prcpinfo,"prntflag" ,"string","O");
- // alert(ds_send_prcpinfo.getColumn(0,"pid"));
- //alert(ds_send_prcpinfo);
- //var sParam = model.getAttribute("params");
- //model.makeValue("/root/send/prcpinfo/drugdd", astfMatrixData(sParam, 1, 0));
- //model.makeValue("/root/send/prcpinfo/drugno", astfMatrixData(sParam, 1, 1));
- //model.makeValue("/root/send/prcpinfo/ioflag", "O");
- //model.makeValue("/root/send/prcpinfo/pid", astfMatrixData(sParam, 1, 2));
- //model.makeValue("/root/send/prcpinfo/orddd", astfMatrixData(sParam, 1, 3));
- //model.makeValue("/root/send/prcpinfo/cretno", astfMatrixData(sParam, 1, 4));
- //model.makeValue("/root/send/prcpinfo/orddeptcd", astfMatrixData(sParam, 1, 5));
- //model.makeValue("/root/send/prcpinfo/prcpgenrflag", astfMatrixData(sParam, 1, 6));
- //model.makeValue("/root/send/prcpinfo/autoinprntyn", astfMatrixData(sParam, 1, 7));
- //model.makeValue("/root/send/prcpinfo/reprintyn", astfMatrixData(sParam, 1, 8));
- //model.makeValue("/root/send/prcpinfo/stocdeptcd", astfMatrixData(sParam, 1, 9)); // 2009.09.08 pymi
- //model.makeValue("/root/send/prcpinfo/prntflag", "O");
- //model.refresh();
-
- //submit("TRADT61201");
- var oParam = {};
- oParam.id = "TRADT61201";
- oParam.service = "pharmacyprescriptionapp.DrugPrint";
- oParam.method = "reqGetOutPrintData";
- oParam.inds = "req=ds_send_prcpinfo";
- oParam.outds = "ds_main_prcpdata_patinfo=patinfo ds_main_prcpdata_diaginfo=diaginfo ds_main_prcpdata_sumlist=sumlist ds_main_prcpdata_resn=resn";
- oParam.async = false;
- // oParam.callback = "cf_TRADT61201";
- tranf_submit(oParam);
-
-
- //20101102 이선경 수정 : 일일기준과 1회 기준의 용량과 수량을 보여주는 것을 결정하여 결과를 리턴
- var colHidnValue = lf_grdBaseColHidn("D");
- //var colHidnValue = grdBaseColHidn("D");
- //1회 기준
- if( colHidnValue == "C") {
- dsf_makeValue(ds_main_prcpdata_patinfo,"prcpqty2chk" ,"string","Y");
- //model.makeValue("/root/main/prcpdata/patinfo/prcpqty2chk", "Y");
- }
-
- //if(model.getValue("/root/main/prcpdata/patinfo/pid") != ""){
- if (!utlf_isNull(ds_main_prcpdata_patinfo.getColumn(0,"pid"))) {
- // 20100202_laboru_RFADT61200 리포트에서 memo 의 가로 크기를 늘이려면 아래 수치 변경 필요.
- //var memo = model.getValue("/root/main/prcpdata/patinfo/memo");
- var memo = utlf_transNullToEmpty(ds_main_prcpdata_patinfo.getColumn(0,"memo"));
- var memoCnt = 0;
- var lineCnt = 0;
- var pageCnt = 0;
- var strMemo = "";
- var tempStr = "";
- var tempStr2 = "";
- var nextMemo = "";
- var strFlag = "N";
-
- if ( memo.indexOf("\n", lineCnt ) >=0){
- while ( (memoCnt = memo.indexOf("\n", lineCnt ))>=0){
- if( pageCnt < 3) {
- if (lineCnt == 0) {
- strMemo = strMemo + memo.substring( lineCnt, memoCnt );
- if(getByteLength(strMemo) > 78 && getByteLength(strMemo) <= 157) {
- pageCnt++;
- } else if(getByteLength(strMemo) > 157 && getByteLength(strMemo) <= 239) {
- pageCnt = pageCnt + 2;
- } else if(getByteLength(strMemo) > 239 ) {
- pageCnt = 100;
- strFlag = "1";
- }
- } else {
- tempStr = memo.substring( lineCnt, memoCnt ) ;
-
- if(pageCnt > 1) {
- if(getByteLength(tempStr) > 74 ) {
- if(memo.indexOf("\n", memoCnt + 1 ) < 0 ) {
- pageCnt = 100;
- strFlag = "2";
- } else {
- strMemo = strMemo + "\n" + fnGetByte(tempStr,0, 74);
- nextMemo = fnGetByte(tempStr, 74, getByteLength(tempStr)) + "\n";
- }
-
- } else if(getByteLength(tempStr) <= 74) {
- strMemo = strMemo + "\n" + memo.substring( lineCnt, memoCnt ) ;
- }
- } else {
- if(getByteLength(tempStr) <= 78) {
- strMemo = strMemo + "\n" + memo.substring( lineCnt, memoCnt ) ;
- } else if(getByteLength(tempStr) > 78 && getByteLength(tempStr) <= 155) {
- strMemo = strMemo + "\n" + memo.substring( lineCnt, memoCnt ) ;
- pageCnt++;
- } else if(getByteLength(tempStr) > 155) {
- strMemo = strMemo + "\n" + fnGetByte(tempStr,0, 155);
- nextMemo = fnGetByte(tempStr, 155, getByteLength(tempStr)) ;
- pageCnt = pageCnt +2;
- }
- }
- }
- } else {
- if (pageCnt == 3) {
- nextMemo = nextMemo + memo.substring( lineCnt, memoCnt );
- } else if(pageCnt > 3 && pageCnt < 10) {
- nextMemo = nextMemo + "\n" + memo.substring( lineCnt, memoCnt ) ;
- }
- }
- lineCnt = memoCnt + 1;
- pageCnt++;
- }
-
- if(strFlag == "1") {
- strMemo = fnGetByte(memo,0, 239);
- nextMemo = fnGetByte(memo, 239, getByteLength(memo));
- } else if(strFlag == "2") {
- var line2temp = memo.substring( lineCnt, memo.length );
- strMemo = strMemo + "\n" + fnGetByte(tempStr,0, 78);
- nextMemo = fnGetByte(tempStr, 78, getByteLength(tempStr));
- nextMemo = nextMemo + "\n" + line2temp;
- } else if(strFlag == "3") {
- strMemo = strMemo + "\n" + tempStr.substring(0, 40);
- nextMemo = tempStr.substring(40, 500);
- nextMemo = nextMemo + "\n" + memo.substring(lineCnt,500);
-
- } else if(strFlag == "N") {
- if ( (lineCnt < memo.length) ) {
- nextMemo = nextMemo + "\n" + memo.substring( lineCnt, memo.length );
- }
- }
-
- } else {
- strMemo = memo;
- }
-
- //model.setValue("/root/main/prcpdata/patinfo/memo", strMemo);
- ds_main_prcpdata_patinfo.setColumn(0, "memo", strMemo);
- //model.makeValue("/root/main/prcpdata/patinfo/memo1", nextMemo);
- dsf_makeValue(ds_main_prcpdata_patinfo,"memo1","string",nextMemo);
- //처방전에 DUR이 존재하면 RFADT61203 존재하지 않으면 RFADT61200 출력
- //var resn = model.getValue("/root/main/prcpdata/resn/resnnm");
- var resn = ds_main_prcpdata_resn.getColumn(0,"resnnm")
- //alert("resn : " +resn);
-
- // 20101106_wify_경북대병원_주민번호 뒷자리 별표 처리
- //var rrgstno = model.getValue("/root/main/prcpdata/patinfo/rrgstno").split("-");
- var rrgstno = utlf_transNullToEmpty(ds_main_prcpdata_patinfo.getColumn(0,"rrgstno")).split("-");
- //model.setValue("/root/main/prcpdata/patinfo/rrgstno", rrgstno[0] + "-" + rrgstno[1].substring(0, 1) + "******");
- ds_main_prcpdata_patinfo.setColumn(0, "rrgstno", rrgstno[0] + "-" + rrgstno[1].substring(0, 1) + "******");
- // 20101117_wify_경북대병원_보고서폼 변경 처리
- // RFADT61200 ==> RFADT61204
- // RFADT61201 ==> RFADT61207
- // RFADT61203 ==> RFADT61206
- // sysf_trace("===================================");
- // sysf_trace(resn);
- // sysf_trace(nextMemo);
- // sysf_trace(pageCnt);
- // sysf_trace("===================================");
- if( utlf_isNull(resn) ){
- if ( !utlf_isNull(nextMemo)) {
- if(pageCnt >= 3) {
- //makeReportPreview(0,0,10, 10, "grp_report1");
- //exeReportPreview("RFADT61204", "XMLSTR","","","true","","","","","","","grp_report1");
- //makeReportPreview(0,0,10, 10, "grp_report2");
- //exeReportPreview("RFADT61207", "XMLSTR","","","true","","","","","","","grp_report2");
-
- var objDOM = rptf_createDOM(); // DOM 객체 설정
- rptf_setNodeListToDOM(objDOM, "/root/main/prcpdata/sumlist" , ds_main_prcpdata_sumlist);
- rptf_setNodeListToDOM(objDOM, "/root/main/prcpdata/patinfo" , ds_main_prcpdata_patinfo);
- rptf_setNodeListToDOM(objDOM, "/root/main/prcpdata/diaginfo", ds_main_prcpdata_diaginfo);
- rptf_setNodeListToDOM(objDOM, "/root/main/prcpdata/resn", ds_main_prcpdata_resn);
- var objParam = new Object();
- objParam.xml_data_XML1 = objDOM.documentElement.source;
- var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0;callback=fPrintAfterClose";
- //rptf_exeReportPreview30(["RFADT61204"],[objParam], option, "", "grp_report1");
- // rptf_exeReportPreview30(["RFADT61204"],[objParam], option);
- //rptf_exeReportPreview30(["RFADT61207"],[objParam], option, "", "grp_report2");
- // rptf_exeReportPreview30(["RFADT61207"],[objParam], option);
- rptf_exeReportPreview30(["RFADT61204","RFADT61207"],[objParam], option);
-
-
-
- } else {
- strMemo = strMemo + nextMemo;
- sysf_trace(strMemo);
- //model.setValue("/root/main/prcpdata/patinfo/memo", strMemo);
- ds_main_prcpdata_patinfo.setColumn(0, "rrgstno", strMemo);
- //makeReportPreview(0,0,10, 10, "grp_report1");
- //exeReportPreview("RFADT61204", "XMLSTR","","","true","","","","","","","grp_report1");
- var objDOM = rptf_createDOM(); // DOM 객체 설정
- rptf_setNodeListToDOM(objDOM, "/root/main/prcpdata/sumlist" , ds_main_prcpdata_sumlist);
- rptf_setNodeListToDOM(objDOM, "/root/main/prcpdata/patinfo" , ds_main_prcpdata_patinfo);
- rptf_setNodeListToDOM(objDOM, "/root/main/prcpdata/diaginfo", ds_main_prcpdata_diaginfo);
- rptf_setNodeListToDOM(objDOM, "/root/main/prcpdata/resn", ds_main_prcpdata_resn);
- var objParam = new Object();
- objParam.xml_data_XML1 = objDOM.documentElement.source;
-
- var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0;callback=fPrintAfterClose";
- //rptf_exeReportPreview30(["RFADT61204"],[objParam], option, "", "grp_report1");
- rptf_exeReportPreview30(["RFADT61204"],[objParam], option);
- }
- } else {
- //makeReportPreview(0,0,10, 10);
- //exeReportPreview("RFADT61204", "XMLSTR", "", "", "true","","","","","true");
- //sysf_trace("asdf");
- var objDOM = rptf_createDOM(); // DOM 객체 설정
- rptf_setNodeListToDOM(objDOM, "/root/main/prcpdata/sumlist" , ds_main_prcpdata_sumlist);
- rptf_setNodeListToDOM(objDOM, "/root/main/prcpdata/patinfo" , ds_main_prcpdata_patinfo);
- rptf_setNodeListToDOM(objDOM, "/root/main/prcpdata/diaginfo", ds_main_prcpdata_diaginfo);
- rptf_setNodeListToDOM(objDOM, "/root/main/prcpdata/resn", ds_main_prcpdata_resn);
- var objParam = new Object();
- objParam.xml_data_XML1 = objDOM.documentElement.source;
-
- //var option = "open=1;save=1;directprint=0;print=1;zoom=0;show=0;";sysf_trace("absdf");
- //var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0";
- var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0;callback=fPrintAfterClose";
- //rptf_exeReportPreview30([rexid],[objParam], option);
- //rptf_exeReportPreview30(["RFADT61204"],[objParam], option, "", "grp_report1");
- rptf_exeReportPreview30(["RFADT61204"],[objParam], option);
-
- }
- }else{
- if ( !utlf_isNull(nextMemo) ) {
- if(pageCnt >= 3) {
- //makeReportPreview(0,0,10, 10, "grp_report1");
- //exeReportPreview("RFADT61206", "XMLSTR","","","true","","","","","","","grp_report1");
- //makeReportPreview(0,0,10, 10, "grp_report2");
- //exeReportPreview("RFADT61207", "XMLSTR","","","true","","","","","","","grp_report2");
- var objDOM = rptf_createDOM(); // DOM 객체 설정
- var objDOM2 = rptf_createDOM(); // DOM 객체 설정
- rptf_setNodeListToDOM(objDOM, "/root/main/prcpdata/sumlist" , ds_main_prcpdata_sumlist);
- rptf_setNodeListToDOM(objDOM, "/root/main/prcpdata/patinfo" , ds_main_prcpdata_patinfo);
- rptf_setNodeListToDOM(objDOM, "/root/main/prcpdata/diaginfo", ds_main_prcpdata_diaginfo);
- rptf_setNodeListToDOM(objDOM, "/root/main/prcpdata/resn", ds_main_prcpdata_resn);
- rptf_setNodeListToDOM(objDOM2, "/root/main/prcpdata/resn", ds_main_prcpdata_resn);
-
- var objParam = new Object();
- objParam.xml_data_XML1 = objDOM.documentElement.source;
- objParam.xml_data_XML2 = objDOM2.documentElement.source;
-
- var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0;callback=fPrintAfterClose";
- //rptf_exeReportPreview30(["RFADT61206"],[objParam], option, "", "grp_report1");
- // rptf_exeReportPreview30(["RFADT61206"],[objParam], option);
- //rptf_exeReportPreview30(["RFADT61207"],[objParam], option, "", "grp_report2");
- // rptf_exeReportPreview30(["RFADT61207"],[objParam], option);
- rptf_exeReportPreview30(["RFADT61206","RFADT61207"],[objParam], option);
- } else {
- strMemo = strMemo + nextMemo;
- //model.setValue("/root/main/prcpdata/patinfo/memo", strMemo);
- ds_main_prcpdata_patinfo.setColumn(0, "rrgstno", strMemo);
- //makeReportPreview(0,0,10, 10, "grp_report1");
- //exeReportPreview("RFADT61206", "XMLSTR","","","true","","","","","","","grp_report1");
- var objDOM = rptf_createDOM(); // DOM 객체 설정
- var objDOM2 = rptf_createDOM(); // DOM 객체 설정
- rptf_setNodeListToDOM(objDOM, "/root/main/prcpdata/sumlist" , ds_main_prcpdata_sumlist);
- rptf_setNodeListToDOM(objDOM, "/root/main/prcpdata/patinfo" , ds_main_prcpdata_patinfo);
- rptf_setNodeListToDOM(objDOM, "/root/main/prcpdata/diaginfo", ds_main_prcpdata_diaginfo);
- rptf_setNodeListToDOM(objDOM2, "/root/main/prcpdata/resn", ds_main_prcpdata_resn);
- var objParam = new Object();
- objParam.xml_data_XML1 = objDOM.documentElement.source;
- objParam.xml_data_XML2 = objDOM2.documentElement.source;
- var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0;callback=fPrintAfterClose";
- //rptf_exeReportPreview30(["RFADT61206"],[objParam], option, "", "grp_report1");
- rptf_exeReportPreview30(["RFADT61206"],[objParam], option);
- }
- } else {
- //makeReportPreview(0,0,10, 10);
- //exeReportPreview("RFADT61206", "XMLSTR", "", "", "true","","","","","true");
- var objDOM = rptf_createDOM(); // DOM 객체 설정
- var objDOM2 = rptf_createDOM(); // DOM 객체 설정
- rptf_setNodeListToDOM(objDOM, "/root/main/prcpdata/sumlist" , ds_main_prcpdata_sumlist);
- rptf_setNodeListToDOM(objDOM, "/root/main/prcpdata/patinfo" , ds_main_prcpdata_patinfo);
- rptf_setNodeListToDOM(objDOM, "/root/main/prcpdata/diaginfo", ds_main_prcpdata_diaginfo);
- rptf_setNodeListToDOM(objDOM2, "/root/main/prcpdata/resn", ds_main_prcpdata_resn);
- var objParam = new Object();
- objParam.xml_data_XML1 = objDOM.documentElement.source;
- objParam.xml_data_XML2 = objDOM2.documentElement.source;
- var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0;callback=fPrintAfterClose";
- //rptf_exeReportPreview30(["RFADT61206"],[objParam], option, "", "");
- rptf_exeReportPreview30(["RFADT61206"],[objParam], option);
- }
- }
-
- } else {
- this.close();
- }
-
- //model.refresh();
-
- //this.close();
- }
- function fPrintAfterClose() {
- this.close();
- }
- /*
- // 20100202_laboru_약사메모 byte
- */
- function getByteLength(str) {
- var byteLength = 0;
- for (inx = 0; inx < str.length; inx++) {
- var oneChar = escape(str.charAt(inx));
- if ( oneChar.length == 1 ) {
- byteLength ++;
- } else if (oneChar.indexOf("%u") != -1) {
- byteLength += 2;
- } else if (oneChar.indexOf("%") != -1) {
- byteLength += oneChar.length/3;
- }
- }
- return byteLength;
- }
- /*
- // 20100202_laboru_문자열 byte 단위로 잘라오기
- */
- function fnGetByte(strInput, slimit, ilimit){
- var i;
- var j;
- var strLen;
- var strByte = 0;
- var strRes = "";
- var com = Number(ilimit) - Number(slimit);
- strLen = strInput.length;
- var tmp = strInput.charAt(i);
- var index = 0;
-
- for(var p = 0; p < strLen ; p++) {
- var tmp = strInput.charAt(p);
-
- if(tmp >= ' ' && tmp <= '~' ){
- strByte++;
- }else{
- strByte += 2;
- }
-
- if(strByte > Number(slimit)){
- index = p;
- break;
- }
- }
-
- for(i=index, j=0, strByte=0; j< strLen; j++, i++) {
- var tmp = strInput.charAt(i);
- if(tmp >= ' ' && tmp <= '~' ){
- strByte++;
- }else{
- strByte += 2;
- }
-
- if(strByte > Number(com)){
- break;
- }
-
- strRes += tmp;
- }
- return strRes;
- }
- ]]></Script>
|