1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072 |
- /*
-
- 헌혈접수=APU메인 (SMMNA00500.xrw - JScript )
- - Version :
- 1) : Ver.1.00.01
- */
- // --------------------------------------------------
- // 화면 read
- // --------------------------------------------------
- function finit() {
- aezfSetSuppDeptcd_local();
- zbcfGetCodeList( new Array("M0029", "M0007"), new Array("/root/init/cmbinfo/payflagcd", "/root/init/cmbinfo/opansflagcd"));
-
- model.removeNodeset("/root/main/direcprcp/direcprcpinfo");
- model.removeNodeset("/root/main/prcpdetl/prcpdetlinfo");
- model.setValue("/root/main/cond/baseinfo/tdate", getCurrentDate());
- //var date = getCurrentDate().toDate().getAddDate(-3,"D").getDateFormat("YYYYMMDD");
- model.setValue("/root/main/cond/baseinfo/sdate", getCurrentDate());//20080825 당일로 변경
- model.toggle("case1");
- btn_case1.selected = true;
- btn_case2.selected = false;
- model.toggle("case_apu");
- btn_apu.selected = true;
- btn_om.selected = false;
-
- grd_keepbaclist.frozenCols = grd_keepbaclist.colRef("prcpnm");
- datagrid1.frozenCols = datagrid1.colRef("prcpnm");
- datagrid2.frozenCols = datagrid2.colRef("prcpnm");
-
- //공통코드(급여구분)
- zbcfGetCodeList(new Array( "M0029" ), new Array("/root/init/payflagcd"),true);
-
- //fInqurySelectedPrgm();
- btn_apu.selected = true;
- model.toggle("case_apu");
- //readfunc(); //OPEN 시 조회
- //model.refresh();
-
- datagrid1.fixedcellcheckbox(0,1) = true; //그리드 헤더에 체크버튼 추가
- datagrid2.fixedcellcheckbox(0,1) = true; //그리드 헤더에 체크버튼 추가
- }
- // --------------------------------------------------
- //switch 작업 토클
- // --------------------------------------------------
- function fInqurySelectedPrgm()
- {
- var xPathMainCond = "/root/main/cond";
- var xPathMainApu = "/root/main/direcprcp/direcprcpinfo";
-
- var flag = model.getValue(xPathMainCond + "/workflag");
- var pGrd = grd_keepbaclist;
-
- //if (flag == "om" || flag == "prn") {
- if (flag == "prn") {
- if (pGrd.rows <= 0 || pGrd.row <= 0 ) {
- messageBox("자료를 선택하십시오.", "E999", "");
- return;
- }
- if (model.getValue(xPathMainApu + "[" + pGrd.row + "]/iogb") != "I"
- && model.getValue(xPathMainApu + "[" + pGrd.row + "]/iogb") != "E" ) {
- messageBox("입원환자인경우만 해당됩니다.", "E999", "");
- return;
- }
-
- var tempprcpdd = model.getValue(xPathMainApu + "[" + pGrd.row + "]/prcpdd");
- var temppid = model.getValue(xPathMainApu + "[" + pGrd.row + "]/pid");
- //var tempwardcd = model.getValue(xPathMainApu + "[" + pGrd.row + "]/prcpdd");
- var tempsexage = model.getValue(xPathMainApu + "[" + pGrd.row + "]/sex") + "/" +
- model.getValue(xPathMainApu + "[" + pGrd.row + "]/age");
- var temppatnm = model.getValue(xPathMainApu + "[" + pGrd.row + "]/hngnm");
-
- btn_om.selected = true;
- model.toggle("case_om");
-
- //------------------(20080625)
- //tempprcpdd : 처방일자가 아닌 현재일자
- //PRN : 처방저장일(=처방발생일) ~ 처방적용일(=처방희망일)까지임
- //prcp.rgstdd AND prcp.prcphopedd
- var rgstdd = model.getValue(xPathMainApu + "[" + pGrd.row + "]/prcpdd");
- var prcphopedd = model.getValue(xPathMainApu + "[" + pGrd.row + "]/prcphopedd");
-
- //alert('a ' + rgstdd + ' b ' + prcphopedd + ' c ' + getCurrentDate() + ' d ' );
-
- if ( rgstdd <= getCurrentDate() && getCurrentDate() <= prcphopedd) {
- //prn발생가능/조회가능
- model.setValue("/root/main_om/cond/prnstat", "1");
- radio2.disabled = false;
- } else {
- //조회만 가능하도록
- model.setValue("/root/main_om/cond/prnstat", "2");
- radio2.disabled = true;
- }
- tempprcpdd = getCurrentDate();
- //-------------------------------------------------------
-
- model.setValue("/root/main/cond/orddd", tempprcpdd); // 업무일자
- // model.setValue("/root/main_om/cond/pid", temppid);
- // //model.setValue("/root/main_om/cond/roomcd", "병실");
- // model.setValue("/root/main_om/cond/sexage", tempsexage);
- // model.setValue("/root/main_om/cond/patnm", temppatnm);
-
- model.setValue("/root/main_om/cond/pid", "등록번호");
- model.setValue("/root/main_om/cond/roomcd", "병실");
- model.setValue("/root/main_om/cond/sexage", "S/A");
- model.setValue("/root/main_om/cond/patnm", "환자명");
- //------------------(20080625)
- }
- switch(flag) {
- case "om" :
- fGetOMPatList("apu");
- // fGetOMPatList("");
- break;
- case "prn" :
- fSetPrnMode();
- fGetOMPatList("apu");
- // fGetOMPatList("");
- break;
- default :
- btn_apu.selected = true;
- model.toggle("case_apu");
- readfunc();
- break;
- }
- }
- //-----------------------------
- // APU 메인 조회
- //-----------------------------
- function readfunc(){
- if (model.getValue("/root/main/cond/baseinfo/sdate") == ""){
- messageBox("조회 시작일자는 필수 입력항목입니다.", "E999", "");
- return;
- }
- if (isDate(model.getValue("/root/main/cond/baseinfo/sdate")) == false){
- messageBox("조회 시작일자의 날짜 형식이 잘못 입력되었습니다.", "E999", "");
- return;
- }
- if (model.getValue("/root/main/cond/baseinfo/tdate") == ""){
- messageBox("조회 종료일자는 필수 입력항목입니다.", "E999", "");
- return;
- }
- if (isDate(model.getValue("/root/main/cond/baseinfo/tdate")) == false){
- messageBox("조회 종료일자의 날짜 형식이 잘못 입력되었습니다.", "E999", "");
- return;
- }
- if (model.getValue("/root/main/cond/baseinfo/sdate") > model.getValue("/root/main/cond/baseinfo/tdate")){
- messageBox("조회 시작일자가 종료일자 보다 큽니다.", "E999", "");
- return;
- }
- // model.toggle("case1");
- // btn_case1.selected = true;
- // btn_case2.selected = false;
- model.toggle("case_apu");
- btn_apu.selected = true;
- btn_om.selected = false;
-
- model.removeNodeset("/root/main/direcprcp/direcprcpinfo");
- model.removeNodeset("/root/main/prcpdetl/prcpdetlinfo");
- model.removeNodeset("/root/main/execprcp/execprcpinfo");
-
- model.removeNodeset("/root/send");
- model.makeValue("/root/send/baseinfo/pid", model.getValue("/root/main/cond/baseinfo/pid"));
- model.makeValue("/root/send/baseinfo/sdate", model.getValue("/root/main/cond/baseinfo/sdate"));
- model.makeValue("/root/send/baseinfo/tdate", model.getValue("/root/main/cond/baseinfo/tdate"));
- model.makeValue("/root/send/baseinfo/iogb", model.getValue("/root/main/cond/baseinfo/iogb"));
- //model.makeValue("/root/send/baseinfo/deptcd", model.getValue("/root/main/cond/globalinstance/instance1"));
- model.makeValue("/root/send/baseinfo/prcpflag", model.getValue("/root/main/cond/baseinfo/prcpflag"));
-
- if (submit("TRMNA00501")){
-
- var prcphistcd , dschdcrltyn;
- //20080912 메인그리드의 처방상태가 dc이면 빨간색으로 글자색을 바꿈
- //20081126 dhkim 퇴원예고 이후의 환자를 파란색으로 글자색을 바꿈
- for(var i = 1; i < grd_keepbaclist.rows; i++){
- prcphistcd = model.getValue('/root/main/direcprcp/direcprcpinfo[' + i + ']/prcphistcd');
- dschdcrltyn = model.getValue('/root/main/direcprcp/direcprcpinfo[' + i + ']/dschdclrtyn');
-
- if(prcphistcd == 'L'){//처방상태 삭제
- grd_keepbaclist.cellStyle("color", i, grd_keepbaclist.colRef("pid"), i, grd_keepbaclist.colRef("prcpcd")) = "#FF0000";//빨강
- }else if(dschdcrltyn == 'Y'){//퇴원예고
- grd_keepbaclist.cellStyle("color", i, grd_keepbaclist.colRef("pid"), i, grd_keepbaclist.colRef("prcpcd")) = "#0000FF";//파랑
- }else{
- grd_keepbaclist.cellStyle("color", i, grd_keepbaclist.colRef("pid"), i, grd_keepbaclist.colRef("prcpcd")) = "#000000";//검정
- }
- }
-
- }
- model.refresh();
-
- //조회후 전부 수정불가
- var pGrd = grd_keepbaclist;
- if (pGrd.rows <= 1 ) return;
- pGrd.isReadOnly(1,1,pGrd.rows-1,pGrd.cols-1)= true;
- }
- //-----------------------------
- // 처방내역 조회
- //-----------------------------
- function readfunc1(){
- model.removeNodeset("/root/main/prcpdetl/prcpdetlinfo");
- model.removeNodeset("/root/send");
-
- model.makeValue("/root/send/baseinfo1/pid", model.getValue("/root/main/direcprcp/direcprcpinfo[" + grd_keepbaclist.row + "]/pid"));
- model.makeValue("/root/send/baseinfo1/prcpdd", model.getValue("/root/main/direcprcp/direcprcpinfo[" + grd_keepbaclist.row + "]/prcpdd"));
- model.makeValue("/root/send/baseinfo1/prcpcd", model.getValue("/root/main/direcprcp/direcprcpinfo[" + grd_keepbaclist.row + "]/prcpcd"));
- model.makeValue("/root/send/baseinfo1/deptcd", model.getValue("/root/main/cond/globalinstance/instance1"));
- model.makeValue("/root/send/baseinfo1/hsctlnkno", model.getValue("/root/main/direcprcp/direcprcpinfo[" + grd_keepbaclist.row + "]/hsctlnkno"));
- model.makeValue("/root/send/baseinfo1/dispflag", "N");
- model.makeValue("/root/send/baseinfo1/prcpflag", model.getValue("/root/main/direcprcp/direcprcpinfo[" + grd_keepbaclist.row + "]/prcpflag"));
- model.makeValue("/root/send/baseinfo1/iogb", model.getValue("/root/main/direcprcp/direcprcpinfo[" + grd_keepbaclist.row + "]/iogb"));
- model.makeValue("/root/send/baseinfo1/instcd", model.getValue("/root/main/direcprcp/direcprcpinfo[" + grd_keepbaclist.row + "]/instcd"));
- model.makeValue("/root/send/baseinfo1/prcpno", model.getValue("/root/main/direcprcp/direcprcpinfo[" + grd_keepbaclist.row + "]/prcpno"));
- model.makeValue("/root/send/baseinfo1/prcphistno", model.getValue("/root/main/direcprcp/direcprcpinfo[" + grd_keepbaclist.row + "]/prcphistno"));
-
- //[20081126 dhkim] ITC 변경요청으로 퇴원확정 이후부터의 환자 acting 불가
- var dschnotiyn = model.getValue("/root/main/direcprcp/direcprcpinfo[" + grd_keepbaclist.row + "]/dschnotiyn");//퇴원확정여부
-
- if (submit("TRMNA00502")){
-
- //-----------------------------------------------
- //선택불가로 변경
- //-----------------------------------------------
- var pGrd = datagrid1;
- var pGrdMain = grd_keepbaclist;
-
- if (pGrdMain.rows <= 1 || pGrdMain.row < 1) return;
- if (pGrd.rows <= 1 ) return;
-
- var tempprcpflag = model.getValue("/root/main/direcprcp/direcprcpinfo[" + pGrdMain.row + "]/prcpflag");
-
- //전부 수정불가
- pGrd.isReadOnly(1, 1, pGrd.rows-1, pGrd.cols-1)= true;
-
- for (var row=1;row<pGrd.rows;row++) {
-
- dschnotiyn = model.getValue("/root/main/prcpdetl/prcpdetlinfo[" + row + "]/dschnotiyn"); //[20081126 dhkim] 퇴원확정여부
-
- //prn도 지시처방을 풀어야 한다.
- //if (model.getValue("/root/main/prcpdetl/prcpdetlinfo[" + row + "]/prnprcpflag") == "Y") {
- // continue;
- //}
- if (model.getValue("/root/main/prcpdetl/prcpdetlinfo[" + row + "]/dr") == "D/C") {
- pGrd.cellStyle("color", row, pGrd.colRef("flag"), row, pGrd.colRef("prnprcpflag")) = "#FF0000";
- continue;
- }else{
- pGrd.cellStyle("color", row, pGrd.colRef("flag"), row, pGrd.colRef("prnprcpflag")) = "#000000";
- }
-
- //[20081126 dhkim] itc 변경요청으로 퇴원확정이후 acting/dc 불가
- if(dschnotiyn == 'Y'){
- continue;
- }
-
- //지시처방이면서
- if (tempprcpflag == "2") {
- //hscttempprcpflag ='Y' 인경우는 ACTING에 관계없이 처리가능하다.
- if (model.getValue("/root/main/prcpdetl/prcpdetlinfo[" + row + "]/hscttempprcpflag") != "Y" ){
- continue;
- }
- //반납의뢰된 사항은 처리불가
- if (model.getValue("/root/main/prcpdetl/prcpdetlinfo[" + row + "]/iogb") == "I" &&
- model.getValue("/root/main/prcpdetl/prcpdetlinfo[" + row + "]/dr") == "반납의뢰" ){
- continue;
- }
- } else {
- if (model.getValue("/root/main/prcpdetl/prcpdetlinfo[" + row + "]/iogb") == "O" &&
- model.getValue("/root/main/prcpdetl/prcpdetlinfo[" + row + "]/rcptyn") == "N"){
- return; //외래 AND 수납N인경우
- }
- if (model.getValue("/root/main/prcpdetl/prcpdetlinfo[" + row + "]/iogb") == "O" &&
- model.getValue("/root/main/prcpdetl/prcpdetlinfo[" + row + "]/rcptyn") == "Y" &&
- model.getValue("/root/main/prcpdetl/prcpdetlinfo[" + row + "]/execyn") == "Y") {
- return; //외래 AND 수납Y AND ACTING =Y'인 경우
- }
-
- //LBT90001 / LBT90101 은 막음(20080129)
- var prcpcd = model.getValue("/root/main/prcpdetl/prcpdetlinfo[" + row + "]/prcpcd");
- if (prcpcd == "LBT90001" || prcpcd == "LBT90101" ){
- continue;
- }
- }
-
- //입력가능
- pGrd.isReadOnly(row,pGrd.colRef("chk"),row,pGrd.colRef("chk")) = false;
- }
-
- }
- model.refresh();
- }
- //-----------------------------
- // 실처방 내역 조회
- //-----------------------------
- function readfunc2(){
- model.removeNodeset("/root/main/execprcp/execprcpinfo");
- model.removeNodeset("/root/send");
- model.makeValue("/root/send/baseinfo1/pid", model.getValue("/root/main/direcprcp/direcprcpinfo[" + grd_keepbaclist.row + "]/pid"));
- model.makeValue("/root/send/baseinfo1/prcpdd", model.getValue("/root/main/direcprcp/direcprcpinfo[" + grd_keepbaclist.row + "]/prcpdd"));
- model.makeValue("/root/send/baseinfo1/prcpcd", model.getValue("/root/main/direcprcp/direcprcpinfo[" + grd_keepbaclist.row + "]/prcpcd"));
- model.makeValue("/root/send/baseinfo1/deptcd", model.getValue("/root/main/cond/globalinstance/instance1"));
- model.makeValue("/root/send/baseinfo1/hsctlnkno", model.getValue("/root/main/direcprcp/direcprcpinfo[" + grd_keepbaclist.row + "]/hsctlnkno"));
- model.makeValue("/root/send/baseinfo1/dispflag", "Y");//실시처방내역
- model.makeValue("/root/send/baseinfo1/prcpflag", model.getValue("/root/main/direcprcp/direcprcpinfo[" + grd_keepbaclist.row + "]/prcpflag"));
- model.makeValue("/root/send/baseinfo1/iogb", model.getValue("/root/main/direcprcp/direcprcpinfo[" + grd_keepbaclist.row + "]/iogb"));
- model.makeValue("/root/send/baseinfo1/instcd", model.getValue("/root/main/direcprcp/direcprcpinfo[" + grd_keepbaclist.row + "]/instcd"));
- model.makeValue("/root/send/baseinfo1/prcpno", model.getValue("/root/main/direcprcp/direcprcpinfo[" + grd_keepbaclist.row + "]/prcpno"));
- model.makeValue("/root/send/baseinfo1/prcphistno", model.getValue("/root/main/direcprcp/direcprcpinfo[" + grd_keepbaclist.row + "]/prcphistno"));
-
- //[20081126 dhkim] ITC 변경요청으로 퇴원확정 이후부터의 환자 acting 불가
- var dschnotiyn = model.getValue("/root/main/direcprcp/direcprcpinfo[" + grd_keepbaclist.row + "]/dschnotiyn");//퇴원확정여부
- if(submit("TRMNA00503")){
-
- //-----------------------------------------------
- //선택불가로 변경
- //-----------------------------------------------
- var pGrd = datagrid2;
- var pGrdMain = grd_keepbaclist;
-
- if (pGrdMain.rows <= 1 || pGrdMain.row < 1) return;
- if (pGrd.rows <= 1 ) return;
-
- var tempprcpflag = model.getValue("/root/main/direcprcp/direcprcpinfo[" + pGrdMain.row + "]/prcpflag");
-
- //전부 수정불가
- pGrd.isReadOnly(1,1,pGrd.rows-1,pGrd.cols-1)= true;
-
- for (var row=1;row<pGrd.rows;row++) {
-
- dschnotiyn = model.getValue("/root/main/prcpdetl/prcpdetlinfo[" + row + "]/dschnotiyn"); //[20081126 dhkim] 퇴원확정여부
-
- if (model.getValue("/root/main/execprcp/execprcpinfo[" + row + "]/prnprcpflag") == "Y"){
- continue;
- }
- if (model.getValue("/root/main/execprcp/execprcpinfo[" + row + "]/dr") == "D/C") {
- pGrd.cellStyle("color", row, pGrd.colRef("flag"), row, pGrd.colRef("prnprcpflag")) = "#FF0000";
- continue;
- }
-
- //[20081126 dhkim] itc 변경요청으로 퇴원확정이후 acting/dc 불가
- if(dschnotiyn == 'Y'){
- continue;
- }
-
- //취소는 지시처방이고 입원인 경우만 해당된다.
- if (tempprcpflag == "2") {
- if (model.getValue("/root/main/execprcp/execprcpinfo[" + row + "]/iogb") == "I" ) {
- } else {
- continue;
- }
- } else {
- continue;
- }
-
- //입력가능
- pGrd.isReadOnly(row,pGrd.colRef("chk"),row,pGrd.colRef("chk")) = false;
- }
- }
- model.refresh();
-
- }
- /*------------------------------
- acting MAIN
- ------------------------------*/
- function fSaveData() {
- var pGrd0 = grd_keepbaclist;
- if (pGrd0.rows <= 1 ) return;
-
- var pGrd1 = datagrid1;
- if (pGrd1.rows <= 1 ) return;
-
- //----------------------------------------------------
- //설정된 상단정보를 불러옴("내리기")
- //체크하기 위해 자료불러오기
- model.removenodeset("/root/main/paminfo");
- model.makeNode("/root/main/paminfo");
- var node = getGlobalVariable("paminfo");
- setCSVToNode("/root/main/paminfo", node);
- //----------------------------------------------------
-
- if (model.getValue("/root/main/direcprcp/direcprcpinfo[" + pGrd0.row + "]/iogb") == "I") {
- fSaveDataI();
- } else {
- fSaveDataO();
- }
- }
- /*------------------------------
- acting(입원)
- ------------------------------*/
- function fSaveDataI() {
-
- var pGrd0 = grd_keepbaclist;
- var pGrd1 = datagrid1;
- var k = 0;
-
- // dschnotiyn = 'Y'
- var xPath = "/root/main/paminfo/list";
-
- if (model.getValue(xPath + "/dschnotiyn") == "Y") {
- messageBox("간호퇴원확정된 자료는 Acting할수 없습니다.", "E999", "");
- return;
- }
- // lastmdlclamdd IS '최종중간청구 일자',
- var tempDate = getCurrentDate();
-
- if (model.getValue(xPath + "/lastmdlclamdd") != '-') {
- if (model.getValue(xPath + "/lastmdlclamdd") >= tempDate ) {
- messageBox("중간정산일 이전일은 Acting할수 없습니다....", "E999", "");
- return;
- }
- }
- // alert( model.getValue(xPath + "/dschnotiyn") + "/" +
- // model.getValue(xPath + "/lastmdlclamdd") + "/" +
- // tempDate);
-
-
- //조회후 막으므로 저장시는 막지 않는다.
- //체크여부만 확인 한다.
- var colchk = pGrd1.colRef("chk");
-
- for (var i = 1; i < pGrd1.rows; i++){
- if (model.getValue("/root/main/prcpdetl/prcpdetlinfo[" + i + "]/chk") == "true"){
- if (pGrd1.isReadOnly(i,colchk,i,colchk) != true) {
- /* 막음
- // if (model.getValue("/root/main/prcpdetl/prcpdetlinfo[" + i + "]/prnprcpflag") == "Y"){
- // messageBox("PRN처방은 ACTING할 수 없습니다..", "E999", "");
- // return;
- // }
- // if (model.getValue("/root/main/prcpdetl/prcpdetlinfo[" + i + "]/execyn") == "Y"){
- // messageBox("이미 Acting된 자료입니다...", "E999", "");
- // return;
- // }
- // if (model.getValue("/root/main/prcpdetl/prcpdetlinfo[" + i + "]/dr") == "반납의뢰"){
- // messageBox("반납의뢰된 자료입니다...", "E999", "");
- // return;
- // }
- */
- k = parseInt(k) + 1;
- }
- }
- }
- if (k == 0){
- messageBox("처리할 내역이 선택되지 않았습니다.", "E999", "");
- return;
- }
- var update = getGridUpdateData(datagrid1);
- model.removenodeset("/root/send");
-
- model.makeValue("/root/send/execdata/prcpdetlinfo",update);
- //--------------------------------------------
- //수익interface를 태우는 작업을 추가해야 한다.
- //(현재이전일 acting인 경우만
- //--------------------------------------------
- //app에서 처리함
- //--------------------------------------------
-
- //20081126 dhkim acting된 데이터는 다시 액팅할수 없도록 막는다.
-
-
- //20081126 dhkim acting전에 퇴원확정된 환자는 액팅할수 없도록 막는다.
-
-
- if (messageBox("Acting ",'Q003',"") != 6) return;
-
- if(submit("TXMNA00501")){
- readfunc1();
- }
- }
- /*------------------------------
- acting(외래)
- ------------------------------*/
- function fSaveDataO() {
-
- var pGrd1 = datagrid1;
- var k = 0;
- var colchk = pGrd1.colRef("chk");
- for (var i = 1; i < pGrd1.rows; i++){
-
- if (model.getValue("/root/main/prcpdetl/prcpdetlinfo[" + i + "]/chk") == "true"){
- if (pGrd1.isReadOnly(i,colchk,i,colchk) != true) {
- /* 막음
- if (model.getValue("/root/main/prcpdetl/prcpdetlinfo[" + i + "]/rcptyn") != "Y"){
- messageBox("외래인 경우는 수납된 자료만 Acting가능 합니다...", "E999", "");
- return;
- }
- if (model.getValue("/root/main/prcpdetl/prcpdetlinfo[" + i + "]/prnprcpflag") == "Y"){
- messageBox("PRN처방은 ACTING할 수 없습니다..", "E999", "");
- return;
- }
- if (model.getValue("/root/main/prcpdetl/prcpdetlinfo[" + i + "]/execyn") == "Y" ){
- messageBox("이미 Acting된 자료입니다...", "E999", "");
- return;
- }
- */
- k = parseInt(k) + 1;
- }
- }
- }
- if (k == 0){
- messageBox("처리할 내역이 선택되지 않았습니다.", "E999", "");
- return;
- }
- var update = getGridUpdateData(datagrid1);
- model.removenodeset("/root/send");
-
- model.makeValue("/root/send/execdata/prcpdetlinfo",update);
- //--------------------------------------------
- //수익interface를 태우는 작업을 추가해야 한다.
- //--------------------------------------------
- //app에서 처리함
- //--------------------------------------------
- if (messageBox("Acting ",'Q003',"") != 6) return;
- if(submit("TXMNA00501")){
- readfunc1();
- }
- }
- //-----------------------------
- // DC MAIN
- //-----------------------------
- function fSaveDataCancel() {
- var pGrd0 = grd_keepbaclist;
- if (pGrd0.rows <= 1 ) return;
-
- var pGrd1 = datagrid1;
- if (pGrd1.rows <= 1 ) return;
-
- //----------------------------------------------------
- //설정된 상단정보를 불러옴("내리기")
- //체크하기 위해 자료불러오기
- model.removenodeset("/root/main/paminfo");
- model.makeNode("/root/main/paminfo");
- var node = getGlobalVariable("paminfo");
- setCSVToNode("/root/main/paminfo", node);
- //----------------------------------------------------
-
- if (model.getValue("/root/main/direcprcp/direcprcpinfo[" + pGrd0.row + "]/iogb") == "I") {
- fSaveDataCancelI();
- } else {
- messageBox("외래처방은 반납의뢰 할 수 없습니다..", "E999", "");
- //fSaveDataCancelO();
- }
- }
- //-----------------------------
- // DC (입원)
- //-----------------------------
- function fSaveDataCancelI() {
-
- //acting 취소+ D/C + 후인증
- var pGrd1 = datagrid2;
- var k = 0;
-
- // dschnotiyn = 'Y'
- var xPath = "/root/main/paminfo/";
- var colchk = pGrd1.colRef("chk");
-
- if (model.getValue(xPath + "/dschnotiyn") == "Y") {
- messageBox("간호퇴원확정된 자료는 반납의뢰 할 수 없습니다....", "E999", "");
- return;
- }
- for (var i = 1; i < pGrd1.rows; i++){
- if (model.getValue("/root/main/execprcp/execprcpinfo[" + i + "]/chk") == "true"){
- if (pGrd1.isReadOnly(i,colchk,i,colchk) != true) {
- /* 막음
- if (model.getValue("/root/main/execprcp/execprcpinfo[" + i + "]/prnprcpflag") == "Y"){
- messageBox("PRN처방은 반납의뢰 할 수 없습니다.", "E999", "");
- return;
- }
- */
- k = parseInt(k) + 1;
- }
- }
- }
- if (k == 0){
- messageBox("처리할 내역이 선택되지 않았습니다.", "E999", "");
- return;
- }
- if (messageBox("반납의뢰 ",'Q003',"") != 6) return;
- fActingCancel(); //grid -> send로 이동
-
- //----------------------(20080627)
- //반환사유등록기능 추가(테스트완료)일단 막음
- //fnEndddSave();
- //return;
- //----------------------
-
- if(submit("TXMNA00503")){
- readfunc2();
- }
- }
-
- //-----------------------------
- // DC (외래)
- //-----------------------------
- function fSaveDataCancelO() {
-
- //acting 취소
- var k = 0;
- var tempDate = getCurrentDate();
-
- for (var i = 1; i < datagrid2.rows; i++){
- if (model.getValue("/root/main/execprcp/execprcpinfo[" + i + "]/chk") == "true"){
- if (model.getValue("/root/main/execprcp/execprcpinfo[" + i + "]/execdd") != tempDate){
- messageBox("당일 Acting 건에 대한 취소만 가능합니다.", "E999", "");
- return;
- }
- /*
- //수정해야함(임시)
- if (model.getValue("/root/main/execprcp/execprcpinfo[" + i + "]/AAAAA") == "Y"){
- messageBox("선처치는 Acting가 불가능합니다.", "E999", "");
- return;
- }
- */
- k = parseInt(k) + 1;
- }
- }
- if (k == 0){
- messageBox("처리할 내역이 선택되지 않았습니다.", "E999", "");
- return;
- }
-
- if (messageBox("반납의뢰 ",'Q003',"") != 6) return;
-
- fActingCancel();
- //--------------------------------------------
- //수익interface를 태우는 작업을 추가해야 한다.
- //--------------------------------------------
- // 외래DC는 없음
- //--------------------------------------------
-
- if(submit("TXMNA00503")){
- readfunc2();
- }
- }
-
- //----------------------------------------------
- // Acting 취소 처리
- //----------------------------------------------
- function fActingCancel() {
- var update = getGridUpdateData(datagrid2);
- model.removenodeset("/root/send");
- model.makeValue("/root/send/execdata/execprcpinfo",update);
- }
- //--AEZ0001.JS (원본)
- function aezfSetSuppDeptcd_local() {
- var dutplcecd = getUserInfo("dutplcecd");
- //var dutplcenm = getUserInfo("dutplcenm");
- var selectplcecd = getScreenPrestDeptCd();
-
- //alert(dutplcecd + "/////" + selectplcecd);
-
- if ( selectplcecd == "" ) {
- selectplcecd = dutplcecd;
- //selectplcenm = dutplcenm;
- }
-
- model.setValue("/root/main/cond/globalinstance/instance1", selectplcecd);
- }
- /*//20080912
- * 모처방 dc여부
- */
- function fIsMomPrcpDC(){
-
- model.removenode('/root/send/reqdata');
- model.makenode('/root/send/reqdata');
- model.makeValue('/root/send/reqdata/ioflag', model.getValue("/root/main/direcprcp/direcprcpinfo[" + grd_keepbaclist.row + "]/iogb"));
- model.makeValue('/root/send/reqdata/prcpflag', model.getValue("/root/main/direcprcp/direcprcpinfo[" + grd_keepbaclist.row + "]/prcpflag"));//실처방/지시처방구분
- model.makeValue('/root/send/reqdata/pid', model.getValue("/root/main/direcprcp/direcprcpinfo[" + grd_keepbaclist.row + "]/pid"));
- model.makeValue('/root/send/reqdata/prcpdd', model.getValue("/root/main/direcprcp/direcprcpinfo[" + grd_keepbaclist.row + "]/prcpdd"));
- model.makeValue('/root/send/reqdata/prcpno', model.getValue("/root/main/direcprcp/direcprcpinfo[" + grd_keepbaclist.row + "]/prcpno"));
- model.makeValue('/root/send/reqdata/prcphistno', model.getValue("/root/main/direcprcp/direcprcpinfo[" + grd_keepbaclist.row + "]/prcphistno"));
-
- if(submit('TRMNA00511')){
- var prcpflag = model.getValue('/root/hidden/momdcinfo/prcpflag');
- var isdc = model.getValue('/root/hidden/momdcinfo/isdc');
- if(prcpflag == '1'){//실처방
- return 'N';//dc아님
- }else if(prcpflag == '2'){//지시처방
- if(isdc == 'Y'){
- return 'Y';//dc됨
- }else {
- return 'N';//dc아님
- }
- }
- }else{
- messageBox('처방내역 조회를 실패하였습니다', 'E');
- return false;
- }
-
- // return true;//true이면 자처방 검색 안함
- }
- //----------------------------------------------
- // 하단 질의문
- //----------------------------------------------
- function fQueryDetail() {
-
-
- //하단그리드에 전체선택버튼 비선택으로전환
- datagrid1.fixedcellischeck(0,1) = false; //그리드 헤더에 체크버튼 추가
- datagrid2.fixedcellischeck(0,1) = false; //그리드 헤더에 체크버튼 추가
-
- //하단그리드자료 조회
- var pGrd = grd_keepbaclist;
- if ( (pGrd.row >= pGrd.fixedRows) && (pGrd.isCell(event.target))) {
-
- model.toggle("case1");
- btn_case1.selected = true;
- btn_case2.selected = false;
-
- if (btn_case1.selected == true){
- readfunc1();
- }else{
- readfunc2();
- }
- }
- }
- //----------------------------------------------
- // 상단올리기
- //----------------------------------------------
- function fSetPatInfo() {
-
- var pGrd = grd_keepbaclist;
- var xPath = "/root/main/direcprcp/direcprcpinfo";
- var condparam = "";
-
- if (pGrd.rows <= 1 || pGrd.row <= 0 ) return;
-
- //--------------------------상단올리기 flag --------------------------
- // 01 O:외래, I:입원구분, T:수술예약 , E:응급
- // 02 등록번호
- // 03 수술시작일자
- // 04 cretno(없는 경우 ""로 처리)
- // 05 기관코드
- // 06 집도과부서
- // 07 집도의ID
- // 08 환자구분
- // 09 F -처리구분 무조건 F로 설정
- // 10 수술예약번호
- // 11 수술이력번호
- // 12 조회일자 2007-09-13 오지훈 추가...
- //------------------------------------------------------------------
-
- var pid = "";
- var indd= "";
- var cretno="";
- var instcd = "";
- var orddd= "";
- var ordtype = "";//"I";
-
- ioflag = model.getValue(xPath + "["+pGrd.row+"]/iogb") ;
- if ( ioflag == "D" ) ioflag == "I";
-
- pid = model.getValue(xPath + "["+pGrd.row+"]/pid") ;
- indd = model.getValue(xPath + "["+pGrd.row+"]/indd") ;
- cretno = model.getValue(xPath + "["+pGrd.row+"]/cretno") ; //그리드에 추가해야함
- instcd = model.getValue(xPath + "["+pGrd.row+"]/instcd"); //전역변수에 추가해야함
- orddd = model.getValue(xPath + "["+pGrd.row+"]/prcpdd"); //처방일(orddd)
- ordtype = ioflag;
- // 상단 세팅을 위한 파라미터
- condparam = ordtype + "▦" + pid + "▦" + indd + "▦" + cretno + "▦" + instcd+ "▦" + orddd ;
- setParameter("condparam", condparam);
- //상단 세팅 화면 사이즈 작게 띄움 (id,monNo,xPos,yPos,wid,ref,resultref,userProp,prevPos)
- //modal("SPMMO08900", "", "100", "100", '100', "SPMMO08900", "", ""); //alert("환자기본정보설정중......");
- modal("SPMMO08900", 1, "", "", "", "SPMMO08900", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
- //----------------------------------------------------
- //설정된 상단정보를 불러옴
- // alert("내리기");
- // model.makeNode("/root/main/paminfo");
- // var node = getGlobalVariable("paminfo");
- // setCSVToNode("/root/main/paminfo", node);
- //----------------------------------------------------
- }
- //---------------------------------------
- // 자동설정기능 제어
- //---------------------------------------
- function fGrdSelect(sflag) {
-
- var pGrd;
- if (sflag == "1") {
- pGrd = datagrid1; //처방내역
- } else {
- pGrd = datagrid2; //실시내역
- }
- if (pGrd.rows <= 1 ) return;
-
- if (pGrd.col != pGrd.colRef("chk") || pGrd.row != 0) {
- return;
- } else {
- for (var row=1;row<pGrd.rows;row++) {
- //선택하면 안되는 자료를 제외시킨다.
- if (pGrd.isReadOnly(row,pGrd.colref("chk"),row,pGrd.colref("chk") )== "1") {
- if (sflag=="1") {
- model.setValue("/root/main/prcpdetl/prcpdetlinfo[" + row + "]/chk","false");
- } else {
- model.setValue("/root/main/execprcp/execprcpinfo[" + row + "]/chk","false");
- }
- } else {
- pGrd.addStatus(row,"update"); //수정된것으로 본다.
- }
- }
- }
- model.refresh();
- }
- // --------------------------------------------------
- // 오른쪽 마우스버튼
- // --------------------------------------------------
- function fnonmousedown() {
- var pGrd = grd_keepbaclist;
- pGrd.row = pGrd.mouseRow;
- if (pGrd.rows <= 1 || pGrd.row <= 0 ) return;
- fShowPopupMenu("grd_keepbaclist","/root/main/menuitems/inmenu/item");
-
- /*
- if (model.getValue( "/root/main/dsc/dscList["+grd_dscList.mouseRow+"]/pid")== "") return;
- var colnm = grd_dscList.valueMatrix(0, grd_dscList.mouseCol);
- var tmpcareinrmdd = model.getValue( "/root/main/dsc/dscList["+grd_dscList.mouseRow+"]/tmpcareinrmdd");
- var oppatflagcd = model.getValue( "/root/main/dsc/dscList["+grd_dscList.mouseRow+"]/oppatflagcd");
- colnm = colnm.substring(0,2);
-
- var sdschdd1 = model.getValue( "/root/main/dsc/dscList["+grd_dscList.mouseRow+"]/dschdd");
- sdschdd1 = sdschdd1.replace("-","");
- sdschdd1 = sdschdd1.substring(0,1);
-
- //---(수술환자+angio(수술정보없음)
- // if(oppatflagcd=="D"&&colnm== "입실"&&tmpcareinrmdd.substring(0,1)=="-") { // DSC 환자, 입실시각칼럼, 입실시각이 적용되지 않은 경우("-")에만 입실시각 메뉴 나타나도록
- // fShowPopupMenu("grd_dscList","/root/main/menuitems/inmenu/item");
- // }else {
- // fShowPopupMenu("grd_dscList","/root/main/menuitems/grdmenu/item");
- // }
-
- if (rdo_dscflag.value == "D") {
- //if(colnm== "입실"&&tmpcareinrmdd.substring(0,1)=="-") { // DSC 환자, 입실시각칼럼, 입실시각이 적용되지 않은 경우("-")에만 입실시각 메뉴 나타나도록
- if(colnm== "입실") { // DSC 환자, 입실시각칼럼, 입실시각이 적용되지 않은 경우("-")에만 입실시각 메뉴 나타나도록
- fShowPopupMenu("grd_dscList","/root/main/menuitems/inmenu/item");
- }else {
- fShowPopupMenu("grd_dscList","/root/main/menuitems/grdmenu/item");
- }
- } else {
- fShowPopupMenu("grd_dscList","/root/main/menuitems/grdmenu/item");
- }
- */
- }
- // --------------------------------------------------
- // 팝업메뉴
- // --------------------------------------------------
- function fShowPopupMenu(gridID, menuPath)
- {
- var gridObj = document.controls.item(gridID);
- if(event.button == 3) {
- if(gridObj.isCell(event.target) && gridObj.mouseRow >= gridObj.fixedrows){
- window.setPopupMenu(true, menuPath, "name", "func", false);
- }else{
- window.setPopupMenu(false);
- }
- }
- }
- //-------------------------------------
- // 오른쪽 마우스 호출되는 팝업둑ENR
- //-------------------------------------
- function fSetPopup01() {
- //상단올리기
- fSetPatInfo();
- modal("SMMNA00700", "", "", "", "", "", ""); //공여자문진
- }
- function fSetPopup02() {
- //상단올리기
- fSetPatInfo();
- modal("SMLBD01300", "", "", "", "", "", ""); //공여자처방입력
- }
- function fSetPopup03() {
- //상단올리기
- fSetPatInfo();
- modal("SMLBD00900", "", "", "", "", "", ""); //검사결과판정조회
- }
- function fSetPopup04() {
- //상단올리기
- fSetPatInfo();
- modal("SMMRF02300", "", "", "", "", "", ""); //ocr서식지출력
- }
- function fSetPopup05() {
- //상단올리기
- fSetPatInfo();
- modal("SMMMO02500", "", "", "", "", "", ""); //환자진료정보조회
- }
- function fSetPopup06() {
- modal("SMMNA01600", "", "", "", "", "", ""); //APU혈액불출등록
- }
- function fSetPopup07() {
- //상단올리기
- fSetPatInfo();
- modal("SMAER00800", "", "", "", "", "", ""); //통합검사결과조회
- }
- function fSetPopup08() {
- //상단올리기
- fSetPatInfo();
- modal("SMMRI00400", "", "", "", "", "", ""); //통합기록조회
- }
- function fSetPopup09() {
- //상단올리기
- fSetPatInfo();
- modal("SMLBD00500", "", "", "", "", "", ""); //APU간호기록_치료.BMT
- }
- function fSetPopup10() {
- //상단올리기
- fSetPatInfo();
- modal("SMLBD00600", "", "", "", "", "", ""); //APU간호기록_헌혈
- }
- function fSetPopup11() {
- //상단올리기
- fSetPatInfo();
- modal("SMMNA00600", "", "", "", "", "", ""); //공여자매핑
- }
- //--------------------------
- // prn 선택시
- //--------------------------
- function fnPrn() {
- //선택구분설정
- var xPathMainCond = "/root/main/cond";
- model.setValue(xPathMainCond + "/workflag", "prn");
- fInqurySelectedPrgm();
- }
- /**
- * @group :
- * @ver : 2008.06.27
- * @by : 김보성
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 반환사유내역등록기능
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fnEndddSave() {
-
- var sPathSave = "/root/main/execprcp/execprcpinfo"; //저장원본
-
- var sPathEndCond = "/root/endsave/endcond"; //enddd 확인 결과(조회)
- var sPathEndResult = "/root/endsave/endresult"; //enddd 확인 결과(결과)
-
- var sPathEndSave = "/root/endsave/endinfo"; //반환사유정보생성path
- var sRows = getNodesetCount(sPathSave); //저장원본총갯수
- var sRowsEnd = 0;
- var sTempExecdd = "";
- var sinstcd = getUserInfo("dutplceinstcd");
- var sEndFlag = false;
- var sprcpdd = "";
- var sprcpno = "";
- var sprcphistno = "";
- var sexecprcpno = "";
- var sinstcd = "";
- var sioflag = "";
-
- model.removeNodeset(sPathEndSave);
- model.makeNode(sPathEndSave);
-
- //alert("반환");
- for (var row=1;row<=sRows;row++) {
- var chk = model.getValue(sPathSave+ "[" + row + "]/chk");
- //alert (sRows + " / " + row + " / " + chk);
- if (chk != "true") continue;
-
- sTempExecdd = model.getValue(sPathSave+ "[" + row + "]/execdd");
- sEndFlag = false;
-
- sprcpdd = model.getValue(sPathSave+ "[" + row + "]/prcpdd");
- sprcpno = model.getValue(sPathSave+ "[" + row + "]/prcpno");
- sprcphistno = model.getValue(sPathSave+ "[" + row + "]/prcphistno");
- sexecprcpno = model.getValue(sPathSave+ "[" + row + "]/execprcpno");
- sinstcd = getUserInfo("dutplceinstcd");
- sioflag = model.getValue(sPathSave+ "[" + row + "]/iogb");
- //alert(sprcpdd + "/" + sprcpno + "/" + sprcphistno +"/" +sexecprcpno +"/"+sinstcd +"/"+sioflag);
- //acting된것
- if (sTempExecdd != "00000000" ) {
- //DB갔다와야함(코딩해야함)
- model.removeNodeset(sPathEndCond);
- model.makeNode(sPathEndCond);
- //model.removeNodeset(sPathEndResult+"/enddd");
- //model.makeNode(sPathEndResult+"/enddd");
-
- model.makeValue(sPathEndCond + "/prcpdd", sprcpdd);
- model.makeValue(sPathEndCond + "/prcpno", sprcpno);
- model.makeValue(sPathEndCond + "/prcphistno", sprcphistno);
- model.makeValue(sPathEndCond + "/execprcpno", sexecprcpno);
- model.makeValue(sPathEndCond + "/instcd", sinstcd);
- model.makeValue(sPathEndCond + "/ioflag", sioflag);
-
- submit("TRMNA00510"); //마감여부체크
- //alert(model.getValue(sPathEndResult + "/enddd"));
-
- if ((model.getValue(sPathEndResult + "/enddd") == "00000000") ||
- (model.getValue(sPathEndResult + "/enddd") == "") ||
- (model.getValue(sPathEndResult + "/enddd") == "-")) {
- sEndFlag = false;
- } else {
- sEndFlag = true;
- }
- }
- if ( sEndFlag ) {
- //check: acting된것인데, enddd가 있는경우에 미확인으로 처리할경우인지를 확인해야함
- sRowsEnd++;
-
- model.removeNodeset(sPathEndSave);
- model.makeNode(sPathEndSave);
-
- model.makeValue(sPathEndSave+"/list/prcpdd", sprcpdd );
- model.makeValue(sPathEndSave+"/list/prcpno", sprcpno );
- model.makeValue(sPathEndSave+"/list/prcphistno", sprcphistno );
- model.makeValue(sPathEndSave+"/list/execprcpno", sexecprcpno );
- model.makeValue(sPathEndSave+"/list/instcd", sinstcd );
- model.makeValue(sPathEndSave+"/list/ioflag", sioflag );
- //alert("반환사유 테스트");
- if (getNodesetCount (sPathEndSave+"/list") > 0 ) {
- modal("SPPAS03000", "2", "100", "100", "SPPAS03000", sPathEndSave, "root/target",
- "left:100; top:100; width:400; height:400; sysmenu:hidden; min:visible; max:hidden; :hidden; resize:true; caption:visible;", false);
- model.removeNodeset(sPathEndSave);
- }
- }
- }
- }
|