123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348 |
- /*
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- 수술방배정 ( SMMMO05900_수술방배정.xrw - JScript )
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- */
- var sASSGNDATA_PATH = "/root/temp/assgndata";
- var gSTATUS = ""; //신규등록:i, 수정:u
- var gANSTDEPT_CD = "";
- /**
- * @desc : 수술방배정
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fInitialize_SMMMO05900(){
- model.setValue("/root/main/assgninfo/appstartdd", getCurrentDate());
- model.setValue("/root/main/cond/stnddd" , getCurrentDate());
- model.setValue("/root/main/cond/fromdd" , getCurrentDate());
- model.setValue("/root/main/cond/todd" , "99991231");
- reqOpRoomList(getCurrentDate(), "/root/init/oproomlist", "total"); //전체 수술실 조회
- addComboInstance("/root/init/oproomlist", "oproomcd^oproomnm", "-^전체", "oproomlist"); //수술방 콤보 전체instance 추가
- model.setValue("/root/main/cond/oproomcd" , "-");
- zbcfGetDeptCodeList(getUserInfo("dutplceinstcd"), "orduseyn", "D", "/root/init/orddept", "depthngnm"); //부서코드 콤보 조회
- addComboInstance("/root/init/orddept", "deptcd^depthngnm", "-^전체", "dept"); //집도가 콤보 전체instance 추가
- model.removeNodeset("/root/main/assgnhist/assgnhist");
- model.removeNodeset("/root/main/assgnlist/assgnlist");
-
- //마취통증의학과
- reqHardCodeInfo("/root/send/reqdata", "/root/init/hardcd", 18);
- gANSTDEPT_CD = model.getValue("/root/init/hardcd/hardcd/hardcd");
- fReqOpRoomAssgnHistInfo();
- fReqOpRoomAssgnInfo();
- model.refresh();
- }
- /**
- * @desc : 수술방 배정 정보 등록
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fInsOpRoomAssgnInfo(){
- if(gANSTDEPT_CD == getUserInfo("dutplcecd") || getUserInfo("userid") == "EMR"){
- model.resetInstanceNode(sASSGNDATA_PATH);
- group1.attribute("height") = 175;
- caption16.attribute("text")= "수술방 배정 등록";
- model.setValue(sASSGNDATA_PATH + "/appstartdd", getCurrentDate());
- model.setValue(sASSGNDATA_PATH + "/appenddd" , "99991231");
- model.refresh();
- gSTATUS = "i";
- }else{
- messageBox("수술방 배정", "E002");
- return;
- }
- }
- /**
- * @desc : 수술방 배정 정보 저장
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fClkBtnCnfm(){
- if(fChkValidSaveData() == false){ //저장정보 유효성 검사
- return;
- }
- var cnt = 0;
- var savedata = "status▦oproomcd▦appenddd▦appstartdd▦usescheflag▦usedwflag▦perfdeptcd▦perfdrid▦perfdrid2▦orgappenddd▩";
- if(gSTATUS == "i"){ //신규등록인 경우
- var selectCellInfo = grd_assgnlist.selectedCells;
- for(var i = 0; i < selectCellInfo.length; i++){
- var row = grd_assgnlist.selectedCells.item(i).row;
- var col = grd_assgnlist.selectedCells.item(i).col;
- if(col == 5 || col == 10 || col == 15 || col == 19 || col == 24 || col == 29){
- var oproomcd = grd_assgnlist.valueMatrix(row, grd_assgnlist.colRef("oproomcd"));
- var usescheflag = grd_assgnlist.valueMatrix(row, grd_assgnlist.colRef("usescheflag"));
- var usedwflag = grd_assgnlist.valueMatrix(0 , col);
- switch(usedwflag){
- case "월" : var usedwflag = 2;var orgappenddd = grd_assgnlist.valueMatrix(grd_assgnlist.row, grd_assgnlist.colRef("monappenddd")); break;
- case "화" : var usedwflag = 3;var orgappenddd = grd_assgnlist.valueMatrix(grd_assgnlist.row, grd_assgnlist.colRef("tueappenddd")); break;
- case "수" : var usedwflag = 4;var orgappenddd = grd_assgnlist.valueMatrix(grd_assgnlist.row, grd_assgnlist.colRef("wedappenddd")); break;
- case "목" : var usedwflag = 5;var orgappenddd = grd_assgnlist.valueMatrix(grd_assgnlist.row, grd_assgnlist.colRef("thuappenddd")); break;
- case "금" : var usedwflag = 6;var orgappenddd = grd_assgnlist.valueMatrix(grd_assgnlist.row, grd_assgnlist.colRef("friappenddd")); break;
- case "토" : var usedwflag = 7;var orgappenddd = grd_assgnlist.valueMatrix(grd_assgnlist.row, grd_assgnlist.colRef("satappenddd")); break;
- }
- if(orgappenddd != "") { continue; } //적용종료일자가 있는 경우, 신규저장이 아니다. skip한다.
- var appstartdd = model.getValue(sASSGNDATA_PATH + "/appstartdd");
- var appenddd = model.getValue(sASSGNDATA_PATH + "/appenddd");
- var perfdeptcd = model.getValue(sASSGNDATA_PATH + "/perfdeptcd");
- var perfdrid = model.getValue(sASSGNDATA_PATH + "/perfdrid");
- var perfdrid2 = model.getValue(sASSGNDATA_PATH + "/perfdrid2");
- cnt++;
- var status = "i";
- savedata += status + "▦" +
- oproomcd + "▦" +
- appenddd + "▦" +
- appstartdd + "▦" +
- usescheflag + "▦" +
- usedwflag + "▦" +
- perfdeptcd + "▦" +
- perfdrid + "▦" +
- perfdrid2 + "▦" +
- appenddd + "▩";
- }
- }
- if(cnt == 0){
- messageBox("저장할 정보가", "I004");
- group1.attribute("height")=0;
- return;
- }else{
- model.removeNodeset("/root/send/savedata");
- model.makeValue("/root/send/savedata", savedata);
- if(submit("TXMMO05901")==true){
- group1.attribute("height") = 0;
- }
- }
- model.refresh();
- }else if(gSTATUS == "u"){ //수정인 경우
- var selectCellInfo = grd_assgnlist.selectedCells;
- for(var i = 0; i < selectCellInfo.length; i++){
- var row = grd_assgnlist.selectedCells.item(i).row;
- var col = grd_assgnlist.selectedCells.item(i).col;
- if(col == 5 || col == 10 || col == 15 || col == 19 || col == 24 || col == 29){
- var oproomcd = grd_assgnlist.valueMatrix(row, grd_assgnlist.colRef("oproomcd"));
- var usescheflag = grd_assgnlist.valueMatrix(row, grd_assgnlist.colRef("usescheflag"));
- var usedwflag = grd_assgnlist.valueMatrix(0 , col);
- switch(usedwflag){
- case "월" : var usedwflag = 2;var orgappenddd = grd_assgnlist.valueMatrix(grd_assgnlist.row, grd_assgnlist.colRef("monappenddd")); break;
- case "화" : var usedwflag = 3;var orgappenddd = grd_assgnlist.valueMatrix(grd_assgnlist.row, grd_assgnlist.colRef("tueappenddd")); break;
- case "수" : var usedwflag = 4;var orgappenddd = grd_assgnlist.valueMatrix(grd_assgnlist.row, grd_assgnlist.colRef("wedappenddd")); break;
- case "목" : var usedwflag = 5;var orgappenddd = grd_assgnlist.valueMatrix(grd_assgnlist.row, grd_assgnlist.colRef("thuappenddd")); break;
- case "금" : var usedwflag = 6;var orgappenddd = grd_assgnlist.valueMatrix(grd_assgnlist.row, grd_assgnlist.colRef("friappenddd")); break;
- case "토" : var usedwflag = 7;var orgappenddd = grd_assgnlist.valueMatrix(grd_assgnlist.row, grd_assgnlist.colRef("satappenddd")); break;
- }
- if(orgappenddd == "") { continue; } //적용종료일자가 없는 경우, 수정이 아니다. skip한다.
- var appstartdd = model.getValue(sASSGNDATA_PATH + "/appstartdd");
- var appenddd = model.getValue(sASSGNDATA_PATH + "/appenddd");
- var perfdeptcd = model.getValue(sASSGNDATA_PATH + "/perfdeptcd");
- var perfdrid = model.getValue(sASSGNDATA_PATH + "/perfdrid");
- var perfdrid2 = model.getValue(sASSGNDATA_PATH + "/perfdrid2");
- cnt++;
- var status = "u";
- savedata += status + "▦" +
- oproomcd + "▦" +
- appenddd + "▦" +
- appstartdd + "▦" +
- usescheflag + "▦" +
- usedwflag + "▦" +
- perfdeptcd + "▦" +
- perfdrid + "▦" +
- perfdrid2 + "▦" +
- orgappenddd + "▩";
- }
- }
- if(cnt == 0){
- messageBox("수정할 정보가", "I004");
- group1.attribute("height")=0;
- return;
- }else{
- model.removeNodeset("/root/send/savedata");
- model.makeValue("/root/send/savedata", savedata);
- if(submit("TXMMO05901")==true){
- group1.attribute("height") = 0;
- }
- }
- model.refresh();
- }
- }
- /**
- * @desc : 저장 버튼 클릭
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fClkBtnSave(){
- var oproomcd = model.getValue("/root/main/assgninfo/oproomcd");
- var appenddd = model.getValue("/root/main/assgninfo/appenddd");
- var appstartdd = model.getValue("/root/main/assgninfo/appstartdd");
- var usescheflag= model.getValue("/root/main/assgninfo/usescheflag");
- var usedwflag = model.getValue("/root/main/assgninfo/usedwflag");
- var perfdeptcd = model.getValue("/root/main/assgninfo/perfdeptcd");
- var perfdrid = model.getValue("/root/main/assgninfo/perfdrid");
- var perfdrid2 = model.getValue("/root/main/assgninfo/perfdrid2");
- savedata = "status▦oproomcd▦appenddd▦appstartdd▦usescheflag▦usedwflag▦perfdeptcd▦perfdrid▦perfdrid2▩";
- savedata += "i" + "▦" +
- oproomcd + "▦" +
- appenddd + "▦" +
- appstartdd + "▦" +
- usescheflag + "▦" +
- usedwflag + "▦" +
- perfdeptcd + "▦" +
- perfdrid + "▦" +
- perfdrid2 + "▩";
- submit("TXMMO05901");
- }
- /**
- * @desc : 수술방 배정 정보 수정
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fUpdtOpRoomAssgnInfo(){
- if(gANSTDEPT_CD != getUserInfo("dutplcecd")){
- messageBox("수술방 배정 ", "E002");
- return;
- }
- model.resetInstanceNode(sASSGNDATA_PATH);
- model.refresh();
- group1.attribute("height") = 175;
- caption16.attribute("text")= "수술방 배정 수정";
- model.setValue(sASSGNDATA_PATH + "/appstartdd", getCurrentDate());
- model.setValue(sASSGNDATA_PATH + "/appenddd" , "99991231");
- model.refresh();
- gSTATUS = "u";
- }
- /**
- * @desc : 수술방 배정 정보현황 조회
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fReqOpRoomAssgnInfo(){
- model.removeNodeset("/root/send/reqdata");
- model.makeValue("/root/send/reqdata/stnddd", model.getValue("/root/main/cond/stnddd"));
- submit("TRMMO05901");
- }
- /**
- * @desc : 수술방 배정 이력 조회
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fReqOpRoomAssgnHistInfo(){
- model.copyNode("/root/send/reqdata", "/root/main/cond");
- submit("TRMMO05902");
- }
- /**
- * @desc : 저장 정보 유효성 검사
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fChkValidSaveData(){
- var perfdeptcd = cmb_assgnperfdept.label;
- var perfdrid = cmb_assgnperfdrid.label;
- var perfdrid2 = cmb_assgnperfdrid2.label;
-
- if(perfdeptcd.length < 1){
- messageBox("집도과를", "C002");
- return false;
- }
-
- if(perfdrid.length < 1){
- messageBox("집도의를", "C002");
- return false;
- }
-
- if(perfdrid2.length < 1){
- messageBox("집도의2를", "C002");
- return false;
- }
- return true;
- }
- /**
- * @desc : 수술방 배정 정보 취소(삭제)
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fCnclOpRoomAssgnInfo(){
- var savedata = "status▦oproomcd▦appenddd▦appstartdd▦usescheflag▦usedwflag▦perfdeptcd▦perfdrid▦perfdrid2▦orgappenddd▩";
- var selectCellInfo = grd_assgnlist.selectedCells;
- for(var i = 0; i < selectCellInfo.length; i++){
- var row = grd_assgnlist.selectedCells.item(i).row;
- var col = grd_assgnlist.selectedCells.item(i).col;
- if(col == 5 || col == 10 || col == 15 || col == 19 || col == 24 || col == 29){
- var oproomcd = grd_assgnlist.valueMatrix(row, grd_assgnlist.colRef("oproomcd"));
- var usescheflag = grd_assgnlist.valueMatrix(row, grd_assgnlist.colRef("usescheflag"));
- var usedwflag = grd_assgnlist.valueMatrix(0 , col);
- switch(usedwflag){
- case "월" : var usedwflag = 2;var orgappenddd = grd_assgnlist.valueMatrix(grd_assgnlist.row, grd_assgnlist.colRef("monappenddd")); break;
- case "화" : var usedwflag = 3;var orgappenddd = grd_assgnlist.valueMatrix(grd_assgnlist.row, grd_assgnlist.colRef("tueappenddd")); break;
- case "수" : var usedwflag = 4;var orgappenddd = grd_assgnlist.valueMatrix(grd_assgnlist.row, grd_assgnlist.colRef("wedappenddd")); break;
- case "목" : var usedwflag = 5;var orgappenddd = grd_assgnlist.valueMatrix(grd_assgnlist.row, grd_assgnlist.colRef("thuappenddd")); break;
- case "금" : var usedwflag = 6;var orgappenddd = grd_assgnlist.valueMatrix(grd_assgnlist.row, grd_assgnlist.colRef("friappenddd")); break;
- case "토" : var usedwflag = 7;var orgappenddd = grd_assgnlist.valueMatrix(grd_assgnlist.row, grd_assgnlist.colRef("satappenddd")); break;
- }
- if(orgappenddd == "") { continue; } //적용종료일자가 없는 경우,
- var appstartdd = model.getValue(sASSGNDATA_PATH + "/appstartdd");
- var appenddd = model.getValue(sASSGNDATA_PATH + "/appenddd");
- var perfdeptcd = model.getValue(sASSGNDATA_PATH + "/perfdeptcd");
- var perfdrid = model.getValue(sASSGNDATA_PATH + "/perfdrid");
- var perfdrid2 = model.getValue(sASSGNDATA_PATH + "/perfdrid2");
- var status = "d";
- savedata += status + "▦" +
- oproomcd + "▦" +
- appenddd + "▦" +
- appstartdd + "▦" +
- usescheflag + "▦" +
- usedwflag + "▦" +
- perfdeptcd + "▦" +
- perfdrid + "▦" +
- perfdrid2 + "▦" +
- orgappenddd + "▩";
- }
- }
- model.removeNodeset("/root/send/savedata");
- model.makeValue("/root/send/savedata", savedata);
- if(submit("TXMMO05901")==true){
- }
- model.refresh();
- }
|