feat: PCS 승압설정 정보 조회 api 추가

This commit is contained in:
Daseul Kim 2025-01-14 16:09:56 +09:00
parent 172bcbf128
commit 4f4fad22c6
13 changed files with 204 additions and 20 deletions

View File

@ -3,11 +3,12 @@ package com.interplug.qcast.biz.master;
import com.interplug.qcast.biz.master.dto.*; import com.interplug.qcast.biz.master.dto.*;
import com.interplug.qcast.biz.master.dto.construction.ApiConstructionResponse; import com.interplug.qcast.biz.master.dto.construction.ApiConstructionResponse;
import com.interplug.qcast.biz.master.dto.moduletype.ApiModuleTpResponse; import com.interplug.qcast.biz.master.dto.moduletype.ApiModuleTpResponse;
import com.interplug.qcast.biz.master.dto.pcs.autorecommend.ApiPcsAutoRecommendRequest; import com.interplug.qcast.biz.master.dto.pcs.ApiPcsInfoRequest;
import com.interplug.qcast.biz.master.dto.pcs.autorecommend.ApiPcsAutoRecommendResponse; import com.interplug.qcast.biz.master.dto.pcs.autorecommend.ApiPcsAutoRecommendResponse;
import com.interplug.qcast.biz.master.dto.pcs.maker.ApiPcsMakerResponse; import com.interplug.qcast.biz.master.dto.pcs.maker.ApiPcsMakerResponse;
import com.interplug.qcast.biz.master.dto.pcs.series.ApiPcsSeriesItemRequest; import com.interplug.qcast.biz.master.dto.pcs.series.ApiPcsSeriesItemRequest;
import com.interplug.qcast.biz.master.dto.pcs.series.ApiPcsSeriesItemResponse; import com.interplug.qcast.biz.master.dto.pcs.series.ApiPcsSeriesItemResponse;
import com.interplug.qcast.biz.master.dto.pcs.voltagestepup.ApiPcsVoltageStepUpResponse;
import com.interplug.qcast.biz.master.dto.quotation.ApiQuotationItemRequest; import com.interplug.qcast.biz.master.dto.quotation.ApiQuotationItemRequest;
import com.interplug.qcast.biz.master.dto.quotation.ApiQuotationItemResponse; import com.interplug.qcast.biz.master.dto.quotation.ApiQuotationItemResponse;
import com.interplug.qcast.biz.master.dto.roofmaterial.ApiRoofMaterialResponse; import com.interplug.qcast.biz.master.dto.roofmaterial.ApiRoofMaterialResponse;
@ -224,13 +225,20 @@ public class MasterController {
return masterService.getPcsSeriesItemList(pcsSeriesItemListRequest); return masterService.getPcsSeriesItemList(pcsSeriesItemListRequest);
} }
@Operation(description = "시리즈 중 자동으로 추천 PCS 정보 조회한다.") @Operation(description = "시리즈 중 자동으로 추천 PCS 정보 조회한다.")
@PostMapping("/getPcsAutoRecommendList") @PostMapping("/getPcsAutoRecommendList")
public ApiResponse<ApiPcsAutoRecommendResponse> getPcsAutoRecommendList( public ApiResponse<ApiPcsAutoRecommendResponse> getPcsAutoRecommendList(
@RequestBody ApiPcsAutoRecommendRequest autoRecommendRequest) { @RequestBody ApiPcsInfoRequest autoRecommendRequest) {
return masterService.getPcsAutoRecommendList(autoRecommendRequest); return masterService.getPcsAutoRecommendList(autoRecommendRequest);
} }
@Operation(description = "PCS 승압설정 정보를 조회한다.")
@PostMapping("/getPcsVoltageStepUpList")
public ApiResponse<ApiPcsVoltageStepUpResponse> getPcsVoltageStepUpList(
@RequestBody ApiPcsInfoRequest pcsVoltageStepUpRequest) {
return masterService.getPcsVoltageStepUpList(pcsVoltageStepUpRequest);
}
/** remote api group : quotation */ /** remote api group : quotation */
@Operation(description = "견적서 아이템을 조회한다.") @Operation(description = "견적서 아이템을 조회한다.")
@PostMapping("/getQuotationItem") @PostMapping("/getQuotationItem")

View File

