123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/***************************************************************************************
- * System Name : KNUH2.0
- * Job Name : EMR
- * Creator :
- * Make Date : 2015-12-08
- * Description :
- *---------------------------------------------------------------------------------------
- * Modify Date Modifier Modify Description
- *---------------------------------------------------------------------------------------
- * 2015-12-08 TF->XP
- *
- *---------------------------------------------------------------------------------------
- ****************************************************************************************/
- include "com_commonxp::comm_main.xjs";
- var arErrorCode = new HashArray();
- var objCxtCommon = new ExtCommon();
- /**
- * 파 일 명 : SMADC02200.js
- * 설 명 : 복약설명서 Javascriot
- * 설 계 자 : 공두경
- * 작 성 자 : 공두경
- * 수정이력 : 2008.01.09 / 최초작성 / 공두경
- */
- function fInit() {
- // 오프너에서 전달받은 정보
- try{
- dsf_copyDs(ds_main_patinfo, arg_ds_temp_drugindata, "replace");
- } catch(e){ }
-
- try{
- dsf_copyDs(ds_temp_srchinfo, arg_ds_temp_srchinfo, "replace");
- } catch(e){ }
-
- // 복약설명서 출력기준
- if( utlf_isNull(ds_temp_srchinfo.getColumn(0, "difflagcd")) ) {
- ds_temp_srchinfo.setColumn(0, "difflagcd", "1"); //병원복약기준자료:1, DIF한글:2, DIF영문:3
- }
-
- ds_temp_srchinfo.addColumn("pimagepath", "string", 256);
- ds_temp_srchinfo.setColumn(0, "pimagepath", sysf_getURLprefix() + "/dif/images/", true); //dif이미지경로
-
- ds_temp_srchinfo.addColumn("medtypeflag", "string", 256);
-
- if( !utlf_isNull(ds_temp_srchinfo.getColumn(0, "pid")) ){
- fSrchTmedDescData();
- } else {
- // 날짜 초기화
- ds_main_patinfo.setColumn(0, "prcpdd", utlf_getCurrentDate());
- }
-
- //model.makeValue("/root/temp/srchinfo/medtypeflag", "N"); //일반약
- //복약지도환자조회에서 팝업으로 복약설명서를 열었을 경우 초기에는 전체 조회인데
- //일반약으로 자동 체크가 되어 조회 조건과 조회된 내용이 싱크가 안 맞음.
-
- ds_temp_srchinfo.setColumn(0, "medtypeflag", "");
-
- // 20121226
- ds_temp2.setColumn(0, "prcpkind", "E");
- fn_getPrtFlag();
- }
- /**
- * 복약설명서 조회
- */
- function fSrchTmedDescData() {
-
- ds_send_srchinfo.copyData(ds_temp_srchinfo);
-
- ds_send_srchinfo.addColumn("prcpkind", "string", 256);
- ds_send_srchinfo.setColumn(0, "prcpkind", "E");
-
- dsf_setDefaultVal(ds_send_srchinfo, "difflagcd:1");
- // dsf_setTypeFormat(ds_send_srchinfo, "cretno:INT");
- var oParam = {};
- oParam.id = "TRADC02201";
- oParam.service = "pharmacyconsultapp.ReqMngt";
- oParam.method = "reqGetTmedDescData";
- oParam.inds = "req=ds_send_srchinfo";
- oParam.outds = "ds_main_patinfo=patinfo ds_grd_diaginfo=diaginfo ds_grd_prcplist=prcplist ds_grd_tmedlist=tmedlist";
- oParam.async = false;
- //oParam.callback = "cf_TRADC02201";
- tranf_submit(oParam);
- if( ds_temp_srchinfo.getColumn(0, "medtypeflag") == "D" ){
- grd_tmedlist.setFormatColProperty(2,"size",0); //사진
- grd_tmedlist.setFormatColProperty(grd_tmedlist.getBindCellIndex("body","efcycnts"),"size",0); //효능
- grd_tmedlist.setFormatColProperty(grd_tmedlist.getBindCellIndex("body","prcpqty_unit"),"size",0); //함량 //2008-09-19 1회수량
- grd_tmedlist.setFormatColProperty(grd_tmedlist.getBindCellIndex("body","prcptims"),"size",0); //복용횟수
- grd_tmedlist.setFormatColProperty(grd_tmedlist.getBindCellIndex("body","mthdnm"),"size",0); //용법
- grd_tmedlist.setFormatColProperty(grd_tmedlist.getBindCellIndex("body","prcpdayno"),"size",0); //일수
- //grd_tmedlist.setFormatColProperty(grd_tmedlist.getBindCellIndex("body","schedule"),"size",100); //투여스케쥴
-
- grd_tmedlist.setFormatColProperty(grd_tmedlist.getBindCellIndex("body","drugnm"),"size",230); //약품명
- grd_tmedlist.setFormatColProperty(grd_tmedlist.getBindCellIndex("body","statcnts"),"size",240); //성상
- grd_tmedlist.setFormatColProperty(grd_tmedlist.getBindCellIndex("body","schedule"),"size",150); //투여스케쥴
- grd_tmedlist.setFormatColProperty(grd_tmedlist.getBindCellIndex("body","etc"),"size",380); //주의사항
-
- } else {
- grd_tmedlist.setFormatColProperty(2,"size",100); //사진
- grd_tmedlist.setFormatColProperty(grd_tmedlist.getBindCellIndex("body","efcycnts"),"size",167); //효능
- grd_tmedlist.setFormatColProperty(grd_tmedlist.getBindCellIndex("body","prcpqty_unit"),"size",60); //함량 //2008-09-19 1회수량
- grd_tmedlist.setFormatColProperty(grd_tmedlist.getBindCellIndex("body","prcptims"),"size",60); //복용횟수
- grd_tmedlist.setFormatColProperty(grd_tmedlist.getBindCellIndex("body","mthdnm"),"size",116); //용법
- grd_tmedlist.setFormatColProperty(grd_tmedlist.getBindCellIndex("body","prcpdayno"),"size",30); //일수
- grd_tmedlist.setFormatColProperty(grd_tmedlist.getBindCellIndex("body","schedule"),"size",0); //투여스케쥴
-
- grd_tmedlist.setFormatColProperty(grd_tmedlist.getBindCellIndex("body","drugnm"),"size",230); //약품명
- grd_tmedlist.setFormatColProperty(grd_tmedlist.getBindCellIndex("body","statcnts"),"size",240); //성상
- //grd_tmedlist.setFormatColProperty(grd_tmedlist.getBindCellIndex("body","schedule"),"size",150); //투여스케쥴
- grd_tmedlist.setFormatColProperty(grd_tmedlist.getBindCellIndex("body","etc"),"size",380); //주의사항
-
- var objImgeData;
- for( var i = 0; i < ds_grd_tmedlist.rowcount; i++ ){
- //DIF의 jpg 이미지를 base64로 인코딩
- if( ds_temp_srchinfo.getColumn(0, "difflagcd") != "1" ) {
- objImgeData = objCxtCommon.encodeBase64(ds_grd_tmedlist.getColumn(i, "pimagepath"));
-
- if( !utlf_isNull(objImgeData) ){
- ds_grd_tmedlist.setColumn(i, "medpict", objImgeData);
- }
- }
- }
- }
-
- grd_tmedlist.setCellProperty("head", 11, "text", "주의사항");
- }
- /**
- * 복약리스트에 처방추가(행추가)
- */
- function fAddTmedlist() {
- var cnt = 0;
- ds_send_tmedinfo.clearData();
- for( var i = 0; i < ds_grd_prcplist.rowcount; i++ ){
- if( ds_grd_prcplist.getColumn(i, "sel") == "Y" ){
- dsf_copyColInfo(ds_send_tmedinfo, ds_grd_prcplist); //Column 정보 복사
- var addRow = ds_send_tmedinfo.addRow();
- ds_send_tmedinfo.copyRow(addRow, ds_grd_prcplist, i);
- cnt++;
- }
- }
-
- if( cnt != 0 ){
- var oParam = {};
- oParam.id = "TRADC02202";
- oParam.service = "pharmacyconsultapp.ReqMngt";
- oParam.method = "reqGeTmedDescInfoList";
- oParam.inds = "req=ds_send_tmedinfo";
- oParam.outds = "ds_hidden_tmedlist=tmedlist";
- oParam.async = false;
- //oParam.callback = "cf_TRADC02202";
- tranf_submit(oParam);
-
- sysf_trace(ds_hidden_tmedlist.saveXML());
-
- var cnt = ds_hidden_tmedlist.rowcount;
- if( cnt > 0 ){
- for( var a = 0; a < cnt; a++ ){
- var iRow = ds_grd_tmedlist.addRow();
- ds_grd_tmedlist.copyRow(iRow, ds_hidden_tmedlist, a);
- }
- }
- }
- }
- /**
- * 복약설명서 개별출력
- */
- function fGetTmedlistDtl() {
- if(ds_grd_tmedlist.rowcount > 0){
- var Drugno = fGetDrugnoList();
- for(var i = 0; i < Drugno.length; i++){
- ds_send_tmedinfo.copyData(ds_grd_tmedlist);
- dsf_makeValue( ds_main_patinfo, "drugno", "string", Drugno[i]); //투약번호
- dsf_makeValue( ds_main_patinfo, "descformflag", "string", ds_temp_srchinfo.getColumn(0, "medtypeflag")); //설명서형식구분
- for(var j = 0; j < ds_grd_tmedlist.rowcount; j++){
- if(Drugno[i] == ds_grd_tmedlist.getColumn(j, "drugno") && ds_grd_tmedlist.getColumn(j, "drugno") != ""){
- dsf_makeValue( ds_main_patinfo, "cretno", "string", ds_grd_tmedlist.getColumn(j, "cretno"));
- }
- }
- dsf_setDefaultVal(ds_main_patinfo, "descformflag:A");
- dsf_setDefaultVal(ds_send_tmedinfo, "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_main_patinfo tmedlist=ds_send_tmedinfo";
- oParam.outds = "ds_hidden=ret";
- oParam.async = false;
- //oParam.callback = "cf_TXADC02101";
- tranf_submit(oParam);
- opener.dsf_makeValue( ds_temp_srchinfo, "tmedprntdt", "string", utlf_getCurrentDate() + utlf_getCurrentTime().substr(0,4) );
- }
- }
- }
- /*조회된 drugno의 값을 배열에 담는다.*/
- function fGetDrugnoList(){
- var Drugno = new Array();
- var nodeCnt = ds_grd_tmedlist.rowcount;
- var cnt = 0;
- var preDrugno = ds_grd_tmedlist.getColumn(0, "drugno");
- Drugno[cnt] = ds_grd_tmedlist.getColumn(0, "drugno");
-
- for(var i = 0; i < nodeCnt; i++){
- if(preDrugno != ds_grd_tmedlist.getColumn(i, "drugno") && !utlf_isNull(ds_grd_tmedlist.getColumn(i, "drugno"))){
- cnt++;
- Drugno[cnt] = ds_grd_tmedlist.getColumn(i, "drugno");
- preDrugno = ds_grd_tmedlist.getColumn(i, "drugno");
- }
- }
- return Drugno;
- }
- ]]></Script>
|