123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265 |
- //초기화
- function fInit() {
- var param = opener.javascript.getParameter("SPMMO32000_param");
- param = param.split("▦");
- model.setValue("/root/tmp/patinfo/pid", param[0]);
- model.setValue("/root/tmp/patinfo/orddd", param[1]);
- model.setValue("/root/tmp/patinfo/cretno", param[2]);
- model.setValue("/root/tmp/patinfo/visitno", param[3]);
-
- mmbfGetHardCodeInfoNm("/root/send/reqdata" , "/root/init/ercallno" , 7);
- submit("TRMNE05202"); //환자정보 가져옴
- var pid = model.getValue("/root/main/erpat/erpatinfo/pid");
- var nm = model.getValue("/root/main/erpat/erpatinfo/nm");
- var sa = model.getValue("/root/main/erpat/erpatinfo/sa");
- var indt = model.getValue("/root/main/erpat/erpatinfo/indt");
- var deptengabbr = model.getValue("/root/main/erpat/erpatinfo/deptengabbr");
- caption2.value = nm + "(" + pid + ") " + sa + " " + indt + " " + deptengabbr;
-
- //@부서정보 불러오기.
- var instcd = getUserInfo("dutplceinstcd");
- var standard_yn = "orduseyn";
- var ord_deptflag = 'D';
- var rslt_ref = "/root/init/orddeptinfo";
- var sort_field = "depthngnm";
- var sort_method = "asc";
- zbcfGetDeptCodeList(instcd, standard_yn, ord_deptflag, rslt_ref, sort_field, sort_method);
-
- model.setValue("/root/main/cond/callcnts", "응급실 환자 " + nm + "(" + pid + ")님 진료 바랍니다. ");
- model.setValue("/root/main/cond/callpsnno", model.getValue("/root/init/ercallno/hardcd/hardcd"));
- model.refresh();
-
- }
- //의사 스케쥴 체크
- function fChkErSheduleList(){
-
- model.makeValue("/root/send/deptchk/erorddeptcd",model.getValue("/root/main/cond/orddeptcd"));
- model.makeValue("/root/send/deptchk/deptpartinfo",model.getValue("/root/main/cond/deptpartinfo"));
- if(!submit("TRMMO31003")){
- messageBox('응급의사 스케쥴 조회를 실패하였습니다.', 'E');
- }
- var a = instance1.selectNodes("/root/temp/erorshedulchk/shedulchk");
- if(a.length == "0"){
- messageBox('해당부서에 응급호출 등록된 의사가 없습니다.', 'E999');
- }else{
- if(model.getValue("/root/temp/erorshedulchk/shedulchk/chkflag") != "-"){
- messageBox('주치의를 선택하십시오.', 'I');
- model.setFocus("cmb_erdr");
- }
- }
- }
- //20091104 dhkim
- //호출 유효성 체크
- function fIsValidErCallDr(params){
- var paramArr = params.split('|');
- var pid = paramArr[0];
- var indd = paramArr[1];
- var cretno = paramArr[2];
- var visitno = paramArr[3];
- var intm = paramArr[4];
- var erorddeptcd = paramArr[5];
-
- //환자정보가 없는경우
- if(pid == '' || indd == '' || cretno == '' || visitno == '' || intm == ''){
- messageBox('환자정보가 존재하지 않아 호출 할 수 없습니다.', 'E');
- return false;
- }
-
- //응급호출과를 선택하지 않은경우
- if(erorddeptcd == ""){
- messageBox('응급호출할 과를 선택하십시오.', 'E');
- return false;
- }
-
- return true;
- }
- /**
- /* 호출
- /* 수정이력 : 20091116 dhkim grtype구분자추가
- /* 수정이력 : 20100512 kimsj 호출자번호(연락처) 추가
- */
- function fErCallDr(){
- //주치의 선택
- var a = instance1.selectNodes("/root/temp/erorshedulchk/shedulchk");
- var b = model.getValue("/root/main/cond/ordrid");
- var flag = model.getValue("/root/temp/erorshedulchk/shedulchk/chkflag")
- if(a.length>0 && b==""&& flag != "-"){
- messageBox('주치의를 선택하십시오', 'E999');
- model.setFocus("cmb_erdr");
- return;
- }
- //환자정보
- var pid = model.getValue("/root/main/erpat/erpatinfo/pid");
- var indd = model.getValue("/root/main/erpat/erpatinfo/indd");
- var cretno = model.getValue("/root/main/erpat/erpatinfo/cretno");
- var visitno = model.getValue("/root/tmp/patinfo/visitno");
- var intm = model.getValue("/root/main/erpat/erpatinfo/intm");
- var patnm = model.getValue("/root/main/erpat/erpatinfo/nm");
- var erorddeptcd = model.getValue("/root/main/cond/orddeptcd");
- var callcnts = model.getValue("/root/main/cond/callcnts");
- var deptpartinfo = model.getValue("/root/main/cond/deptpartinfo");
- var callpsnno = model.getValue("/root/main/cond/callpsnno");
- //호출전 유효성체크
- var params = pid + '|'
- + indd + '|'
- + cretno + '|'
- + visitno + '|'
- + intm + '|'
- + erorddeptcd;
- if(!fIsValidErCallDr(params)) return;
-
- //해당과의 스케쥴 조회 및 의사호출
- model.makeValue("/root/send/reqdata/pid" , pid);
- model.makeValue("/root/send/reqdata/indd" , indd);
- model.makeValue("/root/send/reqdata/cretno" , cretno);
- model.makeValue("/root/send/reqdata/visitno" , visitno);
- model.makeValue("/root/send/reqdata/erorddeptcd" , erorddeptcd);
- model.makeValue("/root/send/reqdata/hngnm" , patnm);
- model.makeValue("/root/send/reqdata/callcnts" , callcnts);
- model.makeValue("/root/send/reqdata/deptpartinfo" , deptpartinfo);
- model.makeValue("/root/send/reqdata/callpsnno" , callpsnno);
-
- if(!submit("TRMMO31002")){
- messageBox('의사조회 실패하였습니다.', 'E');
- return;
- }
-
- var a = instance1.selectNodes("/root/temp/erorshedulelist/erorlist");
- if(a.length == "0"){
- messageBox('해당부서에 응급호출 등록된 의사가 없습니다.', 'E');
- return;
- }
- if(flag != "-"){
- model.setValue("/root/temp/erorshedulelist/erorlist[erorddoctcd='"+b+"']/mainyn","M");
- }
- if(submit("TXMMO31002")){
- messageBox('호출되었습니다.', 'I');
- }else{
- messageBox('호출 실패하였습니다.', 'E');
- }
- }
- function fGetDeptDetlFlag() {
- var ref = "/root/send";
- var rstRef = "/root/init/deptpartinfo";
- //var orddeptcd = model.getValue('/root/cond/orddeptcd');
- var orddeptcd = model.getValue('/root/main/cond/orddeptcd');
- model.makeValue("/root/send/orddeptcd", orddeptcd);
- model.removenode("/root/main/cond/deptpartinfo");
-
- var srchym = fGetToDaySchym();
- var srchymfirstday = srchym.concat("01");
- var srchymlastday = srchym.concat(fGetLastDay(srchym));
- model.makeValue("/root/send/srchymfirstday", srchymfirstday );
- model.makeValue("/root/send/srchymlastday ", srchymlastday );
-
- if( !submit("TRMMO30002", "false", ref, rstRef)){
- messageBox('진료과별 파트정보 조회를 실패하였습니다.', 'E999');
- cmb_deptdetlflag.refresh();
- return false;
- }
-
- model.makeNode("/root/main/cond/deptpartinfo");
- /*
- var nodeList = instance1.selectNodes('/root/init/deptpartinfo/partlist');
- if( nodeList.length <= 0 ){
- //alert( nodeList.length + " nodeList.length ");
- model.removenode("/root/send/deptpartinfo");
- cmb_partinfo.disabled="true";
- }
- else{
- cmb_partinfo.disabled ="false";
- messageBox('해당과의 파트정보를 입력해주십시오.', 'I');
- model.setFocus("cmb_deptdetlflag");
-
- }
- */
- // model.setValue("/root/cond/deptpartinfo", deptpartinfo );
- }
- // 부서 파트 정보가 있는지 체크
- // 부서 파트 정보가 있는데 파트 정보를 입력하지 않았을 경우 true리턴
- function fChkDeptDetlFlag(){
- var nodeList = instance1.selectNodes('/root/init/deptpartinfo/partlist');
- var deptdetlflag = model.getValue("/root/main/cond/deptpartinfo");
- //var orddeptnm = model.getValue("/root/cond/orddeptcd");
- if( nodeList.length > 0 && ( deptdetlflag == null || deptdetlflag =="") ){
- //messageBox(orddeptnm + "는 파트정보가", "I003");
- //model.removeNodeset("/root/main/workerinfo/workerinfolist");
- return true;
- }
-
- return false;
- }
- function fChkSelDeptDetlFlag(){
- //var selDeptDetlFlag = model.getValue("/root/cond/deptpartinfo");
- var nodeList = instance1.selectNodes('/root/init/deptpartinfo/partlist');
- if ( fChkDeptDetlFlag() ){
- //cmb_partinfo.select(0);
- cmb_partinfo.disabled="false";
- messageBox('파트정보를 선택하십시오.', 'I');
- model.setFocus("cmb_partinfo");
- }
- else if( nodeList.length > 0 ){
- cmb_partinfo.disabled="false";
- }
- else{
- cmb_partinfo.disabled="true";
- model.removenode("/root/main/cond/deptpartinfo");
- }
- }
- function fGetToDaySchym(){
- var today = new Date();
- var year = today.getFullYear();
- var month = today.getMonth()+1;
- year = year.toString();
- month = fAddZero(month);
- return year.concat(month.toString());
- }
- function fAddZero(n){
- return n < 10 ? "0" + n : n;
- }
- function fGetLastDay(mm){
- var dd = 31;
-
- switch(mm){
- case 4:
- case 6:
- case 9:
- case 11:
- dd = 30;
- break;
- case 2:
- if( (yyyy%4)==0 || (yyyy%100)==0){
- dd=29;
- }
- else{
- dd=28;
- }
- break;
- }
-
- return dd;
- }
|