예산배정 목록조회 로직 변경.
parent
e52dbd5498
commit
a5827e1a88
|
|
@ -132,7 +132,8 @@ public class BudgetController {
|
||||||
if (requestDto.getYear() != null) {
|
if (requestDto.getYear() != null) {
|
||||||
userOrgCode = requestDto.getCode();
|
userOrgCode = requestDto.getCode();
|
||||||
|
|
||||||
List<AssignResult> list = budgetService.selectBudgetAssignInfo(loginUser, requestDto);
|
// List<AssignResult> list = budgetService.selectBudgetAssignInfo(loginUser, requestDto);
|
||||||
|
List<AssignResult> list = budgetService.selectBudgetAssignInfoList(requestDto);
|
||||||
mav.addObject("list", list);
|
mav.addObject("list", list);
|
||||||
} else {
|
} else {
|
||||||
// 로그인된 해당청 기본선택
|
// 로그인된 해당청 기본선택
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,8 @@ public interface BudgetMapper {
|
||||||
UpdateResult callSpUpdateBudgetPlanCodeItem(BudgetParams param);
|
UpdateResult callSpUpdateBudgetPlanCodeItem(BudgetParams param);
|
||||||
UpdateResult callSpDeleteBudgetPlan(BudgetParams param);
|
UpdateResult callSpDeleteBudgetPlan(BudgetParams param);
|
||||||
List<AssignResult> callSpGetBudgetAssignInfo(BudgetParams param);
|
List<AssignResult> callSpGetBudgetAssignInfo(BudgetParams param);
|
||||||
|
List<AssignResult> selectBudgetAssignInfoList(BudgetParams params);
|
||||||
|
List<AssignAmount> selectBudgetAssignAmountList(BudgetParams params);
|
||||||
List<CodeResult> callSpGetDownOrg(BudgetParams param);
|
List<CodeResult> callSpGetDownOrg(BudgetParams param);
|
||||||
List<CodeResult> callSpGetLowerOrgCodeByName();
|
List<CodeResult> callSpGetLowerOrgCodeByName();
|
||||||
String callSpGetHighOrgCode(BudgetParams params);
|
String callSpGetHighOrgCode(BudgetParams params);
|
||||||
|
|
@ -25,4 +27,5 @@ public interface BudgetMapper {
|
||||||
List<ExpenseResult> callSpGetbudgetStatOrg(BudgetParams params);
|
List<ExpenseResult> callSpGetbudgetStatOrg(BudgetParams params);
|
||||||
List<StatsItemResult> callSpGetbudgetStatDetail(BudgetParams params);
|
List<StatsItemResult> callSpGetbudgetStatDetail(BudgetParams params);
|
||||||
List<L3CodeResult> callSpGetBudgetCodeL3(BudgetParams params);
|
List<L3CodeResult> callSpGetBudgetCodeL3(BudgetParams params);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
package com.dbnt.faisp.main.budget.model.result;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
public class AssignAmount {
|
||||||
|
Integer orderSeq;
|
||||||
|
String organCd;
|
||||||
|
String budgetCode;
|
||||||
|
Integer periodAssignAmount;
|
||||||
|
Integer sumAssignAmount;
|
||||||
|
}
|
||||||
|
|
@ -1,33 +1,35 @@
|
||||||
package com.dbnt.faisp.main.budget.model.result;
|
package com.dbnt.faisp.main.budget.model.result;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
|
@Setter
|
||||||
public class AssignResult {
|
public class AssignResult {
|
||||||
String orgCount;
|
String orgCount;
|
||||||
String budgetNameL1;
|
String budgetNameL1;
|
||||||
String budgetNameL2;
|
String budgetNameL2;
|
||||||
String budgetNameL3;
|
String budgetNameL3;
|
||||||
String budgetCodeL3;
|
String budgetCodeL3;
|
||||||
String planAmount;
|
String planAmount = "0";
|
||||||
String totalAssignAmount;
|
String totalAssignAmount = "0";
|
||||||
String periodAssignAmount1;
|
String periodAssignAmount1 = "0";
|
||||||
String sumAssignAmount1;
|
String sumAssignAmount1 = "0";
|
||||||
String periodAssignAmount2;
|
String periodAssignAmount2 = "0";
|
||||||
String sumAssignAmount2;
|
String sumAssignAmount2 = "0";
|
||||||
String periodAssignAmount3;
|
String periodAssignAmount3 = "0";
|
||||||
String sumAssignAmount3;
|
String sumAssignAmount3 = "0";
|
||||||
String periodAssignAmount4;
|
String periodAssignAmount4 = "0";
|
||||||
String sumAssignAmount4;
|
String sumAssignAmount4 = "0";
|
||||||
String periodAssignAmount5;
|
String periodAssignAmount5 = "0";
|
||||||
String sumAssignAmount5;
|
String sumAssignAmount5 = "0";
|
||||||
String periodAssignAmount6;
|
String periodAssignAmount6 = "0";
|
||||||
String sumAssignAmount6;
|
String sumAssignAmount6 = "0";
|
||||||
String periodAssignAmount7;
|
String periodAssignAmount7 = "0";
|
||||||
String sumAssignAmount7;
|
String sumAssignAmount7 = "0";
|
||||||
String periodAssignAmount8;
|
String periodAssignAmount8 = "0";
|
||||||
String sumAssignAmount8;
|
String sumAssignAmount8 = "0";
|
||||||
String periodAssignAmount9;
|
String periodAssignAmount9 = "0";
|
||||||
String sumAssignAmount9;
|
String sumAssignAmount9 = "0";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -292,12 +292,6 @@ public class BudgetService {
|
||||||
|
|
||||||
// 예산배정
|
// 예산배정
|
||||||
public List<AssignResult> selectBudgetAssignInfo(UserInfo loginUser, BudgetDto.AssignSearchReqeust requestDto){
|
public List<AssignResult> selectBudgetAssignInfo(UserInfo loginUser, BudgetDto.AssignSearchReqeust requestDto){
|
||||||
// System.out.println(requestDto.getCode());
|
|
||||||
// System.out.println(requestDto.getYear());
|
|
||||||
// System.out.println(requestDto.getStDate());
|
|
||||||
// System.out.println(requestDto.getEdDate());
|
|
||||||
//System.out.println(requestDto.getYear()+" / "+ requestDto.getCode()+" / "+ "admin"+" / "+ java.sql.Date.valueOf(requestDto.getStDate())+" / "+java.sql.Date.valueOf(requestDto.getEdDate()));
|
|
||||||
// return budgetRepository.callSpGetBudgetAssignInfo(requestDto.getYear(), requestDto.getCode(), "admin", java.sql.Date.valueOf(requestDto.getStDate()),java.sql.Date.valueOf(requestDto.getEdDate()));
|
|
||||||
BudgetParams params = new BudgetParams();
|
BudgetParams params = new BudgetParams();
|
||||||
params.setYear(requestDto.getYear());
|
params.setYear(requestDto.getYear());
|
||||||
params.setCode(requestDto.getCode());
|
params.setCode(requestDto.getCode());
|
||||||
|
|
@ -307,6 +301,67 @@ public class BudgetService {
|
||||||
return budgetMapper.callSpGetBudgetAssignInfo(params);
|
return budgetMapper.callSpGetBudgetAssignInfo(params);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<AssignResult> selectBudgetAssignInfoList(BudgetDto.AssignSearchReqeust requestDto){
|
||||||
|
BudgetParams params = new BudgetParams();
|
||||||
|
params.setYear(requestDto.getYear());
|
||||||
|
params.setCode(requestDto.getCode());
|
||||||
|
params.setUser("admin");
|
||||||
|
params.setStDate(java.sql.Date.valueOf(requestDto.getStDate()));
|
||||||
|
params.setEdDate(java.sql.Date.valueOf(requestDto.getEdDate()));
|
||||||
|
List<AssignResult> assignResultList = budgetMapper.selectBudgetAssignInfoList(params);
|
||||||
|
List<AssignAmount> assignAmountList = budgetMapper.selectBudgetAssignAmountList(params);
|
||||||
|
for(AssignResult result: assignResultList){
|
||||||
|
for(AssignAmount amount: assignAmountList){
|
||||||
|
if(result.getBudgetCodeL3().equals(amount.getBudgetCode())){
|
||||||
|
int totalAssignAmount = result.getTotalAssignAmount()==null?0:Integer.parseInt(result.getTotalAssignAmount());
|
||||||
|
totalAssignAmount += amount.getSumAssignAmount();
|
||||||
|
result.setTotalAssignAmount(Integer.toString(totalAssignAmount));
|
||||||
|
switch (amount.getOrderSeq()){
|
||||||
|
case 1:
|
||||||
|
result.setPeriodAssignAmount1(amount.getPeriodAssignAmount().toString());
|
||||||
|
result.setSumAssignAmount1(amount.getSumAssignAmount().toString());
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
result.setPeriodAssignAmount2(amount.getPeriodAssignAmount().toString());
|
||||||
|
result.setSumAssignAmount2(amount.getSumAssignAmount().toString());
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
result.setPeriodAssignAmount3(amount.getPeriodAssignAmount().toString());
|
||||||
|
result.setSumAssignAmount3(amount.getSumAssignAmount().toString());
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
result.setPeriodAssignAmount4(amount.getPeriodAssignAmount().toString());
|
||||||
|
result.setSumAssignAmount4(amount.getSumAssignAmount().toString());
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
result.setPeriodAssignAmount5(amount.getPeriodAssignAmount().toString());
|
||||||
|
result.setSumAssignAmount5(amount.getSumAssignAmount().toString());
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
result.setPeriodAssignAmount6(amount.getPeriodAssignAmount().toString());
|
||||||
|
result.setSumAssignAmount6(amount.getSumAssignAmount().toString());
|
||||||
|
break;
|
||||||
|
case 7:
|
||||||
|
result.setPeriodAssignAmount7(amount.getPeriodAssignAmount().toString());
|
||||||
|
result.setSumAssignAmount7(amount.getSumAssignAmount().toString());
|
||||||
|
break;
|
||||||
|
case 8:
|
||||||
|
result.setPeriodAssignAmount8(amount.getPeriodAssignAmount().toString());
|
||||||
|
result.setSumAssignAmount8(amount.getSumAssignAmount().toString());
|
||||||
|
break;
|
||||||
|
case 9:
|
||||||
|
result.setPeriodAssignAmount9(amount.getPeriodAssignAmount().toString());
|
||||||
|
result.setSumAssignAmount9(amount.getSumAssignAmount().toString());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return assignResultList;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
//(공통) 2단계로 하위청 뿌려주기
|
//(공통) 2단계로 하위청 뿌려주기
|
||||||
public List<CodeResult> selectDownOrg(String userOrgCode){
|
public List<CodeResult> selectDownOrg(String userOrgCode){
|
||||||
// return budgetRepository.callSpGetDownOrg(userOrgCode);
|
// return budgetRepository.callSpGetDownOrg(userOrgCode);
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,49 @@
|
||||||
select *
|
select *
|
||||||
from sp_get_budget_assign_info(#{year}, #{code}, #{user} ,#{stDate}::date, #{edDate}::date)
|
from sp_get_budget_assign_info(#{year}, #{code}, #{user} ,#{stDate}::date, #{edDate}::date)
|
||||||
</select>
|
</select>
|
||||||
|
<select id="selectBudgetAssignInfoList" resultType="AssignResult" parameterType="BudgetParams">
|
||||||
|
SELECT d.budget_code as budgetCodeL3,
|
||||||
|
a.l1_name as budgetNameL1,
|
||||||
|
b.l2_name as budgetNameL2,
|
||||||
|
c.l3_name as budgetNameL3,
|
||||||
|
d.amount as plan_amount
|
||||||
|
FROM public.tbl_budget_code_l1 A
|
||||||
|
inner join public.tbl_budget_code_l2 B on a.l1_code = b.l1_code
|
||||||
|
inner join public.tbl_budget_code_l3 C on b.l2_code = c.l2_code and c.use_tag = 'Y'
|
||||||
|
inner join public.tbl_budget_plan D on c.l3_code = d.budget_code and d.org_code = #{code}
|
||||||
|
WHERE a.L1_YEAR = #{year}
|
||||||
|
ORDER BY d.budget_code ASC
|
||||||
|
</select>
|
||||||
|
<select id="selectBudgetAssignAmountList" resultType="AssignAmount" parameterType="BudgetParams">
|
||||||
|
select oc.order_seq,
|
||||||
|
oc.organ_cd,
|
||||||
|
tba.budget_code,
|
||||||
|
tba.period_assign_amount,
|
||||||
|
coalesce(tbe.sum_assign_amount, 0) as sum_assign_amount
|
||||||
|
from (
|
||||||
|
select h_org_code, l_org_code, budget_code, sum(amount) as period_assign_amount
|
||||||
|
from tbl_budget_assign
|
||||||
|
where h_org_code = #{code}
|
||||||
|
group by h_org_code, l_org_code, budget_code
|
||||||
|
) tba
|
||||||
|
left outer join (
|
||||||
|
select org_code, budget_code, sum(amount) as sum_assign_amount
|
||||||
|
from tbl_budget_expense
|
||||||
|
where EXTRACT( year FROM expense_date ) = ${year}
|
||||||
|
group by org_code, budget_code
|
||||||
|
) tbe on tba.l_org_code = tbe.org_code and tba.budget_code = tbe.budget_code
|
||||||
|
inner join (
|
||||||
|
select (ROW_NUMBER() OVER()) AS order_seq, *
|
||||||
|
from (
|
||||||
|
select #{code} as organ_cd
|
||||||
|
union all
|
||||||
|
select organ_cd
|
||||||
|
from organ_config
|
||||||
|
where parent_organ = #{code}
|
||||||
|
) a
|
||||||
|
) oc on tba.l_org_code = oc.organ_cd
|
||||||
|
order by order_seq, organ_cd, budget_code
|
||||||
|
</select>
|
||||||
<select id="callSpGetDownOrg" resultType="CodeResult" parameterType="BudgetParams">
|
<select id="callSpGetDownOrg" resultType="CodeResult" parameterType="BudgetParams">
|
||||||
select org_code as orgCode,
|
select org_code as orgCode,
|
||||||
org_name as orgName
|
org_name as orgName
|
||||||
|
|
|
||||||
|
|
@ -84,58 +84,40 @@
|
||||||
<td th:text="${info.budgetNameL1}"></td>
|
<td th:text="${info.budgetNameL1}"></td>
|
||||||
<td th:text="${info.budgetNameL2}"></td>
|
<td th:text="${info.budgetNameL2}"></td>
|
||||||
<td th:text="${info.budgetNameL3}"></td>
|
<td th:text="${info.budgetNameL3}"></td>
|
||||||
<td th:text="${#numbers.formatInteger(info.planAmount,1,'COMMA')}"
|
<td th:text="${#numbers.formatInteger(info.planAmount,1,'COMMA')}" class="text-end"></td>
|
||||||
class="text-end"></td>
|
<td th:text="${#numbers.formatInteger(info.totalAssignAmount,1,'COMMA')}" class="text-end"></td>
|
||||||
<td th:text="${#numbers.formatInteger(info.totalAssignAmount,1,'COMMA')}"
|
|
||||||
class="text-end"></td>
|
|
||||||
<th:block th:each="orglist, j : ${downOrgList}">
|
<th:block th:each="orglist, j : ${downOrgList}">
|
||||||
<th:block th:if="${j.index} == '0'">
|
<th:block th:if="${j.index} == '0'">
|
||||||
<td th:text="${#numbers.formatInteger(info.periodAssignAmount1,1,'COMMA')}"
|
<td th:text="${#numbers.formatInteger(info.periodAssignAmount1,1,'COMMA')}" class="text-end"></td>
|
||||||
class="text-end"></td>
|
<td th:text="${#numbers.formatInteger(info.sumAssignAmount1,1,'COMMA')}" class="text-end"></td>
|
||||||
<td th:text="${#numbers.formatInteger(info.sumAssignAmount1,1,'COMMA')}"
|
|
||||||
class="text-end"></td>
|
|
||||||
</th:block>
|
</th:block>
|
||||||
<th:block th:if="${j.index} == '1'">
|
<th:block th:if="${j.index} == '1'">
|
||||||
<td th:text="${#numbers.formatInteger(info.periodAssignAmount2,1,'COMMA')}"
|
<td th:text="${#numbers.formatInteger(info.periodAssignAmount2,1,'COMMA')}" class="text-end"></td>
|
||||||
class="text-end"></td>
|
<td th:text="${#numbers.formatInteger(info.sumAssignAmount2,1,'COMMA')}" class="text-end"></td>
|
||||||
<td th:text="${#numbers.formatInteger(info.sumAssignAmount2,1,'COMMA')}"
|
|
||||||
class="text-end"></td>
|
|
||||||
</th:block>
|
</th:block>
|
||||||
<th:block th:if="${j.index} == '2'">
|
<th:block th:if="${j.index} == '2'">
|
||||||
<td th:text="${#numbers.formatInteger(info.periodAssignAmount3,1,'COMMA')}"
|
<td th:text="${#numbers.formatInteger(info.periodAssignAmount3,1,'COMMA')}" class="text-end"></td>
|
||||||
class="text-end"></td>
|
<td th:text="${#numbers.formatInteger(info.sumAssignAmount3,1,'COMMA')}" class="text-end"></td>
|
||||||
<td th:text="${#numbers.formatInteger(info.sumAssignAmount3,1,'COMMA')}"
|
|
||||||
class="text-end"></td>
|
|
||||||
</th:block>
|
</th:block>
|
||||||
<th:block th:if="${j.index} == '3'">
|
<th:block th:if="${j.index} == '3'">
|
||||||
<td th:text="${#numbers.formatInteger(info.periodAssignAmount4,1,'COMMA')}"
|
<td th:text="${#numbers.formatInteger(info.periodAssignAmount4,1,'COMMA')}" class="text-end"></td>
|
||||||
class="text-end"></td>
|
<td th:text="${#numbers.formatInteger(info.sumAssignAmount4,1,'COMMA')}" class="text-end"></td>
|
||||||
<td th:text="${#numbers.formatInteger(info.sumAssignAmount4,1,'COMMA')}"
|
|
||||||
class="text-end"></td>
|
|
||||||
</th:block>
|
</th:block>
|
||||||
<th:block th:if="${j.index} == '4'">
|
<th:block th:if="${j.index} == '4'">
|
||||||
<td th:text="${#numbers.formatInteger(info.periodAssignAmount5,1,'COMMA')}"
|
<td th:text="${#numbers.formatInteger(info.periodAssignAmount5,1,'COMMA')}" class="text-end"></td>
|
||||||
class="text-end"></td>
|
<td th:text="${#numbers.formatInteger(info.sumAssignAmount5,1,'COMMA')}" class="text-end"></td>
|
||||||
<td th:text="${#numbers.formatInteger(info.sumAssignAmount5,1,'COMMA')}"
|
|
||||||
class="text-end"></td>
|
|
||||||
</th:block>
|
</th:block>
|
||||||
<th:block th:if="${j.index} == '5'">
|
<th:block th:if="${j.index} == '5'">
|
||||||
<td th:text="${#numbers.formatInteger(info.periodAssignAmount6,1,'COMMA')}"
|
<td th:text="${#numbers.formatInteger(info.periodAssignAmount6,1,'COMMA')}" class="text-end"></td>
|
||||||
class="text-end"></td>
|
<td th:text="${#numbers.formatInteger(info.sumAssignAmount6,1,'COMMA')}" class="text-end"></td>
|
||||||
<td th:text="${#numbers.formatInteger(info.sumAssignAmount6,1,'COMMA')}"
|
|
||||||
class="text-end"></td>
|
|
||||||
</th:block>
|
</th:block>
|
||||||
<th:block th:if="${j.index} == '6'">
|
<th:block th:if="${j.index} == '6'">
|
||||||
<td th:text="${#numbers.formatInteger(info.periodAssignAmount7,1,'COMMA')}"
|
<td th:text="${#numbers.formatInteger(info.periodAssignAmount7,1,'COMMA')}" class="text-end"></td>
|
||||||
class="text-end"></td>
|
<td th:text="${#numbers.formatInteger(info.sumAssignAmount7,1,'COMMA')}" class="text-end"></td>
|
||||||
<td th:text="${#numbers.formatInteger(info.sumAssignAmount7,1,'COMMA')}"
|
|
||||||
class="text-end"></td>
|
|
||||||
</th:block>
|
</th:block>
|
||||||
<th:block th:if="${j.index} == '7'">
|
<th:block th:if="${j.index} == '7'">
|
||||||
<td th:text="${#numbers.formatInteger(info.periodAssignAmount8,1,'COMMA')}"
|
<td th:text="${#numbers.formatInteger(info.periodAssignAmount8,1,'COMMA')}" class="text-end"></td>
|
||||||
class="text-end"></td>
|
<td th:text="${#numbers.formatInteger(info.sumAssignAmount8,1,'COMMA')}" class="text-end"></td>
|
||||||
<td th:text="${#numbers.formatInteger(info.sumAssignAmount8,1,'COMMA')}"
|
|
||||||
class="text-end"></td>
|
|
||||||
</th:block>
|
</th:block>
|
||||||
</th:block>
|
</th:block>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue