Compare commits
7 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
09e0865033 | 3 days ago |
|
|
d3336543ff | 3 days ago |
|
|
5fa4b73ddd | 3 days ago |
|
|
670f86f55b | 3 days ago |
|
|
c765dc6fcc | 3 days ago |
|
|
1127980315 | 3 days ago |
|
|
2c11ff2b4d | 4 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;
|
package go.kr.project.vo.code;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Getter
|
||||||
public enum OmIngbEnum {
|
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