DTO - description 추가, 전시제품 API 추가 , 보증서 발행완료 물건 엑셀다운로드 API추가

This commit is contained in:
DESKTOP-6ARNG1Q\dlsgk 2024-09-20 17:31:53 +09:00
parent 32fa7bdecd
commit b49cd9e6b9
29 changed files with 646 additions and 140 deletions

View File

@ -0,0 +1,29 @@
package com.interplug.qcast.biz.displayItem;
import com.interplug.qcast.biz.displayItem.dto.DisplayItemRequest;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
@RequestMapping("/api/display-item")
@RequiredArgsConstructor
@Tag(name = "DisplayItemController", description = "전시(표시) 제품 관련 API")
public class DisplayItemController {
private final DisplayItemService displayItemService;
@Operation(description = "전시제품 정보를 등록/수정한다. (동기화)")
@GetMapping("/display-item-save")
@ResponseStatus(HttpStatus.OK)
public void setStoreDisplayItemSave(DisplayItemRequest displayItemRequest) throws Exception {
displayItemService.setStoreDisplayItemSave(displayItemRequest);
}
}

View File

@ -0,0 +1,10 @@
package com.interplug.qcast.biz.displayItem;
import com.interplug.qcast.biz.displayItem.dto.DisplayItemRequest;
import org.apache.ibatis.annotations.Mapper;
@Mapper
interface DisplayItemMapper {
int setStoreDisplayItemSave(DisplayItemRequest displayItemRequest) throws Exception;
}

View File

@ -0,0 +1,18 @@
package com.interplug.qcast.biz.displayItem;
import com.interplug.qcast.biz.displayItem.dto.DisplayItemRequest;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@Slf4j
@Service
@RequiredArgsConstructor
public class DisplayItemService {
private final DisplayItemMapper displayItemMapper;
public void setStoreDisplayItemSave(DisplayItemRequest displayItemRequest) throws Exception {
displayItemMapper.setStoreDisplayItemSave(displayItemRequest);
}
}

View File

@ -0,0 +1,24 @@
package com.interplug.qcast.biz.displayItem.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class DisplayItemRequest {
@Schema(description = "1nd or 2nd Store Id ")
private String saleStoreId;
@Schema(description = "Deisplay Type Code ")
private String dispTypeCd;
@Schema(description = "Customer Product Id ")
private String itemId;
@Schema(description = "Start Date ")
private String startDate;
@Schema(description = "End Date ")
private String endDate;
@Schema(description = "Delete YN ")
private String delFlg;
@Schema(description = "Inputted Date ")
private String registDatetime;
@Schema(description = "Updated Date ")
private String lastEditDatetime;
}

View File

