123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313 |
- /*
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- 지시처방코드관리 ( SMMMB02100_지시처방코드관리.xrw - JScript )
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- */
- var sORDPRCPCDLIST_PATH = "/root/main/ordprcpcdlist/ordprcpcdlist";
- var sORDPRCPCDINFO_PATH = "/root/main/ordprcpcdinfo/ordprcpcdinfo";
- var sORDPRCPCDCOND_PATH = "/root/main/cond";
- /**
- * @desc : 화면 초기화
- * @
- * @param :
- * @event :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fInitialize_SMMMB02100(){
- var paramcond = opener.javascript.getParameter("SMMMB02300_param");
- if(paramcond.length > 1){
- paramcond = paramcond.split("▦");
- model.setValue(sORDPRCPCDCOND_PATH + "/currentdd", paramcond[1]);
- fReqOrdPrcpCD();
- var curRow = grd_ordprcpcdlist.findRow(paramcond[0], 1, 0);
- fDispOrdPrcpDetl(curRow);
- }else{
- model.removeNodeset(sORDPRCPCDLIST_PATH);
- }
- zbcfGetCodeList(new Array("M0005"), new Array("/root/init/M0005"));
- zbcfGetDeptCodeList(getUserInfo("dutplceinstcd"), "insuuseyn", "", "/root/init/orddept" , "depthngnm"); //부서코드 콤보 조회
-
- var stnddd = ((getCurrentDate().toDate()).getAddDate(1)).getDateFormat(); //기준일자를 현재일에 하루를 더한 날짜로 설정
- model.setValue("/root/init/today", stnddd);
- model.setValue(sORDPRCPCDCOND_PATH + "/currentdd", model.getValue("/root/init/today"));
- model.refresh();
- }
- /**
- * @desc : 지시처방 신규 등록
- * @
- * @param :
- * @event : 버튼(btn_new)의 DOMActive
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fRgstNewOrdPrcpCD(){
- fInitOrdPrcpCD(); //지시처방
- var fromdd = model.getValue("/root/init/today");
- model.setValue(sORDPRCPCDINFO_PATH + "/fromdd", fromdd);
- model.setValue(sORDPRCPCDINFO_PATH + "/todd" , "99991231");
- model.setValue(sORDPRCPCDINFO_PATH + "/status", "i");
- model.setFocus("ipt_prcpnm");
- model.refresh();
- }
-
- /**
- * @desc : 지시처방화면 입력 및 버튼 활성화 및 비활성화 조정
- * @
- * @param : boolflag : true 비활성화, false 활성화
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fCtrlDisabled(boolflag){
- ipt_prcpnm.disabled = boolflag;
- cmb_grupsnglflag.disabled = boolflag;
- cmb_prcpinptflag.disabled = boolflag;
- cmb_prcpuseflag.disabled = boolflag;
- }
- /**
- * @desc : 지시처방 저장
- * @
- * @param :
- * @event : 버튼(btn_save)의 DOMActive
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fSaveOrdPrcpCD(){
- var status = model.getValue(sORDPRCPCDINFO_PATH + "/status");
- var prcpcd = model.getValue(sORDPRCPCDINFO_PATH + "/prcpcd");
- var prcpnm = model.getValue(sORDPRCPCDINFO_PATH + "/prcpnm");
- if(status != "i"){
- if(compareNodeVal("/root/main/ordprcpcdinfo/ordprcpcdinfo", "/root/temp/ordprcpcdinfo/ordprcpcdlist") == true){
- model.setValue(sORDPRCPCDINFO_PATH + "/status", "u");
- //수정할 내용이 있는 경우
- }else{
- messageBox("저장할 내역이 ", "I004");
- return;
- }
- }
-
- var nodelist = instance1.selectNodes(sORDPRCPCDINFO_PATH);
- var condlist = instance1.selectNodes("/root/main/cond");
- model.removeNodeset("/root/send/savedata");
- model.makeValue("/root/send/savedata/save", getNodeListCSV(nodelist));
- model.makeValue("/root/send/savedata/cond", getNodeListCSV(condlist));
- submit("TXMMB02101");
-
- model.resetInstanceNode(sORDPRCPCDINFO_PATH);
- model.refresh();
- }
- /**
- * @desc : 지시처방 조회
- * @
- * @param :
- * @event : 버튼(btn_req)의 DOMActive
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fReqOrdPrcpCD(){
- model.copyNode("/root/send/reqdata", "/root/main/cond");
- submit("TRMMB02101");
- model.resetInstanceNode(sORDPRCPCDINFO_PATH);
- }
- /**
- * @desc : 지시처방코드 내역 상세 보기
- * @
- * @param : iRow
- * @event : 그리드(grd_ordprcpcdlist)의 click시 발생
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fDispOrdPrcpDetl(iRow){
- fMakePrcpClsNm(iRow); //지시처방분류명 Setting
- model.copyNode(sORDPRCPCDINFO_PATH, sORDPRCPCDLIST_PATH + "[" + iRow + "]");
- model.copyNode("/root/temp/ordprcpcdinfo/ordprcpcdlist", sORDPRCPCDLIST_PATH + "[" + iRow + "]");
-
- var grupsnglflag = model.getValue(sORDPRCPCDINFO_PATH + "/grupsnglflag");
- var prcplnkno = model.getValue(sORDPRCPCDINFO_PATH + "/direcprcplnkno");
- model.refresh();
- }
- /**
- * @desc : 처방분류팝업 열기
- * @
- * @param :
- * @event : 버튼(btn_prcpclsnm)의 DOMActive
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fOpenPrcpClsNm(){
- modal("SPMMB02100");
- var param = getParameter("param");
- var paramArray = param.split("▩");
- var useyn = paramArray[0];
- if(useyn == "Y"){ // 사용구분 y인 경우 처방분류코드를 설정해 줌
- var prcpclsnm = paramArray[2];
- var prcpclscd1 = paramArray[3];
- var prcpclscd2 = paramArray[4];
- var prcpclscd3 = paramArray[5];
-
- model.setValue(sORDPRCPCDINFO_PATH + "/prcpclsnm", prcpclsnm);
- model.setValue(sORDPRCPCDINFO_PATH + "/prcpclscd1", prcpclscd1);
- model.setValue(sORDPRCPCDINFO_PATH + "/prcpclscd2", prcpclscd2);
- model.setValue(sORDPRCPCDINFO_PATH + "/prcpclscd3", prcpclscd3);
- model.refresh();
- }
- }
- /**
- * @desc : 처방분류명 만들기 - 처방분류코드를 조합하여 ->를 구분자로 하는 String설정
- * @
- * @param : rowPos : 그리드의 Row 위치
- * @event :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fMakePrcpClsNm(rowPos){
- var prcpclscd2 = model.getValue(sORDPRCPCDLIST_PATH + "[" + rowPos + "]/prcpclscd2");
- var prcpclscd3 = model.getValue(sORDPRCPCDLIST_PATH + "[" + rowPos + "]/prcpclscd3");
-
- var prcpclsnm1 = model.getValue(sORDPRCPCDLIST_PATH + "[" + rowPos + "]/prcpclsnm1");
- var prcpclsnm2 = model.getValue(sORDPRCPCDLIST_PATH + "[" + rowPos + "]/prcpclsnm2");
- var prcpclsnm3 = model.getValue(sORDPRCPCDLIST_PATH + "[" + rowPos + "]/prcpclsnm3");
-
- var prcpclsnm = prcpclsnm1;
- if(prcpclscd2 != "00"){
- prcpclsnm = prcpclsnm + "->" + prcpclsnm2;
- }
- if(prcpclscd3 != "00"){
- prcpclsnm = prcpclsnm + "->" + prcpclsnm3;
- }
- model.setValue(sORDPRCPCDLIST_PATH + "[" + rowPos + "]/prcpclsnm", prcpclsnm);
- model.refresh();
- }
- /**
- * @desc : 처방분류팝업 열기(조회조건)
- * @
- * @param :
- * @event : 버튼(btn_prcpclsnm)의 DOMActive
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fOpenPrcpClsNmCond(){
- modal("SPMMB02100");
- var param = getParameter("param");
- var paramArray = param.split("▩");
- var useyn = paramArray[0];
- if(useyn == "Y"){ // 사용구분 y인 경우 처방분류코드를 설정해 줌
- var prcpclsnm = paramArray[2];
- var prcpclscd1 = paramArray[3];
- var prcpclscd2 = paramArray[4];
- var prcpclscd3 = paramArray[5];
- model.setValue("/root/main/cond/prcpclsnm", prcpclsnm);
- model.setValue("/root/main/cond/prcpclscd1", prcpclscd1);
- model.setValue("/root/main/cond/prcpclscd2", prcpclscd2);
- model.setValue("/root/main/cond/prcpclscd3", prcpclscd3);
- model.refresh();
- }
- }
- /**
- * @desc : 처방구분 변경시, 지시처방에 포함되지 않는 코드 선택시 에러메시지를 띄운다.
- * @
- * @param :
- * @event : 버튼(btn_prcpclsnm)의 DOMActive
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fChngPrcpClsCD(){
- var prcpclscd = model.getValue("/root/main/ordprcpcdinfo/ordprcpcdinfo/prcpclscd");
- var fstword = prcpclscd.substr(0,1);
- if(fstword != "0"){
- messageBox(cmb_prcpcls.label + "은(는) 지시처방에 포함", "E001");
- model.setValue("/root/main/ordprcpcdinfo/ordprcpcdinfo/prcpclscd", "00");
- }
- model.refresh();
- }
- /**
- * @desc : 처방분류 입력란을 클릭시 조회 조건을 clear함.
- * @
- * @param :
- * @event :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fClrPrcpClsCond(){
- model.setValue("/root/main/cond/prcpclscd1", "");
- model.setValue("/root/main/cond/prcpclscd2", "");
- model.setValue("/root/main/cond/prcpclscd3", "");
- model.setValue("/root/main/cond/prcpclsnm" , "");
- model.refresh();
- }
- /**
- * @desc : 지시처방코드 삭제
- * @
- * @param :
- * @event :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fDelOrdPrcpCD(){
- var status = model.getValue(sORDPRCPCDINFO_PATH + "/status");
- var prcpnm = model.getValue(sORDPRCPCDINFO_PATH + "/prcpnm");
- if(status != "i"){
- var rtnval = messageBox("지시처방 [" + prcpnm + "] ", "Q001");
- //alert(rtnval);
- if(rtnval == 6){ //'예'인 경우
- model.setValue(sORDPRCPCDINFO_PATH + "/status", "d");
- }else if(rtnval == 7){ //'아니오'인 경우
- return;
- }
- var nodelist = instance1.selectNodes(sORDPRCPCDINFO_PATH);
- var condlist = instance1.selectNodes("/root/main/cond");
- model.removeNodeset("/root/send/savedata");
- model.makeValue("/root/send/savedata/save", getNodeListCSV(nodelist));
- model.makeValue("/root/send/savedata/cond", getNodeListCSV(condlist));
- submit("TXMMB02101");
-
- model.resetInstanceNode(sORDPRCPCDINFO_PATH);
- model.refresh();
- }
- }
- /**
- * @desc : 지시처방 초기화
- * @
- * @param :
- * @event : 버튼(btn_reset)의 DOMActive
- * @return :
- * @---------------------------------------------------
- */
- function fInitOrdPrcpCD(){
- model.resetInstanceNode(sORDPRCPCDINFO_PATH);
- model.setValue(sORDPRCPCDINFO_PATH + "/prcpuseflag", "A");
- model.setValue(sORDPRCPCDINFO_PATH + "/grupsnglflag", "S");
- model.setValue(sORDPRCPCDINFO_PATH + "/prcpinptflag", "-");
- model.refresh();
- }
|