123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/***************************************************************************************
- * System Name : KNUH2.0
- * Job Name : EMR
- * Creator :
- * Make Date : 2015-11-30
- * Description :
- *---------------------------------------------------------------------------------------
- * Modify Date Modifier Modify Description
- *---------------------------------------------------------------------------------------
- * 2015-11-30 TF->XP
- *
- *---------------------------------------------------------------------------------------
- ****************************************************************************************/
- /**
- * 파 일 명 : SMADC02100.js
- * 설 명 : 복약지도환자조회 Javascriot
- * 설 계 자 : 공두경
- * 작 성 자 : 공두경
- * 수정이력 : 2008.01.08 / 최초작성 / 공두경
- */
- /**
- * 초기화
- */
- var gTimer;
- var chk_count=0;
- var chk_cnt = 1;
- var arErrorCode = new HashArray();
- var objCxtCommon = new ExtCommon();
- /******************************************************************
- * Argument : fInit()
- * Description : 초기화
- ******************************************************************/
- function fInit(){
- ds_temp_srchinfo.setColumn(0, "prcpddstart", utlf_getCurrentDate());
- ds_temp_srchinfo.setColumn(0, "prcpddend", utlf_getCurrentDate());
-
- var dutplceinstcd = sysf_getUserInfo("dutplceinstcd");
- if( utlf_isNull(dutplceinstcd) ){
- dutplceinstcd = "012";
- }
-
- //진료과 검색
- ds_send_deptinfo.setColumn(0, "deptflag", "D");
- var oParam = {};
- oParam.id = "TRADC02103";
- oParam.service = "pharmacyprescriptionapp.DrugPrint";
- oParam.method = "reqGetDeptList";
- oParam.inds = "req=ds_send_deptinfo";
- oParam.outds = "ds_init_orddept=dept";
- oParam.async = false;
- //oParam.callback = "cf_TRADC02103";
- tranf_submit(oParam);
-
- dsf_addDsItem(ds_init_orddept, "deptcd", "deptnm", " ", "", "above");
-
-
- //병동검색
- ds_send_deptinfo.setColumn(0, "deptflag", "W");
- var oParam = {};
- oParam.id = "TRADC02102";
- oParam.service = "pharmacyprescriptionapp.DrugPrint";
- oParam.method = "reqGetDeptList";
- oParam.inds = "req=ds_send_deptinfo";
- oParam.outds = "ds_init_ward=ward";
- oParam.async = false;
- //oParam.callback = "cf_TRADC02102";
- tranf_submit(oParam);
-
- dsf_addDsItem(ds_init_ward, "deptcd", "deptnm", "전체", "T", "above");
-
- // 2011.01.14 pymi 복약분류조회
- var oParam = {};
- oParam.id = "TRADB00109";
- oParam.service = "pharmacybaseapp.DrugCode";
- oParam.method = "reqGetTmedCnst";
- oParam.inds = "";
- oParam.outds = "ds_init_baseinfo=A0036";
- oParam.async = false;
- //oParam.callback = "cf_TRADB00109";
- tranf_submit(oParam);
-
- for( var i = 0; i < ds_init_baseinfo.rowcount; i++ ){
- if( utlf_isNull(ds_init_baseinfo.getColumn(i, "cdnm")) ){
- ds_init_baseinfo.deleteRow(i);
- }
- }
-
- //구분 초기화
- ds_temp_srchinfo.setColumn(0, "srchflag", "2");
- ds_temp_srchinfo.setColumn(0, "prcpclscd", "A2|A4|A6"); //2008-12-11 외용제 포함
- }
- /**
- * 환자리스트 조회
- */
- function fSrchPatList() {
- /* 필수 입력사항 체크 */
- if( utlf_isNull(ds_temp_srchinfo.getColumn(0, "srchflag")) ){
- sysf_messageBox("구분을 선택","I008");
- return;
- }
- // 병동 조회조건
- chk_ward.visible = false;
-
- if( utlf_isNull(ds_temp_srchinfo.getColumnInfo("outfirst")) ){
- ds_temp_srchinfo.addColumn("outfirst", "string")
- }
-
- //// 2016년 4월20일 김치국
- if ( ds_temp_srchinfo.getColumn(0,"outfirst") == "Y" ) {
- var selok = "N";
- var selstr = ds_temp_srchinfo.getColumn(0,"srchflag") ;
- var strno = selstr.length ;
- for ( var nn = 0; nn < strno; nn++ ) {
- var nstr = selstr.substr(nn, 1);
- if ( nstr == "3" ) {
- selok = "Y";
- }
- }
-
- if ( selok == "Y") {
- ds_temp_srchinfo.setColumn(0,"outfirst", "Y");
- }
- }
- ds_send_srchinfo.copyData(ds_temp_srchinfo);
- ds_grd_patlist.clearData();
-
- var oParam = {};
- oParam.id = "TRADC02101";
- oParam.service = "pharmacyconsultapp.ReqMngt";
- oParam.method = "reqGetTmedPatList";
- oParam.inds = "req=ds_send_srchinfo";
- oParam.outds = "ds_grd_patlist=patlist";
- oParam.async = false;
- //oParam.callback = "cf_TRADC02101";
- tranf_submit(oParam);
-
- ds_grd_patlist.rowposition = -1;
-
- for( var i=1 ; i<grd_patlist.getCellCount("Body") ; i++ ){
- ds_grd_patlist.addColumn("colBack"+i, "string");
- grd_patlist.setCellProperty("body", i, "background", "BIND(colBack"+i+")");
- grd_patlist.setCellProperty("body", i, "background2", "BIND(colBack"+i+")");
-
- for( var j=0 ; j<ds_grd_patlist.rowcount ; j++ ){
- if( ds_grd_patlist.getColumn(j, "exptypeyn") == "Y" ){
- ds_grd_patlist.setColumn(j, "colBack"+i, "#fec34d");
- }
-
- if (!utlf_isNull(ds_grd_patlist.getColumn(j, "prntdt")) ) {
- // 20100309_laboru_동일한 환자의 경우 출력상태 색 입힐때 다효능 제외
- if(ds_grd_patlist.getColumn(j, "exptypeyn") != "Y") {
- ds_grd_patlist.setColumn(j, "colBack"+i, "#7BE6B7");
- }
- }
- }
- }
- //2008-11-25 복약설명서 출력여부 색깔표시
- // grdf_setRowStyle(grd_patlist, "6", "Y", "exptypeyn", "equal");
- // for(var i = 0 ; i < grd_patlist.getCellCount("Head") ; i++){
- // var sExpr1 ="background:EXPR(exptypeyn=='Y'?"#fec34d""
- // +":(!utlf_isNull(prntdt) && exptypeyn != 'Y')?"#7BE6B7""
- // +":"")"
- // +";background2:EXPR(exptypeyn=='Y'?"#fec34d""
- // +":(!utlf_isNull(prntdt) && exptypeyn != 'Y')?"#7BE6B7""
- // +":"")";
- // grd_patlist.setCellProperty("body", i, "style", sExpr1);
- // }
- //2008-11-25 복약설명서 출력여부 색깔표시
- // for( var i = 0; i < ds_grd_patlist.rowcount; i++ ){
- // if( !utlf_isNull(ds_grd_patlist.getColumn(i, "prntdt")) ){
- // // 20100309_laboru_동일한 환자의 경우 출력상태 색 입힐때 다효능 제외
- // if( ds_grd_patlist.getColumn(i, "exptypeyn") != "Y" ){
- // //grd_patlist.rowstyle(i, "data", "background-color") = "#7BE6B7" ;
- // }
- // }
- // }
-
- if( ds_temp_srchinfo.getColumn(0, "prcpclscd").indexOf("D") >= 0 ) {
- grd_patlist.setFormatColProperty(grd_patlist.getBindCellIndex("body", "prtlnm"), "size", 50);
- grd_patlist.setFormatColProperty(grd_patlist.getBindCellIndex("body", "anticncrdayno"), "size", 50);
- } else {
- grd_patlist.setFormatColProperty(grd_patlist.getBindCellIndex("body", "prtlnm"), "size", 0);
- grd_patlist.setFormatColProperty(grd_patlist.getBindCellIndex("body", "anticncrdayno"), "size", 0);
- }
- }
- /**
- * 복약설명서일괄출력
- */
- function fGetTmedlist() {
-
- if( ds_grd_patlist.rowcount > 0 ){
- var initCnt = 0; // 그리드상 첫 행 초기값
- var success = ""; // submit 성공여부
- var prePid; // 이전 행의 pid
- var curPid; // 현재 행의 pid
- var sCurOrddd; // 현재 행의 Orddd
- var sPreOrddd; // 이전 행의 Orddd
- var sCurOrdDeptcd; // 현재 행의 OrdDeptcd
- var sPreOrdDeptcd; // 이전 행의 OrdDeptcd
- var sCurCretno; // 현재 행의 Cretno
- var sPreCretno; // 이전 행의 Cretno
- var AutNuFlag ;
-
- for( var i = 0; i < ds_grd_patlist.rowcount; i++ ){
- prePid = "";
- curPid = "";
- sCurOrddd = "";
- sPreOrddd = "";
- sCurOrdDeptcd = "";
- sPreOrdDeptcd = "";
- sCurCretno = "";
- sPreCretno = "";
-
- // 1. 일괄출력 가능 항목만 진행
- if( ds_grd_patlist.getColumn(i, "exptypeyn") == "N" ){
- if( initCnt != i ){ // 첫행은 비교대상에서 제외
- prePid = ds_grd_patlist.getColumn((i-1), "pid");
- sPreOrddd = ds_grd_patlist.getColumn((i-1), "orddd");
- sPreOrdDeptcd = ds_grd_patlist.getColumn((i-1), "orddeptcd");
- sPreCretno = ds_grd_patlist.getColumn((i-1), "cretno");
- }else{
- prePid = "0";
- sPreOrddd = "0";
- sPreOrdDeptcd = "0";
- sPreCretno = "0";
- }
- curPid = ds_grd_patlist.getColumn(i, "pid");
- sCurOrddd = ds_grd_patlist.getColumn(i, "orddd");
- sCurOrdDeptcd = ds_grd_patlist.getColumn(i, "orddeptcd");
- sCurCretno = ds_grd_patlist.getColumn(i, "cretno");
-
- ds_grd_patlist.setColumn(i, "difflagcd", ds_init_difflag.getColumn(0, "difflagcd")); //복약설명서 출력조건[병원자료:1 , DIF한글:2, DIF영문:3]
- ds_grd_patlist.setColumn(i, "pimagepath", sysf_getURLprefix() + "/dif/images/", true); //DIF 이미지 경로
-
- dsf_copyColInfo(ds_send_tmedlisth, ds_grd_patlist); //Column 정보 복사
- var addRow = ds_send_tmedlisth.addRow();
- ds_send_tmedlisth.copyRow(addRow, ds_grd_patlist, i); // 복약설명서 조회조건 설정
-
- // 2. 복약설명서 조회 submit("TRADC02201",false); //TRADC02105
- dsf_setDefaultVal(ds_send_tmedlisth, "difflagcd:1");
- //dsf_setTypeFormat(ds_send_tmedlisth, "cretno:INT");
- var oParam = {};
- oParam.id = "TRADC02105";
- oParam.service = "pharmacyconsultapp.ReqMngt";
- oParam.method = "reqGetTmedAllPrntData";
- oParam.inds = "req=ds_send_tmedlisth";
- oParam.outds = "ds_main_tmedlist=tmedlist";
- oParam.async = false;
- oParam.callback = "cf_TRADC02105";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TRADC02105") > -1 ){
- var objImgeData;
- for ( var iNo = 0; iNo <= ds_main_tmedlist.rowcount; iNo++ ) {
- //DIF의 jpg 이미지를 base64로 인코딩
- if( ds_init_difflag.getColumn(0, "difflagcd") != "1" ){
- objImgeData = objCxtCommon.encodeBase64(ds_main_tmedlist.getColumn(iNo, "pimagepath"));
- ds_main_tmedlist.setColumn(iNo, "medpict", objImgeData);
- } else {
- if( !utlf_isNull(ds_main_tmedlist.getColumn(iNo, "medpic")) ){
- objImgeData = objCxtCommon.encodeBase64(ds_main_tmedlist.getColumn(iNo, "medpic"));
- ds_main_tmedlist.addColumn("medpict", "string", 256);
- ds_main_tmedlist.setColumn(iNo, "medpict", objImgeData);
- }
- }
- }
-
- //20110929_laboru_전체 출력시 개인 출력 form 과 동일하도록 맞춤
- ds_tmedinfo_patinfo.clearData();
- dsf_copyColInfo(ds_tmedinfo_patinfo, ds_grd_patlist); //Column 정보 복사
- var inRow = ds_tmedinfo_patinfo.addRow();
- ds_tmedinfo_patinfo.copyRow(inRow, ds_grd_patlist, i);
-
- // 3.복약설명서 출력
- if( (prePid != curPid) || (sPreOrddd != sCurOrddd) || (sPreOrdDeptcd != sCurOrdDeptcd) || (sPreCretno != sCurCretno) ){ // 이전 등록번호와 다를 때만 출력
- //exeReportPreview("RPADC02102", "XMLSTR", "", "", "false","","","","","false"); //2008-09-20 미리보기 화면 빼기
- /* if(model.getValue("/root/main/patinfo/patlist["+i+"]/roomcd") != "-"){
- exeReportPreview("RPADC02102", "XMLSTR", "/root/main/tmedinfo/tmedlist", "","true", "", "", "", "", "","","grp_report");
- }else{
- exeReportPreview("RPADC02103", "XMLSTR", "/root/main/tmedinfo/tmedlist", "","true", "", "", "", "", "","","grp_report");
- }*/
- AutNuFlag = ds_temp_srchinfo.getColumn(0, "autoprntnurseflag");
-
- var objDOM = rptf_createDOM();
-
- if( AutNuFlag != "Y" ){
- //20110929_laboru_전체 출력시 개인 출력 form 과 동일하도록 맞춤
- if( ds_grd_patlist.getColumn(0, "prcpgenrflag") == "O" ) {
- // 외래
- rptf_setNodeListToDOM(objDOM, "/root/main/tmedinfo/tmedlist", ds_main_tmedlist); // 데이터셋 1 - 약품정보
- rptf_setNodeListToDOM(objDOM, "/root/main/tmedinfo/patinfo", ds_tmedinfo_patinfo); // 데이터셋 2 - 환자 정보
- sysf_trace(objDOM.documentElement.source); // XML 내용출력
-
- var objParam = new Object();
- objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
-
- var option = "open=1;save=1;directprint=1;printdialog=0;print=0;zoom=0;";
- rptf_exeReportPreview30(["RPADC02203"],[objParam], option);
- ds_grd_patlist.enableevent = true;
-
- } else {
- rptf_setNodeListToDOM(objDOM, "/root/main/tmedinfo/tmedlist", ds_main_tmedlist); // 데이터셋 1 - 약품정보
- rptf_setNodeListToDOM(objDOM, "/root/main/tmedinfo/patinfo", ds_tmedinfo_patinfo); // 데이터셋 2 - 환자 정보
- sysf_trace(objDOM.documentElement.source); // XML 내용출력
-
- var objParam = new Object();
- objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
-
- var option = "open=1;save=1;directprint=1;printdialog=0;print=0;zoom=0;";
- rptf_exeReportPreview30(["RPADC02201"],[objParam], option);
- ds_grd_patlist.enableevent = true;
- }
- } else {
- //2014년 12월 1일 복약상단 출력물 간호 출력 김치국
- if( ds_grd_patlist.getColumn(0, "prcpgenrflag") == "O" ){
- // 외래
- rptf_setNodeListToDOM(objDOM, "/root/main/tmedinfo/tmedlist", ds_main_tmedlist); // 데이터셋 1
- rptf_setNodeListToDOM(objDOM, "/root/main/tmedinfo/patinfo", ds_tmedinfo_patinfo); // 데이터셋 2
- //rptf_setNodeListToDOM(objDOM, "/root/main/tmedinfo/prcplist", ds_tmedinfo_patinfo); // 데이터셋 3 - 투약정보
- rptf_setNodeListToDOM(objDOM, "/root/temp/srchinfo", ds_temp_srchinfo); // 데이터셋 4 - 복약기준자료
- sysf_trace(objDOM.documentElement.source); // XML 내용출력
-
- var objParam = new Object();
- objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
-
- var option = "open=1;save=1;directprint=1;printdialog=0;print=0;zoom=0;";
- rptf_exeReportPreview30(["RPADC02303"],[objParam], option);
- ds_grd_patlist.enableevent = true;
- }else{
- // 입원
- rptf_setNodeListToDOM(objDOM, "/root/main/tmedinfo/tmedlist", ds_main_tmedlist); // 데이터셋 1
- //rptf_setNodeListToDOM(objDOM, "/root/main/tmedinfo/patinfo", ds_tmedinfo_patinfo); // 데이터셋 2
- rptf_setNodeListToDOM(objDOM, "/root/main/tmedinfo/prcplist", ds_tmedinfo_patinfo); // 데이터셋 3 - 투약정보
- rptf_setNodeListToDOM(objDOM, "/root/temp/srchinfo", ds_temp_srchinfo); // 데이터셋 4 - 복약기준자료
- sysf_trace(objDOM.documentElement.source); // XML 내용출력
-
- var objParam = new Object();
- objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
-
- var option = "open=1;save=1;directprint=1;printdialog=0;print=0;zoom=0;";
- rptf_exeReportPreview30(["RPADC02301"],[objParam], option);
- ds_grd_patlist.enableevent = true;
- }
- }
- }
-
- ds_send_tmedlistd.copyData(ds_main_tmedlist);
-
- for(var j = 0; j <= ds_main_tmedlist.rowcount; j++){
- ds_send_tmedlistd.setColumn(j, "orddeptcd", ds_send_tmedlisth.getColumn(0, "orddeptcd")); //과코드
- ds_send_tmedlistd.setColumn(j, "orddrid", ds_send_tmedlisth.getColumn(0, "orddrid")); //의사코드
- ds_send_tmedlistd.setColumn(j, "cretno", ds_send_tmedlisth.getColumn(0, "cretno")); //생성번호
- ds_send_tmedlistd.setColumn(j, "drugno", ds_send_tmedlisth.getColumn(0, "drugno")); //생성번호
- }
-
- //개별상세내역출려과같이 사용함
- dsf_setDefaultVal(ds_send_tmedlisth, "descformflag:A");
- //dsf_setTypeFormat(ds_send_tmedlisth, "cretno:INT");
- var oParam = {};
- oParam.id = "TXADC02101";
- oParam.service = "pharmacyconsultapp.TmedMngt";
- oParam.method = "reqExeTmedAllPrntData";
- oParam.inds = "req=ds_send_tmedlisth tmedlist=ds_send_tmedlistd";
- oParam.outds = "ds_send_tmedlistd=ret";
- oParam.async = false;
- //oParam.callback = "cf_TXADC02101";
- tranf_submit(oParam);
-
- ds_grd_patlist.setColumn(i, "prntdt", utlf_getCurrentDate() + utlf_getCurrentTime().substr(0,4) );
-
- for( var j=1 ; j<grd_patlist.getCellCount("Body") ; j++ ){
- ds_grd_patlist.setColumn(i, "colBack"+j, "#7BE6B7");
- }
-
- // var sExpr1 ="background:EXPR( !utlf_isNull(prntdt)?"#7BE6B7":"")";
- // grd_patlist.setCellProperty("body", i, "background", sExpr1);
- }
- }
- }
- }
- }
- /**
- * 20100223_laboru_자동출력 체크시
- * 2015/12/07 : TF 간호출력 연동 안되어 있음
- */
- function fChkAutoDescPrnt() {
- var autoflag = chk_autoprnt.value=="Y"?"Y":"";
- var prntnurseflag = checkbox6.value=="Y"?"Y":"";
- if( autoflag == "Y" || prntnurseflag == "Y" ){
- ds_temp_srchinfo.setColumn(0, "autoprntflag", autoflag);
- ds_temp_srchinfo.setColumn(0, "autoprntnurseflag", prntnurseflag);
- if( utlf_isNull(gTimer) ) {
- group4.visible = true;
- //model.setValue("/root/hidden/prcpsrch/drugno", "");
- this.setTimer(1, 13000);
- gTimer = 1;
- //fDescPrint();
- }
- } else {
- if( !utlf_isNull(gTimer) ){
- //window.clearinterval(gTimer);
- this.killTimer(gTimer);
- gTimer = null;
- group4.visible = false;
- }
- }
- }
- /**
- * 20100223_laboru_복약설명서 자동출력
- */
- function fDescPrint() {
- var strBase64 = "";
- //// 2016년 4월20일 김치국
- if (ds_temp_srchinfo.getColumn(0,"outfirst") == "Y" ) {
- var selok = "N";
- var selstr = ds_temp_srchinfo.getColumn(0,"srchflag") ;
- var strno = selstr.length ;
- for ( var nn = 0; nn < strno; nn++ ) {
- var nstr = selstr.substr(nn, 1);
- if ( nstr == "3" ) {
- selok = "Y";
- }
- }
-
- if ( selok == "Y") {
- ds_temp_srchinfo.setColumn(0,"outfirst", "Y");
- }
- }
- ////
-
- // 미출력 상태만 조회
- ds_temp_srchinfo.setColumn(0, "prtflag", "2");
-
- fSrchPatList();
-
- chk_count++;
- if ( ( chk_count % 4 ) == "0" ){
- group4.caption16.text="자동 출력중[/]";
- }
- if ( ( chk_count % 4 ) == "1" ){
- group4.caption16.text="자동 출력중[―]";
- }
- if ( ( chk_count % 4 ) == "2" ){
- group4.caption16.text="자동 출력중[\]";
- }
- if ( ( chk_count % 4 ) == "3" ){
- group4.caption16.text="자동 출력중[|]";
- }
-
- if( ds_grd_patlist.rowcount > 0){
- var success = ""; // submit 성공여부
- var prePid; // 이전 행의 pid
- var curPid; // 현재 행의 pid
- var sCurOrddd; // 현재 행의 Orddd
- var sPreOrddd; // 이전 행의 Orddd
- var sCurOrdDeptcd; // 현재 행의 OrdDeptcd
- var sPreOrdDeptcd; // 이전 행의 OrdDeptcd
- var sCurCretno; // 현재 행의 Cretno
- var sPreCretno; // 이전 행의 Cretno
- chk_cnt = 0;
-
- prePid = "";
- curPid = "";
- sCurOrddd = "";
- sPreOrddd = "";
- sCurOrdDeptcd = "";
- sPreOrdDeptcd = "";
- sCurCretno = "";
- sPreCretno = "";
-
- // 1. 일괄출력 가능 항목만 진행
- if( ds_grd_patlist.getColumn(chk_cnt, "exptypeyn") == "N" ){
- prePid = "0";
- sPreOrddd = "0";
- sPreOrdDeptcd = "0";
- sPreCretno = "0";
- curPid = ds_grd_patlist.getColumn(chk_cnt, "pid");
- sCurOrddd = ds_grd_patlist.getColumn(chk_cnt, "orddd");
- sCurOrdDeptcd = ds_grd_patlist.getColumn(chk_cnt, "orddeptcd");
- sCurCretno = ds_grd_patlist.getColumn(chk_cnt, "cretno");
-
- ds_grd_patlist.setColumn(chk_cnt, "difflagcd", ds_init_difflag.getColumn(0, "difflagcd")); //복약설명서 출력조건[병원자료:1 , DIF한글:2, DIF영문:3]
- ds_grd_patlist.setColumn(chk_cnt, "pimagepath", sysf_getURLprefix() + "/dif/images/", true); //DIF 이미지 경로
-
- dsf_copyColInfo(ds_send_tmedlisth, ds_grd_patlist); //Column 정보 복사
-
- var iRow = ds_send_tmedlisth.addRow();
- ds_send_tmedlisth.copyRow(iRow, ds_grd_patlist, chk_cnt); // 복약설명서 조회조건 설정
- ds_send_tmedlisth.addColumn("autoprntflag", "string", 256);
- ds_send_tmedlisth.setColumn(iRow, "autoprntflag", "Y"); // 자동출력 flag
-
- // 2. 복약설명서 조회
- dsf_setDefaultVal(ds_send_tmedlisth, "difflagcd:1");
- //dsf_setTypeFormat(ds_send_tmedlisth, "cretno:INT");
- var oParam = {};
- oParam.id = "TRADC02105";
- oParam.service = "pharmacyconsultapp.ReqMngt";
- oParam.method = "reqGetTmedAllPrntData";
- oParam.inds = "req=ds_send_tmedlisth";
- oParam.outds = "ds_main_tmedlist=tmedlist";
- oParam.async = false;
- oParam.callback = "cf_TRADC02105";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TRADC02105") > -1 ){
- var objImgeData;
- for( var iNo = 0; iNo <= ds_main_tmedlist.rowcount; iNo++ ){
- //DIF의 jpg 이미지를 base64로 인코딩
- if( ds_init_difflag.getColumn(0, "difflagcd") != "1" ){
- objImgeData = objCxtCommon.encodeBase64(ds_main_tmedlist.getColumn(iNo, "pimagepath"));
- ds_main_tmedlist.setColumn(iNo, "medpic", objImgeData);
- } else {
- if( !utlf_isNull(ds_main_tmedlist.getColumn(iNo, "medpic")) ){
- objImgeData = objCxtCommon.encodeBase64(ds_main_tmedlist.getColumn(iNo, "medpic"));
- ds_main_tmedlist.addColumn("medpict", "string", 256);
- ds_main_tmedlist.setColumn(iNo, "medpict", objImgeData);
- }
- }
- }
-
- //20110929_laboru_전체 출력시 개인 출력 form 과 동일하도록 맞춤
- ds_tmedinfo_patinfo.clearData();
- ds_tmedinfo_patinfo.copyData(ds_grd_patlist);
-
- // 3.복약설명서 출력
- if( (prePid != curPid) || (sPreOrddd != sCurOrddd) || (sPreOrdDeptcd != sCurOrdDeptcd) || (sPreCretno != sCurCretno) ){ // 이전 등록번호와 다를 때만 출력
- ///////////////////////2014년 12월4일 김치국
- AutNuFlag = ds_temp_srchinfo.getColumn(0, "autoprntnurseflag");
-
- var objDOM = rptf_createDOM();
-
- if( AutNuFlag != "Y" ){
- //20110929_laboru_전체 출력시 개인 출력 form 과 동일하도록 맞춤
- if( ds_grd_patlist.getColumn(0, "prcpgenrflag") == "O" ) {
- // 외래
- rptf_setNodeListToDOM(objDOM, "/root/main/tmedinfo/tmedlist", ds_main_tmedlist); // 데이터셋 1 - 약품정보
- rptf_setNodeListToDOM(objDOM, "/root/main/tmedinfo/patinfo", ds_tmedinfo_patinfo); // 데이터셋 2 - 환자 정보
- sysf_trace(objDOM.documentElement.source); // XML 내용출력
-
- var objParam = new Object();
- objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
-
- var option = "open=1;save=1;directprint=1;printdialog=0;print=0;zoom=0;";
- rptf_exeReportPreview30(["RPADC02203"],[objParam], option);
- ds_grd_patlist.enableevent = true;
-
- } else {
- rptf_setNodeListToDOM(objDOM, "/root/main/tmedinfo/tmedlist", ds_main_tmedlist); // 데이터셋 1 - 약품정보
- rptf_setNodeListToDOM(objDOM, "/root/main/tmedinfo/patinfo", ds_tmedinfo_patinfo); // 데이터셋 2 - 환자 정보
- sysf_trace(objDOM.documentElement.source); // XML 내용출력
-
- var objParam = new Object();
- objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
-
- var option = "open=1;save=1;directprint=1;printdialog=0;print=0;zoom=0;";
- rptf_exeReportPreview30(["RPADC02201"],[objParam], option);
- ds_grd_patlist.enableevent = true;
- }
- } else {
- //2014년 12월 1일 복약상단 출력물 간호 출력 김치국
- if( ds_grd_patlist.getColumn(0, "prcpgenrflag") == "O" ){
- // 외래
- rptf_setNodeListToDOM(objDOM, "/root/main/tmedinfo/tmedlist", ds_main_tmedlist); // 데이터셋 1
- rptf_setNodeListToDOM(objDOM, "/root/main/tmedinfo/patinfo", ds_tmedinfo_patinfo); // 데이터셋 2
- rptf_setNodeListToDOM(objDOM, "/root/temp/srchinfo", ds_temp_srchinfo); // 데이터셋 4 - 복약기준자료
- sysf_trace(objDOM.documentElement.source); // XML 내용출력
-
- var objParam = new Object();
- objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
-
- var option = "open=1;save=1;directprint=1;printdialog=0;print=0;zoom=0;";
- rptf_exeReportPreview30(["RPADC02303"],[objParam], option);
- ds_grd_patlist.enableevent = true;
- }else{
- // 입원
- rptf_setNodeListToDOM(objDOM, "/root/main/tmedinfo/tmedlist", ds_main_tmedlist); // 데이터셋 1
- rptf_setNodeListToDOM(objDOM, "/root/main/tmedinfo/patinfo", ds_tmedinfo_patinfo); // 데이터셋 2
- rptf_setNodeListToDOM(objDOM, "/root/temp/srchinfo", ds_temp_srchinfo); // 데이터셋 4 - 복약기준자료
- sysf_trace(objDOM.documentElement.source); // XML 내용출력
-
- var objParam = new Object();
- objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
-
- var option = "open=1;save=1;directprint=1;printdialog=0;print=0;zoom=0;";
- rptf_exeReportPreview30(["RPADC02301"],[objParam], option);
- ds_grd_patlist.enableevent = true;
- }
-
- }
- }
-
- ds_send_tmedlistd.copyData(ds_main_tmedlist);
-
- for(var j = 0; j <= ds_main_tmedlist.rowcount; j++){
- ds_send_tmedlistd.setColumn(j, "orddeptcd", ds_send_tmedlisth.getColumn(0, "orddeptcd")); //과코드
- ds_send_tmedlistd.setColumn(j, "orddrid", ds_send_tmedlisth.getColumn(0, "orddrid")); //의사코드
- ds_send_tmedlistd.setColumn(j, "cretno", ds_send_tmedlisth.getColumn(0, "cretno")); //생성번호
- ds_send_tmedlistd.setColumn(j, "drugno", ds_send_tmedlisth.getColumn(0, "drugno")); //생성번호
- }
-
- //개별상세내역출려과같이 사용함
- dsf_setDefaultVal(ds_send_tmedlisth, "descformflag:A");
- //dsf_setTypeFormat(ds_send_tmedlisth, "cretno:INT");
- var oParam = {};
- oParam.id = "TXADC02101";
- oParam.service = "pharmacyconsultapp.TmedMngt";
- oParam.method = "reqExeTmedAllPrntData";
- oParam.inds = "req=ds_send_tmedlisth tmedlist=ds_send_tmedlistd";
- oParam.outds = "ds_send_tmedlistd=ret";
- oParam.async = false;
- //oParam.callback = "cf_TXADC02101";
- tranf_submit(oParam);
-
- ds_grd_patlist.setColumn(chk_cnt, "prntdt", utlf_getCurrentDate() + utlf_getCurrentTime().substr(0,4) );
-
- for( var j=1 ; j<grd_patlist.getCellCount("Body") ; j++ ){
- ds_grd_patlist.setColumn(chk_cnt, "colBack"+j, "#7BE6B7");
- }
-
- // var sExpr1 ="background:EXPR( !utlf_isNull(prntdt)?"#fec34d":"")";
- // grd_patlist.setCellProperty("body", chk_cnt, "background", sExpr1);
- }
- }
- }
- }
- function cf_TRADC02105(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /**
- * 재원/퇴원/외래 구분 체크시
- */
- function fChkSrchflag() {
- var gubuncode = ds_temp_srchinfo.getColumn(0, "srchflag");
- var temp = ds_temp_srchinfo.getColumn(0, "srchflag").split("|");
- if( temp.length == 3 ){
- ds_temp_srchinfo.setColumn(0, "srchflagall", "Y");
- if( !grp_sea.chk_hosinhosoutflag.enable ){
- grp_sea.chk_hosinhosoutflag.enable = true;
- //grp_sea.chk_hosinhosoutflagall.enable = true;
- ds_temp_srchinfo.setColumn(0, "hosinhosoutflag", "I|O");
- ds_temp_srchinfo.setColumn(0, "hosinhosoutflagall", "Y");
- }
- if( !grp_sea.rdo_newdrugflag.enable ){
- rdo_newdrugflag.enable = true;
- ds_temp_srchinfo.setColumn(0, "newdrugflag", "1");
- }
- } else {
- ds_temp_srchinfo.setColumn(0, "srchflagall", "");
- //외래 선택시 원내/원외 컨트롤 활성화
- if( utlf_isSearchString( ds_temp_srchinfo.getColumn(0, "srchflag"),"3") ){
- grp_sea.chk_hosinhosoutflag.enable = true;
- //grp_sea.chk_hosinhosoutflagall.enable = true;
- //////2016년 4월18일 김치국
- grp_sea.rdo_outfirst.enable = true;
- ds_temp_srchinfo.setColumn(0, "outfirst", "");
- ds_temp_srchinfo.setColumn(0, "hosinhosoutflag", "I|O");
- ds_temp_srchinfo.setColumn(0, "hosinhosoutflagall", "Y");
- } else {
- grp_sea.chk_hosinhosoutflag.enable = false;
- //grp_sea.chk_hosinhosoutflagall.enable = false;
- //////2016년 4월18일 김치국
- grp_sea.rdo_outfirst.enable = false;
- ds_temp_srchinfo.setColumn(0, "outfirst", "");
- ds_temp_srchinfo.setColumn(0, "hosinhosoutflag", "");
- ds_temp_srchinfo.setColumn(0, "hosinhosoutflagall", "");
- }
-
- //외래/재원 선택시 새처방 컨트롤 활성화
- var getSrchFlag = ds_temp_srchinfo.getColumn(0, "srchflag");
- if( utlf_isSearchString( getSrchFlag,"3") || utlf_isSearchString(getSrchFlag,"1")){
- if( !rdo_newdrugflag.enable ){
- grp_sea.rdo_newdrugflag.enable = true;
- ds_temp_srchinfo.setColumn(0, "newdrugflag", "1");
- }
- }else{
- grp_sea.rdo_newdrugflag.enable = false;
- ds_temp_srchinfo.setColumn(0, "newdrugflag", "");
- }
- }
- }
- /**
- * 출력건수 조회
- */
- function fPrntCnt(){
- var prntcnt =0;
- for ( var i = 0 ; i < ds_grd_patlist.rowcount; i++ ) {
- if ( !utlf_isNull(ds_grd_patlist.getColumn(i, "prntdt")) ) {
- prntcnt += 1;
- }
- }
- grp_sea.txtCnt.text = "Total : " + ds_grd_patlist.rowcount + " 출력 : " + prntcnt ;
- }]]></Script>
|