diff --git a/src/main/java/com/dbnt/faisp/main/budget/BudgetController.java b/src/main/java/com/dbnt/faisp/main/budget/BudgetController.java index 7c9dd735..60d867d5 100644 --- a/src/main/java/com/dbnt/faisp/main/budget/BudgetController.java +++ b/src/main/java/com/dbnt/faisp/main/budget/BudgetController.java @@ -279,8 +279,15 @@ public class BudgetController { requestDto.setEdDate(date); } - mav.addObject("budgetCode", budgetService.selectBudgetCodeToYear(requestDto.getStDate().getYear())); + BudgetParams params = new BudgetParams(); + params.setCode(requestDto.getCode()); + params.setWon(requestDto.getWon()); + params.setYear(((Integer)requestDto.getStDate().getYear()).toString()); + params.setStDate(requestDto.getStDate()); + params.setEdDate(requestDto.getEdDate()); + mav.addObject("totalList", budgetService.selectStatsTotal(params)); + mav.addObject("statsList", budgetService.selectStatsList(params, loginUser.getDownOrganCdList())); mav.addObject("loginOrgan", loginUser.getOgCd()); if(loginUser.getOgCd().equals("OG001")){ //하위청 리스트 diff --git a/src/main/java/com/dbnt/faisp/main/budget/mapper/BudgetMapper.java b/src/main/java/com/dbnt/faisp/main/budget/mapper/BudgetMapper.java index f2d7897c..e22ee75c 100644 --- a/src/main/java/com/dbnt/faisp/main/budget/mapper/BudgetMapper.java +++ b/src/main/java/com/dbnt/faisp/main/budget/mapper/BudgetMapper.java @@ -35,4 +35,7 @@ public interface BudgetMapper { List selectBudgetCodeL1List(String year); List selectBudgetCodeL2List(String l1Code); + + List selectStatsTotal(BudgetParams params); + List selectStats(BudgetParams params); } diff --git a/src/main/java/com/dbnt/faisp/main/budget/model/BudgetStat.java b/src/main/java/com/dbnt/faisp/main/budget/model/BudgetStat.java new file mode 100644 index 00000000..0b8eb28d --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/budget/model/BudgetStat.java @@ -0,0 +1,14 @@ +package com.dbnt.faisp.main.budget.model; + +import com.dbnt.faisp.main.budget.model.result.StatsDetailResult; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class BudgetStat { + String organ; + List amountList; +} diff --git a/src/main/java/com/dbnt/faisp/main/budget/model/result/StatsDetailResult.java b/src/main/java/com/dbnt/faisp/main/budget/model/result/StatsDetailResult.java index 025aad22..781cb39f 100644 --- a/src/main/java/com/dbnt/faisp/main/budget/model/result/StatsDetailResult.java +++ b/src/main/java/com/dbnt/faisp/main/budget/model/result/StatsDetailResult.java @@ -8,6 +8,7 @@ import lombok.Setter; public class StatsDetailResult { String parentOrgan; String organCd; + String budgetCode; Double planAmount = 0d; Double assignAmount = 0d; Double expenseAmount = 0d; diff --git a/src/main/java/com/dbnt/faisp/main/budget/service/BudgetService.java b/src/main/java/com/dbnt/faisp/main/budget/service/BudgetService.java index a6d58a42..e03dec17 100644 --- a/src/main/java/com/dbnt/faisp/main/budget/service/BudgetService.java +++ b/src/main/java/com/dbnt/faisp/main/budget/service/BudgetService.java @@ -650,17 +650,29 @@ public class BudgetService { return budgetCode; } + public List selectStatsTotal(BudgetParams params){ + List statsTotalList = budgetMapper.selectStatsTotal(params); + int wonUnit = params.getWon(); + for(StatsDetailResult total: statsTotalList){ + total.setPlanAmount(total.getPlanAmount()/wonUnit); + total.setAssignAmount(total.getAssignAmount()/wonUnit); + total.setExpenseAmount(total.getExpenseAmount()/wonUnit); + total.setBalanceAmount(total.getAssignAmount()-total.getExpenseAmount()); + total.setRate(Math.round((total.getExpenseAmount()/total.getAssignAmount())*10000)/100d); + } + return statsTotalList; + } -// public void insertBudgetingYear(UserInfo loginUser, BudgetDto.BudgetingUpdateReqeust requestDto){ -// UpdateResult result = budgetRepository.callSpUpdateBudgetPlanCodeName( requestDto.getPrevNameL1(), requestDto.getPrevNameL2(), requestDto.getPrevNameL3(),requestDto.getYear(),requestDto.getNameL1(),requestDto.getNameL2(),requestDto.getNameL3(), "OG001", "admin"); -// System.out.println(result); -// } -// -// public void deleteBudgetingYear(UserInfo loginUser, BudgetDto.BudgetingUpdateReqeust requestDto){ -// UpdateResult result = budgetRepository.callSpUpdateBudgetPlanCodeName( requestDto.getPrevNameL1(), requestDto.getPrevNameL2(), requestDto.getPrevNameL3(),requestDto.getYear(),requestDto.getNameL1(),requestDto.getNameL2(),requestDto.getNameL3(), "OG001", "admin"); -// System.out.println(result); -// } - - + public List selectStatsList(BudgetParams params, List downOrganList){ + List statList = new ArrayList<>(); + for(String organ: downOrganList){ + BudgetStat stat = new BudgetStat(); + stat.setOrgan(organ); + params.setCode(organ); + stat.setAmountList(budgetMapper.selectStats(params)); + statList.add(stat); + } + return statList; + } } diff --git a/src/main/resources/mybatisMapper/BudgetMapper.xml b/src/main/resources/mybatisMapper/BudgetMapper.xml index 5a5e70cb..5a9b574d 100644 --- a/src/main/resources/mybatisMapper/BudgetMapper.xml +++ b/src/main/resources/mybatisMapper/BudgetMapper.xml @@ -249,4 +249,64 @@ and c2.l1_code = #{l1Code} order by c2.l2_code + + + + \ No newline at end of file diff --git a/src/main/resources/static/js/budget/stats.js b/src/main/resources/static/js/budget/stats.js new file mode 100644 index 00000000..b2137c0f --- /dev/null +++ b/src/main/resources/static/js/budget/stats.js @@ -0,0 +1,20 @@ + +$(document).on('change', '#stDate,#edDate', function (){ + const stInput = $("#stDate") + const edInput = $("#edDate") + const stDate = new Date(stInput.val()); + const edDate = new Date(edInput.val()); + if (stDate.getFullYear() != edDate.getFullYear()) { + alert('같은 년도의 데이터만 조회가능합니다. ex)2021-01-01 ~ 2021-12-31'); + const nowDate = new Date(); + stInput.val(nowDate.getFullYear()+"-01-01"); + edInput.val(nowDate); + this.focus(); + } +}) +$(document).on('click', '#orgTab', function (){ + location.href = "/budget/stats/org"; +}) +$(document).on('click', '#detailTab', function (){ + location.href = "/budget/stats/detail"; +}) \ No newline at end of file diff --git a/src/main/resources/templates/budget/stats.html b/src/main/resources/templates/budget/stats.html index a97fe259..426f343e 100644 --- a/src/main/resources/templates/budget/stats.html +++ b/src/main/resources/templates/budget/stats.html @@ -3,6 +3,7 @@ xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" layout:decorate="~{layout/layout}"> +
@@ -43,10 +44,10 @@
@@ -97,6 +98,62 @@ + + 편성액 + + + + + + 배정액 + + + + + + 집행액 + + + + + + + + + + + + 배정 + + + + + + 집행 + + + + + + 잔액 + + + + + + + 사업별 잔액 + + + + + + 사업별집행률 + + + + +