@ -3,11 +3,12 @@ package com.interplug.qcast.biz.master;
import com.interplug.qcast.biz.master.dto.*; import com.interplug.qcast.biz.master.dto.*;
import com.interplug.qcast.biz.master.dto.construction.ApiConstructionResponse; import com.interplug.qcast.biz.master.dto.construction.ApiConstructionResponse;
import com.interplug.qcast.biz.master.dto.moduletype.ApiModuleTpResponse; import com.interplug.qcast.biz.master.dto.moduletype.ApiModuleTpResponse;
import com.interplug.qcast.biz.master.dto.pcs.autorecommend.ApiPcsAutoRecommendRequest; import com.interplug.qcast.biz.master.dto.pcs.ApiPcsInfoRequest;
import com.interplug.qcast.biz.master.dto.pcs.autorecommend.ApiPcsAutoRecommendResponse; import com.interplug.qcast.biz.master.dto.pcs.autorecommend.ApiPcsAutoRecommendResponse;
import com.interplug.qcast.biz.master.dto.pcs.maker.ApiPcsMakerResponse; import com.interplug.qcast.biz.master.dto.pcs.maker.ApiPcsMakerResponse;
import com.interplug.qcast.biz.master.dto.pcs.series.ApiPcsSeriesItemRequest; import com.interplug.qcast.biz.master.dto.pcs.series.ApiPcsSeriesItemRequest;
import com.interplug.qcast.biz.master.dto.pcs.series.ApiPcsSeriesItemResponse; import com.interplug.qcast.biz.master.dto.pcs.series.ApiPcsSeriesItemResponse;
import com.interplug.qcast.biz.master.dto.pcs.voltagestepup.ApiPcsVoltageStepUpResponse;
import com.interplug.qcast.biz.master.dto.roofmaterial.ApiRoofMaterialResponse; import com.interplug.qcast.biz.master.dto.roofmaterial.ApiRoofMaterialResponse;
import com.interplug.qcast.biz.master.dto.trestle.ApiTrestleResponse; import com.interplug.qcast.biz.master.dto.trestle.ApiTrestleResponse;
import com.interplug.qcast.biz.master.dto.trestle.detail.ApiTrestleDetailResponse; import com.interplug.qcast.biz.master.dto.trestle.detail.ApiTrestleDetailResponse;
@ -88,5 +89,10 @@ public interface MasterService {
// 시리즈 자동으로 추천 PCS 정보 조회 // 시리즈 자동으로 추천 PCS 정보 조회
@PostMapping("/pcsAutoRecommendList") @PostMapping("/pcsAutoRecommendList")
public ApiResponse<ApiPcsAutoRecommendResponse> getPcsAutoRecommendList( public ApiResponse<ApiPcsAutoRecommendResponse> getPcsAutoRecommendList(
@RequestBody ApiPcsAutoRecommendRequest req); @RequestBody ApiPcsInfoRequest req);
// PCS 승압설정 정보 조회
@PostMapping("/pcsVoltageStepUpList")
public ApiResponse<ApiPcsVoltageStepUpResponse> getPcsVoltageStepUpList(
@RequestBody ApiPcsInfoRequest req);
} }

View File

