123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678 |
- /*
-
- 진료과별 의사 당직 관리 (ICU/응급실/병동)(SMMNE09000.xfm - JScript )
- - Version :
- 1) : Ver.1.00.01
- - Create : 2013.06.04
- */
- //당직스케줄 그리드의 수정상태값
- var isEdited = 'N';
- //당직 기준시간
- var gDStime = '';
- var gDEtime = '';
- var gD2Stime = '';
- var gD2Etime = '';
- var gNStime = '';
- var gNEtime = '';
- //당직표 수정 권한
- var gModifyAuth = 'N';
- //화면초기화
- function fInit(){
- var curym = getCurrentDate().substring(0, 6);
- var worktitle = curym.substring(0, 4) + '년 ' + curym.substring(4, 6) + '월 당직현황';
- cpt_worktitle.text = worktitle;
-
- model.makeValue("/root/cond/srchym", curym);
- model.refresh();
-
- model.removenode("/root/send");
- model.makeValue("/root/send/srchym", curym);
-
- // 당직 기준 ICU 가져오기
- submit("TRMNE09003");
-
- // 당직 기준 시간 가져오기
- submit("TRMNE09004");
-
- gDStime = model.getValue("/root/init/dutytime/dstime");
- gDEtime = model.getValue("/root/init/dutytime/detime");
-
- gD2Stime = model.getValue("/root/init/dutytime/d2stime");
- gD2Etime = model.getValue("/root/init/dutytime/d2etime");
-
- gNStime = model.getValue("/root/init/dutytime/nstime");
- gNEtime = model.getValue("/root/init/dutytime/netime");
-
- var sDStime = model.getValue("/root/init/dutytime/dstimenm");
- var sDEtime = model.getValue("/root/init/dutytime/detimenm");
-
- var sD2Stime = model.getValue("/root/init/dutytime/d2stimenm");
- var sD2Etime = model.getValue("/root/init/dutytime/d2etimenm");
-
- var sNStime = model.getValue("/root/init/dutytime/nstimenm");
- var sNEtime = model.getValue("/root/init/dutytime/netimenm");
-
- cap_worktime.text = "※ 근무시간: DAY - " + sDStime + " ~ " + sDEtime + ", DAY2 - " + sD2Stime + " ~ " + sD2Etime + ", NIGHT - " + sNStime + " ~ " + sNEtime;
-
- //당직표 수정 가능 부서를 제외하고는 저장 기능을 제한한다.
- var nodeList = instance1.selectNodes("root/init/icuinfo/moddeptlist[deptcd ="+ getUserInfo("dutplcecd") +"]");
- if( nodeList.length > 0) {
- //수정가능
- btn_save.disabled = false;
- gModifyAuth = 'Y';
- } else {
- //수정불가능
- btn_save.disabled = true;
- gModifyAuth = 'N';
- }
-
- var sInstcd = getUserInfo("dutplceinstcd");
- if(sInstcd = "031") {
- btn_info.visible = true;
- } else {
- btn_info.visible = false;
- }
- }
- //당직대상자리스트를 조회한다
- function fGetWorkScheduleList(){
-
- var srchym = model.getValue("/root/cond/srchym");
- //var icutype = model.getValue("/root/cond/icutype");
- var gbn = model.getValue("/root/cond/gbn");
- var icucd = model.getValue("/root/cond/icucd").substr(0, 10);
- var csflag = model.getValue("/root/cond/icucd").substr(10, 1);
-
- /*
- //당직 기준 진료과 가져오기
- model.makeValue("/root/send/srchym", srchym);
- model.makeValue("/root/send/gbn", gbn);
- model.makeValue("/root/send/icucd", icucd);
- model.makeValue("/root/send/csflag", csflag);
- submit("TRMNE05401");
-
- model.removenode("/root/main/drinfo");*/
-
- var worktitle = srchym.substring(0, 4) + '년 ' + srchym.substring(4, 6) + '월 당직현황';
- cpt_worktitle.text = worktitle;
- cpt_worktitle.refresh();
- model.removenode("/root/send");
- model.makeValue("/root/send/srchym", srchym);
- model.makeValue("/root/send/gbn", gbn);
- model.makeValue("/root/send/icucd", icucd);
- model.makeValue("/root/send/csflag", csflag);
- model.makeValue("/root/send/monthcnt", getDayCountForMonth(srchym.substring(0, 4), srchym.substring(4, 6))); //조회년월의 마지막일
-
- var rslt = "";
- rslt = submit("TRMNE09001");
-
- if( rslt ){
- //글로벌변수 초기화
- isEdited = 'N';
- //당직대상자의 선택제거
- grd_drlist.row = 0;
- //당직리스트의 선택제거
- grd_workerlist.row = 0;
-
- //당직리스트색깔 초기화
- for(var i = 2; i <= grd_workerlist.rows; i++){
- grd_workerlist.cellstyle("background-color", i, 0, i, 7) = '#ffffff';
- grd_workerlist.cellStyle("background-image", i, 0, i, 7) = '';
- }
- }
- }
- //그리드가 변경상태인지 조회한다.
- function isScheduleRefresh(isClose){
- var gbn = model.getValue("/root/cond/gbn");
-
- var drStr;
- for(var i = 1 ; i < grd_workerlist.rows; i++){
- if(instance1.selectSingleNode("/root/orgscheinfo/workinfo/workerinfolist[" + i + "]") != null){
- if(instance1.selectSingleNode("/root/orgscheinfo/workinfo/workerinfolist[" + i + "]").xml
- != instance1.selectSingleNode("/root/main/workerinfo/workerinfolist[" + i + "]").xml){
- isEdited = 'Y';
- drStr += model.getValue('/root/main/workerinfo/workerinfolist[' + i + ']/workdd') + '일자 변경';
- break;
- }
- }
- }
- if(isEdited == 'Y'){
- //20090703 dhkim 창을 닫을때와 새로 조회할때의 메세지를 다르게 구성 Q003(계속진행하시겠습니까?)
- if(isClose){
- var saveYn = messageBox('수정하신 스케줄을 저장하지 않고 창을 닫으시겠습니까?', 'Q');//Q: 6:예, 7:아니오.
- } else{
- var saveYn = messageBox('수정하신 스케줄을 저장하지 않고 새로운 내역을', 'Q005');//Q005:조회하시겠습니까? 6:예, 7:아니오.
- }
- if(saveYn == 6){
- return 'Y';
- } else{
- return 'N';
- }
- }
- }
- function fGetDrInfo() {
-
- var orddeptcd = model.getValue("/root/cond/orddeptcd");
- if (orddeptcd == "" || orddeptcd == null) {
- messageBox("선택된 진료과가 없습니다.", "E999");
- return false;
- }
-
- model.makeNode("/root/main/drinfo");
- model.removenode('/root/send');
- model.makeValue('/root/send/drinfo/orddeptcd', orddeptcd);
- model.makeValue('/root/send/drinfo/srchym', model.getValue('/root/cond/srchym'));
- model.makeValue('/root/send/drinfo/gbn', model.getValue('/root/cond/gbn'));
-
- if(!submit("TRMNE05402")){
- messageBox("진료과별 당직대상자 조회를 실패하였습니다.", "E999");
- return false;
- }
-
- for(var i = 1; i <= grd_drlist.rows; i++){
- if (i > 1) {
- j = i - 1;
- oldposcd = model.getValue("/root/main/drinfo/drinfolist[" + j + "]/jobposcd");
- newposcd = model.getValue("/root/main/drinfo/drinfolist[" + i + "]/jobposcd");
-
- if (oldposcd != newposcd) {
- grd_drlist.cellstyle("border-bottom-color", j, 0, j, 4) = '#ff0000';
- } else {
- grd_drlist.cellstyle("border-bottom-color", j, 0, j, 4) = '#C0C0C0';
- }
- }
- }
- }
- /**
- * @desc : 이전 년버튼 클릭시 - 전년도+월로 세팅
- * @
- * @param :
- * @return :
- * @author : dhkim 20090610
- * @---------------------------------------------------
- */
- function fClkBfYear(srchym){
-
- var yyear = srchym.substring(0, 4);
- var mmont = srchym.substring(4, 6);
-
- yyear--;
-
- srchym = yyear + mmont;
-
- model.setValue('/root/cond/srchym', srchym);
- model.refresh();
-
- btn_search.dispatch('DOMActivate');
- }
- /**
- * @desc : 다음 년버튼 클릭시 - 다음년도+월로 세팅
- * @
- * @param :
- * @return :
- * @author : dhkim 20090610
- * @---------------------------------------------------
- */
- function fClkAfYear(srchym){
-
- var yyear = srchym.substring(0, 4);
- var mmont = srchym.substring(4, 6);
-
- yyear++;
-
- srchym = yyear + mmont;
-
- model.setValue('/root/cond/srchym', srchym);
- model.refresh();
-
- btn_search.dispatch('DOMActivate');
- }
- /**
- * @desc : 이전 달버튼 클릭시 - 년도+전월 세팅
- * @
- * @param :
- * @return :
- * @author : dhkim 20090610
- * @---------------------------------------------------
- */
- function fClkBfMonth(srchym){
- var yyear = srchym.substring(0, 4);
- var mmont = srchym.substring(4, 6);
-
- mmont = mmont.toDate('MM').getAddDate(-1, "M").getDateFormat('MM');
- if(mmont == '12'){
- yyear--;
- }
- srchym = yyear + mmont;
-
- model.setValue('/root/cond/srchym', srchym);
- model.refresh();
-
- btn_search.dispatch('DOMActivate');
- }
- /**
- * @desc : 다음 달버튼 클릭시 - 년도+다음월 세팅
- * @
- * @param :
- * @return :
- * @author : dhkim 20090610
- * @---------------------------------------------------
- */
- function fClkAfMonth(srchym){
- var yyear = srchym.substring(0, 4);
- var mmont = srchym.substring(4, 6);
- mmont = mmont.toDate('MM').getAddDate(+1, "M").getDateFormat('MM');
- if(mmont == '01'){
- yyear++;
- }
- srchym = yyear + mmont;
-
- model.setValue('/root/cond/srchym', srchym);
- model.refresh();
-
- btn_search.dispatch('DOMActivate');
- }
- //셀색상을 선택색으로 변경되지 않도록 원래색상으로 유지한다
- function fSetCellColor(clickRow, clickCol, clickColNm){
- var curColor = grd_workerlist.cellstyle("background-color", clickRow, clickCol, clickRow, clickCol);
- grd_workerlist.cellstyle("background-color", clickRow, clickCol, clickRow, clickCol) = curColor;
- }
- /**
- * @group :
- * @ver : 2009.06.11
- * @by : dhkim
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 당직대상자 마우스 오른쪽메뉴 mouse down
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fMouseDownGridRow(){
- var rows = grd_workerlist.rows;
- var row = grd_workerlist.mouseRow-1;
- var col = grd_workerlist.mouseCol;
- if(row + 1 <= rows && rows > 2 && row > 0){
- if(event.button == 3){
- window.setPopupMenu(true, "/root/init/menu/item", "name", "func", false);
- }
- }else{
- window.setPopupMenu(false);
- }
- }
- function fSetWorkDr(setFlag){
- //선택된 당직대상자정보(id, nm)
- var drid = model.getValue('/root/main/drinfo/drinfolist[' + grd_drlist.row + ']/drid');
- var drnm = model.getValue('/root/main/drinfo/drinfolist[' + grd_drlist.row + ']/drnm');
- var orddeptcd = model.getValue('/root/main/drinfo/drinfolist[' + grd_drlist.row + ']/orddeptcd');
- var nzone = model.getValue('/root/main/drinfo/drinfolist[' + grd_drlist.row + ']/nzone');
- var hpno = model.getValue('/root/main/drinfo/drinfolist[' + grd_drlist.row + ']/hpno');
- var gbn = model.getValue('/root/cond/gbn');
- var csflag = model.getValue("/root/cond/icucd").substr(10, 1);
-
- if (drid == "" || drid == null) {
- messageBox("의사를 선택하세요", 'E999');
- return false;
- }
-
- //현재날짜+시간(yyyymmddhhss)
- var currentDD = getCurrentDateTime().replace(" ", "").substring(0, 8);
- var currentTM = getCurrentTime().substr(0, 4);
-
- var errYn = 'N'; //과거일자 선택여부
- var cells = grd_workerlist.selectedCells; //선택된 쎌의 배열
- var sRow, sCol, sColNm; //선택된 쎌의 row, col 값, 선택된 col의 필드명
- var selectedDD; //선택된일자
-
- for(var i = 0; i < cells.length; i++){
- sRowI = cells.item(i).row - 1;
- sRow = cells.item(i).row;
- sCol = cells.item(i).col;
- sColNm = grd_workerlist.colAttribute(sCol, "ref");
-
- seleDD = model.getValue('/root/main/workerinfo/workerinfolist[' + sRowI + ']/workdd');
- selGbn = model.getValue('/root/main/workerinfo/workerinfolist[' + sRowI + ']/gbn');
- selPlc = model.getValue('/root/main/workerinfo/workerinfolist[' + sRowI + ']/placecd');
-
- //현재일자보다 이전일자의 스케줄을 변경하지 못하게 blocking한다.(20140926 이윤주 처리예정)
- if (gModifyAuth != "Y" && seleDD < currentDD){
- errYn = 'Y';
- } else if (gModifyAuth != "Y" && seleDD == currentDD && currentTM > gNStime) {
- errYn = 'Y';
- } else if (gModifyAuth != "Y" && seleDD == currentDD && currentTM > gDStime && currentTM < gNStime && sColNm == "drnm_d") {
- errYn = 'Y';
- } else{
- if(sCol != 0){//일자셀 선택의 경우는 변경하지 않음
- //의사추가의경우
- if(setFlag == 'ADD'){
- //점검로직 추가
- if (fCheckValid(seleDD, selGbn, selPlc, sColNm, drid)) {
- //선택된 셀에 의사이름 세팅
- if (sColNm == "drnm_d") { //선택된 셀에 진료과 정보 세팅
- if (csflag == "" || csflag == null) {
- model.makeValue('/root/main/workerinfo/workerinfolist['+ sRowI + ']/ddeptcd', orddeptcd);
- }
- model.setValue('/root/main/workerinfo/workerinfolist['+ sRowI + ']/drnm_d', drnm);
- model.setValue('/root/main/workerinfo/workerinfolist['+ sRowI + ']/drid_d', drid);
- } else if (sColNm == "drnm_d2") { //선택된 셀에 진료과 정보 세팅
- if (csflag == "" || csflag == null) {
- model.makeValue('/root/main/workerinfo/workerinfolist['+ sRowI + ']/d2deptcd', orddeptcd);
- }
- model.setValue('/root/main/workerinfo/workerinfolist['+ sRowI + ']/drnm_d2', drnm);
- model.setValue('/root/main/workerinfo/workerinfolist['+ sRowI + ']/drid_d2', drid);
- } else if (sColNm == "drnm_n") { //선택된 셀에 진료과 정보 세팅
- if (csflag == "" || csflag == null) {
- model.makeValue('/root/main/workerinfo/workerinfolist['+ sRowI + ']/ndeptcd', orddeptcd);
- }
- model.setValue('/root/main/workerinfo/workerinfolist['+ sRowI + ']/drnm_n', drnm);
- model.setValue('/root/main/workerinfo/workerinfolist['+ sRowI + ']/drid_n', drid);
- }
-
- grd_workerlist.rowStatus(sRow) = "2";
-
- //선택된 쎌 색상 변경
- grd_workerlist.cellStyle('background-color', sRow, sCol) = "#F4A6EE";
- //지우개 이미지 삭제
- grd_workerlist.cellStyle("background-image", sRow, sCol) = '';
- }
- } else{ //의사삭제의경우
- //셀에 데이터가 세팅되어 있는경우만 삭제되게
- var drnm = model.getValue('/root/main/workerinfo/workerinfolist['+ sRowI + ']/' + sColNm);
- if(drnm != ''){
- //선택된 쎌에 의사이름 쎄팅
- model.setValue('/root/main/workerinfo/workerinfolist['+ sRowI + ']/drid' + sColNm.substring(4), '-');
-
- //선택된 쎌에 삭제 이미지 세팅
- grd_workerlist.cellStyle("background-image", sRow, sCol) = '../../../com/commonweb/images/icon_eraser.gif';
- grd_workerlist.cellStyle("background-position", sRow, sCol) = 'center';
-
- //배경색을 흰색으로 초기화
- grd_workerlist.cellStyle('background-color', sRow, sCol) = "#ffffff";
- }
- }
- }
- }
- }
-
- //과거일자만 빼고 나머지 일자는 변경가능하도록 한다
- if(errYn == 'Y'){
- messageBox('과거일자의 스케줄은 변경하실 수 없습니다.', 'E999');
- return false;
- }
-
- }
- function fSaveWorkDr(){
-
- model.removeNodeset("/root/send");
-
- var orddeptcd = model.getValue("/root/main/workerinfo/workerinfolist[1]/orddeptcd");
- var srchym = model.getValue("/root/cond/srchym");
- var gbn = model.getValue("/root/cond/gbn");
- var icucd = model.getValue("/root/cond/icucd").substr(0, 10);
- var csflag = model.getValue("/root/cond/icucd").substr(10, 1);
- var drid = "";
- var duty = "";
-
- sHeader = "gbn▦workdd▦duty▦drid▦orddeptcd▦placecd▦csflag▦fromtm▦totm▦bigo▩";
- sData = "";
-
- for(i = grd_workerlist.fixedRows; i < grd_workerlist.rows; i++) {
- duty = 'D';
- drid = grd_workerlist.ValueMatrix(i, grd_workerlist.colRef("drid_d"));
- if (drid == null || drid == "") {
- drid = '-';
- }
-
- sData += grd_workerlist.ValueMatrix(i, grd_workerlist.colRef("gbn")) + "▦"
- + grd_workerlist.ValueMatrix(i, grd_workerlist.colRef("workdd")) + "▦"
- + duty + "▦"
- + drid + "▦"
- + grd_workerlist.ValueMatrix(i, grd_workerlist.colRef("ddeptcd")) + "▦"
- + grd_workerlist.ValueMatrix(i, grd_workerlist.colRef("placecd")) + "▦"
- + csflag + "▦"
- + gDStime + "▦"
- + gDEtime + "▦"
- + grd_workerlist.ValueMatrix(i, grd_workerlist.colRef("bigo")) + "▩" ;
- }
-
- for(i = grd_workerlist.fixedRows; i < grd_workerlist.rows; i++) {
- duty = 'D2';
- drid = grd_workerlist.ValueMatrix(i, grd_workerlist.colRef("drid_d2"));
- if (drid == null || drid == "") {
- drid = '-';
- }
-
- sData += grd_workerlist.ValueMatrix(i, grd_workerlist.colRef("gbn")) + "▦"
- + grd_workerlist.ValueMatrix(i, grd_workerlist.colRef("workdd")) + "▦"
- + duty + "▦"
- + drid + "▦"
- + grd_workerlist.ValueMatrix(i, grd_workerlist.colRef("d2deptcd")) + "▦"
- + grd_workerlist.ValueMatrix(i, grd_workerlist.colRef("placecd")) + "▦"
- + csflag + "▦"
- + gD2Stime + "▦"
- + gD2Etime + "▦"
- + grd_workerlist.ValueMatrix(i, grd_workerlist.colRef("bigo")) + "▩" ;
- }
-
- for(i = grd_workerlist.fixedRows; i < grd_workerlist.rows; i++) {
- duty = 'N';
- drid = grd_workerlist.ValueMatrix(i, grd_workerlist.colRef("drid_n"));
- if (drid == null || drid == "") {
- drid = '-';
- }
-
- sData += grd_workerlist.ValueMatrix(i, grd_workerlist.colRef("gbn")) + "▦"
- + grd_workerlist.ValueMatrix(i, grd_workerlist.colRef("workdd")) + "▦"
- + duty + "▦"
- + drid + "▦"
- + grd_workerlist.ValueMatrix(i, grd_workerlist.colRef("ndeptcd")) + "▦"
- + grd_workerlist.ValueMatrix(i, grd_workerlist.colRef("placecd")) + "▦"
- + csflag + "▦"
- + gNStime + "▦"
- + gNEtime + "▦"
- + grd_workerlist.ValueMatrix(i, grd_workerlist.colRef("bigo")) + "▩" ;
- }
-
- model.makeValue("/root/send/workerlist", sHeader + sData);
-
- model.makeValue("/root/send/saveinfo/srchym", srchym);
- model.makeValue("/root/send/saveinfo/gbn", gbn);
- model.makeValue("/root/send/saveinfo/monthcnt", getDayCountForMonth(srchym.substring(0, 4), srchym.substring(4, 6)));//조회년월의 마지막일
- model.makeValue("/root/send/saveinfo/icucd", icucd);
- model.makeValue("/root/send/saveinfo/csflag", csflag);
-
- if(submit("TXMNE09001")){
- //당직리스트색깔 초기화
- for(var i = 2; i <= grd_workerlist.rows; i++){
- grd_workerlist.cellstyle("background-color", i, 0, i, 6) = '#ffffff';
- grd_workerlist.cellStyle("background-image", i, 0, i, 6) = '';
- }
- //btn_search.dispatch('DOMActivate');
- }
- }
- function fDelWorkDr(workdd, gbn, orddeptcd, placecd, duty) {
- model.makeValue("/root/send/deldata/workdd", workdd);
- model.makeValue("/root/send/deldata/gbn", gbn);
- model.makeValue("/root/send/deldata/orddeptcd", orddeptcd);
- model.makeValue("/root/send/deldata/placecd", placecd);
- model.makeValue("/root/send/deldata/duty", duty);
-
- if(submit("TXMNE09002")){
- btn_search.dispatch('DOMActivate');
- }
- }
- function fCheckValid(selDD, selGbn, selPlc, sColNm, drid) {
- //1. 그리드 상에 동일일자에 다른 위치에 세팅된 정보가 있는지
- var compDD = "";
- var compGbn = "";
- var compPlc = "";
-
- for(var i = 1; i < grd_workerlist.rows; i++) {
-
- compDD = grd_workerlist.ValueMatrix(i, grd_workerlist.colRef("workdd"));
- compGbn = grd_workerlist.ValueMatrix(i, grd_workerlist.colRef("gbn"));
- compPlc = grd_workerlist.ValueMatrix(i, grd_workerlist.colRef("placecd"));
-
- if (sColNm == "drnm_d") {
- compDr = grd_workerlist.ValueMatrix(i, grd_workerlist.colRef("drid_d"));
- }
- else if (sColNm == "drnm_d2") {
- compDr = grd_workerlist.ValueMatrix(i, grd_workerlist.colRef("drid_d2"));
- }
- else {
- compDr = grd_workerlist.ValueMatrix(i, grd_workerlist.colRef("drid_n"));
- }
-
- if (compDD == selDD && compDr == drid) {
- if (compGbn == "I") {
- if (compPlc != selPlc) {
- return false;
- }
- } else {
- if (compGbn != selGbn) {
- return false;
- }
- }
- }
- }
-
- //2. 저장된 내역 중 동일일자에 다른 위치에 등록된 정보가 있는지, 휴진내역이 있는지 점검
- var selDuty = sColNm.substr(5, 2).toUpperCase();
- selDuty = selDuty.getTrim();
-
- var fromdt, todt;
-
- model.removenodeset("/root/send/validinfo");
- model.makeValue("/root/send/validinfo/workdd", selDD);
- model.makeValue("/root/send/validinfo/gbn", selGbn);
- model.makeValue("/root/send/validinfo/placecd", selPlc);
- model.makeValue("/root/send/validinfo/duty", selDuty);
- model.makeValue("/root/send/validinfo/drid", drid);
-
- if (sColNm == "drnm_d") {
- fromtm = gDStime;
- totm = gDEtime;
- }
- else if (sColNm == "drnm_d2") {
- fromtm = gD2Stime;
- totm = gD2Etime;
- }
- else {
- fromtm = gNStime;
- totm = gNEtime;
- }
-
- model.makeValue("/root/send/validinfo/fromtm", fromtm);
- model.makeValue("/root/send/validinfo/totm", totm);
-
- submit("TRMNE09002");
-
- var sValidYn = model.getValue("/root/temp/validinfo/validyn");
- var sScheYn = model.getValue("/root/temp/validinfo/scheyn");
- var sHoliYn = model.getValue("/root/temp/validinfo/holiyn");
-
- if (sValidYn == "N") {
- if (sScheYn == "Y" && sHoliYn == "N") {
- messageBox("같은 일자에 등록된 당직 정보가 있습니다.", "E999");
- }
-
- if (sScheYn == "N" && sHoliYn == "Y") {
- messageBox("해당 일자에 등록된 휴진 정보가 있습니다.", "E999");
- }
-
- if (sScheYn == "Y" && sHoliYn == "Y") {
- messageBox("같은 일자에 등록된 당직정보와 해당 일자에 등록된 휴진 정보가 있습니다.", "E999");
- }
-
- return false;
- }
-
- // 과거일자 당직의 변경시 처방 유무 점검(20140926 이윤주 수정예정)
- var curDD = getCurrentDate();
- var curTM = getCurrentTime().substr(0, 4);
- var checkYn = "";
-
- if (selDD < curDD) {
- checkYn = 'Y';
- } else if (selDD == curDD) {
- if (curTM > gNStime) {
- checkYn = 'Y';
- } else if (curTM > gDStime && curTM < gNStime) {
- if (selDuty == 'N') {
- checkYn = 'N';
- } else {
- checkYn = 'Y';
- }
- } else {
- checkYn = 'N';
- }
- } else {
- checkYn = 'N';
- }
-
- //alert("selDD: " + selDD + ", curDD: " + curDD + ", selDuty: " + selDuty + ", curTM: " + curTM + ", gDStime: " + gDStime + ", gNStime: " + gNStime + ", checkYn: " + checkYn);
-
- if (checkYn == 'Y') {
-
- model.removenodeset("/root/send/validinfo");
- model.makeValue("/root/send/validinfo/workdd", selDD);
- model.makeValue("/root/send/validinfo/placecd", selPlc);
- model.makeValue("/root/send/validinfo/duty", selDuty);
- model.makeValue("/root/send/validinfo/drid", drid);
-
- if (sColNm == "drnm_d") {
- fromtm = gDStime;
- totm = gDEtime;
- } else if (sColNm == "drnm_d2") {
- fromtm = gD2Stime;
- totm = gD2Etime;
- } else {
- fromtm = gNStime;
- totm = gNEtime;
- }
-
- model.makeValue("/root/send/validinfo/fromtm", fromtm);
- model.makeValue("/root/send/validinfo/totm", totm);
-
- submit("TRMNE09007");
-
- var sPrcpCnt = model.getValue("/root/temp/prcpinfo/cnt");
- if (sPrcpCnt > 0) {
- if( "6" != messageBox("해당 일자에 타부서에 발행된 처방이 있습니다.\n계속 진행 하시겠습니까?", "Q999")) {
- return false;
- }
- }
- }
-
- return true;
- }
|