123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287 |
- /*
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- 마취환자기록 ( SSMMR05900_마취환자기록처방목록.xrw - JScript )
- - Version :
- 1) : Ver.1.00.01 2008-06-23
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- */
- /**
- 수술환자 parameter 구조 : mmohoprs수술예약정보 tbl의 정보를 기본으로 함
- var param = 구분자'T' + "▦" +
- 등록번호 :=pid + "▦" +
- 수술확정일자 :=opcnfmdd + "▦" +
- (생성번호) :=cretno + "▦" +
- 기관코드 :=instcd + "▦" +
- 집도과코드 :=perfdeptcd + "▦" +
- 집도의 :=perfdrid + "▦" +
- 환자구분 :=patflag + "▦" + ==> 외래(I), 입원(O), DSC(D), 응급(E)
- 처리구분'F' + "▦" +
- 수술예약번호 :=oprsrvno + "▦" +
- 수술이력번호 :=ophistno + "▦" +
- 조회일자;
- */
- /**
- * @desc : 폼초기화
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fFormInit(send_anstrecno, nOpcnfmdd)
- {
- anstrecno = send_anstrecno;
- // 용법조회 (주사약)
- model.setValue ( "/root/send/req/cond1" , "I");
- model.setValue ( "/root/send/req/cond2" , 1);
- model.setValue ( "/root/send/req/cond3" , "");
- submit("TRMMR03710");
-
- // 2016.09.30 현재 시점에서 작성 시점으로 변경
- var currentdate = getCurrentDate() + getCurrentTime();
- if( nOpcnfmdd != "" ){
- currentdate = nOpcnfmdd;
- }
- model.setValue("/root/send/reqdata/currentdate", currentdate);
- if (anstrecno != "0") {
- // 마취기록번호
- model.setValue("/root/send/reqdata/anstrecno", anstrecno);
- // 마취환자 처방 조회
- submit("TRMMR03705");
- // 마취환자 처방 투여일시 조회
- submit("TRMMR03708");
- }
- }
- /**
- * @---------------------------------------------------
- * @creat : 20110418
- * @author : 최원돈
- * @desc : 마취환자 CDIS처방 투여일시 조회
- * @---------------------------------------------------
- */
- function searchAnstCdisItem(ps_anstrecno, ps_anstfromdt)
- {
- model.setValue("/root/send/reqdata/anstrecno", ps_anstrecno);
- model.setValue("/root/send/reqdata/anstfromdt", ps_anstfromdt);
- submit("TRMMR03719");
- }
- /**
- * @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";
- 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");
- // 전체 처방 목록에 삭제시 Agent 마스터 그리드 선택 취소 후 인스턴스 삭제처리함.
- fCheckedAnstPrcpA01(gridObj, ref, gridObj.row);
- // 투여일시 인스턴스도 삭제
- fDestroyAnstItem("root/main/anstitem/item", prcpcd, prcpseqno);
- // 메인 그리드의 처방코드 삭제
- fDeleteRow(prcptype, prcpcd, prcpseqno);
- // 처방목록에 처방코드가 있는가? del
- model.destroy(ref+"["+ gridObj.row +"]");
- model.refresh();
- }
- }
- /**
- * @desc : 마취기록 메인 그리드에서 항목 로우 삭제하기...
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDeleteRow(linktype, linkcd, linkseqno)
- {
- // 처방 항목 delete..
- for (var k = 5 ; k < window.parent.grd_main.rows ; k++)
- {
- var grd_linktype = window.parent.grd_main.textMatrix(k, window.parent.javascript.col_linktype);
- var grd_linkcd = window.parent.grd_main.textMatrix(k, window.parent.javascript.col_linkcd);
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- var grd_linkseqno= window.parent.grd_main.textMatrix(k, window.parent.javascript.col_linkseqno);
- if (grd_linktype == linktype && grd_linkcd == linkcd && grd_linkseqno == linkseqno) {
- window.parent.grd_main.deleteRow(k);
- break;
- }
- }
- }
- /**
- * @desc : 전체 처방 목록에 삭제시 Agent 마스터 그리드 선택 취소
- * @ - Agent 의 소분류 01 (Inhalational Agent)
- * @param :
- * @
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fCheckedAnstPrcpA01(gridObj, ref, row)
- {
- var prcptype = model.getValue(ref+"[" + row + "]/prcptype");
- var clscd = model.getValue(ref+"[" + row + "]/clscd");
- var prcpcd = model.getValue(ref+"[" + row + "]/prcpcd");
- var prcpappyn = model.getValue(ref+"[" + row + "]/prcpappyn");
- // Agent 의 소분류 01 (Inhalational Agent)
- if (prcptype == "A" && clscd == "01" && prcpappyn == "N") {
- // 처방목록 노드
- var CheckRef = "/root/main/agent01/item";
- // 노드 갯수를 가져오기
- var dataCnt = getNodesetCnt(window.parent.iv_anstmast.model, CheckRef);
- // 처방목록에 처방코드가 있는가? 삭제
- for (var j=1 ; j <= dataCnt ; j++) {
- var tmpprcpcd = window.parent.iv_anstmast.model.getValue(CheckRef+"[" + j + "]/prcpcd");
- if (tmpprcpcd == prcpcd) {
- // Agent 의 소분류 01 (Inhalational Agent) 선택 취소
- window.parent.iv_anstmast.model.setValue(CheckRef+"[" + j + "]/checked", "false");
- window.parent.iv_anstmast.model.refresh();
- break;
- }
- }
- }
- // Agent 의 소분류 01 (Inhalational Agent)
- if (prcptype == "A" && clscd == "01" && prcpappyn == "Y") {
- // 처방목록 노드
- var CheckRef = "/root/main/agent01y/item";
- // 노드 갯수를 가져오기
- var dataCnt = getNodesetCnt(window.parent.iv_anstmast.model, CheckRef);
- // 처방목록에 처방코드가 있는가? 삭제
- for (var j=1 ; j <= dataCnt ; j++) {
- var tmpprcpcd = window.parent.iv_anstmast.model.getValue(CheckRef+"[" + j + "]/prcpcd");
- if (tmpprcpcd == prcpcd) {
- // Agent 의 소분류 01 (Inhalational Agent) 선택 취소
- window.parent.iv_anstmast.model.setValue(CheckRef+"[" + j + "]/checked", "false");
- window.parent.iv_anstmast.model.refresh();
- break;
- }
- }
- }
- }
- /**
- * @desc : 전체 처방 목록에서 삭제되면 같은 처방코드의 투여일시 인스턴스도 삭제한다.
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDestroyAnstItem(ref, linkcd, linkseqno)
- {
- var dataCnt = getNodesetCnt(model, ref);
- for (var i=1 ; i <= dataCnt ; i++) {
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- var tmplinkcd = model.getValue(ref+"["+ i +"]/linkcd");
- var tmplinkseqno = model.getValue(ref+"["+ i +"]/linkseqno");
- if (tmplinkcd == linkcd && tmplinkseqno == linkseqno) {
- // 처방코드가 같은가? del
- model.destroy(ref+"["+ i +"]");
- var linktype = model.getValue(ref+"["+ i +"]/linktype");
- // 데이타셋..
- dataCnt = dataCnt - 1;
- i = i - 1;
- }
- }
- model.refresh();
- }
- /**
- * @desc : 처방목록 그리드에 보여주기...
- * @param :
- * @
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fSetAnstPrcp()
- {
- var gridObj = grd_anstprcp;
- var colRef1 = "prcptype"; //구분
- var colRef2 = "sortno"; //sortno
- var colRef3 = "prcpnm"; //처방명
- var colRef4 = "prcpseqno"; //prcpseqno
- gridObj.colsort(gridObj.colRef(colRef1)) = "asc";
- gridObj.colsort(gridObj.colRef(colRef2)) = "asc";
- gridObj.colsort(gridObj.colRef(colRef3)) = "asc";
- gridObj.colsort(gridObj.colRef(colRef4)) = "asc";
- gridObj.sort(1, 0, gridObj.rows - 1, gridObj.cols - 1) = "usersort";
- gridObj.refresh();
- gridObj.gridToInstance();
- model.refresh();
- }
|