123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490 |
- var xreqdesc = "/root/main/reqdesc";
- var xsendfile = "/root/send/save";
- var xsenddesc = "/root/send/save/reqdesc";
- var xsendreqaprv = "/root/send/reqaprv";
- // 화면 초기화
- function fInitialize() {
-
- // 개발자리스트취득
- submit("TRZHA20008");
-
- // 현대개발자리스트취득
- model.setValue("/root/send/hitprgmrinfo/hityn", "Y");
- submit("TRZHA20105");
-
- // 파라미터 취득
- var depNo = opener.javascript.getParameter("SPZHA20101_PARM_DEPNO");
- var reqNo = opener.javascript.getParameter("SPZHA20101_PARM_REQNO");
-
- // 신규 -> 저장으로 연결된 경우..
- if (!isNull(model.getValue("/root/init/depno"))) {
- depNo = model.getValue("/root/init/depno");
- }
-
- //cap_test_depno.value = "depNo : " + depNo;
- //cap_test_reqno.value = "reqno : " + reqNo;
-
- // 초기화
- model.resetInstanceNode(xreqdesc);
- model.resetInstanceNode(xsenddesc);
- model.resetInstanceNode(xsendfile);
- model.resetInstanceNode(xsendreqaprv);
-
- // 버튼 초기화
- btn_acptaprv1.disabled = true;
- btn_acptcncl1.disabled = true;
- btn_acptaprv2.disabled = true;
- btn_acptcncl2.disabled = true;
- btn_acptaprv3.disabled = true;
- btn_acptcncl3.disabled = true;
- btn_acptaprv4.disabled = true;
- btn_acptcncl4.disabled = true;
- btn_acptaprv5.disabled = true;
- btn_acptcncl5.disabled = true;
- btn_acptaprv6.disabled = true;
- btn_acptcncl6.disabled = true;
- // 초기화 파라미터의 존재 유무에 따라 신규 / 수정판단
- // 신규
- if (isNull(depNo)) {
-
- btn_del.disabled = true;
- btn_save.disabled = false;
- btn_redep.visible = false;
-
- // 기본값 설정
- model.setValue(xreqdesc + "/reqdd", getCurrentDate());
- model.setValue(xreqdesc + "/deptype", "1");
- model.setValue(xreqdesc + "/urgenttype", "1");
- model.setValue(xreqdesc + "/reqno1", reqNo);
- model.setValue(xreqdesc + "/reqhopedd", getCurrentDate());
- model.setValue(xreqdesc + "/educhkhngnm", getUserName());
-
- model.refresh();
-
- // 수정
- } else {
-
- // 버튼 초기화
- btn_del.disabled = false;
- btn_save.disabled = false;
-
- // 배포번호 설정후 검색 실시
- model.makeValue(xsenddesc + "/depno", depNo);
-
- submit("TRZHA20101");
-
- // 비활성화 제어
- if (isNull(model.getValue(xreqdesc + "/depdd"))) {
- cap_depresult.visible = false;
-
- // DBA 결재버튼 제어
- if (model.getValue(xreqdesc + "/aprv5").length != 1) {
- btn_acptaprv6.disabled = false;
- btn_acptcncl6.disabled = false;
- btn_acptaprv5.disabled = false;
- btn_acptcncl5.disabled = false;
- // 파트장 결재버튼 제어
- } else if (model.getValue(xreqdesc + "/aprv4").length != 1) {
- btn_acptaprv5.disabled = false;
- btn_acptcncl5.disabled = false;
- btn_acptaprv4.disabled = false;
- btn_acptcncl4.disabled = false;
- // 총괄 결재버튼 제어
- } else if (model.getValue(xreqdesc + "/aprv3").length != 1) {
- btn_acptaprv4.disabled = false;
- btn_acptcncl4.disabled = false;
- btn_acptaprv3.disabled = false;
- btn_acptcncl3.disabled = false;
- // 현대PL 결재버튼 제어
- } else if (model.getValue(xreqdesc + "/aprv2").length != 1) {
- btn_acptaprv3.disabled = false;
- btn_acptcncl3.disabled = false;
- btn_acptaprv2.disabled = false;
- btn_acptcncl2.disabled = false;
- // 현대PM 결재버튼 제어
- } else if (model.getValue(xreqdesc + "/aprv1").length != 1) {
- btn_acptaprv2.disabled = false;
- btn_acptcncl2.disabled = false;
- btn_acptaprv1.disabled = false;
- btn_acptcncl1.disabled = false;
- // 담당 결재버튼 제어
- } else if (!isNull(model.getValue(xreqdesc + "/depno"))) {
- btn_acptaprv1.disabled = false;
- btn_acptcncl1.disabled = false;
- }
-
- // 담당결재시 삭제/저장 불가
- if (model.getValue(xreqdesc + "/aprv1").length != 1) {
- btn_del.disabled = true;
- btn_save.disabled = true;
- }
-
- } else {
- cap_depresult.visible = true;
- btn_del.disabled = true;
- btn_save.disabled = true;
- }
-
- //fCheckDepType();
- fCheckReDep();
-
- }
- }
- function fCheckValidation() {
-
- var hasEmpty = false;
- var errMsg = "";
-
- if (isNull(model.getValue(xreqdesc + "/reqid"))) {
- errMsg += "요청자\r\n";
- hasEmpty = true;
- }
- if (isNull(model.getValue(xreqdesc + "/reqdd"))) {
- errMsg += "요청일\r\n";
- hasEmpty = true;
- }
- if (isNull(model.getValue(xreqdesc + "/reqhopedd"))) {
- errMsg += "희망일\r\n";
- hasEmpty = true;
- }
- // 배포작업 중에 문서가 없는 경우도 있으므로 잠정 제외
- // if (isNull(model.getValue(xreqdesc + "/reqno1"))) {
- // errMsg += "개발요청번호\r\n";
- // hasEmpty = true;
- // }
- if (isNull(model.getValue(xreqdesc + "/reqserver"))) {
- errMsg += "배포요청서버\r\n";
- hasEmpty = true;
- }
- // AP 배포일 때만 체크
- if (model.getValue(xreqdesc + "/deptype") == "1"
- && isNull(model.getValue(xreqdesc + "/reqcomponent"))) {
- errMsg += "컴포넌트명\r\n";
- hasEmpty = true;
- }
- if (isNull(model.getValue(xreqdesc + "/reqcomment"))) {
- errMsg += "요청사유\r\n";
- hasEmpty = true;
- }
- if (isNull(model.getValue(xreqdesc + "/educhkhngnm"))) {
- errMsg += "ED확인자\r\n";
- hasEmpty = true;
- }
- if (isNull(model.getValue(xreqdesc + "/educhkdd"))) {
- errMsg += "ED확인일\r\n";
- hasEmpty = true;
- }
- if (isNull(model.getValue(xreqdesc + "/educhkresult"))) {
- errMsg += "ED확인결과\r\n";
- hasEmpty = true;
- }
-
- if (hasEmpty) {
-
- messageBox(errMsg + "\r\n위 항목은 필수입력입니다.", "C000");
-
- return false;
- } else {
-
- return true;
- }
- }
- // 저장
- function fSave() {
-
- // 필항체크
- if (fCheckValidation()) {
-
- // 노드 카피
- model.copyNode(xsenddesc, xreqdesc);
-
- // 입력구분 설정
- if (isNull(model.getValue(xsenddesc + "/depno"))) {
-
- // 신규
- model.makeValue(xsenddesc + "/edittype", "I");
-
- } else {
-
- // 수정
- model.makeValue(xsenddesc + "/edittype", "U");
- }
- model.makeValue(xsenddesc + "/userid", getUserId());
-
- if(submit("TXZHA20102")) {
-
- // 재조회를 위해 설정
- model.setValue("/root/init/depno", model.getValue(xreqdesc + "/depno"));
- fInitialize();
- }
- }
-
- }
- // 삭제
- function fDel() {
-
- // 삭제플래그 설정
- model.copyNode(xsenddesc, xreqdesc);
- model.makeValue(xsenddesc + "/edittype", "D");
- model.makeValue(xsenddesc + "/userid", getUserId());
-
- submit("TXZHA20102");
-
- model.close();
- }
- // 이하 파일첨부 연동부
- function fFileAdd() {
-
- //******파일을 첨부하기 위해 파일열기가 open 되게 한다.
- //파일의 크기를 측정한다.
- var maxsize = upload1.attribute("filesize");
-
- var name = model.getValue(xreqdesc + "/attfilenm");
-
- if(name != '' || name == '-'){
-
- var fileupdata = messageBox(name + " 파일 수정을" , "S001");
-
- if(fileupdata == '6'){
- //파일 삭제
- //input박스에 나타난 명을 제거
- ipt_attfilenm.value = "";
-
- //파일 저장
- //파일을 받아오기 위해 파일열기 팝업창을 띄운다.
- var fileopen = window.fileDialog("open","|","false");
-
- var name = fileopen;
-
- //lastIndexOf함수는 \\이것을 뒤어세 검색하여 나오면 앞에 것은 지운다.
- var filename = name.lastIndexOf("\\");
-
- //open 파일명를 input박스에 넣는다.
- ipt_attfilenm.value = fileopen.substring(filename + 1);
-
- //선택한 파일이 저장버튼을 눌렀을때 저장이 되게 하기 위해 파일 저장 인스턴스에 파일주소를 저장해 둔다.
- model.makeValue(xsendfile + "/file", name);
- model.refresh();
-
- //파일 크기가 너무 큰경우 메세지를 띄운다.
- if (!checkFileSize(upload1)){
- ipt_attfilenm.value = "";
- messageBox("파일 크기가 최대치(" + maxsize + "Byte)를", "E003");
- model.resetInstanceNode(xsendfile + "/file");
- }
-
- model.makeValue(xreqdesc + "/fileyn", 'Y');
- }else if(fileupdata == '7'){
- messageBox(name + " 파일 수정을 하지", "E007");
- model.makeValue(xreqdesc + "/fileyn", 'N');
- }
- }else{
-
- //파일을 받아오기 위해 파일열기 팝업창을 띄운다.
- var fileopen = window.fileDialog("open","|","false");
-
- //파일 경로가 아닌 이름만 input박스에 넣기 위한 처리
- model.makeValue(xreqdesc + "/attfilenm", fileopen);
-
- var name = fileopen;
-
- //lastIndexOf함수는 \\이것을 뒤어세 검색하여 나오면 앞에 것은 지운다.
- var filename = name.lastIndexOf("\\");
-
- //open 파일명를 input박스에 넣는다.
- ipt_attfilenm.value = fileopen.substring(filename + 1);
-
- //선택한 파일이 저장버튼을 눌렀을때 저장이 되게 하기 위해 파일 저장 인스턴스에 파일주소를 저장해 둔다.
- model.makeValue(xsendfile + "/file", name);
- model.refresh();
-
- //파일 크기가 너무 큰경우 메세지를 띄운다.
- if (!checkFileSize(upload1)){
- ipt_attfilenm.value = "";
- messageBox("파일 크기가 최대치(" + maxsize + "Byte)를", "E003");
- model.resetInstanceNode(xsendfile + "/file");
- }
- model.makeValue(xreqdesc + "/fileyn", 'Y');
- }
- }
- function fFileDown(filenm, filepath) {
-
- //파일명이 있는 경우 다운로드
- if(filenm != "" && model.getValue(xreqdesc + "/fileyn") == "Y"){
-
- //파일명의 확장자만 받아옴
- var fileext = filenm.lastIndexOf(".");
- var ext = filenm.substring(fileext +1);
-
- //파일을 다운로드 하기 위해 저장할 창을 띄움
- var filesave = window.fileDialog("save","|",false,filenm,ext,"All Files(*.*)|*.*");
- //키값을 받아옴
- var depno = model.getValue(xreqdesc + "/depno");
-
- //키값을 가지고 DB에 저장된 데이타를 조회하러 간다
- if (filesave != "") {
- model.download(getActionURL("TRZHA20103") + "&attfilepath=" + filepath + "&filepathcolnm=attfilepath", filesave);
- }
- } else {
- messageBox("파일이 첨부되지 않은상태입니다.", "C000");
- }
- }
- // 배포종류에 따른 입력제어
- function fCheckDepType() {
-
- /* AP / DB 공히 정규 및 긴급 배포요청 가능토록 수정
- // AP 배포 시 제어
- if (model.getValue(xreqdesc + "/deptype") == "1") {
-
- rdo_urgenttype.disabled = false;
- ta_reqcomponent.disabled = false;
-
- // DB 배포 시 제어
- } else if (model.getValue(xreqdesc + "/deptype") == "2") {
-
- rdo_urgenttype.disabled = true;
- ta_reqcomponent.disabled = true;
- }
- */
- }
- // 결재처리
- function fExeAprv(gubun){
-
- model.setValue("/root/send/reqaprv/reqno", model.getValue("/root/main/reqdesc/depno"));
- model.setValue("/root/send/reqaprv/gubun",gubun);
-
- if(submit("TXZHA20002")){
- fInitialize();
- }
-
- }
- // 임의결재팝업표시
- function fShowAprvHit(gubun){
-
- // 파라미터 설정
- model.setValue("/root/send/reqaprv/reqno", model.getValue("/root/main/reqdesc/depno"));
- model.setValue("/root/send/reqaprv/reqdd", model.getValue("/root/main/reqdesc/reqdd"));
- model.setValue("/root/send/reqaprv/gubun", gubun);
-
- // 결재팝업표시
- grp_aprv.visible = true;
- }
- // 임의결재팝업표시
- function fExeAprvHit(){
-
- if (isNull(model.getValue("/root/send/reqaprv/reqid")) || isNull(model.getValue("/root/send/reqaprv/reqpwd"))) {
-
- messageBox("결재자 또는 인증번호가 입력되지 않았습니다. ", "C000");
-
- return;
- }
-
- // 결재처리
- if (submit("TXZHA20104")) {
- grp_aprv.visible = false;
- fInitialize();
- }
- }
- /**
- * @desc : 파일 미리보기 버튼 클릭시 이벤트
- * @
- * @param :
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fFilePreview(filenm, filepath) {
- //파일명이 있는 경우 다운로드
- if(filenm != "" && model.getValue(xreqdesc + "/fileyn") == "Y"){
- var fso, folder;
- var temp_path = "C:\\temp2";
-
- FSO = new ActiveXObject("Scripting.FileSystemObject");
-
- // 객체 생성 실패하면 리턴
- if (FSO == null)
- {
- return;
- }
-
- // 시스템 드라이브가 없다면..
- if (FSO.DriveExists("C") == false)
- {
- return;
- }
-
- // 임시디렉토리가 없으면 생성
- if (FSO.FolderExists(temp_path) == false)
- {
- folder = FSO.CreateFolder(temp_path);
- }
-
- //키값을 받아옴
- var depno = model.getValue(xreqdesc + "/depno");
-
- //키값을 가지고 DB에 저장된 데이타를 조회하러 간다
- model.download(getActionURL("TRZHA20103") + "&attfilepath=" + filepath + "&filepathcolnm=attfilepath" ,temp_path+"\\"+filenm, false, false);
- window.exec(temp_path+"\\"+filenm, "");
- } else {
- messageBox("파일이 첨부되지 않은상태입니다.", "C000");
- }
- }
- function fRedep(){
-
- // 버튼 초기화
- btn_acptaprv1.disabled = true;
- btn_acptcncl1.disabled = true;
- btn_acptaprv2.disabled = true;
- btn_acptcncl2.disabled = true;
- btn_acptaprv3.disabled = true;
- btn_acptcncl3.disabled = true;
- btn_acptaprv4.disabled = true;
- btn_acptcncl4.disabled = true;
- btn_acptaprv5.disabled = true;
- btn_acptcncl5.disabled = true;
- btn_acptaprv6.disabled = true;
- btn_acptcncl6.disabled = true;
-
- // 결재 정보 초기화
- ta_acptaprv1.value ="";
- ta_acptaprv2.value ="";
- ta_acptaprv3.value ="";
- ta_acptaprv4.value ="";
- ta_acptaprv5.value ="";
- ta_acptaprv6.value ="";
-
-
- btn_save.disabled = false; // 저장 버튼 활성화
- cap_depresult.visible = false; // 배포완료 표시 숨기기.
-
- model.makeValue("/root/main/reqdesc/orgdepno", model.getValue("/root/main/reqdesc/depno"));
- model.setValue("/root/main/reqdesc/depno" , "");
-
- }
- function fCheckReDep(){
- var depid = model.getValue("/root/main/reqdesc/depid");
- var redepyn = model.getValue("/root/main/reqdesc/redepyn");
-
- if ( redepyn =="Y" || depid == ""){
- btn_redep.visible = false;
- }else{
- btn_redep.visible = true ;
- }
- }
|