fix: 거주자 / 장애인 의견진술 저장 진행

dev
Lim Jonguk 3 years ago
parent 837abfb985
commit db1c7af76f

1
.gitignore vendored

@ -36,3 +36,4 @@ build/
/.gradle/ /.gradle/
/src/main/generated/ /src/main/generated/
/LOG_PATH_IS_UNDEFINED/ /LOG_PATH_IS_UNDEFINED/
.DS_Store

@ -60,7 +60,7 @@ public class ParkingController {
@Parameter(in = ParameterIn.QUERY, name = "msChasu", description = "차수", required = false, example = "3"), @Parameter(in = ParameterIn.QUERY, name = "msChasu", description = "차수", required = false, example = "3"),
@Parameter(in = ParameterIn.QUERY, name = "msuTeam", description = "팀코드", required = true, example = "002") @Parameter(in = ParameterIn.QUERY, name = "msuTeam", description = "팀코드", required = true, example = "002")
}) })
@GetMapping(value="/details", produces = MediaType.APPLICATION_JSON_VALUE) @GetMapping(value="/detail", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<? extends IRestResponse> findParkingDetails( public ResponseEntity<? extends IRestResponse> findParkingDetails(
@Valid @Valid
@Parameter(hidden = true) @Parameter(hidden = true)

@ -60,7 +60,8 @@ public class ResidentAndDisabledController {
@Operation(summary = "거주자/장애인 의견진술 자료 등록", description = "거주자/장애인 의견진술 자료 등록") @Operation(summary = "거주자/장애인 의견진술 자료 등록", description = "거주자/장애인 의견진술 자료 등록")
@PostMapping(value = "/data", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) @PostMapping(value = "/data", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public ResponseEntity<? extends IRestResponse> saveJudgeData(@Nonnull GnRecallScDto dto) { public ResponseEntity<? extends IRestResponse> saveJudgeData(@Nonnull GnRecallScDto dto) {
AssertUtils.isTrue(!Checks.isEmpty(dto), "등록할 거주자 의견진술 자료가 존재하지 않습니다."); AssertUtils.isTrue(!Checks.isEmpty(dto), "등록할 거주자 의견진술 자료가 없습니다");
AssertUtils.isTrue(!Checks.isEmpty(dto.getScDatagb()), "데이타구분 값은 필수입니다(1-거주자,2-장애인)");
service.saveJudgeData(dto); service.saveJudgeData(dto);
//service.saveResidentData(mapstruct.toEntity(dto), dto.getPicadFiles(), dto.getFrecadFiles(), dto.getContadFiles()); //service.saveResidentData(mapstruct.toEntity(dto), dto.getPicadFiles(), dto.getFrecadFiles(), dto.getContadFiles());
@ -86,6 +87,11 @@ public class ResidentAndDisabledController {
@Parameter(in = ParameterIn.QUERY, name = "scSeq2", description = "접수번호-종료", required = true, example = "2022999999"), @Parameter(in = ParameterIn.QUERY, name = "scSeq2", description = "접수번호-종료", required = true, example = "2022999999"),
}) })
public ResponseEntity<? extends IRestResponse> findResidentJudgeTargets(@Parameter(hidden = true) final JudgeTargetDto dto){ public ResponseEntity<? extends IRestResponse> findResidentJudgeTargets(@Parameter(hidden = true) final JudgeTargetDto dto){
AssertUtils.isTrue(!Checks.isEmpty(dto), "필수 검색 조건이 입력되지 않았습니다.");
AssertUtils.isTrue(!Checks.isEmpty(dto.getScDatagb()), "데이타구분 값은 필수입니다(1-거주자,2-장애인)");
AssertUtils.isTrue(!Checks.isEmpty(dto.getScTransfer()), "전송상태를 선택하지 않았습니다(1-미전송,2-전송)");
AssertUtils.isTrue(!Checks.isEmpty(dto.getScSeq1()), "조회할 접수번호(시작)가 입력되지 않았습니다");
AssertUtils.isTrue(!Checks.isEmpty(dto.getScSeq2()), "조회할 접수번호(종료)가 입력되지 않았습니다");
return RestResponse.of(service.findJudgeTargets(dto)); return RestResponse.of(service.findJudgeTargets(dto));
} }
@ -102,6 +108,7 @@ public class ResidentAndDisabledController {
@Operation(summary = "거주자/장애인 의견진술 심의목록 조회" , description = "거주자/장애인 의견진술 심의목록 조회") @Operation(summary = "거주자/장애인 의견진술 심의목록 조회" , description = "거주자/장애인 의견진술 심의목록 조회")
@Parameters({ @Parameters({
@Parameter(in = ParameterIn.QUERY, name = "scDatagb", description = "데이타구분(1-거주자, 2-장애인)", required = true, example = "1"),
@Parameter(in = ParameterIn.QUERY, name = "scYear", description = "심사년도", required = true, example = "2021"), @Parameter(in = ParameterIn.QUERY, name = "scYear", description = "심사년도", required = true, example = "2021"),
@Parameter(in = ParameterIn.QUERY, name = "scChasu", description = "차수", required = false, example = " "), @Parameter(in = ParameterIn.QUERY, name = "scChasu", description = "차수", required = false, example = " "),
@Parameter(in = ParameterIn.QUERY, name = "page", description = "페이지", required = true, example = "0"), @Parameter(in = ParameterIn.QUERY, name = "page", description = "페이지", required = true, example = "0"),
@ -115,7 +122,27 @@ public class ResidentAndDisabledController {
final JudgeListDto dto, final JudgeListDto dto,
@Parameter(hidden = true) @Parameter(hidden = true)
final Pageable pageable) { final Pageable pageable) {
AssertUtils.isTrue(!Checks.isEmpty(dto), "필수 검색 조건이 입력되지 않았습니다.");
AssertUtils.isTrue(!Checks.isEmpty(dto.getMsDatagb()), "데이타구분 값은 필수입니다(1-거주자,2-장애인)");
AssertUtils.isTrue(!Checks.isEmpty(dto.getMsYear()), "심사년도를 선택하셔야 합니다");
return RestResponse.of(service.findJudges(dto, pageable)); return RestResponse.of(service.findJudges(dto, pageable));
} }
@Operation(summary = "거주자/장애인 의견진술 심의등록 상세 목록" , description = "거주자/장애인 의견진술 심의등록 상세 목록")
@Parameters({
@Parameter(in = ParameterIn.QUERY, name = "msDatagb", description = "데이타구분(1-거주자, 2-장애인)", required = true, example = "1"),
@Parameter(in = ParameterIn.QUERY, name = "msSdate", description = "심사시작일", required = true, example = "2021-01-04"),
@Parameter(in = ParameterIn.QUERY, name = "msEdate", description = "심사종료일", required = true, example = "2021-01-05"),
@Parameter(in = ParameterIn.QUERY, name = "msChasu", description = "차수", required = false, example = "3"),
@Parameter(in = ParameterIn.QUERY, name = "msuTeam", description = "팀코드", required = true, example = "002")
})
@GetMapping(value="/detail", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<? extends IRestResponse> findJudgeDetails(
@Valid
@Parameter(hidden = true)
final JudgeListDto dto) {
AssertUtils.isTrue(!Checks.isEmpty(dto), "필수 검색 조건이 입력되지 않았습니다.");
return RestResponse.of(service.findJudgeDetails(dto));
}
} }

@ -1,10 +1,12 @@
package com.xit.biz.ctgy.dto; package com.xit.biz.ctgy.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import javax.validation.constraints.Size; import javax.validation.constraints.Size;
import java.sql.Date; import java.sql.Date;
import java.time.LocalDate;
@Schema(name = "JudgeListDto", description = "심의목록 조회: 주정차/거주자/장애인") @Schema(name = "JudgeListDto", description = "심의목록 조회: 주정차/거주자/장애인")
@Getter @Getter
@ -18,10 +20,20 @@ public class JudgeListDto {
@Schema(title = "차수", example = " ", description = "차수") @Schema(title = "차수", example = " ", description = "차수")
private Long msChasu; private Long msChasu;
private Date msSdate;
@Schema(title = "심사시작일", example = "2022-03-23", description = "심사시작일")
@JsonFormat(pattern="yyyy-MM-dd")
private LocalDate msSdate;
private String msStartsi; private String msStartsi;
private Date msEdate;
private Date msCdate; @Schema(title = "심사종료일", example = "2022-03-23", description = "심사종료일")
@JsonFormat(pattern="yyyy-MM-dd")
private LocalDate msEdate;
@Schema(title = "심사마감일", example = "2022-03-23", description = "심사마감일")
@JsonFormat(pattern="yyyy-MM-dd")
private LocalDate msCdate;
private String msClosesi; private String msClosesi;
private Long cnt; private Long cnt;

@ -1,11 +1,14 @@
package com.xit.biz.ctgy.dto; package com.xit.biz.ctgy.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
import java.time.LocalDate;
@Schema(name = "MinSimsa680Dto", description = "민원심사") @Schema(name = "MinSimsa680Dto", description = "민원심사")
@Getter @Getter
@Setter @Setter
@ -29,23 +32,27 @@ public class MinSimsa680Dto {
@Schema(required = true, title = "차수", example = " ", description = "Input Description...") @Schema(required = true, title = "차수", example = " ", description = "Input Description...")
private Long msChasu; private Long msChasu;
@Schema(required = true, title = "심사시작일시", example = " ", description = "Input Description...") @Schema(required = true, title = "심사시작일", example = " ", description = "Input Description...")
private java.sql.Date msSdate; @JsonFormat(pattern="yyyy-MM-dd")
private LocalDate msSdate;
@Schema(required = true, title = "심사시작시간", example = " ", description = "Input Description...") @Schema(required = true, title = "심사시작시간", example = " ", description = "Input Description...")
private String msStartsi; private String msStartsi;
@Schema(required = true, title = "심사종료일시", example = " ", description = "Input Description...") @Schema(required = true, title = "심사종료일", example = " ", description = "Input Description...")
private java.sql.Date msEdate; @JsonFormat(pattern="yyyy-MM-dd")
private LocalDate msEdate;
@Schema(required = true, title = "심사마감일시", example = " ", description = "Input Description...") @Schema(required = true, title = "심사마감일", example = " ", description = "Input Description...")
private java.sql.Date msCdate; @JsonFormat(pattern="yyyy-MM-dd")
private LocalDate msCdate;
@Schema(required = true, title = "심사마감시간", example = " ", description = "Input Description...") @Schema(required = true, title = "심사마감시간", example = " ", description = "Input Description...")
private String msClosesi; private String msClosesi;
@Schema(required = false, title = "단속일자", example = " ", description = "Input Description...") @Schema(required = false, title = "단속일자", example = " ", description = "Input Description...")
private java.sql.Date msWdate; @JsonFormat(pattern="yyyy-MM-dd")
private LocalDate msWdate;
@Schema(required = false, title = "단속장소", example = " ", description = "Input Description...") @Schema(required = false, title = "단속장소", example = " ", description = "Input Description...")
private String msPos; private String msPos;

@ -6,13 +6,14 @@ import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate; import org.hibernate.annotations.DynamicUpdate;
import javax.persistence.*; import javax.persistence.*;
import java.time.LocalDate;
@Schema(name = "MinSimsa680", description = "민원심사") @Schema(name = "MinSimsa680", description = "민원심사")
@Table(name = "min_simsa680", schema = "", catalog = "") @Table(name = "min_simsa680", schema = "", catalog = "")
@Entity @Entity
@DynamicInsert @DynamicInsert
@DynamicUpdate @DynamicUpdate
@NoArgsConstructor(access = AccessLevel.PROTECTED) @NoArgsConstructor //(access = AccessLevel.PROTECTED)
@AllArgsConstructor @AllArgsConstructor
@Getter @Getter
@Builder @Builder
@ -43,7 +44,7 @@ public class MinSimsa680 { //implements Serializable {
@Schema(required = true, title = "심사시작일시", example = " ", description = "Input Description...") @Schema(required = true, title = "심사시작일시", example = " ", description = "Input Description...")
@Column(name = "ms_sdate", nullable = false) @Column(name = "ms_sdate", nullable = false)
private java.sql.Date msSdate; private LocalDate msSdate;
@Schema(required = true, title = "심사시작시간", example = " ", description = "Input Description...") @Schema(required = true, title = "심사시작시간", example = " ", description = "Input Description...")
@Column(name = "ms_startsi", nullable = false) @Column(name = "ms_startsi", nullable = false)
@ -51,7 +52,7 @@ public class MinSimsa680 { //implements Serializable {
@Schema(required = true, title = "심사종료일시", example = " ", description = "Input Description...") @Schema(required = true, title = "심사종료일시", example = " ", description = "Input Description...")
@Column(name = "ms_edate", nullable = false) @Column(name = "ms_edate", nullable = false)
private java.sql.Date msEdate; private LocalDate msEdate;
@Schema(required = true, title = "심사마감일시", example = " ", description = "Input Description...") @Schema(required = true, title = "심사마감일시", example = " ", description = "Input Description...")
@Column(name = "ms_cdate", nullable = false) @Column(name = "ms_cdate", nullable = false)
@ -63,7 +64,7 @@ public class MinSimsa680 { //implements Serializable {
@Schema(required = false, title = "단속일자", example = " ", description = "Input Description...") @Schema(required = false, title = "단속일자", example = " ", description = "Input Description...")
@Column(name = "ms_wdate", nullable = true) @Column(name = "ms_wdate", nullable = true)
private java.sql.Date msWdate; private LocalDate msWdate;
@Schema(required = false, title = "단속장소", example = " ", description = "Input Description...") @Schema(required = false, title = "단속장소", example = " ", description = "Input Description...")
@Column(name = "ms_pos", nullable = true) @Column(name = "ms_pos", nullable = true)

@ -9,6 +9,7 @@ import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.Table; import javax.persistence.Table;
import java.time.LocalDate;
@Schema(name = "MinSimsa680Sc", description = "민원심사") @Schema(name = "MinSimsa680Sc", description = "민원심사")
@Table(name = "min_simsa680_sc", schema = "", catalog = "") @Table(name = "min_simsa680_sc", schema = "", catalog = "")
@ -46,7 +47,7 @@ public class MinSimsa680Sc { //implements Serializable {
@Schema(required = true, title = "심사시작일시", example = " ", description = "Input Description...") @Schema(required = true, title = "심사시작일시", example = " ", description = "Input Description...")
@Column(name = "ms_sdate", nullable = false) @Column(name = "ms_sdate", nullable = false)
private java.sql.Date msSdate; private LocalDate msSdate;
@Schema(required = true, title = "심사시작시간", example = " ", description = "Input Description...") @Schema(required = true, title = "심사시작시간", example = " ", description = "Input Description...")
@Column(name = "ms_startsi", nullable = false) @Column(name = "ms_startsi", nullable = false)
@ -54,11 +55,11 @@ public class MinSimsa680Sc { //implements Serializable {
@Schema(required = true, title = "심사종료일시", example = " ", description = "Input Description...") @Schema(required = true, title = "심사종료일시", example = " ", description = "Input Description...")
@Column(name = "ms_edate", nullable = false) @Column(name = "ms_edate", nullable = false)
private java.sql.Date msEdate; private LocalDate msEdate;
@Schema(required = true, title = "심사마감일시", example = " ", description = "Input Description...") @Schema(required = true, title = "심사마감일시", example = " ", description = "Input Description...")
@Column(name = "ms_cdate", nullable = false) @Column(name = "ms_cdate", nullable = false)
private java.sql.Date msCdate; private LocalDate msCdate;
@Schema(required = true, title = "심사마감시간", example = " ", description = "Input Description...") @Schema(required = true, title = "심사마감시간", example = " ", description = "Input Description...")
@Column(name = "ms_closesi", nullable = false) @Column(name = "ms_closesi", nullable = false)
@ -66,7 +67,7 @@ public class MinSimsa680Sc { //implements Serializable {
@Schema(required = false, title = "단속일자", example = " ", description = "Input Description...") @Schema(required = false, title = "단속일자", example = " ", description = "Input Description...")
@Column(name = "ms_wdate", nullable = true) @Column(name = "ms_wdate", nullable = true)
private java.sql.Date msWdate; private LocalDate msWdate;
@Schema(required = false, title = "단속장소", example = " ", description = "Input Description...") @Schema(required = false, title = "단속장소", example = " ", description = "Input Description...")
@Column(name = "ms_pos", nullable = true) @Column(name = "ms_pos", nullable = true)

@ -10,7 +10,7 @@ import java.util.List;
public interface IParkingRepositoryCustom { public interface IParkingRepositoryCustom {
Page<JudgeListDto> findParkings(final JudgeListDto dto, Pageable pageable); Page<JudgeListDto> findParkings(final JudgeListDto dto, Pageable pageable);
//List<MinSimsa680> findParkingDetails(final JudgeListDto minSimsa680GroupDto); List<MinSimsa680> findParkingDetails(final JudgeListDto dto);
List<ParkingTargetDto> findParkingJudgeTargets(final ParkingTargetDto dto); List<ParkingTargetDto> findParkingJudgeTargets(final ParkingTargetDto dto);

@ -9,6 +9,7 @@ import com.querydsl.jpa.impl.JPAQueryFactory;
import com.xit.biz.ctgy.CtgyConstants; import com.xit.biz.ctgy.CtgyConstants;
import com.xit.biz.ctgy.dto.JudgeListDto; import com.xit.biz.ctgy.dto.JudgeListDto;
import com.xit.biz.ctgy.dto.ParkingTargetDto; import com.xit.biz.ctgy.dto.ParkingTargetDto;
import com.xit.biz.ctgy.entity.MinSimsa680;
import com.xit.core.util.Checks; import com.xit.core.util.Checks;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
@ -19,6 +20,8 @@ import java.util.List;
import static com.xit.biz.cmm.entity.QCmmCodeS.cmmCodeS; import static com.xit.biz.cmm.entity.QCmmCodeS.cmmCodeS;
import static com.xit.biz.ctgy.entity.QMinSimsa680.minSimsa680; import static com.xit.biz.ctgy.entity.QMinSimsa680.minSimsa680;
import static com.xit.biz.ctgy.entity.QMinSimsaUser680.minSimsaUser680;
import static com.xit.biz.ctgy.entity.QMinUserinfo.minUserinfo;
import static com.xit.biz.ctgy.entity.QTf680Main.tf680Main; import static com.xit.biz.ctgy.entity.QTf680Main.tf680Main;
import static com.xit.biz.ctgy.entity.QTf680Recall.tf680Recall; import static com.xit.biz.ctgy.entity.QTf680Recall.tf680Recall;
@ -62,37 +65,37 @@ public class IParkingRepositoryImpl implements IParkingRepositoryCustom {
return new PageImpl<>(rslt.getResults(), pageable, rslt.getTotal()); return new PageImpl<>(rslt.getResults(), pageable, rslt.getTotal());
} }
// @Override @Override
// public List<MinSimsa680> findParkingDetails(final JudgeListDto dto) { public List<MinSimsa680> findParkingDetails(final JudgeListDto dto) {
//
// BooleanBuilder builder = new BooleanBuilder(); BooleanBuilder builder = new BooleanBuilder();
// builder.and(minSimsa680.msSdate.eq(dto.getMsSdate())); builder.and(minSimsa680.msSdate.gt(dto.getMsSdate()));
// builder.and(minSimsa680.msEdate.eq(dto.getMsEdate())); builder.and(minSimsa680.msEdate.lt(dto.getMsEdate()));
//
// if (!Checks.isEmpty(dto.getMsuTeam())) { if (!Checks.isEmpty(dto.getMsuTeam())) {
// builder.and(minSimsaUser680.msuTeam.eq(dto.getMsuTeam())); builder.and(minSimsaUser680.msuTeam.eq(dto.getMsuTeam()));
// } }
//
// List<MinSimsa680> rslt = List<MinSimsa680> rslt =
// queryFactory queryFactory
// .select(Projections.fields(MinSimsa680.class, .select(Projections.fields(MinSimsa680.class,
// minSimsa680.msSeq, minSimsa680.msSeq,
// minSimsa680.msCarnum, minSimsa680.msCarnum,
// minSimsa680.msMaincode)) minSimsa680.msMaincode))
// .from(minSimsaUser680) .from(minSimsaUser680)
// .join(minSimsa680) .join(minSimsa680)
// .on(minSimsa680.msMaincode.eq(minSimsaUser680.msuMaincode)) .on(minSimsa680.msMaincode.eq(minSimsaUser680.msuMaincode))
// .join(minUserinfo) .join(minUserinfo)
// .on(minSimsaUser680.msuUserid.eq(minUserinfo.userid)) .on(minSimsaUser680.msuUserid.eq(minUserinfo.userid))
// .where(builder) .where(builder)
// .groupBy(minSimsa680.msCarnum, .groupBy(minSimsa680.msCarnum,
// minSimsa680.msSeq, minSimsa680.msSeq,
// minSimsa680.msMaincode) minSimsa680.msMaincode)
// .orderBy(minSimsa680.msSeq.asc()) .orderBy(minSimsa680.msSeq.asc())
// .fetch(); .fetch();
//
// return rslt; return rslt;
// } }
@Override @Override
public List<ParkingTargetDto> findParkingJudgeTargets(final ParkingTargetDto dto) { public List<ParkingTargetDto> findParkingJudgeTargets(final ParkingTargetDto dto) {
@ -148,42 +151,14 @@ public class IParkingRepositoryImpl implements IParkingRepositoryCustom {
return rslt; return rslt;
} }
// @Override // private BooleanExpression startDateGt(LocalDate sDate){
// public Page<MinSimsaReviewGroupDto> findMinSimsa680s2(Pageable pageable) { // if(sDate == null) return null;
// /* // return minSimsa680.msSdate.gt(sDate);
// SELECT MS_EDATE, MSU_TEAM, NAME, SUM(DECODE(MSU_RESULT, 0, 0, 1)) CLCNT, COUNT(*) TOTCNT // }
// FROM MIN_USERINFO, MIN_SIMSA_USER680, MIN_SIMSA680
// WHERE USERID = MSU_USERID AND MS_MAINCODE = MSU_MAINCODE
// GROUP BY MS_EDATE, MSU_TEAM, NAME
// ORDER BY MS_EDATE DESC, MSU_TEAM, NAME
// */
//
//// Expression<Long> rsltEa = new CaseBuilder()
//// .when(minSimsaUser680.msuResult.eq("0")).then(0L)
//// .otherwise(1L).sum().as("clcnt");
// QueryResults<MinSimsaReviewGroupDto> rslt =
// queryFactory
// .select(Projections.fields(
// MinSimsaReviewGroupDto.class,
// minSimsa680.msEdate,
// minSimsaUser680.msuTeam,
// minUserinfo.name,
// new CaseBuilder()
// .when(minSimsaUser680.msuResult.eq("0")).then(0L)
// .otherwise(1L).sum().as("clcnt"),
// minSimsa680.count().as("totcnt")
// ))
// .from(minSimsaUser680)
// .join(minSimsa680)
// .on(minSimsa680.msMaincode.eq(minSimsaUser680.msuMaincode))
// .join(minUserinfo)
// .on(minSimsaUser680.msuUserid.eq(minUserinfo.userid))
// .groupBy(minSimsa680.msEdate, minSimsaUser680.msuTeam, minUserinfo.name)
// .orderBy(minSimsa680.msEdate.desc(), minSimsaUser680.msuTeam.asc(), minUserinfo.name.asc())
// .offset(pageable.getOffset())
// .limit(pageable.getPageSize())
// .fetchResults();
// //
// return new PageImpl<>(rslt.getResults(), pageable, rslt.getTotal()); // private BooleanExpression endDateGt(LocalDate eDate){
// if(eDate == null) return null;
// return minSimsa680.msEdate.gt(eDate);
// } // }
} }

@ -3,6 +3,7 @@ package com.xit.biz.ctgy.repository;
import com.xit.biz.ctgy.dto.GnRecallScDto; import com.xit.biz.ctgy.dto.GnRecallScDto;
import com.xit.biz.ctgy.dto.JudgeListDto; import com.xit.biz.ctgy.dto.JudgeListDto;
import com.xit.biz.ctgy.dto.JudgeTargetDto; import com.xit.biz.ctgy.dto.JudgeTargetDto;
import com.xit.biz.ctgy.entity.MinSimsa680;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
@ -31,13 +32,20 @@ public interface IResidentAndDisabledRepositoryCustom {
GnRecallScDto findJudgeData(final Long scCode); GnRecallScDto findJudgeData(final Long scCode);
/** /**
* / * /
* @param dto JudgeListDto * @param dto JudgeListDto
* @param pageable Pageable * @param pageable Pageable
* @return Page<JudgeListDto> * @return Page<JudgeListDto>
*/ */
Page<JudgeListDto> findJudges(JudgeListDto dto, Pageable pageable); Page<JudgeListDto> findJudges(JudgeListDto dto, Pageable pageable);
/**
* /
* @param dto JudgeListDto
* @return List<MinSimsa680>
*/
List<MinSimsa680> findJudgeDetails(final JudgeListDto dto);
/** /**
* / * /
* @param dto JudgeTargetDto * @param dto JudgeTargetDto

@ -11,6 +11,7 @@ import com.xit.biz.ctgy.CtgyConstants;
import com.xit.biz.ctgy.dto.GnRecallScDto; import com.xit.biz.ctgy.dto.GnRecallScDto;
import com.xit.biz.ctgy.dto.JudgeListDto; import com.xit.biz.ctgy.dto.JudgeListDto;
import com.xit.biz.ctgy.dto.JudgeTargetDto; import com.xit.biz.ctgy.dto.JudgeTargetDto;
import com.xit.biz.ctgy.entity.MinSimsa680;
import com.xit.core.util.Checks; import com.xit.core.util.Checks;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
@ -23,7 +24,10 @@ import java.util.List;
import static com.xit.biz.cmm.entity.QCmmCodeS.cmmCodeS; import static com.xit.biz.cmm.entity.QCmmCodeS.cmmCodeS;
import static com.xit.biz.ctgy.entity.QGnRecallSc.gnRecallSc; import static com.xit.biz.ctgy.entity.QGnRecallSc.gnRecallSc;
import static com.xit.biz.ctgy.entity.QMinSimsa680.minSimsa680;
import static com.xit.biz.ctgy.entity.QMinSimsa680Sc.minSimsa680Sc; import static com.xit.biz.ctgy.entity.QMinSimsa680Sc.minSimsa680Sc;
import static com.xit.biz.ctgy.entity.QMinSimsaUser680.minSimsaUser680;
import static com.xit.biz.ctgy.entity.QMinUserinfo.minUserinfo;
/** /**
* / * /
@ -161,33 +165,22 @@ public class IResidentAndDisabledRepositoryImpl implements IResidentAndDisabledR
.from(gnRecallSc) .from(gnRecallSc)
.where(gnRecallSc.scCode.eq(scCode)) .where(gnRecallSc.scCode.eq(scCode))
.fetchOne(); .fetchOne();
/*
SELECT SC_CODE, SC_SEQ, SC_CARNUM, SC_NAME, SC_DONG,
GET_RECALL_CONTID(SC_CONT_DOC) SC_CONT_DOC, SC_CDATE, GET_RECALL_INGB_STR(SC_INGB) SC_INGB, SC_WDATE, SC_JBTIME,
SC_POS, SC_FRECAD1, SC_FRECAD2, SC_FRECAD3, SC_FRECAD4,
SC_CONTAD1, SC_CONTAD2, SC_CONTAD3, SC_CONTAD4, SC_CONTAD5,
SC_CONTAD6, SC_CONTAD7, SC_CONTAD8, SC_PICAD1, SC_PICAD2,
SC_PICAD3, SC_PICAD4, (SELECT CDNAME FROM MIN_MAINCODE WHERE C2='6' AND C3=SC_TRANSFER) SC_TRANSFER, SC_ANSWER,
(SELECT CDNAME FROM MIN_MAINCODE WHERE C2='7' AND C3=SC_STATE) SC_STATE, ZIPCODE1, ZIPCODE2, SC_JUSO, SC_BUNJI
FROM GN_RECALL_SC
WHERE SC_DATAGB = '1'
AND SC_CODE =
*/
} }
@Override @Override
public Page<JudgeListDto> findJudges(final JudgeListDto dto, Pageable pageable) { public Page<JudgeListDto> findJudges(final JudgeListDto dto, Pageable pageable) {
BooleanBuilder builder = new BooleanBuilder(); BooleanBuilder builder = new BooleanBuilder();
if (!Checks.isEmpty(dto.getMsDatagb())) {
builder.and(minSimsa680Sc.msDatagb.eq(dto.getMsDatagb()));
}
if (!Checks.isEmpty(dto.getMsYear())) { if (!Checks.isEmpty(dto.getMsYear())) {
builder.and(minSimsa680Sc.msYear.eq(dto.getMsYear())); builder.and(minSimsa680Sc.msYear.eq(dto.getMsYear()));
} }
if (!Checks.isEmpty(dto.getMsChasu())) { if (!Checks.isEmpty(dto.getMsChasu())) {
builder.and(minSimsa680Sc.msChasu.eq(dto.getMsChasu())); builder.and(minSimsa680Sc.msChasu.eq(dto.getMsChasu()));
} }
if (!Checks.isEmpty(dto.getMsDatagb())) {
builder.and(minSimsa680Sc.msDatagb.eq(dto.getMsDatagb()));
}
QueryResults<JudgeListDto> rslt = QueryResults<JudgeListDto> rslt =
queryFactory queryFactory
.select(Projections.fields( .select(Projections.fields(
@ -214,6 +207,38 @@ AND SC_CODE =
return new PageImpl<>(rslt.getResults(), pageable, rslt.getTotal()); return new PageImpl<>(rslt.getResults(), pageable, rslt.getTotal());
} }
@Override
public List<MinSimsa680> findJudgeDetails(final JudgeListDto dto) {
BooleanBuilder builder = new BooleanBuilder();
builder.and(minSimsa680.msSdate.gt(dto.getMsSdate()).or(minSimsa680.msSdate.eq(dto.getMsSdate())));
builder.and(minSimsa680.msEdate.lt(dto.getMsEdate()).or(minSimsa680.msEdate.eq(dto.getMsEdate())));
if (!Checks.isEmpty(dto.getMsuTeam())) {
builder.and(minSimsaUser680.msuTeam.eq(dto.getMsuTeam()));
}
List<MinSimsa680> rslt =
queryFactory
.select(Projections.fields(MinSimsa680.class,
minSimsa680.msSeq,
minSimsa680.msCarnum,
minSimsa680.msMaincode))
.from(minSimsaUser680)
.join(minSimsa680)
.on(minSimsa680.msMaincode.eq(minSimsaUser680.msuMaincode))
.join(minUserinfo)
.on(minSimsaUser680.msuUserid.eq(minUserinfo.userid))
.where(builder)
.groupBy(minSimsa680.msCarnum,
minSimsa680.msSeq,
minSimsa680.msMaincode)
.orderBy(minSimsa680.msSeq.asc())
.fetch();
return rslt;
}
@Override @Override
public List<JudgeTargetDto> findJudgeTargets(final JudgeTargetDto dto) { public List<JudgeTargetDto> findJudgeTargets(final JudgeTargetDto dto) {

@ -11,8 +11,8 @@ import java.util.List;
public interface IParkingService { public interface IParkingService {
//Page<MinSimsa680GroupDto> findMinSimsa680Groups(MinSimsa680 minSimsa680, Pageable pageable); //Page<MinSimsa680GroupDto> findMinSimsa680Groups(MinSimsa680 minSimsa680, Pageable pageable);
Page<JudgeListDto> findParkings(final JudgeListDto minSimsa680GroupDto, Pageable pageable); Page<JudgeListDto> findParkings(final JudgeListDto dto, Pageable pageable);
List<MinSimsa680> findParkingDetails(final JudgeListDto minSimsa680GroupDto); List<MinSimsa680> findParkingDetails(final JudgeListDto dto);
List<ParkingTargetDto> findParkingJudgeTargets(final ParkingTargetDto dto) ; List<ParkingTargetDto> findParkingJudgeTargets(final ParkingTargetDto dto) ;
// Page<MinSimsa680> findAll(final MinSimsa680 minSimsa680, Pageable pageable); // Page<MinSimsa680> findAll(final MinSimsa680 minSimsa680, Pageable pageable);

@ -3,8 +3,10 @@ package com.xit.biz.ctgy.service;
import com.xit.biz.ctgy.dto.GnRecallScDto; import com.xit.biz.ctgy.dto.GnRecallScDto;
import com.xit.biz.ctgy.dto.JudgeListDto; import com.xit.biz.ctgy.dto.JudgeListDto;
import com.xit.biz.ctgy.dto.JudgeTargetDto; import com.xit.biz.ctgy.dto.JudgeTargetDto;
import com.xit.biz.ctgy.entity.MinSimsa680;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.transaction.annotation.Transactional;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.util.List; import java.util.List;
@ -41,19 +43,31 @@ public interface IResidentAndDisabledService {
*/ */
void saveJudgeData(GnRecallScDto entity); void saveJudgeData(GnRecallScDto entity);
/**
* /
* @param dto JudgeListDto
* @param pageable Pageable
* @return Page<JudgeListDto>
*/
Page<JudgeListDto> findJudges(JudgeListDto dto, Pageable pageable);
/**
* /
* @param dto JudgeListDto
* @return List<MinSimsa680>
*/
List<MinSimsa680> findJudgeDetails(final JudgeListDto dto);
/** /**
* / * /
* @param dto JufgeTargetDto * @param dto JufgeTargetDto
* @return List<JudgeTargetDto> * @return List<JudgeTargetDto>
*/ */
List<JudgeTargetDto> findJudgeTargets(final JudgeTargetDto dto) ; List<JudgeTargetDto> findJudgeTargets(final JudgeTargetDto dto) ;
void saveJudgeTargets(JudgeTargetDto dto);
/** /**
* / * /
* @param dto JudgeListDto * @param dto JudgeTargetDto
* @param pageable Pageable
* @return Page<JudgeListDto>
*/ */
Page<JudgeListDto> findJudges(JudgeListDto dto, Pageable pageable); void saveJudgeTargets(JudgeTargetDto dto);
} }

@ -50,14 +50,14 @@ public class ParkingService implements IParkingService {
@Override @Override
@Transactional(readOnly = true) @Transactional(readOnly = true)
public Page<JudgeListDto> findParkings(final JudgeListDto minSimsa680GroupDto, Pageable pageable) { public Page<JudgeListDto> findParkings(final JudgeListDto dto, Pageable pageable) {
return repository.findParkings(minSimsa680GroupDto, pageable); return repository.findParkings(dto, pageable);
} }
@Override @Override
@Transactional(readOnly = true) @Transactional(readOnly = true)
public List<MinSimsa680> findParkingDetails(final JudgeListDto minSimsa680GroupDto) { public List<MinSimsa680> findParkingDetails(final JudgeListDto dto) {
return null; //simsaRepository.findParkingDetails(minSimsa680GroupDto); return repository.findParkingDetails(dto);
} }
@Override @Override

@ -7,6 +7,7 @@ import com.xit.biz.ctgy.dto.JudgeListDto;
import com.xit.biz.ctgy.dto.JudgeTargetDto; import com.xit.biz.ctgy.dto.JudgeTargetDto;
import com.xit.biz.ctgy.dto.struct.GnRecallScMapstruct; import com.xit.biz.ctgy.dto.struct.GnRecallScMapstruct;
import com.xit.biz.ctgy.entity.GnRecallSc; import com.xit.biz.ctgy.entity.GnRecallSc;
import com.xit.biz.ctgy.entity.MinSimsa680;
import com.xit.biz.ctgy.entity.MinSimsaUser680; import com.xit.biz.ctgy.entity.MinSimsaUser680;
import com.xit.biz.ctgy.entity.MinUserinfo; import com.xit.biz.ctgy.entity.MinUserinfo;
import com.xit.biz.ctgy.mapper.IResidentAndDisabledMapper; import com.xit.biz.ctgy.mapper.IResidentAndDisabledMapper;
@ -114,14 +115,6 @@ public class ResidentAndDisabledService implements IResidentAndDisabledService {
} }
} }
@Override
public Page<JudgeListDto> findJudges(JudgeListDto dto, Pageable pageable) {
pageable = JpaUtil.getPagingInfo(pageable);
return repository.findJudges(dto, pageable);
}
@Override @Override
@Transactional(readOnly = true) @Transactional(readOnly = true)
public List<JudgeTargetDto> findJudgeTargets(JudgeTargetDto dto) { public List<JudgeTargetDto> findJudgeTargets(JudgeTargetDto dto) {
@ -177,4 +170,15 @@ public class ResidentAndDisabledService implements IResidentAndDisabledService {
} }
} }
@Override
public Page<JudgeListDto> findJudges(JudgeListDto dto, Pageable pageable) {
pageable = JpaUtil.getPagingInfo(pageable);
return repository.findJudges(dto, pageable);
}
@Override
public List<MinSimsa680> findJudgeDetails(JudgeListDto dto) {
return repository.findJudgeDetails(dto);
}
} }

@ -162,7 +162,7 @@ public class AssertUtils extends Assert {
throw exceptionClass.getDeclaredConstructor( String.class ).newInstance( message ); throw exceptionClass.getDeclaredConstructor( String.class ).newInstance( message );
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
throw new CustomBaseException("예외 처리 중 오류가 발생했습니다. "+e.getLocalizedMessage()); throw new CustomBaseException(e.getLocalizedMessage());
} }
} }

Loading…
Cancel
Save