From d98798e7b5401c5046bedee47973f5c4fd076943 Mon Sep 17 00:00:00 2001 From: thkim Date: Thu, 29 Feb 2024 16:10:21 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EA=B4=80=EB=A6=AC=EC=9E=90=20-=20?= =?UTF-8?q?=ED=99=98=EA=B2=BD=EC=84=A4=EC=A0=95=20-=20=EC=9C=84=EC=9B=90?= =?UTF-8?q?=ED=9A=8C=20=EC=BD=94=EB=93=9C=EA=B4=80=EB=A6=AC=20=EC=82=AD?= =?UTF-8?q?=EC=A0=9C=20=EA=B8=B0=EB=8A=A5=20=EA=B5=AC=ED=98=84=20-=20backe?= =?UTF-8?q?nd?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/config/AdminConfigController.java | 39 ++++++++++++++ ...minCommitteeCodeManagementServiceImpl.java | 54 ++++++++++++++++++- .../repository/TnCmtOrgRepository.java | 25 +++++++++ 3 files changed, 116 insertions(+), 2 deletions(-) diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/AdminConfigController.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/AdminConfigController.java index ce6b294..98b9244 100644 --- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/AdminConfigController.java +++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/AdminConfigController.java @@ -445,4 +445,43 @@ public class AdminConfigController extends BaseController { return resultVO; } + @Operation( + summary = "'위원회 코드 관리' 페이지에서 위원회 코드 삭제하는 API", + description = "관리자 단에서 '환경설정' > '위원회코드 관리' 페이지에서 휴지통 모양 삭제 버튼으로 항목 삭제하는 API", + tags = {"AdminConfigController"} + ) + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "등록 성공"), + @ApiResponse(responseCode = "403", description = "인가된 사용자가 아님") + }) + @DeleteMapping(value = "/committee-code-management/{orgId}") + public ResultVO deleteSchedule + ( + @AuthenticationPrincipal LoginVO user, + HttpServletRequest request, + @PathVariable("orgId") String strOrgId + ) throws Exception { + + ResultVO resultVO = new ResultVO(); + Long orgId = Long.valueOf(strOrgId); + try { + resultVO = adminCommitteeCodeManagementService.deleteCommitteeCodeManagement(resultVO, request, user, orgId); + } catch (Exception e) { + resultVO.setResultCode(ResponseCode.FAILED.getCode()); + resultVO.setResultMessage(e.getMessage()); + } + + + System.out.println( + "\n--------------------------------------------------------------\n" + + request.getRequestURI() + " OUT:" + + "\n--------------------------------------------------------------\n" + + "resultVO.toString():" + "\n" + + resultVO.toString() + "\n" + + "\n--------------------------------------------------------------\n" + ); + + return resultVO; + } + } diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/service/impl/AdminCommitteeCodeManagementServiceImpl.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/service/impl/AdminCommitteeCodeManagementServiceImpl.java index 5970a59..b09d5c3 100644 --- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/service/impl/AdminCommitteeCodeManagementServiceImpl.java +++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/service/impl/AdminCommitteeCodeManagementServiceImpl.java @@ -5,6 +5,7 @@ import com.dbnt.kcscbackend.admin.config.service.AdminCommitteeCodeManagementSer import com.dbnt.kcscbackend.admin.standardResearch.model.CreateStandardResearchVO; import com.dbnt.kcscbackend.admin.standardResearch.model.UpdateStandardResearchVO; import com.dbnt.kcscbackend.auth.entity.LoginVO; +import com.dbnt.kcscbackend.commonCode.entity.TnCmtOrg; import com.dbnt.kcscbackend.commonCode.repository.TnCmtOrgRepository; import com.dbnt.kcscbackend.config.common.ResponseCode; import com.dbnt.kcscbackend.config.common.ResultVO; @@ -110,7 +111,56 @@ public class AdminCommitteeCodeManagementServiceImpl extends EgovAbstractService } @Override - public ResultVO deleteCommitteeCodeManagement(ResultVO resultVO, HttpServletRequest request, LoginVO user, Long popupId) throws Exception { - return null; + public ResultVO deleteCommitteeCodeManagement(ResultVO resultVO, HttpServletRequest request, LoginVO user, Long cmtSeq) throws Exception { + System.out.println( + "\n--------------------------------------------------------------\n" + + request.getRequestURI() + " IN:" + + "\n--------------------------------------------------------------\n" + + "cmtSeq:" + "\n" + + cmtSeq + "\n" + + "\n--------------------------------------------------------------\n" + ); + + + Map response = tnCmtOrgRepository.spDeleteTnCmtOrg( + cmtSeq.intValue(), + user.getId(), + null, + null, + null + ); + + // 자식 코드들을 모두 제거한다. + getChildrenOrg(user, cmtSeq); + + + Map dto = new HashMap(); + dto.put("errorMessage", response.get("_error_message") ); + dto.put("orgId", cmtSeq ); + + resultVO.setResult(dto); + resultVO.setResultCode(ResponseCode.SUCCESS.getCode()); + resultVO.setResultMessage(ResponseCode.SUCCESS.getMessage()); + + return resultVO; + } + + private void getChildrenOrg(LoginVO user, Long upCmtSeq) { + List> list = tnCmtOrgRepository.findByUpCmtSeq(upCmtSeq).stream() + .map(item -> { + Map returnMap = new HashMap<>(); + returnMap.put("cmtSeq", item.getCmtSeq()); + getChildrenOrg( user, item.getCmtSeq() ); + Map response = tnCmtOrgRepository.spDeleteTnCmtOrg( + item.getCmtSeq().intValue(), + user.getId(), + null, + null, + null + ); + return returnMap; + }).collect(Collectors.toList()); + + System.out.println("for Debugging"); } } diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/commonCode/repository/TnCmtOrgRepository.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/commonCode/repository/TnCmtOrgRepository.java index 5ab14c3..a08b36d 100644 --- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/commonCode/repository/TnCmtOrgRepository.java +++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/commonCode/repository/TnCmtOrgRepository.java @@ -3,6 +3,7 @@ package com.dbnt.kcscbackend.commonCode.repository; import com.dbnt.kcscbackend.commonCode.entity.TnCmtOrg; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; +import org.springframework.data.jpa.repository.query.Procedure; import org.springframework.data.repository.query.Param; import java.util.List; @@ -40,4 +41,28 @@ public interface TnCmtOrgRepository extends JpaRepository spDeleteTnCmtOrg( + @Param("_cmt_seq") Integer cmtSeq, + @Param("_modi_id") String modiId, + @Param("_result_count") Integer resultCount, + @Param("_result_code") String resultCode, + @Param("_error_message") String errorMessage + ); + + @Procedure("sp_is_valid_tn_cmt_org_id") + int spIsValidTnCmtOrgId( Integer cmtSeq ); + + TnCmtOrg findByCmtSeq(Long cmtSeq); + List findByUpCmtSeq(Long upCmtSeq); + + }