123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345 |
- /*
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- 마취환자기록 ( SPMMR06000_마취환자기록PCA.xrw - JScript )
- - Version :
- 1) : Ver.1.00.01 2008-07-05
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- */
- var instcd = "012";
- var anstrecno = "";
- var currentdate = "";
- /**
- * @desc : 폼초기화 ( PCA TYPE , PCA MODE , 처방목록 가져오기 )
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fFormInit()
- {
- anstrecno = window.opener.iv_anstinfo.model.getValue("/root/main/anstinfo/anstrecno");
- // 현재일시
- currentdate = getCurrentDate() + getCurrentTime();
- model.setValue("/root/send/reqdata/currentdate" , currentdate);
- // PCA TYPE 목록 (SET)
- model.setValue("/root/send/reqdata/settype", "P");
- model.setValue("/root/send/reqdata/clscd", "5");
- submit("TRMMR06000","","/root/send/reqdata", "/root/init/pcatypelist/item");
- // PCA MODE 목록 (공통코드)
- zbcfGetCodeList(new Array("M0482"), new Array("/root/init/M0482"));
- model.refresh();
- // 용법 가져오기..
- copyNodeset("/root/hidden/tmedmthd/tmedmthdlist", "/root/hidden/tmedmthd/tmedmthdlist", "replace", model, window.parent.iv_anstprcp.model);
- model.refresh();
- // 마취환자의 PCA type, mode, total vol 정보를 가져옴
- var pcatypecd = window.opener.iv_anstinfo.model.getValue("/root/main/anstinfo/pcatypecd");
- var pcamodecd = window.opener.iv_anstinfo.model.getValue("/root/main/anstinfo/pcamodecd");
- var pcatotvol = window.opener.iv_anstinfo.model.getValue("/root/main/anstinfo/pcatotvol");
- model.setValue("/root/main/pcainfo/pcatypecd", pcatypecd);
- model.setValue("/root/main/pcainfo/pcamodecd", pcamodecd);
- model.setValue("/root/main/pcainfo/pcatotvol", pcatotvol);
- model.setValue("/root/send/reqdata/pcatypecd", pcatypecd);
- model.setValue("/root/send/reqdata/pcamodecd", pcamodecd);
- model.refresh();
- // PCA type 에 따른 처방셋 조회
- fPrcpSetItemDisplay();
- // 마취환자의 PCA 처방 정보를 가져옴
- copyNodeset("/root/main/prcplist/item", "/root/main/anstprcp/item[pcaflag='Y']", "replace", model, window.parent.iv_anstprcp.model);
- model.refresh();
- // 전체 선택을 위한 그리드 셋..
- grd_prcpset.fixedcellcheckbox(0,0) = true;
- // 사용자 직종에 따른 권한 버튼 처리.
- // 의사 : 0330
- // 1. 저장버튼
- var drChkFlag = fGetHardCDList("1");
- if (drChkFlag == "true")
- {
- grp_pca.disabled = false;
- }
- }
- /**
- * @group : PCA TYPE 목록 선택시 SET 아이템 보여주기
- * @ver : 2007-08-24
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc :
- * @---------------------------------------------------
- */
- function fPrcpSetItemDisplay()
- {
- model.setValue("/root/send/setinfo/setcd",cbo_pcatype.value);
- // 현재일시
- currentdate = getCurrentDate() + getCurrentTime();
- model.setValue("/root/send/setinfo/currentdate" , currentdate);
- // 마취처방 SET 아이템 조회하기..
- submit("TRMMR04206");
- }
- /**
- * @desc : 노드셋 갯수 구하기
- * @
- * @param :
- * @
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function getNodeList(strPath) {
- var node = instance1.selectNodes(strPath);
- if(node == null)
- return 0;
- return node;
- }
- /**
- * @desc : 마우스 오른쪽 버튼 팝업창
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fMouseRghtBtnPopup(gridObj, job)
- {
- if (event.button == 3) {
- if (gridObj.isCell(event.target)) {
- if (job == "prcp") {
- window.setPopupMenu(true, "/root/hidden/menu6/menu", "label", "func", false);
- }
- } else {
- window.setPopupMenu(false);
- }
- } else {
- window.setPopupMenu(false);
- }
- }
- /**
- * @desc : 적용 버튼 클릭
- * @param :
- * @
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fAddBtnClick(prcptype, clscd)
- {
- // type, mode
- var pcatypecd = model.getValue("/root/send/reqdata/pcatypecd");
- var pcamodecd = model.getValue("/root/send/reqdata/pcamodecd");
- model.setValue("/root/main/pcainfo/pcatypecd", pcatypecd);
- model.setValue("/root/main/pcainfo/pcamodecd", pcamodecd);
- model.refresh();
- // type, mode 일반정보에 set 하기
- window.parent.iv_anstinfo.model.makeValue("/root/main/anstinfo/pcatypecd", pcatypecd);
- window.parent.iv_anstinfo.model.makeValue("/root/main/anstinfo/pcamodecd", pcamodecd);
- window.parent.iv_anstinfo.model.refresh();
- fAddAnstPrcp(grd_prcpset,"/root/main/prcpsetitem/item");
- copyNodeset("/root/main/prcplist/item", "/root/main/anstprcp/item[pcaflag='Y']", "replace", model, window.parent.iv_anstprcp.model);
- model.refresh();
- }
- /**
- * @desc : type, mode, totvol 정보 넘겨주기
- * @
- * @param :
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fSendData()
- {
- var pcatypecd = model.getValue("/root/main/pcainfo/pcatypecd");
- var pcamodecd = model.getValue("/root/main/pcainfo/pcamodecd");
- var pcatotvol = model.getValue("/root/main/pcainfo/pcatotvol");
-
- window.opener.iv_anstinfo.model.makeValue("/root/main/anstinfo/pcatypecd", pcatypecd);
- window.opener.iv_anstinfo.model.makeValue("/root/main/anstinfo/pcamodecd", pcamodecd);
- window.opener.iv_anstinfo.model.makeValue("/root/main/anstinfo/pcatotvol", pcatotvol);
- window.opener.iv_anstinfo.model.refresh();
-
- window.close();
- }
- /**
- * @desc : 처방추가 버튼 클릭시 처방목록에 추가한다.
- * @param :
- * @
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fAddAnstPrcp(gridObj, ref)
- {
- // 처방목록 노드
- var AddRef = "/root/main/anstprcp/item";
- // 노드 갯수를 가져온후 노드 하나를 추가한다.
- var dataCnt = getNodesetCnt(window.parent.iv_anstprcp.model, AddRef);
- // agent, drug, fluid, blood, prog
- for (var i=1 ; i < gridObj.rows ; i++) {
- var checked = model.getValue(ref+"[" + i + "]/checked");
- if (checked == "true") {
- var prcpcd = model.getValue(ref+"[" + i + "]/prcpcd");
- if (prcpcd != "" && prcpcd != null) {
- var prcptype = model.getValue(ref+"[" + i + "]/prcptype");
- var clscd = model.getValue(ref+"[" + i + "]/clscd");
- var prcpnm = model.getValue(ref+"[" + i + "]/prcpnm");
- var abbrnm = model.getValue(ref+"[" + i + "]/abbrnm");
- var prcpvol = model.getValue(ref+"[" + i + "]/prcpvol");
- var prcpvolunitnm = model.getValue(ref+"[" + i + "]/prcpvolunitnm");
- var drugmthdcd = model.getValue(ref+"[" + i + "]/drugmthdcd");
- var prcpappyn = model.getValue(ref+"[" + i + "]/prcpappyn");
- var totvolyn = model.getValue(ref+"[" + i + "]/totvolyn");
- var sortno = model.getValue(ref+"[" + i + "]/sortno");
- model.setValue(ref+"[" + i + "]/checked", "false");
- // 처방목록에 처방코드가 있는가?
- var cntprcpcd = getNodesetCnt(window.parent.iv_anstprcp.model, AddRef+"[prcpcd = '" + prcpcd + "']");
-
- if (cntprcpcd > 0 && prcptype != "F") {
- alert("이미 추가되었습니다. - [" + prcpnm+ "]");
- /** 처방은 한번만 한다..................................2007.10.09.
- // 처방코드가 있다면 용량만 더하자..
- for (var j=1 ; j <= dataCnt ; j++) {
- var tmpprcpcd = model.getValue(AddRef+"[" + j + "]/prcpcd");
- if (prcpcd == tmpprcpcd) {
- var tmpprcpvol = model.getValue(AddRef+"["+ j +"]/prcpvol");
- prcpvol = Number(prcpvol) + Number(tmpprcpvol);
- model.setValue(AddRef+"["+ j +"]/prcpvol", prcpvol);
- break;
- }
- }
- */
- } else {
- // 처방코드가 없다면 추가하자..
- var checkValue = window.parent.iv_anstprcp.model.getValue(AddRef+"["+dataCnt+"]/prcpnm");
- if (checkValue != "" || dataCnt == "0") {
- dataCnt = dataCnt + 1;
- }
- // 2008.09.23. 어렵다..
- var prcpseqno = 0;
- for (var j=1 ; j <= dataCnt ; j++) {
- var tmp = window.parent.iv_anstprcp.model.getValue(AddRef+"["+ j +"]/prcpcd");
- if (tmp == prcpcd) {
- prcpseqno = window.parent.iv_anstprcp.model.getValue(AddRef+"["+ j +"]/prcpseqno");
- }
- }
- prcpseqno = parseInt(prcpseqno) + 1;
-
- window.parent.iv_anstprcp.model.makeValue(AddRef+"["+dataCnt+"]/prcpcd" , prcpcd);
- window.parent.iv_anstprcp.model.makeValue(AddRef+"["+dataCnt+"]/prcptype" , prcptype);
- window.parent.iv_anstprcp.model.makeValue(AddRef+"["+dataCnt+"]/prcpvol" , "");
- window.parent.iv_anstprcp.model.makeValue(AddRef+"["+dataCnt+"]/prcpvolunitnm" , prcpvolunitnm);
- window.parent.iv_anstprcp.model.makeValue(AddRef+"["+dataCnt+"]/prcpvolunitnm2", prcpvolunitnm);
- window.parent.iv_anstprcp.model.makeValue(AddRef+"["+dataCnt+"]/prcpnm" , prcpnm);
- window.parent.iv_anstprcp.model.makeValue(AddRef+"["+dataCnt+"]/abbrnm" , abbrnm);
- window.parent.iv_anstprcp.model.makeValue(AddRef+"["+dataCnt+"]/drugmthdcd" , drugmthdcd);
- window.parent.iv_anstprcp.model.makeValue(AddRef+"["+dataCnt+"]/recvol" , "");
- window.parent.iv_anstprcp.model.makeValue(AddRef+"["+dataCnt+"]/remark" , "");
- window.parent.iv_anstprcp.model.makeValue(AddRef+"["+dataCnt+"]/clscd" , clscd);
- window.parent.iv_anstprcp.model.makeValue(AddRef+"["+dataCnt+"]/prcpappyn" , prcpappyn);
- window.parent.iv_anstprcp.model.makeValue(AddRef+"["+dataCnt+"]/totvolyn" , totvolyn);
- window.parent.iv_anstprcp.model.makeValue(AddRef+"["+dataCnt+"]/sortno" , sortno);
- window.parent.iv_anstprcp.model.makeValue(AddRef+"["+dataCnt+"]/pcaflag" , "Y");
- window.parent.iv_anstprcp.model.makeValue(AddRef+"["+dataCnt+"]/checked" , checked);
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- window.parent.iv_anstprcp.model.makeValue(AddRef+"["+dataCnt+"]/prcpseqno" , prcpseqno);
- window.parent.iv_anstprcp.model.refresh();
- window.parent.javascript.fAddRow(prcptype, prcpcd, sortno, prcpseqno);
- }
- }
- }
- }
-
- // 그리드 정렬후 노드셋 정렬
- window.parent.iv_anstprcp.window.javascript.fSetAnstPrcp();
- // 메인 그리드 정렬
- window.parent.javascript.fGridSort();
- }
- /**
- * @desc : PCA 목록 삭제 메뉴 클릭시 처방목록에서 삭제하고 메인 그리드에서 삭제한다.
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDelPrcpList()
- {
- var gridObj = grd_anstprcp;
- var ref = "/root/main/prcplist/item";
- if (gridObj.row > 0 && gridObj.row < gridObj.rows)
- {
- var prcptype = model.getValue(ref+"["+ gridObj.row +"]/prcptype");
- var prcpcd = model.getValue(ref+"["+ gridObj.row +"]/prcpcd");
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- var prcpseqno = model.getValue(ref+"["+ gridObj.row +"]/prcpseqno");
-
- // 노드 갯수를 가져온후 노드 하나를 추가한다.
- var dataCnt = getNodesetCnt(window.parent.iv_anstprcp.model, "/root/main/anstprcp/item");
- for (var i = 1 ; i <= dataCnt ; i++)
- {
- var tmpprcpcd = window.parent.iv_anstprcp.model.getValue("/root/main/anstprcp/item["+ i +"]/prcpcd");
- var tmpprcpseqno = window.parent.iv_anstprcp.model.getValue("/root/main/anstprcp/item["+ i +"]/prcpseqno");
- if (tmpprcpcd == prcpcd && tmpprcpseqno == prcpseqno) {
- window.parent.iv_anstprcp.window.grd_anstprcp.row = i;
- window.parent.iv_anstprcp.window.javascript.fDelPrcpList();
- break;
- }
- }
- }
- copyNodeset("/root/main/prcplist/item", "/root/main/anstprcp/item[pcaflag='Y']", "replace", model, window.parent.iv_anstprcp.model);
- model.refresh();
- }
|