123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464 |
- // 초기화
- function fInit(){
-
- // 원무공통코드조회
- pamfGetCodeList(new Array("PK018"), new Array("/root/init/PAM/PK018list"));
-
- // 인스턴스 초기화
- model.resetInstanceNode("/root/send");
- model.resetInstanceNode("/root/main/uproomsignlist");
- model.resetInstanceNode("/root/main/signinfo");
- model.refresh();
-
- // 신청인 서명여부 표시
- fsign_chk();
-
- // 관계 서명여부 표시
- fsign_Rely_chk();
-
- // 버튼제어
- btn_update.disabled = true;
- btn_insert.disabled = true;
-
- // 싸인패드 초기화
- fsignpad_init();
-
- // 포커스 설정
- model.setfocus("input1", true);
-
- // 개인정보이용동의서 출력을 위한 서식코드 취득
- reqHardCodeInfo("/root/send/reqdata", "/root/init/prncd", "5604");
-
- // 부모창에서 넘겨진 파라미터 검증
- if (checkOpener()) {
- var pid = opener.javascript.getParameter("SPZHA20101_PARM_PID");
- var indd = opener.javascript.getParameter("SPZHA20101_PARM_INDD");
- var autoflag = opener.javascript.getParameter("SPZHA20101_PARM_AUTOFLAG");
-
- model.setValue("/root/send/pid", pid);
- model.setValue("/root/send/indd", indd);
- model.refresh();
-
- // 차트번호가 존재하는 경우에만 조회실시
- if (!isNull(pid)) {
-
- // 초기조회
- fGetUpRoomSignList();
-
- // 자동실시인 경우에만 처리
- if (autoflag == "Y") {
-
- // 검색결과가 1건 + 서명 N 인경우 자동으로 설정
- if (grd_signlist.rows == 2) {
-
- // 전자동의서 기본출력 처리 by 조중래 20151104
- if (model.getValue("/root/init/PAM/PK018list/PK018[cdid='" + app.clientIp + "']/cdnm") == "Y"
- && messageBox("상급병실신청서", "Q017") == "6") {
-
- // 정보 설정
- fSetSignInfo();
-
- // 구분설정 S:전자동의서
- model.setValue("/root/main/signinfo/ocrtype", "S");
- setOCRType();
-
- // 자동저장
- fSave("I");
- }
- }
- }
- }
- }
- }
- // 상급병실신청리스트 조회
- function fGetUpRoomSignList() {
-
- if (isNull(model.getValue("/root/send/pid"))
- || isNull(model.getValue("/root/send/indd"))) {
-
- messageBox("환자번호 및 입원일자는 필수입니다.", "E000");
-
- return;
- }
-
- submit("TRPMI02801");
-
- btn_update.disabled = true;
- btn_insert.disabled = true;
- }
- // 상급병실신청 서명정보설정
- function fSetSignInfo() {
-
- var grdRow = grd_signlist.row;
-
- if (grdRow < 1) {
- grdRow = 1; // 초기값 설정용 - 전자동의서 자동출력 처리용
- }
-
- // 상세정보 설정
- model.copyNode("/root/main/signinfo" , "/root/main/uproomsignlist[" + grdRow +"]" );
- model.refresh();
-
- // 신규저장 / 수정 버튼제어
- if (model.getValue("/root/main/signinfo/signyn") != "N") {
- model.makeValue("/root/main/signinfo/updateflag" , "U");
- btn_update.disabled = false;
- btn_insert.disabled = true;
- } else {
- model.makeValue("/root/main/signinfo/updateflag" , "I");
- btn_update.disabled = true;
- btn_insert.disabled = false;
- }
-
- // 사인표시부 초기화
- fsignpad_init();
-
- // 신청인 서명여부 표시
- fsign_chk();
-
- // 관계 서명여부 표시
- fsign_Rely_chk();
-
- // 구분 제어
- setOCRType();
- }
- //신청인 서명
- function fsign_req(){
-
- // 상급병실 신청정보가 있을 때만 처리
- if (isNull(model.getValue("/root/main/signinfo/pid"))) {
-
- messageBox("상급병실 신청정보가 선택되지 않았습니다. \r\n오른쪽 리스트에서 해당 정보를 선택한 후 진행하십시요.", "C000");
- return;
- }
- fsignpad_init();
- fsignpad_request(0);
- model.makeValue("/root/main/signinfo/elctappsignyn1", "Y");
- }
- //신청인 서명확인
- function fsign_confirm(){
- var flag = model.getValue("/root/main/signinfo/elctappsignyn1");
-
- if(flag == "Y"){
- // 전자서명 저장
- fsignpad_save();
- model.setValue("/root/main/signinfo/elctsignkey1" , model.getValue("/root/result/sign/elctsignkey") , true);
- model.setValue("/root/main/signinfo/elctsigncnts1", model.getValue("/root/result/sign/elctsigncnts") , true);
-
- // 전자서명 싸인패드에 표시
- fsignpad_view(model.getValue("/root/main/signinfo/elctsignkey1") , model.getValue("/root/main/signinfo/elctsigncnts1"));
-
- //서명유무 체크
- fsign_chk();
-
- return true;
-
- } else {
-
- messageBox("신청인 서명이 입력되지 않았습니다.", "C000");
-
- return false;
- }
- }
- //서명유무 체크
- function fsign_chk(){
- var appsigncnts = model.getValue("/root/main/signinfo/elctsignkey1");
- if (appsigncnts == "-" || appsigncnts == "") {
- caption12.attribute("style") = "background-color:#cce8ff;";
- }else{
- caption12.attribute("style") = "background-color:#ff0000;";
- }
- }
- //신청인관계 서명
- function fsign_Rely_req(){
-
- // 서명확인용 버튼기능 수행
- if (fsign_confirm() != true) {
-
- return;
- }
- // 신청인관계는 신청인 서명이 존재할 때만 서명가능함
- if (model.getValue("/root/main/signinfo/elctappsignyn1") != 'Y') {
-
- messageBox("신청인 서명이 입력되지 않았습니다.", "C000");
-
- return;
- }
-
- fsignpad_init();
- fsignpad_request(0);
- model.makeValue("/root/main/signinfo/elctappsignyn2", "Y");
- }
- //신청인관계 서명확인
- function fsign_Rely_confirm(){
-
- var flag = model.getValue("/root/main/signinfo/elctappsignyn2");
-
- if(flag == "Y"){
- // 전자서명 저장
- fsignpad_save();
- model.setValue("/root/main/signinfo/elctsignkey2" , model.getValue("/root/result/sign/elctsignkey") , true);
- model.setValue("/root/main/signinfo/elctsigncnts2", model.getValue("/root/result/sign/elctsigncnts") , true);
-
- // 전자서명 싸인패드에 표시
- fsignpad_view(model.getValue("/root/main/signinfo/elctsignkey2") , model.getValue("/root/main/signinfo/elctsigncnts2"));
-
- //서명유무 체크
- fsign_Rely_chk();
-
- return true;
- } else {
-
- messageBox("관계가 입력되지 않았습니다.", "C000");
-
- return false;
- }
- }
- //서명유무 체크
- function fsign_Rely_chk(){
- var apprelacnts = model.getValue("/root/main/signinfo/elctsignkey2");
- if (apprelacnts == "-" || apprelacnts == "") {
- caption14.attribute("style") = "background-color:#cce8ff;";
- } else {
- caption14.attribute("style") = "background-color:#ff0000;";
- }
- }
- // 신규저장
- function fSave(flag) {
-
- if (model.getValue("/root/main/signinfo/ocrtype") == "" || model.getValue("/root/main/signinfo/ocrtype") == null) {
- messageBox("서식구분은 필수입력입니다.", "C000");
- return;
- }
-
- // 관계서명확인용 버튼기능 수행(서면서명/전자동의서 작성의 경우 체크제외)
- if (model.getValue("/root/main/signinfo/ocrtype") == "E" && fsign_Rely_confirm() != true) {
-
- return;
- }
-
- // 신청인 및 관계데이터가 모두 존재할 경우에만 저장처리(서면서명/전자동의서 작성의 경우 체크제외)
- if (model.getValue("/root/main/signinfo/ocrtype") == "E") {
-
- if (isNull(model.getValue("/root/main/signinfo/elctsignkey1"))
- || isNull(model.getValue("/root/main/signinfo/elctsignkey2"))) {
-
- messageBox("신청인 또는 관계가 입력되지 않았습니다.", "C000");
- return;
- }
- }
-
- // 전자동의서 체크실시
- if (model.getValue("/root/main/signinfo/ocrtype") == "S") {
-
- // OCRTAG 등록
- // 1. 병동에서 OCR서식을 출력하여 내려온 경우에 수동입력
- // 2. 전자동의서를 통한 입력
- if (model.getValue("/root/main/signinfo/ocrtag") == ""
- || model.getValue("/root/main/signinfo/ocrtag") == null) {
-
- // 서식코드 취득
- model.makeValue("/root/main/signinfo/formcd", model.getValue("/root/init/prncd/hardcd[cdseqno='7']/hardcd")); // 7:상급병실신청서 0000001801
- model.makeValue("/root/main/signinfo/orddd", model.getValue("/root/main/signinfo/indd"));
- model.makeValue("/root/main/signinfo/ordtype", "I");
- model.makeValue("/root/main/signinfo/flag", "U"); // 상급병실신청서
-
- // 전자동의서
- var ocrtag = fPrintOcrConsent("/root/main/signinfo");
-
- if (ocrtag == "" || ocrtag == null) {
- messageBox("전자동의서가 정상적으로 처리되지 않았습니다. ", "C000");
- return false;
- } else {
-
- model.setValue("/root/main/signinfo/ocrtag", ocrtag);
- }
- }
-
- // 전자동의서 모듈 혹은 병동에서 내려온 서식등록의 유효성 체크
- if (model.getValue("/root/main/signinfo/ocrtag").length != 13) {
-
- messageBox("전자동의서 OCRTAG가 없거나 비정상입니다. \r\n전자동의서를 다시 저장하거나,병실에서 내려온 신청서의 OCRTAG를 정확히 입력해주십시요.", "C000");
- return false;
- }
- }
- /*
- if(messageBox("내역을 저장 하시겠습니까? ", "Q999") != "6"){
- return;
- }
- */
-
- // 신규저장
- if (flag == "I") {
-
- if (submit("TXPMI02802")) {
- messageBox("정상적으로 처리되었습니다.", "I000");
- }
-
- // 신규저장시 창닫기
- model.close();
- }
-
- // 수정
- if (flag == "U") {
- if (submit("TXPMI02802")) {
- messageBox("정상적으로 처리되었습니다.", "I000");
- }
- }
-
- // 이중등록방지 seqno가 변경되었음
- btn_insert.disabled = true;
- btn_update.disabled = true;
-
- /* 입퇴원결정서 재출력을 위해 정보는 초기화하지 않음
- // 서명상세정보 초기화
- model.resetInstanceNode("/root/main/signinfo");
- model.refresh();
- fsignpad_init();
- */
- }
- // 입퇴원결정서 재출력
- function fPrint() {
-
- var inpt_pid = model.getValue("/root/main/signinfo/pid");
- // 상급병실 신청정보가 있을 때만 처리
- if (isNull(inpt_pid)) {
-
- messageBox("상급병실 신청정보가 선택되지 않았습니다. \r\n오른쪽 리스트에서 해당 정보를 선택한 후 진행하십시요.", "C000");
- return;
- }
- model.makeValue("/root/send/data41/instcd", model.getValue("/root/main/signinfo/instcd"));
- model.makeValue("/root/send/data41/pid", model.getValue("/root/main/signinfo/pid"));
- model.makeValue("/root/send/data41/indd", model.getValue("/root/main/signinfo/indd"));
- model.makeValue("/root/send/data41/cretno", model.getValue("/root/main/signinfo/cretno"));
- model.makeValue("/root/send/data41/orddeptcd", model.getValue("/root/main/signinfo/orddeptcd"));
- // 병동병실 정보 추가. 2011.11.18. 노회식
- model.makeValue("/root/send/data41/wardcd", model.getValue("/root/main/signinfo/wardcd"));
- model.makeValue("/root/send/data41/roomcd", model.getValue("/root/main/signinfo/roomcd"));
- model.makeValue("/root/send/data41/roomgrdecd", model.getValue("/root/main/signinfo/roomgrdecd"));
- model.makeValue("/root/send/data41/fromdd", model.getValue("/root/main/signinfo/fromdd"));
-
- submit("TRPMI01202");
-
- // 상급병실 신청내역 있을경우 기존 병실정보에 엎어서 출력.
- model.setValue("/root/hidden/rsltflag/indeciprint/wardnm", model.getValue("/root/hidden/rsltflag/patappinfo1/wardnm"));
- model.setValue("/root/hidden/rsltflag/indeciprint/roomcd", model.getValue("/root/hidden/rsltflag/patappinfo1/roomcd"));
- model.setValue("/root/hidden/rsltflag/indeciprint/bedcnt", model.getValue("/root/hidden/rsltflag/patappinfo1/bedcnt"));
- model.setValue("/root/hidden/rsltflag/indeciprint/diffamt", model.getValue("/root/hidden/rsltflag/patappinfo1/extrapay"));
- model.makeValue("/root/hidden/rsltflag/patappinfo1/signimgsign", model.getValue("/root/hidden/rsltflag/patappinfo1/elctappsigncnts"));
- model.makeValue("/root/hidden/rsltflag/patappinfo1/signimgrela", model.getValue("/root/hidden/rsltflag/patappinfo1/elctapprelacnts"));
- // 전과전실 선택진료 사인 추가 2011.11.18 노회식
- model.makeValue("/root/hidden/rsltflag/patappinfo1/signimgsign1", model.getValue("/root/hidden/rsltflag/patappinfo1/elctsigncnts1"));
- model.makeValue("/root/hidden/rsltflag/patappinfo1/signimgrela1", model.getValue("/root/hidden/rsltflag/patappinfo1/elctsigncnts2"));
-
- setGlobalVariable("SPPAO00100_강제출력여부", "Y" ,"p");
-
- model.removenode("/root/hidden/rsltflag/indeciprint/diagnm");
- model.makeNode("/root/hidden/rsltflag/indeciprint/diagnm");
- model.setValue("/root/hidden/rsltflag/indeciprint/diagnm", model.getValue("/root/temp/diagnm"));
-
- //공통코드 P0045에서 프린터 명칭과 트레이 호출 - 입퇴원결정서
- fGetPrintName();
-
- var print_name = getGlobalVariable("SPPAO00100_P0045_6_nm","p");
- var print_tray = getGlobalVariable("SPPAO00100_P0045_6_tray","p");
- //입퇴원결정서 프린터
- if(print_name != "false"){
- exeReportPreview("RPPMI01201", "XMLSTR", "", "", print_name, "", "", "", "", "true", "", "", print_tray, "", "", "", "", "", "", "", "");
- }
- // 자보환자안내문 출력
- if(model.getValue("/root/hidden/rsltflag/indeciprint/insukindcd") == "31" || model.getValue("root/main/ptin/ptin_insukind") == "31") {
- //공통코드 P0045에서 프린터 명칭과 트레이 호출 - 자보환자안내문
- submit("TRPMI01203");
-
- var print_name = getGlobalVariable("SPPAO00100_P0045_100_nm","p");
- var print_tray = getGlobalVariable("SPPAO00100_P0045_100_tray","p");
- //디폴트 프린터
- if(print_name != "false"){
- exeReportPreview("RPPMI01203", "XMLSTR", "", "", print_name, "", "", "", "", "true", "", "", print_tray, "", "", "2", "", "", "", "", "");
- }
- }
-
- setGlobalVariable("SPPAO00100_강제출력여부", "" ,"p");
- }
- // 서면서명체크 제어
- function setOCRType() {
- var ocrtype = model.getValue("/root/main/signinfo/ocrtype");
-
- // 전자서명 이외의 경우 버튼제어
- if (ocrtype != "E") {
- button1.disabled = true;
- //button5.disabled = true;
-
- button4.disabled = true;
- //button6.disabled = true;
-
- model.makeValue("/root/main/signinfo/elctappsignyn1", "");
- model.makeValue("/root/main/signinfo/elctsignkey1", "");
- model.makeValue("/root/main/signinfo/elctsigncnts1", "");
-
- model.makeValue("/root/main/signinfo/elctappsignyn2", "");
- model.makeValue("/root/main/signinfo/elctsignkey2", "");
- model.makeValue("/root/main/signinfo/elctsigncnts2", "");
-
- fsign_chk();
- fsign_Rely_chk();
-
- } else {
- button1.disabled = false;
-
- button4.disabled = false;
- }
-
- model.refresh();
- }
- // 상급병실신청서OCR서식 재출력
- function fPrintRmsn() {
-
- var pid = model.getValue ( "/root/main/signinfo/pid" );
-
- if (pid == null || pid == "") {
- messageBox("환자정보가 선택되지 않았습니다.", "E000");
- return;
- }
-
- // 구분에 맞춰 폼코드 처리(7:상급병실신청서)
- var formcd = model.getValue("/root/init/prncd/hardcd[cdseqno='7']/hardcd");
- var orddd = model.getValue("/root/main/signinfo/indd");
- var cretno = model.getValue("/root/main/signinfo/cretno");
- var ordtype = model.getValue("/root/main/signinfo/ordtype");
-
- fPerPrintOCR(formcd, pid, orddd, cretno, ordtype, "");
- }
|