From e5310450d9c6446eacb41251ab05e9be12f653b4 Mon Sep 17 00:00:00 2001 From: "Lim\\jun" Date: Tue, 9 May 2023 16:26:34 +0900 Subject: [PATCH] =?UTF-8?q?=EC=98=88=EC=82=B0=20js=20=EC=97=85=EB=8E=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/static/js/budget/assign.js | 388 ++++++++++++++++ .../resources/static/js/budget/budgeting.js | 422 ++++++++++++++++++ .../resources/static/js/budget/expense.js | 321 +++++++++++++ .../resources/static/js/budget/statsDetail.js | 297 ++++++++++++ .../resources/static/js/budget/statsOrg.js | 316 +++++++++++++ 5 files changed, 1744 insertions(+) create mode 100644 src/main/resources/static/js/budget/assign.js create mode 100644 src/main/resources/static/js/budget/budgeting.js create mode 100644 src/main/resources/static/js/budget/expense.js create mode 100644 src/main/resources/static/js/budget/statsDetail.js create mode 100644 src/main/resources/static/js/budget/statsOrg.js diff --git a/src/main/resources/static/js/budget/assign.js b/src/main/resources/static/js/budget/assign.js new file mode 100644 index 00000000..db3ff932 --- /dev/null +++ b/src/main/resources/static/js/budget/assign.js @@ -0,0 +1,388 @@ +$(function(){ + $("#dateSelectorDiv").datepicker({ + format: "yyyy-mm-dd", + language: "ko", + autoclose: true + }); +}) + +$(document).on('click', '#addBtn', function (){ + if($("#assignlistcnt").val() == 0){ + alert('조회된 내역이 없습니다.'); + return; + } + getEditModal(0) +}) + +$(document).ready(function(){ + if ($("#ResultRow").text().trim() == "") { + assignSearch(); + } else { + WithoutMask(); + } +}); + +$(document).on('click', '#searchBtn', function () { + assignSearch(); +}) + +function assignSearch() { + let stDate = $("#stDate").val() + let edDate = $("#edDate").val() + if ($("#stDate").val() == "") { + alert('시작일을 선택해주세요'); + return; + } + + if ($("#edDate").val() == "") { + alert('종료일을 선택해주세요'); + return; + } + + stDate = new Date(stDate); + edDate = new Date(edDate); + + if (stDate.getFullYear() != edDate.getFullYear()) { + alert('같은 년도의 데이터만 조회가능합니다. ex)2021-01-01 ~ 2021-12-31'); + return; + } + + $("#year").val(stDate.getFullYear()); + + LoadingWithMask(); + location.href = "/budget/assign?year=" + $("#year").val() + "&stDate=" + $("#stDate").val() + "&edDate=" + $("#edDate").val() + "&code=" + $("#code").val(); +} +$(document).on('click', '#deleteBtn', function (){ + if($("input[name='budget']:checked").val() == undefined || $("input[name='budget']:checked").val()==null){ + alert('삭제할 항목을 선택해주세요'); + return; + } + console.dir($("input[name='budget']:checked")[0].dataset.name1); + console.dir($("input[name='budget']:checked")[0].dataset.name2); + console.dir($("input[name='budget']:checked")[0].dataset.name3); + if(confirm('삭제하시겠습니까?')){ + let params = {}; + params.year = $("#searchYear").val(); + params.nameL1 = $("input[name='budget']:checked")[0].dataset.name1; + params.nameL2 = $("input[name='budget']:checked")[0].dataset.name2; + params.nameL3 = $("input[name='budget']:checked")[0].dataset.name3; + console.dir(params); + $.ajax({ + type : 'DELETE', + data : params, + + url : "/budget/budgeting/code", + + + beforeSend: function (xhr){ + xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); + }, + success : function(data) { + if(data.code == "200"){ + alert("삭제되었습니다."); + location.reload(); + }else{ + alert(data.message); + } + //location.reload(); + }, + error : function(xhr) { + alert("삭제에 실패하였습니다."); + } + }) + } + +}) + +$(document).on('click', '#updateBtn', function (){ + if($("input[name='budget']:checked").val() == undefined || $("input[name='budget']:checked").val()==null){ + alert('수정할 항목을 선택해주세요'); + return; + } + params = {} + params.year = $("#searchYear").val() + params.nameL1 = $("input[name='budget']:checked")[0].dataset.name1; + params.nameL2 = $("input[name='budget']:checked")[0].dataset.name2; + params.nameL3 = $("input[name='budget']:checked")[0].dataset.name3; + + $.ajax({ + url: '/budget/budgeting/modal/edit', + data: params, + type: 'GET', + dataType:"html", + success: function(html){ + $("#editModalContent").empty().append(html); + $("#year").val($("#searchYear").val()) + $(".dateSelector").datepicker({ + format: "yyyy-mm-dd", + language: "ko", + autoclose: true + }); + $("#editModal").modal('show'); + + }, + error:function(){ + + } + }); +}) + + +// +// function getList(){ +// $.ajax({ +// type : 'GET', +// data : {}, +// url : "/pds/ship/list", +// processData: false, +// contentType: false, +// beforeSend: function (xhr){ +// xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); +// }, +// success : function(response) { +// console.dir(response) +// +// }, +// error : function() { +// alert("저장에 실패하였습니다."); +// }, +// complete : function () { +// loaddingOff(); +// } +// }) +// } +// function getViewModal(no){ +// params = {} +// params.no = no; +// $.ajax({ +// url: '/pds/ship/modal/view', +// data: params, +// type: 'GET', +// dataType:"html", +// success: function(html){ +// $("#editModalContent").empty().append(html); +// $(".dateSelector").datepicker({ +// format: "yyyy-mm-dd", +// language: "ko", +// autoclose: true +// }); +// $("#editModal").modal('show'); +// }, +// error:function(){ +// +// } +// }); +// } + +// $(document).on('click', '.grid', function(event) { +// const target = event.target; +// const no = (Number($(this).find(".key").val())); +// +// }) + +function getEditModal(no){ + + params = {} + params.stDate = $("#stDate").val(); + params.edDate = $("#edDate").val(); + + let stDate = new Date($("#stDate").val()); + params.year = stDate.getFullYear(); + params.code = $("#code").val(); + + + $.ajax({ + url: '/budget/assign/modal/edit', + data: params, + type: 'GET', + dataType:"html", + success: function(html){ + + $("#editModalContent").empty().append(html); + $("#year").val($("#searchYear").val()) + $(".dateSelector").datepicker({ + format: "yyyy-mm-dd", + language: "ko", + autoclose: true + }); + + $("#editModal").modal('show'); + + }, + error:function(){ + + } + }); + + +} + + +$(document).on('click', '#saveBtn', function (){ + if($("#nameL1").val() == ""){ + alert('사업명을 입력해주세요.'); + $("#position").focus(); + return; + } + if($("#nameL2").val() == ""){ + alert('구분을 입력해주세요.'); + $("#name").focus(); + return; + } + if($("#nameL3").val() == ""){ + alert('세부내역을 입력해주세요.'); + $("#name").focus(); + return; + } + + + if(confirm("저장하시겠습니까?")){ + const formData = new FormData($("#budgetForm")[0]); + $.ajax({ + type : 'POST', + data : formData, + url : "/budget/budgeting/code", + processData: false, + contentType: false, + success : function(data) { + if(data.code == "200"){ + alert("저장되었습니다."); + location.reload(); + }else{ + alert(data.message); + } + //location.reload(); + }, + error : function(xhr) { + alert("저장에 실패하였습니다."); + } + }) + } +}); + + +$(document).on('click', '#modifyBtn', function (){ + + if($("#nameL1").val() == ""){ + alert('사업명을 입력해주세요.'); + $("#position").focus(); + return; + } + if($("#nameL2").val() == ""){ + alert('구분을 입력해주세요.'); + $("#name").focus(); + return; + } + if($("#nameL3").val() == ""){ + alert('세부내역을 입력해주세요.'); + $("#name").focus(); + return; + } + + if(confirm("수정하시겠습니까?")){ + const formData = new FormData($("#budgetForm")[0]); + $.ajax({ + type : 'PUT', + data : formData, + url : "/budget/budgeting/code", + processData: false, + contentType: false, + success : function(data) { + if(data.code == "200"){ + alert("저장되었습니다."); + location.reload(); + }else{ + alert(data.message); + } + //location.reload(); + }, + error : function(xhr) { + alert("저장에 실패하였습니다."); + } + }) + } + + +}); + +$(document).on('click', '#tempBtn', function (){ + if(confirm("임시 저장하시겠습니까?")){ + $("#status").val("TEMP"); + const formData = new FormData($("#investigationEditForm")[0]); + $.ajax({ + type : 'POST', + data : formData, + url : "/pds/ship", + processData: false, + contentType: false, + success : function(data) { + alert("저장되었습니다."); + location.reload(); + }, + error : function(xhr) { + alert("저장에 실패하였습니다."); + } + }) + } +}); + + +$(document).on('click', '#assignSaveBtn', function (){ + let success = 0; + let fail =0; + let fail1 =0; + if($("#assignCount").val()==0){ + alert('저장할 내역이 없습니다.'); + } + for(let i =0 ; i < $("#assignCount").val() ; i ++){ + for(let j=0 ; j < $("#orgCount").val() ; j ++){ + params = {} + params.year = $("#orgYear").val(); + // console.dir($("#org"+j+"_amount"+i)[0].dataset.code); + params.code = $("#org"+j+"_amount"+i)[0].dataset.code; + params.amount = $("#org"+j+"_amount"+i).val() == "" ? 0 :$("#org"+j+"_amount"+i).val() + params.org = $("#code").val(); + params.org1 = $("#orgSave"+j).text(); + // console.dir(params.org); + + $.ajax({ + type : 'POST', + data : JSON.stringify(params), + url : "/budget/assign/save", + processData: false, + contentType: 'application/json', + async : false, + beforeSend: function (xhr){ + xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); + }, + + success : function(data) { + // console.log(data.code); + if(data.code == "200"){ + success ++; + }else if(data.code == "911"){ + fail1 ++; + }else{ + fail++; + } + //location.reload(); + }, + error : function(xhr) { + //alert("저장에 실패하였습니다."); + fail++; + } + }) + } + } + + // console.dir("success: "+ success +", fail:" + fail+fail1); + if (fail1 > 0 || fail > 0) { + alert("저장에 성공하였습니다. \n일부는 저장에 실패 (금액 초과 [" + fail1 + "건], 에러 [" + fail + "건]) 하였습니다."); + } else { + alert("저장에 성공하였습니다."); + } + location.reload(); + + + +}); diff --git a/src/main/resources/static/js/budget/budgeting.js b/src/main/resources/static/js/budget/budgeting.js new file mode 100644 index 00000000..a5e21e20 --- /dev/null +++ b/src/main/resources/static/js/budget/budgeting.js @@ -0,0 +1,422 @@ +$(document).on('click', '#addBtn', function () { + getEditModal(0) +}) +$(document).on('click', '#deleteBtn', function () { + if ($("input[name='budget']:checked").val() == undefined || $("input[name='budget']:checked").val() == null) { + alert('삭제할 항목을 선택해주세요'); + return; + } + // console.dir($("input[name='budget']:checked")[0].dataset.name1); + // console.dir($("input[name='budget']:checked")[0].dataset.name2); + // console.dir($("input[name='budget']:checked")[0].dataset.name3); + if (confirm('삭제하시겠습니까?')) { + let params = {}; + params.year = $("#searchYear").val(); + params.nameL1 = $("input[name='budget']:checked")[0].dataset.name1; + params.nameL2 = $("input[name='budget']:checked")[0].dataset.name2; + params.nameL3 = $("input[name='budget']:checked")[0].dataset.name3; + console.dir(params); + $.ajax({ + type: 'DELETE', + data: params, + url: "/budget/budgeting/code", + beforeSend: function (xhr) { + xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); + }, + success: function (data) { + if (data.code == "200") { + alert("삭제되었습니다."); + location.reload(); + } else { + alert(data.message); + } + //location.reload(); + }, + error: function (xhr) { + alert("삭제에 실패하였습니다."); + } + }) + } + +}) + +// 예산편성 - 엑셀 다운로드(버튼) +$(document).on('click', '#excelDownload', function (){ + let selected_year = $("#searchYear").val(); + exportExcel(selected_year+"년 예산편성", "data-table-default"); +}); + +// 예산편성 - 연도추가(버튼) +$(document).on('click', '#copyYearBtn', function () { + // let now = new Date(); + let selected_year = $("#searchYear").val(); + if (confirm(parseInt(selected_year) + 1 + '년도 예산을 생성하시겠습니까?')) { + let params = {}; + params.copyYear = selected_year; + params.year = parseInt(selected_year) + 1; + // console.dir(params); + $.ajax({ + type: 'POST', + url: "/budget/budgeting/year", + data: JSON.stringify(params), + contentType: 'application/json; charset=utf-8', + beforeSend: function (xhr) { + xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); + }, + success: function (data) { + if (data.code == "200") { + alert("생성되었습니다."); + location.reload(); + } else { + alert(data.message); + } + //location.reload(); + }, + error: function (xhr) { + alert("생성에 실패하였습니다."); + } + }) + } +}) + +// 예산편성 - 예산삭제(버튼) +$(document).on('click', '#deleteYearBtn', function () { + let selected_year = $("#searchYear").val(); + if (confirm(selected_year + "년도 예산 삭제시 관련된 모든 예산 이력 정보가 삭제됩니다.\n그래도 삭제하시겠습니까?")) { + let params = {}; + //params.copyYear = "??"; + params.year = selected_year; + console.dir(params); + $.ajax({ + type: 'DELETE', + data: params, + // data: JSON.stringify(params), + // contentType: 'application/json; charset=utf-8', + url: "/budget/budgeting/year", + beforeSend: function (xhr) { + xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); + }, + success: function (data) { + if (data.code == "200") { + alert("삭제되었습니다."); + location.href = '/budget/budgeting?year='+(parseInt(selected_year)-1); + // location.reload(); + } else { + alert(data.message); + } + //location.reload(); + }, + error: function (xhr) { + alert("삭제에 실패하였습니다."); + } + // error:function(xhr,status,error){ + // alert("code:"+status+"\n"+"xhr:"+xhr+"\n"+"error:"+error); + // } + }) + } +}) + +$(document).on('click', '#budgetDeleteBtn', function () { + if (confirm("예산을 삭제하시겠습니까? 삭제된 예산은 복구할수 없습니다.")) { + let params = {}; + params.year = $("#searchYear").val(); + // console.dir(params); + $.ajax({ + type: 'DELETE', + data: params, + url: "/budget/budgeting", + beforeSend: function (xhr) { + xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); + }, + success: function (data) { + if (data.code == "200") { + alert("삭제되었습니다."); + location.reload(); + } else { + alert(data.message); + } + //location.reload(); + }, + error: function (xhr) { + alert("삭제에 실패하였습니다."); + } + }) + } + +}) + +$(document).on('click', '#updateBtn', function () { + if ($("input[name='budget']:checked").val() == undefined || $("input[name='budget']:checked").val() == null) { + alert('수정할 항목을 선택해주세요'); + return; + } + params = {} + params.year = $("#searchYear").val() + params.nameL1 = $("input[name='budget']:checked")[0].dataset.name1; + params.nameL2 = $("input[name='budget']:checked")[0].dataset.name2; + params.nameL3 = $("input[name='budget']:checked")[0].dataset.name3; + + $.ajax({ + url: '/budget/budgeting/modal/edit', + data: params, + type: 'GET', + dataType: "html", + success: function (html) { + $("#editModalContent").empty().append(html); + $("#year").val($("#searchYear").val()); + $(".dateSelector").datepicker({ + format: "yyyy-mm-dd", + language: "ko", + autoclose: true + }); + $("#editModal").modal('show'); + + }, + error: function () { + + } + }); +}) + +$(document).on('click', '#budgetBtn', function () { + getBudgetModal(); +}); + +function getList() { + $.ajax({ + type: 'GET', + data: {}, + url: "/pds/ship/list", + processData: false, + contentType: false, + beforeSend: function (xhr) { + xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); + }, + success: function (response) { + console.dir(response) + + }, + error: function () { + alert("저장에 실패하였습니다."); + }, + complete: function () { + loaddingOff(); + } + }) +} + +function getBudgetModal(no) { + params = {} + params.no = no; + params.year = $("#searchYear").val(); + $.ajax({ + url: '/budget/budgeting/modal/org', + data: params, + type: 'GET', + dataType: "html", + success: function (html) { + $("#budgetModalContent").empty().append(html); + $("#orgYear").val($("#searchYear").val()); + $(".dateSelector").datepicker({ + format: "yyyy-mm-dd", + language: "ko", + autoclose: true + }); + // $("#budgetYear").val(params.year); + + $("#budgetModal").modal('show'); + }, + error: function () { + + } + }); +} + +$(document).on('click', '.grid', function (event) { + const target = event.target; + const no = (Number($(this).find(".key").val())); + +}) + +function getEditModal(no) { + + params = {} + params.no = no; + $.ajax({ + url: '/budget/budgeting/modal/edit', + data: params, + type: 'GET', + dataType: "html", + success: function (html) { + + $("#editModalContent").empty().append(html); + $("#year").val($("#searchYear").val()) + $(".dateSelector").datepicker({ + format: "yyyy-mm-dd", + language: "ko", + autoclose: true + }); + + $("#editModal").modal('show'); + + }, + error: function () { + + } + }); + + +} + +$(document).on('click', '#budgetSaveBtn', function () { + let success = 0; + let fail = 0; + for (let i = 0; i < $("#budgetCount").val(); i++) { + (function(i) { + params = {} + params.year = $("#orgYear").val(); + params.nameL1 = $("#amount" + i)[0].dataset.name1; + params.nameL2 = $("#amount" + i)[0].dataset.name2; + params.nameL3 = $("#amount" + i)[0].dataset.name3; + params.amount = $("#amount" + i).val() == "" ? 0 : $("#amount" + i).val() + + $.ajax({ + type: 'POST', + data: JSON.stringify(params), + url: "/budget/budgeting/save", + processData: false, + contentType: 'application/json', + async: false, + beforeSend: function (xhr) { + xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); + }, + success: function (data) { + if (data.code == "200") { + success++; + } else { + fail++; + } + }, + error: function (xhr) { + fail++; + }, + }); + })(i); + } + // console.dir("success: " + success + ", fail:" + fail); + if (fail > 0) { + alert("저장이 성공하였습니다. [" + fail + "건 오류]"); + } else { + alert("저장에 성공하였습니다."); + } + location.reload(); +}); + +$(document).on('change', '#searchYear', function () { + location.href = '/budget/budgeting?year=' + $("#searchYear").val(); +}); +$(document).on('click', '#saveBtn', function () { + if ($("#nameL1").val() == "") { + alert('사업명을 입력해주세요.'); + $("#position").focus(); + return; + } + if ($("#nameL2").val() == "") { + alert('구분을 입력해주세요.'); + $("#name").focus(); + return; + } + if ($("#nameL3").val() == "") { + alert('세부내역을 입력해주세요.'); + $("#name").focus(); + return; + } + + + if (confirm("저장하시겠습니까?")) { + const formData = new FormData($("#budgetForm")[0]); + $.ajax({ + type: 'POST', + data: formData, + url: "/budget/budgeting/code", + processData: false, + contentType: false, + success: function (data) { + if (data.code == "200") { + alert("저장되었습니다."); + location.reload(); + } else { + alert(data.message); + } + //location.reload(); + }, + error: function (xhr) { + alert("저장에 실패하였습니다."); + } + }) + } +}); + + +$(document).on('click', '#modifyBtn', function () { + + if ($("#nameL1").val() == "") { + alert('사업명을 입력해주세요.'); + $("#position").focus(); + return; + } + if ($("#nameL2").val() == "") { + alert('구분을 입력해주세요.'); + $("#name").focus(); + return; + } + if ($("#nameL3").val() == "") { + alert('세부내역을 입력해주세요.'); + $("#name").focus(); + return; + } + + if (confirm("수정하시겠습니까?")) { + const formData = new FormData($("#budgetForm")[0]); + $.ajax({ + type: 'PUT', + data: formData, + url: "/budget/budgeting/code", + processData: false, + contentType: false, + success: function (data) { + if (data.code == "200") { + alert("저장되었습니다."); + location.reload(); + } else { + alert(data.message); + } + //location.reload(); + }, + error: function (xhr) { + alert("저장에 실패하였습니다."); + } + }) + } +}); + +$(document).on('click', '#tempBtn', function () { + if (confirm("임시 저장하시겠습니까?")) { + $("#status").val("TEMP"); + const formData = new FormData($("#investigationEditForm")[0]); + $.ajax({ + type: 'POST', + data: formData, + url: "/pds/ship", + processData: false, + contentType: false, + success: function (data) { + alert("저장되었습니다."); + location.reload(); + }, + error: function (xhr) { + alert("저장에 실패하였습니다."); + } + }) + } +}); diff --git a/src/main/resources/static/js/budget/expense.js b/src/main/resources/static/js/budget/expense.js new file mode 100644 index 00000000..efb996c9 --- /dev/null +++ b/src/main/resources/static/js/budget/expense.js @@ -0,0 +1,321 @@ +$(function(){ + $("#dateSelectorDiv").datepicker({ + format: "yyyy-mm-dd", + language: "ko", + autoclose: true + }); +}) + +$(document).on('click', '#addBtn', function (){ + getEditModal(0) +}) + +$(document).on('click', '#searchBtn', function (){ + var stDate = $("#stDate").val() + var edDate = $("#edDate").val() + if($("#stDate").val() ==""){ + alert('시작일을 선택해주세요'); + return; + } + + if($("#edDate").val() ==""){ + alert('종료일을 선택해주세요'); + return; + } + + stDate = new Date(stDate); + edDate = new Date(edDate); + + if(stDate.getFullYear() != edDate.getFullYear()){ + alert('같은 년도의 데이터만 조회가능합니다. ex)2021-01-01 ~ 2021-12-31'); + return; + } + + $("#year").val(stDate.getFullYear()); + + location.href="/budget/expense?year="+$("#year").val() + "&stDate=" + $("#stDate").val() + "&edDate=" + $("#edDate").val() + "&code=" +$("#code").val(); + +}) +$(document).on('click', '#deleteBtn', function (){ + if($("input[name='budget']:checked").val() == undefined || $("input[name='budget']:checked").val()==null){ + alert('삭제할 항목을 선택해주세요'); + return; + } + console.dir($("input[name='budget']:checked")[0].dataset.name1); + console.dir($("input[name='budget']:checked")[0].dataset.name2); + console.dir($("input[name='budget']:checked")[0].dataset.name3); + if(confirm('삭제하시겠습니까?')){ + var params = {}; + params.year = $("#searchYear").val(); + params.nameL1 = $("input[name='budget']:checked")[0].dataset.name1; + params.nameL2 = $("input[name='budget']:checked")[0].dataset.name2; + params.nameL3 = $("input[name='budget']:checked")[0].dataset.name3; + console.dir(params); + $.ajax({ + type : 'DELETE', + data : params, + + url : "/budget/budgeting/code", + + + beforeSend: function (xhr){ + xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); + }, + success : function(data) { + if(data.code == "200"){ + alert("삭제되었습니다."); + location.reload(); + }else{ + alert(data.message); + } + //location.reload(); + }, + error : function(xhr) { + alert("삭제에 실패하였습니다."); + } + }) + } + +}) + +$(document).on('click', '#updateBtn', function (){ + if($("input[name='budget']:checked").val() == undefined || $("input[name='budget']:checked").val()==null){ + alert('수정할 항목을 선택해주세요'); + return; + } + params = {} + params.year = $("#searchYear").val() + params.nameL1 = $("input[name='budget']:checked")[0].dataset.name1; + params.nameL2 = $("input[name='budget']:checked")[0].dataset.name2; + params.nameL3 = $("input[name='budget']:checked")[0].dataset.name3; + + $.ajax({ + url: '/budget/budgeting/modal/edit', + data: params, + type: 'GET', + dataType:"html", + success: function(html){ + $("#editModalContent").empty().append(html); + $("#year").val($("#searchYear").val()) + $(".dateSelector").datepicker({ + format: "yyyy-mm-dd", + language: "ko", + autoclose: true + }); + $("#editModal").modal('show'); + + }, + error:function(){ + + } + }); +}) + + + +function getList(){ + $.ajax({ + type : 'GET', + data : {}, + url : "/pds/ship/list", + processData: false, + contentType: false, + beforeSend: function (xhr){ + xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); + }, + success : function(response) { + console.dir(response) + + }, + error : function() { + alert("저장에 실패하였습니다."); + }, + complete : function () { + loaddingOff(); + } + }) +} +function getViewModal(no){ + params = {} + params.no = no; + $.ajax({ + url: '/pds/ship/modal/view', + data: params, + type: 'GET', + dataType:"html", + success: function(html){ + $("#editModalContent").empty().append(html); + $(".dateSelector").datepicker({ + format: "yyyy-mm-dd", + language: "ko", + autoclose: true + }); + $("#editModal").modal('show'); + }, + error:function(){ + + } + }); +} + +$(document).on('click', '.grid', function(event) { + const target = event.target; + const no = (Number($(this).find(".key").val())); + +}) + +function getEditModal(v){ + + params = {} + + params.year = $("#year").val(); + params.nameL1 = v.dataset.name1 + params.nameL2 = v.dataset.name2 + params.nameL3 = v.dataset.name3 + $.ajax({ + url: '/budget/expense/modal/view', + data: params, + type: 'GET', + dataType:"html", + success: function(html){ + + $("#editModalContent").empty().append(html); + + $(".dateSelector").datepicker({ + format: "yyyy-mm-dd", + language: "ko", + autoclose: true + }); + + $("#editModal").modal('show'); + + }, + error:function(){ + + } + }); + + +} + + +$(document).on('click', '#expenseSaveBtn', function (){ + if($("#item").val() == ""){ + alert('집행내역을 입력해주세요.'); + $("#item").focus(); + return; + } + if($("#amount").val() == ""){ + alert('집행액을 입력해주세요.'); + $("#amount").focus(); + return; + } + if($("#expenseDate").val() == ""){ + alert('등록일을 입력해주세요.'); + $("#expenseDate").focus(); + return; + } + + var params = {} + params.item = $("#item").val(); + params.amount = $("#amount").val(); + params.expenseDate = $("#expenseDate").val(); + params.nameL1 = $("#prevNameL1").val(); + params.nameL2 = $("#prevNameL2").val(); + params.nameL3 = $("#prevNameL3").val(); + params.year = $("#prevYear").val(); + + + + if(confirm("저장하시겠습니까?")){ + + $.ajax({ + type : 'POST', + data : JSON.stringify(params), + url : "/budget/expense", + processData: false, + contentType: 'application/json', + beforeSend: function (xhr){ + xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); + }, + success : function(data) { + if(data.code == "200"){ + alert("저장되었습니다."); + location.reload(); + }else{ + alert(data.message); + } + //location.reload(); + }, + error : function(xhr) { + alert("저장에 실패하였습니다."); + } + }) + } +}); + + +$(document).on('click', '#modifyBtn', function (){ + + if($("#nameL1").val() == ""){ + alert('사업명을 입력해주세요.'); + $("#position").focus(); + return; + } + if($("#nameL2").val() == ""){ + alert('구분을 입력해주세요.'); + $("#name").focus(); + return; + } + if($("#nameL3").val() == ""){ + alert('세부내역을 입력해주세요.'); + $("#name").focus(); + return; + } + + if(confirm("수정하시겠습니까?")){ + const formData = new FormData($("#budgetForm")[0]); + $.ajax({ + type : 'PUT', + data : formData, + url : "/budget/budgeting/code", + processData: false, + contentType: false, + success : function(data) { + if(data.code == "200"){ + alert("저장되었습니다."); + location.reload(); + }else{ + alert(data.message); + } + //location.reload(); + }, + error : function(xhr) { + alert("저장에 실패하였습니다."); + } + }) + } + + +}); + +$(document).on('click', '#tempBtn', function (){ + if(confirm("임시 저장하시겠습니까?")){ + $("#status").val("TEMP"); + const formData = new FormData($("#investigationEditForm")[0]); + $.ajax({ + type : 'POST', + data : formData, + url : "/pds/ship", + processData: false, + contentType: false, + success : function(data) { + alert("저장되었습니다."); + location.reload(); + }, + error : function(xhr) { + alert("저장에 실패하였습니다."); + } + }) + } +}); diff --git a/src/main/resources/static/js/budget/statsDetail.js b/src/main/resources/static/js/budget/statsDetail.js new file mode 100644 index 00000000..7454c78d --- /dev/null +++ b/src/main/resources/static/js/budget/statsDetail.js @@ -0,0 +1,297 @@ +$(function(){ + $("#dateSelectorDiv").datepicker({ + format: "yyyy-mm-dd", + language: "ko", + autoclose: true + }); +}) + +$(document).on('click', '#addBtn', function (){ + getEditModal(0) +}) + +$(document).on('click', '#searchBtn', function (){ + var stDate = $("#stDate").val() + var edDate = $("#edDate").val() + if($("#stDate").val() ==""){ + alert('시작일을 선택해주세요'); + return; + } + + if($("#edDate").val() ==""){ + alert('종료일을 선택해주세요'); + return; + } + + stDate = new Date(stDate); + edDate = new Date(edDate); + + if(stDate.getFullYear() != edDate.getFullYear()){ + alert('같은 년도의 데이터만 조회가능합니다. ex)2021-01-01 ~ 2021-12-31'); + return; + } + + + + //location.href="/budget/stats/detail?year="+$("#year").val() + "&stDate=" + $("#stDate").val() + "&edDate=" + $("#edDate").val() + "&code=" +$("#code").val() + "&won="+$("#won").val(); + location.href="/budget/stats/detail?year="+$("#year").val() + "&stDate=" + $("#stDate").val() + "&edDate=" + $("#edDate").val() + "&code=본청&won="+$("#won").val()+"&item="+$("#item").val(); + +}) +$(document).on('click', '#deleteBtn', function (){ + if($("input[name='budget']:checked").val() == undefined || $("input[name='budget']:checked").val()==null){ + alert('삭제할 항목을 선택해주세요'); + return; + } + console.dir($("input[name='budget']:checked")[0].dataset.name1); + console.dir($("input[name='budget']:checked")[0].dataset.name2); + console.dir($("input[name='budget']:checked")[0].dataset.name3); + if(confirm('삭제하시겠습니까?')){ + var params = {}; + params.year = $("#searchYear").val(); + params.nameL1 = $("input[name='budget']:checked")[0].dataset.name1; + params.nameL2 = $("input[name='budget']:checked")[0].dataset.name2; + params.nameL3 = $("input[name='budget']:checked")[0].dataset.name3; + console.dir(params); + $.ajax({ + type : 'DELETE', + data : params, + + url : "/budget/budgeting/code", + + + beforeSend: function (xhr){ + xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); + }, + success : function(data) { + if(data.code == "200"){ + alert("삭제되었습니다."); + location.reload(); + }else{ + alert(data.message); + } + //location.reload(); + }, + error : function(xhr) { + alert("삭제에 실패하였습니다."); + } + }) + } + +}) + +function changeYear(){ + location.href="/budget/stats/detail?year="+$("#year").val(); +} + +$(document).on('click', '#updateBtn', function (){ + if($("input[name='budget']:checked").val() == undefined || $("input[name='budget']:checked").val()==null){ + alert('수정할 항목을 선택해주세요'); + return; + } + params = {} + params.year = $("#searchYear").val() + params.nameL1 = $("input[name='budget']:checked")[0].dataset.name1; + params.nameL2 = $("input[name='budget']:checked")[0].dataset.name2; + params.nameL3 = $("input[name='budget']:checked")[0].dataset.name3; + + $.ajax({ + url: '/budget/budgeting/modal/edit', + data: params, + type: 'GET', + dataType:"html", + success: function(html){ + $("#editModalContent").empty().append(html); + $("#year").val($("#searchYear").val()) + $(".dateSelector").datepicker({ + format: "yyyy-mm-dd", + language: "ko", + autoclose: true + }); + $("#editModal").modal('show'); + + }, + error:function(){ + + } + }); +}) + +function goAll() { + location.href="/budget/stats/all" +} + +function goOrg(){ + location.href="/budget/stats/org" +} + +function goDetail() { + location.href="/budget/stats/detail" +} + +function getViewModal(no){ + params = {} + params.no = no; + $.ajax({ + url: '/pds/ship/modal/view', + data: params, + type: 'GET', + dataType:"html", + success: function(html){ + $("#editModalContent").empty().append(html); + $(".dateSelector").datepicker({ + format: "yyyy-mm-dd", + language: "ko", + autoclose: true + }); + $("#editModal").modal('show'); + }, + error:function(){ + + } + }); +} + +$(document).on('click', '.grid', function(event) { + const target = event.target; + const no = (Number($(this).find(".key").val())); + +}) + +function getEditModal(no){ + + params = {} + params.no = no; + $.ajax({ + url: '/budget/budgeting/modal/edit', + data: params, + type: 'GET', + dataType:"html", + success: function(html){ + + $("#editModalContent").empty().append(html); + $("#year").val($("#searchYear").val()) + $(".dateSelector").datepicker({ + format: "yyyy-mm-dd", + language: "ko", + autoclose: true + }); + + $("#editModal").modal('show'); + + }, + error:function(){ + + } + }); + + +} + + +$(document).on('click', '#saveBtn', function (){ + if($("#nameL1").val() == ""){ + alert('사업명을 입력해주세요.'); + $("#position").focus(); + return; + } + if($("#nameL2").val() == ""){ + alert('구분을 입력해주세요.'); + $("#name").focus(); + return; + } + if($("#nameL3").val() == ""){ + alert('세부내역을 입력해주세요.'); + $("#name").focus(); + return; + } + + + if(confirm("저장하시겠습니까?")){ + const formData = new FormData($("#budgetForm")[0]); + $.ajax({ + type : 'POST', + data : formData, + url : "/budget/budgeting/code", + processData: false, + contentType: false, + success : function(data) { + if(data.code == "200"){ + alert("저장되었습니다."); + location.reload(); + }else{ + alert(data.message); + } + //location.reload(); + }, + error : function(xhr) { + alert("저장에 실패하였습니다."); + } + }) + } +}); + + +$(document).on('click', '#modifyBtn', function (){ + + if($("#nameL1").val() == ""){ + alert('사업명을 입력해주세요.'); + $("#position").focus(); + return; + } + if($("#nameL2").val() == ""){ + alert('구분을 입력해주세요.'); + $("#name").focus(); + return; + } + if($("#nameL3").val() == ""){ + alert('세부내역을 입력해주세요.'); + $("#name").focus(); + return; + } + + if(confirm("수정하시겠습니까?")){ + const formData = new FormData($("#budgetForm")[0]); + $.ajax({ + type : 'PUT', + data : formData, + url : "/budget/budgeting/code", + processData: false, + contentType: false, + success : function(data) { + if(data.code == "200"){ + alert("저장되었습니다."); + location.reload(); + }else{ + alert(data.message); + } + //location.reload(); + }, + error : function(xhr) { + alert("저장에 실패하였습니다."); + } + }) + } + + +}); + +$(document).on('click', '#tempBtn', function (){ + if(confirm("임시 저장하시겠습니까?")){ + $("#status").val("TEMP"); + const formData = new FormData($("#investigationEditForm")[0]); + $.ajax({ + type : 'POST', + data : formData, + url : "/pds/ship", + processData: false, + contentType: false, + success : function(data) { + alert("저장되었습니다."); + location.reload(); + }, + error : function(xhr) { + alert("저장에 실패하였습니다."); + } + }) + } +}); diff --git a/src/main/resources/static/js/budget/statsOrg.js b/src/main/resources/static/js/budget/statsOrg.js new file mode 100644 index 00000000..839663af --- /dev/null +++ b/src/main/resources/static/js/budget/statsOrg.js @@ -0,0 +1,316 @@ +$(function(){ + $("#dateSelectorDiv").datepicker({ + format: "yyyy-mm-dd", + language: "ko", + autoclose: true + }); +}) + +$(document).on('click', '#addBtn', function (){ + getEditModal(0) +}) + +$(document).on('click', '#searchBtn', function (){ + var stDate = $("#stDate").val() + var edDate = $("#edDate").val() + if($("#stDate").val() ==""){ + alert('시작일을 선택해주세요'); + return; + } + + if($("#edDate").val() ==""){ + alert('종료일을 선택해주세요'); + return; + } + + stDate = new Date(stDate); + edDate = new Date(edDate); + + if(stDate.getFullYear() != edDate.getFullYear()){ + alert('같은 년도의 데이터만 조회가능합니다. ex)2021-01-01 ~ 2021-12-31'); + return; + } + + $("#year").val(stDate.getFullYear()); + + location.href="/budget/stats/org?year="+$("#year").val() + "&stDate=" + $("#stDate").val() + "&edDate=" + $("#edDate").val() + "&code=" +$("#code").val() + "&won="+$("#won").val(); + +}) +$(document).on('click', '#deleteBtn', function (){ + if($("input[name='budget']:checked").val() == undefined || $("input[name='budget']:checked").val()==null){ + alert('삭제할 항목을 선택해주세요'); + return; + } + console.dir($("input[name='budget']:checked")[0].dataset.name1); + console.dir($("input[name='budget']:checked")[0].dataset.name2); + console.dir($("input[name='budget']:checked")[0].dataset.name3); + if(confirm('삭제하시겠습니까?')){ + var params = {}; + params.year = $("#searchYear").val(); + params.nameL1 = $("input[name='budget']:checked")[0].dataset.name1; + params.nameL2 = $("input[name='budget']:checked")[0].dataset.name2; + params.nameL3 = $("input[name='budget']:checked")[0].dataset.name3; + console.dir(params); + $.ajax({ + type : 'DELETE', + data : params, + + url : "/budget/budgeting/code", + + + beforeSend: function (xhr){ + xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); + }, + success : function(data) { + if(data.code == "200"){ + alert("삭제되었습니다."); + location.reload(); + }else{ + alert(data.message); + } + //location.reload(); + }, + error : function(xhr) { + alert("삭제에 실패하였습니다."); + } + }) + } + +}) + +$(document).on('click', '#updateBtn', function (){ + if($("input[name='budget']:checked").val() == undefined || $("input[name='budget']:checked").val()==null){ + alert('수정할 항목을 선택해주세요'); + return; + } + params = {} + params.year = $("#searchYear").val() + params.nameL1 = $("input[name='budget']:checked")[0].dataset.name1; + params.nameL2 = $("input[name='budget']:checked")[0].dataset.name2; + params.nameL3 = $("input[name='budget']:checked")[0].dataset.name3; + + $.ajax({ + url: '/budget/budgeting/modal/edit', + data: params, + type: 'GET', + dataType:"html", + success: function(html){ + $("#editModalContent").empty().append(html); + $("#year").val($("#searchYear").val()) + $(".dateSelector").datepicker({ + format: "yyyy-mm-dd", + language: "ko", + autoclose: true + }); + $("#editModal").modal('show'); + + }, + error:function(){ + + } + }); +}) + + + +function getList(){ + $.ajax({ + type : 'GET', + data : {}, + url : "/pds/ship/list", + processData: false, + contentType: false, + beforeSend: function (xhr){ + xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); + }, + success : function(response) { + console.dir(response) + + }, + error : function() { + alert("저장에 실패하였습니다."); + }, + complete : function () { + loaddingOff(); + } + }) +} + +function goAll() { + location.href="/budget/stats/all" +} + +function goOrg() { + location.href="/budget/stats/org" +} + +function goDetail(){ + location.href="/budget/stats/detail" +} +function getViewModal(no){ + params = {} + params.no = no; + $.ajax({ + url: '/pds/ship/modal/view', + data: params, + type: 'GET', + dataType:"html", + success: function(html){ + $("#editModalContent").empty().append(html); + $(".dateSelector").datepicker({ + format: "yyyy-mm-dd", + language: "ko", + autoclose: true + }); + $("#editModal").modal('show'); + }, + error:function(){ + + } + }); +} + +$(document).on('click', '.grid', function(event) { + const target = event.target; + const no = (Number($(this).find(".key").val())); + +}) + +function getEditModal(no){ + + params = {} + params.no = no; + $.ajax({ + url: '/budget/budgeting/modal/edit', + data: params, + type: 'GET', + dataType:"html", + success: function(html){ + + $("#editModalContent").empty().append(html); + $("#year").val($("#searchYear").val()) + $(".dateSelector").datepicker({ + format: "yyyy-mm-dd", + language: "ko", + autoclose: true + }); + + $("#editModal").modal('show'); + + }, + error:function(){ + + } + }); + + +} + + +$(document).on('click', '#saveBtn', function (){ + if($("#nameL1").val() == ""){ + alert('사업명을 입력해주세요.'); + $("#position").focus(); + return; + } + if($("#nameL2").val() == ""){ + alert('구분을 입력해주세요.'); + $("#name").focus(); + return; + } + if($("#nameL3").val() == ""){ + alert('세부내역을 입력해주세요.'); + $("#name").focus(); + return; + } + + + if(confirm("저장하시겠습니까?")){ + const formData = new FormData($("#budgetForm")[0]); + $.ajax({ + type : 'POST', + data : formData, + url : "/budget/budgeting/code", + processData: false, + contentType: false, + success : function(data) { + if(data.code == "200"){ + alert("저장되었습니다."); + location.reload(); + }else{ + alert(data.message); + } + //location.reload(); + }, + error : function(xhr) { + alert("저장에 실패하였습니다."); + } + }) + } +}); + + +$(document).on('click', '#modifyBtn', function (){ + + if($("#nameL1").val() == ""){ + alert('사업명을 입력해주세요.'); + $("#position").focus(); + return; + } + if($("#nameL2").val() == ""){ + alert('구분을 입력해주세요.'); + $("#name").focus(); + return; + } + if($("#nameL3").val() == ""){ + alert('세부내역을 입력해주세요.'); + $("#name").focus(); + return; + } + + if(confirm("수정하시겠습니까?")){ + const formData = new FormData($("#budgetForm")[0]); + $.ajax({ + type : 'PUT', + data : formData, + url : "/budget/budgeting/code", + processData: false, + contentType: false, + success : function(data) { + if(data.code == "200"){ + alert("저장되었습니다."); + location.reload(); + }else{ + alert(data.message); + } + //location.reload(); + }, + error : function(xhr) { + alert("저장에 실패하였습니다."); + } + }) + } + + +}); + +$(document).on('click', '#tempBtn', function (){ + if(confirm("임시 저장하시겠습니까?")){ + $("#status").val("TEMP"); + const formData = new FormData($("#investigationEditForm")[0]); + $.ajax({ + type : 'POST', + data : formData, + url : "/pds/ship", + processData: false, + contentType: false, + success : function(data) { + alert("저장되었습니다."); + location.reload(); + }, + error : function(xhr) { + alert("저장에 실패하였습니다."); + } + }) + } +});