1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/*
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- 마취환자기록 ( SSMMR05800_마취환자기록마스터.xfdl - JScript )
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- */
- var instcd = "031";
- var anstrecno = "";
- var currentdate = "";
- var prcpmast_load = "";
- var prcpset_load = "";
- /**
- * @desc : 폼초기화 ( 마취환자 기록셋 & 기록항목 조회 )
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fFormInit()
- {
- anstrecno = parent.parent.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstrecno");
- // 기록 : default tab 처리
- sw_left1.tabindex = 0;
- // 현재일시
- currentdate = utlf_getCurrentDate() + utlf_getCurrentTime();
- ds_send_reqdata.setColumn(0,"currentdate" , currentdate);
- // 기록 Set 목록
- ds_send_reqdata.setColumn(0,"settype", "R");
- var oParam = {};
- oParam.id = "TRMMR04204";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetAnstSet";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_init_recsetlist=item";
- oParam.async = false;
- oParam.callback = "cf_TRMMR04204";
- tranf_submit(oParam);
-
- // 기록 Set Code
- var recsetcd = parent.parent.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"recsetcd");
- if (recsetcd == "0") { recsetcd = "-1"; }
- ds_send_reqdata.setColumn(0,"recsetcd", recsetcd);
- if (recsetcd == "-1") {
- // 마취기록 마스터 정보 조회
- var oParam = {};
- oParam.id = "TRMMR04201";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetRecMast";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_recmast_item=item";
- oParam.async = false;
- oParam.callback = "cf_TRMMR04201";
- tranf_submit(oParam);
- } else {
- ds_send_setinfo.setColumn(0,"instcd" , instcd);
- ds_send_setinfo.setColumn(0,"settype", "R");
- ds_send_setinfo.setColumn(0,"setcd" , recsetcd);
- // 현재일시
- currentdate = utlf_getCurrentDate() + utlf_getCurrentTime();
- ds_send_setinfo.setColumn(0,"currentdate" , currentdate);
- dsf_setTypeFormat(ds_send_setinfo, "setcd:INT");
- // 마취기록 SET 아이템 조회하기..
- var oParam = {};
- oParam.id = "TRMMR04205";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetRecSetItem";
- oParam.inds = "setinfo=ds_send_setinfo";
- oParam.outds = "ds_recmast_item=item";
- oParam.async = false;
- oParam.callback = "cf_TRMMR04205";
- tranf_submit(oParam);
- }
- if (anstrecno != "0")
- {
- // 마취기록번호
- ds_send_reqdata.setColumn(0,"anstrecno", anstrecno);
- // 마취환자 기록 조회
- var oParam = {};
- oParam.id = "TRMMR03704";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetAnstRec";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_anstrec_item=item";
- oParam.async = false;
- oParam.callback = "cf_TRMMR03704";
-
- tranf_submit(oParam);
-
- }
- prcpmast_load = "";
- }
- function cf_TRMMR03704(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0)
- {
- return;
- }
- else
- {
- // 마취환자 기록 체킹해주기
- fAnstRecChecked(ds_anstrec_item, sw_left1.case_rec.grd_recmast, "recitem", "checked", "rec", "rectype", "recnm", "subrec");
- }
-
- }
- function cf_TRMMR04204(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
-
- }
- function cf_TRMMR04204_2(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0)
- {
- return;
- }
- else
- {
- // SET 목록 콤보 리셋하기..
-
- ds_init_setlist1.filterstr = "clscd == '"+ sw_left1.case_set.rdo_settype.value + "'";
-
- // 콤보에 셋코드를 선택해주기...
- ds_send_setinfo.setColumn(0,"setcd",ds_hidden.getColumn(0,"prcpsetcd"));
- }
-
-
- }
- function cf_TRMMR04205(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- }
- function cf_TRMMR04205_2(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0)
- {
- return;
- }
- else
- {
-
- // 마취환자 기록 체킹해주기
- fAnstRecChecked(ds_anstrec_item, sw_left1.case_rec.grd_recmast, "recitem", "checked", "rec", "rectype", "recnm", "subrec");
- }
-
-
- }
- /**
- * @desc : 처방 SET 조회
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fPrcpSetLoad()
- {
- sw_left1.visible = true;
- if (prcpset_load != "Y") {
- // 전체 선택을 위한 그리드 셋..
- // grd_agent01.fixedcellcheckbox(0,0) = true;
- //grd_prcpset.fixedcellcheckbox(0,0) = true;
- grdf_initGrid(sw_left1.case_set.grd_prcpset);
- var setclscd = ds_send_reqdata.getColumn(0,"setclscd");
- if (utlf_isNull(setclscd)) {
- ds_send_reqdata.setColumn(0,"setclscd","1");
- // 그리드 초기화
- if (ds_prcpsetitem_item.rowcount> 1) {
- ds_prcpsetitem_item.clearData();
- }
- // 처방 SET 수술별 조회
- fComboSetlist();
- }
- prcpset_load = "Y";
- }
- }
- /**
- * @desc : 처방 마스터 조회
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fPrcpMastLoad()
- {
- utlf_addLog(">>>>> fPrcpMastLoad : " + prcpmast_load + " >>>>>>");
- sw_left1.visible = true;
- if (prcpmast_load != "Y") {
- if(ds_send_req.rowcount == 0)
- {
- ds_send_req.addRow();
- }
- // 용법조회 (주사약)
- ds_send_req.setColumn(0,"cond1" , "I");
- ds_send_req.setColumn(0,"cond2" , 1);
- ds_send_req.setColumn(0,"cond3" , "");
- dsf_setTypeFormat(ds_send_req, "cond2:INT");
- var oParam = {};
- oParam.id = "TRMMR03710";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetTmedTthdInfo";
- oParam.inds = "req=ds_send_req";
- oParam.outds = "ds_hidden_tmedmthdlist=tmedmthdlist";
- oParam.async = false;
- oParam.callback = "cf_TRMMR03710";
- tranf_submit(oParam);
- //공통코드 가져오기...
- //M0287:drug 소분류
- //zbcfGetCodeList(new Array("M0287"), new Array("/root/init/M0287"));
- var arrParam = [{dsNm: "ds_init_M0287", cdGrpId: "M0287"}
- ]
- appf_getCodeList(arrParam); //공통코드 조회
- ds_init_M0287.insertRow(0);
- ds_init_M0287.setColumn(0,"cdnm","전체");
- // Agent 시작일시, 종료일시 적용을 위한 기본 셋
- ds_hidden.setColumn(0,"agentfromdd", parent.parent.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstfromdd"));
- ds_hidden.setColumn(0,"agentfromtm", parent.parent.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstfromtm"));
- ds_hidden.setColumn(0,"agenttodd" , parent.parent.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"ansttodd"));
- ds_hidden.setColumn(0,"agenttotm" , parent.parent.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"ansttotm"));
- // 처방마스터 정보 조회
- ds_send_reqdata.setColumn(0,"clscd","");
- ds_send_reqdata.setColumn(0,"prcptype","");
-
- var oParam = {};
- oParam.id = "TRMMR04202";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetPrcpMast";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_prcpmast_item=item";
- oParam.async = false;
- oParam.callback = "cf_TRMMR04202";
- tranf_submit(oParam);
-
-
-
-
- // 2008.01.04. drug... 소분류는 "많이쓰는약" 으로 디폴트 처리한다..
-
- ds_send_reqdata.setColumn(0,"clscd", "01");
- sw_left1.case_drug.cmb_clscd.value = "01";
- ds_send_reqdata.setColumn(0,"prcptype","D");
- ds_send_reqdata.setColumn(0,"currentdate",utlf_getCurrentDate());
-
- var oParam = {};
- oParam.id = "TRMMR04202_drug";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetPrcpMast";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_drug_item=item";
- oParam.async = false;
- oParam.callback = "cf_TRMMR04202_drug";
-
- tranf_submit(oParam);
-
-
- // 혈액리스트 조회
- fGetBlodList();
- prcpmast_load = "Y";
- }
-
- //20131106 Start 처방 검색 후 DRUG가 세팅 안되는 오류 수정
-
- ds_grd_search.clearData();
-
- //20131106 End
- }
- function cf_TRMMR04202(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0)
- {
- return;
- }
- else
- {
-
- ds_prcpmast_item.addColumn("checked","string");
- ds_prcpmast_item.addColumn("depth","string");
-
- ds_prcpmast_item.filter("prcptype == 'A'");
- ds_agent_item.copyData(ds_prcpmast_item,true);
- ds_prcpmast_item.filter("prcptype == 'D'");
- ds_drug_item.copyData(ds_prcpmast_item,true);
- ds_prcpmast_item.filter("prcptype == 'F'");
- ds_fluid_item.copyData(ds_prcpmast_item,true);
- ds_prcpmast_item.filter("prcptype == 'H'");
- ds_blod_item.copyData(ds_prcpmast_item,true);
- ds_prcpmast_item.filter("prcptype == 'P'");
- ds_proc_item.copyData(ds_prcpmast_item,true);
- ds_prcpmast_item.filter("");
-
- ds_agent_item.filter("clscd == '01'");
- ds_agent_item.applyChange();
- ds_agent01_item.copyData(ds_agent_item,true);
-
- ds_agent_item.filter("clscd == '02'");
- ds_agent_item.applyChange();
- ds_agent02_item.copyData(ds_agent_item,true);
- ds_agent_item.filter("clscd == '03'");
- ds_agent_item.applyChange();
- ds_agent03_item.copyData(ds_agent_item,true);
- ds_agent_item.filter("clscd == '04'");
- ds_agent_item.applyChange();
- ds_agent04_item.copyData(ds_agent_item,true);
- ds_agent_item.filter("");
-
- fDisplayAgent01();
- }
-
- }
- function cf_TRMMR03710(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- }
- /**
- * @desc : Inhalational Agent 인 경우 시작일시, 종료일시 셋해주기
- * @
- * @param :
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fSetTimeAgent01()
- {
- ds_hidden.setColumn(0,"agentfromdd", parent.parent.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstfromdd"));
- ds_hidden.setColumn(0,"agentfromtm", parent.parent.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstfromtm"));
- ds_hidden.setColumn(0,"agenttodd" , parent.parent.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"ansttodd"));
- ds_hidden.setColumn(0,"agenttotm" , parent.parent.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"ansttotm"));
- }
- /**
- * @desc : Inhalational Agent : 별도로 Display (항목 선택해 주고, 시작일시, 종료일시 다시 보여주기)
- * @
- * @param :
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fDisplayAgent01()
- {
- // Inhalational Agent 인 경우 시작일시, 종료일시 셋해주기
- var agentfromdd = ds_hidden.getColumn(0,"agentfromdd");
- var agentfromtm = ds_hidden.getColumn(0,"agentfromtm");
- var agenttodd = ds_hidden.getColumn(0,"agenttodd");
- var agenttotm = ds_hidden.getColumn(0,"agenttotm");
- var dataCnt = ds_agent01_item.rowcount;
-
- ds_agent01_item.addColumn("drugfromdd","string");
- ds_agent01_item.addColumn("drugfromtm","string");
- ds_agent01_item.addColumn("drugtodd","string");
- ds_agent01_item.addColumn("drugtotm","string");
- ds_agent01_item.addColumn("checked","string");
-
- for (var i=0 ; i < dataCnt ; i++) {
- ds_agent01_item.setColumn(i,"drugfromdd", agentfromdd);
- ds_agent01_item.setColumn(i,"drugfromtm", agentfromtm);
- ds_agent01_item.setColumn(i,"drugtodd", agenttodd);
- ds_agent01_item.setColumn(i,"drugtotm", agenttotm);
- }
- //var prcpRef = "/root/main/anstprcp/item";
- var prcpCnt = parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.rowcount;
- // 전체 처방목록 중 Agent 의 소분류 01 (Inhalational Agent) 체킹해 주기
- if (anstrecno != "0") {
- for (var i=0 ; i <= prcpCnt ; i++) {
- var prcptype = parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.getColumn(i,"prcptype");
- var clscd = parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.getColumn(i,"clscd");
- if (prcptype == "A" && clscd == "01") {
- var prcpcd = parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.getColumn(i,"prcpcd");
- // 처방코드가 있는가?
- var dataCnt = ds_agent01_item.getCaseCount("prcpcd == '"+ prcpcd +"'");
- if (dataCnt > 0) {
- ds_agent01_item.setColumn(ds_agent01_item.findRowExpr("prcpcd == '"+ prcpcd +"'"),"checked", "true");
- var remark = parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.lookup("prcpcd", prcpcd, "remark");
- var tmpString = remark.split(".");
- if (tmpString.length == 4) {
- if (tmpString[0].length != 0) {
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.findRowExpr("prcpcd == '"+ prcpcd +"'"),"drugfromdd",tmpString[0].replace(".",""));
- }
- if (tmpString[1].length != 0) {
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.findRowExpr("prcpcd == '"+ prcpcd +"'"),"drugfromtm",tmpString[1].replace(".",""));
- }
- if (tmpString[2].length != 0) {
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.findRowExpr("prcpcd == '"+ prcpcd +"'"),"drugtodd" ,tmpString[2].replace(".",""));
- }
- if (tmpString[3].length != 0) {
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.findRowExpr("prcpcd == '"+ prcpcd +"'"),"drugtotm" ,tmpString[3].replace(".",""));
- }
- }
- }
- }
- }
- }
- }
- /**
- * @desc : 저장된 기록 정보를 그리드 트리뷰 에 체킹 표시하고 기록명칭의 추가기록도 보여준다
- * @
- * @param :
- * @
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fAnstRecChecked(dsObj:Dataset, gridObj:Grid, levlColNm, checkedColNm, recColNm, rectypeColNm, recnmColNm, subrecColNm)
- {
- var dsgridObj = objects[gridObj.binddataset];
- for (var i=0 ; i < dsgridObj.rowcount ; i++) {
- dsgridObj.setColumn(i,checkedColNm, "false");
- dsgridObj.setColumn(i,subrecColNm, "");
- }
- var dataCnt = dsObj.rowcount;
-
-
- //그리드 트리뷰 에 체킹 표시
- for (var i = 0 ; i < dataCnt ; i++) {
-
- var recitem = dsObj.getColumn(i,levlColNm);
- var rectype = dsObj.getColumn(i, rectypeColNm);
- var recnm = dsObj.getColumn(i, recnmColNm);
- var subrec = dsObj.getColumn(i, subrecColNm);
- for (var j=0 ; j < dsgridObj.rowcount; j++) {
- var tmplevl = dsgridObj.getColumn(j, levlColNm);
- if (tmplevl == recitem) {
- dsgridObj.setColumn(j, checkedColNm, "true");
-
- if (rectype == "R" || rectype == "P") {
- if (!utlf_isNull(subrec)) {
- dsgridObj.setColumn(j,recColNm, fDisplayRec(recnm, subrec));
- dsgridObj.setColumn(j,subrecColNm,subrec);
- }
- }
- break;
- }
- }
- }
- }
- /**
- * @desc : 추가기록 정보 보여주기
- * @
- * @param :
- * @
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fDisplayRec(recnm, subrec)
- {
- var recnmdata = recnm.split("_");
- if (recnmdata.length == 2) {
- recnm = recnmdata[0].replace("_","") + subrec + recnmdata[1].replace("_","");
- } else {
- recnm = recnm + " " + subrec;
- }
- return recnm;
- }
- /**
- * @desc : 추가기록 (예 : 몰핀 @ 수량 @ mg. -> 몰핀 45 mg. )
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fAddSubRec()
- {
-
- // 선택 Row
- var selectedRow = ds_recmast_item.rowposition;
- ds_hidden.setColumn(0,"selectedrec", selectedRow);
- // checked 가 "true" 인가?
- var checked = ds_recmast_item.getColumn(selectedRow,"checked");
- if (checked == "true") {
- // subrec (추가기록정보가 있으면 input box에 적어주기
- var subrec = ds_recmast_item.getColumn(selectedRow,"subrec");
- ds_hidden.setColumn(0,"subrec", subrec);
-
- // 팝업으로 보여주자!!!
- fShowWndIptBox("subrec");
- } else {
- ds_hidden.setColumn(0,"subrec", "");
-
- }
- }
- /**
- * @desc : 그리드 트리뷰인 경우 선택에 의해 선택항목 체킹하여 bold체로 표현한다.
- * @ checked 가 true 이면 상위항목도 checked 를 true 로 한다.
- * @ checked 가 false 이면 하위항목도 checked 를 false 로 한다.
- * @param :
- * @ gridObj : grid 객체
- * @ depthColNm : depth 컬럼 참조
- * @ levlColNm : 레벨 컬럼 참조
- * @ suplevlColNm : 상위레벨 컬럼 참조
- * @ checkedCol : checked 컬럼 참조
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fSetChecked(gridObj:Grid, depthColNm, levlColNm, suplevlColNm, checkedColNm)
- {
- // 선택된 로우에 대한 처리
- var dsgridObj = objects[gridObj.binddataset];
-
- var depth = dsgridObj.getColumn(dsgridObj.rowposition,depthColNm);
- var levl = dsgridObj.getColumn(dsgridObj.rowposition,levlColNm);
- var suplevl = dsgridObj.getColumn(dsgridObj.rowposition,suplevlColNm);
- var checked = dsgridObj.getColumn(dsgridObj.rowposition,checkedColNm);
- var checkedCol = gridObj.getBindCellIndex("body",checkedColNm);
-
-
- if (checked == "true") {
-
- for (var i = dsgridObj.rowposition; i >= 0 ; i--) {
-
- var tmpdepth = dsgridObj.getColumn(i,depthColNm);
-
- var tmplevl = dsgridObj.getColumn(i,levlColNm);
- var tmpsuplevl = dsgridObj.getColumn(i,suplevlColNm);
- var tmpchecked = dsgridObj.getColumn(i,checkedColNm);
-
-
-
- if (tmpdepth < 1) {
- break;
- }
-
- if (tmplevl == suplevl) {
- if (tmpchecked == checked) {
- break;
- }
- dsgridObj.setColumn(i, checkedColNm, checked);
- suplevl = tmpsuplevl;
- }
-
- }
-
- } else {
-
- for (var i = dsgridObj.rowposition+1; i < dsgridObj.rowcount; i++) {
-
- var tmpdepth = dsgridObj.getColumn(i,depthColNm);
- var tmplevl = dsgridObj.getColumn(i,levlColNm);
- var tmpsuplevl = dsgridObj.getColumn(i,suplevlColNm);
-
- if (tmpdepth <= depth) {
- break;
- }
-
- dsgridObj.setColumn(i, checkedColNm, checked);
-
- }
-
- }
- }
- /**
- * @desc : 처방마스터의 처방코드/처방명 검색
- * @param :
- * @
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fGetPrcpDrugClscd()
- {
- currentdate = utlf_getCurrentDate() + utlf_getCurrentTime();
- ds_send_reqdata.setColumn(0,"currentdate", currentdate);
-
- var clscd = sw_left1.case_drug.cmb_clscd.value;
- ds_send_reqdata.setColumn(0,"data", "");
- ds_send_reqdata.setColumn(0,"clscd", clscd);
- ds_send_reqdata.setColumn(0,"prcptype","D");
-
-
- var oParam = {};
- oParam.id = "TRMMR04202";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetPrcpMast";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_drug_item=item";
- oParam.async = false;
- oParam.callback = "cf_TRMMR04202_drug";
-
-
- tranf_submit(oParam);
- }
- /**
- * @desc : 처방마스터의 처방코드/처방명 검색
- * @param :
- * @
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fSearchPrcpMast()
- {
- currentdate = utlf_getCurrentDate() + utlf_getCurrentTime();
- ds_send_reqdata.setColumn(0,"currentdate", currentdate);
- ds_send_reqdata.setColumn(0,"prcptype", "");
- ds_send_reqdata.setColumn(0,"clscd", "");
- var data = utlf_transNullToEmpty(sw_left1.case_search.ipt_search.value);
- ds_send_reqdata.setColumn(0,"data", data.toUpperCase());
-
- var oParam = {};
- oParam.id = "TRMMR04202";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetPrcpMast";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_grd_search=item";
- oParam.async = false;
- oParam.callback = "cf_TRMMR04202_search";
-
- tranf_submit(oParam);
- }
- function cf_TRMMR04202_search(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- ds_grd_search.addColumn("checked","string");
-
- }
- /**
- * @desc : Agent, Drug, Fluid, Blood, Proc 에서의 처방추가 버튼 클릭
- * @param :
- * @
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fAddBtnClick(prcptype, clscd)
- {
- if (prcptype == "A") {
- if (clscd == "02") {
- fAddAnstPrcp(sw_left1.case_agent.grd_agent02,ds_agent02_item);
-
- ds_agent_item.filter("clscd == '02'");
-
- ds_agent02_item.copyData(ds_agent_item,true);
- ds_agent_item.filter("");
- } else if (clscd == "03") {
- fAddAnstPrcp(sw_left1.case_agent.grd_agent03,ds_agent03_item);
- ds_agent_item.filter("clscd == '03'");
-
- ds_agent03_item.copyData(ds_agent_item,true);
- ds_agent_item.filter("");
- } else if (clscd == "04") {
- fAddAnstPrcp(sw_left1.case_agent.grd_agent04,ds_agent04_item );
- ds_agent_item.filter("clscd == '04'");
- ds_agent04_item.copyData(ds_agent_item,true);
- ds_agent_item.filter("");
- }
- } else if (prcptype == "D") {
- fAddAnstPrcp(sw_left1.case_drug.grd_drug,ds_drug_item);
-
- ds_prcpmast_item.filter("prcptype == 'D'");
-
-
- ds_drug_item.copyData(ds_prcpmast_item,true);
- ds_prcpmast_item.filter("");
-
- // 2008.01.04. drug... 선택한 소분류로 다시 조회하기..
- ds_send_reqdata.setColumn(0,"prcptype","D");
- ds_send_reqdata.setColumn(0,"currentdate",utlf_getCurrentDate());
- var oParam = {};
- oParam.id = "TRMMR04202_drug";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetPrcpMast";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_drug_item=item";
- oParam.async = false;
- oParam.callback = "cf_TRMMR04202_drug";
-
- tranf_submit(oParam);
- } else if (prcptype == "F") {
- fAddAnstPrcp(sw_left1.case_fluid.grd_fluid,ds_fluid_item);
- ds_prcpmast_item.filter("prcptype == 'F'");
- ds_fluid_item.copyData(ds_prcpmast_item,true);
- ds_prcpmast_item.filter("");
- } else if (prcptype == "H") {
- fAddAnstPrcp(sw_left1.case_fluid.grd_fluid,ds_blod_item);
- ds_prcpmast_item.filter("prcptype == 'H'");
- ds_blod_item.copyData(ds_prcpmast_item,true);
- ds_prcpmast_item.filter("");
- } else if (prcptype == "P") {
- fAddAnstPrcp(sw_left1.case_proc.grd_proc,ds_proc_item);
-
- ds_prcpmast_item.filter("prcptype == 'P'");
- ds_proc_item.copyData(ds_prcpmast_item,true);
- ds_prcpmast_item.filter("");
- } else if (prcptype == "S") {
- fAddAnstPrcp(sw_left1.case_set.grd_prcpset,ds_prcpsetitem_item);
- ds_prcpsetitem_item.copyData(ds_prcpset_item,true);
-
- } else if (prcptype == "Z") {
- fAddAnstPrcp(sw_left1.case_search.grd_search,ds_grd_search);
- //2014/01/03
-
- ds_grd_search.setColumn(ds_grd_search.rowposition,"checked","false");
- //2014/01/03
- }
-
- }
- function cf_TRMMR04202_drug(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- ds_drug_item.addColumn("checked","string");
-
- }
- /**
- * @desc : 처방추가 버튼 클릭시 처방목록에 추가한다.
- * @param :
- * @
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fAddAnstPrcp(gridObj, objDs:Dataset)
- {
- // 처방목록 노드
- //var AddRef = "/root/main/anstprcp/item";
- // 노드 갯수를 가져온후 노드 하나를 추가한다.
- var dataCnt =parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.rowcount;
- // agent, drug, fluid, blood, prog
- for (var i=0 ; i < objDs.rowcount ; i++) {
-
- if (objDs.getColumn(i,"checked") == "1")
- {
- objDs.setColumn(i,"checked","true");
- }
- var checked = objDs.getColumn(i,"checked");
-
- if (checked == "true" ) {
- var prcpcd = objDs.getColumn(i,"prcpcd");
- if (!utlf_isNull(prcpcd)) {
- var prcpcd = objDs.getColumn(i,"prcpcd");
- var prcptype = objDs.getColumn(i,"prcptype");
- var clscd = objDs.getColumn(i,"clscd");
- var prcpnm = objDs.getColumn(i,"prcpnm");
- var abbrnm = objDs.getColumn(i,"abbrnm");
- var prcpvol = objDs.getColumn(i,"prcpvol");
- var prcpvolunitnm = objDs.getColumn(i,"prcpvolunitnm");
- var drugmthdcd = objDs.getColumn(i,"drugmthdcd");
- var prcpappyn = objDs.getColumn(i,"prcpappyn");
- var totvolyn = objDs.getColumn(i,"totvolyn");
- var sortno = objDs.getColumn(i,"sortno");
- // 처방목록에 처방코드가 있는가?
- var cntprcpcd = parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.getCaseCount("prcpcd == '" + prcpcd + "'");
-
- if (cntprcpcd > 0 && prcptype != "F") {
- sysf_messageBox("이미 추가되었습니다. - [" + prcpnm+ "]", "E");
- } else {
- // 처방코드가 없다면 추가하자..
- var checkValue = parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.getColumn(dataCnt-1,"prcpnm");
-
- if (!utlf_isNull(checkValue) || dataCnt == "0") {
-
- dataCnt = parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.addRow();
-
- }
- // 2008.09.23. 어렵다..
- var prcpseqno = 0;
- for (var j=0 ; j < dataCnt ; j++) {
- var tmp = parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.getColumn(j,"prcpcd");
- if (tmp == prcpcd) {
- prcpseqno = parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.getColumn(j,"prcpseqno");
- }
- }
- prcpseqno = parseInt(prcpseqno) + 1;
-
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"prcpcd" , prcpcd);
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"prcptype" , prcptype);
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"prcpvol" , "");
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"prcpvolunitnm" , prcpvolunitnm);
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"prcpvolunitnm2", prcpvolunitnm);
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"prcpnm" , prcpnm);
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"abbrnm" , abbrnm);
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"drugmthdcd" , drugmthdcd);
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"recvol" , "");
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"remark" , "");
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"clscd" , clscd);
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"prcpappyn" , prcpappyn);
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"totvolyn" , totvolyn);
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"sortno" , sortno);
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"pcaflag" , "N");
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"checked" , checked);
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"prcpseqno" , prcpseqno);
- parent.parent.parent.parent.fAddRow(prcptype, prcpcd, sortno, prcpseqno);
- }
- }
- }
- }
-
- // 그리드 정렬후 노드셋 정렬
- parent.parent.case_anstprcp.iv_anstprcp.fSetAnstPrcp();
- // 메인 그리드 정렬
- //2014/05/16 이정택 수정
- parent.parent.parent.parent.fGridSort();
- //2014/05/16 이정택 수정
-
- //2012/12/26 Start 기록 & 처방에서 입력했을시에 오른쪽에 줄 반영
- parent.parent.parent.parent.fSetGrdColor();
- //2012/12/26 end
- }
- /**
- * @desc : 마우스 오른쪽 버튼 팝업창
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fMouseRghtBtnPopup(gridObj:Grid, job, e:GridMouseEventInfo)
- {
- if(e.row < 0 || e.col < 0) return;
- gridObj.setFocus();
-
- grdf_setSelectedCell(gridObj, e);
-
- gridObj.oncellclick.fireEvent(gridObj, new GridClickEventInfo());
-
- if (job == "subrec") {
- // checked "true" 이고 rectype 이 기록(R) 인 경우에만 팝업처리
- // checked 가 "true" 인가?
- var checked = gridObj.getCellText(gridObj.currentrow, gridObj.getBindCellIndex("body","checked"));
- if (checked == "true") {
- // rectype 이 기록(R) 인가?
- var rectype = gridObj.getCellText(gridObj.currentrow, gridObj.getBindCellIndex("body","rectype"));
- if (rectype == "R") {
- pmnmenu2.trackPopup(e.screenX,e.screenY);
- }
- }
- } else if (job == "search") {
- // 처방 에서 우클릭시 약품편람 팝업
- if (gridObj.currentrow >= 0) {
- pmnmenu7.trackPopup(e.screenX,e.screenY);
- }
- }
- }
- /**
- * @desc :마취기록 추가기록의 팝업
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fShowWndIptBox(job)
- {
- sw_left1.case_rec.grup_subrec.visible = false;
-
- if (job == "subrec") {
- if (system.clientToScreenY < 700) {
- sw_left1.case_rec.grup_subrec.position.top = system.clientToScreenY-70;
- } else {
- sw_left1.case_rec.grup_subrec.position.top = system.clientToScreenY-150;
- }
- sw_left1.case_rec.grup_subrec.visible = true;
- }
- }
- /**
- * @desc : 추가기록 내용 마취기록에 적용하기..
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fSendSubRec()
- {
- // 선택 Row
- var selectedRow = ds_hidden.getColumn(0,"selectedrec");
- if (selectedRow > 0) {
- // checked 가 "true" 인가?
- var checked = ds_recmast_item.getColumn(selectedRow,"checked");
- if (checked == "true") {
- // rectype 이 기록(R), 처방(P) 인가?
- var rectype = ds_recmast_item.getColumn(selectedRow,"rectype");
- if (rectype == "R" || rectype == "P") {
- var recnm = ds_recmast_item.getColumn(selectedRow,"recnm");
- var subrec = ds_hidden.getColumn(0,"subrec");
- ds_recmast_item.setColumn(selectedRow,"rec", fDisplayRec(recnm, subrec));
- ds_recmast_item.setColumn(selectedRow,"subrec", subrec);
- }
- }
- }
- sw_left1.case_rec.grup_subrec.visible = false;
- ds_recmast_item.filter("checked == 'true'");
- ds_recmast_item.applyChange();
- // 기록 마스터의 체크된 정보를 마취환자 기록 인스턴스에 카피노드 하기..
- ds_anstrec_item.copyData(ds_recmast_item,true);
- ds_recmast_item.filter("");
-
- // 마취기록 체킹해주기
- fAnstRecChecked(ds_anstrec_item, sw_left1.case_rec.grd_recmast, "recitem", "checked", "rec", "rectype", "recnm", "subrec");
- }
- /**
- * @group : SET 버튼 클릭시 SET 목록 조회하여 콤보 초기화 or 리셋
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc :
- * @---------------------------------------------------
- */
- function fComboSetlist()
- {
-
- ds_send_reqdata.setColumn(0,"settype","P");
-
- var oParam = {};
- oParam.id = "TRMMR04204";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetAnstSet";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_init_setlist=item";
- oParam.async = false;
- oParam.callback = "cf_TRMMR04204_2";
- tranf_submit(oParam);
-
- }
- /**
- * @group : SET 목록 조회 선택시 SET 아이템 보여주기
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc :
- * @---------------------------------------------------
- */
- function fRecSetItemDisplay()
- {
- var recsetcd = sw_left1.case_rec.cbo_recsetlist.value;
- parent.parent.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.setColumn(0,"recsetcd" , ds_send_reqdata.getColumn(0,"recsetcd"));
- ds_send_setinfo.setColumn(0,"instcd" , instcd);
- ds_send_setinfo.setColumn(0,"settype", "R");
- ds_send_setinfo.setColumn(0,"setcd" , recsetcd);
- // 현재일시
- currentdate = utlf_getCurrentDate() + utlf_getCurrentTime();
- ds_send_setinfo.setColumn(0,"currentdate" , currentdate);
- if (sw_left1.case_rec.cbo_recsetlist.value != "-1")
- {
- // 마취기록 SET 아이템 조회하기..
- dsf_setTypeFormat(ds_send_setinfo, "setcd:INT");
- var oParam = {};
- oParam.id = "TRMMR04205";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetRecSetItem";
- oParam.inds = "setinfo=ds_send_setinfo";
- oParam.outds = "ds_recmast_item=item";
- oParam.async = false;
- oParam.callback = "cf_TRMMR04205_2";
- tranf_submit(oParam);
- } else {
- // 마취기록 마스터 정보 조회
- var oParam = {};
- oParam.id = "TRMMR04201";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetRecMast";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_recmast_item=item";
- oParam.async = false;
- oParam.callback = "cf_TRMMR04205_2";
- tranf_submit(oParam);
- }
- }
- function cf_TRMMR04201(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
-
- }
- /**
- * @group : SET 목록 조회 선택시 SET 아이템 보여주기
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc :
- * @---------------------------------------------------
- */
- function fPrcpSetItemDisplay()
- {
- ds_send_setinfo.setColumn(0,"instcd",instcd);
- ds_send_setinfo.setColumn(0,"settype","P");
- ds_send_setinfo.setColumn(0,"setcd",sw_left1.case_set.cbo_setlist.value);
- // 현재일시
- currentdate = utlf_getCurrentDate() + utlf_getCurrentTime();
- ds_send_setinfo.setColumn(0,"currentdate" , currentdate);
- // 마취처방 SET 아이템 조회하기..
- dsf_setTypeFormat(ds_send_setinfo, "setcd:INT");
- var oParam = {};
- oParam.id = "TRMMR04206";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetPrcpSetItem";
- oParam.inds = "setinfo=ds_send_setinfo";
- oParam.outds = "ds_prcpset_item=item";
- oParam.async = false;
- oParam.callback = "cf_TRMMR04206";
- tranf_submit(oParam);
- //
-
- }
- function cf_TRMMR04206(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0)
- {
- return;
- }
- else
- {
- ds_prcpset_item.addColumn("checked","string");
- ds_prcpset_item.addColumn("depth","string");
- ds_prcpset_item.addColumn("remark","string");
- ds_prcpset_item.addColumn("recvol","string");
-
- ds_prcpsetitem_item.copyData(ds_prcpset_item);
- }
-
- }
- /**
- * @desc : 종료일시 적용 (선택된 Inhalational Agent)
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetAnstToDt()
- {
- // 2007.12.13. 마취시작시간을 확인한다.. 마취시작시간이랑 선택할 시작시간이 같으면 선택시간 변경한다..
- var anstfromdt = parent.parent.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstfromdd") + parent.parent.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstfromtm");
- var agenttodd = parent.parent.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"ansttodd");
- var agenttotm = parent.parent.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"ansttotm");
- var todt = agenttodd + agenttotm;
- if (anstfromdt > todt)
- {
- alert("종료일시가 마취시작일시 보다 작습니다.");
- return;
- }
- for (var i=0 ; i < ds_agent01_item.rowcount ; i++) {
- var checked = ds_agent01_item.getColumn(i,"checked");
- var depth = ds_agent01_item.getColumn(i,"depth");
- if (checked == "true" && depth == "1") {
- ds_agent01_item.setColumn(i,"drugtodd",agenttodd);
- ds_agent01_item.setColumn(i,"drugtotm",agenttotm);
- }
- }
- sw_left1.case_agent.grd_agent01.redraw();
- }
- /**
- * @desc : col = checked : 처방 목록 체크박스 클릭시 처방목록에서 추가/삭제 하고 메인 그리드에서 추가/삭제한다.
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fCheckedPrcpA01(gridObj:Grid, objDs:Dataset, row)
- {
- if (gridObj.currentcol == gridObj.getBindCellIndex("body","checked")) {
- var checked = objDs.getColumn(row,"checked");
- var depth = objDs.getColumn(row,"depth");
- if ((checked == "false" || checked == "0") && depth == "1") {
- // 처방목록에서 삭제 하시겠습니까?
- var result = alert("처방목록에서 삭제 하시겠습니까?", "", 4 | 32 | 256);
- if (result == 6) { // yes
- // 삭제해주자
- fDelAnstPrcpA01(gridObj, objDs, row);
- } else {
- objDs.setColumn(row,"checked", "true");
- }
- } else if (checked == "true" || checked == "1") {
- // 추가해주자
- fAddAnstPrcpA01(gridObj, objDs, row);
- }
- }
- }
- /**
- * @desc : Agent 마스터 그리드 선택시 전체 처방 목록에 추가한다.
- * @ - Agent 의 소분류 01 (Inhalational Agent)
- * @ - 전체 처방목록에 있으면 skip
- * @param :
- * @
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fAddAnstPrcpA01(gridObj:Grid, objDs:Dataset, row)
- {
- var prcpcd = objDs.getColumn(row,"prcpcd");
- var prcptype = objDs.getColumn(row,"prcptype");
- var clscd = objDs.getColumn(row,"clscd");
- var prcpnm = objDs.getColumn(row,"prcpnm");
- var abbrnm = objDs.getColumn(row,"abbrnm");
- var prcpvol = objDs.getColumn(row,"prcpvol");
- var prcpvolunitnm = objDs.getColumn(row,"prcpvolunitnm");
- var drugmthdcd = objDs.getColumn(row,"drugmthdcd");
- var prcpappyn = objDs.getColumn(row,"prcpappyn");
- var totvolyn = objDs.getColumn(row,"totvolyn");
- var sortno = objDs.getColumn(row,"sortno");
-
- // 처방목록 노드
- //var AddRef = "/root/main/anstprcp/item";
-
- // 처방목록에 처방코드가 있는가?
- var cntprcpcd = parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.getCaseCount("prcpcd == '" + prcpcd + "'");
-
- // 처방목록에 처방코드가 없는가? add
- if ( cntprcpcd > 0 ) {
- alert("이미 추가되었습니다. - [" + prcpnm+ "]");
- return;
- } else {
- // 노드 갯수를 가져온후 노드 하나를 추가한다.
- var dataCnt = parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.rowcount;
- //var checkValue = parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.getColumn(dataCnt-1,"prcpnm");
-
- // 2008.09.23. 어렵다..
- var prcpseqno = 0;
- if(utlf_isNull(parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.lookup("prcpcd",prcpcd,"prcpseqno")))
- {
- prcpseqno = 0;
- }
- else
- {
- prcpseqno = utlf_transNullToEmpty(parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.lookup("prcpcd",prcpcd,"prcpseqno"));
- }
- prcpseqno = parseInt(prcpseqno) + 1;
- var newrow = parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.addRow();
-
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(newrow,"prcpcd" , prcpcd);
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(newrow,"prcptype" , prcptype);
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(newrow,"prcpvol" , "");
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(newrow,"prcpvolunitnm" , prcpvolunitnm);
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(newrow,"prcpvolunitnm2", prcpvolunitnm);
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(newrow,"prcpnm" , prcpnm);
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(newrow,"abbrnm" , abbrnm);
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(newrow,"drugmthdcd" , drugmthdcd);
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(newrow,"recvol" , "");
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(newrow,"remark" , "");
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(newrow,"clscd" , clscd);
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(newrow,"prcpappyn" , prcpappyn);
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(newrow,"totvolyn" , totvolyn);
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(newrow,"sortno" , sortno);
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(newrow,"pcaflag" , "N");
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(newrow,"checked" , "true");
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(newrow,"prcpseqno" , prcpseqno);
- // 그리드 정렬후 노드셋 정렬
- parent.parent.case_anstprcp.iv_anstprcp.fSetAnstPrcp();
- parent.parent.parent.parent.fAddRow(prcptype, prcpcd, sortno, prcpseqno);
- // 메인 그리드 정렬
- parent.parent.parent.parent.fGridSort();
- // 2008.10.03. 검색에서 찾은 처방코드를 선택해 주자~~
-
- ds_agent01_item.setColumn(ds_agent01_item.findRowExpr("prcpcd=='" + prcpcd + "'"),"checked","true");
- }
- }
- /**
- * @desc : Agent 마스터 그리드 선택 취소시 전체 처방 목록에 삭제한다.
- * @ - Agent 의 소분류 01 (Inhalational Agent)
- * @ - 전체 처방목록에서 del
- * @param :
- * @
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fDelAnstPrcpA01(gridObj, objDs:Dataset, row)
- {
- // 처방목록 노드
- // 노드 갯수를 가져오기
- var dataCnt = parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.rowcount;
- var prcpcd = objDs.getColumn(row,"prcpcd");
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- var prcpseqno = objDs.getColumn(row,"prcpseqno");
- // 처방목록에 처방코드가 있는가? 삭제
- for (var j=0 ; j < dataCnt ; j++) {
- var tmpprcptype = parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.getColumn(j,"prcptype");
- var tmpclscd = parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.getColumn(j,"clscd");
- var tmpprcpcd = parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.getColumn(j,"prcpcd");
- var tmpprcpseqno= parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.getColumn(j,"prcpseqno");
- if (tmpprcptype == "A" && tmpclscd == "01" && tmpprcpcd == prcpcd && tmpprcpseqno == prcpseqno) {
- // 전체 처방목록의 항목 삭제
- parent.parent.case_anstprcp.iv_anstprcp.ds_anstprcp_item.deleteRow(j);
-
- // 투여일시 인스턴스도 삭제
- parent.parent.parent.parent.fDestroyAnstItem(ds_anstitem, prcpcd, prcpseqno);
- // 그리드 정렬후 노드셋 정렬
- parent.parent.case_anstprcp.iv_anstprcp.fSetAnstPrcp();
- break;
- }
- }
- }
- /**
- * @group : 혈액리스트 조회
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc :
- * @---------------------------------------------------
- */
- function fGetBlodList()
- {
- //pid = "12158831";
- //ioflag = "o";
- ds_send_reqdata.setColumn(0,"pid" , parent.parent.case_anstinfo.iv_anstinfo.pid);
- ds_send_reqdata.setColumn(0,"ioflag" , parent.parent.case_anstinfo.iv_anstinfo.ioflag);
- // prcpfromdd, prcptodd (수술예약등록일자, 수술확정일자)
- var prcpfromdd = parent.parent.case_anstinfo.iv_anstinfo.ds_oprsrvinfo.getColumn(0,"rgstdd");
- var prcptodd = parent.parent.case_anstinfo.iv_anstinfo.ds_oprsrvinfo.getColumn(0,"opcnfmdd");
- var ansttodd = parent.parent.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"ansttodd");
- ds_send_reqdata.setColumn(0,"prcpfromdd" ,prcpfromdd);
- ds_send_reqdata.setColumn(0,"prcptodd" ,prcptodd);
- ds_send_reqdata.setColumn(0,"ansttodd" ,ansttodd);
- // 혈액리스트 조회하기..
- var oParam = {};
- oParam.id = "TRMMR03713";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetBlodList";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_blodlist_item=item";
- oParam.async = false;
- oParam.callback = "cf_TRMMR03713";
- tranf_submit(oParam);
- }
- function cf_TRMMR03713(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- }
- /**
- * @group : 약품편람 팝업처리
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc :
- * @---------------------------------------------------
- */
- function fDrugInfo() {
- frmf_modal ( "SMADB01900","SMADB01900","","","","","","","","","","","M" );
- }
- /**
- * @group : 혈액리스트 더블클릭시 혈액관련 처방항목 체크하여 항목추가한다.
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc :
- * @---------------------------------------------------
- */
- function fSetBlodChecked() {
-
- // 혈액리스트에서 선택된 혈액 처방코드를 읽는다.
- var prcpcd = ds_blodlist_item.getColumn(ds_blodlist_item.rowposition,"prcpcd");
- for (var i=0 ; i < ds_blod_item.rowcount ; i++) {
- var tempprcpcd = ds_blod_item.getColumn(i,"prcpcd");
- if (tempprcpcd == prcpcd) {
- ds_blod_item.setColumn(i,"checked", "true");
-
- break;
- }
- }
- if (i < ds_blod_item.rowcount ) {
- fAddBtnClick("H");
- } else {
- alert("마스터에 등록된 혈액종류가 아닙니다.");
- }
- }
- /**
- * @group : 혈액리스트 마우스 우클릭 후 혈액번호 복사 버튼 클릭 시 복사할 대상 행을 체크 할 수 있도록 UI visible
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc :
- * @---------------------------------------------------
- */
- function fSetBlodno()
- {
- ds_grd_blodcopylist.clearData();
-
- var rows = parent.parent.parent.parent.ds_grd_prog.rowcount;
- for(i=0; i<rows; i++)
- {
- ds_grd_blodcopylist.addRow();
- ds_grd_blodcopylist.setColumn(i,"seq", i+1);
- ds_grd_blodcopylist.setColumn(i,"chk", "");
-
- }
- //sw_left1.case_fluid.grup_blodcopyform.grd_blodcopylist.redraw();
- ds_grd_blodcopylist.rowposition = 0;
- sw_left1.case_fluid.grup_blodcopyform.visible = true;
- }
- /**
- * @group : 복사할 대상 행을 체크 하고 확인 버튼을 누르면 progress에 대상 혈액번호를 copy해준다.(single, multi)
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc :
- * @---------------------------------------------------
- */
- function fCopyBlodno()
- {
- sw_left1.case_fluid.grup_blodcopyform.visible = false;
-
- var seq = ds_grd_blodcopylist.lookup("chk" ,"1","seq");
- var blodno = "";
- var selectedRows = grdf_getSelectedRows( this.sw_left1.case_fluid.grd_blodlist);
-
- if (selectedRows.length > 1)
- {
- for(i=0; i<selectedRows.length ; i++ )
- {
- blodno = blodno + ds_blodlist_item.getColumn(selectedRows[i], "prepblodseqno") + ", "
- }
- }
- else
- {
- blodno = ds_blodlist_item.getColumn(ds_blodlist_item.rowposition,"prepblodseqno") + ", ";
- }
-
- var predata = utlf_transNullToEmpty(parent.parent.parent.parent.ds_grd_prog.getColumn(seq-1, "progrec"));
- if (!utlf_isNull(predata))
- {
- predata = predata + ", ";
- }
- parent.parent.parent.parent.ds_grd_prog.setColumn(seq -1 , "progrec", predata + blodno.substr(0, blodno.length-2));
- }
- ]]></Script>
|