feat: PCS 시리즈 아이템 목록 조회 api 추가

This commit is contained in:
Daseul Kim 2025-01-13 10:40:35 +09:00
parent b0d6de0d58
commit af03f7f33e
7 changed files with 183 additions and 53 deletions

View File

@ -245,6 +245,14 @@ public class MasterController {
return masterService.getPcsMakerList(pcsMkrCd, mixMatlNo);
}
@Operation(description = "PCS 시리즈 아이템 목록을 조회한다.")
@PostMapping("/getPcsSeriesItemList")
public ApiResponse<ApiPcsSeriesItemListResponse> getPcsSeriesItemList(
@RequestBody ApiPcsSeriesItemListRequest pcsSeriesItemListRequest) {
return masterService.getPcsSeriesItemList(pcsSeriesItemListRequest);
}
/** remote api group : quotation */
@Operation(description = "견적서 아이템을 조회한다.")
@PostMapping("/getQuotationItem")
public ApiResponse<ApiQuotationItemResponse> getQuotationItem(

View File

@ -1,12 +1,14 @@
package com.interplug.qcast.biz.master;
import com.interplug.qcast.biz.master.dto.*;
import com.interplug.qcast.config.openfeign.OpenFeignConfig;
import java.util.List;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
// @FeignClient(name = "master", url = "${feign.master.url}")
@FeignClient(name = "master", url = "${qsp.url}/api/master")
public interface MasterService {
@ -65,6 +67,12 @@ public interface MasterService {
// PCS Maker, 시리즈 목록 조회
@GetMapping("/pcsMakerList")
public ApiResponse<ApiPcsMakerResponse> getPcsMakerList(@RequestParam(required = false) String pcsMkrCd,
public ApiResponse<ApiPcsMakerResponse> getPcsMakerList(
@RequestParam(required = false) String pcsMkrCd,
@RequestParam(required = false) String mixMatlNo);
// PCS 시리즈 아이템 목록 조회
@PostMapping("/pcsSeriesItemList")
public ApiResponse<ApiPcsSeriesItemListResponse> getPcsSeriesItemList(
@RequestBody ApiPcsSeriesItemListRequest req);
}

View File

@ -0,0 +1,18 @@
package com.interplug.qcast.biz.master.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
@Schema(description = "PCS 시리즈 아이템 목록 조회 요청 객체 모듈아이템")
public class ApiPcsSeriesItemListModuleRequest {
@Schema(description = "제품ID", maxLength = 20)
@NotNull
public String itemId;
@Schema(description = "혼합모듈번호", maxLength = 10)
public Integer mixMatlNo;
}

View File

@ -0,0 +1,15 @@
package com.interplug.qcast.biz.master.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
@Schema(description = "PCS 시리즈 아이템 목록 조회 요청 객체 PCS시리즈코드")
public class ApiPcsSeriesItemListPcsCodeRequest {
@Schema(description = "PCS시리즈코드", maxLength = 10)
@NotNull
public String pcsSerCd;
}

View File

@ -0,0 +1,24 @@
package com.interplug.qcast.biz.master.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import java.util.List;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
@Schema(description = "PCS 시리즈 아이템 목록 조회 요청 객체")
public class ApiPcsSeriesItemListRequest {
@Schema(description = "PCS메이커코드")
@NotNull
public String pcsMkrCd;
@Schema(description = "PCS시리즈코드 목록")
@NotNull
public List<ApiPcsSeriesItemListPcsCodeRequest> pcsSerList;
@Schema(description = "Module Item ID")
@NotNull
public List<ApiPcsSeriesItemListModuleRequest> moduleItemList;
}

View File

@ -0,0 +1,55 @@
package com.interplug.qcast.biz.master.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
@Schema(description = "PCS 시리즈 아이템 목록 조회 응답 객체")
public class ApiPcsSeriesItemListResponse {
@Schema(description = "PCS메이커코드")
public String pcsMkrCd;
@Schema(description = "PCS메이커코드명")
public String pcsMkrNm;
@Schema(description = "PCS메이커코드명(일본)")
public String pcsMkrNmJp;
@Schema(description = "PCS시리즈멀티선택타입(멀티:MULTI, 단독:SINGLE, 단독(병설):SINGLE-P)")
public String pcsMkrMultiType;
@Schema(description = "PCS시리즈코드")
public String pcsSerCd;
@Schema(description = "PCS시리즈코드명")
public String pcsSerNm;
@Schema(description = "PCS시리즈코드명(일본)")
public String pcsSerNmJp;
@Schema(description = "PCS시리즈 병설 여부")
public String pcsSerParallelYn;
@Schema(description = "제품ID")
public String itemId;
@Schema(description = "제품명")
public String itemNm;
@Schema(description = "제품명(Basic Material)")
public String goodsNo;
@Schema(description = "정격출력(kw)")
public Integer ratedCapa;
@Schema(description = "회로수(최대병렬수)")
public Integer paralMax;
@Schema(description = "표준매수(모듈표준매수)")
public String moduleStdQty;
@Schema(description = "최대매수(모듈최대매수)")
public String moduleMaxQty;
}

View File

@ -1,5 +1,6 @@
package com.interplug.qcast.biz.master.dto;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
@ -7,6 +8,7 @@ import lombok.Setter;
@Getter
@Setter
@Schema(description = "API 결과 데이터")
@JsonIgnoreProperties(ignoreUnknown = true)
public class ApiResultResponse {
@Schema(description = "결과 코드")
private Integer code;