@ -1,6 +1,5 @@
package com.interplug.qcast.biz.master.dto.pcs.autorecommend; package com.interplug.qcast.biz.master.dto.pcs;
import com.interplug.qcast.biz.master.dto.pcs.ApiPcsModuleItemRequest;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import java.util.List; import java.util.List;
@ -9,8 +8,8 @@ import lombok.Setter;
@Getter @Getter
@Setter @Setter
@Schema(description = "시리즈 중 자동으로 추천 PCS 정보 조회 요청 객체") @Schema(description = "PCS 정보 조회 요청 객체")
public class ApiPcsAutoRecommendRequest { public class ApiPcsInfoRequest {
@Schema(description = "Max접속(과적)여부") @Schema(description = "Max접속(과적)여부")
@NotNull @NotNull
public String maxConnYn; public String maxConnYn;
@ -29,9 +28,9 @@ public class ApiPcsAutoRecommendRequest {
@Schema(description = "지붕면별 목록") @Schema(description = "지붕면별 목록")
@NotNull @NotNull
public List<ApiPcsAutoRecommendRoofSurfaceRequest> roofSurfaceList; public List<ApiPcsRoofSurfaceRequest> roofSurfaceList;
@Schema(description = "PCS아이템ID") @Schema(description = "PCS아이템ID")
@NotNull @NotNull
public List<ApiPcsAutoRecommendPcsItemRequest> pcsItemList; public List<ApiPcsItemRequest> pcsItemList;
} }

View File

@ -1,4 +1,4 @@
package com.interplug.qcast.biz.master.dto.pcs.autorecommend; package com.interplug.qcast.biz.master.dto.pcs;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
@ -7,8 +7,8 @@ import lombok.Setter;
@Getter @Getter
@Setter @Setter
@Schema(description = "시리즈 중 자동으로 추천 PCS 정보 조회 PCS 아이템 요청 객체") @Schema(description = "PCS 아이템 요청 객체")
public class ApiPcsAutoRecommendPcsItemRequest { public class ApiPcsItemRequest {
@Schema(description = "PCS제품ID", maxLength = 20) @Schema(description = "PCS제품ID", maxLength = 20)
@NotNull @NotNull
private String itemId; private String itemId;
@ -20,4 +20,7 @@ public class ApiPcsAutoRecommendPcsItemRequest {
@Schema(description = "PCS시리즈코드", maxLength = 10) @Schema(description = "PCS시리즈코드", maxLength = 10)
@NotNull @NotNull
private String pcsSerCd; private String pcsSerCd;
@Schema(description = "선택한직렬매수(적용직렬매수)", maxLength = 10)
private Integer applySerQty;
} }

View File

@ -1,4 +1,4 @@
package com.interplug.qcast.biz.master.dto.pcs.autorecommend; package com.interplug.qcast.biz.master.dto.pcs;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
@ -8,7 +8,7 @@ import lombok.Setter;
@Getter @Getter
@Setter @Setter
@Schema(description = "PCS 모듈아이템 ID 요청 객체") @Schema(description = "PCS 모듈아이템 ID 요청 객체")
public class ApiPcsAutoRecommendModuleItemIdRequest { public class ApiPcsModuleItemIdRequest {
@Schema(description = "제품ID", maxLength = 20) @Schema(description = "제품ID", maxLength = 20)
@NotNull @NotNull
private String itemId; private String itemId;

View File

@ -1,4 +1,4 @@
package com.interplug.qcast.biz.master.dto.pcs.autorecommend; package com.interplug.qcast.biz.master.dto.pcs;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
@ -8,8 +8,8 @@ import lombok.Setter;
@Getter @Getter
@Setter @Setter
@Schema(description = "시리즈 중 자동으로 추천 PCS 정보 조회 지붕면 요청 객체") @Schema(description = "PCS 아이템 지붕면 요청 객체")
public class ApiPcsAutoRecommendRoofSurfaceRequest { public class ApiPcsRoofSurfaceRequest {
@Schema(description = "지붕면ID") @Schema(description = "지붕면ID")
@NotNull @NotNull
private String roofSurfaceId; private String roofSurfaceId;
@ -24,5 +24,5 @@ public class ApiPcsAutoRecommendRoofSurfaceRequest {
@Schema(description = "모듈아이템 List(도면에 설치된 모듈)") @Schema(description = "모듈아이템 List(도면에 설치된 모듈)")
@NotNull @NotNull
private List<ApiPcsAutoRecommendModuleItemIdRequest> moduleList; private List<ApiPcsModuleItemIdRequest> moduleList;
} }

View File

@ -0,0 +1,29 @@
package com.interplug.qcast.biz.master.dto.pcs.voltagestepup;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
@Schema(description = "PCS 승압설정 정보 조회 연결함목록 응답 객체")
public class ApiPcsVoltageStepUpConnResponse {
@Schema(description = "제품ID", maxLength = 20)
private String itemId;
@Schema(description = "제품명", maxLength = 100)
private String itemNm;
@Schema(description = "제품명(Basic Material)", maxLength = 40)
private String goodsNo;
@Schema(description = "병렬수(회로수)", maxLength = 10)
private Integer connMaxParalCnt;
@Schema(description = "최대전력", maxLength = 10)
private Integer connAllowCur;
@Schema(description = "승압병렬수", maxLength = 10)
private Integer vStuParalCnt;
}

View File

@ -0,0 +1,20 @@
package com.interplug.qcast.biz.master.dto.pcs.voltagestepup;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
@Schema(description = "PCS 승압설정 정보 조회 옵션목록(모니터선택) 응답 객체")
public class ApiPcsVoltageStepUpOptionResponse {
@Schema(description = "PCS옵션코드", maxLength = 10)
private String pcsOptCd;
@Schema(description = "PCS옵션코드명", maxLength = 100)
private String pcsOptNm;
@Schema(description = "PCS옵션코드명(일본)", maxLength = 100)
private String pcsOptNmJp;
}

View File

@ -0,0 +1,33 @@
package com.interplug.qcast.biz.master.dto.pcs.voltagestepup;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.List;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
@Schema(description = "PCS 승압설정 정보 조회 PCS 아이템 응답 객체")
public class ApiPcsVoltageStepUpPcsItemResponse {
@Schema(description = "PCS메이커코드", maxLength = 10)
private String pcsMkrCd;
@Schema(description = "PCS시리즈코드", maxLength = 10)
private String pcsSerCd;
@Schema(description = "PCS 아이템 ID", maxLength = 20)
private String itemId;
@Schema(description = "PCS 제품명", maxLength = 100)
private String itemNm;
@Schema(description = "PCS 제품명(Basic Material)")
private String goodsNo;
@Schema(description = "직렬매수 목록")
private List<ApiPcsVoltageStepUpSerQtyResponse> serQtyList;
@Schema(description = "연결함목록")
private List<ApiPcsVoltageStepUpConnResponse> connList;
}

View File

@ -0,0 +1,18 @@
package com.interplug.qcast.biz.master.dto.pcs.voltagestepup;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.List;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
@Schema(description = "PCS 승압설정 정보 조회 응답 객체")
public class ApiPcsVoltageStepUpResponse {
@Schema(description = "PCS 아이템 목록")
private List<ApiPcsVoltageStepUpPcsItemResponse> pcsItemList;
@Schema(description = "옵션목록(모니터선택)")
private List<ApiPcsVoltageStepUpOptionResponse> optionList;
}

View File

@ -0,0 +1,17 @@
package com.interplug.qcast.biz.master.dto.pcs.voltagestepup;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
@Schema(description = "PCS 승압설정 정보 조회 모듈아이템 List(도면에 설치된 모듈) 응답 객체")
public class ApiPcsVoltageStepUpRoofSurfaceModuleResponse {
@Schema(description = "제품ID", maxLength = 20)
private String itemId;
@Schema(description = "회로구성번호((1-1,1-1,1-2,1-2,2-1,2-2.....))", maxLength = 10)
private String circuit;
}

View File

@ -0,0 +1,24 @@
package com.interplug.qcast.biz.master.dto.pcs.voltagestepup;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.List;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
@Schema(description = "PCS 승압설정 정보 조회 지붕면 응답 객체")
public class ApiPcsVoltageStepUpRoofSurfaceResponse {
@Schema(description = "지붕면ID", maxLength = 50)
private String roofSurfaceId;
@Schema(description = "지붕면방위(동,서,남,북,동남,서북 등등)", maxLength = 10)
private String roofSurface;
@Schema(description = "촌수(경사도)", maxLength = 10)
private Double roofSurfaceIncl;
@Schema(description = "모듈아이템 List(도면에 설치된 모듈)")
private List<ApiPcsVoltageStepUpRoofSurfaceModuleResponse> moduleList;
}

View File

@ -0,0 +1,27 @@
package com.interplug.qcast.biz.master.dto.pcs.voltagestepup;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.List;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
@Schema(description = "PCS 승압설정 정보 조회 직렬매수 응답 객체")
public class ApiPcsVoltageStepUpSerQtyResponse {
@Schema(description = "직렬매수", maxLength = 10)
private Integer serQty;
@Schema(description = "병렬수(회로수)", maxLength = 10)
private Integer paralQty;
@Schema(description = "추천여부", maxLength = 1)
private String rmdYn;
@Schema(description = "사용가능여부", maxLength = 1)
private String usePossYn;
@Schema(description = "지붕면 목록")
private List<ApiPcsVoltageStepUpRoofSurfaceResponse> roofSurfaceList;
}