Compare commits
No commits in common. "891c2b0a38e5b296bf4f42987e346a5eebb8b9bf" and "34e3c7279904178209d57e4c2e7cfea432b8cd8e" have entirely different histories.
891c2b0a38
...
34e3c72799
@ -3199,6 +3199,10 @@ public class EstimateService {
|
|||||||
|
|
||||||
SimulationEstimateListResponse response = new SimulationEstimateListResponse();
|
SimulationEstimateListResponse response = new SimulationEstimateListResponse();
|
||||||
|
|
||||||
|
if (!"T01".equals(objectRequest.getSaleStoreId())) {
|
||||||
|
objectRequest.setSchSelSaleStoreId("");
|
||||||
|
}
|
||||||
|
|
||||||
// 견적서 목록 조회
|
// 견적서 목록 조회
|
||||||
List<ObjectResponse> objectList = estimateMapper.selectSimulationEstimateList(objectRequest);
|
List<ObjectResponse> objectList = estimateMapper.selectSimulationEstimateList(objectRequest);
|
||||||
|
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import org.springframework.web.bind.annotation.ResponseStatus;
|
|||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
import com.interplug.qcast.biz.excelDown.dto.NtrCtsCmpRequest;
|
import com.interplug.qcast.biz.excelDown.dto.NtrCtsCmpRequest;
|
||||||
import com.interplug.qcast.biz.excelDown.dto.NtrCtsCmpResponse;
|
import com.interplug.qcast.biz.excelDown.dto.NtrCtsCmpResponse;
|
||||||
|
import com.interplug.qcast.biz.excelDown.dto.QuotItemResponse;
|
||||||
import com.interplug.qcast.biz.excelDown.dto.QuotPlanResponse;
|
import com.interplug.qcast.biz.excelDown.dto.QuotPlanResponse;
|
||||||
import com.interplug.qcast.biz.excelDown.dto.QuotRequest;
|
import com.interplug.qcast.biz.excelDown.dto.QuotRequest;
|
||||||
import com.interplug.qcast.biz.excelDown.dto.QuotResponse;
|
import com.interplug.qcast.biz.excelDown.dto.QuotResponse;
|
||||||
@ -36,8 +37,13 @@ public class ExcelDownController {
|
|||||||
QuotResponse quotRes = new QuotResponse();
|
QuotResponse quotRes = new QuotResponse();
|
||||||
|
|
||||||
if ("1".equals(quotRequest.getSch_selectType())) {
|
if ("1".equals(quotRequest.getSch_selectType())) {
|
||||||
quotRes.setQuotPlanList(excelDownService.selectQuotPlanExclDownData(quotRequest));
|
List<QuotPlanResponse> quotPlanExclDownData =
|
||||||
quotRes.setQuotItemList(excelDownService.selectQuotItemExclDownData(quotRequest));
|
excelDownService.selectQuotPlanExclDownData(quotRequest);
|
||||||
|
List<QuotItemResponse> quotItemExclDownData =
|
||||||
|
excelDownService.selectQuotItemExclDownData(quotRequest);
|
||||||
|
|
||||||
|
quotRes.setQuotPlanList(quotPlanExclDownData);
|
||||||
|
quotRes.setQuotItemList(quotItemExclDownData);
|
||||||
} else {
|
} else {
|
||||||
List<QuotPlanResponse> quotPlanExclDownData =
|
List<QuotPlanResponse> quotPlanExclDownData =
|
||||||
excelDownService.selectQuotPlanExclDownData2(quotRequest);
|
excelDownService.selectQuotPlanExclDownData2(quotRequest);
|
||||||
|
|||||||
@ -10,7 +10,6 @@ import com.interplug.qcast.biz.excelDown.dto.WrntIsncCmplRequest;
|
|||||||
import com.interplug.qcast.biz.excelDown.dto.WrntIsncCmplResponse;
|
import com.interplug.qcast.biz.excelDown.dto.WrntIsncCmplResponse;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
@Mapper
|
@Mapper
|
||||||
interface ExcelDownMapper {
|
interface ExcelDownMapper {
|
||||||
@ -42,7 +41,6 @@ interface ExcelDownMapper {
|
|||||||
*/
|
*/
|
||||||
List<QuotItemResponse> selectQuotItemExclDownData(QuotRequest quotRequest) throws Exception;
|
List<QuotItemResponse> selectQuotItemExclDownData(QuotRequest quotRequest) throws Exception;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 과거데이터_자연재해보상입력 엑셀다운로드 조회
|
* 과거데이터_자연재해보상입력 엑셀다운로드 조회
|
||||||
*
|
*
|
||||||
|
|||||||
@ -5,12 +5,9 @@ import com.interplug.qcast.config.message.Messages;
|
|||||||
import com.interplug.qcast.util.ZipFileManager;
|
import com.interplug.qcast.util.ZipFileManager;
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
|||||||
@ -21,9 +21,4 @@ public class QuotRequest {
|
|||||||
private String sch_saleStoreId;
|
private String sch_saleStoreId;
|
||||||
@Schema(description = "영업 담당자명")
|
@Schema(description = "영업 담당자명")
|
||||||
private String sch_businessChargerCd;
|
private String sch_businessChargerCd;
|
||||||
@Schema(description = "페이지 번호 (1부터 시작, null이면 전체 조회)")
|
|
||||||
private Integer pageNo;
|
|
||||||
@Schema(description = "페이지당 건수")
|
|
||||||
private Integer pageSize;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -1,7 +1,9 @@
|
|||||||
package com.interplug.qcast.biz.pwrGnrSimulation;
|
package com.interplug.qcast.biz.pwrGnrSimulation;
|
||||||
|
|
||||||
import com.interplug.qcast.biz.estimate.dto.EstimateRequest;
|
import com.interplug.qcast.biz.estimate.dto.EstimateRequest;
|
||||||
import com.interplug.qcast.biz.pwrGnrSimulation.dto.*;
|
import com.interplug.qcast.biz.pwrGnrSimulation.dto.PwrGnrSimGuideResponse;
|
||||||
|
import com.interplug.qcast.biz.pwrGnrSimulation.dto.PwrGnrSimRequest;
|
||||||
|
import com.interplug.qcast.biz.pwrGnrSimulation.dto.PwrGnrSimResponse;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
@ -45,11 +47,4 @@ public class PwrGnrSimController {
|
|||||||
throws Exception {
|
throws Exception {
|
||||||
pwrGnrSimService.excelDownload(request, response, estimateRequest);
|
pwrGnrSimService.excelDownload(request, response, estimateRequest);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Operation(description = "발전시뮬레이션 판매점정보 암호화를 처리한다.")
|
|
||||||
@GetMapping("/encData")
|
|
||||||
@ResponseStatus(HttpStatus.OK)
|
|
||||||
public PwrGnrSimEncResponse selectPwrGnrSimulationEncData(PwrGnrSimEncRequest pwrGnrSimEncRequest) throws Exception {
|
|
||||||
return pwrGnrSimService.selectPwrGnrSimulationEncData(pwrGnrSimEncRequest);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,7 +8,6 @@ import com.interplug.qcast.biz.pwrGnrSimulation.dto.*;
|
|||||||
import com.interplug.qcast.config.Exception.ErrorCode;
|
import com.interplug.qcast.config.Exception.ErrorCode;
|
||||||
import com.interplug.qcast.config.Exception.QcastException;
|
import com.interplug.qcast.config.Exception.QcastException;
|
||||||
import com.interplug.qcast.config.message.Messages;
|
import com.interplug.qcast.config.message.Messages;
|
||||||
import com.interplug.qcast.util.EncryptUtil;
|
|
||||||
import com.interplug.qcast.util.ExcelUtil;
|
import com.interplug.qcast.util.ExcelUtil;
|
||||||
import com.interplug.qcast.util.InterfaceQsp;
|
import com.interplug.qcast.util.InterfaceQsp;
|
||||||
import com.interplug.qcast.util.PdfUtil;
|
import com.interplug.qcast.util.PdfUtil;
|
||||||
@ -2615,12 +2614,4 @@ public class PwrGnrSimService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public PwrGnrSimEncResponse selectPwrGnrSimulationEncData(PwrGnrSimEncRequest pwrGnrSimEncRequest) throws Exception {
|
|
||||||
PwrGnrSimEncResponse encDataResponse = new PwrGnrSimEncResponse();
|
|
||||||
|
|
||||||
encDataResponse.setEncSaleStoreId(EncryptUtil.encryptAes256(pwrGnrSimEncRequest.getSaleStoreId()));
|
|
||||||
encDataResponse.setEncUserId(EncryptUtil.encryptAes256(pwrGnrSimEncRequest.getUserId()));
|
|
||||||
|
|
||||||
return encDataResponse;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,13 +0,0 @@
|
|||||||
package com.interplug.qcast.biz.pwrGnrSimulation.dto;
|
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
public class PwrGnrSimEncRequest {
|
|
||||||
@Schema(description = "판매점ID")
|
|
||||||
private String saleStoreId;
|
|
||||||
|
|
||||||
@Schema(description = "사용자아이디")
|
|
||||||
private String userId;
|
|
||||||
}
|
|
||||||
@ -1,13 +0,0 @@
|
|||||||
package com.interplug.qcast.biz.pwrGnrSimulation.dto;
|
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
public class PwrGnrSimEncResponse {
|
|
||||||
@Schema(description = "암호화 판매점 아이디")
|
|
||||||
private String encSaleStoreId;
|
|
||||||
|
|
||||||
@Schema(description = "암호화 로그인 아이디")
|
|
||||||
private String encUserId;
|
|
||||||
}
|
|
||||||
@ -1,127 +0,0 @@
|
|||||||
package com.interplug.qcast.util;
|
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
|
|
||||||
import javax.crypto.Cipher;
|
|
||||||
import javax.crypto.SecretKey;
|
|
||||||
import javax.crypto.spec.IvParameterSpec;
|
|
||||||
import javax.crypto.spec.SecretKeySpec;
|
|
||||||
import java.security.MessageDigest;
|
|
||||||
import java.util.Base64;
|
|
||||||
|
|
||||||
@Component
|
|
||||||
@Slf4j
|
|
||||||
public class EncryptUtil {
|
|
||||||
/** 초기화 비밀번호 */
|
|
||||||
@Value("${qsp.aes256.key}")
|
|
||||||
static String loginPasswordAesKey;
|
|
||||||
|
|
||||||
@Value("${qsp.aes256.key}")
|
|
||||||
public void setLoginPasswordAesKey(String value) {
|
|
||||||
loginPasswordAesKey = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 비밀번호를 암호화하는 기능(복호화가 되면 안되므로 SHA-256 인코딩 방식 적용)
|
|
||||||
*
|
|
||||||
* @param password 암호화될 패스워드
|
|
||||||
* @param id salt로 사용될 사용자 ID 지정
|
|
||||||
* @return
|
|
||||||
* @throws Exception
|
|
||||||
*/
|
|
||||||
public static String encryptSha256(String password, String id) {
|
|
||||||
if (password == null) {
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
String enStr = null;
|
|
||||||
|
|
||||||
try {
|
|
||||||
byte[] hashValue = null; // 해쉬값
|
|
||||||
|
|
||||||
MessageDigest md = MessageDigest.getInstance("SHA-256");
|
|
||||||
|
|
||||||
md.reset();
|
|
||||||
md.update(id.getBytes());
|
|
||||||
|
|
||||||
hashValue = md.digest(password.getBytes());
|
|
||||||
enStr = new String(Base64.getEncoder().encode(hashValue));
|
|
||||||
} catch (Exception e) {
|
|
||||||
log.error("Sha Util Encrypt Error", e);
|
|
||||||
}
|
|
||||||
return enStr;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* AES-256 암호화
|
|
||||||
* @param keyword
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public static String encryptAes256(String keyword) {
|
|
||||||
|
|
||||||
return encryptAes256(keyword, loginPasswordAesKey);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* AES-256 암호화
|
|
||||||
* @param keyword
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public static String encryptAes256(String keyword, String loginPasswordKey) {
|
|
||||||
if(StringUtils.isBlank(keyword)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
String enStr = null;
|
|
||||||
try {
|
|
||||||
byte[] keyData = loginPasswordAesKey.getBytes();
|
|
||||||
|
|
||||||
SecretKey secureKey = new SecretKeySpec(keyData, "AES");
|
|
||||||
|
|
||||||
Cipher c = Cipher.getInstance("AES/CBC/PKCS5Padding");
|
|
||||||
c.init(Cipher.ENCRYPT_MODE, secureKey, new IvParameterSpec(loginPasswordKey.substring(0, 16).getBytes()));
|
|
||||||
|
|
||||||
byte[] encrypted = c.doFinal(keyword.getBytes("UTF-8"));
|
|
||||||
enStr = new String(Base64.getEncoder().encode(encrypted));
|
|
||||||
} catch (Exception e) {
|
|
||||||
log.error("AES Util Encrypt Error", e);
|
|
||||||
}
|
|
||||||
return enStr;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* AES-256 복호화
|
|
||||||
* @param keyword
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public static String decryptAes256(String keyword) {
|
|
||||||
|
|
||||||
return decryptAes256(keyword, loginPasswordAesKey);
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* AES-256 복호화
|
|
||||||
* @param keyword
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public static String decryptAes256(String keyword, String loginPasswordKey) {
|
|
||||||
if(StringUtils.isBlank(keyword)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
String deStr = null;
|
|
||||||
try {
|
|
||||||
byte[] keyData = loginPasswordAesKey.getBytes();
|
|
||||||
SecretKey secureKey = new SecretKeySpec(keyData, "AES");
|
|
||||||
Cipher c = Cipher.getInstance("AES/CBC/PKCS5Padding");
|
|
||||||
c.init(Cipher.DECRYPT_MODE, secureKey, new IvParameterSpec(loginPasswordKey.substring(0, 16).getBytes("UTF-8")));
|
|
||||||
|
|
||||||
byte[] byteStr = Base64.getDecoder().decode(keyword.getBytes());
|
|
||||||
deStr = new String(c.doFinal(byteStr), "UTF-8");
|
|
||||||
} catch (Exception e) {
|
|
||||||
log.error("AES Util Decrypt Error", e);
|
|
||||||
}
|
|
||||||
return deStr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1549,7 +1549,7 @@
|
|||||||
<select id="selectSimulationEstimateList" parameterType="com.interplug.qcast.biz.object.dto.ObjectRequest" resultType="com.interplug.qcast.biz.object.dto.ObjectResponse">
|
<select id="selectSimulationEstimateList" parameterType="com.interplug.qcast.biz.object.dto.ObjectRequest" resultType="com.interplug.qcast.biz.object.dto.ObjectResponse">
|
||||||
/* sqlid : com.interplug.qcast.biz.estimate.selectSimulationEstimateList */
|
/* sqlid : com.interplug.qcast.biz.estimate.selectSimulationEstimateList */
|
||||||
|
|
||||||
<if test='saleStoreId != null and saleStoreId != "T01"'>
|
<if test='(saleStoreId != null and saleStoreId != "T01") or (schSelSaleStoreId != null and schSelSaleStoreId != "")'>
|
||||||
/* 계층형 구조에 맞는 SALE_STORE_ID 축출 - 재귀함수 */
|
/* 계층형 구조에 맞는 SALE_STORE_ID 축출 - 재귀함수 */
|
||||||
WITH SALES_STORE_CTE AS (
|
WITH SALES_STORE_CTE AS (
|
||||||
SELECT
|
SELECT
|
||||||
@ -1559,7 +1559,14 @@
|
|||||||
FROM M_SALES_STORE WITH(NOLOCK)
|
FROM M_SALES_STORE WITH(NOLOCK)
|
||||||
WHERE APPROVE_FLG = '2'
|
WHERE APPROVE_FLG = '2'
|
||||||
AND DEL_FLG = '0'
|
AND DEL_FLG = '0'
|
||||||
|
<choose>
|
||||||
|
<when test='schSelSaleStoreId != null and schSelSaleStoreId != ""'>
|
||||||
|
AND SALE_STORE_ID = #{schSelSaleStoreId}
|
||||||
|
</when>
|
||||||
|
<otherwise>
|
||||||
AND SALE_STORE_ID = #{saleStoreId}
|
AND SALE_STORE_ID = #{saleStoreId}
|
||||||
|
</otherwise>
|
||||||
|
</choose>
|
||||||
|
|
||||||
UNION ALL
|
UNION ALL
|
||||||
SELECT
|
SELECT
|
||||||
@ -1595,10 +1602,7 @@
|
|||||||
ON O.SALE_STORE_ID = S.SALE_STORE_ID
|
ON O.SALE_STORE_ID = S.SALE_STORE_ID
|
||||||
INNER JOIN T_PLAN P WITH (NOLOCK)
|
INNER JOIN T_PLAN P WITH (NOLOCK)
|
||||||
ON O.OBJECT_NO = P.OBJECT_NO
|
ON O.OBJECT_NO = P.OBJECT_NO
|
||||||
INNER JOIN T_PLAN_INFO PI WITH (NOLOCK)
|
<if test='(saleStoreId != null and saleStoreId != "T01") or (schSelSaleStoreId != null and schSelSaleStoreId != "")'>
|
||||||
ON P.OBJECT_NO = PI.OBJECT_NO
|
|
||||||
AND P.PLAN_NO = PI.PLAN_NO
|
|
||||||
<if test='saleStoreId != null and saleStoreId != "T01"'>
|
|
||||||
INNER JOIN SALES_STORE_CTE T
|
INNER JOIN SALES_STORE_CTE T
|
||||||
ON S.SALE_STORE_ID = T.SALE_STORE_ID
|
ON S.SALE_STORE_ID = T.SALE_STORE_ID
|
||||||
</if>
|
</if>
|
||||||
@ -1607,13 +1611,12 @@
|
|||||||
WHERE OI.SOURCE_ORIGIN = 'QCAST_III'
|
WHERE OI.SOURCE_ORIGIN = 'QCAST_III'
|
||||||
AND (OI.ORG_DEL_FLG = '0' AND OI.TEMP_FLG = '0')
|
AND (OI.ORG_DEL_FLG = '0' AND OI.TEMP_FLG = '0')
|
||||||
AND P.DEL_FLG = '0'
|
AND P.DEL_FLG = '0'
|
||||||
AND PI.DOC_NO IS NOT NULL
|
|
||||||
<if test='schObjectNo != null and schObjectNo != ""'>
|
<if test='schObjectNo != null and schObjectNo != ""'>
|
||||||
AND O.OBJECT_NO LIKE '%' + #{schObjectNo} + '%'
|
AND O.OBJECT_NO LIKE '%' + #{schObjectNo} + '%'
|
||||||
</if>
|
</if>
|
||||||
<if test='schSelSaleStoreId != null and schSelSaleStoreId != ""'>
|
<if test='schOtherSelSaleStoreId != null and schOtherSelSaleStoreId != ""'>
|
||||||
/* 판매점 아이디 선택 */
|
/* 2차점까지 고름 */
|
||||||
AND O.SALE_STORE_ID = #{schSelSaleStoreId}
|
AND O.SALE_STORE_ID = #{schOtherSelSaleStoreId}
|
||||||
</if>
|
</if>
|
||||||
<if test='schObjectName != null and schObjectName != ""'>
|
<if test='schObjectName != null and schObjectName != ""'>
|
||||||
AND O.OBJECT_NAME LIKE '%' + #{schObjectName} + '%'
|
AND O.OBJECT_NAME LIKE '%' + #{schObjectName} + '%'
|
||||||
|
|||||||
@ -6,10 +6,8 @@
|
|||||||
<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 * FROM (
|
|
||||||
SELECT
|
SELECT
|
||||||
ROW_NUMBER() OVER (ORDER BY B.OBJECT_NO, A.PLAN_NO) AS RN
|
B.OBJECT_NO /* 물건번호 物件番号 */
|
||||||
, B.OBJECT_NO /* 물건번호 物件番号 */
|
|
||||||
, A.PLAN_NO /* 플랜 案件番号 */
|
, A.PLAN_NO /* 플랜 案件番号 */
|
||||||
, CONVERT(varchar, A.LAST_EDIT_DATETIME, 120) AS LAST_EDIT_DATETIME /* 플랜정보 최신 갱신일시 プラン情報最新更新日時 */
|
, CONVERT(varchar, A.LAST_EDIT_DATETIME, 120) AS LAST_EDIT_DATETIME /* 플랜정보 최신 갱신일시 プラン情報最新更新日時 */
|
||||||
, G.SALE_STORE_NAME /* 판매대리점 販売代理店 */
|
, G.SALE_STORE_NAME /* 판매대리점 販売代理店 */
|
||||||
@ -182,14 +180,6 @@
|
|||||||
ON G.FIRST_AGENT_ID = Y.SALE_STORE_ID /*1차점정보*/
|
ON G.FIRST_AGENT_ID = Y.SALE_STORE_ID /*1차점정보*/
|
||||||
WHERE A.DEL_FLG = 0
|
WHERE A.DEL_FLG = 0
|
||||||
AND (B.DEL_FLG = 0 OR (OI.SOURCE_ORIGIN = 'QCAST_III' AND OI.ORG_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">
|
|
||||||
WHERE RN BETWEEN (#{pageNo} - 1) * #{pageSize} + 1 AND #{pageNo} * #{pageSize}
|
|
||||||
</if>
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<sql id="quotPlanSearchConditions">
|
|
||||||
<if test="sch_startDt != null and sch_startDt != '' and sch_endDt != null and sch_endDt != ''"> <!-- 견적일 -->
|
<if test="sch_startDt != null and sch_startDt != '' and sch_endDt != null and sch_endDt != ''"> <!-- 견적일 -->
|
||||||
AND B.ESTIMATE_DETAIL_CREATE_DATE <![CDATA[>=]]> #{sch_startDt} + ' 00:00:00'
|
AND B.ESTIMATE_DETAIL_CREATE_DATE <![CDATA[>=]]> #{sch_startDt} + ' 00:00:00'
|
||||||
AND B.ESTIMATE_DETAIL_CREATE_DATE <![CDATA[<=]]> #{sch_endDt} + ' 23:59:59'
|
AND B.ESTIMATE_DETAIL_CREATE_DATE <![CDATA[<=]]> #{sch_endDt} + ' 23:59:59'
|
||||||
@ -200,7 +190,7 @@
|
|||||||
<if test="sch_businessChargerCd != null and sch_businessChargerCd != ''"> <!-- 영업담당자 -->
|
<if test="sch_businessChargerCd != null and sch_businessChargerCd != ''"> <!-- 영업담당자 -->
|
||||||
AND G.BUSINESS_CHARGER_CD = #{sch_businessChargerCd}
|
AND G.BUSINESS_CHARGER_CD = #{sch_businessChargerCd}
|
||||||
</if>
|
</if>
|
||||||
</sql>
|
</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">
|
||||||
@ -244,11 +234,7 @@
|
|||||||
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 /* 물건번호 物件番号 */
|
||||||
FROM (
|
|
||||||
SELECT
|
|
||||||
ROW_NUMBER() OVER (ORDER BY C.OBJECT_NO, B.PLAN_NO, A.ITEM_NO) AS RN
|
|
||||||
, C.OBJECT_NO /* 물건번호 物件番号 */
|
|
||||||
, B.PLAN_NO /* 플랜 案件番号 */
|
, B.PLAN_NO /* 플랜 案件番号 */
|
||||||
, C.OBJECT_NAME /* 물건명 案件名 */
|
, C.OBJECT_NAME /* 물건명 案件名 */
|
||||||
, H.SALE_STORE_NAME AS SOLD_SALE_STORE_NAME /* 1차 판매점명 一次販売店名 */
|
, H.SALE_STORE_NAME AS SOLD_SALE_STORE_NAME /* 1차 판매점명 一次販売店名 */
|
||||||
@ -322,10 +308,6 @@
|
|||||||
<if test="sch_businessChargerCd != null and sch_businessChargerCd != ''"> <!-- 영업담당자 -->
|
<if test="sch_businessChargerCd != null and sch_businessChargerCd != ''"> <!-- 영업담당자 -->
|
||||||
AND C.BUSINESS_CHARGER_CD = #{sch_businessChargerCd}
|
AND C.BUSINESS_CHARGER_CD = #{sch_businessChargerCd}
|
||||||
</if>
|
</if>
|
||||||
) AS PAGED
|
|
||||||
<if test="pageNo != null and pageSize != null">
|
|
||||||
WHERE RN BETWEEN (#{pageNo} - 1) * #{pageSize} + 1 AND #{pageNo} * #{pageSize}
|
|
||||||
</if>
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user