예산 업뎃
parent
e5310450d9
commit
9d03dcf482
|
|
@ -1,38 +1,400 @@
|
|||
package com.dbnt.faisp.main.budget;
|
||||
|
||||
import com.dbnt.faisp.main.budget.common.ResultResponseCode;
|
||||
import com.dbnt.faisp.main.budget.model.ResultResponse;
|
||||
import com.dbnt.faisp.main.budget.model.BudgetDto;
|
||||
import com.dbnt.faisp.main.budget.repository.BudgetRepository.*;
|
||||
import com.dbnt.faisp.main.budget.service.BudgetService;
|
||||
import com.dbnt.faisp.main.userInfo.model.UserInfo;
|
||||
import com.dbnt.faisp.main.userInfo.service.UserInfoService;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.security.core.annotation.AuthenticationPrincipal;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
@RestController
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/budget")
|
||||
public class BudgetController {
|
||||
private final UserInfoService userInfoService;
|
||||
private final BudgetService budgetService;
|
||||
|
||||
/* 예산편성 - 화면 */
|
||||
@GetMapping("/budgeting")
|
||||
public ModelAndView budgetingPage(@AuthenticationPrincipal UserInfo loginUser){
|
||||
public ModelAndView viewShipList(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.BudgetingSearchReqeust requestDto, Pageable pageable) {
|
||||
ModelAndView mav = new ModelAndView("budget/budgeting");
|
||||
if (requestDto.getYear() == null || requestDto.getYear().equals("")) {
|
||||
LocalDate date = LocalDate.now();
|
||||
requestDto.setYear(String.valueOf(date.getYear()));
|
||||
}
|
||||
System.out.println(requestDto.getYear());
|
||||
List<BudgetingList> list = budgetService.selectBudgetingList(loginUser, requestDto);
|
||||
List<YearResult> yearList = budgetService.selectBudgetingYearList(loginUser);
|
||||
long sum = 0;
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
sum += list.get(i).getAmount();
|
||||
}
|
||||
requestDto.setSum(sum);
|
||||
// System.out.println(yearList.get(1).getYear());
|
||||
// System.out.println(yearList.size());
|
||||
mav.addObject("list", list);
|
||||
mav.addObject("yearList", yearList);
|
||||
mav.addObject("searchParams", requestDto);
|
||||
|
||||
return mav;
|
||||
}
|
||||
|
||||
// 예산편성 - 연도 추가
|
||||
@PostMapping("/budgeting/year")
|
||||
public ResultResponse<?> copyBudgeting(@AuthenticationPrincipal UserInfo loginUser, @RequestBody BudgetDto.BudgetingCopyReqeust requestDto) {
|
||||
budgetService.copyYearBudgeting(loginUser, requestDto);
|
||||
return new ResultResponse().successResponse(ResultResponseCode.SUCCESS);
|
||||
}
|
||||
|
||||
// 예산편성 - 연도 삭제
|
||||
@DeleteMapping("/budgeting/year")
|
||||
public ResultResponse<?> deleteYearBudgeting(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.BudgetingCopyReqeust requestDto) {
|
||||
budgetService.deleteBudgetingYear(loginUser, requestDto);
|
||||
return new ResultResponse().successResponse(ResultResponseCode.SUCCESS);
|
||||
}
|
||||
|
||||
//예산편성 - 항목추가/변경 모달(버튼)
|
||||
@GetMapping("/budgeting/modal/edit")
|
||||
public ModelAndView editModal(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.BudgetingInsertReqeust requestDto) {
|
||||
ModelAndView mav = new ModelAndView("budget/budgetingEditModal");
|
||||
|
||||
// System.out.println(requestDto.getNameL1());
|
||||
if (requestDto.getNameL1() != null) {
|
||||
mav.addObject("info", requestDto);
|
||||
mav.addObject("cmd", "update");
|
||||
} else {
|
||||
mav.addObject("info");
|
||||
mav.addObject("cmd", "insert");
|
||||
}
|
||||
return mav;
|
||||
}
|
||||
|
||||
//예산편성 - 항목추가
|
||||
@PostMapping("/budgeting/code")
|
||||
public ResultResponse<?> insertBudgeting(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.BudgetingInsertReqeust requestDto) {
|
||||
budgetService.insertBudgetingList(loginUser, requestDto);
|
||||
return new ResultResponse().successResponse(ResultResponseCode.SUCCESS);
|
||||
}
|
||||
|
||||
//예산편성 - 항목변경
|
||||
@PutMapping("/budgeting/code")
|
||||
public ResultResponse<?> updateBudgeting(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.BudgetingUpdateReqeust requestDto) {
|
||||
budgetService.updateBudgetingList(loginUser, requestDto);
|
||||
return new ResultResponse().successResponse(ResultResponseCode.SUCCESS);
|
||||
}
|
||||
|
||||
//예산편성 - 항목삭제
|
||||
@DeleteMapping("/budgeting/code")
|
||||
public ResultResponse<?> deleteBudgeting(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.BudgetingInsertReqeust requestDto) {
|
||||
budgetService.deleteBudgetingList(loginUser, requestDto);
|
||||
return new ResultResponse().successResponse(ResultResponseCode.SUCCESS);
|
||||
}
|
||||
|
||||
// 예산편성 - 예산편성 버튼(modal)
|
||||
@GetMapping("/budgeting/modal/org")
|
||||
public ModelAndView orgModal(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.BudgetingSearchReqeust requestDto) {
|
||||
ModelAndView mav = new ModelAndView("budget/budgetingOrgModal");
|
||||
List<BudgetingList> list = budgetService.selectBudgetingList(loginUser, requestDto);
|
||||
mav.addObject("list", list);
|
||||
mav.addObject("searchParams", requestDto);
|
||||
return mav;
|
||||
}
|
||||
|
||||
// 예산편성 - 예산편성(저장)
|
||||
@PostMapping("/budgeting/save")
|
||||
public ResultResponse<?> saveBudgeting(@AuthenticationPrincipal UserInfo loginUser, @RequestBody BudgetDto.BudgetingSaveReqeust requestDto) {
|
||||
budgetService.saveBudgetingList(loginUser, requestDto);
|
||||
return new ResultResponse().successResponse(ResultResponseCode.SUCCESS);
|
||||
}
|
||||
|
||||
// 예산편성 - 예산삭제 (0원 세팅)
|
||||
@DeleteMapping("/budgeting") //@AuthenticationPrincipal
|
||||
public ResultResponse<?> deleteBudgeting(UserInfo loginUser, BudgetDto.BudgetingSaveReqeust requestDto) {
|
||||
budgetService.deleteBudgeting(loginUser, requestDto);
|
||||
return new ResultResponse().successResponse(ResultResponseCode.SUCCESS);
|
||||
}
|
||||
|
||||
// 예산배정
|
||||
@GetMapping("/assign")
|
||||
public ModelAndView assignPage(@AuthenticationPrincipal UserInfo loginUser){
|
||||
public ModelAndView viewAssignList(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.AssignSearchReqeust requestDto, Pageable pageable) {
|
||||
ModelAndView mav = new ModelAndView("budget/assign");
|
||||
String userOrgCode;
|
||||
if (requestDto.getYear() != null) {
|
||||
userOrgCode = requestDto.getCode();
|
||||
|
||||
List<AssignResult> list = budgetService.selectBudgetAssignInfo(loginUser, requestDto);
|
||||
mav.addObject("list", list);
|
||||
} else {
|
||||
// 로그인된 해당청 기본선택
|
||||
userOrgCode = userInfoService.selectUserInfo(loginUser.getUserSeq()).getOgCd();
|
||||
String HighOrgCode = budgetService.selectGetHighOrgCode(userOrgCode);
|
||||
if (HighOrgCode == null) { // 1, 2단계시
|
||||
requestDto.setCode(userOrgCode);
|
||||
} else { // 3단계 이하 관서시
|
||||
requestDto.setCode(HighOrgCode);
|
||||
userOrgCode = HighOrgCode;
|
||||
}
|
||||
|
||||
mav.addObject("list");
|
||||
|
||||
// 첫해 첫날 ~ 오늘날짜 기본세팅
|
||||
LocalDate date = LocalDate.now();
|
||||
String CurrentYear = String.valueOf(date.getYear()) + "-01-01";
|
||||
requestDto.setStDate(LocalDate.parse(CurrentYear));
|
||||
requestDto.setEdDate(date);
|
||||
}
|
||||
//하위청 리스트
|
||||
List<CodeResult> downOrgList = budgetService.selectDownOrg(userOrgCode);
|
||||
mav.addObject("downOrgList", downOrgList);
|
||||
|
||||
//Select box 관서 리스트
|
||||
List<CodeResult> codeList = budgetService.selectGetLowerOrgCodeByName(loginUser);
|
||||
mav.addObject("codeList", codeList);
|
||||
|
||||
mav.addObject("searchParams", requestDto);
|
||||
|
||||
return mav;
|
||||
}
|
||||
|
||||
|
||||
// 예산배정 - 리스트 수정
|
||||
@GetMapping("/assign/modal/edit")
|
||||
public ModelAndView viewAssignModal(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.AssignSearchReqeust requestDto, Pageable pageable) {
|
||||
ModelAndView mav = new ModelAndView("budget/assignEditModal");
|
||||
String userOrgCode;
|
||||
LocalDate date = LocalDate.now();
|
||||
requestDto.setModalDate(date);
|
||||
if (requestDto.getYear() != null) {
|
||||
userOrgCode = requestDto.getCode();
|
||||
|
||||
List<AssignResult> list = budgetService.selectBudgetAssignInfo(loginUser, requestDto);
|
||||
mav.addObject("list", list);
|
||||
} else {
|
||||
// 로그인된 해당청 기본선택
|
||||
userOrgCode = userInfoService.selectUserInfo(loginUser.getUserSeq()).getOgCd();
|
||||
String HighOrgCode = budgetService.selectGetHighOrgCode(userOrgCode);
|
||||
if (HighOrgCode == null) { // 1, 2단계시
|
||||
requestDto.setCode(userOrgCode);
|
||||
} else { // 3단계 이하 관서시
|
||||
requestDto.setCode(HighOrgCode);
|
||||
userOrgCode = HighOrgCode;
|
||||
}
|
||||
|
||||
mav.addObject("list");
|
||||
}
|
||||
//하위청 리스트
|
||||
List<CodeResult> downOrgList = budgetService.selectDownOrg(userOrgCode);
|
||||
mav.addObject("downOrgList", downOrgList);
|
||||
|
||||
List<CodeResult> codeList = budgetService.selectGetLowerOrgCodeByName(loginUser);
|
||||
mav.addObject("codeList", codeList);
|
||||
|
||||
mav.addObject("searchParams", requestDto);
|
||||
|
||||
return mav;
|
||||
}
|
||||
|
||||
// 예산배정 - 등록(저장버튼)
|
||||
@PostMapping("/assign/save")
|
||||
public ResultResponse<?> saveAssign(@AuthenticationPrincipal UserInfo loginUser, @RequestBody BudgetDto.AssignSaveReqeust requestDto) {
|
||||
budgetService.updateAssignList(loginUser, requestDto);
|
||||
return new ResultResponse().successResponse(ResultResponseCode.SUCCESS);
|
||||
}
|
||||
|
||||
// 집행관리
|
||||
@GetMapping("/expense")
|
||||
public ModelAndView expensePage(@AuthenticationPrincipal UserInfo loginUser){
|
||||
public ModelAndView viewExpenseList(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.AssignSearchReqeust requestDto, Pageable pageable) {
|
||||
ModelAndView mav = new ModelAndView("budget/expense");
|
||||
String userOrgCode;
|
||||
if (requestDto.getYear() != null) {
|
||||
userOrgCode = requestDto.getCode();
|
||||
|
||||
List<ExpenseResult> list = budgetService.selectBudgetExpenseInfo(loginUser, requestDto);
|
||||
mav.addObject("list", list);
|
||||
} else {
|
||||
// 로그인된 해당청 기본선택
|
||||
userOrgCode = userInfoService.selectUserInfo(loginUser.getUserSeq()).getOgCd();
|
||||
String HighOrgCode = budgetService.selectGetHighOrgCode(userOrgCode);
|
||||
if (HighOrgCode == null) { // 1, 2단계시
|
||||
requestDto.setCode(userOrgCode);
|
||||
} else { // 3단계 이하 관서시
|
||||
requestDto.setCode(HighOrgCode);
|
||||
userOrgCode = HighOrgCode;
|
||||
}
|
||||
|
||||
mav.addObject("list");
|
||||
|
||||
// 첫해 첫날 ~ 오늘날짜 기본세팅
|
||||
LocalDate date = LocalDate.now();
|
||||
String CurrentYear = String.valueOf(date.getYear()) + "-01-01";
|
||||
requestDto.setStDate(LocalDate.parse(CurrentYear));
|
||||
requestDto.setEdDate(date);
|
||||
}
|
||||
//하위청 리스트
|
||||
List<CodeResult> downOrgList = budgetService.selectDownOrg(userOrgCode);
|
||||
mav.addObject("downOrgList", downOrgList);
|
||||
|
||||
List<CodeResult> codeList = budgetService.selectGetLowerOrgCodeByName(loginUser);
|
||||
mav.addObject("codeList", codeList);
|
||||
|
||||
mav.addObject("searchParams", requestDto);
|
||||
|
||||
return mav;
|
||||
}
|
||||
|
||||
@PostMapping("/expense")
|
||||
public ResultResponse<?> saveExpense(@AuthenticationPrincipal UserInfo loginUser, @RequestBody BudgetDto.ExpenseSaveReqeust requestDto) {
|
||||
budgetService.insertExpense(loginUser, requestDto);
|
||||
return new ResultResponse().successResponse(ResultResponseCode.SUCCESS);
|
||||
}
|
||||
|
||||
/* 예산편성 - 팝업화면 */
|
||||
@GetMapping("/expense/modal/view")
|
||||
public ModelAndView viewExpenseModal(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.ExpenseSearchReqeust requestDto, Pageable pageable) {
|
||||
ModelAndView mav = new ModelAndView("budget/expenseEditModal");
|
||||
List<ExpenseInfoResult> list = budgetService.selectBudgetExpense(loginUser, requestDto);
|
||||
|
||||
mav.addObject("list", list);
|
||||
mav.addObject("searchParams", requestDto);
|
||||
|
||||
return mav;
|
||||
}
|
||||
|
||||
/* 집행표 - 화면 */
|
||||
@GetMapping("/stats")
|
||||
public ModelAndView statsPage(@AuthenticationPrincipal UserInfo loginUser){
|
||||
public ModelAndView viewStatsAllList(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.StatsSearchReqeust requestDto, Pageable pageable) {
|
||||
ModelAndView mav = new ModelAndView("budget/stats");
|
||||
String userOrgCode;
|
||||
if (requestDto.getYear() != null) {
|
||||
userOrgCode = requestDto.getCode();
|
||||
|
||||
List<ExpenseResult> list = budgetService.selectSpGetbudgetStatOrg(loginUser, requestDto);
|
||||
|
||||
mav.addObject("list", list);
|
||||
} else {
|
||||
// 로그인된 해당청 기본선택
|
||||
userOrgCode = userInfoService.selectUserInfo(loginUser.getUserSeq()).getOgCd();
|
||||
String HighOrgCode = budgetService.selectGetHighOrgCode(userOrgCode);
|
||||
if (HighOrgCode == null) { // 1, 2단계시
|
||||
requestDto.setCode(userOrgCode);
|
||||
} else { // 3단계 이하 관서시
|
||||
requestDto.setCode(HighOrgCode);
|
||||
userOrgCode = HighOrgCode;
|
||||
}
|
||||
|
||||
mav.addObject("list");
|
||||
|
||||
// 첫해 첫날 ~ 오늘날짜 기본세팅
|
||||
LocalDate date = LocalDate.now();
|
||||
String CurrentYear = String.valueOf(date.getYear()) + "-01-01";
|
||||
requestDto.setStDate(LocalDate.parse(CurrentYear));
|
||||
requestDto.setEdDate(date);
|
||||
}
|
||||
//하위청 리스트
|
||||
List<CodeResult> downOrgList = budgetService.selectDownOrg(userOrgCode);
|
||||
mav.addObject("downOrgList", downOrgList);
|
||||
|
||||
List<CodeResult> codeList = budgetService.selectGetLowerOrgCodeByName(loginUser);
|
||||
mav.addObject("codeList", codeList);
|
||||
|
||||
mav.addObject("searchParams", requestDto);
|
||||
|
||||
return mav;
|
||||
}
|
||||
|
||||
/* 집행표 - 화면 */
|
||||
@GetMapping("/stats/org")
|
||||
public ModelAndView viewExpenseList(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.StatsSearchReqeust requestDto, Pageable pageable) {
|
||||
ModelAndView mav = new ModelAndView("budget/statsOrg");
|
||||
String userOrgCode;
|
||||
if (requestDto.getYear() != null) {
|
||||
userOrgCode = requestDto.getCode();
|
||||
|
||||
List<ExpenseResult> list = budgetService.selectSpGetbudgetStatOrg(loginUser, requestDto);
|
||||
mav.addObject("list", list);
|
||||
} else {
|
||||
// 로그인된 해당청 기본선택
|
||||
userOrgCode = userInfoService.selectUserInfo(loginUser.getUserSeq()).getOgCd();
|
||||
String HighOrgCode = budgetService.selectGetHighOrgCode(userOrgCode);
|
||||
if (HighOrgCode == null) { // 1, 2단계시
|
||||
requestDto.setCode(userOrgCode);
|
||||
} else { // 3단계 이하 관서시
|
||||
requestDto.setCode(HighOrgCode);
|
||||
userOrgCode = HighOrgCode;
|
||||
}
|
||||
|
||||
mav.addObject("list");
|
||||
|
||||
// 첫해 첫날 ~ 오늘날짜 기본세팅
|
||||
LocalDate date = LocalDate.now();
|
||||
String CurrentYear = String.valueOf(date.getYear()) + "-01-01";
|
||||
requestDto.setStDate(LocalDate.parse(CurrentYear));
|
||||
requestDto.setEdDate(date);
|
||||
}
|
||||
//하위청 리스트
|
||||
List<CodeResult> downOrgList = budgetService.selectDownOrg(userOrgCode);
|
||||
mav.addObject("downOrgList", downOrgList);
|
||||
|
||||
List<CodeResult> codeList = budgetService.selectGetLowerOrgCodeByName(loginUser);
|
||||
mav.addObject("codeList", codeList);
|
||||
|
||||
mav.addObject("searchParams", requestDto);
|
||||
|
||||
return mav;
|
||||
}
|
||||
|
||||
/* 세부내역별현황 - 화면 */
|
||||
@GetMapping("/stats/detail")
|
||||
public ModelAndView viewStatsDetailList(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.StatsSearchReqeust requestDto, Pageable pageable) {
|
||||
ModelAndView mav = new ModelAndView("budget/statsDetail");
|
||||
|
||||
List<YearResult> yearList = budgetService.selectBudgetingYearList(loginUser);
|
||||
if (requestDto.getStDate() != null) {
|
||||
List<StatsItemResult> list = budgetService.selectSpGetbudgetStatDetail(loginUser, requestDto);
|
||||
List<L3CodeResult> codeList = budgetService.selectSpGetL3Code(loginUser, requestDto.getYear());
|
||||
mav.addObject("list", list);
|
||||
mav.addObject("codeList", codeList);
|
||||
} else {
|
||||
|
||||
LocalDate date = LocalDate.now();
|
||||
List<L3CodeResult> codeList = budgetService.selectSpGetL3Code(loginUser, String.valueOf(date.getYear()));
|
||||
requestDto.setYear(String.valueOf(date.getYear()));
|
||||
mav.addObject("list");
|
||||
mav.addObject("codeList", codeList);
|
||||
|
||||
// 첫해 첫날 ~ 오늘날짜 기본세팅
|
||||
String CurrentYear = String.valueOf(date.getYear()) + "-01-01";
|
||||
requestDto.setStDate(LocalDate.parse(CurrentYear));
|
||||
requestDto.setEdDate(date);
|
||||
}
|
||||
List<CodeResult> codeList = budgetService.selectGetLowerOrgCodeByName(loginUser);
|
||||
|
||||
mav.addObject("yearList", yearList);
|
||||
mav.addObject("searchParams", requestDto);
|
||||
|
||||
return mav;
|
||||
}
|
||||
|
||||
@GetMapping("/stats/code")
|
||||
@ResponseBody
|
||||
public List<L3CodeResult> selectCodeL3(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.L3CodeRequest requestDto) {
|
||||
|
||||
List<L3CodeResult> list = budgetService.selectSpGetL3Code(loginUser, requestDto.getYear());
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
package com.dbnt.faisp.main.budget.common;
|
||||
|
||||
import com.dbnt.faisp.main.budget.common.ResultResponseCode;
|
||||
|
||||
public class BaseException extends RuntimeException {
|
||||
|
||||
private static final long serialVersionUID = 163922632784183581L;
|
||||
private ResultResponseCode code;
|
||||
|
||||
public BaseException(ResultResponseCode code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public ResultResponseCode getCode(){
|
||||
return code;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
package com.dbnt.faisp.main.budget.common;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
public enum ResultResponseCode {
|
||||
|
||||
SUCCESS(200, "정상처리되었습니다.","Success"),
|
||||
DATA_NOT_FOUND(604, "존재하지 않는 데이터입니다.","InternalNotFound"),
|
||||
FORBIDDEN(403,"해당요청에 대한 권한이 없습니다.","Forbidden"),
|
||||
PARAM_NOT_NULL(900, " - 필수 입력 사항입니다.", "NotNull"),
|
||||
PARAM_NOT_EMPTY(900, " - 필수 입력 사항입니다.", "NotEmpty"),
|
||||
INTERNAL_PARAM_EMPTY(900, "필수 항목이 누락되었습니다.", "InternalParamEmpty"),
|
||||
FILE_EMPTY(900, "필수 파일이 존재하지 않습니다.", "FileEmpty"),
|
||||
PARAM_PERMIT_TYPE(901, "잘못된 형식의 데이터입니다.", "ParamType"),
|
||||
NOT_FOUND_SENDER(903, "발송대상이 없습니다.","NotFoundSender"),
|
||||
TYPE_MISMATCH(905, "잘못된 형식의 데이터입니다..", "typeMismatch"),
|
||||
DUPLICATE_CODE(906, "이미 등록된 코드명칭입니다.", "DuplicateCode"),
|
||||
DELETE_FOUND_VALUE(907, "예산표에 값이 있습니다. 예산삭제 후 해당 코드를 삭제하십시요.", "DELETE_FOUND_VALUE"),
|
||||
|
||||
|
||||
NOT_FOUND_CODE(908, "없는 코드 또는 명칭입니다." ,"NotFoundCodE"),
|
||||
NOT_FOUND_YEAR(909 , " 없는 연도의 코드입니다.", "NotFoundYear"),
|
||||
FOUND_YEAR(910, "이미 등록되어 있는 연도의 코드입니다.", "FoundYear"),
|
||||
EXPENSE_OVER_VALUE(911, "총 지출금액이 배정된 예산보다 큽니다.", "ExepenseOverValue"),
|
||||
ERROR(999, "오류가 발생하였습니다.","ERROR");
|
||||
|
||||
|
||||
|
||||
private static final Map<String, String> CODE_MAP = Collections.unmodifiableMap(Stream.of(values()).collect(Collectors.toMap(ResultResponseCode::getType, ResultResponseCode::name)));
|
||||
|
||||
private int code;
|
||||
private String message;
|
||||
private String type;
|
||||
|
||||
public static ResultResponseCode of(final String code) {
|
||||
try {
|
||||
return ResultResponseCode.valueOf(CODE_MAP.get(code));
|
||||
}catch(NullPointerException NPE) {
|
||||
return ResultResponseCode.valueOf("ERROR");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,158 @@
|
|||
package com.dbnt.faisp.main.budget.model;
|
||||
|
||||
import com.dbnt.faisp.config.BaseModel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.ToString;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
public class BudgetDto {
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@ToString
|
||||
public static class BudgetingListResponse {
|
||||
|
||||
private String budget_name_l1;
|
||||
private String budget_name_l2;
|
||||
private String budget_name_l3;
|
||||
}
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@ToString
|
||||
public static class BudgetingSearchReqeust {
|
||||
private String year;
|
||||
private Long sum;
|
||||
}
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@ToString
|
||||
public static class BudgetingInsertReqeust {
|
||||
private String year;
|
||||
private String nameL1;
|
||||
private String nameL2;
|
||||
private String nameL3;
|
||||
}
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@ToString
|
||||
public static class BudgetingSaveReqeust {
|
||||
private String year;
|
||||
private String nameL1;
|
||||
private String nameL2;
|
||||
private String nameL3;
|
||||
private Integer amount;
|
||||
}
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@ToString
|
||||
public static class AssignSaveReqeust {
|
||||
private String year;
|
||||
private String code;
|
||||
private Integer amount;
|
||||
private String org;
|
||||
private String org1;
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@ToString
|
||||
public static class BudgetingCopyReqeust {
|
||||
private String year;
|
||||
private String copyYear;
|
||||
}
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@ToString
|
||||
public static class BudgetingUpdateReqeust {
|
||||
private String year;
|
||||
private String nameL1;
|
||||
private String nameL2;
|
||||
private String nameL3;
|
||||
private String prevNameL1;
|
||||
private String prevNameL2;
|
||||
private String prevNameL3;
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@ToString
|
||||
public static class AssignSearchReqeust {
|
||||
private String year;
|
||||
private String code;
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate stDate;
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate edDate;
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate modalDate;
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@ToString
|
||||
public static class ExpenseSaveReqeust {
|
||||
private String year;
|
||||
private String nameL1;
|
||||
private String nameL2;
|
||||
private String nameL3;
|
||||
private String item;
|
||||
private Integer amount;
|
||||
private String org;
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate expenseDate;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@ToString
|
||||
public static class StatsSearchReqeust {
|
||||
private String year;
|
||||
private String code;
|
||||
private String item;
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate stDate;
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate edDate;
|
||||
private Integer won;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@ToString
|
||||
public static class ExpenseSearchReqeust {
|
||||
private String year;
|
||||
private String nameL1;
|
||||
private String nameL2;
|
||||
private String nameL3;
|
||||
private Integer amount;
|
||||
}
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@ToString
|
||||
public static class L3CodeRequest {
|
||||
private String year;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
package com.dbnt.faisp.main.budget.model;
|
||||
|
||||
import com.dbnt.faisp.main.budget.common.ResultResponseCode;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ResultResponse<T> {
|
||||
|
||||
private int code;
|
||||
private String message;
|
||||
private T data;
|
||||
|
||||
public ResultResponse(int code, String message) {
|
||||
this.code = code;
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
public ResultResponse(ResultResponseCode responseCode) {
|
||||
this.code = responseCode.getCode();
|
||||
this.message = responseCode.getMessage();
|
||||
}
|
||||
|
||||
public ResultResponse<?> successResponse(T data) {
|
||||
this.code = ResultResponseCode.SUCCESS.getCode();
|
||||
this.message = ResultResponseCode.SUCCESS.getMessage();
|
||||
this.data = data;
|
||||
return new ResultResponse<>(this.code, this.message, this.data);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,346 @@
|
|||
package com.dbnt.faisp.main.budget.repository;
|
||||
|
||||
import com.dbnt.faisp.main.codeMgt.model.CodeCatg;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.sql.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Repository
|
||||
public interface BudgetRepository extends JpaRepository<CodeCatg, String> {
|
||||
|
||||
@Query(value = " select "
|
||||
+ "budget_name_l1 as budgetNameL1,"
|
||||
+ "budget_name_l2 as budgetNameL2,"
|
||||
+ "budget_name_l3 as budgetNameL3,"
|
||||
+ "budget_code_l3 as budgetCodeL3,"
|
||||
+ "amount,"
|
||||
+ "remark,"
|
||||
+ "modi_id as modiId,"
|
||||
+ "modi_date as modiDate "
|
||||
+ " from public.sp_get_budget_plan_info(:code1, :code2, :code3) ", nativeQuery = true)
|
||||
List<BudgetingList> callSpGetBudgetPlanInfo(
|
||||
@Param("code1") String code1,
|
||||
@Param("code2") String code2,
|
||||
@Param("code3") String code3);
|
||||
|
||||
//(공통) - 생선된 년도 (셀렉트박스)
|
||||
@Query(value ="select l1_year as year from public.sp_get_budget_code_year_list( );", nativeQuery = true)
|
||||
List<YearResult> callSpGetBudgetCodeYearList();
|
||||
|
||||
//예산편성 - 연도추가
|
||||
@Query(value ="call public.sp_copy_budget_item (:year,:copyYear,:id,NULL,NULL,NULL);", nativeQuery = true)
|
||||
UpdateResult callSpCopyBudgetItem(
|
||||
@Param("year") String year,
|
||||
@Param("copyYear") String org,
|
||||
@Param("id") String id);
|
||||
|
||||
//예산편성 - 연도삭제
|
||||
@Query(value ="call public.sp_brute_force_delete_budget_item(:year, :id,NULL,NULL,NULL);", nativeQuery = true)
|
||||
UpdateResult callBruteForceDeleteBudgetItem(
|
||||
@Param("year") String year,
|
||||
@Param("id") String id);
|
||||
|
||||
//예산편성 - 항목추가
|
||||
@Query(value ="call public.sp_add_budget_plan_codename (:year, :code1, :code2, :code3, :org, :id ,NULL, NULL, NULL);", nativeQuery = true)
|
||||
UpdateResult callSpAddBudgetPlanCodeName(
|
||||
@Param("year") String year,
|
||||
@Param("code1") String nameL1,
|
||||
@Param("code2") String nameL2,
|
||||
@Param("code3") String nameL3,
|
||||
@Param("org") String org,
|
||||
@Param("id") String id);
|
||||
|
||||
//예산편성 - 항목변경
|
||||
@Query(value ="call public.sp_update_budget_plan_codename(:year, :code1, :code2, :code3, :newCode1, :newCode2, :newCode3, :org,:id,NULL,NULL,NULL);", nativeQuery = true)
|
||||
UpdateResult callSpUpdateBudgetPlanCodeName(
|
||||
@Param("year") String year,
|
||||
@Param("code1") String prevNameL1,
|
||||
@Param("code2") String prevNameL2,
|
||||
@Param("code3") String prevNameL3,
|
||||
@Param("newCode1") String nameL1,
|
||||
@Param("newCode2") String nameL2,
|
||||
@Param("newCode3") String nameL3,
|
||||
@Param("org") String org,
|
||||
@Param("id") String id);
|
||||
|
||||
//예산편성 - 항목삭제
|
||||
@Query(value ="call public.sp_delete_budget_plan_codename(:year, :code1, :code2, :code3, :org,:id,NULL,NULL,NULL);", nativeQuery = true)
|
||||
UpdateResult callSpDeleteBudgetPlanCodeName(
|
||||
@Param("year") String year,
|
||||
@Param("code1") String nameL1,
|
||||
@Param("code2") String nameL2,
|
||||
@Param("code3") String nameL3,
|
||||
@Param("org") String org,
|
||||
@Param("id") String id);
|
||||
|
||||
//예산편성 - 예산저장
|
||||
@Query(value ="call public.sp_update_budget_plan_item (:year, :code1, :code2, :code3, :amount, :org, :id,NULL, NULL, NULL);", nativeQuery = true)
|
||||
UpdateResult callSpUpdateBudgetPlanCodeItem(
|
||||
@Param("year") String year,
|
||||
@Param("code1") String nameL1,
|
||||
@Param("code2") String nameL2,
|
||||
@Param("code3") String nameL3,
|
||||
@Param("amount") Integer amount,
|
||||
@Param("org") String org,
|
||||
@Param("id") String id);
|
||||
|
||||
//예산편성 - 예산삭제
|
||||
@Query(value ="call public.sp_clear_budget_plan(:year, :org, :id,NULL,NULL,NULL);", nativeQuery = true)
|
||||
UpdateResult callSpDeleteBudgetPlan(
|
||||
@Param("year") String year,
|
||||
@Param("org") String org,
|
||||
@Param("id") String id);
|
||||
|
||||
// 예산배정
|
||||
@Query(value ="select * from public.sp_get_budget_assign_info(:year, :code, :user ,:stDate, :edDate)", nativeQuery = true)
|
||||
List<AssignResult> callSpGetBudgetAssignInfo(
|
||||
@Param("year") String year,
|
||||
@Param("code") String code,
|
||||
@Param("user") String user,
|
||||
@Param("stDate") Date stDate,
|
||||
@Param("edDate") Date edDate
|
||||
);
|
||||
|
||||
//(공통) 2단계로 하위청 뿌려주기
|
||||
@Query(value ="select org_code as orgCode, org_name as orgName from public.sp_get_down_org(:org);", nativeQuery = true)
|
||||
List<CodeResult> callSpGetDownOrg(
|
||||
@Param("org") String org
|
||||
);
|
||||
|
||||
//
|
||||
@Query(value ="select org_code as orgCode, org_name as orgName from public.sp_get_lower_org_code_by_name('본청');", nativeQuery = true)
|
||||
List<CodeResult> callSpGetLowerOrgCodeByName(
|
||||
|
||||
);
|
||||
|
||||
//상위 기관 코드 가져오기 (3단계인경우만)
|
||||
@Query(value ="select * from public.sp_get_high_org_code(:org);", nativeQuery = true)
|
||||
String callSpGetHighOrgCode(
|
||||
@Param("org") String org
|
||||
);
|
||||
|
||||
// 예산배정 - 등록(저장버튼)
|
||||
@Query(value ="call public.sp_add_budget_assign(:code, :org, :org1, cast (:amount as bigint), to_date(:dt,'YYYY-MM-DD'), 'admin', NULL,NULL,NULL);", nativeQuery = true)
|
||||
UpdateResult callSpAddBudgetAssign(
|
||||
@Param("code") String year,
|
||||
@Param("org") String org,
|
||||
@Param("org1") String org1,
|
||||
@Param("amount") Integer amount,
|
||||
@Param("dt") String dt);
|
||||
|
||||
// 집행관리
|
||||
@Query(value ="select * from public.sp_get_budget_expense_info(:year,:code,:user,:stDate,:edDate);", nativeQuery = true)
|
||||
List<ExpenseResult> callSpGetBudgetExpenseInfo(
|
||||
@Param("year") String year,
|
||||
@Param("code") String code,
|
||||
@Param("user") String user,
|
||||
@Param("stDate") Date stDate,
|
||||
@Param("edDate") Date edDate
|
||||
);
|
||||
|
||||
@Query(value ="select * from public.sp_get_budget_expense(:year,:code1,:code2,:code3,:org,1,2,20,1);", nativeQuery = true)
|
||||
List<ExpenseInfoResult> callSpGetBudgetExpense(
|
||||
@Param("year") String year,
|
||||
@Param("code1") String code1,
|
||||
@Param("code2") String code2,
|
||||
@Param("code3") String code3,
|
||||
@Param("org") String org
|
||||
);
|
||||
|
||||
@Query(value ="call public.sp_add_budget_EXPENSE(:year,:code1,:code2,:code3, :org, :item ,cast (:amount as bigint), to_date(:dt,'YYYY-MM-DD'),'admin',NULL,NULL,NULL);", nativeQuery = true)
|
||||
UpdateResult callSpAddBudgetExpense(
|
||||
@Param("year") String year,
|
||||
@Param("code1") String code1,
|
||||
@Param("code2") String code2,
|
||||
@Param("code3") String code3,
|
||||
@Param("org") String org,
|
||||
@Param("item") String item,
|
||||
@Param("amount") Integer amount,
|
||||
@Param("dt") Date dt
|
||||
|
||||
);
|
||||
|
||||
@Query(value ="call public.sp_update_budget_expense(:seq,:item ,cast (:amount as bigint),NULL,NULL,NULL,NULL,NULL);;", nativeQuery = true)
|
||||
List<ExpenseResult> callSpUpdateBudgetExpense(
|
||||
@Param("seq") Integer seq,
|
||||
@Param("item") String item,
|
||||
@Param("amount") Integer amount
|
||||
);
|
||||
|
||||
@Query(value ="select * from public.sp_get_budget_statistics_by_org(:year,:code,:user,:stDate,:edDate,:won);", nativeQuery = true)
|
||||
List<ExpenseResult> callSpGetbudgetStatOrg(
|
||||
@Param("year") String year,
|
||||
@Param("code") String code,
|
||||
@Param("user") String user,
|
||||
@Param("stDate") Date stDate,
|
||||
@Param("edDate") Date edDate,
|
||||
@Param("won") int won
|
||||
);
|
||||
|
||||
@Query(value ="select * from public.sp_get_budget_statistics_by_item(:year,:code,:item, :user,:stDate,:edDate,:won);", nativeQuery = true)
|
||||
List<StatsItemResult> callSpGetbudgetStatDetail(
|
||||
@Param("year") String year,
|
||||
@Param("code") String code,
|
||||
@Param("item") String item,
|
||||
@Param("user") String user,
|
||||
@Param("stDate") Date stDate,
|
||||
@Param("edDate") Date edDate,
|
||||
@Param("won") int won
|
||||
);
|
||||
|
||||
@Query(value ="select * from public.sp_get_budget_code_l3(:year,null,null,null);", nativeQuery = true)
|
||||
List<L3CodeResult> callSpGetBudgetCodeL3(
|
||||
@Param("year") String year
|
||||
);
|
||||
|
||||
public static interface BudgetingList {
|
||||
String getBudgetNameL1();
|
||||
String getBudgetNameL2();
|
||||
String getBudgetNameL3();
|
||||
String getBudgetCodeL3();
|
||||
Integer getAmount();
|
||||
String getRemark();
|
||||
String getModiId();
|
||||
String getModiDate();
|
||||
}
|
||||
|
||||
public static interface UpdateResult {
|
||||
Integer get_result_count();
|
||||
String get_result_code();
|
||||
String get_error_message();
|
||||
|
||||
}
|
||||
|
||||
public static interface YearResult {
|
||||
String getYear();
|
||||
}
|
||||
|
||||
public static interface AssignResult {
|
||||
String getorg_count();
|
||||
String getbudget_name_l1();
|
||||
String getbudget_name_l2();
|
||||
String getbudget_name_l3();
|
||||
String getbudget_code_l3();
|
||||
String getplan_amount();
|
||||
String gettotal_assign_amount();
|
||||
String getperiod_assign_amount1();
|
||||
String getsum_assign_amount1();
|
||||
String getperiod_assign_amount2();
|
||||
String getsum_assign_amount2();
|
||||
String getperiod_assign_amount3();
|
||||
String getsum_assign_amount3();
|
||||
String getperiod_assign_amount4();
|
||||
String getsum_assign_amount4();
|
||||
String getperiod_assign_amount5();
|
||||
String getsum_assign_amount5();
|
||||
String getperiod_assign_amount6();
|
||||
String getsum_assign_amount6();
|
||||
String getperiod_assign_amount7();
|
||||
String getsum_assign_amount7();
|
||||
String getperiod_assign_amount8();
|
||||
String getsum_assign_amount8();
|
||||
String getperiod_assign_amount9();
|
||||
String getsum_assign_amount9();
|
||||
|
||||
}
|
||||
|
||||
public static interface L3CodeResult {
|
||||
|
||||
String getl3_name();
|
||||
String getl3_code();
|
||||
|
||||
}
|
||||
|
||||
public static interface StatsItemResult {
|
||||
String getorg_name();
|
||||
String getplan_amount();
|
||||
String gettotal_assign_amount();
|
||||
String getexpense_t_amount();
|
||||
String getbalance_t_amount();
|
||||
String getexpense_total_rate();
|
||||
}
|
||||
|
||||
public static interface ExpenseResult {
|
||||
String getorg_count();
|
||||
String getbudget_name_l1();
|
||||
String getbudget_name_l2();
|
||||
String getbudget_name_l3();
|
||||
String getbudget_code_l3();
|
||||
String getplan_amount();
|
||||
String gettotal_assign_amount();
|
||||
String getexpense_t_amount();
|
||||
String getbalance_t_amount();
|
||||
Integer getperiod_assign_amount1();
|
||||
Integer getexpense_p_amount1();
|
||||
Integer getblance_amount1();
|
||||
Integer getexpense_rate1();
|
||||
|
||||
String getperiod_assign_amount2();
|
||||
String getexpense_p_amount2();
|
||||
String getblance_amount2();
|
||||
String getexpense_rate2();
|
||||
|
||||
String getperiod_assign_amount3();
|
||||
String getexpense_p_amount3();
|
||||
String getblance_amount3();
|
||||
String getexpense_rate3();
|
||||
|
||||
|
||||
String getperiod_assign_amount4();
|
||||
String getexpense_p_amount4();
|
||||
String getblance_amount4();
|
||||
String getexpense_rate4();
|
||||
|
||||
|
||||
String getperiod_assign_amount5();
|
||||
String getexpense_p_amount5();
|
||||
String getblance_amount5();
|
||||
String getexpense_rate5();
|
||||
|
||||
|
||||
String getperiod_assign_amount6();
|
||||
String getexpense_p_amount6();
|
||||
String getblance_amount6();
|
||||
String getexpense_rate6();
|
||||
|
||||
String getperiod_assign_amount7();
|
||||
String getexpense_p_amount7();
|
||||
String getblance_amount7();
|
||||
String getexpense_rate7();
|
||||
|
||||
String getperiod_assign_amount8();
|
||||
String getexpense_p_amount8();
|
||||
String getblance_amount8();
|
||||
String getexpense_rate8();
|
||||
|
||||
String getperiod_assign_amount9();
|
||||
String getexpense_p_amount9();
|
||||
String getblance_amount9();
|
||||
String getexpense_rate9();
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static interface ExpenseInfoResult {
|
||||
String getseq();
|
||||
String getexpense_date();
|
||||
String getexpense_item();
|
||||
String getamount();
|
||||
String getmodi_id();
|
||||
String getmodi_date();
|
||||
}
|
||||
|
||||
|
||||
public static interface CodeResult {
|
||||
String getOrgName();
|
||||
String getOrgCode();
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,299 @@
|
|||
package com.dbnt.faisp.main.budget.service;
|
||||
|
||||
|
||||
import com.dbnt.faisp.main.budget.common.BaseException;
|
||||
import com.dbnt.faisp.main.budget.common.ResultResponseCode;
|
||||
import com.dbnt.faisp.main.budget.model.BudgetDto;
|
||||
import com.dbnt.faisp.main.budget.repository.BudgetRepository;
|
||||
import com.dbnt.faisp.main.budget.repository.BudgetRepository.*;
|
||||
import com.dbnt.faisp.main.equip.model.Equip;
|
||||
import com.dbnt.faisp.main.userInfo.model.UserInfo;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
||||
@Service
|
||||
@Transactional
|
||||
@RequiredArgsConstructor
|
||||
public class BudgetService {
|
||||
|
||||
private final BudgetRepository budgetRepository;
|
||||
|
||||
public List<BudgetingList> selectBudgetingList(UserInfo loginUser, BudgetDto.BudgetingSearchReqeust requestDto){
|
||||
return budgetRepository.callSpGetBudgetPlanInfo(requestDto.getYear(), "OG001", "admin");
|
||||
}
|
||||
|
||||
public List<YearResult> selectBudgetingYearList(UserInfo loginUser){
|
||||
return budgetRepository.callSpGetBudgetCodeYearList();
|
||||
}
|
||||
|
||||
// 예산편성 - 연도추가(버튼)
|
||||
@Transactional
|
||||
public void copyYearBudgeting(UserInfo loginUser, BudgetDto.BudgetingCopyReqeust requestDto){
|
||||
// System.out.println(requestDto.getYear());
|
||||
// System.out.println(requestDto.getCopyYear());
|
||||
UpdateResult result = budgetRepository.callSpCopyBudgetItem(requestDto.getYear(), requestDto.getCopyYear(), loginUser.getUserId());
|
||||
|
||||
if(result.get_result_code().equals("100")) {
|
||||
return;
|
||||
} else {
|
||||
System.out.println(result.get_error_message());
|
||||
System.out.println(result.get_result_code());
|
||||
System.out.println(result.get_result_count());
|
||||
throw new BaseException(ResultResponseCode.FOUND_YEAR);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//예산편성 - 연도삭제(버튼)
|
||||
@Transactional
|
||||
public void deleteBudgetingYear(UserInfo loginUser, BudgetDto.BudgetingCopyReqeust requestDto){
|
||||
// System.out.println(requestDto.getYear());
|
||||
// System.out.println(requestDto.getCopyYear());
|
||||
UpdateResult result = budgetRepository.callBruteForceDeleteBudgetItem(requestDto.getYear(), "admin");
|
||||
|
||||
if(result.get_result_code().equals("100")) {
|
||||
return;
|
||||
}else if( result.get_result_code().equals("93")){
|
||||
System.out.println(result.get_error_message());
|
||||
System.out.println(result.get_result_code());
|
||||
System.out.println(result.get_result_count());
|
||||
throw new BaseException(ResultResponseCode.NOT_FOUND_YEAR);
|
||||
} else {
|
||||
System.out.println(result.get_error_message());
|
||||
System.out.println(result.get_result_code());
|
||||
System.out.println(result.get_result_count());
|
||||
throw new BaseException(ResultResponseCode.DELETE_FOUND_VALUE);
|
||||
}
|
||||
}
|
||||
|
||||
//예산편성 - 항목추가
|
||||
@Transactional
|
||||
public void insertBudgetingList(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.callSpAddBudgetPlanCodeName(requestDto.getYear(),requestDto.getNameL1(),requestDto.getNameL2(),requestDto.getNameL3(), "OG001", "admin");
|
||||
|
||||
System.out.println(result.get_error_message());
|
||||
System.out.println(result.get_result_code());
|
||||
System.out.println(result.get_result_count());
|
||||
if(result.get_result_code().equals("100")) {
|
||||
return;
|
||||
} else {
|
||||
throw new BaseException(ResultResponseCode.DUPLICATE_CODE);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//예산편성 - 항목변경
|
||||
public void updateBudgetingList(UserInfo loginUser, BudgetDto.BudgetingUpdateReqeust requestDto){
|
||||
System.out.println(requestDto.getYear()+","+ requestDto.getPrevNameL1()+","+requestDto.getPrevNameL2()+","+requestDto.getPrevNameL3()+","+requestDto.getNameL1()+","+requestDto.getNameL2()+","+requestDto.getNameL3());
|
||||
UpdateResult result = budgetRepository.callSpUpdateBudgetPlanCodeName( requestDto.getYear(), requestDto.getPrevNameL1(), requestDto.getPrevNameL2(), requestDto.getPrevNameL3(),requestDto.getNameL1(),requestDto.getNameL2(),requestDto.getNameL3(), "OG001", "admin");
|
||||
System.out.println(result.get_error_message());
|
||||
System.out.println(result.get_result_code());
|
||||
System.out.println(result.get_result_count());
|
||||
System.out.println(result);
|
||||
if(result.get_result_code().equals("100")) {
|
||||
return;
|
||||
} else if (result.get_result_code().equals("91")) {
|
||||
throw new BaseException(ResultResponseCode.DUPLICATE_CODE);
|
||||
}
|
||||
}
|
||||
|
||||
//예산편성 - 항목삭제
|
||||
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");
|
||||
|
||||
System.out.println(result.get_error_message());
|
||||
System.out.println(result.get_result_code());
|
||||
System.out.println(result.get_result_count());
|
||||
if(result.get_result_code().equals("100")) {
|
||||
return;
|
||||
} else {
|
||||
throw new BaseException(ResultResponseCode.DELETE_FOUND_VALUE);
|
||||
}
|
||||
}
|
||||
|
||||
// 예산편성 - 예산편성 저장(modal)
|
||||
@Transactional
|
||||
public void saveBudgetingList(UserInfo loginUser, BudgetDto.BudgetingSaveReqeust requestDto){
|
||||
// System.out.println(requestDto.getAmount());
|
||||
// System.out.println(requestDto.getNameL1());
|
||||
// System.out.println(requestDto.getNameL2());
|
||||
// System.out.println(requestDto.getNameL3());
|
||||
UpdateResult result = budgetRepository.callSpUpdateBudgetPlanCodeItem(requestDto.getYear(), requestDto.getNameL1(),requestDto.getNameL2(),requestDto.getNameL3(), requestDto.getAmount(),"OG001", "admin");
|
||||
|
||||
// System.out.println(result.get_error_message());
|
||||
// System.out.println(result.get_result_code());
|
||||
// System.out.println(result.get_result_count());
|
||||
if(result.get_result_code().equals("100")) {
|
||||
return;
|
||||
} else {
|
||||
System.out.println(result.get_error_message());
|
||||
System.out.println(result.get_result_code());
|
||||
System.out.println(result.get_result_count());
|
||||
throw new BaseException(ResultResponseCode.DUPLICATE_CODE);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//예산편성 - 예산삭제(버튼)
|
||||
@Transactional
|
||||
public void deleteBudgeting(UserInfo loginUser, BudgetDto.BudgetingSaveReqeust requestDto){
|
||||
// System.out.println(requestDto.getYear());
|
||||
// System.out.println(requestDto.getNameL1());
|
||||
// System.out.println(requestDto.getNameL2());
|
||||
// System.out.println(requestDto.getNameL3());
|
||||
UpdateResult result = budgetRepository.callSpDeleteBudgetPlan(requestDto.getYear(), "OG001", "admin");
|
||||
|
||||
|
||||
if(result.get_result_code().equals("100")) {
|
||||
return;
|
||||
} else {
|
||||
System.out.println(result.get_error_message());
|
||||
System.out.println(result.get_result_code());
|
||||
System.out.println(result.get_result_count());
|
||||
throw new BaseException(ResultResponseCode.NOT_FOUND_CODE);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// 예산배정
|
||||
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());
|
||||
return budgetRepository.callSpGetBudgetAssignInfo(requestDto.getYear(), requestDto.getCode(), "admin", java.sql.Date.valueOf(requestDto.getStDate()),java.sql.Date.valueOf(requestDto.getEdDate()));
|
||||
}
|
||||
|
||||
//(공통) 2단계로 하위청 뿌려주기
|
||||
public List<CodeResult> selectDownOrg(String userOrgCode){
|
||||
return budgetRepository.callSpGetDownOrg(userOrgCode);
|
||||
}
|
||||
|
||||
//
|
||||
public List<CodeResult> selectGetLowerOrgCodeByName(UserInfo loginUser){
|
||||
return budgetRepository.callSpGetLowerOrgCodeByName();
|
||||
}
|
||||
|
||||
//상위 기관 코드 가져오기 (3단계인경우만)
|
||||
public String selectGetHighOrgCode(String userOrgCode){
|
||||
return budgetRepository.callSpGetHighOrgCode(userOrgCode);
|
||||
}
|
||||
|
||||
// 예산배정 - 등록(저장버튼)
|
||||
@Transactional
|
||||
public void updateAssignList(UserInfo loginUser, BudgetDto.AssignSaveReqeust requestDto){
|
||||
|
||||
System.out.println(requestDto.getCode());
|
||||
System.out.println(requestDto.getOrg());
|
||||
System.out.println(requestDto.getYear());
|
||||
// System.out.println(requestDto.getAmount());
|
||||
UpdateResult result = budgetRepository.callSpAddBudgetAssign(requestDto.getCode(),requestDto.getOrg(),requestDto.getOrg1(), requestDto.getAmount(), "2023-03-15");
|
||||
|
||||
System.out.println(result.get_error_message());
|
||||
System.out.println(result.get_result_code());
|
||||
System.out.println(result.get_result_count());
|
||||
if(result.get_result_code().equals("100")) {
|
||||
return;
|
||||
}else if(result.get_result_code().equals("72")) {
|
||||
System.out.println(result.get_error_message());
|
||||
System.out.println(result.get_result_code());
|
||||
System.out.println(result.get_result_count());
|
||||
throw new BaseException(ResultResponseCode.EXPENSE_OVER_VALUE);
|
||||
} else {
|
||||
System.out.println(result.get_error_message());
|
||||
System.out.println(result.get_result_code());
|
||||
System.out.println(result.get_result_count());
|
||||
throw new BaseException(ResultResponseCode.DUPLICATE_CODE);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//집행관리
|
||||
public List<ExpenseResult> selectBudgetExpenseInfo(UserInfo loginUser, BudgetDto.AssignSearchReqeust requestDto){
|
||||
System.out.println(requestDto.getYear());
|
||||
System.out.println(requestDto.getCode());
|
||||
System.out.println(java.sql.Date.valueOf(requestDto.getStDate()));
|
||||
System.out.println(requestDto.getEdDate());
|
||||
return budgetRepository.callSpGetBudgetExpenseInfo(requestDto.getYear(), requestDto.getCode(), "admin", java.sql.Date.valueOf(requestDto.getStDate()),java.sql.Date.valueOf(requestDto.getEdDate()));
|
||||
}
|
||||
|
||||
public List<ExpenseInfoResult> selectBudgetExpense(UserInfo loginUser, BudgetDto.ExpenseSearchReqeust requestDto){
|
||||
System.out.println(requestDto.getYear());
|
||||
System.out.println(requestDto.getNameL1());
|
||||
System.out.println(requestDto.getNameL2());
|
||||
System.out.println(requestDto.getNameL3());
|
||||
return budgetRepository.callSpGetBudgetExpense(requestDto.getYear(), requestDto.getNameL1(), requestDto.getNameL2(), requestDto.getNameL3(), "본청");
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void insertExpense(UserInfo loginUser, BudgetDto.ExpenseSaveReqeust requestDto){
|
||||
// System.out.println(requestDto.getYear());
|
||||
// System.out.println(requestDto.getNameL1());
|
||||
// System.out.println(requestDto.getNameL2());
|
||||
// System.out.println(requestDto.getNameL3());
|
||||
UpdateResult result = budgetRepository.callSpAddBudgetExpense(requestDto.getYear(),requestDto.getNameL1(),requestDto.getNameL2(),requestDto.getNameL3(), "본청", requestDto.getItem(), requestDto.getAmount(), java.sql.Date.valueOf(requestDto.getExpenseDate()));
|
||||
|
||||
System.out.println(result.get_error_message());
|
||||
System.out.println(result.get_result_code());
|
||||
System.out.println(result.get_result_count());
|
||||
if(result.get_result_code().equals("100")) {
|
||||
return;
|
||||
}else if(result.get_result_code().equals("71")) {
|
||||
throw new BaseException(ResultResponseCode.EXPENSE_OVER_VALUE);
|
||||
} else {
|
||||
throw new BaseException(ResultResponseCode.ERROR);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public List<ExpenseResult> selectSpGetbudgetStatOrg(UserInfo loginUser,BudgetDto.StatsSearchReqeust requestDto){
|
||||
System.out.println(requestDto.getYear());
|
||||
System.out.println(requestDto.getCode());
|
||||
System.out.println(java.sql.Date.valueOf(requestDto.getStDate()));
|
||||
System.out.println(requestDto.getEdDate());
|
||||
System.out.println(requestDto.getWon());
|
||||
return budgetRepository.callSpGetbudgetStatOrg(requestDto.getYear(), requestDto.getCode(), "admin", java.sql.Date.valueOf(requestDto.getStDate()), java.sql.Date.valueOf(requestDto.getEdDate()), requestDto.getWon());
|
||||
}
|
||||
|
||||
public List<StatsItemResult> selectSpGetbudgetStatDetail(UserInfo loginUser,BudgetDto.StatsSearchReqeust requestDto){
|
||||
System.out.println(requestDto.getYear());
|
||||
System.out.println(requestDto.getCode());
|
||||
System.out.println(java.sql.Date.valueOf(requestDto.getStDate()));
|
||||
System.out.println(requestDto.getEdDate());
|
||||
System.out.println(requestDto.getWon());
|
||||
return budgetRepository.callSpGetbudgetStatDetail(requestDto.getYear(), requestDto.getCode(), requestDto.getItem(), "admin", java.sql.Date.valueOf(requestDto.getStDate()), java.sql.Date.valueOf(requestDto.getEdDate()), requestDto.getWon());
|
||||
}
|
||||
|
||||
public List<L3CodeResult> selectSpGetL3Code(UserInfo loginUser,String year){
|
||||
|
||||
return budgetRepository.callSpGetBudgetCodeL3(year);
|
||||
}
|
||||
|
||||
|
||||
// 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);
|
||||
// }
|
||||
|
||||
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue