QSP 엑셀다운로드 API 페이징 처리 #529

Merged
jungpyo2001 merged 1 commits from feature/jp-0331 into dev 2026-06-18 15:00:32 +09:00
6 changed files with 262 additions and 395 deletions

View File

@ -1,8 +1,6 @@
package com.interplug.qcast.biz.excelDown; package com.interplug.qcast.biz.excelDown;
import java.util.List; import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
@ -38,29 +36,8 @@ public class ExcelDownController {
QuotResponse quotRes = new QuotResponse(); QuotResponse quotRes = new QuotResponse();
if ("1".equals(quotRequest.getSch_selectType())) { if ("1".equals(quotRequest.getSch_selectType())) {
boolean isPaged = quotRequest.getPageNo() != null && quotRequest.getPageSize() != null; quotRes.setQuotPlanList(excelDownService.selectQuotPlanExclDownData(quotRequest));
quotRes.setQuotItemList(excelDownService.selectQuotItemExclDownData(quotRequest));
if (isPaged) {
int totalCount = excelDownService.selectQuotPlanExclDownDataCount(quotRequest);
int totalPages = (int) Math.ceil((double) totalCount / quotRequest.getPageSize());
quotRes.setTotalCount(totalCount);
quotRes.setTotalPages(totalPages);
}
List<QuotPlanResponse> quotPlanExclDownData =
excelDownService.selectQuotPlanExclDownData(quotRequest);
quotRes.setQuotPlanList(quotPlanExclDownData);
if (isPaged) {
List<String> objectNos = quotPlanExclDownData.stream()
.map(QuotPlanResponse::getObjectNo)
.filter(Objects::nonNull)
.distinct()
.collect(Collectors.toList());
quotRes.setQuotItemList(excelDownService.selectQuotItemExclDownDataByObjectNos(objectNos));
} else {
quotRes.setQuotItemList(excelDownService.selectQuotItemExclDownData(quotRequest));
}
} else { } else {
List<QuotPlanResponse> quotPlanExclDownData = List<QuotPlanResponse> quotPlanExclDownData =
excelDownService.selectQuotPlanExclDownData2(quotRequest); excelDownService.selectQuotPlanExclDownData2(quotRequest);

View File

@ -33,15 +33,6 @@ interface ExcelDownMapper {
*/ */
List<QuotPlanResponse> selectQuotPlanExclDownData2(QuotRequest quotRequest) throws Exception; List<QuotPlanResponse> selectQuotPlanExclDownData2(QuotRequest quotRequest) throws Exception;
/**
* 과거데이터_견적 엑셀다운로드 플랜 건수 조회 (페이징용)
*
* @param quotRequest
* @return
* @throws Exception
*/
int selectQuotPlanExclDownDataCount(QuotRequest quotRequest) throws Exception;
/** /**
* 과거데이터_견적 엑셀다운로드 조회(아이템) * 과거데이터_견적 엑셀다운로드 조회(아이템)
* *
@ -51,15 +42,6 @@ interface ExcelDownMapper {
*/ */
List<QuotItemResponse> selectQuotItemExclDownData(QuotRequest quotRequest) throws Exception; List<QuotItemResponse> selectQuotItemExclDownData(QuotRequest quotRequest) throws Exception;
/**
* 과거데이터_견적 엑셀다운로드 조회(아이템) - 물건번호 목록으로 필터링 (페이징용)
*
* @param objectNos
* @return
* @throws Exception
*/
List<QuotItemResponse> selectQuotItemExclDownDataByObjectNos(
@Param("objectNos") List<String> objectNos) throws Exception;
/** /**
* 과거데이터_자연재해보상입력 엑셀다운로드 조회 * 과거데이터_자연재해보상입력 엑셀다운로드 조회

View File

@ -65,32 +65,6 @@ public class ExcelDownService {
return excelDownMapper.selectQuotItemExclDownData(quotRequest); return excelDownMapper.selectQuotItemExclDownData(quotRequest);
} }
/**
* 과거데이터_견적 엑셀다운로드 플랜 건수 조회 (페이징용)
*
* @param quotRequest
* @return
* @throws Exception
*/
public int selectQuotPlanExclDownDataCount(QuotRequest quotRequest) throws Exception {
return excelDownMapper.selectQuotPlanExclDownDataCount(quotRequest);
}
/**
* 과거데이터_견적 엑셀다운로드 조회(아이템) - 물건번호 목록으로 필터링 (페이징용)
*
* @param objectNos
* @return
* @throws Exception
*/
public List<QuotItemResponse> selectQuotItemExclDownDataByObjectNos(List<String> objectNos)
throws Exception {
if (objectNos == null || objectNos.isEmpty()) {
return Collections.emptyList();
}
return excelDownMapper.selectQuotItemExclDownDataByObjectNos(objectNos);
}
/** /**
* 과거데이터_자연재해보상입력 엑셀다운로드 조회 * 과거데이터_자연재해보상입력 엑셀다운로드 조회
* *

View File

@ -26,8 +26,4 @@ public class QuotRequest {
@Schema(description = "페이지당 건수") @Schema(description = "페이지당 건수")
private Integer pageSize; private Integer pageSize;
public int getOffset() {
if (pageNo == null || pageSize == null) return 0;
return (pageNo - 1) * pageSize;
}
} }

View File

@ -15,8 +15,4 @@ public class QuotResponse {
private List<QuotItemResponse> quotItemList; private List<QuotItemResponse> quotItemList;
@Schema(description = "플랜정보 목록") @Schema(description = "플랜정보 목록")
private List<QuotPlanResponse> quotPlanList; private List<QuotPlanResponse> quotPlanList;
@Schema(description = "전체 플랜 건수 (페이징 시에만 반환)")
private Integer totalCount;
@Schema(description = "전체 페이지 수 (페이징 시에만 반환)")
private Integer totalPages;
} }

View File

@ -6,184 +6,186 @@
<select id="selectQuotPlanExclDownData" parameterType="com.interplug.qcast.biz.excelDown.dto.QuotRequest" <select id="selectQuotPlanExclDownData" parameterType="com.interplug.qcast.biz.excelDown.dto.QuotRequest"
resultType="com.interplug.qcast.biz.excelDown.dto.QuotPlanResponse"> resultType="com.interplug.qcast.biz.excelDown.dto.QuotPlanResponse">
/* sqlid : com.interplug.qcast.api.excelDown.selectQuotPlanExclDownData (견적엑셀다운로드 플랜정보 데이터 조회) */ /* sqlid : com.interplug.qcast.api.excelDown.selectQuotPlanExclDownData (견적엑셀다운로드 플랜정보 데이터 조회) */
SELECT SELECT * FROM (
B.OBJECT_NO /* 물건번호 物件番号 */ SELECT
, A.PLAN_NO /* 플랜 案件番号 */ ROW_NUMBER() OVER (ORDER BY B.OBJECT_NO, A.PLAN_NO) AS RN
, CONVERT(varchar, A.LAST_EDIT_DATETIME, 120) AS LAST_EDIT_DATETIME /* 플랜정보 최신 갱신일시 プラン情報最新更新日時 */ , B.OBJECT_NO /* 물건번호 物件番号 */
, G.SALE_STORE_NAME /* 판매대리점 販売代理店 */ , A.PLAN_NO /* 플랜 案件番号 */
, Y.SALE_STORE_NAME AS SOLD_SALE_STORE_NAME /* 1차대리점명 一次代理店名 */ , CONVERT(varchar, A.LAST_EDIT_DATETIME, 120) AS LAST_EDIT_DATETIME /* 플랜정보 최신 갱신일시 プラン情報最新更新日時 */
, Y.SALE_STORE_ID AS SOLD_SALE_STORE_ID /* 1차대리점ID 一次代理店ID */ , G.SALE_STORE_NAME /* 판매대리점 販売代理店 */
, B.OBJECT_NAME /* 물건명 物件名 */ , Y.SALE_STORE_NAME AS SOLD_SALE_STORE_NAME /* 1차대리점명 一次代理店名 */
, CASE WHEN A.NORTH_ARRANGEMENT = 1 THEN '有' ELSE '無' END AS NORTH_ARRANGEMENT /* 북면배치 北面配置 */ , Y.SALE_STORE_ID AS SOLD_SALE_STORE_ID /* 1차대리점ID 一次代理店ID */
, CAST(D.WORK_NO AS varchar) + ' ' + D.WORK_PROGRESS_STATUS_NAME AS WORK_PROGRESS_STATUS_NAME /* 수주예상 受注見込 */ , B.OBJECT_NAME /* 물건명 物件名 */
, B.ZIP_NO /* 우편번호 郵便番号 */ , CASE WHEN A.NORTH_ARRANGEMENT = 1 THEN '有' ELSE '無' END AS NORTH_ARRANGEMENT /* 북면배치 北面配置 */
, E.PREF_NAME /* 도도부현 都道府県 */ , CAST(D.WORK_NO AS varchar) + ' ' + D.WORK_PROGRESS_STATUS_NAME AS WORK_PROGRESS_STATUS_NAME /* 수주예상 受注見込 */
, B.ADDRESS /* 주소 住所 */ , B.ZIP_NO /* 우편번호 郵便番号 */
, A.WEATHER_POINT /* 가상지점 気象地点 */ , E.PREF_NAME /* 도도부현 都道府県 */
, CAST(A.CAPACITY AS varchar) + 'kw' AS CAPACITY /* 용량 容量 */ , B.ADDRESS /* 주소 住所 */
, B.REMARKS /* 비고 備考 */ , A.WEATHER_POINT /* 가상지점 気象地点 */
, CONVERT(varchar, B.ESTIMATE_DETAIL_CREATE_DATE, 120) AS ESTIMATE_DETAIL_CREATE_DATE /* 견적 작성일 見積作成日 */ , CAST(A.CAPACITY AS varchar) + 'kw' AS CAPACITY /* 용량 容量 */
, CONVERT(varchar, B.SPECIFICATION_CONFIRM_DATE, 120) AS SPECIFICATION_CONFIRM_DATE /* 사양 확인일 仕様確認日 */ , B.REMARKS /* 비고 備考 */
, COALESCE(L.BUSINESS_CHARGER, '') AS BUSINESS_CHARGER /* 영업 담당자(판매점 등록) 営業担当者_販売店登録 */ , CONVERT(varchar, B.ESTIMATE_DETAIL_CREATE_DATE, 120) AS ESTIMATE_DETAIL_CREATE_DATE /* 견적 작성일 見積作成日 */
, COALESCE(M.BUSINESS_TEAM, '') AS BUSINESS_TEAM /* 영업팀(판매점 등록) 営業チーム_販売店登録 */ , CONVERT(varchar, B.SPECIFICATION_CONFIRM_DATE, 120) AS SPECIFICATION_CONFIRM_DATE /* 사양 확인일 仕様確認日 */
, (CASE WHEN UPPER(#{langCd}) = 'JA' THEN C1.CODE_JP , COALESCE(L.BUSINESS_CHARGER, '') AS BUSINESS_CHARGER /* 영업 담당자(판매점 등록) 営業担当者_販売店登録 */
ELSE C1.CODE_NM , COALESCE(M.BUSINESS_TEAM, '') AS BUSINESS_TEAM /* 영업팀(판매점 등록) 営業チーム_販売店登録 */
END) AS OBJECT_STATUS /* 주택구분 住宅区分 */ , (CASE WHEN UPPER(#{langCd}) = 'JA' THEN C1.CODE_JP
, CONVERT(varchar, B.MANAGER_LAST_EDIT_DATETIME, 120) AS MANAGER_LAST_EDIT_DATETIME /* 관리자 최종 갱신일시管理者最終更新日時 */ ELSE C1.CODE_NM
, X.SALE_STORE_ID /* 최종갱신판매점ID 最終更新販売店ID */ END) AS OBJECT_STATUS /* 주택구분 住宅区分 */
, A.LAST_EDIT_USER /* 최종갱신자 最終更新者 */ , CONVERT(varchar, B.MANAGER_LAST_EDIT_DATETIME, 120) AS MANAGER_LAST_EDIT_DATETIME /* 관리자 최종 갱신일시管理者最終更新日時 */
, (CASE WHEN UPPER(#{langCd}) = 'JA' THEN C2.CODE_JP , X.SALE_STORE_ID /* 최종갱신판매점ID 最終更新販売店ID */
ELSE C2.CODE_NM , A.LAST_EDIT_USER /* 최종갱신자 最終更新者 */
END) AS ROF_TYP /* 지붕종류 屋根種類 */ , (CASE WHEN UPPER(#{langCd}) = 'JA' THEN C2.CODE_JP
, CASE WHEN A.DIFF_ROOF_ENABLED = 1 THEN A.ROOF_MATERIAL_ID_MULTI ELSE COALESCE((CASE WHEN UPPER(#{langCd}) = 'JA' THEN C3.CODE_JP ELSE C2.CODE_NM
ELSE C3.CODE_NM END) AS ROF_TYP /* 지붕종류 屋根種類 */
END), '') END AS ROOF_MATERIAL_NM /* 지붕재 屋根材 */ , CASE WHEN A.DIFF_ROOF_ENABLED = 1 THEN A.ROOF_MATERIAL_ID_MULTI ELSE COALESCE((CASE WHEN UPPER(#{langCd}) = 'JA' THEN C3.CODE_JP
, CASE WHEN A.DIFF_ROOF_ENABLED = 1 THEN A.SUPPORT_MEAKER_MULTI ELSE A.SUPPORT_MEAKER END AS SUPPORT_MEAKER_NM /* 가대메이커 架台メーカ */ ELSE C3.CODE_NM
, CASE WHEN A.DIFF_ROOF_ENABLED = 1 THEN A.SUPPORT_METHOD_ID_MULTI ELSE COALESCE(P.NAME, '') END AS SUPPORT_METHOD_NM /* 지지금구 支持金具 */ END), '') END AS ROOF_MATERIAL_NM /* 지붕재 屋根材 */
, A.SNOWFALL /* 적설수준 積雪レベル */ , CASE WHEN A.DIFF_ROOF_ENABLED = 1 THEN A.SUPPORT_MEAKER_MULTI ELSE A.SUPPORT_MEAKER END AS SUPPORT_MEAKER_NM /* 가대메이커 架台メーカ */
, (CASE WHEN UPPER(#{langCd}) = 'JA' THEN C4.CODE_JP , CASE WHEN A.DIFF_ROOF_ENABLED = 1 THEN A.SUPPORT_METHOD_ID_MULTI ELSE COALESCE(P.NAME, '') END AS SUPPORT_METHOD_NM /* 지지금구 支持金具 */
ELSE C4.CODE_NM , A.SNOWFALL /* 적설수준 積雪レベル */
END) AS CNS_LVL /* 시공레벨 施工レベル */ , (CASE WHEN UPPER(#{langCd}) = 'JA' THEN C4.CODE_JP
, U.HEIGHT /* 설치높이 設置高さ */ ELSE C4.CODE_NM
, W.MENSODO AS CTND_CLSF /* 면조도구분 面粗度区分 */ END) AS CNS_LVL /* 시공레벨 施工レベル */
, V.CAPACITY AS ATH_CPC /* 인정용량 認定容量 */ , U.HEIGHT /* 설치높이 設置高さ */
, (CASE , W.MENSODO AS CTND_CLSF /* 면조도구분 面粗度区分 */
WHEN G.FIRST_AGENT_FLG = '1' THEN '1' , V.CAPACITY AS ATH_CPC /* 인정용량 認定容量 */
WHEN G.SECOND_AGENT_FLG = '1' THEN '2' , (CASE
ELSE '' END ) + '次店' AS SALE_STORE_LEVEL /* 판매점모녀관계 販売店親子関係 */ WHEN G.FIRST_AGENT_FLG = '1' THEN '1'
, H.DIRECTION /* 방위 方位 */ WHEN G.SECOND_AGENT_FLG = '1' THEN '2'
, H.MODULE_TYPE /* 모듈종류 モジュール種類 */ ELSE '' END ) + '次店' AS SALE_STORE_LEVEL /* 판매점모녀관계 販売店親子関係 */
, H.MODULE_NUM /* 설치매수 設置枚数 */ , H.DIRECTION /* 방위 方位 */
, H.ROOF_ANGLE /* 지붕경사 屋根勾配 */ , H.MODULE_TYPE /* 모듈종류 モジュール種類 */
, H.PC_TYPE /* 파워콘종류 パワコン種類 */ , H.MODULE_NUM /* 설치매수 設置枚数 */
, H.PC_NUM /* 파워콘대수 パワコン台数 */ , H.ROOF_ANGLE /* 지붕경사 屋根勾配 */
, H.BOX_TYPE /* 접속상자종류 接続箱種類 */ , H.PC_TYPE /* 파워콘종류 パワコン種類 */
, H.BOX_NUM /* 접속상자수 接続箱数 */ , H.PC_NUM /* 파워콘대수 パワコン台数 */
, H.CABLE_TYPE /* 케이블종류 ケーブル種類 */ , H.BOX_TYPE /* 접속상자종류 接続箱種類 */
, H.CABLE_NUM /* 케이블개수 ケーブル本数 */ , H.BOX_NUM /* 접속상자수 接続箱数 */
, H.BOOST_TYPE /* 승압회로종류 昇圧回路種類 */ , H.CABLE_TYPE /* 케이블종류 ケーブル種類 */
, H.BOOST_NUM /* 승압회로대수 昇圧回路台数 */ , H.CABLE_NUM /* 케이블개수 ケーブル本数 */
, H.DISPLAY_TYPE /* 표시유닛종류 表示ユニット種類 */ , H.BOOST_TYPE /* 승압회로종류 昇圧回路種類 */
, H.DISPLAY_NUM /* 표시유닛대수 表示ユニット数 */ , H.BOOST_NUM /* 승압회로대수 昇圧回路台数 */
, H.COST_ALL /* 재료구입가격(kW단가) 材料仕入価格 */ , H.DISPLAY_TYPE /* 표시유닛종류 表示ユニット種類 */
, H.COST_MODULE /* 모듈구입가격(kW단가) モジュール仕入価格 */ , H.DISPLAY_NUM /* 표시유닛대수 表示ユニット数 */
, H.COST_OTHER /* 주변기기구입가격 周辺機器仕入価格 */ , H.COST_ALL /* 재료구입가격(kW단가) 材料仕入価格 */
, H.COST_STAND /* 가대구입가격(kW단가)架台仕入価格 */ , H.COST_MODULE /* 모듈구입가격(kW단가) モジュール仕入価格 */
, H.SALE_ALL /* 판매단가(kW단가)販売単価 */ , H.COST_OTHER /* 주변기기구입가격 周辺機器仕入価格 */
, H.SALE_MODULE /* 모듈판매가격(kW단가) モジュール販売価格 */ , H.COST_STAND /* 가대구입가격(kW단가)架台仕入価格 */
, H.SALE_OTHER /* 주변기기 판매가격(kW단가) 周辺機器販売価格 */ , H.SALE_ALL /* 판매단가(kW단가)販売単価 */
, H.SALE_STAND /* 가대판매가격 架台販売価格 */ , H.SALE_MODULE /* 모듈판매가격(kW단가) モジュール販売価格 */
<!-- /* 사용안함 */ , H.SALE_OTHER /* 주변기기 판매가격(kW단가) 周辺機器販売価格 */
, CONVERT(varchar, B.ORDER_DATE, 120) AS ORDER_DATE /* 発注日 */ , H.SALE_STAND /* 가대판매가격 架台販売価格 */
, CONVERT(varchar, B.DELIVERY_HOPE_DATE, 120) AS DELIVERY_HOPE_DATE /* 納入希望日 */ <!-- /* 사용안함 */
, B.DELIVERY_ZIP_NO /* 納入先郵便番号 */ , CONVERT(varchar, B.ORDER_DATE, 120) AS ORDER_DATE /* 発注日 */
, B.DELIVERY_TARGET /* 納入場所 */ , CONVERT(varchar, B.DELIVERY_HOPE_DATE, 120) AS DELIVERY_HOPE_DATE /* 納入希望日 */
, CONVERT(varchar, F.COOPERATION_DATE, 120) AS COOPERATION_DATE/* 連系日 */ , B.DELIVERY_ZIP_NO /* 納入先郵便番号 */
, CONVERT(varchar, R.SHIPPED_DATE1, 120) AS SHIPPED_DATE1 /* 出荷日1 */ , B.DELIVERY_TARGET /* 納入場所 */
, CONVERT(varchar, R.SHIPPED_DATE2, 120) AS SHIPPED_DATE2 /* 出荷日2 */ , CONVERT(varchar, F.COOPERATION_DATE, 120) AS COOPERATION_DATE/* 連系日 */
, CONVERT(varchar, R.SHIPPED_DATE3, 120) AS SHIPPED_DATE3 /* 出荷日3 */ , CONVERT(varchar, R.SHIPPED_DATE1, 120) AS SHIPPED_DATE1 /* 出荷日1 */
, CONVERT(varchar, R.SHIPPED_DATE4, 120) AS SHIPPED_DATE4 /* 出荷日4 */ , CONVERT(varchar, R.SHIPPED_DATE2, 120) AS SHIPPED_DATE2 /* 出荷日2 */
, CONVERT(varchar, R.SHIPPED_DATE5, 120) AS SHIPPED_DATE5 /* 出荷日5 */ , CONVERT(varchar, R.SHIPPED_DATE3, 120) AS SHIPPED_DATE3 /* 出荷日3 */
, CONVERT(varchar, R.SHIPPED_DATE1, 120) AS SHIPPED_DATE555/* 支払日 */ , CONVERT(varchar, R.SHIPPED_DATE4, 120) AS SHIPPED_DATE4 /* 出荷日4 */
, CONVERT(varchar, S.APPLICATION_DATE1, 120) AS APPLICATION_DATE1 /* 保証書申請日1 */ , CONVERT(varchar, R.SHIPPED_DATE5, 120) AS SHIPPED_DATE5 /* 出荷日5 */
, CONVERT(varchar, S.APPLICATION_DATE2, 120) AS APPLICATION_DATE2 /* 保証書申請日2 */ , CONVERT(varchar, R.SHIPPED_DATE1, 120) AS SHIPPED_DATE555/* 支払日 */
, CONVERT(varchar, S.APPLICATION_DATE3, 120) AS APPLICATION_DATE3 /* 保証書申請日3 */ , CONVERT(varchar, S.APPLICATION_DATE1, 120) AS APPLICATION_DATE1 /* 保証書申請日1 */
, CONVERT(varchar, S.APPLICATION_DATE4, 120) AS APPLICATION_DATE4 /* 保証書申請日4 */ , CONVERT(varchar, S.APPLICATION_DATE2, 120) AS APPLICATION_DATE2 /* 保証書申請日2 */
, CONVERT(varchar, S.APPLICATION_DATE5, 120) AS APPLICATION_DATE5 /* 保証書申請日5 */ , CONVERT(varchar, S.APPLICATION_DATE3, 120) AS APPLICATION_DATE3 /* 保証書申請日3 */
, CONVERT(varchar, S.ISSUE_DATE1, 120) AS ISSUE_DATE1 /* 保証書承認発行日1 */ , CONVERT(varchar, S.APPLICATION_DATE4, 120) AS APPLICATION_DATE4 /* 保証書申請日4 */
, CONVERT(varchar, S.ISSUE_DATE2, 120) AS ISSUE_DATE2 /* 保証書承認発行日2 */ , CONVERT(varchar, S.APPLICATION_DATE5, 120) AS APPLICATION_DATE5 /* 保証書申請日5 */
, CONVERT(varchar, S.ISSUE_DATE3, 120) AS ISSUE_DATE3 /* 保証書承認発行日3 */ , CONVERT(varchar, S.ISSUE_DATE1, 120) AS ISSUE_DATE1 /* 保証書承認発行日1 */
, CONVERT(varchar, S.ISSUE_DATE4, 120) AS ISSUE_DATE4 /* 保証書承認発行日4 */ , CONVERT(varchar, S.ISSUE_DATE2, 120) AS ISSUE_DATE2 /* 保証書承認発行日2 */
, CONVERT(varchar, S.ISSUE_DATE5, 120) AS ISSUE_DATE5 /* 保証書承認発行日5 */ , CONVERT(varchar, S.ISSUE_DATE3, 120) AS ISSUE_DATE3 /* 保証書承認発行日3 */
, S.WARRANTY_NO1 /* 保証書番号1 */ , CONVERT(varchar, S.ISSUE_DATE4, 120) AS ISSUE_DATE4 /* 保証書承認発行日4 */
, S.WARRANTY_NO2 /* 保証書番号2 */ , CONVERT(varchar, S.ISSUE_DATE5, 120) AS ISSUE_DATE5 /* 保証書承認発行日5 */
, S.WARRANTY_NO3 /* 保証書番号3 */ , S.WARRANTY_NO1 /* 保証書番号1 */
, S.WARRANTY_NO4 /* 保証書番号4 */ , S.WARRANTY_NO2 /* 保証書番号2 */
, S.WARRANTY_NO5 /* 保証書番号5 */ , S.WARRANTY_NO3 /* 保証書番号3 */
, T.JAN /* 発電量1月 */ , S.WARRANTY_NO4 /* 保証書番号4 */
, T.FEB /* 発電量2月 */ , S.WARRANTY_NO5 /* 保証書番号5 */
, T.MAR /* 発電量3月 */ , T.JAN /* 発電量1月 */
, T.APR /* 発電量4月 */ , T.FEB /* 発電量2月 */
, T.MAY /* 発電量5月 */ , T.MAR /* 発電量3月 */
, T.JUN /* 発電量6月 */ , T.APR /* 発電量4月 */
, T.JUL /* 発電量7月 */ , T.MAY /* 発電量5月 */
, T.AUG /* 発電量8月 */ , T.JUN /* 発電量6月 */
, T.SEP /* 発電量9月 */ , T.JUL /* 発電量7月 */
, T.OCT /* 発電量10月 */ , T.AUG /* 発電量8月 */
, T.NOV /* 発電量11月 */ , T.SEP /* 発電量9月 */
, T.DEC /* 発電量12月 */ , T.OCT /* 発電量10月 */
, T.TOTAL /* 発電量年間 */ , T.NOV /* 発電量11月 */
, CONVERT(varchar, F.GUARANTEE_APPLY_DATE, 120) AS GUARANTEE_APPLY_DATE /* 保証書申請日 */ , T.DEC /* 発電量12月 */
, CONVERT(varchar, F.GUARANTEE_APPROVAL_DATE, 120) AS GUARANTEE_APPROVAL_DATE /* 保証書承認日 */ , T.TOTAL /* 発電量年間 */
, CONVERT(varchar, B.SHIPMENT_DATA_GET_DATE, 120) AS SHIPMENT_DATA_GET_DATE /* シェンカーデータ取得日 */ , CONVERT(varchar, F.GUARANTEE_APPLY_DATE, 120) AS GUARANTEE_APPLY_DATE /* 保証書申請日 */
, CONVERT(varchar, F.GUARANTEE_ISSUE_DATE, 120) AS GUARANTEE_ISSUE_DATE /* 保証書発行日 */ , CONVERT(varchar, F.GUARANTEE_APPROVAL_DATE, 120) AS GUARANTEE_APPROVAL_DATE /* 保証書承認日 */
, CONVERT(varchar, F.GUARANTEE_SEND_DATE, 120) AS GUARANTEE_SEND_DATE /* 保証書送付日 */ , CONVERT(varchar, B.SHIPMENT_DATA_GET_DATE, 120) AS SHIPMENT_DATA_GET_DATE /* シェンカーデータ取得日 */
, F.NATURAL_DISASTER_COPENSATE /* 自然保険災害 */ , CONVERT(varchar, F.GUARANTEE_ISSUE_DATE, 120) AS GUARANTEE_ISSUE_DATE /* 保証書発行日 */
, B.MANAGER_REWMARKS /* 管理者備考 */ , CONVERT(varchar, F.GUARANTEE_SEND_DATE, 120) AS GUARANTEE_SEND_DATE /* 保証書送付日 */
, CASE WHEN F.STAND_GUARANTEE_NO_TARGET = 1 THEN '有' ELSE '無' END AS STAND_GUARANTEE_NO_TARGET /* 架台保証対象外 , F.NATURAL_DISASTER_COPENSATE /* 自然保険災害 */
, COALESCE(I.BUSINESS_GROUP, '') AS BUSINESS_GROUP /* 営業グループ */ , B.MANAGER_REWMARKS /* 管理者備考 */
, COALESCE(J.BUSINESS_CHARGER, '') AS BUSINESS_CHARGER /* 営業担当者 */ , CASE WHEN F.STAND_GUARANTEE_NO_TARGET = 1 THEN '有' ELSE '無' END AS STAND_GUARANTEE_NO_TARGET /* 架台保証対象外
, COALESCE(K.BUSINESS_TEAM, '') AS BUSINESS_TEAM /* 営業チーム */ , COALESCE(I.BUSINESS_GROUP, '') AS BUSINESS_GROUP /* 営業グループ */
, CASE WHEN F.MAX_PACKAGE = 1 THEN '有' ELSE '無' END AS MAX_PACKAGE /* MAXパッケージ */ , COALESCE(J.BUSINESS_CHARGER, '') AS BUSINESS_CHARGER /* 営業担当者 */
, CONVERT(varchar, A.LAST_EDIT_DATETIME, 120) AS LAST_EDIT_DATETIME /* 見積最終更新日時 */ , COALESCE(K.BUSINESS_TEAM, '') AS BUSINESS_TEAM /* 営業チーム */
, CONVERT(varchar, A.DRAWING_ESTIMATE_CREATE_DATE, 120) AS DRAWING_ESTIMATE_CREATE_DATE/* プラン見積作成日 */ , CASE WHEN F.MAX_PACKAGE = 1 THEN '有' ELSE '無' END AS MAX_PACKAGE /* MAXパッケージ */
--> , CONVERT(varchar, A.LAST_EDIT_DATETIME, 120) AS LAST_EDIT_DATETIME /* 見積最終更新日時 */
FROM T_OBJECT B , CONVERT(varchar, A.DRAWING_ESTIMATE_CREATE_DATE, 120) AS DRAWING_ESTIMATE_CREATE_DATE/* プラン見積作成日 */
LEFT OUTER JOIN T_OBJECT_INFO OI -->
ON OI.OBJECT_NO = B.OBJECT_NO FROM T_OBJECT B
LEFT OUTER JOIN T_PLAN A LEFT OUTER JOIN T_OBJECT_INFO OI
ON A.OBJECT_NO = B.OBJECT_NO ON OI.OBJECT_NO = B.OBJECT_NO
LEFT OUTER JOIN M_COMM_L C1 LEFT OUTER JOIN T_PLAN A
ON C1.CODE = B.OBJECT_STATUS_ID ON A.OBJECT_NO = B.OBJECT_NO
AND C1.HEAD_CD = '201700' LEFT OUTER JOIN M_COMM_L C1
LEFT OUTER JOIN M_WORK_PROGRESS D ON C1.CODE = B.OBJECT_STATUS_ID
ON B.WORK_NO = D.WORK_NO AND C1.HEAD_CD = '201700'
LEFT OUTER JOIN T_SIMULATION_PREFECTURE E LEFT OUTER JOIN M_WORK_PROGRESS D
ON B.PREF_ID = E.PREF_ID ON B.WORK_NO = D.WORK_NO
<!-- LEFT OUTER JOIN T_GUARANTEE F ON A.OBJECT_NO = F.OBJECT_NO AND A.PLAN_NO = F.PLAN_NO --> LEFT OUTER JOIN T_SIMULATION_PREFECTURE E
LEFT OUTER JOIN M_SALES_STORE G ON B.PREF_ID = E.PREF_ID
ON B.SALE_STORE_ID = G.SALE_STORE_ID /*본인정보*/ <!-- LEFT OUTER JOIN T_GUARANTEE F ON A.OBJECT_NO = F.OBJECT_NO AND A.PLAN_NO = F.PLAN_NO -->
LEFT OUTER JOIN T_STATISTICS H LEFT OUTER JOIN M_SALES_STORE G
ON A.OBJECT_NO = H.OBJECT_NO ON B.SALE_STORE_ID = G.SALE_STORE_ID /*본인정보*/
and A.PLAN_NO = H.PLAN_NO LEFT OUTER JOIN T_STATISTICS H
<!-- LEFT OUTER JOIN M_BUSINESS_GROUP I ON B.BUSINESS_GROUP_CD = I.BUSINESS_GROUP_CD --> ON A.OBJECT_NO = H.OBJECT_NO
<!-- LEFT OUTER JOIN M_BUSINESS_CHARGER J ON B.BUSINESS_CHARGER_CD = J.BUSINESS_CHARGER_CD --> and A.PLAN_NO = H.PLAN_NO
<!-- LEFT OUTER JOIN M_BUSINESS_TEAM K ON J.BUSINESS_TEAM_CD = K.BUSINESS_TEAM_CD --> <!-- LEFT OUTER JOIN M_BUSINESS_GROUP I ON B.BUSINESS_GROUP_CD = I.BUSINESS_GROUP_CD -->
LEFT OUTER JOIN M_BUSINESS_CHARGER L <!-- LEFT OUTER JOIN M_BUSINESS_CHARGER J ON B.BUSINESS_CHARGER_CD = J.BUSINESS_CHARGER_CD -->
ON G.BUSINESS_CHARGER_CD = L.BUSINESS_CHARGER_CD <!-- LEFT OUTER JOIN M_BUSINESS_TEAM K ON J.BUSINESS_TEAM_CD = K.BUSINESS_TEAM_CD -->
LEFT OUTER JOIN M_BUSINESS_TEAM M LEFT OUTER JOIN M_BUSINESS_CHARGER L
ON L.BUSINESS_TEAM_CD = M.BUSINESS_TEAM_CD ON G.BUSINESS_CHARGER_CD = L.BUSINESS_CHARGER_CD
LEFT OUTER JOIN M_COMM_L C2 LEFT OUTER JOIN M_BUSINESS_TEAM M
ON C2.CODE = A.ROOF_KIND_ID ON L.BUSINESS_TEAM_CD = M.BUSINESS_TEAM_CD
AND C2.HEAD_CD = '201800' LEFT OUTER JOIN M_COMM_L C2
LEFT OUTER JOIN M_COMM_L C3 ON C2.CODE = A.ROOF_KIND_ID
ON C3.CODE = A.ROOF_MATERIAL_ID AND C2.HEAD_CD = '201800'
AND C3.HEAD_CD = '201900' LEFT OUTER JOIN M_COMM_L C3
LEFT OUTER JOIN M_SUPPORT_METHOD P ON C3.CODE = A.ROOF_MATERIAL_ID
ON A.SUPPORT_METHOD_ID = P.SUPPORT_METHOD_ID AND C3.HEAD_CD = '201900'
LEFT OUTER JOIN M_COMM_L C4 LEFT OUTER JOIN M_SUPPORT_METHOD P
ON C4.CODE = A.CONSTRUCT_SPECIFICATION ON A.SUPPORT_METHOD_ID = P.SUPPORT_METHOD_ID
AND C4.HEAD_CD = '201300' LEFT OUTER JOIN M_COMM_L C4
<!-- LEFT OUTER JOIN W_SHIPPED_DATE R ON B.OBJECT_NO = R.OBJECT_NO --> ON C4.CODE = A.CONSTRUCT_SPECIFICATION
<!-- LEFT OUTER JOIN W_WARRANTY S ON B.OBJECT_NO = S.OBJECT_NO --> AND C4.HEAD_CD = '201300'
<!-- LEFT OUTER JOIN T_SIMULATION T ON A.OBJECT_NO = T.OBJECT_NO AND A.PLAN_NO = T.PLAN_NO --> <!-- LEFT OUTER JOIN W_SHIPPED_DATE R ON B.OBJECT_NO = R.OBJECT_NO -->
LEFT OUTER JOIN T_ROOF_INSTALLED_HEIGHT U <!-- LEFT OUTER JOIN W_WARRANTY S ON B.OBJECT_NO = S.OBJECT_NO -->
ON A.OBJECT_NO = U.OBJECT_NO <!-- LEFT OUTER JOIN T_SIMULATION T ON A.OBJECT_NO = T.OBJECT_NO AND A.PLAN_NO = T.PLAN_NO -->
LEFT OUTER JOIN T_APPROVAL_CAPATICY V LEFT OUTER JOIN T_ROOF_INSTALLED_HEIGHT U
ON A.OBJECT_NO = V.OBJECT_NO ON A.OBJECT_NO = U.OBJECT_NO
AND A.PLAN_NO = V.PLAN_NO LEFT OUTER JOIN T_APPROVAL_CAPATICY V
LEFT OUTER JOIN T_MENSODO W ON A.OBJECT_NO = V.OBJECT_NO
ON A.OBJECT_NO = W.OBJECT_NO AND A.PLAN_NO = V.PLAN_NO
LEFT OUTER JOIN M_USER X LEFT OUTER JOIN T_MENSODO W
ON A.LAST_EDIT_USER = X.USER_ID ON A.OBJECT_NO = W.OBJECT_NO
LEFT OUTER JOIN M_SALES_STORE Y LEFT OUTER JOIN M_USER X
ON G.FIRST_AGENT_ID = Y.SALE_STORE_ID /*1차점정보*/ ON A.LAST_EDIT_USER = X.USER_ID
WHERE A.DEL_FLG = 0 LEFT OUTER JOIN M_SALES_STORE Y
AND (B.DEL_FLG = 0 OR (OI.SOURCE_ORIGIN = 'QCAST_III' AND OI.ORG_DEL_FLG = '0')) ON G.FIRST_AGENT_ID = Y.SALE_STORE_ID /*1차점정보*/
<include refid="quotPlanSearchConditions"/> WHERE A.DEL_FLG = 0
AND (B.DEL_FLG = 0 OR (OI.SOURCE_ORIGIN = 'QCAST_III' AND OI.ORG_DEL_FLG = '0'))
<include refid="quotPlanSearchConditions"/>
) AS PAGED
<if test="pageNo != null and pageSize != null"> <if test="pageNo != null and pageSize != null">
ORDER BY B.OBJECT_NO, A.PLAN_NO WHERE RN BETWEEN (#{pageNo} - 1) * #{pageSize} + 1 AND #{pageNo} * #{pageSize}
OFFSET #{offset} ROWS FETCH NEXT #{pageSize} ROWS ONLY
</if> </if>
</select> </select>
@ -200,22 +202,6 @@
</if> </if>
</sql> </sql>
<select id="selectQuotPlanExclDownDataCount" parameterType="com.interplug.qcast.biz.excelDown.dto.QuotRequest"
resultType="int">
/* sqlid : selectQuotPlanExclDownDataCount (견적엑셀다운로드 플랜 건수 조회 - 페이징용) */
SELECT COUNT(*)
FROM T_OBJECT B
LEFT OUTER JOIN T_OBJECT_INFO OI
ON OI.OBJECT_NO = B.OBJECT_NO
LEFT OUTER JOIN T_PLAN A
ON A.OBJECT_NO = B.OBJECT_NO
LEFT OUTER JOIN M_SALES_STORE G
ON B.SALE_STORE_ID = G.SALE_STORE_ID
WHERE A.DEL_FLG = 0
AND (B.DEL_FLG = 0 OR (OI.SOURCE_ORIGIN = 'QCAST_III' AND OI.ORG_DEL_FLG = '0'))
<include refid="quotPlanSearchConditions"/>
</select>
<select id="selectQuotPlanExclDownData2" parameterType="com.interplug.qcast.biz.excelDown.dto.QuotRequest" <select id="selectQuotPlanExclDownData2" parameterType="com.interplug.qcast.biz.excelDown.dto.QuotRequest"
resultType="com.interplug.qcast.biz.excelDown.dto.QuotPlanResponse"> resultType="com.interplug.qcast.biz.excelDown.dto.QuotPlanResponse">
/* sqlid : com.interplug.qcast.api.excelDown.selectQuotPlanExclDownData2 (견적엑셀다운로드 플랜정보 데이터 조회) */ /* sqlid : com.interplug.qcast.api.excelDown.selectQuotPlanExclDownData2 (견적엑셀다운로드 플랜정보 데이터 조회) */
@ -258,135 +244,91 @@
resultType="com.interplug.qcast.biz.excelDown.dto.QuotItemResponse"> resultType="com.interplug.qcast.biz.excelDown.dto.QuotItemResponse">
/* sqlid : com.interplug.qcast.api.excelDown.selectQuotItemExclDownData (견적엑셀다운로드 품목단위 데이터 조회) */ /* sqlid : com.interplug.qcast.api.excelDown.selectQuotItemExclDownData (견적엑셀다운로드 품목단위 데이터 조회) */
SELECT SELECT
C.OBJECT_NO /* 물건번호 物件番号 */ *
, B.PLAN_NO /* 플랜 案件番号 */ FROM (
, C.OBJECT_NAME /* 물건명 案件名 */ SELECT
, H.SALE_STORE_NAME AS SOLD_SALE_STORE_NAME /* 1차 판매점명 一次販売店名 */ ROW_NUMBER() OVER (ORDER BY C.OBJECT_NO, B.PLAN_NO, A.ITEM_NO) AS RN
, D.SALE_STORE_NAME /* 작성 판매점 作成販売店 */ , C.OBJECT_NO /* 물건번호 物件番号 */
, I.PREF_NAME /* 도도부현 エリア */ , B.PLAN_NO /* 플랜 案件番号 */
, K.BUSINESS_TEAM /* 영업팀(판매점등록) 担当課支店 */ , C.OBJECT_NAME /* 물건명 案件名 */
, C.SALE_STORE_ID /* 견적서작성 판매점 ID 販売店ID */ , H.SALE_STORE_NAME AS SOLD_SALE_STORE_NAME /* 1차 판매점명 一次販売店名 */
, C.ESTIMATE_DETAIL_CREATE_DATE /* 견적작성일 見積作成日*/ , D.SALE_STORE_NAME /* 작성 판매점 作成販売店 */
, A.ITEM_NO /* 고객용제품명 品番 */ , I.PREF_NAME /* 도도부현 エリア */
, A.ITEM_NAME /* basicmaterial 品名 */ , K.BUSINESS_TEAM /* 영업팀(판매점등록) 担当課支店 */
, A.AMOUNT /* 수량 明細 */ , C.SALE_STORE_ID /* 견적서작성 판매점 ID 販売店ID */
, ( , C.ESTIMATE_DETAIL_CREATE_DATE /* 견적작성일 見積作成日*/
SELECT TOP 1 T.SALE_PRICE , A.ITEM_NO /* 고객용제품명 品番 */
FROM M_SALE_STORE_PRICE T , A.ITEM_NAME /* basicmaterial 品名 */
WHERE T.SALE_STORE_ID = D.SALE_STORE_ID , A.AMOUNT /* 수량 明細 */
AND T.ITEM_ID = A.ITEM_ID , (
) AS SALE_PRICE /* 판매단가 販売単価2 */ SELECT TOP 1 T.SALE_PRICE
<!-- FROM M_SALE_STORE_PRICE T
/* 사용안함 */ WHERE T.SALE_STORE_ID = D.SALE_STORE_ID
, ( AND T.ITEM_ID = A.ITEM_ID
SELECT TOP 1 T.COST_PRICE ) AS SALE_PRICE /* 판매단가 販売単価2 */
FROM M_SALE_STORE_PRICE T <!--
WHERE T.SALE_STORE_ID = D.SALE_STORE_ID /* 사용안함 */
AND T.ITEM_ID = A.ITEM_ID , (
) AS COST_PRICE /* 구매단가 仕入れ単価 */ SELECT TOP 1 T.COST_PRICE
, C.SALE_STORE_ID /* 販売代理店 */ FROM M_SALE_STORE_PRICE T
, A.AMOUNT_CHANGE /* 明細_変更 */ WHERE T.SALE_STORE_ID = D.SALE_STORE_ID
, D.FIRST_AGENT_FLG /* 一次代理店フラグ */ AND T.ITEM_ID = A.ITEM_ID
--> ) AS COST_PRICE /* 구매단가 仕入れ単価 */
FROM T_OBJECT C , C.SALE_STORE_ID /* 販売代理店 */
LEFT OUTER JOIN T_OBJECT_INFO OI , A.AMOUNT_CHANGE /* 明細_変更 */
ON OI.OBJECT_NO = C.OBJECT_NO , D.FIRST_AGENT_FLG /* 一次代理店フラグ */
LEFT OUTER JOIN M_SALES_STORE D -->
ON C.SALE_STORE_ID = D.SALE_STORE_ID FROM T_OBJECT C
LEFT OUTER JOIN T_PLAN B LEFT OUTER JOIN T_OBJECT_INFO OI
ON C.OBJECT_NO = B.OBJECT_NO ON OI.OBJECT_NO = C.OBJECT_NO
LEFT OUTER JOIN T_PART_ESTIMATE A LEFT OUTER JOIN M_SALES_STORE D
ON A.OBJECT_NO = B.OBJECT_NO ON C.SALE_STORE_ID = D.SALE_STORE_ID
AND A.PLAN_NO = B.PLAN_NO LEFT OUTER JOIN T_PLAN B
LEFT OUTER JOIN T_STATISTICS E ON C.OBJECT_NO = B.OBJECT_NO
ON A.OBJECT_NO = E.OBJECT_NO LEFT OUTER JOIN T_PART_ESTIMATE A
AND A.PLAN_NO = E.PLAN_NO ON A.OBJECT_NO = B.OBJECT_NO
LEFT OUTER JOIN M_BUSINESS_GROUP F AND A.PLAN_NO = B.PLAN_NO
ON C.BUSINESS_GROUP_CD = F.BUSINESS_GROUP_CD LEFT OUTER JOIN T_STATISTICS E
AND F.DEL_FLG = 0 ON A.OBJECT_NO = E.OBJECT_NO
LEFT OUTER JOIN M_BUSINESS_CHARGER G AND A.PLAN_NO = E.PLAN_NO
ON C.BUSINESS_CHARGER_CD = G.BUSINESS_CHARGER_CD LEFT OUTER JOIN M_BUSINESS_GROUP F
AND G.DEL_FLG = 0 ON C.BUSINESS_GROUP_CD = F.BUSINESS_GROUP_CD
LEFT OUTER JOIN M_SALES_STORE H AND F.DEL_FLG = 0
ON D.FIRST_AGENT_ID = H.SALE_STORE_ID LEFT OUTER JOIN M_BUSINESS_CHARGER G
AND H.DEL_FLG = 0 ON C.BUSINESS_CHARGER_CD = G.BUSINESS_CHARGER_CD
LEFT OUTER JOIN T_SIMULATION_PREFECTURE I AND G.DEL_FLG = 0
ON C.PREF_ID = I.PREF_ID LEFT OUTER JOIN M_SALES_STORE H
LEFT OUTER JOIN M_BUSINESS_CHARGER J ON D.FIRST_AGENT_ID = H.SALE_STORE_ID
ON D.BUSINESS_CHARGER_CD = J.BUSINESS_CHARGER_CD AND H.DEL_FLG = 0
AND J.DEL_FLG = 0 LEFT OUTER JOIN T_SIMULATION_PREFECTURE I
LEFT OUTER JOIN M_BUSINESS_TEAM K ON C.PREF_ID = I.PREF_ID
ON J.BUSINESS_TEAM_CD = K.BUSINESS_TEAM_CD LEFT OUTER JOIN M_BUSINESS_CHARGER J
AND K.DEL_FLG = 0 ON D.BUSINESS_CHARGER_CD = J.BUSINESS_CHARGER_CD
WHERE (C.DEL_FLG = 0 OR (OI.SOURCE_ORIGIN = 'QCAST_III' AND OI.ORG_DEL_FLG = '0')) AND J.DEL_FLG = 0
AND D.DEL_FLG = 0 LEFT OUTER JOIN M_BUSINESS_TEAM K
AND B.DEL_FLG = 0 ON J.BUSINESS_TEAM_CD = K.BUSINESS_TEAM_CD
<if test="sch_startDt != null and sch_startDt != '' and sch_endDt != null and sch_endDt != ''"> <!-- 견적일 --> AND K.DEL_FLG = 0
AND C.ESTIMATE_DETAIL_CREATE_DATE IS NOT NULL WHERE (C.DEL_FLG = 0 OR (OI.SOURCE_ORIGIN = 'QCAST_III' AND OI.ORG_DEL_FLG = '0'))
AND C.ESTIMATE_DETAIL_CREATE_DATE <![CDATA[>=]]> #{sch_startDt} + ' 00:00:00' AND D.DEL_FLG = 0
AND C.ESTIMATE_DETAIL_CREATE_DATE <![CDATA[<=]]> #{sch_endDt} + ' 23:59:59' AND B.DEL_FLG = 0
</if> <if test="sch_startDt != null and sch_startDt != '' and sch_endDt != null and sch_endDt != ''"> <!-- 견적일 -->
<if test="sch_saleStoreId != null and sch_saleStoreId != ''"> <!-- 판매대리점명/ID --> AND C.ESTIMATE_DETAIL_CREATE_DATE IS NOT NULL
AND C.SALE_STORE_ID = #{sch_saleStoreId} AND C.ESTIMATE_DETAIL_CREATE_DATE <![CDATA[>=]]> #{sch_startDt} + ' 00:00:00'
</if> AND C.ESTIMATE_DETAIL_CREATE_DATE <![CDATA[<=]]> #{sch_endDt} + ' 23:59:59'
<if test="sch_businessChargerCd != null and sch_businessChargerCd != ''"> <!-- 영업담당자 --> </if>
AND C.BUSINESS_CHARGER_CD = #{sch_businessChargerCd} <if test="sch_saleStoreId != null and sch_saleStoreId != ''"> <!-- 판매대리점명/ID -->
AND C.SALE_STORE_ID = #{sch_saleStoreId}
</if>
<if test="sch_businessChargerCd != null and sch_businessChargerCd != ''"> <!-- 영업담당자 -->
AND C.BUSINESS_CHARGER_CD = #{sch_businessChargerCd}
</if>
) AS PAGED
<if test="pageNo != null and pageSize != null">
WHERE RN BETWEEN (#{pageNo} - 1) * #{pageSize} + 1 AND #{pageNo} * #{pageSize}
</if> </if>
</select> </select>
<select id="selectQuotItemExclDownDataByObjectNos" parameterType="java.util.List"
resultType="com.interplug.qcast.biz.excelDown.dto.QuotItemResponse">
/* sqlid : selectQuotItemExclDownDataByObjectNos (견적엑셀다운로드 품목단위 데이터 조회 - 페이징용) */
SELECT
C.OBJECT_NO
, B.PLAN_NO
, C.OBJECT_NAME
, H.SALE_STORE_NAME AS SOLD_SALE_STORE_NAME
, D.SALE_STORE_NAME
, I.PREF_NAME
, K.BUSINESS_TEAM
, C.SALE_STORE_ID
, C.ESTIMATE_DETAIL_CREATE_DATE
, A.ITEM_NO
, A.ITEM_NAME
, A.AMOUNT
, (
SELECT TOP 1 T.SALE_PRICE
FROM M_SALE_STORE_PRICE T
WHERE T.SALE_STORE_ID = D.SALE_STORE_ID
AND T.ITEM_ID = A.ITEM_ID
) AS SALE_PRICE
FROM T_OBJECT C
LEFT OUTER JOIN T_OBJECT_INFO OI
ON OI.OBJECT_NO = C.OBJECT_NO
LEFT OUTER JOIN M_SALES_STORE D
ON C.SALE_STORE_ID = D.SALE_STORE_ID
LEFT OUTER JOIN T_PLAN B
ON C.OBJECT_NO = B.OBJECT_NO
LEFT OUTER JOIN T_PART_ESTIMATE A
ON A.OBJECT_NO = B.OBJECT_NO
AND A.PLAN_NO = B.PLAN_NO
LEFT OUTER JOIN M_SALES_STORE H
ON D.FIRST_AGENT_ID = H.SALE_STORE_ID
AND H.DEL_FLG = 0
LEFT OUTER JOIN T_SIMULATION_PREFECTURE I
ON C.PREF_ID = I.PREF_ID
LEFT OUTER JOIN M_BUSINESS_CHARGER J
ON D.BUSINESS_CHARGER_CD = J.BUSINESS_CHARGER_CD
AND J.DEL_FLG = 0
LEFT OUTER JOIN M_BUSINESS_TEAM K
ON J.BUSINESS_TEAM_CD = K.BUSINESS_TEAM_CD
AND K.DEL_FLG = 0
WHERE (C.DEL_FLG = 0 OR (OI.SOURCE_ORIGIN = 'QCAST_III' AND OI.ORG_DEL_FLG = '0'))
AND D.DEL_FLG = 0
AND B.DEL_FLG = 0
AND C.OBJECT_NO IN
<foreach collection="list" item="objectNo" open="(" separator="," close=")">
#{objectNo}
</foreach>
</select>
<select id="selectNtrCtsCmpExclDownData" parameterType="com.interplug.qcast.biz.excelDown.dto.NtrCtsCmpRequest" resultType="com.interplug.qcast.biz.excelDown.dto.NtrCtsCmpResponse"> <select id="selectNtrCtsCmpExclDownData" parameterType="com.interplug.qcast.biz.excelDown.dto.NtrCtsCmpRequest" resultType="com.interplug.qcast.biz.excelDown.dto.NtrCtsCmpResponse">
/* sqlid : com.interplug.qcast.api.excelDown.selectNtrCtsCmpExclDownData (자연재해보상입력 엑셀 다운로드 데이터 조회)*/ /* sqlid : com.interplug.qcast.api.excelDown.selectNtrCtsCmpExclDownData (자연재해보상입력 엑셀 다운로드 데이터 조회)*/
SELECT SELECT