123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/*
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- 마취환자기록 ( SSMMR05900_마취환자기록처방목록.xrw - JScript )
- - Version :
- 1) : Ver.1.00.01 2008-06-23
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- */
- /**
- * @desc : 폼초기화
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fFormInit(send_anstrecno, nOpcnfmdd)
- {
- anstrecno = send_anstrecno;
- ds_anstprcp_item.clearData();
- ds_anstprcp_item.addRow();
- //ds_anstitem.clearData();
- //ds_anstitem.addRow();
- ds_send_req.clearData();
- 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);
-
- // 2016.09.30 현재 시점에서 작성 시점으로 변경
- var currentdate = utlf_getCurrentDate() + utlf_getCurrentTime();
- if( !utlf_isNull(nOpcnfmdd) )
- currentdate = nOpcnfmdd;
-
- ds_send_reqdata.setColumn(0,"currentdate", currentdate);
- if (anstrecno != "0") {
- // 마취기록번호
- ds_send_reqdata.setColumn(0,"anstrecno", anstrecno);
- // 마취환자 처방 조회
- dsf_setTypeFormat(ds_send_reqdata, "anstrecno:INT");
- var oParam = {};
- oParam.id = "TRMMR03705";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetAnstPrcp";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_anstprcp_item=item";
- oParam.async = false;
- oParam.callback = "cf_TRMMR03705";
- tranf_submit(oParam);
- // 마취환자 처방 투여일시 조회
- var oParam = {};
- oParam.id = "TRMMR03708";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetAnstDrugDt";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_anstitem=item";
- oParam.async = false;
- oParam.callback = "cf_TRMMR03708";
- tranf_submit(oParam);
-
- }
- }
- function cf_TRMMR03710(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- }
- function cf_TRMMR03705(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
-
- dsf_setTypeFormat(ds_anstprcp_item, "prcpseqno:INT");
- ds_anstprcp_item.addColumn("drugfromdd","string");
- ds_anstprcp_item.addColumn("drugfromtm","string");
- ds_anstprcp_item.addColumn("drugtodd","string");
- ds_anstprcp_item.addColumn("drugtotm","string");
-
- }
- function cf_TRMMR03708(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- dsf_setTypeFormat(ds_anstitem, "linkseqno:INT");
-
- }
- /**
- * @---------------------------------------------------
- * @desc : 마취환자 CDIS처방 투여일시 조회
- * @---------------------------------------------------
- */
- function searchAnstCdisItem(ps_anstrecno, ps_anstfromdt)
- {
- ds_send_reqdata.setColumn(0, "anstrecno", ps_anstrecno);
- ds_send_reqdata.setColumn(0, "anstfromdt", ps_anstfromdt);
-
- var oParam = {};
- oParam.id = "TRMMR03719";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetAnstCdisDrugDt";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_anstitem=item";
- oParam.async = false;
- //oParam.callback = "cf_TRMMR03719";
- tranf_submit(oParam);
- }
- // /**
- // * @desc : 마우스 오른쪽 버튼 팝업창
- // * @
- // * @param :
- // * @return :
- // * @---------------------------------------------------
- // *
- // */
- // function fMouseRghtBtnPopup(gridObj, job)
- // {
- // if (event.button == 3) {
- // if (gridObj.isCell(event.target)) {
- // if (job == "prcp") {
- // // 전체 처방 목록에서 우클릭시 삭제 팝업
- // if (gridObj.row > 0) {
- // window.setPopupMenu(true, "/root/hidden/menu6/menu", "label", "func", false);
- // } else {
- // window.setPopupMenu(false);
- // }
- // } else {
- // window.setPopupMenu(false);
- // }
- // } else {
- // window.setPopupMenu(false);
- // }
- // } else {
- // window.setPopupMenu(false);
- // }
- // }
- /**
- * @desc : 전체 처방 목록 삭제 메뉴 클릭시 처방목록에서 삭제하고 메인 그리드에서 삭제한다.
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDelPrcpList()
- {
- var gridObj = grd_anstprcp;
- //var ref = "/root/main/anstprcp/item";
- var prcptype = ds_anstprcp_item.getColumn(ds_anstprcp_item.rowposition,"prcptype");
- var prcpcd = ds_anstprcp_item.getColumn(ds_anstprcp_item.rowposition,"prcpcd");
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- var prcpseqno= ds_anstprcp_item.getColumn(ds_anstprcp_item.rowposition,"prcpseqno");
- // 전체 처방 목록에 삭제시 Agent 마스터 그리드 선택 취소 후 인스턴스 삭제처리함.
- fCheckedAnstPrcpA01();
- // 투여일시 인스턴스도 삭제
- fDestroyAnstItem(prcpcd, prcpseqno);
- // 메인 그리드의 처방코드 삭제
- fDeleteRow(prcptype, prcpcd, prcpseqno);
- // 처방목록에 처방코드가 있는가? del
- ds_anstprcp_item.deleteRow(ds_anstprcp_item.rowposition);
-
- }
- /**
- * @desc : 마취기록 메인 그리드에서 항목 로우 삭제하기...
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDeleteRow(linktype, linkcd, linkseqno)
- {
-
- // 처방 항목 delete..
- for (var k = 0 ; k < parent.parent.parent.parent.ds_grd_main.rowcount ; k++)
- {
- var grd_linktype = parent.parent.parent.parent.ds_grd_main.getColumn(k, parent.parent.parent.parent.col_linktype);
- var grd_linkcd = parent.parent.parent.parent.ds_grd_main.getColumn(k, parent.parent.parent.parent.col_linkcd);
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- var grd_linkseqno= parent.parent.parent.parent.ds_grd_main.getColumn(k, parent.parent.parent.parent.col_linkseqno);
- if (grd_linktype == linktype && grd_linkcd == linkcd && grd_linkseqno == linkseqno) {
-
- parent.parent.parent.parent.ds_grd_main.deleteRow(k);
- break;
- }
- }
- }
- /**
- * @desc : 전체 처방 목록에 삭제시 Agent 마스터 그리드 선택 취소
- * @ - Agent 의 소분류 01 (Inhalational Agent)
- * @param :
- * @
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fCheckedAnstPrcpA01()
- {
- var prcptype = ds_anstprcp_item.getColumn(ds_anstprcp_item.rowposition,"prcptype");
- var clscd = ds_anstprcp_item.getColumn(ds_anstprcp_item.rowposition,"clscd");
- var prcpcd = ds_anstprcp_item.getColumn(ds_anstprcp_item.rowposition,"prcpcd");
- var prcpappyn = ds_anstprcp_item.getColumn(ds_anstprcp_item.rowposition,"prcpappyn");
- // Agent 의 소분류 01 (Inhalational Agent)
- if (prcptype == "A" && clscd == "01" && prcpappyn == "N") {
- // 노드 갯수를 가져오기
- var dataCnt = parent.parent.parent.parent.grp_base.sw_left.case_anstmast.iv_anstmast.ds_agent01_item.rowcount;
- // 처방목록에 처방코드가 있는가? 삭제
- for (var j=0 ; j < dataCnt ; j++) {
- var tmpprcpcd = parent.parent.parent.parent.grp_base.sw_left.case_anstmast.iv_anstmast.ds_agent01_item.getColumn(j,"prcpcd");
- if (tmpprcpcd == prcpcd) {
- // Agent 의 소분류 01 (Inhalational Agent) 선택 취소
- parent.parent.parent.parent.grp_base.sw_left.case_anstmast.iv_anstmast.ds_agent01_item.setColumn(j,"checked", "false");
- break;
- }
- }
- }
- // Agent 의 소분류 01 (Inhalational Agent)
- if (prcptype == "A" && clscd == "01" && prcpappyn == "Y") {
- // 처방목록 노드
- // 노드 갯수를 가져오기
- var dataCnt = parent.parent.parent.parent.grp_base.sw_left.case_anstmast.iv_anstmast.ds_agent01y_item.rowcount;
- // 처방목록에 처방코드가 있는가? 삭제
- for (var j=0 ; j < dataCnt ; j++) {
- var tmpprcpcd = parent.parent.parent.parent.grp_base.sw_left.case_anstmast.iv_anstmast.ds_agent01y_item.getColumn(j,"prcpcd");
- if (tmpprcpcd == prcpcd) {
- // Agent 의 소분류 01 (Inhalational Agent) 선택 취소
- parent.parent.parent.parent.grp_base.sw_left.case_anstmast.iv_anstmast.ds_agent01y_item.setColumn(j,"checked", "false");
- break;
- }
- }
- }
- }
- /**
- * @desc : 전체 처방 목록에서 삭제되면 같은 처방코드의 투여일시 인스턴스도 삭제한다.
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDestroyAnstItem(linkcd, linkseqno)
- {
- var dataCnt = ds_anstitem.rowcount;
- for (var i=0 ; i < dataCnt ; i++) {
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- var tmplinkcd = ds_anstitem.getColumn(i,"linkcd");
- var tmplinkseqno = ds_anstitem.getColumn(i,"linkseqno");
- if (tmplinkcd == linkcd && tmplinkseqno == linkseqno) {
- // 처방코드가 같은가? del
- ds_anstitem.deleteRow(i);
- var linktype = ds_anstitem.getColumn(i,"linktype");
- // 데이타셋..
- dataCnt = dataCnt - 1;
- i = i - 1;
- }
- }
- }
- /**
- * @desc : 처방목록 그리드에 보여주기...
- * @param :
- * @
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fSetAnstPrcp()
- {
- dsf_setTypeFormat(ds_anstprcp_item, "sortno:BIGDECIMAL");
- ds_anstprcp_item.keystring = "";
- ds_anstprcp_item.keystring = "S:+prcptype+sortno+prcpnm+prcpseqno";
-
- }
- ]]></Script>
|