@ -12,7 +12,7 @@ import java.util.List;
@Slf4j
@RestController
@RequestMapping("/api/excel-down/")
@RequestMapping("/api/excel-down")
@RequiredArgsConstructor
@Tag(name = "ExcelDownController", description = "과거데이터 엑셀다운로드 API")
public class ExcelDownController {
@ -21,7 +21,7 @@ public class ExcelDownController {
@Operation(description = "과거데이터_견적 엑셀다운로드 조회")
@PostMapping("/quot-excl-down-data")
@ResponseStatus(HttpStatus.OK)
public QuotResponse quotExclDownData(@RequestBody QuotRequest quotRequest) {
public QuotResponse quotExclDownData(@RequestBody QuotRequest quotRequest) throws Exception {
List<QuotPlanResponse> quotPlanExclDownData = excelDownService.selectQuotPlanExclDownData(quotRequest);
List<QuotItemResponse> quotItemExclDownData = excelDownService.selectQuotItemExclDownData(quotRequest);
@ -36,9 +36,16 @@ public class ExcelDownController {
@Operation(description = "과거데이터_자연재해보상입력 엑셀다운로드 조회")
@PostMapping("/ntr-cts-cmp-excl-down-data")
@ResponseStatus(HttpStatus.OK)
public List<NtrCtsCmpResponse> ntrCtsCmpExclDownData(@RequestBody NtrCtsCmpRequest ntrCtsCmpRequest) {
public List<NtrCtsCmpResponse> ntrCtsCmpExclDownData(@RequestBody NtrCtsCmpRequest ntrCtsCmpRequest) throws Exception {
return excelDownService.selectNtrCtsCmpExclDownData(ntrCtsCmpRequest);
}
@Operation(description = "과거데이터_보증서발행완료 물건 엑셀다운로드 조회")
@PostMapping("/warranty-issued-excl-down-data")
@ResponseStatus(HttpStatus.OK)
public List<CmplWrntIsueResponse> warrantyIssuedDataExclDownData(@RequestBody CmplWrntIsueRequest cmplWrntIsueRequest) throws Exception {
return excelDownService.selectWarrantyIssuedDataExclDownData(cmplWrntIsueRequest);
}
}

View File

@ -7,9 +7,11 @@ import java.util.List;
@Mapper
interface ExcelDownMapper {
List<QuotPlanResponse> selectQuotPlanExclDownData(QuotRequest quotRequest);
List<QuotPlanResponse> selectQuotPlanExclDownData(QuotRequest quotRequest) throws Exception;
List<QuotItemResponse> selectQuotItemExclDownData(QuotRequest quotRequest);
List<QuotItemResponse> selectQuotItemExclDownData(QuotRequest quotRequest) throws Exception;
List<NtrCtsCmpResponse> selectNtrCtsCmpExclDownData(NtrCtsCmpRequest ntrCtsCmpRequest);
List<NtrCtsCmpResponse> selectNtrCtsCmpExclDownData(NtrCtsCmpRequest ntrCtsCmpRequest) throws Exception;
List<CmplWrntIsueResponse> selectWarrantyIssuedDataExclDownData(CmplWrntIsueRequest cmplWrntIsueRequest) throws Exception;
}

View File

@ -13,15 +13,19 @@ import java.util.List;
public class ExcelDownService {
private final ExcelDownMapper excelDownMapper;
public List<QuotPlanResponse> selectQuotPlanExclDownData(QuotRequest quotRequest) {
public List<QuotPlanResponse> selectQuotPlanExclDownData(QuotRequest quotRequest) throws Exception {
return excelDownMapper.selectQuotPlanExclDownData(quotRequest);
}
public List<QuotItemResponse> selectQuotItemExclDownData(QuotRequest quotRequest) {
public List<QuotItemResponse> selectQuotItemExclDownData(QuotRequest quotRequest) throws Exception {
return excelDownMapper.selectQuotItemExclDownData(quotRequest);
}
public List<NtrCtsCmpResponse> selectNtrCtsCmpExclDownData(NtrCtsCmpRequest ntrCtsCmpRequest) {
public List<NtrCtsCmpResponse> selectNtrCtsCmpExclDownData(NtrCtsCmpRequest ntrCtsCmpRequest) throws Exception {
return excelDownMapper.selectNtrCtsCmpExclDownData(ntrCtsCmpRequest);
}
public List<CmplWrntIsueResponse> selectWarrantyIssuedDataExclDownData(CmplWrntIsueRequest cmplWrntIsueRequest) throws Exception {
return excelDownMapper.selectWarrantyIssuedDataExclDownData(cmplWrntIsueRequest);
}
}

View File

@ -0,0 +1,24 @@
package com.interplug.qcast.biz.excelDown.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class CmplWrntIsueRequest {
@Schema(description = "과거일자 기준일")
private String sch_baseDt;
@Schema(description = "기간 구분 ( 보증서발급일, 보증서신청일 )")
private String sch_dtType;
@Schema(description = "시작일")
private String sch_startDt;
@Schema(description = "종료일")
private String sch_endDt;
@Schema(description = "물건번호")
private String sch_objectNo;
@Schema(description = "물건명")
private String sch_objectNm;
@Schema(description = "판매대리점Id")
private String sch_saleStoreId;
}

View File

@ -0,0 +1,98 @@
package com.interplug.qcast.biz.excelDown.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class CmplWrntIsueResponse {
@Schema(description = "부동산 관리 번호")
private String objectNo;
@Schema(description = "계획")
private String planNo;
@Schema(description = "보증서 신청일")
private String guaranteeApplyDate;
@Schema(description = "보증서 승인일")
private String guaranteeApprovalDate;
@Schema(description = "보증서 발행일")
private String guaranteeIssueDate;
@Schema(description = "보증서 송부일")
private String guaranteeSendDate;
@Schema(description = "자연재해보상가입 自然災害補償")
private String naturalDisasterCopensate;
@Schema(description = "보증서 출처 사이트 표시 플래그")
private String guaranteeOutputterDisplay;
@Schema(description = "Max 패키지")
private String maxPackage;
@Schema(description = "보증 연수")
private String equipGuaranteeYears;
@Schema(description = "일조 보증 연수")
private String sunshineCopensateYears;
@Schema(description = "보증서 송부 수취인")
private String guaranteeReceiveUser;
@Schema(description = "보증서 송부 수취인 후리가나")
private String guaranteeReceiveUserKana;
@Schema(description = "보증서 송부 수취인 전화 번호")
private String guaranteeReceiveUserTel;
@Schema(description = "보증서 송부 수취인 우편 번호")
private String guaranteeReceiveUserZipNo;
@Schema(description = "보증서 송부 수취인 도도부현")
private String guaranteeReceiveUserPrefId;
@Schema(description = "보증서 송부 수취인 주소")
private String guaranteeReceiveUserZipAddress;
@Schema(description = "설치 장소 물건명")
private String setupPlaceObjectName;
@Schema(description = "설치 장소 우편 번호")
private String setupPlaceZipNo;
@Schema(description = "설치 장소 도도부현")
private String setupPlacePrefId;
@Schema(description = "설치 장소 주소")
private String setupPlaceAddress;
@Schema(description = "보증서 송부 우편 번호")
private String guaranteeSendZipNo;
@Schema(description = "보증서 송부처 주소")
private String guaranteeSendAddress;
@Schema(description = "보증서 송부처 대리점명")
private String guaranteeSendStore;
@Schema(description = "보증서 송부처 대리점명 담당자")
private String guaranteeSendStoreCharger;
@Schema(description = "출력 대비표 판매점명")
private String outputCompSaleStoreName;
@Schema(description = "보증서 판매점 우편 번호")
private String guaranteeSaleStoreZipNo;
@Schema(description = "보증서 판매점 주소")
private String guaranteeSaleStoreAddress;
@Schema(description = "보증서 판매점 전화 번호")
private String guaranteeSaleStoreTel;
@Schema(description = "협력일")
private String cooperationDate;
@Schema(description = "가대 보증 대상외")
private String standGuaranteeNoTarget;
@Schema(description = "가대 보증 세트")
private String standGuaranteeSet;
@Schema(description = "자연재해보상통지일 ")
private String naturalDisasterCopensateNotifiedDate;
@Schema(description = "연장기기 보증 통지일")
private String equipGuaranteeNotifiedDate;
@Schema(description = "시공일")
private String constructDate;
@Schema(description = "시공 Id")
private String constructId;
@Schema(description = "시공 Idⅱ")
private String constructId2;
@Schema(description = "보증서 송부처 담당자명")
private String guaranteePersonName;
@Schema(description = "보증서 송부처 e-mail")
private String guaranteePersonMail;
@Schema(description = "보증서 송부처 전화 번호")
private String guaranteePersonTel;
@Schema(description = "보증서 송부처")
private String guaranteeRewmarks;
@Schema(description = "비고")
private String guaranteeOutputRewmarks;
@Schema(description = "최종 업데이트자")
private String lastEditUser;
@Schema(description = "최종 갱신시")
private String lastEditDatetime;
}

View File

@ -1,18 +1,24 @@
package com.interplug.qcast.biz.excelDown.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
//@Data
@Getter
@Setter
public class NtrCtsCmpRequest {
private String sch_baseDt; /* 과거일자 기준일 */
private String sch_dtType; /* 기간 구분 ( 자연재해보상통지일, 보증서발급일, 설치일 ) */
private String sch_startDt; /* 시작일 */
private String sch_endDt; /* 종료일 */
private String sch_objectNo; /* 물건번호 */
private String sch_objectNm; /* 물건명 */
private String sch_saleStoreId; /* 판매대리점Id */
@Schema(description = "과거일자 기준일")
private String sch_baseDt;
@Schema(description = "기간 구분 ( 자연재해보상통지일, 보증서발급일, 설치일 )")
private String sch_dtType;
@Schema(description = "시작일")
private String sch_startDt;
@Schema(description = "종료일")
private String sch_endDt;
@Schema(description = "물건번호")
private String sch_objectNo;
@Schema(description = "물건명")
private String sch_objectNm;
@Schema(description = "판매대리점Id")
private String sch_saleStoreId;
}

View File

@ -1,39 +1,64 @@
package com.interplug.qcast.biz.excelDown.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
//@Data
@Getter
@Setter
public class NtrCtsCmpResponse {
private String guaranteeReceiveUser; /* 구매자 성명 購入者 */
private String objectNo; /* 물건번호 お客様コード */
private String guaranteeReceiveUserPrefName; /* 구매자 도도부현 都道府県 */
private String guaranteeReceiveUserZipNo; /* 구매자 우편번호 購入者郵便番号 */
private String guaranteeReceiveUserZipAddress; /* 구매자 주소 購入者住所 */
private String setupPlaceObjectName; /* 견적 작성시 안건명 物件名 */
private String prefName; /* 물건 광역자치단체 物件都道府県 */
private String setupPlaceAddress; /* 물건 주소 物件住所 */
private String guaranteeSendZipNo; /* 보증서 송부처 우편번호 保証書送付先郵便番号 */
private String guaranteeSendAddress; /* 보증서 송부처 주소 保証書送付先住所 */
private String cooperationDate; /* 설치일 設置日 */
private String guaranteeIssueDate; /* 보증서 발급일 保証書発行日 */
private String naturalDisasterCopensateNotifiedDate; /* 자연재해보상 통지일 自然災害補償通知日 */
private String equipGuaranteeNotifiedDate; /* 연장기기보증 통지일 延長機器保証通知日 */
private String totPnow; /* 태양전지용량 太陽電池容量 */
private String item; /* 판낼수량/판넬형식 パネル数量 */
private String outputCompSaleStoreName; /* 판매점명 販売店名 */
private String guaranteeRewmarks; /* 비고 備考 */
private String houseClassCd; /* 주택종류 住宅種別 */
private String naturalDisasterCopensateApply; /* 자연재해보상가입(신청시) 自然災害補償_申請時 */
private String naturalDisasterCopensate; /* 자연재해보상가입 自然災害補償 */
private String naturalDisasterCopensateRetroact; /* 자연재해보상(소급) 自然災害補償_遡及 */
private String maxPackage; /* MAXパッケージ */
private String equipGuaranteeYears; /* 기기보증연수 機器保証年数 */
private String equipGuaranteeYearsRetroact; /* 기기보증연수(소급) 機器保証年数_遡及 */
private String sunshineCopensateYears; /* 일조보상연수 日照補償年数 */
@Schema(description = "구매자 성명 購入者")
private String guaranteeReceiveUser;
@Schema(description = "물건번호 お客様コード")
private String objectNo;
@Schema(description = "구매자 도도부현 都道府県")
private String guaranteeReceiveUserPrefName;
@Schema(description = "구매자 우편번호 購入者郵便番号")
private String guaranteeReceiveUserZipNo;
@Schema(description = "구매자 주소 購入者住所")
private String guaranteeReceiveUserZipAddress;
@Schema(description = "견적 작성시 안건명 物件名")
private String setupPlaceObjectName;
@Schema(description = "물건 광역자치단체 物件都道府県")
private String prefName;
@Schema(description = "물건 주소 物件住所")
private String setupPlaceAddress;
@Schema(description = "보증서 송부처 우편번호 保証書送付先郵便番号")
private String guaranteeSendZipNo;
@Schema(description = "보증서 송부처 주소 保証書送付先住所")
private String guaranteeSendAddress;
@Schema(description = "설치일 設置日")
private String cooperationDate;
@Schema(description = "보증서 발급일 保証書発行日")
private String guaranteeIssueDate;
@Schema(description = "자연재해보상 통지일 自然災害補償通知日")
private String naturalDisasterCopensateNotifiedDate;
@Schema(description = "연장기기보증 통지일 延長機器保証通知日")
private String equipGuaranteeNotifiedDate;
@Schema(description = "태양전지용량 太陽電池容量")
private String totPnow;
@Schema(description = "판낼수량/판넬형식 パネル数量")
private String item;
@Schema(description = "판매점명 販売店名")
private String outputCompSaleStoreName;
@Schema(description = "비고 備考")
private String guaranteeRewmarks;
@Schema(description = "주택종류 住宅種別")
private String houseClassCd;
@Schema(description = "자연재해보상가입(신청시) 自然災害補償_申請時")
private String naturalDisasterCopensateApply;
@Schema(description = "자연재해보상가입 自然災害補償")
private String naturalDisasterCopensate;
@Schema(description = "자연재해보상(소급) 自然災害補償_遡及")
private String naturalDisasterCopensateRetroact;
@Schema(description = "MAXパッケージ")
private String maxPackage;
@Schema(description = "기기보증연수 機器保証年数")
private String equipGuaranteeYears;
@Schema(description = "기기보증연수(소급) 機器保証年数_遡及")
private String equipGuaranteeYearsRetroact;
@Schema(description = "일조보상연수 日照補償年数")
private String sunshineCopensateYears;
}

View File

@ -1,5 +1,6 @@
package com.interplug.qcast.biz.excelDown.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
@ -8,17 +9,30 @@ import lombok.Setter;
@Getter
@Setter
public class QuotItemResponse {
private String objectNo; /* 물건번호 物件番号 */
private String planNo; /* 플랜 案件番号 */
private String objectName; /* 물건명 案件名 */
private String saleStoreName; /* 1차 판매점명 一次販売店名 */
private String soldSaleStoreName; /*작성 판매점 作成販売店 */
private String prefName; /* 도도부현 エリア */
private String businessTeam; /* 영업팀(판매점등록) 担当課支店 */
private String saleStoreId; /* 견적서작성 판매점 ID 販売店ID */
private String estimateDetailCreateDate; /* 견적작성일 見積作成日*/
private String itemNo; /* 고객용제품명 品番 */
private String itemName; /* basicmaterial 品名 */
private String amount; /* 수량 明細 */
private String salePrice; /* 판매단가 販売単価 */
@Schema(description = "물건번호 物件番号")
private String objectNo;
@Schema(description = "플랜 案件番号")
private String planNo;
@Schema(description = "물건명 案件名")
private String objectName;
@Schema(description = "1차 판매점명 一次販売店名")
private String saleStoreName;
@Schema(description = "작성 판매점 作成販売店")
private String soldSaleStoreName;
@Schema(description = "도도부현 エリア")
private String prefName;
@Schema(description = "영업팀(판매점등록) 担当課支店")
private String businessTeam;
@Schema(description = "견적서작성 판매점 ID 販売店ID")
private String saleStoreId;
@Schema(description = "견적작성일 見積作成日")
private String estimateDetailCreateDate;
@Schema(description = "고객용제품명 品番")
private String itemNo;
@Schema(description = "basicmaterial 品名")
private String itemName;
@Schema(description = "수량 明細")
private String amount;
@Schema(description = "판매단가 販売単価")
private String salePrice;
}

View File

@ -1,66 +1,121 @@
package com.interplug.qcast.biz.excelDown.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
//@Data
@Getter
@Setter
public class QuotPlanResponse {
private String objectNo; /* 물건번호 物件番号 */
private String planNo; /* 플랜 案件番号 */
private String lastEditDatetime; /* 플랜정보 최신 갱신일시 プラン情報最新更新日時 */
private String saleStoreName; /* 판매대리점 販売代理店 */
private String soldSaleStoreName; /* 1차대리점명 一次代理店名 */
private String soldSaleStoreId; /* 1차대리점ID 一次代理店ID */
private String objectName; /* 물건명 物件名 */
private String northArrangement; /* 북면배치 北面配置 */
private String workProgressStatusName; /* 수주예상 受注見込 */
private String zipNo; /* 우편번호 郵便番号 */
private String prefName; /* 도도부현 都道府県 */
private String address; /* 주소 住所 */
private String weatherPoint; /* 가상지점 気象地点 */
private String capacity; /* 용량 容量 */
private String remarks; /* 비고 備考 */
private String estimateDetailCreateDate; /* 견적 작성일 見積作成日 */
private String specificationConfirmDate; /* 사양 확인일 仕様確認日 */
private String businessCharger; /* 영업 담당자(판매점 등록) 営業担当者_販売店登録 */
private String businessTeam; /* 영업팀(판매점 등록) 営業チーム_販売店登録 */
private String objectStatus; /* 주택구분 住宅区分 */
private String managerLastEditDatetime; /* 관리자 최종 갱신일시 管理者最終更新日時 */
private String saleStoreId; /* 최종갱신판매점ID 最終更新販売店ID */
private String lastEditUser; /* 최종갱신자 最終更新者 */
private String rofTyp; /* 지붕종류 屋根種類 */
private String roofMaterialNm; /* 지붕재 屋根材*/
private String supportMeakerNm; /* 가대메이커 架台メーカ */
private String supportMethodNm; /* 지지금구 支持金具 */
private String snowfall; /* 적설수준 積雪レベル */
private String cnsLvl; /* 시공레벨 施工レベル */
private String height; /* 설치높이 設置高さ */
private String ctndClsf; /* 면조도구분 面粗度区分 */
private String athCpc; /* 인정용량 認定容量 */
private String saleStoreLevel; /* 판매점모녀관계 販売店親子関係 */
private String direction; /* 방위 方位 */
private String moduleType; /* 모듈종류 モジュール種類 */
private String moduleNum; /* 설치매수 設置枚数 */
private String roofAngle; /* 지붕경사 屋根勾配 */
private String pcType; /* 파워콘종류 パワコン種類 */
private String pcNum; /* 파워콘대수 パワコン台数 */
private String boxType; /* 접속상자종류 接続箱種類 */
private String boxNum; /* 접속상자수 接続箱数 */
private String cableType; /* 케이블종류 ケーブル種類 */
private String cableNum; /* 케이블개수 ケーブル本数 */
private String boostType; /* 승압회로종류 昇圧回路種類 */
private String boostNum; /* 승압회로대수 昇圧回路台数 */
private String displayType; /* 표시유닛종류 表示ユニット種類 */
private String displayNum; /* 표시유닛대수 表示ユニット数 */
private String costAll; /* 재료구입가격(kW단가) 材料仕入価格 */
private String costModule; /* 모듈구입가격(kW단가) モジュール仕入価格 */
private String costOther; /* 주변기기구입가격 周辺機器仕入価格 */
private String costStand; /* 가대구입가격(kW단가) 架台仕入価格 */
private String saleAll; /* 판매단가(kW단가) 販売単価 */
private String saleModule; /* 모듈판매가격(kW단가) モジュール販売価格 */
private String saleOther; /* 주변기기 판매가격(kW단가) 周辺機器販売価格 */
private String saleStand; /* 가대판매가격 架台販売価格 */
@Schema(description = "물건번호 物件番号")
private String objectNo;
@Schema(description = "플랜 案件番号")
private String planNo;
@Schema(description = "플랜정보 최신 갱신일시 プラン情報最新更新日時")
private String lastEditDatetime;
@Schema(description = "판매대리점 販売代理店 ")
private String saleStoreName;
@Schema(description = "1차대리점명 一次代理店名")
private String soldSaleStoreName;
@Schema(description = "1차대리점ID 一次代理店ID ")
private String soldSaleStoreId;
@Schema(description = "물건명 物件名 ")
private String objectName;
@Schema(description = "북면배치 北面配置")
private String northArrangement;
@Schema(description = "수주예상 受注見込")
private String workProgressStatusName;
@Schema(description = "우편번호 郵便番号")
private String zipNo;
@Schema(description = "도도부현 都道府県")
private String prefName;
@Schema(description = "주소 住所")
private String address;
@Schema(description = "가상지점 気象地点")
private String weatherPoint;
@Schema(description = "용량 容量")
private String capacity;
@Schema(description = "비고 備考")
private String remarks;
@Schema(description = "견적 작성일 見積作成日")
private String estimateDetailCreateDate;
@Schema(description = "사양 확인일 仕様確認日")
private String specificationConfirmDate;
@Schema(description = "영업 담당자(판매점 등록) 営業担当者_販売店登録")
private String businessCharger;
@Schema(description = "영업팀(판매점 등록) 営業チーム_販売店登録")
private String businessTeam;
@Schema(description = "주택구분 住宅区分")
private String objectStatus;
@Schema(description = "관리자 최종 갱신일시 管理者最終更新日時")
private String managerLastEditDatetime;
@Schema(description = "최종갱신판매점ID 最終更新販売店ID")
private String saleStoreId;
@Schema(description = "최종갱신자 最終更新者")
private String lastEditUser;
@Schema(description = "지붕종류 屋根種類 ")
private String rofTyp;
@Schema(description = "지붕재 屋根材")
private String roofMaterialNm;
@Schema(description = "가대메이커 架台メーカ")
private String supportMeakerNm;
@Schema(description = "지지금구 支持金具")
private String supportMethodNm;
@Schema(description = "적설수준 積雪レベル")
private String snowfall;
@Schema(description = "시공레벨 施工レベル")
private String cnsLvl;
@Schema(description = "설치높이 設置高さ")
private String height;
@Schema(description = "면조도구분 面粗度区分")
private String ctndClsf;
@Schema(description = "인정용량 認定容量")
private String athCpc;
@Schema(description = "판매점모녀관계 販売店親子関係")
private String saleStoreLevel;
@Schema(description = "방위 方位")
private String direction;
@Schema(description = "모듈종류 モジュール種類")
private String moduleType;
@Schema(description = "설치매수 設置枚数")
private String moduleNum;
@Schema(description = "지붕경사 屋根勾配 ")
private String roofAngle;
@Schema(description = "파워콘종류 パワコン種類")
private String pcType;
@Schema(description = "파워콘대수 パワコン台数")
private String pcNum;
@Schema(description = "접속상자종류 接続箱種類")
private String boxType;
@Schema(description = "접속상자수 接続箱数")
private String boxNum;
@Schema(description = "케이블종류 ケーブル種類")
private String cableType;
@Schema(description = "케이블개수 ケーブル本数")
private String cableNum;
@Schema(description = "승압회로종류 昇圧回路種類")
private String boostType;
@Schema(description = "승압회로대수 昇圧回路台数")
private String boostNum;
@Schema(description = "표시유닛종류 表示ユニット種類")
private String displayType;
@Schema(description = "표시유닛대수 表示ユニット数")
private String displayNum;
@Schema(description = "재료구입가격(kW단가) 材料仕入価格")
private String costAll;
@Schema(description = "모듈구입가격(kW단가) モジュール仕入価格")
private String costModule;
@Schema(description = "주변기기구입가격 周辺機器仕入価格")
private String costOther;
@Schema(description = "가대구입가격(kW단가) 架台仕入価格")
private String costStand;
@Schema(description = "판매단가(kW단가) 販売単価")
private String saleAll;
@Schema(description = "모듈판매가격(kW단가) モジュール販売価格")
private String saleModule;
@Schema(description = "주변기기 판매가격(kW단가) 周辺機器販売価格")
private String saleOther;
@Schema(description = "가대판매가격 架台販売価格")
private String saleStand;
}

View File

@ -1,5 +1,6 @@
package com.interplug.qcast.biz.excelDown.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
@ -8,10 +9,16 @@ import lombok.Setter;
@Getter
@Setter
public class QuotRequest {
private String langCd; /* 언어 */
private String sch_baseDt; /* 과거일자 기준일 */
private String sch_startDt; /* 시작일 */
private String sch_endDt; /* 종료일 */
private String sch_saleStoreId; /* 판매대리점Id */
private String sch_businessChargerCd; /* 영업 담당자명 */
@Schema(description = "Language Code")
private String langCd;
@Schema(description = "과거일자 기준일")
private String sch_baseDt;
@Schema(description = "시작일")
private String sch_startDt;
@Schema(description = "종료일")
private String sch_endDt;
@Schema(description = "판매대리점Id")
private String sch_saleStoreId;
@Schema(description = "영업 담당자명")
private String sch_businessChargerCd;
}

View File

@ -1,5 +1,6 @@
package com.interplug.qcast.biz.excelDown.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
@ -10,6 +11,8 @@ import java.util.List;
@Getter
@Setter
public class QuotResponse {
@Schema(description = "품목단위 목록")
private List<QuotItemResponse> quotItemList;
@Schema(description = "플랜정보 목록")
private List<QuotPlanResponse> quotPlanList;
}

View File

@ -20,7 +20,7 @@ public class StoreFavoriteController {
@Operation(description = "Store Favorite 정보를 등록/수정 한다.(동기화)")
@PutMapping("/store-favorite-save")
@ResponseStatus(HttpStatus.OK)
public UserResponse setStoreFavoriteSave(@RequestBody StoreFavoriteRequest req) {
public UserResponse setStoreFavoriteSave(@RequestBody StoreFavoriteRequest req) throws Exception {
UserResponse userResponse = new UserResponse();
int resultCnt = storeFavService.setStoreFavoriteSave(req);

View File

@ -6,5 +6,5 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface StoreFavoriteMapper {
int setStoreFavoriteSave(StoreFavoriteRequest req);
int setStoreFavoriteSave(StoreFavoriteRequest req) throws Exception;
}

View File

@ -9,7 +9,7 @@ import org.springframework.stereotype.Service;
public class StoreFavoriteService {
private final StoreFavoriteMapper storeFavoriteMapper;
public int setStoreFavoriteSave(StoreFavoriteRequest req) {
public int setStoreFavoriteSave(StoreFavoriteRequest req) throws Exception {
return storeFavoriteMapper.setStoreFavoriteSave(req);
}

View File

@ -1,14 +1,21 @@
package com.interplug.qcast.biz.storeFavorite.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class StoreFavoriteRequest {
@Schema(description = "User ID")
private String userId;
@Schema(description = "판매점 ID")
private String saleStoreId;
@Schema(description = "노출순번")
private String dispOrder;
@Schema(description = "삭제여부")
private String delFlg;
@Schema(description = "등록일시")
private String registDatetime;
@Schema(description = "수정일시")
private String lastEditDatetime;
}

View File

@ -23,7 +23,7 @@ public class UserController {
@Operation(description = "판매점 정보를 등록/수정 한다.(동기화)")
@PutMapping("/store-save")
@ResponseStatus(HttpStatus.OK)
public UserResponse setStoreSave(@RequestBody StoreRequest storeReq) {
public UserResponse setStoreSave(@RequestBody StoreRequest storeReq) throws Exception {
UserResponse userResponse = new UserResponse();
int resultCnt = userService.setStoreSave(storeReq);
@ -37,7 +37,7 @@ public class UserController {
@Operation(description = "user 정보를 등록/수정 한다.(동기화)")
@PutMapping("/user-save")
@ResponseStatus(HttpStatus.OK)
public UserResponse setUserSave(@RequestBody List<UserRequest> userReqList) {
public UserResponse setUserSave(@RequestBody List<UserRequest> userReqList) throws Exception {
UserResponse userResponse = new UserResponse();
int resultCnt = userService.setUserSave(userReqList);
@ -51,7 +51,7 @@ public class UserController {
@Operation(description = "판매점 Sap 정보를 등록/수정 한다.(동기화)")
@PutMapping("/store-sap-info-save")
@ResponseStatus(HttpStatus.OK)
public UserResponse setStoreSapCdSave(@RequestBody StoreRequest storeReq) {
public UserResponse setStoreSapCdSave(@RequestBody StoreRequest storeReq) throws Exception {
UserResponse userResponse = new UserResponse();
int resultCnt = userService.setStoreSapCdSave(storeReq);

View File

@ -7,10 +7,10 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserMapper {
int setStoreSave(StoreRequest storeReq);
int setStoreSave(StoreRequest storeReq) throws Exception;
int setStoreSapCdSave(StoreRequest storeReq);
int setStoreSapCdSave(StoreRequest storeReq) throws Exception;
int setUserSave(UserRequest userReqList);
int setUserSave(UserRequest userReqList) throws Exception;
}

View File

@ -12,13 +12,13 @@ import java.util.List;
public class UserService {
private final UserMapper userMapper;
public int setStoreSave(StoreRequest storeReq) {
public int setStoreSave(StoreRequest storeReq) throws Exception {
int resultCnt = userMapper.setStoreSave(storeReq);
userMapper.setStoreSapCdSave(storeReq);
return resultCnt;
}
public int setUserSave(List<UserRequest> userReqList) {
public int setUserSave(List<UserRequest> userReqList) throws Exception {
int resultCnt = 0;
if (!userReqList.isEmpty()) {
for (UserRequest userReq : userReqList) {
@ -28,7 +28,7 @@ public class UserService {
return resultCnt;
}
public int setStoreSapCdSave(StoreRequest storeReq) {
public int setStoreSapCdSave(StoreRequest storeReq) throws Exception {
return userMapper.setStoreSapCdSave(storeReq);
}

View File

@ -1,38 +1,69 @@
package com.interplug.qcast.biz.user.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class StoreRequest {
@Schema(description = "SAP Store Code")
private String sapSalesStoreCd;
@Schema(description = "판매점 ID")
private String saleStoreId;
@Schema(description = "판매대리점명")
private String saleStoreName;
@Schema(description = "후리가나")
private String saleStoreNameKana;
@Schema(description = "우편번호")
private String zipNo;
@Schema(description = "주소")
private String address;
@Schema(description = "연락처")
private String tel;
@Schema(description = "팩스번호")
private String fax;
@Schema(description = "법인번호")
private String bizNo;
@Schema(description = "요청일시")
private String applicationDate;
@Schema(description = "승인상태 변경일시")
private String approvalDate;
@Schema(description = "승인상태")
private String approveFlg;
@Schema(description = "지불형태")
private String paymentTerms;
@Schema(description = "1차점여부")
private String firstAgentFlg;
@Schema(description = "2차점ㅇ여부")
private String secondAgentFlg;
@Schema(description = "1차점 판매점 ID")
private String firstAgentId;
@Schema(description = "부모 판매점 ID")
private String parentSaleAgentId;
@Schema(description = "영업사원명")
private String businessCharger;
@Schema(description = "영업사원 코드")
private String businessChargerCd;
@Schema(description = "회사명")
private String dispCompanyName;
@Schema(description = "회사 우편번호")
private String dispZipNo;
@Schema(description = "회사 주소")
private String dispAddress;
@Schema(description = "회사 연락처")
private String dispTel;
@Schema(description = "회사 팩스번호")
private String dispFax;
@Schema(description = "회사 이메일주소")
private String dispMail;
@Schema(description = "판매점 LEVEL")
private String saleStoreLevel;
@Schema(description = "삭제여부")
private String delFlg;
@Schema(description = "등록일시")
private String registDatetime;
@Schema(description = "수정일시")
private String lastEditDatetime;
@Schema(description = "수정자")
private String lastEditUser;
}

View File

@ -1,23 +1,35 @@
package com.interplug.qcast.biz.user.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class UserRequest {
@Schema(description = "판매점 ID")
private String saleStoreId;
@Schema(description = "사용자 ID")
private String userId;
private String password;
@Schema(description = "부서명")
private String category;
@Schema(description = "담당자명")
private String name;
@Schema(description = "후리가나")
private String nameKana;
@Schema(description = "이메일")
private String mail;
@Schema(description = "1차/2차 그룹ID")
private String groupId;
@Schema(description = "연락처")
private String tel;
@Schema(description = "팩스번호")
private String fax;
@Schema(description = "등록일시")
private String registDatetime;
@Schema(description = "수정일시")
private String lastEditDatetime;
@Schema(description = "수정자")
private String lastEditUser;
@Schema(description = "삭제여부")
private String delFlg;
}

View File

@ -1,11 +1,14 @@
package com.interplug.qcast.biz.user.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class UserResponse {
@Schema(description = "result Code")
private String code;
@Schema(description = "result Message")
private String message;

View File

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.interplug.qcast.biz.displayItem.DisplayItemMapper">
<insert id="setStoreDisplayItemSave" parameterType="com.interplug.qcast.biz.displayItem.dto.DisplayItemRequest" >
/* sqlid : com.interplug.qcast.displayItem.setStoreDisplayItemSave */
MERGE M_SALES_STORE_DISP_ITEM AS A
USING
( SELECT #{dispTypeCd} AS DISP_TYPE_CD
, #{saleStoreId} AS SALE_STORE_ID
, #{itemId} AS ITEM_ID
) AS D
ON (
A.DISP_TYPE_CD = D.DISP_TYPE_CD
AND A.SALE_STORE_ID = D.SALE_STORE_ID
AND A.ITEM_ID = D.ITEM_ID
)
WHEN MATCHED THEN
UPDATE SET
START_DATE = #{startDate}
, END_DATE = #{endDate}
, DEL_FLG = #{delFlg}
, DISP_ORDER = #{dispOrder}
, LAST_EDIT_DATETIME = #{lastEditDatetime}
WHEN NOT MATCHED THEN
INSERT (
SALE_STORE_ID
, DISP_TYPE_CD
, ITEM_ID
, START_DATE
, END_DATE
, DEL_FLG
, REGIST_DATETIME
, LAST_EDIT_DATETIME
) VALUES (
#{saleStoreId}
, #{dispTypeCd}
, #{itemId}
, #{startDate}
, #{endDate}
, #{delFlg}
, #{registDatetime}
, #{lastEditDatetime}
);
</insert>
</mapper>

View File

@ -375,4 +375,83 @@
AND D.SALE_STORE_ID = #{sch_saleStoreId}
</if>
</select>
<select id="selectWarrantyIssuedDataExclDownData" parameterType="com.interplug.qcast.biz.excelDown.dto.CmplWrntIsueRequest" resultType="com.interplug.qcast.biz.excelDown.dto.CmplWrntIsueResponse">
/* sqlid : com.interplug.qcast.api.excelDown.selectWarrantyIssuedDataExclDownData (보증서발행완료 물건 엑셀 다운로드 데이터 조회)*/
SELECT
A.OBJECT_NO /* 부동산 관리 번호 */
, A.PLAN_NO /* 계획 */
, A.GUARANTEE_APPLY_DATE /* 보증서 신청일 */
, A.GUARANTEE_APPROVAL_DATE /* 보증서 승인일 */
, A.GUARANTEE_ISSUE_DATE /* 보증서 발행일 */
, A.GUARANTEE_SEND_DATE /* 보증서 송부일 */
, CASE
WHEN A.NATURAL_DISASTER_COPENSATE = 1 THEN '有'
WHEN A.NATURAL_DISASTER_COPENSATE = 0 THEN '無'
ELSE NULL END AS NATURAL_DISASTER_COPENSATE /* 자연재해보상가입 自然災害補償 */
, A.GUARANTEE_OUTPUTTER_DISPLAY /* 보증서 출처 사이트 표시 플래그 */
, A.MAX_PACKAGE /* MAX 패키지 */
, A.EQUIP_GUARANTEE_YEARS /* 보증 연수 */
, A.SUNSHINE_COPENSATE_YEARS /* 일조 보증 연수 */
, A.GUARANTEE_RECEIVE_USER /* 보증서 송부 수취인 */
, A.GUARANTEE_RECEIVE_USER_KANA /* 보증서 송부 수취인 후리가나 */
, A.GUARANTEE_RECEIVE_USER_TEL /* 보증서 송부 수취인 전화 번호 */
, A.GUARANTEE_RECEIVE_USER_ZIP_NO /* 보증서 송부 수취인 우편 번호 */
, A.GUARANTEE_RECEIVE_USER_PREF_ID /* 보증서 송부 수취인 도도부현 */
, A.GUARANTEE_RECEIVE_USER_ZIP_ADDRESS /* 보증서 송부 수취인 주소 */
, A.SETUP_PLACE_OBJECT_NAME /* 설치 장소 물건명 */
, A.SETUP_PLACE_ZIP_NO /* 설치 장소 우편 번호 */
, A.SETUP_PLACE_PREF_ID /* 설치 장소 도도부현 */
, A.SETUP_PLACE_ADDRESS /* 설치 장소 주소 */
, A.GUARANTEE_SEND_ZIP_NO /* 보증서 송부 우편 번호 */
, A.GUARANTEE_SEND_ADDRESS /* 보증서 송부처 주소 */
, A.GUARANTEE_SEND_STORE /* 보증서 송부처 대리점명 */
, A.GUARANTEE_SEND_STORE_CHARGER /* 보증서 송부처 대리점명 담당자 */
, A.OUTPUT_COMP_SALE_STORE_NAME /* 출력 대비표 판매점명 */
, A.GUARANTEE_SALE_STORE_ZIP_NO /* 보증서 판매점 우편 번호 */
, A.GUARANTEE_SALE_STORE_ADDRESS /* 보증서 판매점 주소 */
, A.GUARANTEE_SALE_STORE_TEL /* 보증서 판매점 전화 번호 */
, A.COOPERATION_DATE /* 협력일 */
, A.STAND_GUARANTEE_NO_TARGET /* 가대 보증 대상외 */
, A.STAND_GUARANTEE_SET /* 가대 보증 세트 */
, A.NATURAL_DISASTER_COPENSATE_NOTIFIED_DATE /* 자연재해보상통지일 */
, A.EQUIP_GUARANTEE_NOTIFIED_DATE /* 연장기기 보증 통지일 */
, A.CONSTRUCT_DATE /* 시공일 */
, A.CONSTRUCT_ID /* 시공 ID */
, A.CONSTRUCT_ID2 /* 시공 IdⅡ */
, A.GUARANTEE_PERSON_NAME /* 보증서 송부처 담당자명 */
, A.GUARANTEE_PERSON_MAIL /* 보증서 송부처 e-mail */
, A.GUARANTEE_PERSON_TEL /* 보증서 송부처 전화 번호 */
, A.GUARANTEE_REWMARKS /* 보증서 송부처 */
, A.GUARANTEE_OUTPUT_REWMARKS /* 비고 */
, A.LAST_EDIT_USER /* 최종 업데이트자 */
, A.LAST_EDIT_DATETIME /* 최종 갱신시 */
FROM T_GUARANTEE A
LEFT JOIN T_OBJECT D
ON A.OBJECT_NO = D.OBJECT_NO
WHERE D.DEL_FLG = 0
<if test="sch_dtType != null and sch_dtType != ''">
<if test="sch_startDt != null and sch_startDt != '' and sch_endDt != null and sch_endDt != ''">
<choose>
<when test='sch_dtType == "GUARANTEE" '> <!-- 보증서 발급일 -->
AND A.GUARANTEE_ISSUE_DATE BETWEEN #{sch_startDt} and #{sch_endDt}
</when>
<when test='sch_dtType == "APPLY" '> <!-- 보증서 신청일 -->
AND A.GUARANTEE_APPLY_DATE BETWEEN #{sch_startDt} and #{sch_endDt}
</when>
</choose>
</if>
</if>
<if test="sch_objectNo != null and sch_objectNo != ''"> <!--물건번호-->
AND A.OBJECT_NO LIKE '%' + #{sch_objectNo} + '%'
</if>
<if test="sch_objectNm != null and sch_objectNm != ''"> <!-- 물건명 -->
AND A.SETUP_PLACE_OBJECT_NAME LIKE '%' + #{sch_objectNm} + '%'
</if>
<if test="sch_saleStoreId != null and sch_saleStoreId != ''"> <!-- 판매대리점명/ID -->
AND D.SALE_STORE_ID = #{sch_saleStoreId}
</if>
<if test="sch_saleStoreId != null and sch_saleStoreId != ''"> <!-- 보증서 번호 -->
</if>
</select>
</mapper>

View File

@ -4,11 +4,10 @@
<mapper namespace="com.interplug.qcast.biz.storeFavorite.StoreFavoriteMapper">
<insert id="setStoreFavoriteSave" parameterType="com.interplug.qcast.biz.storeFavorite.dto.StoreFavoriteRequest" >
/* sqlid : com.interplug.qcast.storeFavorite.setStoreFavoriteSave */
MERGE M_SALES_STORE_FAV AS A
MERGE M_USER_FAV_SALES_STORE AS A
USING
( SELECT #{userId} AS USER_ID, #{saleStoreId} AS SALE_STORE_ID ) AS D
ON (A.USER_ID = D.USER_ID AND A.SALE_STORE_ID = D.SALE_STORE_ID
)
ON (A.USER_ID = D.USER_ID AND A.SALE_STORE_ID = D.SALE_STORE_ID )
WHEN MATCHED THEN
UPDATE SET
DEL_FLG = #{delFlg}

View File

@ -72,6 +72,7 @@
, ADDRESS = #{address}
, TEL = #{tel}
, FAX = #{fax}
, BIZ_NO = #{bizNo}
, APPLICATION_DATE = #{applicationDate}
, APPROVAL_DATE = #{approvalDate}
, APPROVE_FLG = #{approveFlg}
@ -101,6 +102,7 @@
, ADDRESS
, TEL
, FAX
, BIZ_NO
, APPLICATION_DATE
, APPROVAL_DATE
, APPROVE_FLG
@ -137,6 +139,7 @@
, #{address}
, #{tel}
, #{fax}
, #{bizNo}
, #{applicationDate}
, #{approvalDate}
, #{approveFlg}