diff --git a/src/main/java/go/kr/project/baseData/adsbmtnRt/controller/AdsbmtnRtController.java b/src/main/java/go/kr/project/baseData/adsbmtnRt/controller/AdsbmtnRtController.java new file mode 100644 index 0000000..2c41836 --- /dev/null +++ b/src/main/java/go/kr/project/baseData/adsbmtnRt/controller/AdsbmtnRtController.java @@ -0,0 +1,208 @@ +package go.kr.project.baseData.adsbmtnRt.controller; + +import egovframework.constant.MessageConstants; +import egovframework.constant.TilesConstants; +import egovframework.exception.MessageException; +import egovframework.util.ApiResponseUtil; +import egovframework.util.SessionUtil; +import go.kr.project.baseData.adsbmtnRt.model.AdsbmtnRtVO; +import go.kr.project.baseData.adsbmtnRt.service.AdsbmtnRtService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.responses.ApiResponses; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + +import java.util.List; + +/** + * packageName : go.kr.project.baseData.adsbmtnRt.controller + * fileName : AdsbmtnRtController + * author : 시스템 관리자 + * date : 2025-09-24 + * description : 가감산율 등록/조회 관련 요청을 처리하는 컨트롤러 + * 중요한 로직 주석: 가감산율 관련 화면 제공 및 CRUD API를 처리하는 컨트롤러 + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2025-09-24 시스템 관리자 최초 생성 + */ +@Controller +@RequestMapping("/baseData/adsbmtnRt") +@RequiredArgsConstructor +@Slf4j +@Tag(name = "가감산율 등록/조회", description = "가감산율 등록/조회 관련 API") +public class AdsbmtnRtController { + + /** 가감산율 서비스 */ + private final AdsbmtnRtService service; + + /** + * 가감산율 목록 화면을 제공한다. + * @return 가감산율 목록 화면 + */ + @GetMapping("/list.do") + @Operation(summary = "가감산율 목록 화면", description = "가감산율 목록을 조회하는 화면을 제공합니다.") + public String list( Model model ) { + log.debug("가감산율 목록 화면 요청"); + return "baseData/adsbmtnRt/list" + TilesConstants.BASE; + } + + /** + * 가감산율 목록을 조회하는 AJAX 메소드 + * 공통 응답 형식(ApiResponse)을 사용하여 응답합니다. + * + * @param paramVO 검색 조건을 담은 VO 객체 + * @return 가감산율 목록과 성공 상태를 담은 ResponseEntity 객체 + * @throws Exception 조회 중 발생할 수 있는 예외 + */ + @Operation(summary = "가감산율 목록 조회 (AJAX)", description = "가감산율 목록을 조회하고 JSON 형식으로 반환합니다.") + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "가감산율 목록 조회 성공"), + @ApiResponse(responseCode = "400", description = "가감산율 목록 조회 실패"), + @ApiResponse(description = "오류로 인한 실패") + }) + @PostMapping("/list.ajax") + public ResponseEntity listAjax(@ModelAttribute AdsbmtnRtVO paramVO) { + + // 총 가감산율 수 조회 + int totalCount = service.selectListTotalCount(paramVO); + paramVO.setTotalCount(totalCount); + + // 페이징 처리를 위한 설정 + paramVO.setPagingYn("Y"); + + // 페이징 처리된 가감산율 목록 조회 + List list = service.selectList(paramVO); + return ApiResponseUtil.successWithGrid(list, paramVO); + } + + /** + * 가감산율 등록/수정 팝업 화면을 제공한다. + * @param mode 화면 모드 (C: 등록, U: 수정, V: 보기) + * @param model 모델 객체 + * @return 가감산율 등록/수정 팝업 화면 + */ + @GetMapping("/adsbmtnRtPopup.do") + @Operation(summary = "가감산율 등록/수정 팝업", description = "가감산율 등록/수정/조회 팝업 화면을 제공합니다.") + public ModelAndView popup( + @Parameter(description = "가감산율코드") @RequestParam(required = false) String adsbmtnRtCd, + @Parameter(description = "화면 모드 (C:등록, U:수정, V:보기)") @RequestParam String mode, + Model model) { + + try { + log.debug("가감산율 팝업 화면 요청 - 모드: {}", mode); + + ModelAndView mav = new ModelAndView("baseData/adsbmtnRt/adsbmtnRtRegistPopup" + TilesConstants.POPUP); + mav.addObject("mode", mode); + + // 수정/조회 모드인 경우 기존 데이터 조회 + if (("U".equals(mode) || "V".equals(mode))) { + + AdsbmtnRtVO paramVO = new AdsbmtnRtVO(); + paramVO.setAdsbmtnRtCd(adsbmtnRtCd); + AdsbmtnRtVO data = service.selectOne(paramVO); + + if (data != null) { + mav.addObject("data", data); + } else { + throw new MessageException("해당 가감산율 정보를 찾을 수 없습니다."); + } + } + + return mav; + + } catch (Exception e) { + log.error("가감산율 팝업 화면 제공 중 오류 발생", e); + throw new MessageException("팝업 화면을 불러오는 중 오류가 발생했습니다."); + } + } + + /** + * 가감산율 정보를 등록합니다. + * + * @param paramVO 등록할 가감산율 정보를 담은 VO 객체 + * @return 등록 결과와 성공 상태를 담은 ResponseEntity 객체 + * @throws Exception 등록 중 발생할 수 있는 예외 + */ + @Operation(summary = "가감산율 등록", description = "새로운 가감산율 정보를 등록합니다.") + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "가감산율 등록 성공"), + @ApiResponse(responseCode = "400", description = "가감산율 등록 실패"), + @ApiResponse(description = "오류로 인한 실패") + }) + @PostMapping("/insert.ajax") + public ResponseEntity insert(@ModelAttribute AdsbmtnRtVO paramVO) throws Exception { + // 등록자 정보 설정 + paramVO.setRgtr(SessionUtil.getUserId()); + + int result = service.insert(paramVO); + + if (result > 0) { + return ApiResponseUtil.success(MessageConstants.Common.SAVE_SUCCESS); + } else { + return ApiResponseUtil.error(MessageConstants.Common.SAVE_ERROR); + } + } + + /** + * 가감산율 정보를 수정합니다. + * + * @param paramVO 수정할 가감산율 정보를 담은 VO 객체 + * @return 수정 결과와 성공 상태를 담은 ResponseEntity 객체 + */ + @Operation(summary = "가감산율 수정", description = "기존 가감산율 정보를 수정합니다.") + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "가감산율 수정 성공"), + @ApiResponse(responseCode = "400", description = "가감산율 수정 실패"), + @ApiResponse(description = "오류로 인한 실패") + }) + @PostMapping("/update.ajax") + public ResponseEntity update(@ModelAttribute AdsbmtnRtVO paramVO) { + log.debug("가감산율 정보 수정 요청 - 가감산율코드: {}", paramVO.getAdsbmtnRtCd()); + + int result = service.update(paramVO); + + if (result > 0) { + return ApiResponseUtil.success(MessageConstants.Common.UPDATE_SUCCESS); + } else { + return ApiResponseUtil.error(MessageConstants.Common.UPDATE_ERROR); + } + } + + /** + * 가감산율 정보를 삭제합니다. (논리 삭제) + * + * @param adsbmtnRtCd 가감산율 코드 + * @return 삭제 결과와 성공 상태를 담은 ResponseEntity 객체 + */ + @Operation(summary = "가감산율 삭제", description = "가감산율 정보를 삭제(논리삭제)합니다.") + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "가감산율 삭제 성공"), + @ApiResponse(responseCode = "400", description = "가감산율 삭제 실패"), + @ApiResponse(description = "오류로 인한 실패") + }) + @PostMapping("/delete.ajax") + public ResponseEntity delete(@RequestParam String adsbmtnRtCd) { + log.debug("가감산율 정보 삭제 요청 - 가감산율코드: {}", adsbmtnRtCd); + + AdsbmtnRtVO paramVO = new AdsbmtnRtVO(); + paramVO.setAdsbmtnRtCd(adsbmtnRtCd); + + int result = service.delete(paramVO); + + if (result > 0) { + return ApiResponseUtil.success(MessageConstants.Common.DELETE_SUCCESS); + } else { + return ApiResponseUtil.error(MessageConstants.Common.DELETE_ERROR); + } + } + +} \ No newline at end of file diff --git a/src/main/java/go/kr/project/baseData/adsbmtnRt/mapper/AdsbmtnRtMapper.java b/src/main/java/go/kr/project/baseData/adsbmtnRt/mapper/AdsbmtnRtMapper.java new file mode 100644 index 0000000..f7cf2bc --- /dev/null +++ b/src/main/java/go/kr/project/baseData/adsbmtnRt/mapper/AdsbmtnRtMapper.java @@ -0,0 +1,72 @@ +package go.kr.project.baseData.adsbmtnRt.mapper; + +import go.kr.project.baseData.adsbmtnRt.model.AdsbmtnRtVO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * packageName : go.kr.project.baseData.adsbmtnRt.mapper + * fileName : adsbmtnRtMapper + * author : 시스템 관리자 + * date : 2025-09-24 + * description : 가감산율 관련 데이터베이스 접근을 위한 MyBatis 매퍼 인터페이스 + * 중요한 로직 주석: 가감산율 테이블(tb_adsbmtn_rt)에 대한 CRUD 작업을 수행하는 매퍼 인터페이스 + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2025-09-24 시스템 관리자 최초 생성 + */ +@Mapper +public interface AdsbmtnRtMapper { + + /** + * 가감산율 목록을 조회한다. + * @param vo 검색 조건과 페이징 정보를 담은 VO 객체 + * @return 가감산율 목록 + */ + List selectList(AdsbmtnRtVO vo); + + /** + * 가감산율 목록의 총 개수를 조회한다. + * @param vo 검색 조건을 담은 VO 객체 + * @return 조회된 목록의 총 개수 + */ + int selectListTotalCount(AdsbmtnRtVO vo); + + /** + * 특정 가감산율 정보를 조회한다. + * @param vo 조회할 PK 정보(adsbmtnRtCd)를 담은 VO 객체 + * @return 조회된 가감산율 정보 + */ + AdsbmtnRtVO selectOne(AdsbmtnRtVO vo); + + /** + * 새로운 가감산율 정보를 등록한다. + * @param vo 등록할 가감산율 정보를 담은 VO 객체 + * @return 등록된 행의 수 + */ + int insert(AdsbmtnRtVO vo); + + /** + * 기존 가감산율 정보를 수정한다. + * @param vo 수정할 가감산율 정보를 담은 VO 객체 + * @return 수정된 행의 수 + */ + int update(AdsbmtnRtVO vo); + + /** + * 가감산율 정보를 삭제한다. (논리 삭제) + * @param vo 삭제할 PK 정보(adsbmtnRtCd)를 담은 VO 객체 + * @return 삭제된 행의 수 + */ + int delete(AdsbmtnRtVO vo); + + /** + * PK(가감산율코드) 중복 체크를 수행한다. + * @param vo 중복 체크할 PK 정보(adsbmtnRtCd)를 담은 VO 객체 + * @return 중복 건수 (0이면 중복 없음, 1이상이면 중복 존재) + */ + int selectDuplicateCheck(AdsbmtnRtVO vo); + +} \ No newline at end of file diff --git a/src/main/java/go/kr/project/baseData/adsbmtnRt/model/AdsbmtnRtVO.java b/src/main/java/go/kr/project/baseData/adsbmtnRt/model/AdsbmtnRtVO.java new file mode 100644 index 0000000..15c1af0 --- /dev/null +++ b/src/main/java/go/kr/project/baseData/adsbmtnRt/model/AdsbmtnRtVO.java @@ -0,0 +1,79 @@ +package go.kr.project.baseData.adsbmtnRt.model; + +import com.fasterxml.jackson.annotation.JsonFormat; +import go.kr.project.common.model.PagingVO; +import lombok.*; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * packageName : go.kr.project.baseData.adsbmtnRt.model + * fileName : adsbmtnRtVO + * author : 시스템 관리자 + * date : 2025-09-24 + * description : 가감산율 관련 데이터를 담는 Value Object 클래스 + * 중요한 로직 주석: 가감산율 테이블(tb_adsbmtn_rt)과 매핑되는 VO 클래스로 페이징 기능을 포함한다. + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2025-09-24 시스템 관리자 최초 생성 + */ +@EqualsAndHashCode(callSuper=true) +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@ToString +public class AdsbmtnRtVO extends PagingVO { + + // ==================== 기본 테이블 컬럼 ==================== + + /** 가감산 율 코드 */ + private String adsbmtnRtCd; + + /** 가감산 율 구분 코드 */ + private String adsbmtnRtSeCd; + + /** 가감산 율 적용 대상 */ + private String adsbmtnRtAplcnTrgt; + + /** 가감산 율 적용 대상 상세 */ + private String adsbmtnRtAplcnTrgtDtl; + + /** 가감산 율 */ + private BigDecimal adsbmtnRt; + + /** 사용여부 */ + private String useYn; + + /** 등록 일시 - 테이블은 date 컬럼을 사용하지만 화면 표시용으로 문자열 타입 사용 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Seoul") + private LocalDateTime regDt; + + /** 등록자 */ + private String rgtr; + + /** 수정 일시 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Seoul") + private LocalDateTime mdfcnDt; + + /** 수정자 */ + private String mdfr; + + /** 검색 타입 */ + private String schType; // 검색 구분 (1=) + + /** 검색 입력 텍스트 */ + private String schTypeTxt; + + /** 조회조건 : 사용여부 */ + private String schUseYn; // N:사용 Y:미사용 + + /** 행 번호 (그리드 표시용) */ + private Integer rowNum; + +} \ No newline at end of file diff --git a/src/main/java/go/kr/project/baseData/adsbmtnRt/service/AdsbmtnRtService.java b/src/main/java/go/kr/project/baseData/adsbmtnRt/service/AdsbmtnRtService.java new file mode 100644 index 0000000..2eea245 --- /dev/null +++ b/src/main/java/go/kr/project/baseData/adsbmtnRt/service/AdsbmtnRtService.java @@ -0,0 +1,62 @@ +package go.kr.project.baseData.adsbmtnRt.service; + +import go.kr.project.baseData.adsbmtnRt.model.AdsbmtnRtVO; + +import java.util.List; + +/** + * packageName : go.kr.project.baseData.adsbmtnRt.service + * fileName : AdsbmtnService + * author : 김동규 + * date : 2025-09-24 + * description : 가감산율 관련 비즈니스 로직을 처리하는 서비스 인터페이스 + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2025-09-24 김동규 최초 생성 + */ +public interface AdsbmtnRtService { + + /** + * 가감산율 목록을 조회합니다. + * @param vo 검색 조건과 페이징 정보를 담은 VO 객체 + * @return 가감산율 목록 + */ + List selectList(AdsbmtnRtVO vo); + + /** + * 가감산율 목록의 총 개수를 조회합니다. + * @param vo 검색 조건을 담은 VO 객체 + * @return 조회된 목록의 총 개수 + */ + int selectListTotalCount(AdsbmtnRtVO vo); + + /** + * 가감산율 정보를 조회합니다. + * @param vo 조회할 PK 정보(adsbmtnRtCd)를 담은 VO 객체 + * @return 조회된 가감산율 정보 + */ + AdsbmtnRtVO selectOne(AdsbmtnRtVO vo); + + /** + * 가감산율 정보를 등록합니다. + * @param vo 등록할 가감산율 정보를 담은 VO 객체 + * @return 등록된 행의 수 + */ + int insert(AdsbmtnRtVO vo); + + /** + * 가감산율 정보를 수정합니다. + * @param vo 수정할 가감산율 정보를 담은 VO 객체 + * @return 수정된 행의 수 + */ + int update(AdsbmtnRtVO vo); + + /** + * 가감산율 정보를 삭제합니다. (논리 삭제) + * @param vo 삭제할 PK 정보(adsbmtnRtCd)를 담은 VO 객체 + * @return 삭제된 행의 수 + */ + int delete(AdsbmtnRtVO vo); + +} \ No newline at end of file diff --git a/src/main/java/go/kr/project/baseData/adsbmtnRt/service/impl/AdsbmtnRtServiceImpl.java b/src/main/java/go/kr/project/baseData/adsbmtnRt/service/impl/AdsbmtnRtServiceImpl.java new file mode 100644 index 0000000..04ce21f --- /dev/null +++ b/src/main/java/go/kr/project/baseData/adsbmtnRt/service/impl/AdsbmtnRtServiceImpl.java @@ -0,0 +1,146 @@ +package go.kr.project.baseData.adsbmtnRt.service.impl; + +import egovframework.exception.MessageException; +import egovframework.util.SessionUtil; +import go.kr.project.baseData.adsbmtnRt.mapper.AdsbmtnRtMapper; +import go.kr.project.baseData.adsbmtnRt.model.AdsbmtnRtVO; +import go.kr.project.baseData.adsbmtnRt.service.AdsbmtnRtService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.egovframe.rte.fdl.cmmn.EgovAbstractServiceImpl; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * packageName : go.kr.project.baseData.adsbmtnRt.service.impl + * fileName : AdsbmtnRtServiceImpl + * author : 김동규 + * date : 2025-09-24 + * description : 가감산율 관련 비즈니스 로직을 처리하는 서비스 구현체 + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2025-09-24 김동규 최초 생성 + */ +@Service +@RequiredArgsConstructor +@Slf4j +public class AdsbmtnRtServiceImpl extends EgovAbstractServiceImpl implements AdsbmtnRtService { + + private final AdsbmtnRtMapper mapper; + + /** + * 가감산율 목록을 조회합니다. + * + * @param vo 검색 조건과 페이징 정보를 담은 VO 객체 + * @return 가감산율 목록 + */ + @Override + public List selectList(AdsbmtnRtVO vo) { + return mapper.selectList(vo); + } + + /** + * 가감산율 목록의 총 개수를 조회합니다. + * + * @param vo 검색 조건을 담은 VO 객체 + * @return 조회된 목록의 총 개수 + */ + @Override + public int selectListTotalCount(AdsbmtnRtVO vo) { + return mapper.selectListTotalCount(vo); + } + + /** + * 가감산율 정보를 조회합니다. + * + * @param vo 조회할 PK 정보(adsbmtnRtCd)를 담은 VO 객체 + * @return 조회된 가감산율 정보 + */ + @Override + public AdsbmtnRtVO selectOne(AdsbmtnRtVO vo) { + return mapper.selectOne(vo); + } + + /** + * 가감산율 정보를 등록합니다. + * + * @param vo 등록할 가감산율 정보를 담은 VO 객체 + * @return 등록된 행의 수 + */ + @Override + public int insert(AdsbmtnRtVO vo) { + log.debug("가감산율 등록 - 가감산율코드: {}", vo.getAdsbmtnRtCd()); + + // 필수값 검증 + //validateRequiredFields(vo); + + // PK 중복 체크 + int duplicateCount = mapper.selectDuplicateCheck(vo); + if (duplicateCount > 0) { + log.warn("가감산율 등록 실패 - 중복된 PK: 가감산율코드={}", vo.getAdsbmtnRtCd()); + throw new MessageException("이미 존재하는 코드입니다. 다른 값을 입력해주세요."); + } + + // 등록자 정보 설정 및 등록 수행 + vo.setRgtr(SessionUtil.getUserId()); + int result = mapper.insert(vo); + log.debug("가감산율 등록 완료 - 등록 건수: {}", result); + return result; + } + + /** + * 가감산율 정보를 수정합니다. + * + * @param vo 수정할 가감산율 정보를 담은 VO 객체 + * @return 수정된 행의 수 + */ + @Override + public int update(AdsbmtnRtVO vo) { + log.debug("가감산율 수정 - 가감산율코드: {}", vo.getAdsbmtnRtCd()); + + // 필수값 검증 + //validateRequiredFields(vo); + + // 수정자 정보 설정 및 수정 수행 + vo.setMdfr(SessionUtil.getUserId()); + int result = mapper.update(vo); + log.debug("가감산율 수정 완료 - 수정 건수: {}", result); + return result; + } + + /** + * 가감산율 정보를 삭제합니다. (논리 삭제) + * + * @param vo 삭제할 PK 정보(adsbmtnRtCd)를 담은 VO 객체 + * @return 삭제된 행의 수 + */ + @Override + public int delete(AdsbmtnRtVO vo) { + // 삭제자 정보 설정 및 삭제 수행 + vo.setMdfr(SessionUtil.getUserId()); + return mapper.delete(vo); + } + + /** + * 필수값 검증을 수행한다. + * @param vo 검증할 VO 객체 + * @throws MessageException 필수값 누락 시 발생 + */ + /*private void validateRequiredFields(PstnIdxVO vo) { + if (vo.getRrno() == null || vo.getRrno().trim().isEmpty()) { + log.warn("등록 작업 실패 - 주민번호 미입력"); + throw new MessageException("주민번호/법인번호는 필수값입니다."); + } + if (vo.getFlnm() == null || vo.getFlnm().trim().isEmpty()) { + log.warn("등록 작업 실패 - 성명 미입력"); + throw new MessageException("성명은 필수값입니다."); + } + if (vo.getAddr() == null || vo.getAddr().trim().isEmpty()) { + log.warn("등록 작업 실패 - 주소 미입력"); + throw new MessageException("주소는 필수값입니다."); + } + }*/ + +} \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/baseData/adsbmtnRt/AdsbmtnRtMapper_maria.xml b/src/main/resources/mybatis/mapper/baseData/adsbmtnRt/AdsbmtnRtMapper_maria.xml new file mode 100644 index 0000000..5026303 --- /dev/null +++ b/src/main/resources/mybatis/mapper/baseData/adsbmtnRt/AdsbmtnRtMapper_maria.xml @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + + + + + /* AdsbmtnRtMapper.insert : 가감산율 등록 */ + INSERT INTO tb_adsbmtn_rt ( + ADSBMTN_RT_CD, + ADSBMTN_RT_SE_CD, + ADSBMTN_RT_APLCN_TRGT, + ADSBMTN_RT_APLCN_TRGT_DTL, + ADSBMTN_RT, + USE_YN, + REG_DT, + RGTR + ) VALUES ( + #{adsbmtnRtCd}, + #{adsbmtnRtSeCd}, + #{adsbmtnRtAplcnTrgt}, + #{adsbmtnRtAplcnTrgtDtl}, + #{adsbmtnRt}, + #{useYn} + NOW(), + #{rgtr} + ) + + + + + /* AdsbmtnRtMapper.update : 가감산율 수정 */ + UPDATE tb_adsbmtn_rt + SET ADSBMTN_RT_SE_CD = #{adsbmtnRtSeCd}, + ADSBMTN_RT_APLCN_TRGT = #{adsbmtnRtAplcnTrgt}, + ADSBMTN_RT_APLCN_TRGT_DTL = #{adsbmtnRtAplcnTrgtDtl}, + ADSBMTN_RT = #{adsbmtnRt}, + MDFCN_DT = NOW(), + MDFR = #{mdfr}, + USE_YN = #{useYn} + WHERE ADSBMTN_RT_CD = #{adsbmtnRtCd} + + + + + /* AdsbmtnRtMapper.delete : 가감산율 삭제 */ + UPDATE tb_adsbmtn_rt + SET USE_YN = 'Y', + MDFCN_DT = NOW(), + MDFR = #{mdfr} + WHERE ADSBMTN_RT_CD = #{adsbmtnRtCd} + AND USE_YN = 'N' + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/baseData/adsbmtnRt/adsbmtnRtRegistPopup.jsp b/src/main/webapp/WEB-INF/views/baseData/adsbmtnRt/adsbmtnRtRegistPopup.jsp new file mode 100644 index 0000000..723bfe0 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/baseData/adsbmtnRt/adsbmtnRtRegistPopup.jsp @@ -0,0 +1,196 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="dateUtil" uri="http://egovframework.go.kr/functions/date-util" %> + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/baseData/adsbmtnRt/list.jsp b/src/main/webapp/WEB-INF/views/baseData/adsbmtnRt/list.jsp new file mode 100644 index 0000000..07547bb --- /dev/null +++ b/src/main/webapp/WEB-INF/views/baseData/adsbmtnRt/list.jsp @@ -0,0 +1,436 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="dateUtil" uri="http://egovframework.go.kr/functions/date-util" %> + + +
+
+
+
+
+ + +
+
+
+
+
+
    +
  • 조회 조건
  • +
  • + +
  • +
  • + +
  • +
  • 사용 여부
  • +
  • + +
  • +
+
    +
  • +
  • +
+
+
+
+
+
+
    +
  • 가감산율 목록
  • +
  • + 총 0건 + + / Pages +
  • +
+
+
+
+
+
+
+
+
+
+ + + \ No newline at end of file