123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type ="xscript4.0"><![CDATA[function fInitRsrvCtrl() {
- if (sysf_getUserInfo("dutplceinstcd") != "031") {
- return;
- }
- ds_ctrl_send_rsrvinfo.clearData(); ds_ctrl_send_rsrvinfo.addRow();
- ds_ctrl_main_ctrllist_ctrlinfo.clearData(); ds_ctrl_main_ctrllist_ctrlinfo.addRow();
- ds_ctrl_temp_ctrllist_ctrlinfo.clearData(); ds_ctrl_temp_ctrllist_ctrlinfo.addRow();
- //grd_ctrl.refresh();
- grd_ctrl.resizeCells();
- grd_ctrl.rebuildStyle();
- // 제어 적용 여부 조회
- // submit("TRPMB03711", false);
- var oParam = {};
- oParam.id = "TRPMB03711";
- oParam.service = "pambaseinfomngtapp.ExamRsrvInfo";
- oParam.method = "reqGetCtrlApplyYN";
- oParam.outds = "";
- oParam.async = false;
- oParam.callback = "cf_TRPMB03711";
- tranf_submit(oParam);
- /*
- function cf_TRPMB03711(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- }
- function cf_TRPMB03711(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- arErrorCode.pop("TRPMB03711") > -1
- arErrorCode.pop("TRPMB03711") < 0
- */
- if (IS_RSRVUSER) {
- btn_rsrv.enable = true;
- }
- }
- // 예약 제어 정보 조회
- function fGetRsrvCtrlList(pExcuroomcd, pRsrvdd, pRsrvtm) {
- // 호출 시점
- // 1. 검사 선택 후
- // 2. 검사실 선택 후
- // 3. 검사일 선택 후
- // 4. 검사 시각 선택 후
- // 5. 예약 직전
- if (sysf_getUserInfo("dutplceinstcd") != "031") {
- return;
- }
- // 검사 현황 내역의 경로
- var row = grd_mainordlist5.row;
- var rPath = "ds_main_exculist_mainordlist5[" + row + "]/";
- // 선택된 검사 현황의 검사코드가 없으면 진행하지 않음
- ds_ctrl_send_rsrvinfo.clearData(); ds_ctrl_send_rsrvinfo.addRow();
- if (model.getValue(rPath + "calcscorcd") == "") {
- return;
- }
- // 기본 항목
- dsf_makeValue( ds_ctrl_send_rsrvinfo, "rsrvplce", "string", "T"); // 예약처 (통합예약)
- dsf_makeValue( ds_ctrl_send_rsrvinfo, "suppdeptcd", "string", model.getValue(rPath + "suppdeptcd")); // 수행부서
- var excuroomcd = pExcuroomcd;
- if (excuroomcd == null || excuroomcd == "") {
- excuroomcd = model.getValue(rPath + "excuroomcd");
- }
- dsf_makeValue( ds_ctrl_send_rsrvinfo, "excuroomcd", "string", excuroomcd); // 검사실
- dsf_makeValue( ds_ctrl_send_rsrvinfo, "srchdd", "string", utlf_getCurrentDate()); // 조회일
- var excucd = model.getValue(rPath + "calcscorcd");
- excucd = excucd == "" ? "T" : excucd;
- dsf_makeValue( ds_ctrl_send_rsrvinfo, "excucd", "string", excucd); // 검사코드
- // 부가 항목 (그리드)
- dsf_makeValue( ds_ctrl_send_rsrvinfo, "rsrvexcuroomposscd", "string", model.getValue(rPath + "excuroomnm")); // 예약 가능 검사실
- dsf_makeValue( ds_ctrl_send_rsrvinfo, "pid", "string", model.getValue(rPath + "pid")); // 등록번호
- dsf_makeValue( ds_ctrl_send_rsrvinfo, "ordflag", "string", model.getValue(rPath + "genrflag")); // 처방발생구분(진료형태)
- dsf_makeValue( ds_ctrl_send_rsrvinfo, "orddd", "string", model.getValue(rPath + "orddd")); // 진료일
- dsf_makeValue( ds_ctrl_send_rsrvinfo, "cretno", "string", model.getValue(rPath + "cretno")); // 생성번호
- dsf_makeValue( ds_ctrl_send_rsrvinfo, "orddeptcd", "string", model.getValue(rPath + "orddeptcd")); // 진료과
- dsf_makeValue( ds_ctrl_send_rsrvinfo, "orddrid", "string", model.getValue(rPath + "orddrid")); // 진료의
- dsf_makeValue( ds_ctrl_send_rsrvinfo, "prcpdd", "string", model.getValue(rPath + "prcpdd")); // 처방일
- dsf_makeValue( ds_ctrl_send_rsrvinfo, "execprcpuniqno", "string", model.getValue(rPath + "prcpdd")); // 처방일자일련번호
- var rsrvdt = model.getValue(rPath + "srchrsrvtm");
- var rsrvdd = pRsrvdd;
- var rsrvtm = pRsrvtm;
- if (rsrvdd == null || rsrvdd == "") {
- rsrvdd = rsrvdt.substr(0, 8);
- }
- if (rsrvtm == null || rsrvtm == "") {
- rsrvtm = rsrvdt.substr(8, 4);
- }
- dsf_makeValue( ds_ctrl_send_rsrvinfo, "rsrvdd", "string", rsrvdd); // 예약일
- dsf_makeValue( ds_ctrl_send_rsrvinfo, "rsrvtm", "string", rsrvtm); // 예약시각
- // 처방 전달 사항
- var prcpcmt = ds_main_comment1.getColumn(0, "prcpcmt");
- dsf_makeValue( ds_ctrl_send_rsrvinfo, "prcpcmt", "string", prcpcmt); // 처방 전달 사항
- // 환자 전달 사항 (구분자 '|'로 연결)
- var cnt = instance1.selectNodes("ds_main_exculist_subordlist3_rows").length;
- var patcmt = "";
- for (var i = 1; i <= cnt; i++) {
- patcmt += ds_main_exculist_subordlist3_rows.getColumn(i, "patcmt");
- if (i < cnt) {
- patcmt += "|";
- }
- }
- dsf_makeValue( ds_ctrl_send_rsrvinfo, "patcmt", "string", patcmt); // 환자 전달 사항
- // ref = "ds_ctrl_send_rsrvinfo"
- // resultref = "ds_ctrl_temp_ctrllist_ctrlinfo"
- // submit("TRPMB03710", false);
- var oParam = {};
- oParam.id = "TRPMB03710";
- oParam.service = "pambaseinfomngtapp.ExamRsrvInfo";
- oParam.method = "reqGetRsrvControlList";
- oParam.inds = "req=ds_";
- oParam.outds = "ds_=ctrl ds_=term";
- oParam.async = false;
- oParam.callback = "cf_TRPMB03710";
- tranf_submit(oParam);
- /*
- function cf_TRPMB03710(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- }
- function cf_TRPMB03710(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- arErrorCode.pop("TRPMB03710") > -1
- arErrorCode.pop("TRPMB03710") < 0
- */
- var tPath = "ds_ctrl_temp_ctrllist_ctrlinfo";
- var mPath = "ds_ctrl_main_ctrllist_ctrlinfo";
- var cnt = instance1.selectNodes(tPath).length;
- var flag = true;
- if (cnt == instance1.selectNodes(mPath).length) {
- flag = false;
- // 데이터 확인 후 기존 데이터와 달라졌을 경우만 그리드에 새로 표시
- for (var i = 1; i <= cnt; i++) {
- if (eval(tPath).getColumn(i, "rsrvplce") != eval(mPath).getColumn(i, "rsrvplce") ||
- eval(tPath).getColumn(i, "suppdeptcd") != eval(mPath).getColumn(i, "suppdeptcd") ||
- eval(tPath).getColumn(i, "excuroomcd") != eval(mPath).getColumn(i, "excuroomcd") ||
- eval(tPath).getColumn(i, "excucd") != eval(mPath).getColumn(i, "excucd") ||
- eval(tPath).getColumn(i, "ctrlseq") != eval(mPath).getColumn(i, "ctrlseq") ||
- eval(tPath).getColumn(i, "ctrldesc") != eval(mPath).getColumn(i, "ctrldesc") ||
- eval(tPath).getColumn(i, "ctrlflag") != eval(mPath).getColumn(i, "ctrlflag") ||
- eval(tPath).getColumn(i, "appflag") != eval(mPath).getColumn(i, "appflag")) {
- flag = true;
- break;
- }
- }
- }
- if (flag) {
- model.resetInstanceNode(mPath);
- for (var i = 1; i <= cnt; i++) {
- model.makeValue(mPath + "[" + i + "]_rsrvplce", eval(tPath).getColumn(i, "rsrvplce"));
- model.makeValue(mPath + "[" + i + "]_suppdeptcd", eval(tPath).getColumn(i, "suppdeptcd"));
- model.makeValue(mPath + "[" + i + "]_excuroomcd", eval(tPath).getColumn(i, "excuroomcd"));
- model.makeValue(mPath + "[" + i + "]_excucd", eval(tPath).getColumn(i, "excucd"));
- model.makeValue(mPath + "[" + i + "]_ctrlseq", eval(tPath).getColumn(i, "ctrlseq"));
- model.makeValue(mPath + "[" + i + "]_ctrldesc", eval(tPath).getColumn(i, "ctrldesc"));
- model.makeValue(mPath + "[" + i + "]_ctrlflag", eval(tPath).getColumn(i, "ctrlflag"));
- model.makeValue(mPath + "[" + i + "]_appflag", eval(tPath).getColumn(i, "appflag"));
- }
- //grd_ctrl.refresh();
- grd_ctrl.resizeCells();
- grd_ctrl.rebuildStyle();
- var tPath = "ds_ctrl_temp_termlist_terminfo";
- var tCnt = instance1.selectNodes(tPath).length;
- // 예약 허용 여부
- var rsrvflag = true;
- // 제어 적용 여부
- var ctrlyn = ds_ctrl_hidden_applyinfo.getColumn(0, "ctrlyn") == "Y" ? true : false;
- // 제어 적용
- for (var i = 1; i <= cnt; i++) {
- var appflag = eval(mPath).getColumn(i, "appflag") == "Y" ? true : false;
- var ctrlflag = eval(mPath).getColumn(i, "ctrlflag");
- if (ctrlflag == "I") { // 정보 (단순 확인용)
- grd_ctrl.setCellProprty("body", i, "background", "#ffffff"); grd_ctrl.setCellProperty("body", i, "background2", "#ffffff");
- } else if (ctrlflag == "R") { // 예약
- grd_ctrl.setCellProprty("body", i, "background", "#ffffa0"); grd_ctrl.setCellProperty("body", i, "background2", "#ffffa0");
- if (!appflag) {
- grd_ctrl.rowStyle(i, "data", "color") = "#8c8c8c";
- }
- if (ctrlyn && appflag) {
- btn_rsrv.enable = false;
- rsrvflag = false;
- } else if (IS_RSRVUSER && rsrvflag && btn_rsrv.disabled) { // 하나라도 예약 제한이 걸려있는 것이 있으면 버튼 활성화 하지 않음
- btn_rsrv.enable = true;
- }
- } else if (ctrlflag == "T") { // 통합 예약
- grd_ctrl.setCellProprty("body", i, "background", "#ffdcdc"); grd_ctrl.setCellProperty("body", i, "background2", "#ffdcdc");
- if (!appflag) {
- grd_ctrl.rowStyle(i, "data", "color") = "#8c8c8c";
- }
- if (RSRV_PLCE != "T") {
- if (ctrlyn && appflag) {
- btn_rsrv.enable = false;
- rsrvflag = false;
- } else if (IS_RSRVUSER && rsrvflag && btn_rsrv.disabled) { // 하나라도 예약 제한이 걸려있는 것이 있으면 버튼 활성화 하지 않음
- btn_rsrv.enable = true;
- }
- }
- } else if (ctrlflag == "P") { // 팝업 메시지
- grd_ctrl.setCellProprty("body", i, "background", "#ebebff"); grd_ctrl.setCellProperty("body", i, "background2", "#ebebff");
- if (!appflag) {
- grd_ctrl.rowStyle(i, "data", "color") = "#8c8c8c";
- }
- for (var j = 1; j <= tCnt; j++) {
- // 제어항 확인
- if (eval(tPath).getColumn(j, "rsrvplce") == eval(mPath).getColumn(i, "rsrvplce") &&
- eval(tPath).getColumn(j, "suppdeptcd") == eval(mPath).getColumn(i, "suppdeptcd") &&
- eval(tPath).getColumn(j, "excuroomcd") == eval(mPath).getColumn(i, "excuroomcd") &&
- eval(tPath).getColumn(j, "excucd") == eval(mPath).getColumn(i, "excucd") &&
- eval(tPath).getColumn(j, "ctrlseq") == eval(mPath).getColumn(i, "ctrlseq") &&
- eval(tPath).getColumn(j, "itemtype") == "C" &&
- eval(tPath).getColumn(j, "refid") == "POPUP") {
- alert(eval(tPath).getColumn(j, "valnm"));
- }
- }
- }
- }
- }
- }
- ]]></Script>
|