예산편성 오류수정.

- 항목명변경 기능 정상화
 - 항목삭제 기능 정상화
master
강석 최 2023-07-24 14:34:25 +09:00
parent 735f7c9b35
commit b2fccdd946
9 changed files with 420 additions and 416 deletions

View File

@ -90,15 +90,13 @@ public class BudgetController {
//예산편성 - 항목변경
@PutMapping("/budgeting/code")
public ResultResponse<?> updateBudgeting(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.BudgetingUpdateReqeust requestDto) {
budgetService.updateBudgetingList(loginUser, requestDto);
return new ResultResponse().successResponse(ResultResponseCode.SUCCESS);
return new ResultResponse(budgetService.updateBudgetingList(loginUser, requestDto));
}
//예산편성 - 항목삭제
@DeleteMapping("/budgeting/code")
public ResultResponse<?> deleteBudgeting(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.BudgetingInsertReqeust requestDto) {
budgetService.deleteBudgetingList(loginUser, requestDto);
return new ResultResponse().successResponse(ResultResponseCode.SUCCESS);
return new ResultResponse(budgetService.deleteBudgetingList(loginUser, requestDto));
}
// 예산편성 - 예산편성 버튼(modal)

View File

@ -12,9 +12,6 @@ public interface BudgetMapper {
List<YearResult> callSpGetBudgetCodeYearList();
UpdateResult callSpCopyBudgetItem(BudgetParams param);
UpdateResult callBruteForceDeleteBudgetItem(BudgetParams param);
UpdateResult callSpAddBudgetPlanCodeName(BudgetParams param);
UpdateResult callSpUpdateBudgetPlanCodeName(BudgetParams param);
UpdateResult callSpDeleteBudgetPlanCodeName(BudgetParams param);
UpdateResult callSpUpdateBudgetPlanCodeItem(BudgetParams param);
UpdateResult callSpDeleteBudgetPlan(BudgetParams param);
List<AssignResult> callSpGetBudgetAssignInfo(BudgetParams param);
@ -25,7 +22,6 @@ public interface BudgetMapper {
List<ExpenseResult> callSpGetBudgetExpenseInfo(BudgetParams params);
List<ExpenseInfoResult> callSpGetBudgetExpense(BudgetParams params);
UpdateResult callSpAddBudgetExpense(BudgetParams params);
List<ExpenseResult> callSpUpdateBudgetExpense(BudgetParams params);
List<ExpenseResult> callSpGetbudgetStatOrg(BudgetParams params);
List<StatsItemResult> callSpGetbudgetStatDetail(BudgetParams params);
List<L3CodeResult> callSpGetBudgetCodeL3(BudgetParams params);

View File

@ -7,5 +7,5 @@ import java.util.Optional;
public interface TblBudgetCodeL1Repository extends JpaRepository<TblBudgetCodeL1, String> {
Optional<TblBudgetCodeL1> findByL1NameAndL1YearAndUseTag(String l1Name, String l1Year, String useTag);
Optional<TblBudgetCodeL1> findTop1ByL1YearAndUseTagOrderByL1CodeDesc(String l1Year, String useTag);
Optional<TblBudgetCodeL1> findTop1ByL1YearOrderByL1CodeDesc(String l1Year);
}

View File

@ -8,5 +8,5 @@ import java.util.Optional;
public interface TblBudgetCodeL2Repository extends JpaRepository<TblBudgetCodeL2, String> {
Optional<TblBudgetCodeL2> findByL2NameAndL1CodeAndUseTag(String codeL2Name, String l1Code, String y);
Optional<TblBudgetCodeL2> findTop1ByL1CodeAndUseTagOrderByL2CodeDesc(String l1Code, String useTag);
Optional<TblBudgetCodeL2> findTop1ByL1CodeOrderByL2CodeDesc(String l1Code);
}

View File

@ -6,7 +6,7 @@ import org.springframework.data.jpa.repository.JpaRepository;
import java.util.Optional;
public interface TblBudgetCodeL3Repository extends JpaRepository<TblBudgetCodeL3, String> {
Optional<TblBudgetCodeL3> findByL3NameAndL2CodeAndUseTag(String codeL3Name, String l2Code, String y);
Optional<TblBudgetCodeL3> findByL3NameAndL2CodeAndUseTag(String codeL3Name, String l2Code, String useTag);
Optional<TblBudgetCodeL3> findTop1ByL2CodeAndUseTagOrderByL3CodeDesc(String l2Code, String y);
Optional<TblBudgetCodeL3> findTop1ByL2CodeOrderByL3CodeDesc(String l2Code);
}

View File

@ -1,9 +1,10 @@
package com.dbnt.faisp.main.budget.repository;
import com.dbnt.faisp.main.budget.model.TblBudgetHistory;
import com.dbnt.faisp.main.budget.model.TblBudgetPlan;
import org.springframework.data.jpa.repository.JpaRepository;
public interface TblBudgetPlanRepository extends JpaRepository<TblBudgetPlan, Integer> {
import java.util.Optional;
public interface TblBudgetPlanRepository extends JpaRepository<TblBudgetPlan, Integer> {
Optional<TblBudgetPlan> findTop1ByBudgetCodeAndOrgCode(String budgetCode, String orgCode);
}

View File

@ -117,7 +117,7 @@ public class BudgetService {
TblBudgetCodeL1 codeL1 = codeL1Repository.findByL1NameAndL1YearAndUseTag(codeL1Name, year, "Y").orElse(new TblBudgetCodeL1());
if(codeL1.getL1Code() == null){
TblBudgetCodeL1 lastL1Code = codeL1Repository.findTop1ByL1YearAndUseTagOrderByL1CodeDesc(year, "Y").orElse(null);
TblBudgetCodeL1 lastL1Code = codeL1Repository.findTop1ByL1YearOrderByL1CodeDesc(year).orElse(null);
String l1Code = makeCode(year.substring(2), lastL1Code==null?null:lastL1Code.getL1Code());
Integer seqOrd = lastL1Code==null?1:(lastL1Code.getSeqOrd()+1);
codeL1.setData(l1Code, codeL1Name, year, "Y", seqOrd, "항목추가", modiDate);
@ -127,7 +127,7 @@ public class BudgetService {
String l1Code = codeL1.getL1Code();
TblBudgetCodeL2 codeL2 = codeL2Repository.findByL2NameAndL1CodeAndUseTag(codeL2Name, l1Code, "Y").orElse(new TblBudgetCodeL2());;
if(codeL2.getL1Code() == null){
TblBudgetCodeL2 lastL2Code = codeL2Repository.findTop1ByL1CodeAndUseTagOrderByL2CodeDesc(l1Code, "Y").orElse(null);
TblBudgetCodeL2 lastL2Code = codeL2Repository.findTop1ByL1CodeOrderByL2CodeDesc(l1Code).orElse(null);
String l2Code = makeCode(l1Code, lastL2Code==null?null: lastL2Code.getL2Code());
Integer seqOrd = lastL2Code==null?1:(lastL2Code.getSeqOrd()+1);
codeL2.setData(l2Code, codeL1Name, l1Code, "Y", seqOrd, "항목추가", modiDate);
@ -137,7 +137,7 @@ public class BudgetService {
String l2Code = codeL2.getL2Code();
TblBudgetCodeL3 codeL3 = codeL3Repository.findByL3NameAndL2CodeAndUseTag(codeL3Name, l2Code, "Y").orElse(new TblBudgetCodeL3());;
if(codeL3.getL3Code() == null){
TblBudgetCodeL3 lastL3Code = codeL3Repository.findTop1ByL2CodeAndUseTagOrderByL3CodeDesc(l2Code, "Y").orElse(null);
TblBudgetCodeL3 lastL3Code = codeL3Repository.findTop1ByL2CodeOrderByL3CodeDesc(l2Code).orElse(null);
String l3Code = makeCode(l2Code, lastL3Code==null?null: lastL3Code.getL3Code());
Integer seqOrd = lastL3Code==null?1:(lastL3Code.getSeqOrd()+1);
codeL3.setData(l3Code, codeL3Name, l2Code, "Y", seqOrd, "항목추가", modiDate);
@ -167,51 +167,69 @@ public class BudgetService {
}
//예산편성 - 항목변경
public void updateBudgetingList(UserInfo loginUser, BudgetDto.BudgetingUpdateReqeust requestDto){
// UpdateResult result = budgetRepository.callSpUpdateBudgetPlanCodeName( requestDto.getYear(), requestDto.getPrevNameL1(), requestDto.getPrevNameL2(), requestDto.getPrevNameL3(),requestDto.getNameL1(),requestDto.getNameL2(),requestDto.getNameL3(), "OG001", "admin");
BudgetParams params = new BudgetParams();
params.setYear(requestDto.getYear());
params.setCode1(requestDto.getNameL1());
params.setCode2(requestDto.getNameL2());
params.setCode3(requestDto.getNameL3());
params.setNewCode1(requestDto.getPrevNameL1());
params.setNewCode2(requestDto.getPrevNameL2());
params.setNewCode3(requestDto.getPrevNameL3());
params.setOrg("OG001");
params.setId("admin");
UpdateResult result = budgetMapper.callSpUpdateBudgetPlanCodeName(params);
@Transactional
public ResultResponseCode updateBudgetingList(UserInfo loginUser, BudgetDto.BudgetingUpdateReqeust requestDto){
if(result.getResultCode().equals("100")) {
return;
} else if (result.getResultCode().equals("91")) {
throw new BaseException(ResultResponseCode.DUPLICATE_CODE);
TblBudgetCodeL1 codeL1 = codeL1Repository.findByL1NameAndL1YearAndUseTag(requestDto.getPrevNameL1(), requestDto.getYear(), "Y").orElse(new TblBudgetCodeL1());
TblBudgetCodeL2 codeL2 = codeL2Repository.findByL2NameAndL1CodeAndUseTag(requestDto.getPrevNameL2(), codeL1.getL1Code(), "Y").orElse(new TblBudgetCodeL2());
TblBudgetCodeL3 codeL3 = codeL3Repository.findByL3NameAndL2CodeAndUseTag(requestDto.getPrevNameL3(), codeL2.getL2Code(), "Y").orElse(null);
if(codeL3 == null){
return ResultResponseCode.NOT_FOUND_CODE;
}
if(!codeL3.getL3Name().equals(requestDto.getNameL3())){
TblBudgetCodeL3 duplCodeChk = codeL3Repository.findByL3NameAndL2CodeAndUseTag(requestDto.getNameL3(), codeL2.getL2Code(), "Y").orElse(null);
if(duplCodeChk!=null){
return ResultResponseCode.DUPLICATE_CODE;
}else{
codeL3.setL3Name(requestDto.getNameL3());
codeL3Repository.save(codeL3);
}
}
if(!codeL2.getL2Name().equals(requestDto.getNameL2())){
TblBudgetCodeL2 duplCodeChk = codeL2Repository.findByL2NameAndL1CodeAndUseTag(requestDto.getNameL2(), codeL1.getL1Code(), "Y").orElse(null);
if(duplCodeChk!=null){
return ResultResponseCode.DUPLICATE_CODE;
}else{
codeL2.setL2Name(requestDto.getNameL2());
codeL2Repository.save(codeL2);
}
}
if(!codeL1.getL1Name().equals(requestDto.getNameL1())){
TblBudgetCodeL1 duplCodeChk = codeL1Repository.findByL1NameAndL1YearAndUseTag(requestDto.getNameL1(), requestDto.getYear(), "Y").orElse(null);
if(duplCodeChk!=null){
return ResultResponseCode.DUPLICATE_CODE;
}else{
codeL1.setL1Name(requestDto.getNameL1());
codeL1Repository.save(codeL1);
}
}
return ResultResponseCode.SUCCESS;
}
//예산편성 - 항목삭제
public void deleteBudgetingList(UserInfo loginUser, BudgetDto.BudgetingInsertReqeust requestDto){
// System.out.println(requestDto.getYear());
// System.out.println(requestDto.getNameL1());
// System.out.println(requestDto.getNameL2());
// System.out.println(requestDto.getNameL3());
UpdateResult result = budgetRepository.callSpDeleteBudgetPlanCodeName(requestDto.getYear(),requestDto.getNameL1(),requestDto.getNameL2(),requestDto.getNameL3(), "OG001", "admin");
// BudgetParams params = new BudgetParams();
// params.setYear(requestDto.getYear());
// params.setCode1(requestDto.getNameL1());
// params.setCode2(requestDto.getNameL2());
// params.setCode3(requestDto.getNameL3());
// params.setOrg("OG001");
// params.setId("admin");
// UpdateResult result = budgetMapper.callSpDeleteBudgetPlanCodeName(params);
// System.out.println(result.getErrorMessage());
// System.out.println(result.getResultCode());
// System.out.println(result.getResultCount());
if(result.getResultCode().equals("100")) {
return;
} else {
throw new BaseException(ResultResponseCode.DELETE_FOUND_VALUE);
@Transactional
public ResultResponseCode deleteBudgetingList(UserInfo loginUser, BudgetDto.BudgetingInsertReqeust requestDto){
/*잔여 예산 확인*/
TblBudgetCodeL1 codeL1 = codeL1Repository.findByL1NameAndL1YearAndUseTag(requestDto.getNameL1(), requestDto.getYear(), "Y").orElse(new TblBudgetCodeL1());
TblBudgetCodeL2 codeL2 = codeL2Repository.findByL2NameAndL1CodeAndUseTag(requestDto.getNameL2(), codeL1.getL1Code(), "Y").orElse(new TblBudgetCodeL2());
TblBudgetCodeL3 codeL3 = codeL3Repository.findByL3NameAndL2CodeAndUseTag(requestDto.getNameL3(), codeL2.getL2Code(), "Y").orElse(null);
if(codeL3 == null){
return ResultResponseCode.NOT_FOUND_CODE;
}
TblBudgetPlan savedAmount = planRepository.findTop1ByBudgetCodeAndOrgCode(codeL3.getL3Code(), loginUser.getOgCd()).orElse(null);
if(savedAmount==null){
return ResultResponseCode.NOT_FOUND_CODE;
}else if(savedAmount.getAmount()>0){
return ResultResponseCode.DELETE_FOUND_VALUE;
}else{
codeL3.setUseTag("N");
codeL3Repository.save(codeL3);
}
return ResultResponseCode.SUCCESS;
}
// 예산편성 - 예산편성 저장(modal)

View File

@ -26,12 +26,6 @@
<select id="callBruteForceDeleteBudgetItem" resultType="UpdateResult" parameterType="BudgetParams">
call sp_brute_force_delete_budget_item(#{year}, #{id},NULL,NULL,NULL)
</select>
<select id="callSpUpdateBudgetPlanCodeName" resultType="UpdateResult" parameterType="BudgetParams">
call sp_update_budget_plan_codename(#{year}, #{code1}, #{code2}, #{code3}, #{newCode1}, #{newCode2}, #{newCode3}, #{org},#{id},NULL,NULL,NULL)
</select>
<select id="callSpDeleteBudgetPlanCodeName" resultType="UpdateResult" parameterType="BudgetParams">
call sp_delete_budget_plan_codename(#{year}, #{code1}, #{code2}, #{code3}, #{org},#{id},NULL,NULL,NULL)
</select>
<select id="callSpUpdateBudgetPlanCodeItem" resultType="UpdateResult" parameterType="BudgetParams">
call sp_update_budget_plan_item (#{year}, #{code1}, #{code2}, #{code3}, #{amount}::int, #{org}, #{id},NULL, NULL, NULL)
</select>
@ -69,9 +63,6 @@
<select id="callSpAddBudgetExpense" resultType="UpdateResult" parameterType="BudgetParams">
call sp_add_budget_EXPENSE(#{year},#{code1},#{code2},#{code3}, #{org}, #{item} ,cast (#{amount} as bigint), #{dt}::date,'admin',NULL,NULL,NULL)
</select>
<select id="callSpUpdateBudgetExpense" resultType="ExpenseResult" parameterType="BudgetParams">
call sp_update_budget_expense(#{seq},#{item} ,#{amount}::int,NULL,NULL,NULL,NULL,NULL)
</select>
<select id="callSpGetbudgetStatOrg" resultType="ExpenseResult" parameterType="BudgetParams">
select *
from sp_get_budget_statistics_by_org(#{year},#{code},#{user},#{stDate}::date,#{edDate}::date,#{won})

View File

@ -1,422 +1,422 @@
$(document).on('click', '#addBtn', function () {
getEditModal(0)
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("삭제에 실패하였습니다.");
}
})
}
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");
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("생성에 실패하였습니다.");
}
})
}
// 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);
// }
})
}
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("삭제에 실패하였습니다.");
}
})
}
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;
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 () {
}
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();
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)
$.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();
}
})
},
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);
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 () {
$("#budgetModal").modal('show');
},
error: function () {
}
});
}
});
}
$(document).on('click', '.grid', function (event) {
const target = event.target;
const no = (Number($(this).find(".key").val()));
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) {
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
});
$("#editModalContent").empty().append(html);
$("#year").val($("#searchYear").val())
$(".dateSelector").datepicker({
format: "yyyy-mm-dd",
language: "ko",
autoclose: true
});
$("#editModal").modal('show');
$("#editModal").modal('show');
},
error: function () {
},
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()
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();
$.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();
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 ($("#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("저장에 실패하였습니다.");
}
})
}
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 ($("#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("저장에 실패하였습니다.");
}
})
}
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("저장에 실패하였습니다.");
}
})
}
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("저장에 실패하였습니다.");
}
})
}
});