123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[var RSRV_PLCE = "";
- var IS_RSRVUSER = true;
- function fInitRsrvCtrl() {
-
- model.resetInstanceNode("/root/ctrl/send/rsrvinfo");
- model.resetInstanceNode("/root/ctrl/main/ctrllist/ctrlinfo");
- model.resetInstanceNode("/root/ctrl/temp/ctrllist/ctrlinfo");
-
- grd_ctrl.refresh();
- grd_ctrl.resizeCells();
- grd_ctrl.rebuildStyle();
-
-
-
- // 제어 예외 대상 조회
- submit("TRPEA00211", false);
-
- if (IS_RSRVUSER) {
- btn_rsrv.disabled = false;
- btn_cncl.disabled = false;
- }
- }
- // 예약 제어 정보 조회
- function fGetRsrvCtrlList(grd, pRsrvDd, pRsrvTm) {
-
- // 호출 시점
- // 1. 검사 선택 후
- // 2. 검사실 선택 후
- // 3. 검사 시각 선택 후
-
- var path = grd.nodeset;
-
- var cnt = instance1.selectNodes(path).length;
- if (cnt < 1 || model.getValue(path + "/calcscorcd") == "") {
- return;
- }
-
- var row = grd.row;
- path += "[" + row + "]/";
-
- model.resetInstanceNode("/root/ctrl/send/rsrvinfo");
-
- // 기본 항목
- model.makeValue("/root/ctrl/send/rsrvinfo/srchdd", getCurrentDate()); // 조회기준일
- model.makeValue("/root/ctrl/send/rsrvinfo/instcd", getUserInfo("dutplceinstcd")); // 기관코드
- model.makeValue("/root/ctrl/send/rsrvinfo/userid", getUserId()); // 사용자ID
- model.makeValue("/root/ctrl/send/rsrvinfo/userdept", getUserInfo("dutplcecd")); // 사용자부서
- model.makeValue("/root/ctrl/send/rsrvinfo/rsrvplce", RSRV_PLCE); // 예약처 (통합예약)
-
- // 검사 현황 항목
- for (var i = 0; i < grd.cols; i++) {
- var ref = grd.colAttribute(i, "ref");
- model.makeValue("/root/ctrl/send/rsrvinfo/" + ref, model.getValue(path + ref));
- }
-
- // 예약 가능 검사실 처리
- if (model.getValue("/root/ctrl/send/rsrvinfo/rsrvexcuroomposscd") == "") {
- model.makeValue("/root/ctrl/send/rsrvinfo/rsrvexcuroomposscd", model.getValue("/root/ctrl/send/rsrvinfo/excuroomnm"));
- }
-
- // 예약일, 예약 시각 설정
-
- var rsrvdd = "";
- var rsrvtm = "";
-
- var srchrsrvtm = model.getValue(path + "srchrsrvtm");
-
- if (pRsrvDd != null) {
- rsrvdd = pRsrvDd;
- } else if (srchrsrvtm.length == 12) {
- rsrvdd = srchrsrvtm.substr(0, 8);
- }
-
- if (pRsrvTm != null) {
- rsrvtm = pRsrvTm;
- } else if (srchrsrvtm.length == 12) {
- rsrvtm = srchrsrvtm.substr(8, 4);
- }
-
- model.makeValue("/root/ctrl/send/rsrvinfo/rsrvdd", rsrvdd); // 예약일
- model.makeValue("/root/ctrl/send/rsrvinfo/rsrvtm", rsrvtm); // 예약시각
-
- if (instance1.selectNodes("/root/main3/rmrvlist/rmrvinfo").length > 0) {
- // 가용 현황
- var stat = Number(model.getValue("/root/main3/rmrvlist/rmrvinfo[" + grd_rmrv.row + "]/stat"));
- var capa = Number(model.getValue("/root/main3/rmrvlist/rmrvinfo[" + grd_rmrv.row + "]/capa"));
- model.makeValue("/root/ctrl/send/rsrvinfo/capastat", capa - stat);
-
- // 이전 검사 종료 여부
- var tmflag = model.getValue("/root/main3/rmrvlist/rmrvinfo[" + grd_rmrv.row + "]/tmflag");
- model.makeValue("/root/ctrl/send/rsrvinfo/tmflag", tmflag);
- } else {
- model.makeValue("/root/ctrl/send/rsrvinfo/capastat", "9");
- model.makeValue("/root/ctrl/send/rsrvinfo/tmflag", "");
- }
-
-
- // 환자 전달 사항 (구분자 '|'로 연결) (아직 쓰지 말자..)
- /*
- cnt = instance1.selectNodes("/root/main/ptcmtlist/ptcmtinfo").length;
- var patcmt = "";
- for (var i = 1; i <= cnt; i++) {
- patcmt += model.getValue("/root/main/ptcmtlist/ptcmtinfo[" + i + "]/patcmt");
- if (i < cnt) {
- patcmt += "|";
- }
- }
- model.makeValue("/root/ctrl/send/rsrvinfo/patcmt", patcmt); // 환자 전달 사항
- */
-
- // ref : /root/ctrl/send/rsrvinfo
- // resultref : /root/ctrl/temp/ctrllist/ctrlinfo
- submit("TRPEA00210", false);
-
- var tPath = "/root/ctrl/temp/ctrllist/ctrlinfo";
- var mPath = "/root/ctrl/main/ctrllist/ctrlinfo";
-
- cnt = instance1.selectNodes(tPath).length;
-
- var flag = true;
-
- if (instance1.selectNodes(tPath + "[ctrldesc != '']").length == instance1.selectNodes(mPath).length) {
-
- flag = false;
-
- // 데이터 확인 후 기존 데이터와 달라졌을 경우만 그리드에 새로 표시
- for (var i = 1; i <= cnt; i++) {
-
- if (model.getValue(tPath + "[" + i + "]/ctrldesc") == "") {
- continue;
- }
-
- if (instance1.selectNodes(mPath + "[rsrvplce = '" + model.getValue(tPath + "[" + i + "]/rsrvplce") + "' and"
- + " suppdeptcd = '" + model.getValue(tPath + "[" + i + "]/suppdeptcd") + "' and"
- + " excuroomcd = '" + model.getValue(tPath + "[" + i + "]/excuroomcd") + "' and"
- + " excucd = '" + model.getValue(tPath + "[" + i + "]/excucd") + "' and"
- + " ctrlseq = '" + model.getValue(tPath + "[" + i + "]/ctrlseq") + "' and"
- + " ctrlflag = '" + model.getValue(tPath + "[" + i + "]/ctrlflag") + "' and"
- + " appflag = '" + model.getValue(tPath + "[" + i + "]/appflag") + "']").length < 1) {
-
- flag = true;
- break;
- }
- }
- }
-
- if (flag) {
-
- model.resetInstanceNode(mPath);
-
- if (IS_RSRVUSER) {
- btn_rsrv.disabled = false;
- btn_cncl.disabled = false;
- }
-
- var idx = 1;
- for (var i = 1; i <= cnt; i++) {
-
- // 제어 내역 설명이 없는 행은 표시하지 않음
- if (model.getValue(tPath + "[" + i + "]/ctrldesc") == "") {
- continue;
- }
-
- model.makeValue(mPath + "[" + idx + "]/rsrvplce", model.getValue(tPath + "[" + i + "]/rsrvplce"));
- model.makeValue(mPath + "[" + idx + "]/suppdeptcd", model.getValue(tPath + "[" + i + "]/suppdeptcd"));
- model.makeValue(mPath + "[" + idx + "]/excuroomcd", model.getValue(tPath + "[" + i + "]/excuroomcd"));
- model.makeValue(mPath + "[" + idx + "]/excucd", model.getValue(tPath + "[" + i + "]/excucd"));
- model.makeValue(mPath + "[" + idx + "]/ctrlseq", model.getValue(tPath + "[" + i + "]/ctrlseq"));
- model.makeValue(mPath + "[" + idx + "]/ctrldesc", model.getValue(tPath + "[" + i + "]/ctrldesc"));
- model.makeValue(mPath + "[" + idx + "]/ctrlflag", model.getValue(tPath + "[" + i + "]/ctrlflag"));
- model.makeValue(mPath + "[" + idx + "]/appflag", model.getValue(tPath + "[" + i + "]/appflag"));
-
- idx++;
- }
-
- grd_ctrl.refresh();
- grd_ctrl.rebuildStyle();
-
- // 제어 적용 여부
- var excpflag = false;
- for (var i = 1; i <= instance1.selectNodes("/root/ctrl/hidden/excplist/excpinfo").length; i++) {
- if (getUserId() == model.getValue("/root/ctrl/hidden/excplist/excpinfo[" + i + "]/userid")) {
- excpflag = true;
- break;
- }
- }
-
- // 제어 적용
- for (var i = 1; i <= cnt; i++) {
-
- var appflag = model.getValue(mPath + "[" + i + "]/appflag") == "Y" ? true : false;
-
- var ctrlflag = model.getValue(mPath + "[" + i + "]/ctrlflag");
-
- if (ctrlflag.indexOf("I") >= 0) { // 정보 (단순 확인용)
-
- grd_ctrl.rowStyle(i, "data", "background-color") = "#ffffff";
-
- }
-
- if (ctrlflag.indexOf("R") >= 0) { // 예약 제한
-
- grd_ctrl.rowStyle(i, "data", "background-color") = "#ffffa0";
-
- if (appflag) {
- grd_ctrl.rowStyle(i, "data", "font-weight") = "bold";
- } else {
- grd_ctrl.rowStyle(i, "data", "color") = "#8c8c8c";
- grd_ctrl.rowStyle(i, "data", "font-weight") = "";
- }
-
- if (!excpflag && appflag) {
- btn_rsrv.disabled = true;
- }
- }
-
- if (ctrlflag.indexOf("C") >= 0) { // 취소 제한
-
- grd_ctrl.rowStyle(i, "data", "background-color") = "#ffffa0";
-
- if (appflag) {
- grd_ctrl.rowStyle(i, "data", "font-weight") = "bold";
- } else {
- grd_ctrl.rowStyle(i, "data", "color") = "#8c8c8c";
- grd_ctrl.rowStyle(i, "data", "font-weight") = "";
- }
-
- if (!excpflag && appflag) {
- btn_cncl.disabled = true;
- }
- }
-
- if (ctrlflag.indexOf("T") >= 0) { // 통합 예약
-
- if (grd_ctrl.rowStyle(i, "data", "background-color") != "#ffffa0") {
- grd_ctrl.rowStyle(i, "data", "background-color") = "#ffdcdc";
- }
-
- if (appflag) {
- grd_ctrl.rowStyle(i, "data", "font-weight") = "bold";
- } else {
- grd_ctrl.rowStyle(i, "data", "color") = "#8c8c8c";
- grd_ctrl.rowStyle(i, "data", "font-weight") = "";
- }
-
- if (RSRV_PLCE != "T") {
- if (!excpflag && appflag) {
- btn_rsrv.disabled = true;
- btn_cncl.disabled = true;
- }
- }
- }
-
- if (ctrlflag.indexOf("P") >= 0) { // 팝업 메시지
-
- if (grd_ctrl.rowStyle(i, "data", "background-color") != "#ffffa0" &&
- grd_ctrl.rowStyle(i, "data", "background-color") != "#ffdcdc") {
- grd_ctrl.rowStyle(i, "data", "background-color") = "#ebebff";
- }
-
- if (!appflag) {
- grd_ctrl.rowStyle(i, "data", "color") = "#8c8c8c";
- } else {
-
- tPath = "/root/ctrl/temp/termlist/terminfo";
- var tCnt = instance1.selectNodes(tPath).length;
-
- for (var j = 1; j <= tCnt; j++) {
- // 제어항 확인
- if (model.getValue(tPath + "[" + j + "]/rsrvplce") == model.getValue(mPath + "[" + i + "]/rsrvplce") &&
- model.getValue(tPath + "[" + j + "]/suppdeptcd") == model.getValue(mPath + "[" + i + "]/suppdeptcd") &&
- model.getValue(tPath + "[" + j + "]/excuroomcd") == model.getValue(mPath + "[" + i + "]/excuroomcd") &&
- model.getValue(tPath + "[" + j + "]/excucd") == model.getValue(mPath + "[" + i + "]/excucd") &&
- model.getValue(tPath + "[" + j + "]/ctrlseq") == model.getValue(mPath + "[" + i + "]/ctrlseq") &&
- model.getValue(tPath + "[" + j + "]/itemtype") == "C" &&
- model.getValue(tPath + "[" + j + "]/itemid") == "POPUP") {
-
- messageBox(model.getValue(tPath + "[" + j + "]/valnm"), "E999");
- }
- }
- }
- }
- }
-
- grd_ctrl.resizeCells();
- }
- }]]></Script>
|