Compare commits
7 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
09e0865033 | 2 days ago |
|
|
d3336543ff | 2 days ago |
|
|
5fa4b73ddd | 2 days ago |
|
|
670f86f55b | 2 days ago |
|
|
c765dc6fcc | 2 days ago |
|
|
1127980315 | 2 days ago |
|
|
2c11ff2b4d | 3 days ago |
@ -0,0 +1,51 @@
|
||||
package go.kr.project.biz.post.guide.sendTarget.controller;
|
||||
|
||||
import egovframework.constant.TilesConstants;
|
||||
import egovframework.util.ApiResponseUtil;
|
||||
import go.kr.project.biz.post.guide.sendTarget.dto.GuideSendTargetDto;
|
||||
import go.kr.project.biz.post.guide.sendTarget.service.GuideSendTargetService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Controller
|
||||
@RequiredArgsConstructor
|
||||
public class GuideSendTargetController {
|
||||
|
||||
private final GuideSendTargetService guideSendTargetService;
|
||||
|
||||
|
||||
/**
|
||||
* 발송/반송 > 계도장 > 계도장 대상 목록 페이지
|
||||
* @return 뷰 경로
|
||||
*/
|
||||
@GetMapping("post/guide/sendTarget/guideSendTarget.do")
|
||||
public String guideSendTargetView() {
|
||||
|
||||
return "biz/post/guide/sendTarget/guideSendTarget" + TilesConstants.BASE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@PostMapping("/post/guide/sendTarget/sendTargetList.ajax")
|
||||
public ResponseEntity<?> getGuideSendTargetListAjax(@ModelAttribute GuideSendTargetDto.Request.Search dto) {
|
||||
|
||||
// 총 게시물 수 조회
|
||||
int totalCount = 0;
|
||||
dto.setTotalCount(totalCount);
|
||||
|
||||
// 페이징 처리를 위한 설정
|
||||
dto.setPagingYn("N");
|
||||
|
||||
// 리스트 조회
|
||||
List<GuideSendTargetDto.Response.GuideSendTargetFlat> result = guideSendTargetService.findPreNoticeSendTarget(dto);
|
||||
|
||||
return ApiResponseUtil.successWithGrid(result, dto);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,69 @@
|
||||
package go.kr.project.biz.post.guide.sendTarget.dto;
|
||||
|
||||
import go.kr.project.domain.entity.CpAnswer;
|
||||
import go.kr.project.domain.entity.CpMain;
|
||||
import go.kr.project.domain.entity.CpOwner;
|
||||
import go.kr.project.system.common.model.PagingVO;
|
||||
import go.kr.project.vo.CpAnswerVO;
|
||||
import go.kr.project.vo.CpMainVO;
|
||||
import go.kr.project.vo.CpOwnerVO;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
public class GuideSendTargetDto {
|
||||
|
||||
public static class Request {
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public static class Search extends PagingVO {
|
||||
private String mmSggcode;
|
||||
private String searchLawgb;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static class Response {
|
||||
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public static class GuideSendTargetEntities {
|
||||
private CpMain cpMain;
|
||||
private CpAnswer cpAnswer;
|
||||
private CpOwner cpOwner;
|
||||
private String vlId;
|
||||
}
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public static class GuideSendTarget {
|
||||
private CpMainVO cpMain;
|
||||
private CpAnswerVO cpAnswer;
|
||||
private CpOwnerVO cpOwner;
|
||||
private String vlId;
|
||||
}
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public static class GuideSendTargetFlat {
|
||||
|
||||
private String mmDlgb;
|
||||
private String asBbsNo;
|
||||
private String asJsdate;
|
||||
private String mmSgnm;
|
||||
private String mmSgtel;
|
||||
private String vlId;
|
||||
private String mmDate;
|
||||
private String mmCarno;
|
||||
private String omName;
|
||||
private String omNogb;
|
||||
private String omJno;
|
||||
private String mmSgpos;
|
||||
private String mmCode;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,57 @@
|
||||
package go.kr.project.biz.post.guide.sendTarget.repository;
|
||||
|
||||
import com.querydsl.core.types.Projections;
|
||||
import com.querydsl.jpa.impl.JPAQueryFactory;
|
||||
import go.kr.project.biz.post.guide.sendTarget.dto.GuideSendTargetDto;
|
||||
import go.kr.project.vo.code.MmStateEnum;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static go.kr.project.domain.entity.QCpAnswer.cpAnswer;
|
||||
import static go.kr.project.domain.entity.QCpInstruct.cpInstruct;
|
||||
import static go.kr.project.domain.entity.QCpMain.cpMain;
|
||||
import static go.kr.project.domain.entity.QCpOwner.cpOwner;
|
||||
import static go.kr.project.domain.entity.QCpUser.cpUser;
|
||||
import static go.kr.project.domain.entity.QCpViolation.cpViolation;
|
||||
|
||||
@Repository
|
||||
@RequiredArgsConstructor
|
||||
public class GuideSendTargetQueryDslRepository {
|
||||
|
||||
private final JPAQueryFactory queryFactory;
|
||||
|
||||
|
||||
|
||||
public List<GuideSendTargetDto.Response.GuideSendTargetEntities> findGuideSendTarget(GuideSendTargetDto.Request.Search dto) {
|
||||
|
||||
|
||||
List<GuideSendTargetDto.Response.GuideSendTargetEntities> result = queryFactory
|
||||
.select(
|
||||
Projections.fields(
|
||||
GuideSendTargetDto.Response.GuideSendTargetEntities.class,
|
||||
cpMain,
|
||||
cpAnswer,
|
||||
cpOwner,
|
||||
cpViolation.vlId
|
||||
)
|
||||
)
|
||||
.from(cpMain)
|
||||
.leftJoin(cpAnswer).on(cpMain.mmCode.eq(cpAnswer.asMmcode))
|
||||
.leftJoin(cpInstruct).on(cpMain.mmCode.eq(cpInstruct.itMmcode))
|
||||
.leftJoin(cpOwner).on(cpMain.mmOmcode.eq(cpOwner.omCode))
|
||||
.innerJoin(cpViolation).on(
|
||||
cpMain.mmLawgb.eq(cpViolation.id.vlCode),
|
||||
cpMain.mmSggcode.eq(cpViolation.id.vlSggcode))
|
||||
.where(
|
||||
cpMain.mmState.eq(MmStateEnum.GUIDANCE.getCode()),
|
||||
cpMain.mmLawgb.eq(dto.getSearchLawgb())
|
||||
)
|
||||
.orderBy(cpMain.mmCarno.asc(), cpMain.mmDate.asc(), cpMain.mmTime.asc())
|
||||
.fetch();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,9 @@
|
||||
package go.kr.project.biz.post.guide.sendTarget.service;
|
||||
|
||||
import go.kr.project.biz.post.guide.sendTarget.dto.GuideSendTargetDto;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface GuideSendTargetService {
|
||||
List<GuideSendTargetDto.Response.GuideSendTargetFlat> findPreNoticeSendTarget(GuideSendTargetDto.Request.Search dto);
|
||||
}
|
||||
@ -0,0 +1,57 @@
|
||||
package go.kr.project.biz.post.guide.sendTarget.service.impl;
|
||||
|
||||
import go.kr.project.biz.post.guide.sendTarget.dto.GuideSendTargetDto;
|
||||
import go.kr.project.biz.post.guide.sendTarget.repository.GuideSendTargetQueryDslRepository;
|
||||
import go.kr.project.biz.post.guide.sendTarget.service.GuideSendTargetService;
|
||||
import go.kr.project.vo.CpAnswerVO;
|
||||
import go.kr.project.vo.CpMainVO;
|
||||
import go.kr.project.vo.CpOwnerVO;
|
||||
import go.kr.project.vo.code.MmDlgbEnum;
|
||||
import go.kr.project.vo.mapper.EntityVoMapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class GuideSendTargetServiceImpl implements GuideSendTargetService {
|
||||
|
||||
private final EntityVoMapper mapper;
|
||||
private final GuideSendTargetQueryDslRepository guideSendTargetQueryDslRepository;
|
||||
|
||||
@Override
|
||||
public List<GuideSendTargetDto.Response.GuideSendTargetFlat> findPreNoticeSendTarget(GuideSendTargetDto.Request.Search dto) {
|
||||
|
||||
List<GuideSendTargetDto.Response.GuideSendTargetEntities> list = guideSendTargetQueryDslRepository.findGuideSendTarget(dto);
|
||||
|
||||
List<GuideSendTargetDto.Response.GuideSendTargetFlat> result =
|
||||
list.stream()
|
||||
.map(e -> {
|
||||
CpMainVO cpMainVO = mapper.toCpMainVO(e.getCpMain());
|
||||
CpAnswerVO cpAnswerVO = mapper.toCpAnswerVO(e.getCpAnswer());
|
||||
CpOwnerVO cpOwnerVO = mapper.toCpOwnerVO(e.getCpOwner());
|
||||
|
||||
return GuideSendTargetDto.Response.GuideSendTargetFlat.builder()
|
||||
// 평탄화 필드
|
||||
.mmDlgb(MmDlgbEnum.getDescByCode(cpMainVO.getMmDlgb()))
|
||||
.asBbsNo(cpMainVO.getMmBdcode())
|
||||
.asJsdate(cpAnswerVO.getAsJsdate())
|
||||
.mmSgnm(cpMainVO.getMmSgnm())
|
||||
.mmSgtel(cpMainVO.getMmSgtel())
|
||||
.vlId(e.getVlId())
|
||||
.mmDate(cpMainVO.getMmDate())
|
||||
.mmCarno(cpMainVO.getMmCarno())
|
||||
.omName(cpOwnerVO.getOmName())
|
||||
.omNogb(cpOwnerVO.getOmNOGb())
|
||||
.omJno(cpOwnerVO.getOmJno())
|
||||
.mmSgpos(cpMainVO.getMmSgpos())
|
||||
.mmCode(cpMainVO.getMmCode())
|
||||
.build();
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,37 @@
|
||||
package go.kr.project.biz.post.preNotice.status.dto;
|
||||
|
||||
import go.kr.project.system.common.model.PagingVO;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
public class PreNoticeStatusDto {
|
||||
|
||||
public static class Request {
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public static class Search extends PagingVO {
|
||||
private String mmSggcode;
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static class Response {
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public static class DailyStatus {
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
package go.kr.project.biz.post.preNotice.status.service;
|
||||
|
||||
import go.kr.project.biz.minwon.init.dto.MinwonInitDto;
|
||||
import go.kr.project.biz.post.preNotice.status.dto.PreNoticeStatusDto;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface PreNoticeStatusService {
|
||||
|
||||
List<PreNoticeStatusDto.Response.DailyStatus> findPreNoticeStatus();
|
||||
}
|
||||
@ -1,11 +0,0 @@
|
||||
package go.kr.project.biz.post.preNotice.status.service;
|
||||
|
||||
import go.kr.project.biz.minwon.init.dto.MinwonInitDto;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface StatusService {
|
||||
|
||||
List<MinwonInitDto.Response.InitAnswers> findPreNoticeStatus();
|
||||
}
|
||||
@ -0,0 +1,26 @@
|
||||
package go.kr.project.biz.post.preNotice.status.service.impl;
|
||||
|
||||
import go.kr.project.biz.post.preNotice.status.dto.PreNoticeStatusDto;
|
||||
import go.kr.project.biz.post.preNotice.status.service.PreNoticeStatusService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class PreNoticeStatusServiceImpl implements PreNoticeStatusService {
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public List<PreNoticeStatusDto.Response.DailyStatus> findPreNoticeStatus() {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -1,16 +0,0 @@
|
||||
package go.kr.project.biz.post.preNotice.status.service.impl;
|
||||
|
||||
import go.kr.project.biz.minwon.init.dto.MinwonInitDto;
|
||||
import go.kr.project.biz.post.preNotice.status.service.StatusService;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class StatusServiceImpl implements StatusService {
|
||||
@Override
|
||||
public List<MinwonInitDto.Response.InitAnswers> findPreNoticeStatus() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -1,4 +1,55 @@
|
||||
package go.kr.project.vo.code;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Getter
|
||||
public enum OmIngbEnum {
|
||||
|
||||
MANUAL_INPUT("1", "수기입력"),
|
||||
CARINFO_API("2", "차적망조회"),
|
||||
RESIDENT_API("3", "주민망조회"),
|
||||
RESIDENCE_REG("4", "거소지등록"),
|
||||
CONVERSION_REG("5", "변환등록"),
|
||||
FILE("6", "파일처리");
|
||||
|
||||
|
||||
private String code;
|
||||
private String desc;
|
||||
|
||||
|
||||
OmIngbEnum(String code, String desc) {
|
||||
this.code = code;
|
||||
this.desc = desc;
|
||||
}
|
||||
|
||||
private static final Map<String, OmIngbEnum> CODE_MAP = new HashMap<>();
|
||||
private static final Map<String, OmIngbEnum> DESC_MAP = new HashMap<>();
|
||||
|
||||
static {
|
||||
for (OmIngbEnum e : values()) {
|
||||
CODE_MAP.put(e.code, e);
|
||||
DESC_MAP.put(e.desc, e);
|
||||
}
|
||||
}
|
||||
|
||||
// code → desc
|
||||
public static String getDescByCode(String code) {
|
||||
OmIngbEnum e = CODE_MAP.get(code);
|
||||
return e != null ? e.desc : null;
|
||||
}
|
||||
|
||||
// desc → code
|
||||
public static String getCodeByDesc(String desc) {
|
||||
OmIngbEnum e = DESC_MAP.get(desc);
|
||||
return e != null ? e.code : null;
|
||||
}
|
||||
|
||||
// code → enum
|
||||
public static OmIngbEnum fromCode(String code) {
|
||||
return CODE_MAP.get(code);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,201 @@
|
||||
<%--
|
||||
Created by IntelliJ IDEA.
|
||||
User: kurt
|
||||
Date: 2025. 12. 12.
|
||||
Time: 오후 4:21
|
||||
To change this template use File | Settings | File Templates.
|
||||
--%>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
|
||||
|
||||
<div id="preNoticeWrap_dialog" style="display:none;">
|
||||
<div class="left">
|
||||
<div class="form-grid">
|
||||
</div>
|
||||
<div class="gs_booking">
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="box_column">
|
||||
<div class="containers">
|
||||
<div id="grid"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="disdoc-btn-area">
|
||||
<button type="button" class="btn btn-light disdoc-btn" name="" id="guideSave">묶음자료 생성</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
let PRE_NOTICE_WRAP_DIALOG_GRID = null;
|
||||
|
||||
let fnPreNoticeWrap = {
|
||||
init: () => {
|
||||
initGrid();
|
||||
|
||||
},
|
||||
|
||||
setCode: () => {
|
||||
|
||||
},
|
||||
|
||||
updateGuide: () => {
|
||||
const { cursor, mmCodes } = JSON.parse(localStorage.getItem("TOTAL_INFO_STATE"));
|
||||
$.ajax({
|
||||
// url: `/common/update/\${cursor}/83/state.ajax`,
|
||||
type: "PUT",
|
||||
data: JSON.stringify({
|
||||
"itEtc" : $("#cpInstructAnswer").val() ,
|
||||
"itDate": $("#itDate").val(),
|
||||
}),
|
||||
contentType: 'application/json',
|
||||
success: function(response) {
|
||||
|
||||
alert("계도처리 성공")
|
||||
//다이얼로그 하이드
|
||||
|
||||
|
||||
//네이게이팅 다음으로
|
||||
|
||||
|
||||
|
||||
//로컬스토리지 mmCodes에 해당 mmCode 제거
|
||||
|
||||
|
||||
//그리드는 어떻게 할꺼??
|
||||
//1. 로우만 remove -> 페이징 괜찮나??
|
||||
//2. 재조회 -> 하면 1페이지로 돌아감
|
||||
|
||||
|
||||
|
||||
},
|
||||
error: function(xhr, status, error) {
|
||||
$("#result").text("서손처리 실패");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
|
||||
eventListener: () => {
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/** tui-grid Set */
|
||||
let preNoticeWrapInitGrid = () => {
|
||||
const gridColumns = [
|
||||
{header: '등록구분', name: 'mmDlgb', sortable: true, width: 100,},
|
||||
{header: '목록번호', name: 'asBbsNo', sortable: true, width: 100,},
|
||||
{header: '접수일', name: 'asJsdate', sortable: true, width: 100,},
|
||||
{header: '신고자', name: 'mmSgnm', sortable: true, width: 100,},
|
||||
{header: '담당자', name: 'mmSgtel', width: 100,},
|
||||
{header: '위반내용', name: 'vlId', sortable: true, width: 100,},
|
||||
{header: '위반일시', name: 'mmDate', sortable: true, width: 100,},
|
||||
{header: '차량번호', name: 'mmCarno', sortable: true, width: 150,},
|
||||
{header: '소유자', name: 'omName', width: 150,},
|
||||
{header: '소유주구분', name: 'omNogb', width: 100,},
|
||||
{header: '주민번호', name: 'omJno', width: 250,},
|
||||
{header: '위반장소', name: 'mmSgpos', sortable: true, width: 150,},
|
||||
{header: 'mmCode', name: 'mmCode', sortable: true, width: 150, align: 'center', hidden: true}
|
||||
];
|
||||
let gridDatasource = {
|
||||
api: {
|
||||
readData: {
|
||||
url: '<c:url value="/post/preNotice/sendTarget/sendTargetList.ajax"/>',
|
||||
method: 'POST',
|
||||
contentType: 'application/x-www-form-urlencoded',
|
||||
processData: true
|
||||
}
|
||||
},
|
||||
initialRequest: false, //초기화시 조회
|
||||
serializer: function (params) {
|
||||
setSearchCond();
|
||||
SEARCH_COND.perPage = params.perPage;
|
||||
SEARCH_COND.page = params.page;
|
||||
return $.param(SEARCH_COND);
|
||||
}
|
||||
}
|
||||
|
||||
let gridOptions = {
|
||||
el: 'grid',
|
||||
rowHeaders: ['checkbox'],
|
||||
columns: gridColumns,
|
||||
noData: "조회된 사전통보 대상이 없습니다.",
|
||||
pageOptions: {
|
||||
useClient: true, // 클라이언트 페이징 여부(false: 서버 페이징)
|
||||
perPage: perPage,
|
||||
},
|
||||
};
|
||||
|
||||
PRE_NOTICE_WRAP_DIALOG_GRID = TuiGrid.of(gridOptions, gridDatasource, (res) => {
|
||||
|
||||
GRID.on("dblclick", (e) => {
|
||||
var popUrl = '/total/info.do';
|
||||
var popTitle = "TotalPopup";
|
||||
var popOption = "width=1400px, height=900px, resizable=yes, scrollbars=yes, location=no, top=100px, left=100px";
|
||||
|
||||
// 1) localStorage에 저장
|
||||
console.log(e)
|
||||
let cursor = e.instance.getValue(e.rowKey, 'mmCode');
|
||||
let mmCodes = e.instance.getData().map(row => row.mmCode);
|
||||
|
||||
const state = { cursor, mmCodes, savedAt: Date.now() };
|
||||
localStorage.setItem('TOTAL_INFO_STATE', JSON.stringify(state));
|
||||
|
||||
// 2) 팝업이 없거나 닫혀 있으면 새로 열기
|
||||
if (!TOTAL_POPUP || TOTAL_POPUP.closed) {
|
||||
TOTAL_POPUP = window.open(popUrl, popTitle, popOption);
|
||||
} else {
|
||||
// 이미 떠 있으면 새로 안 만들고, 그 창에 포커스만 줌
|
||||
TOTAL_POPUP.focus();
|
||||
TOTAL_POPUP.TOTAL_INFO_POPUP_API.search();
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
$(function () {
|
||||
|
||||
/* 다이얼로그 설정 */
|
||||
$("#preNoticeWrap_dialog").dialog({
|
||||
autoOpen: false,
|
||||
modal: true,
|
||||
resizable: true,
|
||||
// width: "auto",
|
||||
width: 500,
|
||||
maxHeight: 800,
|
||||
show: { effect: "drop", direction: "left", duration: 200 },
|
||||
hide: { effect: "drop", direction: "left", duration: 200 },
|
||||
title: "사전통보 묶음자료(대장) 생성",
|
||||
open: function () {
|
||||
fnPreNoticeWrap.init();
|
||||
}
|
||||
});
|
||||
|
||||
/* 오늘날짜 기본세팅 */
|
||||
$('#guideDate').datepicker('setDate', new Date());
|
||||
|
||||
fnPreNoticeWrap.eventListener();
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
@ -0,0 +1,16 @@
|
||||
<%--
|
||||
Created by IntelliJ IDEA.
|
||||
User: kurt
|
||||
Date: 2025. 12. 12.
|
||||
Time: 오후 3:56
|
||||
To change this template use File | Settings | File Templates.
|
||||
--%>
|
||||
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
|
||||
<html>
|
||||
<head>
|
||||
<title>Title</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@ -0,0 +1,7 @@
|
||||
package go.kr.project.domain.repo.cp;
|
||||
|
||||
import go.kr.project.domain.entity.CpInstruct;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
public interface CpInstructRepository extends JpaRepository<CpInstruct, String> {
|
||||
}
|
||||
@ -0,0 +1,8 @@
|
||||
package go.kr.project.domain.repo.cp;
|
||||
|
||||
import go.kr.project.domain.entity.CpInstruct;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
;
|
||||
|
||||
public interface CpInstructRepository extends JpaRepository<CpInstruct, String> {
|
||||
}
|
||||
Loading…
Reference in New Issue