var receipt_lib_name = localStorage.getItem('current_user_lib_name'); var division_char = "|"; var url = "http://127.0.0.1:8091/eco_device/any.asp"; var ill_memo_margin = getViewOptionData('상호대차메모하단여백',localStorage.getItem('current_user_manage_code')); var user_guide_monitor_yn = getViewOptionData('이용자안내용모니터',localStorage.getItem('current_user_manage_code')); var device_agent_port = getViewOptionData('AGENT통신포트',localStorage.getItem('current_user_manage_code')); var user_card_print_division = getViewOptionData('회원증출력방식',localStorage.getItem('current_user_manage_code')); var user_info_print_masking = getViewOptionData('영수증개인정보출력여부',localStorage.getItem('current_user_manage_code')); var user_name_masking = getViewOptionData('영수증개인정보출력여부',localStorage.getItem('current_user_manage_code')); var print_type = true //수수료 영수증 출력 타입 /** * * 영수증 출력시 contents부분에 태그를 넣으면 이후 문자열은 * 모두 큰 글씨로 출력된다. * 단 이후 기본 크기로 출력하며녈 꼭! 태그를 넣어 종료 시켜줘야 한다. * 2018/07/12 권명호 * 또한 위 내용은 2018/07/12년 이후 패치된 agent에서만 실행 가능하다. * * 내용작성시 유의 영수증 한 줄당 여백은 34칸 정도이며 TAB키로 설정한 여백은 무시처리 됨으로 스페이스바 여백사용 필수 * 숫자 + 글씨 등으로 측정한 여백 34칸은 정확하지 않을 수 있고, 출력하며 테스트 필요 */ ;(function($) { if(device_agent_port != undefined && device_agent_port != null && device_agent_port != "") { url = "http://127.0.0.1:"+device_agent_port[0].VALUE+"/eco_device/any.asp"; } })(jQuery); // 일반 프린터로 직접 출력 // 출력할 html 파라미터로 전달받는다. function com_direct_print(htmldata) { var param = {}; //var url = "http://127.0.0.1:8090/eco_device/any.asp"; param.contents = htmldata; param.cmd = "CMD009"; // form형태로 전달하는것으로 변경 formSend(param); } // 회원증 출력 function com_user_card_print(user_info) { var param = {}; var maskingLock = "Y"; //var url = "http://127.0.0.1:8090/eco_device/1.asp" if(user_card_print_division != undefined && user_card_print_division != null && user_card_print_division != "") { // 웹방식의 카드 출력일 경우 if(user_card_print_division[0].VALUE == "WEB") { $.ajax({ type: "POST", url: "/METIS/view/CommonPage/UserCardPrintPrevPopup/UserCardPrintPrevPopup.jsp", dataType: "html", async : true, data:{}, success: function(data) { openDivPopupHtml(data); getCardUserInfoSearch(user_info.user_key, maskingLock); //마스킹처리 해제를 위한 ele추가 } }); return; } } var temp_loginInfo = localStorage.getItem('current_user_info'); var loginInfo = JSON.parse(temp_loginInfo); param.userkey = user_info.user_key; param.operator_id = loginInfo.ID; param.cmd = "CMD008"; param.method = "POST"; if(debug_mode == "Y") { console.dir(param); } // form형태로 전달하는것으로 변경 formSend(param); } // 안내용 모니터 출력 //param.main_title = 구분명칭 function com_userGuideMonitor(param) { //console.log("user_guide_monitor_yn ["+user_guide_monitor_yn+"]"); if(undefined == user_guide_monitor_yn || null == user_guide_monitor_yn || '' == user_guide_monitor_yn) { return true; } else { if(user_guide_monitor_yn[0].VALUE == "N") { return; } } // 2018/02/23 현시점상 안내용 모니터 사용안하고 이 내용으로 느려지는 문제 해결을 위해 임시로 기능 정지 // 추후 옵션처리해서 해당 기능 사용 여부에 따라 기능 추가 예정 // return true; if(param.main_title == "반납예정일") { // CMD002 http://127.0.0.1:8090/eco_device/1.asp?cmd=CMD002 e param.cmd = "CMD002"; //param.contents = com_position_print(param); } else if(param.main_title == "이용자정보") { // CMD003 http://127.0.0.1:8090/eco_device/1.asp?cmd=CMD003&contents=전민철|010-4567-8901|||123||||||||| // 이름|휴대폰|E_MAIL|집_전화번호|집_주소|근무지_전화번호|근무지_주소|학교|학년|반|번호|교번|근무처|부서명 param.cmd = "CMD003"; param.contents = com_guide_monitor_user_info(param); } else if(param.main_title == "연체책수") { // CMD004 http://127.0.0.1:8090/eco_device/1.asp?cmd=CMD004&contents=고종하님은 2권 연체중입니다. param.cmd = "CMD004"; param.contents = com_guide_monitor_delayCount(param); } else if(param.main_title == "대출정지일") { // CMD005 http://127.0.0.1:8090/eco_device/1.asp?cmd=CMD005&username=고종하&contents=1월 1일까지 대출정지입니다. param.cmd = "CMD005"; param.username = param.name; param.contents = param.loan_stop_date + "까지 대출정지입니다."; } else if(param.main_title == "연체이력") { // CMD006 http://127.0.0.1:8090/eco_device/1.asp?cmd=CMD006&username=고종하&contents=크게 생각할수록 크게 이룰수 있다.%09행복도서관/종합자료실|2015-12-31|2015-12-31|2015-12-31|1나는 행복합니다.%09행복도서관/종합자료실|2015-12-31|2015-12-31|2015-12-31|1 // 서명|대출일|반납예정일|반납일|연체일 param.cmd = "CMD006"; param.username = param.name; param.contents = com_guide_monitor_delayCount(param); } else if(param.main_title == "검색결과") { // CMD007 http://127.0.0.1:8090/eco_device/1.asp?cmd=CMD007&contents=나라사랑|812-나29나|O|종합실내 아들 딸들아 세상은 너의 것이다 : 한힌샘 주시경의 한글 사랑 나라 사랑 이야기. 21:, 한힌샘 주시경 편|199.1-ㄴ56|O|종합실박경석 리더십 : 84 강좌|391.2-ㅂ174ㅂ|O|종합실박경석 리더십 : 84강좌|391.2-ㅂ174ㅂ|O|종합실사명대사 : 생애와 나라사랑|220.99-ㅅ136서|O|종합실 // 서명|청구기호|대출가능|자료실 param.cmd = "CMD007"; param.contents = com_guide_monitor_searchList(param); } else if(param.main_title == "대출현황") { // CMD007 http://127.0.0.1:8090/eco_device/1.asp?cmd=CMD010&contents=나라사랑|812-나29나|O|종합실내 아들 딸들아 세상은 너의 것이다 : 한힌샘 주시경의 한글 사랑 나라 사랑 이야기. 21:, 한힌샘 주시경 편|199.1-ㄴ56|O|종합실박경석 리더십 : 84 강좌|391.2-ㅂ174ㅂ|O|종합실박경석 리더십 : 84강좌|391.2-ㅂ174ㅂ|O|종합실사명대사 : 생애와 나라사랑|220.99-ㅅ136서|O|종합실 // 서명|청구기호|대출가능|자료실 param.cmd = "CMD010"; param.username = param.username; param.delay_cnt = param.delay_cnt; param.loan_stop_date = param.loan_stop_date; param.contents = com_guide_monitor_loanList(param); } monitor_request_send(param); } function monitor_request_send(param) { //var url = "http://127.0.0.1:8090/eco_device/1.asp" param.method = "POST"; // form형태로 전달하는것으로 변경 formSend(param); } //검색결과 출력 //param.searchList[] 검색결과리스트 //param.title 서명 //param.call_no 청구기호 //param.loan_able 대출가능여부 //param.shelf_loc 자료실 function com_guide_monitor_searchList(param) { var contents = ""; var list = param.delayList; for(var index in list) { contents += list[index].title + division_char; contents += list[index].call_no + division_char; contents += list[index].loan_able + division_char; contents += list[index].shelf_loc + division_char; if(list.length > (index+1)) { contents += ""; } } return contents; } //대출현황 출력 //param.loanList[] 대출현황리스트 //param.title 서명 //param.lib_name 서명 //param.shelf_loc_code 서명 //param.loan_date 청구기호 //param.return_plan_date 대출가능여부 //param.loan_status 자료실 function com_guide_monitor_loanList(param) { var contents = ""; var list = param.loanList; for(var index in list) { contents += list[index].title + "\t" + list[index].lib_name + "[" + list[index].shelf_loc_code + "]" + division_char; contents += list[index].loan_date + division_char; contents += list[index].return_plan_date + division_char; contents += list[index].loan_status + division_char; if(list.length > (Number(index)+Number(1))) { contents += ""; } } return contents; } //연체이력 출력 //param.delayList[] 연체 관련 리스트 //param.title 서명 //param.lib_name 도서관명 //param.shelf_loc 자료실명 //param.loan_date 대출일 //param.return_plan_date 반납예정일 //param.return_date 반납일 //param.delay_day 연체일자 function com_guide_monitor_delayCount(param) { var contents = ""; var list = param.delayList; for(var index in list) { contents += list[index].title + " " + param.lib_name + "/" + param.shelf_loc + division_char; contents += list[index].loan_date + division_char; contents += list[index].return_plan_date + division_char; contents += list[index].return_date + division_char; contents += list[index].delay_day + division_char; if(list.length > (index+1)) { contents += ""; } } return contents; } // 연체중인 건수 출력 // param.name 이름 // param.count 건수 function com_guide_monitor_delayCount(param) { var contents = ""; contents += param.name + "님은 " + param.count + "권 연체중입니다."; return contents; } // 이용자 정보 출력 // param.name 이름 // param.handphone 휴대폰 // param.e_mail E_MAIL // param.h_phone 집_전화번호 // param.h_addr1 집_주소 // param.w_phone 근무지_전화번호 // param.w_addr1 근무지_주소 // param.school 학교 // param.grade 학년 // param.school_class 반 // param.class_no 번호 // param.name 교번 // param.office 근무처 // param.department_name 부서명 function com_guide_monitor_user_info(param) { var contents = ""; contents += param.name + division_char; // 이믈 contents += param.handphone + division_char; // 휴대폰 contents += param.e_mail + division_char; // e_mail contents += param.h_phone + division_char; // 집전화번호 contents += param.h_addr1 + division_char; // 집주소 contents += param.w_phone + division_char; // 근무지 전화 contents += param.w_addr1 + division_char; // 근무지 주소 contents += param.school + division_char; // 학교 contents += param.grade + division_char; // 학년 contents += param.school_class + division_char; // 반 contents += param.class_no + division_char; // 번호 contents += param.class_no + division_char; // 교번???? contents += param.office + division_char; // 근무처 contents += param.department_name; // 부서명 return contents; } /* * 영추증 출력 관련 시작 */ // 화면단에서 공동적으로 불릴 함수 // 공통 // param.main_title = 영수증 상단의 제목 // 위치출력 관련 // param.title : 서명 // param.call_no : 청구기호 // param.reg_no : 등록번호 // param.author : 저자 // param.shef_loc : 자료실 // param.lib_name : 도서관 function printReceiptExcute(param) { //영수증 출력기 사용여부 var RECEPT_PRINT_YN = getEslOneBoolean("영수증출력", "영수증출력사용여부", CURRENT_MANAGE_CODE, "Y"); if(false == RECEPT_PRINT_YN) { onlyMessage("영수증 출력사용여부가 사용안함입니다.
설정 변경후 다시 처리해 주시기 바랍니다."); return; } var request_param = {}; if(param.main_title == "자료위치안내") { param.contents = com_position_print(param); } else if(param.main_title == "반납 확인증") { //param.contents = com_return_receipt_print(param); } else if(param.main_title == "대출 확인증") { //param.contents = com_loan_receipt_print(param); } else if(param.main_title == "예약자료 명세표") { param.contents = com_resv_receipt_print(param); // 헤더보다 더 위에 출력하기 위한 추가변수 param.header = "예약만기일 : " + param.reservation_expire_date; } else if(param.main_title == "상호대차 발송자료") { param.contents = com_ill_send_info_print(param); // 헤더보다 더 위에 출력하기 위한 추가변수 // 발송이기 때문에 도착지 도서관을 상단에 표기 param.header = "도착지 도서관 : " + param.apl_lib_name; } else if(param.main_title == "상호대차 입수자료") { param.contents = com_ill_acq_info_print(param); // 헤더보다 더 위에 출력하기 위한 추가변수 param.header = "복귀예정일 : " + param.return_plan_date; } else if(param.main_title == "상호대차 복귀자료") { param.contents = com_ill_return_info_print(param); // 복귀이기 때문에 도착지 도서관을 상단에 표기 param.header = "도착지 도서관 : " + param.give_lib_name; } else if(param.main_title == "발송대상 위치" || param.main_title == "자료위치") { param.contents = com_ill_send_position_print(param); } else if(param.main_title == "현황 확인증") { param.contents = com_current_state_print(param); } else if(param.main_title == "배상영수증") { param.contents = com_compensation_receipt_print(param); } else if(param.main_title == "보존서고 발송자료") { param.contents = com_copsv_send_info_print(param); } else if(param.main_title == "보존서고 입수자료") { param.contents = com_copsv_acq_info_print(param); } else if(param.main_title == "보존서고 복귀자료") { param.contents = com_copsv_return_info_print(param); } else { onlyMessage("알수없는 구분값 입니다."); return false; } request_param.title = param.main_title; request_param.contents = param.contents; request_param.header = param.header; return common_receipt_print(request_param); } function com_compensation_receipt_print(param){ var contents = ""; // 일반 정보 contents += "회원번호 : " + param.user_no + ""; contents += "성 명 : " + userNameMasking(param.name) + ""; contents += "영수증출력일자 : " + param.receipt_date+ ""; contents += "━━━━━━━━━━━━━━━━━━━━━"; contents += "번호 결제/금액 등록번호"; contents += "서명/저작자 반납형태"; contents += "━━━━━━━━━━━━━━━━━━━━━"; for(var one in param.compensation_list) { // 반납된 정보 전체 contents += " "+(Number(one)+Number(1))+" "+param.compensation_list[one].PAYMENT_FORM+" "+param.compensation_list[one].REG_NO+""; contents += " "+param.compensation_list[one].TITLE_INFO+" "+param.compensation_list[one].RETURN_WORKING_STATUS+""; } contents += "━━━━━━━━━━━━━━━━━━━━━"; contents += "총 액 : "+param.total_price+" 원"; contents += "합 계 : "+param.compensation_list.length+" 권"; contents += ""+receipt_lib_name+""; return contents; } // 위치출력 관련 contents 생성 function com_position_print(param) { var contents = ""; contents += "━━━━━━━━━━━━━━━━━━━━━"; contents += "서 명 : " + param.title + ""; contents += "청구기호 : " + param.call_no + ""; contents += "등록번호 : " + param.reg_no + ""; if (param.author) { contents += "저 자 : " + param.author + ""; } if (param.publisher) { contents += "출 판 사 : " + param.publisher + ""; } if (param.publish_year) { contents += "출판년도 : " + param.publish_year+ ""; } contents += "자 료 실 : " + param.shef_loc + ""; contents += "도 서 관 : " + param.lib_name + ""; return contents; } //영수증 출력 관련 contents 생성 function com_payment_recept_print(param){ //영수증 출력기 사용여부 var RECEPT_PRINT_YN = getEslOneBoolean("영수증출력", "영수증출력사용여부", CURRENT_MANAGE_CODE, "Y"); let p_data = {} let title = ""; let contents = ""; if(param.flag == "lateFee"){ // 일반 정보 title = "[연체 수수료 처리 영수증]" contents += "● 회원번호 : " + param.user_no + ""; if(user_name_masking){ contents += "● 성 명 : " + userNameMasking(param.name) + ""; }else{ contents += "● 성 명 : " + param.name + ""; } contents += "● 영수증출력일자 : " + param.receipt_date+ ""; contents += "━━━━━━━━━━━━━━━━━━━━━"; contents += "● 총 권 수 :"+param.lateList.length+ "권"; if(param.totalLateday !="" &¶m.totalLateday !=null)contents += "● 연 체 일 :"+param.totalLateday+"일"; contents += "● 기본연체료 :1일 당 "+param.standFee+"원"; contents += "● 정지해제일수 :"+param.freeDay+"일"; contents += "● 납부금액 :"+param.paidFee.replace(/\B(?"; contents += "● 납부일 :"+param.paidDay+""; contents += "● 대출가능일 :"+param.loanPossibleDay+"일부터"; if(param.lateList[0].REG_NO !=""){ contents += "━━━━━━━━━━━━━━━━━━━━━"; contents += "순번/청구기호 등록번호"; contents += "서명 납부금"; contents += "━━━━━━━━━━━━━━━━━━━━━"; for(var one in param.lateList) { let length = 10; // 표시할 글자수 기준 let str = param.lateList[one].TITLE; if (str.length > length) { str = str.substr(0, length - 2) + '···'; } if(!param.lateList[one].CALL_NO) param.lateList[one].CALL_NO = " "; // 반납된 정보 전체 contents += " "+(Number(one)+Number(1))+" "+param.lateList[one].CALL_NO+" "+param.lateList[one].REG_NO+""; contents += " "+str+" "+String(param.lateList[one].PERSONAL_PAY).replace(/\B(?"; } } contents += "━━━━━━━━━━━━━━━━━━━━━"; if(param.manager){ contents += " 담 당 자 : "+param.manager+" (인)"; }else{ contents += " 담 당 자 (인)"; } contents += ""+receipt_lib_name+""; }else if(param.flag == "releaseStop"){ // 일반 정보 title = "[대출 정지일 해제]" contents += "● 회원번호 : " + param.user_no + ""; if(user_name_masking){ contents += "● 성 명 : " + userNameMasking(param.name) + ""; }else{ contents += "● 성 명 : " + param.name + ""; } contents += "● 영수증출력일자 : " + param.receipt_date+ ""; contents += "━━━━━━━━━━━━━━━━━━━━━"; if(param.stopAdaptPeriod !="")contents += "● 대출정지기간 :"+param.stopAdaptPeriod +""; contents += "● 대출가능일 :"+param.loanPossibleDay+"일부터"; contents += "━━━━━━━━━━━━━━━━━━━━━"; contents += "● 정지해제일수 :"+param.freeDay+"일"; contents += "● 기본연체료 :1일 당 "+param.standFee+"원"; contents += "● 납부금액 :"+String(param.paidFee).replace(/\B(?"; contents += "● 납부일 :"+param.paidDay+""; contents += "━━━━━━━━━━━━━━━━━━━━━"; if(param.manager){ contents += " 담 당 자 : "+param.manager+" (인)"; }else{ contents += " 담 당 자 (인)"; } contents += ""+receipt_lib_name+""; }else if(param.flag == "UsercardReissue"){ title = "[회원증 재발급]" contents += "● 회원번호 : " + param.user_no + ""; if(user_name_masking){ contents += "● 성 명 : " + userNameMasking(param.name) + ""; }else{ contents += "● 성 명 : " + param.name + ""; } contents += "● 영수증출력일자 : " + param.receipt_date+ ""; contents += "━━━━━━━━━━━━━━━━━━━━━"; contents += "● 회원등급 : "+ String(param.user_type)+""; contents += "● 카드종류 : "+ String(param.card_class)+""; contents += "● 납부금액 : "+ String(param.paidFee).replace(/\B(?"; contents += "━━━━━━━━━━━━━━━━━━━━━"; contents += ""+receipt_lib_name+""; }else{ title = "[회원증 재발급]" contents += "● 회원번호 : " + param.user_no + ""; if(user_name_masking){ contents += "● 성 명 : " + userNameMasking(param.name) + ""; }else{ contents += "● 성 명 : " + param.name + ""; } contents += "● 영수증출력일자 : " + param.receipt_date+ ""; contents += "━━━━━━━━━━━━━━━━━━━━━"; contents += "● 납부금액 "+String(param.paidFee).replace(/\B(?"; contents += "━━━━━━━━━━━━━━━━━━━━━"; contents += ""+receipt_lib_name+""; } p_data.title = title; p_data.contents = contents; p_data.manage_code = localStorage.current_user_manage_code; if(param.fee_pageOffer){ let print_Target_index = $("#obj_index").val(); current_receipt_data = JSON.parse(JSON.stringify(p_data)); make_Receipt_Preview(p_data) return; } if(param.printNow){ if(param.printType == "true") { receipt_updaterA4(p_data,param); receiptPreview(p_data); }else{ receipt_updater(p_data,param); } window.localStorage.setItem("receiptPrintType", param.printType);//영수증 프린트 타입 설정 }else{ if(param.printType == "true") { receipt_updaterA4(p_data,param); }else{ receipt_updater(p_data,param); } window.localStorage.setItem("receiptPrintType", param.printType);//영수증 프린트 타입 설정 } } // 반납 관련 contents 생성 // param.serial_no // 일련번호 // param.user_no // 회원번호 // param.user_name // 성명 // param.return_date // 반납일 // param.receipt_date // 영수증 출력일 // param.return_info // 반납된 자료(배열) // param.return_info.call_no // 청구기호 // param.return_info.reg_no // 등록번호 // param.return_info.title_info // 서명/저자 // param.return_info.status // 상태 // param.remainder_info // 잔여 자료(배열) // param.remainder_info.title // 잔여 자료 // param.remainder_info.reg_no // 등록번호 function com_return_receipt_print(param) { var contents = ""; // 일반 정보 contents += "일련번호 : " + param.serial_no + ""; contents += "회원번호 : " + param.user_no + ""; contents += "성 명 : " + userNameMasking(param.user_name) + ""; contents += "반 납 일 : " + param.return_date + ""; contents += "영수증출력일자 : " + param.receipt_date+ ""; contents += "━━━━━━━━━━━━━━━━━━━━━"; contents += "번호 청구기호 등록번호 "; contents += "서명/저작자 반납형태"; contents += "━━━━━━━━━━━━━━━━━━━━━"; for(var one in param.return_info) { // 반납된 정보 전체 contents += " "+(Number(one)+Number(1))+" "+param.return_info[one].call_no+" "+param.return_info[one].reg_no+""; contents += " "+param.return_info[one].title_info+" "+param.return_info[one].status+""; } contents += "━━━━━━━━━━━━━━━━━━━━━"; contents += "합 계 : "+param.return_info.length+" 권"; // 남은 정보 contents += "★ 미반납도서가 "+param.remainder_info.length+" 권 있습니다."; for(var one in param.remainder_info) { contents += " "+(Number(one)+Number(1))+" "+param.remainder_info[one].title+" "+param.remainder_info[one].reg_no+"" + ""; } contents += ""+receipt_lib_name+""; return contents; } //대출 관련 contents 생성 //param.serial_no // 일련번호 //param.user_no // 회원번호 //param.user_name // 성명 //param.loan_date // 대출일 //param.return_plan_date // 반납예정일 //param.receipt_date // 영수증 출력일 //param.return_info // 반납된 자료(배열) //param.return_info.call_no // 청구기호 //param.return_info.reg_no // 등록번호 //param.return_info.title_info // 서명/저자 //param.return_info.status // 상태 function com_loan_receipt_print(param) { var contents = ""; // 일반 정보 contents += "일련번호 : " + param.serial_no + ""; contents += "회원번호 : " + param.user_no + ""; contents += "성 명 : " + userNameMasking(param.user_name) + ""; contents += "대 출 일 : " + param.return_date + ""; contents += "대출기한 : " + param.return_date + ""; contents += "영수증출력일자 : " + param.receipt_date+ ""; contents += "━━━━━━━━━━━━━━━━━━━━━"; contents += "번호 청구기호 등록번호 "; contents += "서명/저작자 대출형태"; contents += "━━━━━━━━━━━━━━━━━━━━━"; for(var one in param.return_info) { // 반납된 정보 전체 contents += " "+(Number(one)+Number(1))+" "+param.return_info[one].call_no+" "+param.return_info[one].reg_no+""; contents += " "+param.return_info[one].title_info+" "+param.return_info[one].status+""; } contents += "━━━━━━━━━━━━━━━━━━━━━"; contents += "합 계 : "+param.return_info.length+" 권"; contents += ""+receipt_lib_name+""; return contents; } // 예약 관련 영수증 출력 // 예약자료 명세표 function com_resv_receipt_print(param) { var contents = ""; contents += "회원이름 : " + userNameMasking(param.name) + ""; contents += "회원번호 : " + param.user_no + ""; contents += "━━━━━━━━━━━━━━━━━━━━━"; contents += "서 명 : " + param.title + ""; contents += "청구기호 : " + param.call_no + ""; contents += "등록번호 : " + param.reg_no + ""; if(undefined != param.shelf_loc_code_desc && "" != param.shelf_loc_code_desc) { contents += "자 료 실 : " + param.shelf_loc_code_desc + ""; } contents += "━━━━━━━━━━━━━━━━━━━━━"; contents += "예 약 일 : " + param.resv_date + ""; contents += "SMS발송일 : " + param.sms_send_date + ""; contents += "예약만기일 : " + param.reservation_expire_date + ""; contents += "━━━━━━━━━━━━━━━━━━━━━"; contents += ""+receipt_lib_name+""; return contents; } function getIllMemoMarginLine() { var marginLine = ""; if(ill_memo_margin == undefined || null == ill_memo_margin) { marginLine += ""; marginLine += ""; marginLine += ""; marginLine += ""; marginLine += ""; } else { var line_cnt = ill_memo_margin[0].VALUE; for(var i = 0 ; i < line_cnt ; i++) { marginLine += ""; } } marginLine += ""+localStorage.getItem('current_user_lib_name')+""; return marginLine; } //상호대차 발송 //param.give_lib_name : 제공도서관 명칭 //param.apl_lib_name : 요청도서관 명칭 //param.title : 서명 //param.reg_no : 등록번호 function com_ill_send_info_print(param) { var contents = ""; contents += "━━━━━━━━━━━━━━━━━━━━━"; contents += "이 용 자 명 : " + userNameMasking(param.user_name) + ""; contents += "대출자 번호 : " + param.user_no + ""; contents += "제공 도서관 : " + param.give_lib_name + ""; contents += "요청 도서관 : " + param.apl_lib_name + ""; contents += "서 명 : " + param.title + ""; contents += "자 료 번 호 : " + param.reg_no + ""; // 인천 서구 요청으로 이동처리함 21/05/18 권명호 // contents += "이 용 자 명 : " + param.user_name + ""; // contents += "대출자 번호 : " + param.user_no + ""; contents += "신 청 일 자 : " + param.apl_date + ""; contents += "청 구 기 호 : " + param.call_no + ""; // contents += "휴대폰번호 : " + param.reg_no + ""; if (param.return_plan_date) { contents += "반납 예정일 : " + param.return_plan_date + ""; } contents += getIllMemoMarginLine(); return contents; } //상호대차 입수자료 //param.title : 서명 //param.reg_no : 등록번호 //param.user_name : 이용자명 //param.user_no : 이용자번호 //param.return_plan_date : 복귀예정일 function com_ill_acq_info_print(param) { var contents = ""; contents += "━━━━━━━━━━━━━━━━━━━━━"; contents += "신청자명 : " + userNameMasking(param.user_name) + ""; contents += "대출자번호 : " + param.user_no + ""; contents += "서 명 : " + param.title + ""; contents += "자료번호 : " + param.reg_no + ""; contents += "입 수 일 : " + (new Date().format("yyyy-MM-dd")) + ""; contents += "복귀예정일 : " + param.return_plan_date + ""; contents += getIllMemoMarginLine(); return contents; } //상호대차 복귀자료 //param.give_lib_name : 제공도서관 명칭 //param.title : 서명 //param.reg_no : 등록번호 function com_ill_return_info_print(param) { var contents = ""; contents += "━━━━━━━━━━━━━━━━━━━━━"; contents += "제공도서관 : " + param.give_lib_name + ""; contents += "서 명 : " + param.title + ""; contents += "자료번호 : " + param.reg_no + ""; contents += getIllMemoMarginLine(); return contents; } // 자료위치안내 발송 대상자료 위치출력 //param.sendList // 발송 리스트(배열) //param.title : 서명 //param.author : 저자 //param.call_no : 청구기호 //param.reg_no : 등록번호 //param.loc_code : 자료실 function com_ill_send_position_print(param) { var contents = ""; var sendList = param.sendList; for(var one in sendList) { contents += "━━━━━━━━━━━━━━━━━━━━━"; if(undefined != sendList[one].title){ contents += "서 명 : " + sendList[one].title + ""; } if(undefined != sendList[one].author){ contents += "저 자 : " + sendList[one].author + ""; } if(undefined != sendList[one].call_no){ contents += "청구기호 : " + sendList[one].call_no + ""; } if(undefined != sendList[one].loc_code){ contents += "자 료 실 : " + sendList[one].loc_code + ""; } if(undefined != sendList[one].reg_no){ contents += "등록번호 : " + sendList[one].reg_no + ""; } if(undefined != sendList[one].keyword){ contents += "보존등록번호 : " + sendList[one].keyword + ""; } } return contents; } //자료위치안내 발송 대상자료 위치출력 //param.stateList // 발송 리스트(배열) //param.title : 서명 //param.return_plan_date : 반납예정일 //param.call_no : 청구기호 //param.reg_no : 등록번호 //param.lib_name : 도서관명 function com_current_state_print(param) { var contents = ""; var stateList = param.stateList; var resv_exp_date = ""; var return_plan_date = ""; var loan_date = ""; if(param.user_info != null && param.user_info != undefined) { var temp_user_info = param.user_info; contents += "━━━━━━━━━━━━━━━━━━━━━"; contents += "이 름 : " + userNameMasking(temp_user_info.name) + ""; contents += "대출자 번호 : " + temp_user_info.user_no + ""; if(null != user_info_print_masking && undefined != user_info_print_masking && "" != user_info_print_masking) { // 마스킹 처리 여부를 결정한다. if(user_info_print_masking[0].VALUE == "Y") { // 마스킹을 하도록 한경우는 개인정보 출력 제한 } else { contents += "생 년 월 일 : " + strReplaceAll(temp_user_info.birthday,"00:00:00.0","") + ""; contents += "전 화 번 호 : " + temp_user_info.handphone + ""; } } else { contents += "생 년 월 일 : " + strReplaceAll(temp_user_info.birthday,"00:00:00.0","") + ""; contents += "전 화 번 호 : " + temp_user_info.handphone + ""; } } for(var one in stateList) { resv_exp_date = formatDateYYYYMMDD(stateList[one].resv_exp_date); if (resv_exp_date == "") { resv_exp_date = "미지정"; } return_plan_date = formatDateYYYYMMDD(stateList[one].return_plan_date); if (return_plan_date == "") { return_plan_date = "미지정"; } contents += "━━━━━━━━━━━━━━━━━━━━━"; contents += (Number(one)+ Number(1)) + " " + getTrimTitle(stateList[one].title) + " " + getLoan_status_code_desc(stateList[one].loan_status) + ""; if ( stateList[one].loan_status == "3" ) { contents += "예약만기일 : " + resv_exp_date + ""; } else if ( stateList[one].loan_status == "대출대기" ) { contents += "대기만기일 : " + return_plan_date + ""; } else { loan_date = formatDateYYYYMMDD(stateList[one].loan_date); contents += "대 출 일 : " + loan_date + ""; contents += "반납 예정일 : " + return_plan_date + ""; } contents += "청 구 기 호 : " + stateList[one].call_no + ""; contents += "등 록 번 호 : " + stateList[one].reg_no + ""; contents += " " + stateList[one].lib_name + ""; contents += ""; } contents += ""; contents += "━━━━━━━━━━━━━━━━━━━━━"; contents += "합계 : " + stateList.length + " 권"; contents += ""+receipt_lib_name+""; console.dir(contents); return contents; } //보존서고 발송 //param.give_lib_name : 제공도서관 명칭 //param.apl_lib_name : 요청도서관 명칭 //param.title : 서명 //param.reg_no : 등록번호 function com_copsv_send_info_print(param) { var contents = ""; contents += "━━━━━━━━━━━━━━━━━━━━━"; contents += "이 용 자 명 : " + userNameMasking(param.user_name) + ""; contents += "대출자 번호 : " + param.user_no + ""; contents += "제공 도서관 : " + param.give_lib_name + ""; contents += "요청 도서관 : " + param.apl_lib_name + ""; contents += "서 명 : " + param.title + ""; contents += "자 료 번 호 : " + param.reg_no + ""; contents += "신 청 일 자 : " + param.apl_date + ""; contents += "청 구 기 호 : " + param.call_no + ""; contents += getIllMemoMarginLine(); return contents; } //보존서고 입수자료 //param.title : 서명 //param.reg_no : 등록번호 //param.user_name : 이용자명 //param.user_no : 이용자번호 //param.return_plan_date : 복귀예정일 function com_copsv_acq_info_print(param) { var contents = ""; contents += "━━━━━━━━━━━━━━━━━━━━━"; contents += "신청자명 : " + userNameMasking(param.user_name) + ""; contents += "대출자번호 : " + param.user_no + ""; contents += "서 명 : " + param.title + ""; contents += "자료번호 : " + param.reg_no + ""; contents += "입 수 일 : " + (new Date().format("yyyy-MM-dd")) + ""; contents += "복귀예정일 : " + param.return_plan_date + ""; contents += getIllMemoMarginLine(); return contents; } //보존서고 복귀자료 //param.give_lib_name : 제공도서관 명칭 //param.title : 서명 //param.reg_no : 등록번호 function com_copsv_return_info_print(param) { var contents = ""; contents += "━━━━━━━━━━━━━━━━━━━━━"; contents += "제공도서관 : " + param.give_lib_name + ""; contents += "서 명 : " + param.title + ""; contents += "자료번호 : " + param.reg_no + ""; contents += getIllMemoMarginLine(); return contents; } function getTrimTitle(title) { var length = 0; var temp_str = ""; title = typeof title !== 'undefined' ? title : ""; title = title.trim() if ( title != "" ) { var temp = title.split(''); for ( var i = 0 ; i < temp.length ; i++ ) { if ( temp[i] < 128 ) { length += 1; } else { length += 2; } if (length <= 25) { temp_str = temp_str + temp[i]; } else { temp_str = temp_str + "..."; break; } } title = temp_str; while (length <= 28) { title += " "; length = length + 1; } } return title; } function ecoDeviceCallback(data) { if(debug_mode == "Y") { console.dir(data); } if(data.status != "SUCCESS") { onlyMessage("출력중 오류가 발생하였습니다.1
" + errorDesc(data.status)); } } // 오류코드 번역 function errorDesc(status) { if(status == "ERR000") { return "알수없는 오류."; } else if(status == "ERR001") { return "파라미터 정보 맞지 않음."; } else if(status == "ERR002") { return "알수없는 CMD."; } else if(status == "ERR003") { return "필수 파라미터 없음."; } else if(status == "ERR004") { return "영수증 출력 오류."; } else if(status == "ERR005") { return "CMD001이 아닌경우 듀얼모니터 아님."; } else if(status == "ERR006") { return "CMD002 일경우 데이터베이스 연결안됨"; } else { return "알수없는 오류."; } } // 영수증 출력 // param.title = 영수증 상단의 제목 // param.contents = 출력될 내용 // 출력될 내용중 는 줄바꿈으로 인식 function common_receipt_print(param) { console.log(param); //var url = "http://127.0.0.1:8090/eco_device/any.asp" param.cmd = "CMD001"; param.method = "POST"; param.url = url + "?cmd=CMD001" + "&title=" + encodeURIComponent(param.title) + "&contents=" + encodeURIComponent(param.contents) + "&header=" + encodeURIComponent(param.header); receiptSend(param); common_delay(1000); } var eco_rfid_flag = ""; var read_rfid_data = ""; // 외부 장비 연계용 rfid 호출 function rfid_read_call(call_back) { var param = {}; param.cmd = "CMD011"; // rfid 요청 getRfidSend(param); return read_rfid_data; } //외부 장비 연계용 rfid 호출 eas 세팅과 해제 // param.division : on, off, auto // param.uid : uid#uid function rfid_eas_call(param) { // var param = {}; param.cmd = "CMD012"; if(eco_rfid_flag == 'ECO') { if(param.division == "set") { param.contents = " SECURITY "+param.uid+" on"; } else if(param.division == "reset") { param.contents = " SECURITY "+param.uid+" off"; } } else { if(param.division == "set") { param.contents = " "+param.uid+" on"; } else if(param.division == "reset") { param.contents = " "+param.uid+" off"; } } if(debug_mode == "Y") { console.dir(param); } // rfid 요청 getRfidSend(param); return read_rfid_data; } function setRfid(data) { eco_rfid_flag = data.return_data; } // efid의 장비 타입을 결정한다. function getRfidType() { var param = {}; param.cmd = "CMD013"; $('#loading_flag').val('false') // rfid 요청 getRfidSend(param,true); $('#loading_flag').val('true'); if(eco_rfid_flag == null || eco_rfid_flag == undefined || eco_rfid_flag == "") { return eco_rfid_flag; } else { if(eco_rfid_flag != "ECO") { return eco_rfid_flag; } else { return eco_rfid_flag; } } //return eco_rfid_flag; } function getRfidSend(param, sync_option) { console.dir(param); if(undefined == sync_option || null == sync_option || "" == sync_option) { sync_option = false; } // 로딩 화면은 안씌우도록 설정 $('#loading_flag').val(false); $.ajax({ type: "POST", url: url, dataType: "json", async : sync_option, data:param, success: function(data) { if(param.cmd == "CMD013") { setRfid(data); } read_rfid_data = data.return_data; return data; }, error: function() { //alert("오류"); } }); } function receiptSend(param) { console.dir(param); $.ajax({ type: "POST", url: url, dataType: "json", async : false, data:param, success: function(data) { if(debug_mode == "Y") { console.dir(data); } }, error: function() { //alert("오류"); } }); } function formSend(param, call_back) { console.dir(param); if(debug_mode == "Y") { console.dir(param); } $('#loading_flag').val(false); try { // $.ajax({ // type: "POST", // url: url, // dataType: "json", // async : true, // data:param, // success: function(data) // { // console.dir(data); // }, // error: function() { // //alert("오류"); // } // }); $.post( url ,param ,function(data) { if(debug_mode == "Y") { console.log("[" + data + "]"); } $('#loading_flag').val(true); var obj = $.parseJSON(data); // 데이터를 JSON으로 파싱 if(obj.status == "SUCCESS") { if(null != call_back && undefined != call_back) { call_back(obj); return; } else { return true; } } else { // ECO_DEVICE_AGENT가 설치되어 있지 않은 곳에서 발생하는 오류로 메시지 출력 삭제 // 2017/09/25 권명호 //onlyMessage(obj.status + " ["+obj.statusDescription+"]"); if(param.cmd == "CMD001" || param.cmd == "CMD008") { onlyMessage("ECO_DEVICE_AGENT를 확인해 주세요
"+errorDesc(data.status)); return false; } } } ).fail(function(respense) { $('#loading_flag').val(true); if(param.cmd == "CMD001" || param.cmd == "CMD008") { onlyMessage("ECO_DEVICE_AGENT를 확인해 주세요"); return false; } }); } catch(e) { $('#loading_flag').val(true); if(param.cmd == "CMD001" || param.cmd == "CMD008") { onlyMessage("ECO_DEVICE_AGENT를 확인해 주세요"); return false; } } } /************************************************************************************************ * 영추증 출력 관련 끝 ************************************************************************************************/ /* * mac address 가져오기 * */ // 일반 프린터로 직접 출력 // 출력할 html 파라미터로 전달받는다. function getMacAddress() { var param = {}; param.cmd = "CMD014"; try { $.post( url ,param ,function(data) { var obj = $.parseJSON(data); // 데이터를 JSON으로 파싱 if(obj.status == "SUCCESS") { localStorage.setItem('mac_address',obj.mac_address); checkuseNetid(obj.mac_address); } else { localStorage.setItem('mac_address',''); //onlyMessage("ECO_DEVICE_AGENT를 확인해 주세요
"+errorDesc(data.status)); Message_callback("MAC 주소를 확인할 수 없습니다.",LogOut_excute); return false; } } ).fail(function(respense) { localStorage.setItem('mac_address',''); Message_callback("MAC 주소를 확인할 수 없습니다.",LogOut_excute); return false; }); } catch(e) { localStorage.setItem('mac_address',''); Message_callback("MAC 주소를 확인할 수 없습니다.",LogOut_excute); return false; } } // 해당 mac주소가 등록 가능한 주소인지 확인한다. function checkuseNetid(netid) { var param = {}; param.networkadapterid = netid; $.ajax({ type: "POST", url: "/METIS/CheckUse/existsNetworkAdapterID.do", dataType: "json", data: param, success: function(data) { //이용 가능한 netid라면 통과 if(data.status == "SUCCESS") { return true; } else { $.ajax({ type: "POST", url: "/METIS/view/Dashboard/macAddressInsertPopup.jsp", dataType: "html", async: true, data: {}, success: function(data) { openDivPopupHtml(data); $('#insert_networkadapterid').val(netid); } }); } } }); } // mac address를 등록한다. function insertMacAddress() { var param = {}; param.networkadapterid = $('#insert_networkadapterid').val(); param.remark = $('#insert_remark').val(); param.auth_id = $('#insert_auth_id').val(); param.auth_pwd = $('#insert_auth_pwd').val(); if(param.networkadapterid == "") { onlyMessage("MAC정보가 존재하지 않습니다."); return; } if(param.remark == "") { onlyMessage("비고정보가 존재하지 않습니다."); return; } if(param.auth_id == "") { onlyMessage("등록 ID가 존재하지 않습니다."); return; } if(param.auth_pwd == "") { onlyMessage("등록 PW가 존재하지 않습니다."); return; } $.ajax({ type: "POST", url: "/METIS/CheckUse/setNetworkAdapterID.do", dataType: "json", data: param, success: function(data) { //이용 가능한 netid라면 통과 if(data.status == "SUCCESS") { onlyMessage(data.statusDescription); } else { onlyMessage(data.statusDescription); } } }); } // 이름 정보 마스킹 처리 function userNameMasking(data) { var return_data = ""; if(null != user_info_print_masking && undefined != user_info_print_masking && "" != user_info_print_masking) { // 웹방식의 카드 출력일 경우 if(user_info_print_masking[0].VALUE == "Y") { // 마스킹을 진행한다. } else { return data; } } else { return data; } if(data != null && data != undefined && "" != data) { return_data = data.substring(0, 1); for(var index = 0 ; index < data.length ; index++ ) { if(index == 0 ) { return_data = data.substring(0, 1); } else if(index == (data.length-1)) { return_data += data.substring(data.length-1); } else { return_data += "*"; } } } return return_data; } function receiptPreview(data){ let deepCopy = JSON.parse(JSON.stringify(data)) let printStr = deepCopy.contents; printStr = strReplaceAll(printStr, "", "
"); printStr = strReplaceAll(printStr, " ", " "); let printStr_arr = printStr.split(""); deepCopy.contents = printStr_arr[0]; deepCopy.lib_mark = printStr_arr[1]; win = window.open('','',"toolbar=no,menubar=no,location=no,status=no,resizable=yes,width=945, height=615"); // window.open("/METIS/view/CommonData/UserMng/UserMngUpdatePopup.jsp?division=UserMng&user_keys=" + user_key,"이용자 수정","toolbar=no,menubar=no,location=no,status=no,resizable=yes,width="+screen_size.width+", height="+screen_size.height+""); win.document.write(""); win.document.write(""); win.document.write("영수증 미리보기"); win.document.write(""); win.document.write(""); win.document.write(""); win.document.write(""); win.document.write(" "); win.document.write("
"); win.document.write("
"); win.document.write("

"+deepCopy.title+"

"); win.document.write(deepCopy.contents); win.document.write("

"+deepCopy.lib_mark+"

"); win.document.write("
"); win.document.write(""); win.document.write("
"); win.document.write(""); win.document.write(""); win.document.close(); } function receipt_updater(p_data,param){ $.ajax({ type: "POST", url: "/METIS/LateFee/insertReceiptInfo.do", dataType: "json", async : false, data:p_data, success: function(data) { if(data.status =="SUCCESS"){ if(param.printNow){ common_receipt_print(p_data); if(param.lateList){ param.lateList.forEach(function(obj){ obj.rec_key = obj.FEE_REC_KEY; obj.receipt_key = data.RECEIPT_KEY; receipt_Print_update(obj); }) }else{ param.receipt_key = data.RECEIPT_KEY; receipt_Print_update(param); } } }else{ if(param.printNow){ confirmMessage("현재 영수증 내용을 저장할 수 없습니다. 추후 재출력시 내용상 상이할 수 있습니다. 출력하시겠습니까?",function(e,flag){ if(flag){ if(param.lateList){ param.lateList.forEach(function(obj){ obj.rec_key = obj.FEE_REC_KEY; obj.receipt_key = data.RECEIPT_KEY; receipt_Print_update(obj); }) common_receipt_print(p_data); }else{ param.receipt_key = data.RECEIPT_KEY; common_receipt_print(p_data); receipt_Print_update(param); } } }) } } } }) } function receipt_updaterA4(p_data,param){ $.ajax({ type: "POST", url: "/METIS/LateFee/insertReceiptInfo.do", dataType: "json", async : false, data:p_data, success: function(data) { if(data.status =="SUCCESS"){ if(param.lateList){ param.lateList.forEach(function(obj){ obj.rec_key = obj.FEE_REC_KEY; obj.receipt_key = data.RECEIPT_KEY; receipt_Print_update(obj); }) }else{ param.receipt_key = data.RECEIPT_KEY; receipt_Print_update(param); } } } }) } // 외부 장비 시리얼 전체 읽어오기 function rfid_read_call_searial(uid) { var param = {}; var return_data = null; param.cmd = "CMD015"; // 로딩 화면은 안씌우도록 설정 $('#loading_flag').val(false); $.ajax({ type: "POST", url: url, dataType: "json", async : false, data:param, success: function(data) { console.dir(data); if(data.ReadItemInfo.ResultCode == "OK"){ for(var index in data.ReadItemInfo.TagInfos){ var one = data.ReadItemInfo.TagInfos[index]; if(one.Uid == uid){ return_data = one; } } }else{ return ""; } }, error: function() { console.log("오류"); return; } }); return return_data; }