물건/견적서 테이블 분리 작업

This commit is contained in:
LAPTOP-L3VE7KK2\USER 2025-03-05 09:32:15 +09:00
parent 4e3884c32a
commit f35a0ea5ca
8 changed files with 589 additions and 415 deletions

View File

@ -51,7 +51,7 @@ public class EstimateController {
@Operation(description = "견적서 상세를 조회한다.")
@GetMapping("/{objectNo}/{planNo}/detail")
@ResponseStatus(HttpStatus.OK)
public EstimateResponse selectObjectDetail(
public EstimateResponse selectEstimateDetail(
@PathVariable String objectNo, @PathVariable String planNo) throws Exception {
return estimateService.selectEstimateDetail(objectNo, planNo);
}

View File

@ -60,12 +60,21 @@ public interface EstimateMapper {
// 물건정보 수정
public int updateObject(EstimateRequest estimateRequest);
// 물건정보 상세 수정
public int updateObjectInfo(EstimateRequest estimateRequest);
// 견적서 정보 수정
public int updateEstimate(EstimateRequest estimateRequest);
// 견적서 상세 정보 수정
public int updateEstimateInfo(EstimateRequest estimateRequest);
// 견적서 정보 초기화
public int updateEstimateReset(EstimateRequest estimateRequest);
// 견적서 상세 정보 초기화
public int updateEstimateInfoReset(EstimateRequest estimateRequest);
// 견적서 잠금 수정
public int updateEstimateLock(EstimateRequest estimateRequest);
@ -87,6 +96,9 @@ public interface EstimateMapper {
// 견적서 아이템 등록
public int insertEstimateItem(ItemRequest itemRequest);
// 견적서 아이템 상세 등록
public int insertEstimateInfoItem(ItemRequest itemRequest);
// 견적서 아이템 히스토리 등록
public int insertEstimateItemHis(ItemRequest itemRequest);
@ -105,9 +117,15 @@ public interface EstimateMapper {
// 견적서 아이템 목록 삭제(물리 삭제)
public int deleteEstimateItemList(EstimateRequest estimateRequest);
// 견적서 아이템 상세 목록 삭제(물리 삭제)
public int deleteEstimateInfoItemList(EstimateRequest estimateRequest);
// 견적서 복사
public int insertEstimateCopy(EstimateCopyRequest estimateCopyRequest);
// 견적서 상세 복사
public int insertEstimateInfoCopy(EstimateCopyRequest estimateCopyRequest);
// 견적서 지붕면 복사
public int insertEstimateRoofCopy(EstimateCopyRequest estimateCopyRequest);
@ -125,4 +143,7 @@ public interface EstimateMapper {
// 견적서 Q.ORDER 연동 시공타입 조회
public String selectEstimateConstructSpecification(EstimateRequest estimateRequest);
// 견적서 수정일 변경
public int updateEstimateLastEditDate(EstimateRequest estimateRequest);
}

View File

@ -317,6 +317,11 @@ public class EstimateService {
ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "Sale Store ID"));
}
if (StringUtils.isEmpty(estimateRequest.getUserId())) {
throw new QcastException(
ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "User ID"));
}
String splitStr = "";
List<RoofRequest> orgRoofList = new ArrayList<RoofRequest>();
@ -612,12 +617,14 @@ public class EstimateService {
// 물건정보 수정
if (!StringUtils.isEmpty(estimateRequest.getObjectName())
|| !StringUtils.isEmpty(estimateRequest.getObjectNameOmit())
|| !StringUtils.isEmpty(estimateRequest.getSurfaceType())
|| !StringUtils.isEmpty(estimateRequest.getObjectNameOmit())) {
estimateMapper.updateObject(estimateRequest);
}
if (!StringUtils.isEmpty(estimateRequest.getSurfaceType())
|| !StringUtils.isEmpty(estimateRequest.getSetupHeight())
|| !StringUtils.isEmpty(estimateRequest.getStandardWindSpeedId())
|| !StringUtils.isEmpty(estimateRequest.getSnowfall())) {
estimateMapper.updateObject(estimateRequest);
estimateMapper.updateObjectInfo(estimateRequest);
}
// 견적서 정보 수정
@ -626,6 +633,7 @@ public class EstimateService {
? estimateRequest.getPriceCd()
: "UNIT_PRICE");
estimateMapper.updateEstimate(estimateRequest);
estimateMapper.updateEstimateInfo(estimateRequest);
// 도면 작성일 경우에만 지붕면, 도면 아이템 데이터 초기화 저장
if ("1".equals(estimateRequest.getDrawingFlg())) {
@ -707,6 +715,7 @@ public class EstimateService {
// 견적서 모든 아이템 제거
estimateMapper.deleteEstimateItemList(estimateRequest);
estimateMapper.deleteEstimateInfoItemList(estimateRequest);
// 견적서 아이템 신규 추가
String hisNo = estimateMapper.selectEstimateItemHisNo(estimateRequest); // 아이템 히스토리 번호 조회
@ -734,6 +743,7 @@ public class EstimateService {
if (!"1".equals(itemRequest.getDelFlg())) {
estimateMapper.insertEstimateItem(itemRequest);
estimateMapper.insertEstimateInfoItem(itemRequest);
}
}
@ -795,6 +805,12 @@ public class EstimateService {
ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "Plan No"));
}
if (StringUtils.isEmpty(estimateCopyRequest.getUserId())) {
throw new QcastException(
ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "User ID"));
}
// 응답 객체
EstimateResponse response = new EstimateResponse();
@ -818,6 +834,7 @@ public class EstimateService {
// [2]. 물건정보 복사
objectRequest.setContentsPath(baseDirPath + "\\\\" + objectRequest.getCopyObjectNo());
objectMapper.insertObjectCopy(objectRequest);
objectMapper.insertObjectInfoCopy(objectRequest);
objectRequest.setObjectNo(objectRequest.getCopyObjectNo());
objectMapper.updateObjectDelivery(objectRequest);
@ -876,6 +893,7 @@ public class EstimateService {
estimateCopyRequest.setCopyObjectNo(objectRequest.getObjectNo());
estimateCopyRequest.setCopyPlanNo("1");
estimateMapper.insertEstimateCopy(estimateCopyRequest);
estimateMapper.insertEstimateInfoCopy(estimateCopyRequest);
// [5]. 견적서 아이템 복사
for (ItemRequest itemRequest : itemList) {
@ -890,6 +908,7 @@ public class EstimateService {
itemRequest.setUserId(estimateCopyRequest.getUserId());
estimateMapper.insertEstimateItem(itemRequest);
estimateMapper.insertEstimateInfoItem(itemRequest);
}
// [6]. 견적서 지붕면 도면 초기 데이터 복사
@ -911,24 +930,6 @@ public class EstimateService {
cs.setUserId(estimateCopyRequest.getUserId());
canvasStatusService.copyCanvasStatus(cs, true);
// [8]. QSP Q.CAST SEND API
/*
List<EstimateSendResponse> resultList = new ArrayList<EstimateSendResponse>();
estimateRequest.setObjectNo(estimateCopyRequest.getCopyObjectNo());
estimateRequest.setPlanNo(estimateCopyRequest.getCopyPlanNo());
resultList = this.sendEstimateApi(estimateRequest);
// API에서 받은 문서번호 업데이트
for (EstimateSendResponse result : resultList) {
estimateRequest.setObjectNo(result.getObjectNo());
estimateRequest.setPlanNo(result.getPlanNo());
estimateRequest.setDocNo(result.getDocNo());
estimateRequest.setSyncFlg(result.getSyncFlg());
estimateRequest.setUserId(estimateCopyRequest.getUserId());
estimateMapper.updateEstimateApi(estimateRequest);
}
*/
} catch (Exception e) {
throw new QcastException(ErrorCode.INTERNAL_SERVER_ERROR);
}
@ -958,6 +959,11 @@ public class EstimateService {
ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "Plan No"));
}
if (StringUtils.isEmpty(estimateRequest.getUserId())) {
throw new QcastException(
ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "User ID"));
}
// 견적서 상세 조회
EstimateResponse estimateResponse = estimateMapper.selectEstimateDetail(estimateRequest);
@ -1192,8 +1198,11 @@ public class EstimateService {
// 견적서 정보 초기화
estimateMapper.updateEstimateReset(estimateRequest);
estimateMapper.updateEstimateInfoReset(estimateRequest);
// 견적서 모든 아이템 제거
estimateMapper.deleteEstimateItemList(estimateRequest);
estimateMapper.deleteEstimateInfoItemList(estimateRequest);
// 견적서 아이템 신규 추가
String hisNo = estimateMapper.selectEstimateItemHisNo(estimateRequest); // 아이템 히스토리 번호 조회
for (ItemRequest itemRequest : itemList) {
@ -1220,6 +1229,7 @@ public class EstimateService {
if (!"1".equals(itemRequest.getDelFlg())) {
estimateMapper.insertEstimateItem(itemRequest);
estimateMapper.insertEstimateInfoItem(itemRequest);
}
}
@ -1272,9 +1282,15 @@ public class EstimateService {
ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "Lock Flag"));
}
if (StringUtils.isEmpty(estimateRequest.getUserId())) {
throw new QcastException(
ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "User ID"));
}
try {
estimateMapper.updateEstimateLock(estimateRequest);
estimateMapper.updateEstimateLastEditDate(estimateRequest);
} catch (Exception e) {
throw new QcastException(ErrorCode.INTERNAL_SERVER_ERROR);
}
@ -1326,9 +1342,10 @@ public class EstimateService {
estimateResponse.setCustOmit("様邸");
}
// 견적서 잠금 처리
// 견적서 잠금 처리 (최종 수정일 업데이트)
estimateRequest.setLockFlg("1");
estimateMapper.updateEstimateLock(estimateRequest);
estimateMapper.updateEstimateLastEditDate(estimateRequest);
// 견적서 특이사항 조회
List<NoteResponse> noteList = new ArrayList<NoteResponse>();

View File

@ -3,8 +3,6 @@ package com.interplug.qcast.biz.object;
import com.interplug.qcast.biz.object.dto.*;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.util.List;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@ -135,21 +133,4 @@ public class ObjectController {
public PlanReqResponse selectPlanReqList(PlanReqRequest planReqRequest) throws Exception {
return objectService.selectPlanReqList(planReqRequest);
}
@Operation(description = "견적서 파일을 다운로드한다.")
@PostMapping("/file/{objectNo}/{no}")
@ResponseStatus(HttpStatus.OK)
public void fileDownload(
HttpServletRequest request,
HttpServletResponse response,
@PathVariable String objectNo,
@PathVariable String no)
throws Exception {
UploadRequest uploadRequest = new UploadRequest();
uploadRequest.setObjectNo(objectNo);
uploadRequest.setNo(no);
objectService.fileDownload(request, response, uploadRequest);
}
}

View File

@ -46,30 +46,51 @@ public interface ObjectMapper {
// 물건정보 등록
public int insertObject(ObjectRequest objectRequest);
// 물건정보 상세 등록
public int insertObjectInfo(ObjectRequest objectRequest);
// 물건정보 복사
public int insertObjectCopy(ObjectRequest objectRequest);
// 물건정보 상세 복사
public int insertObjectInfoCopy(ObjectRequest objectRequest);
// 물건정보 수정
public int updateObject(ObjectRequest objectRequest);
// 물건정보 상세 수정
public int updateObjectInfo(ObjectRequest objectRequest);
// 물건정보 갱신일 수정
public int updateObjectLastEditDate(ObjectRequest objectRequest);
// 물건정보 상세 수정
public int updateObjectInfoLastEditDate(ObjectRequest objectRequest);
// 물건정보 삭제
public int deleteObject(ObjectRequest objectRequest);
// 물건정보 상세 삭제
public int deleteObjectInfo(ObjectRequest objectRequest);
// 물건정보 > 배송정보 수정
public int updateObjectDelivery(ObjectRequest objectRequest);
// 플랜정보 등록
public int insertPlan(PlanRequest planRequest);
// 플랜정보 상세 등록
public int insertPlanInfo(PlanRequest planRequest);
// 플랜정보 삭제(물리 삭제)
public int deletePlan(PlanRequest planRequest);
// 물건정보 물건번호 변경
public int updateObjectNoChange(ObjectRequest objectRequest);
// 물건정보 상세 물건번호 변경
public int updateObjectInfoNoChange(ObjectRequest objectRequest);
// 플랜정보 물건번호 변경
public int updatePlanObjectNoChange(ObjectRequest objectRequest);

View File

@ -14,8 +14,6 @@ import com.interplug.qcast.biz.object.dto.PlanRequest;
import com.interplug.qcast.biz.object.dto.PlanResponse;
import com.interplug.qcast.biz.object.dto.PrefResponse;
import com.interplug.qcast.biz.object.dto.SaleStoreResponse;
import com.interplug.qcast.biz.object.dto.UploadRequest;
import com.interplug.qcast.biz.object.dto.UploadResponse;
import com.interplug.qcast.biz.object.dto.WindSpeedResponse;
import com.interplug.qcast.biz.storeFavorite.StoreFavoriteService;
import com.interplug.qcast.config.Exception.ErrorCode;
@ -23,13 +21,6 @@ import com.interplug.qcast.config.Exception.QcastException;
import com.interplug.qcast.config.message.Messages;
import com.interplug.qcast.util.InterfaceQsp;
import io.micrometer.common.util.StringUtils;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.net.URLConnection;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.text.SimpleDateFormat;
@ -41,7 +32,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpMethod;
import org.springframework.stereotype.Service;
import org.springframework.util.FileCopyUtils;
import org.springframework.web.util.UriComponentsBuilder;
@Slf4j
@ -305,6 +295,11 @@ public class ObjectService {
ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "Sale Store Level"));
}
if (StringUtils.isEmpty(objectRequest.getUserId())) {
throw new QcastException(
ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "User ID"));
}
objectRequest.setSourceOrigin("QCAST_III");
@ -342,6 +337,7 @@ public class ObjectService {
objectRequest.setAddresseeCompanyNameOmit(objectRequest.getObjectNameOmit());
objectRequest.setContentsPath(baseDirPath + "\\\\" + objectRequest.getObjectNo());
result += objectMapper.insertObject(objectRequest);
result += objectMapper.insertObjectInfo(objectRequest);
result += objectMapper.updateObjectDelivery(objectRequest);
// 디폴트 Plan 등록
@ -360,7 +356,7 @@ public class ObjectService {
result += objectMapper.insertPlan(planRequest);
*/
// 플랜번호 존재 물건번호 업데이트
// 설계의뢰번호 존재 물건번호 업데이트
if ("0".equals(objectRequest.getTempFlg())
&& !StringUtils.isEmpty(objectRequest.getPlanReqNo())) {
PlanReqResponse response = null;
@ -416,6 +412,11 @@ public class ObjectService {
ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "Sale Store Level"));
}
if (StringUtils.isEmpty(objectRequest.getUserId())) {
throw new QcastException(
ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "User ID"));
}
// object 상세 정보 조회
ObjectResponse objectResponse = objectMapper.selectObjectDetail(objectRequest.getObjectNo());
@ -440,13 +441,15 @@ public class ObjectService {
+ "\\\\"
+ (tempChgFlg ? objectRequest.getNewObjectNo() : objectRequest.getObjectNo()));
result += objectMapper.updateObject(objectRequest);
result += objectMapper.updateObjectInfo(objectRequest);
// 임시저장에서 저장상태로 돌리기
if (tempChgFlg) {
objectMapper.updateObjectNoChange(objectRequest);
objectMapper.updateObjectInfoNoChange(objectRequest);
objectMapper.updatePlanObjectNoChange(objectRequest);
// 플랜번호 존재 물건번호 업데이트
// 설계의뢰번호 존재 물건번호 업데이트
if (!StringUtils.isEmpty(objectRequest.getPlanReqNo())) {
PlanReqResponse response = null;
@ -495,10 +498,16 @@ public class ObjectService {
ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "Object No"));
}
if (StringUtils.isEmpty(objectRequest.getUserId())) {
throw new QcastException(
ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "User ID"));
}
try {
// object 갱신일 수정
// object 갱신일 상세정보 수정
objectMapper.updateObjectLastEditDate(objectRequest);
objectMapper.updateObjectInfoLastEditDate(objectRequest);
} catch (Exception e) {
throw new QcastException(ErrorCode.INTERNAL_SERVER_ERROR);
}
@ -555,6 +564,7 @@ public class ObjectService {
// 물건정보 삭제
result = objectMapper.deleteObject(objectRequest);
result = objectMapper.deleteObjectInfo(objectRequest);
}
return result;
@ -577,6 +587,11 @@ public class ObjectService {
ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "Object No"));
}
if (StringUtils.isEmpty(planRequest.getUserId())) {
throw new QcastException(
ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "User ID"));
}
if ("1".equals(planRequest.getCopyFlg()) && StringUtils.isEmpty(planRequest.getPlanNo())) {
throw new QcastException(
@ -661,6 +676,7 @@ public class ObjectService {
estimateCopyRequest.setCopyPlanNo(copyPlanNo);
estimateCopyRequest.setUserId(planRequest.getUserId());
estimateMapper.insertEstimateCopy(estimateCopyRequest);
estimateMapper.insertEstimateInfoCopy(estimateCopyRequest);
if (estimateResponse != null && !StringUtils.isEmpty(estimateResponse.getEstimateDate())) {
// [4]. 견적서 아이템 복사
@ -678,6 +694,7 @@ public class ObjectService {
itemRequest.setUserId(estimateCopyRequest.getUserId());
estimateMapper.insertEstimateItem(itemRequest);
estimateMapper.insertEstimateInfoItem(itemRequest);
}
// [5]. 견적서 지붕면 도면 초기 데이터 복사
@ -714,6 +731,7 @@ public class ObjectService {
planRequest.setOrderFlg("0");
planRequest.setTempFlg("1");
objectMapper.insertPlan(planRequest);
objectMapper.insertPlanInfo(planRequest);
// 도면 기본정보 등록
CanvasStatus cs = new CanvasStatus();
@ -753,6 +771,11 @@ public class ObjectService {
ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "Plan No"));
}
if (StringUtils.isEmpty(planRequest.getUserId())) {
throw new QcastException(
ErrorCode.INVALID_INPUT_VALUE,
message.getMessage("common.message.required.data", "User ID"));
}
// Plan 삭제 가능 체크
List<PlanResponse> planList = objectMapper.selectPlanList(planRequest);
@ -855,68 +878,4 @@ public class ObjectService {
return response;
}
/**
* 물건정보 첨부파일 다운로드
*
* @param request Request
* @param response Response
* @param uploadRequest 첨부파일 요청 정보
* @throws Exception
*/
public void fileDownload(
HttpServletRequest request, HttpServletResponse response, UploadRequest uploadRequest)
throws Exception {
InputStream inputStream = null;
try {
// 첨부파일 조회
UploadResponse uploadResponse = objectMapper.selectUpload(uploadRequest);
if (uploadResponse != null) {
// 첨부파일 물리적 경로
String filePath =
baseDirPath
+ File.separator
+ uploadResponse.getObjectNo()
+ File.separator
+ uploadResponse.getFaileName();
File file = new File(filePath);
if (file.exists()) {
// 파일 변환 타입
String mimeType = URLConnection.guessContentTypeFromName(file.getName());
if (mimeType == null) {
mimeType = "application/octet-stream";
}
// 소스 파일
String srcFileName = uploadResponse.getFaileName();
srcFileName = URLEncoder.encode(srcFileName, "UTF-8").replaceAll("\\+", "%20");
response.setHeader("Content-Transfer-Encoding", "binary;");
response.setHeader("Pragma", "no-cache;");
response.setHeader("Expires", "-1;");
response.setHeader("Content-Disposition", "attachment; filename=\"" + srcFileName + "\"");
response.setContentType(mimeType);
response.setContentLength((int) file.length());
inputStream = new BufferedInputStream(new FileInputStream(file));
FileCopyUtils.copy(inputStream, response.getOutputStream());
} else {
throw new QcastException(ErrorCode.INTERNAL_SERVER_ERROR);
}
} else {
throw new QcastException(ErrorCode.INTERNAL_SERVER_ERROR);
}
} catch (Exception e) {
throw new QcastException(ErrorCode.INTERNAL_SERVER_ERROR);
} finally {
if (inputStream != null) {
inputStream.close();
}
}
}
}

View File

@ -35,38 +35,46 @@
, P.STATUS
, P.PC_TYPE_NO
, P.NORTH_ARRANGEMENT
, P.CONSTRUCT_SPECIFICATION_MULTI
, P.ROOF_MATERIAL_ID_MULTI
, P.SUPPORT_METHOD_ID_MULTI
, P.SUPPORT_MEAKER_MULTI
, P.DIFF_ROOF_ENABLED
, P.ORDER_FLG
, P.ESTIMATE_DATE
, P.DOC_NO
, P.ESTIMATE_TYPE
, P.FILE_FLG
, P.ESTIMATE_OPTION
, P.PKG_ASP
, P.PRICE_CD
, P.REMARKS
, P.LOCK_FLG
, P.TEMP_FLG
, P.LAST_EDIT_DATETIME
, P.CREATE_DATETIME
, P.CREATE_USER
, PI.CONSTRUCT_SPECIFICATION_MULTI
, PI.ANGLE
, PI.SURFACE_TYPE
, PI.ORDER_FLG
, PI.ESTIMATE_DATE
, PI.ESTIMATE_TYPE
, PI.FILE_FLG
, PI.ESTIMATE_OPTION
, PI.PKG_ASP
, PI.DOC_NO
, PI.PRICE_CD
, PI.REMARKS
, PI.TEMP_FLG
, PI.LOCK_FLG
, PI.SYNC_FLG
, PI.CREATE_DATETIME
, PI.CREATE_USER
, O.OBJECT_NAME
, O.OBJECT_NAME_OMIT
, O.REMARKS AS OBJECT_REMARKS
, O.SALE_STORE_ID
, ISNULL(O.COLD_REGION_FLG, '0') AS COLD_REGION_FLG
, ISNULL(O.SALT_AREA_FLG, '0') AS SALT_AREA_FLG
, ISNULL(OI.COLD_REGION_FLG, '0') AS COLD_REGION_FLG
, ISNULL(OI.SALT_AREA_FLG, '0') AS SALT_AREA_FLG
, SS.FIRST_AGENT_ID
, SS.SALE_STORE_LEVEL
, CASE WHEN ISNULL(SS.FIRST_AGENT_ID, '') = '' THEN SS.SALE_STORE_NAME ELSE (SELECT SALE_STORE_NAME FROM M_SALES_STORE WHERE SALE_STORE_ID = SS.FIRST_AGENT_ID) END AS FIRST_SALE_STORE_NAME
, CASE WHEN ISNULL(SS.FIRST_AGENT_ID, '') = '' THEN NULL ELSE SS.SALE_STORE_NAME END AS AGENCY_SALE_STORE_NAME
FROM T_PLAN P WITH (NOLOCK)
INNER JOIN T_PLAN_INFO PI WITH (NOLOCK)
ON P.OBJECT_NO = PI.OBJECT_NO
AND P.PLAN_NO = PI.PLAN_NO
INNER JOIN T_OBJECT O WITH (NOLOCK)
ON P.OBJECT_NO = O.OBJECT_NO
INNER JOIN T_OBJECT_INFO OI WITH (NOLOCK)
ON O.OBJECT_NO = OI.OBJECT_NO
INNER JOIN M_SALES_STORE SS WITH(NOLOCK)
ON O.SALE_STORE_ID = SS.SALE_STORE_ID
WHERE P.OBJECT_NO = #{objectNo}
@ -84,7 +92,7 @@
, CASE WHEN SS2.DISP_ADDRESS IS NOT NULL THEN SS2.DISP_ADDRESS ELSE SS2.ADDRESS END AS ADDRESS
, CASE WHEN SS2.DISP_TEL IS NOT NULL THEN SS2.DISP_TEL ELSE SS2.TEL END AS TEL
, CASE WHEN SS2.DISP_FAX IS NOT NULL THEN SS2.DISP_FAX ELSE SS2.FAX END AS FAX
, SS2.BIZ_NO
, SSI2.BIZ_NO
FROM
(
SELECT
@ -93,26 +101,31 @@
, CONVERT(VARCHAR(10), P.DRAWING_ESTIMATE_CREATE_DATE, 121) AS DRAWING_ESTIMATE_CREATE_DATE
, P.ESTIMATE_VALIDITY_TERM
, P.SNOWFALL
, P.ESTIMATE_TYPE
, P.ESTIMATE_OPTION
, P.PKG_ASP
, P.REMARKS
, CONVERT(NVARCHAR(10), P.LAST_EDIT_DATETIME, 121) AS ESTIMATE_DATE
, PI.ESTIMATE_TYPE
, PI.ESTIMATE_OPTION
, PI.PKG_ASP
, PI.REMARKS
, O.SALE_STORE_ID
, O.OBJECT_NAME
, O.OBJECT_NAME_OMIT
, (SELECT SALE_STORE_ID FROM M_USER WHERE USER_ID = O.CREATE_USER) AS CREATE_SALE_STORE_ID
, (SELECT SALE_STORE_ID FROM M_USER WHERE USER_ID = OI.CREATE_USER) AS CREATE_SALE_STORE_ID
, ISNULL(MP.PREF_NAME, '') AS PREF_NAME
, ISNULL(MPA.AREA_NAME, '') AS AREA_NAME
, ISNULL(C1.CODE_NM, '') AS STANDARD_WIND_SPEED_NAME
FROM T_PLAN P WITH (NOLOCK)
INNER JOIN T_PLAN_INFO PI WITH (NOLOCK)
ON P.OBJECT_NO = PI.OBJECT_NO
AND P.PLAN_NO = PI.PLAN_NO
INNER JOIN T_OBJECT O WITH (NOLOCK)
ON P.OBJECT_NO = O.OBJECT_NO
INNER JOIN T_OBJECT_INFO OI WITH (NOLOCK)
ON O.OBJECT_NO = OI.OBJECT_NO
LEFT OUTER JOIN M_PREFECTURE MP WITH (NOLOCK)
ON O.PREF_ID = MP.PREF_ID
LEFT OUTER JOIN M_PREFECTURE_AREA MPA WITH (NOLOCK)
ON O.PREF_ID = MPA.PREF_ID
AND O.AREA_ID = MPA.AREA_ID
AND OI.AREA_ID = MPA.AREA_ID
LEFT OUTER JOIN M_COMM_L C1 WITH (NOLOCK)
ON C1.HEAD_CD = '202000'
AND P.STANDARD_WIND_SPEED_ID = C1.CODE
@ -123,6 +136,8 @@
ON T.SALE_STORE_ID = SS1.SALE_STORE_ID
LEFT OUTER JOIN M_SALES_STORE SS2 WITH (NOLOCK)
ON T.CREATE_SALE_STORE_ID = SS2.SALE_STORE_ID
LEFT OUTER JOIN M_SALES_STORE_INFO SSI2 WITH (NOLOCK)
ON T.CREATE_SALE_STORE_ID = SSI2.SALE_STORE_ID
</select>
<select id="selectEstimateApiFailList" resultType="com.interplug.qcast.biz.estimate.dto.EstimateSendResponse">
@ -198,14 +213,17 @@
, P.PLAN_NO
, P.CONSTRUCT_SPECIFICATION
, P.NORTH_ARRANGEMENT
, P.ESTIMATE_TYPE
, P.PKG_ASP
, P.DEL_FLG
, CONVERT(NVARCHAR(10), P.CREATE_DATETIME, 121) AS ESTIMATE_DETAIL_CREATE_DATE
, P.LAST_EDIT_DATETIME
, P.LAST_EDIT_USER
, PI.ESTIMATE_TYPE
, PI.PKG_ASP
, CONVERT(NVARCHAR(10), PI.CREATE_DATETIME, 121) AS ESTIMATE_DETAIL_CREATE_DATE
, (SELECT CODE FROM M_COMM_L WHERE HEAD_CD = '200800' AND CODE_NM = O.OBJECT_NAME_OMIT) AS OBJECT_NAME_OMIT_CD
FROM T_PLAN P WITH (NOLOCK)
INNER JOIN T_PLAN_INFO PI WITH (NOLOCK)
ON P.OBJECT_NO = PI.OBJECT_NO
AND P.PLAN_NO = PI.PLAN_NO
INNER JOIN T_OBJECT O WITH (NOLOCK)
ON P.OBJECT_NO = O.OBJECT_NO
INNER JOIN M_SALES_STORE SS WITH(NOLOCK)
@ -237,33 +255,37 @@
PE.OBJECT_NO
, PE.PLAN_NO
, PE.DISP_ORDER
, PE.PA_DISP_ORDER
, PE.ITEM_ID
, PE.ITEM_NO
, PE.ITEM_NAME
, PE.UNIT
, PE.SPECIFICATION
, PE.AMOUNT
, PE.BOM_AMOUNT
, PE.UNIT_PRICE
, PE.SALE_PRICE
, PE.FILE_UPLOAD_FLG
, PE.PKG_MATERIAL_FLG
, PE.SPECIAL_NOTE_CD
, PE.OPEN_FLG
, PE.ITEM_CHANGE_FLG
, PEI.UNIT_PRICE
, PEI.SALE_PRICE
, PEI.BOM_AMOUNT
, PEI.PA_DISP_ORDER
, PEI.SPECIAL_NOTE_CD
, PEI.PKG_MATERIAL_FLG
, PEI.FILE_UPLOAD_FLG
, PEI.OPEN_FLG
, PEI.ITEM_CHANGE_FLG
, I.PNOW_W
, CASE WHEN I.POWER_COM_FLG = '1' THEN 'PC_'
WHEN I.ITEM_GROUP = 'PC_' AND I.POWER_COM_FLG = '0' THEN 'STORAGE_BATTERY'
ELSE I.ITEM_GROUP END AS ITEM_GROUP
, CASE WHEN I.ITEM_GROUP = 'MODULE_' THEN '1' ELSE '0' END AS MODULE_FLG
FROM T_PART_ESTIMATE PE WITH (NOLOCK)
INNER JOIN T_PART_ESTIMATE_INFO PEI WITH (NOLOCK)
ON PE.OBJECT_NO = PEI.OBJECT_NO
AND PE.PLAN_NO = PEI.PLAN_NO
AND PE.DISP_ORDER = PEI.DISP_ORDER
INNER JOIN M_ITEM I WITH (NOLOCK)
ON PE.ITEM_ID = I.ITEM_ID
WHERE PE.OBJECT_NO = #{objectNo}
AND PE.PLAN_NO = #{planNo}
<if test='schBomNotExist != null and schBomNotExist == "1"'>
AND (PE.PA_DISP_ORDER IS NULL OR PE.PA_DISP_ORDER = '')
AND (PEI.PA_DISP_ORDER IS NULL OR PEI.PA_DISP_ORDER = '')
</if>
ORDER BY
PE.DISP_ORDER ASC
@ -280,12 +302,14 @@
, CASE WHEN I.POWER_COM_FLG = '1' THEN 'PC_'
WHEN I.ITEM_GROUP = 'PC_' AND I.POWER_COM_FLG = '0' THEN 'STORAGE_BATTERY'
ELSE I.ITEM_GROUP END AS ITEM_GROUP
, I.PKG_MATERIAL_FLG
, I.FILE_UPLOAD_FLG
, I.ITEM_CTG_GR
, II.PKG_MATERIAL_FLG
, II.FILE_UPLOAD_FLG
, II.ITEM_CTG_GR
, ISNULL(PPM.SALE_PRICE, '0') AS SALE_PRICE
, CASE WHEN PPM.SALE_PRICE = 0 THEN '1' ELSE '0' END AS OPEN_FLG
FROM M_ITEM I WITH (NOLOCK)
INNER JOIN M_ITEM_INFO II WITH (NOLOCK)
ON I.ITEM_ID = II.ITEM_ID
LEFT OUTER JOIN M_PRICE_PATTERN_MONEY PPM
ON PPM.PRICE_PATTERN = '510'
AND I.ITEM_ID = PPM.ITEM_ID
@ -307,13 +331,15 @@
, CASE WHEN I.POWER_COM_FLG = '1' THEN 'PC_'
WHEN I.ITEM_GROUP = 'PC_' AND I.POWER_COM_FLG = '0' THEN 'STORAGE_BATTERY'
ELSE I.ITEM_GROUP END AS ITEM_GROUP
, I.PKG_MATERIAL_FLG
, I.FILE_UPLOAD_FLG
, I.ITEM_CTG_GR
, II.PKG_MATERIAL_FLG
, II.FILE_UPLOAD_FLG
, II.ITEM_CTG_GR
, '0' AS SALE_PRICE
FROM M_PACKAGE_ITEM PI WITH (NOLOCK)
INNER JOIN M_ITEM I WITH (NOLOCK)
ON PI.ITEM_ID = I.ITEM_ID
INNER JOIN M_ITEM_INFO II WITH (NOLOCK)
ON I.ITEM_ID = II.ITEM_ID
WHERE PI.PACKAGE_ITEM_ID = #{itemId}
AND I.DEL_FLG = 0
</select>
@ -358,7 +384,7 @@
P.OBJECT_NO
, P.PLAN_NO
, CASE WHEN ISNUMERIC(P.SETUP_HEIGHT) = 1 THEN CAST(CONVERT(FLOAT, P.SETUP_HEIGHT) AS INT) ELSE 0 END AS SETUP_HEIGHT
, P.SURFACE_TYPE
, PI.SURFACE_TYPE
, RE.ROOF_SURFACE_ID
, RE.ROOF_SURFACE
, RE.ROOF_MATERIAL_ID
@ -372,6 +398,9 @@
, ISNULL(C2.CODE_NM, '') AS SUPPORT_METHOD_NAME
, ISNULL(C3.CODE_NM, '') AS CONSTRUCT_SPECIFICATION_NAME
FROM T_PLAN P WITH (NOLOCK)
INNER JOIN T_PLAN_INFO PI WITH (NOLOCK)
ON P.OBJECT_NO = PI.OBJECT_NO
AND P.PLAN_NO = PI.PLAN_NO
INNER JOIN T_PART_ROOF_ESTIMATE RE WITH (NOLOCK)
ON P.OBJECT_NO = RE.OBJECT_NO
AND P.PLAN_NO = RE.PLAN_NO
@ -409,17 +438,15 @@
<select id="selectEstimateCircuitItemList" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest" resultType="com.interplug.qcast.biz.estimate.dto.ItemResponse">
/* sqlid : com.interplug.qcast.biz.estimate.selectEstimateCircuitItemList */
SELECT
PE.ITEM_ID
, PE.ITEM_NO
, PE.ITEM_NAME
PCIE.ITEM_ID
, PCIE.CIRCUIT_CFG
FROM T_PART_ESTIMATE PE WITH (NOLOCK)
INNER JOIN T_PART_CIRCUIT_ITEM_ESTIMATE PCIE WITH (NOLOCK)
ON PE.OBJECT_NO = PCIE.OBJECT_NO
AND PE.PLAN_NO = PCIE.PLAN_NO
AND PE.ITEM_ID = PCIE.ITEM_ID
WHERE PE.OBJECT_NO = #{objectNo}
AND PE.PLAN_NO = #{planNo}
, I.ITEM_NO
, I.ITEM_NAME
FROM T_PART_CIRCUIT_ITEM_ESTIMATE PCIE WITH (NOLOCK)
INNER JOIN M_ITEM I WITH (NOLOCK)
ON PCIE.ITEM_ID = I.ITEM_ID
WHERE PCIE.OBJECT_NO = #{objectNo}
AND PCIE.PLAN_NO = #{planNo}
</select>
<select id="selectEstimateRoofVolList" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest" resultType="com.interplug.qcast.biz.estimate.dto.RoofResponse">
@ -572,15 +599,21 @@
SET
LAST_EDIT_DATETIME = GETDATE()
, LAST_EDIT_USER = #{userId}
<if test='objectName != null and objectName != "" and objectNameOmit != null and objectNameOmit != ""'>
, OBJECT_NAME = #{objectName}
, OBJECT_NAME_OMIT = #{objectNameOmit}
, ADDRESSEE_COMPANY_NAME = #{objectName} + ' ' + #{objectNameOmit}
, ADDRESSEE_COMPANY_NAME = #{objectName} + ' ' + ISNULL(#{objectNameOmit}, '')
, ADDRESSEE_COMPANY_NAME_OMIT = #{objectNameOmit}
</if>
<if test='charger != null and charger != ""'>
, RECEIVE_USER = #{charger}
</if>
WHERE OBJECT_NO = #{objectNo}
</update>
<update id="updateObjectInfo" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">
/* sqlid : com.interplug.qcast.biz.estimate.updateObjectInfo */
UPDATE T_OBJECT_INFO
SET
OBJECT_NO = #{objectNo}
<if test='standardWindSpeedId != null and standardWindSpeedId != ""'>
, STANDARD_WIND_SPEED_ID = #{standardWindSpeedId}
</if>
@ -600,53 +633,65 @@
/* sqlid : com.interplug.qcast.biz.estimate.updateEstimate */
UPDATE T_PLAN
SET
ESTIMATE_TYPE = #{estimateType}
LAST_EDIT_DATETIME = GETDATE()
, LAST_EDIT_USER = #{userId}
<choose>
<when test='drawingFlg != null and drawingFlg == "1"'>
, CONSTRUCT_SPECIFICATION = #{constructSpecification}
, SETUP_HEIGHT = #{setupHeight}
, WEATHER_POINT = #{weatherPoint}
, SLOPE = #{slope}
, ANGLE = #{angle}
, ROOF_MATERIAL_ID = #{roofMaterialId}
, SUPPORT_METHOD_ID = #{supportMethodId}
, DRAWING_ESTIMATE_CREATE_DATE = GETDATE()
, CHARGER = #{charger}
, ESTIMATE_VALIDITY_TERM = '発行日より1ヶ月'
, SNOWFALL = #{snowfall}
, STANDARD_WIND_SPEED_ID = #{standardWindSpeedId}
, SUPPORT_MEAKER = #{supportMeaker}
, NORTH_ARRANGEMENT = #{northArrangement}
, CONSTRUCT_SPECIFICATION_MULTI = #{constructSpecificationMulti}
, ROOF_MATERIAL_ID_MULTI = #{roofMaterialIdMulti}
, SUPPORT_METHOD_ID_MULTI = #{supportMethodIdMulti}
, SUPPORT_MEAKER_MULTI = #{supportMeaker}
, ESTIMATE_DATE = CONVERT(NVARCHAR(10), GETDATE(), 121)
, FILE_FLG = '0'
, ESTIMATE_OPTION = #{estimateOption}
, PKG_ASP = NULL
, PRICE_CD = #{priceCd}
, SURFACE_TYPE = #{surfaceType}
, TEMP_FLG = CASE WHEN TEMP_FLG = '0' THEN '0' ELSE #{tempFlg} END
, CREATE_DATETIME = GETDATE()
, CREATE_USER = #{userId}
</when>
<otherwise>
, CHARGER = #{charger}
, ESTIMATE_DATE = #{estimateDate}
, FILE_FLG = #{fileFlg}
, ESTIMATE_OPTION = #{estimateOption}
, REMARKS = #{remarks}
, PKG_ASP = #{pkgAsp}
, PRICE_CD = #{priceCd}
, TEMP_FLG = '0'
</otherwise>
<when test='drawingFlg != null and drawingFlg == "1"'>
, CONSTRUCT_SPECIFICATION = #{constructSpecification}
, SETUP_HEIGHT = #{setupHeight}
, WEATHER_POINT = #{weatherPoint}
, SLOPE = #{slope}
, ROOF_MATERIAL_ID = #{roofMaterialId}
, SUPPORT_METHOD_ID = #{supportMethodId}
, DRAWING_ESTIMATE_CREATE_DATE = GETDATE()
, ESTIMATE_VALIDITY_TERM = '発行日より1ヶ月'
, SNOWFALL = #{snowfall}
, STANDARD_WIND_SPEED_ID = #{standardWindSpeedId}
, SUPPORT_MEAKER = #{supportMeaker}
, NORTH_ARRANGEMENT = #{northArrangement}
, CONSTRUCT_SPECIFICATION_MULTI = #{constructSpecificationMulti}
, ROOF_MATERIAL_ID_MULTI = #{roofMaterialIdMulti}
, SUPPORT_METHOD_ID_MULTI = #{supportMethodIdMulti}
, SUPPORT_MEAKER_MULTI = #{supportMeaker}
</when>
</choose>
, CHARGER = #{charger}
, CAPACITY = #{capacity}
, MODULE_MODEL = #{moduleModel}
, PC_TYPE_NO = #{pcTypeNo}
, LAST_EDIT_DATETIME = GETDATE()
, LAST_EDIT_USER = #{userId}
WHERE OBJECT_NO = #{objectNo}
AND PLAN_NO = #{planNo}
</update>
<update id="updateEstimateInfo" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">
/* sqlid : com.interplug.qcast.biz.estimate.updateEstimateInfo */
UPDATE T_PLAN_INFO
SET
ESTIMATE_TYPE = #{estimateType}
<choose>
<when test='drawingFlg != null and drawingFlg == "1"'>
, CONSTRUCT_SPECIFICATION_MULTI = #{constructSpecificationMulti}
, ANGLE = #{angle}
, SURFACE_TYPE = #{surfaceType}
, ESTIMATE_DATE = CONVERT(NVARCHAR(10), GETDATE(), 121)
, FILE_FLG = '0'
, ESTIMATE_OPTION = #{estimateOption}
, PKG_ASP = NULL
, PRICE_CD = #{priceCd}
, TEMP_FLG = CASE WHEN TEMP_FLG = '0' THEN '0' ELSE #{tempFlg} END
, CREATE_DATETIME = GETDATE()
, CREATE_USER = #{userId}
</when>
<otherwise>
, ESTIMATE_DATE = #{estimateDate}
, FILE_FLG = #{fileFlg}
, ESTIMATE_OPTION = #{estimateOption}
, REMARKS = #{remarks}
, PKG_ASP = #{pkgAsp}
, PRICE_CD = #{priceCd}
, TEMP_FLG = '0'
</otherwise>
</choose>
WHERE OBJECT_NO = #{objectNo}
AND PLAN_NO = #{planNo}
</update>
@ -655,14 +700,7 @@
/* sqlid : com.interplug.qcast.biz.estimate.updateEstimate */
UPDATE T_PLAN
SET
ESTIMATE_TYPE = #{estimateType}
, FILE_FLG = '0'
, ESTIMATE_OPTION = #{estimateOption}
, REMARKS = NULL
, PKG_ASP = NULL
, PRICE_CD = #{priceCd}
, TEMP_FLG = CASE WHEN TEMP_FLG = '0' THEN '0' ELSE #{tempFlg} END
, CAPACITY = #{capacity}
CAPACITY = #{capacity}
, MODULE_MODEL = #{moduleModel}
, PC_TYPE_NO = #{pcTypeNo}
, LAST_EDIT_DATETIME = GETDATE()
@ -671,25 +709,36 @@
AND PLAN_NO = #{planNo}
</update>
<update id="updateEstimateInfoReset" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">
/* sqlid : com.interplug.qcast.biz.estimate.updateEstimateInfoReset */
UPDATE T_PLAN_INFO
SET
ESTIMATE_TYPE = #{estimateType}
, FILE_FLG = '0'
, ESTIMATE_OPTION = #{estimateOption}
, REMARKS = NULL
, PKG_ASP = NULL
, PRICE_CD = #{priceCd}
, TEMP_FLG = CASE WHEN TEMP_FLG = '0' THEN '0' ELSE #{tempFlg} END
WHERE OBJECT_NO = #{objectNo}
AND PLAN_NO = #{planNo}
</update>
<update id="updateEstimateLock" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">
/* sqlid : com.interplug.qcast.biz.estimate.updateEstimateLock */
UPDATE T_PLAN
UPDATE T_PLAN_INFO
SET
LOCK_FLG = #{lockFlg}
, LAST_EDIT_DATETIME = GETDATE()
, LAST_EDIT_USER = #{userId}
WHERE OBJECT_NO = #{objectNo}
AND PLAN_NO = #{planNo}
</update>
<update id="updateEstimateApi" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">
/* sqlid : com.interplug.qcast.biz.estimate.updateEstimateApi */
UPDATE T_PLAN
UPDATE T_PLAN_INFO
SET
DOC_NO = #{docNo}
, SYNC_FLG = #{syncFlg}
, LAST_EDIT_DATETIME = GETDATE()
, LAST_EDIT_USER = #{userId}
WHERE OBJECT_NO = #{objectNo}
AND PLAN_NO = #{planNo}
</update>
@ -723,58 +772,72 @@
OBJECT_NO
, PLAN_NO
, DISP_ORDER
<if test='paDispOrder != null and paDispOrder != ""'>
, PA_DISP_ORDER
</if>
, ITEM_ID
, ITEM_NO
, ITEM_NAME
, UNIT
, SPECIFICATION
, AMOUNT
, BOM_AMOUNT
<if test='amountChange != null and amountChange != ""'>
, AMOUNT_CHANGE
</if>
, PART_ADD
, LAST_EDIT_DATETIME
, LAST_EDIT_USER
, UNIT_PRICE
, SALE_PRICE
<if test='specialNoteCd != null and specialNoteCd != ""'>
, SPECIAL_NOTE_CD
</if>
, FILE_UPLOAD_FLG
, PKG_MATERIAL_FLG
, OPEN_FLG
, ITEM_CHANGE_FLG
) VALUES (
#{objectNo}
, #{planNo}
, #{dispOrder}
<if test='paDispOrder != null and paDispOrder != ""'>
, #{paDispOrder}
</if>
, #{itemId}
, #{itemNo}
, #{itemName}
, #{unit}
, #{specification}
, #{amount}
, #{bomAmount}
<if test='amountChange != null and amountChange != ""'>
, #{amountChange}
</if>
, #{partAdd}
, GETDATE()
, #{userId}
)
</insert>
<insert id="insertEstimateInfoItem" parameterType="com.interplug.qcast.biz.estimate.dto.ItemRequest">
/* sqlid : com.interplug.qcast.biz.estimate.insertEstimateInfoItem */
INSERT INTO T_PART_ESTIMATE_INFO
(
OBJECT_NO
, PLAN_NO
, DISP_ORDER
, UNIT_PRICE
, SALE_PRICE
, BOM_AMOUNT
<if test='paDispOrder != null and paDispOrder != ""'>
, PA_DISP_ORDER
</if>
<if test='specialNoteCd != null and specialNoteCd != ""'>
, SPECIAL_NOTE_CD
</if>
, PKG_MATERIAL_FLG
, FILE_UPLOAD_FLG
, OPEN_FLG
, ITEM_CHANGE_FLG
) VALUES (
#{objectNo}
, #{planNo}
, #{dispOrder}
, #{unitPrice}
, #{salePrice}
, #{bomAmount}
<if test='paDispOrder != null and paDispOrder != ""'>
, #{paDispOrder}
</if>
<if test='specialNoteCd != null and specialNoteCd != ""'>
, #{specialNoteCd}
</if>
, #{fileUploadFlg}
, #{pkgMaterialFlg}
, #{fileUploadFlg}
, #{openFlg}
, #{itemChangeFlg}
)
@ -981,6 +1044,13 @@
AND PLAN_NO = #{planNo}
</delete>
<delete id="deleteEstimateInfoItemList" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">
/* sqlid : com.interplug.qcast.biz.estimate.deleteEstimateInfoItemList */
DELETE FROM T_PART_ESTIMATE_INFO
WHERE OBJECT_NO = #{objectNo}
AND PLAN_NO = #{planNo}
</delete>
<insert id="insertEstimateCopy" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateCopyRequest">
/* sqlid : com.interplug.qcast.biz.estimate.insertEstimateCopy */
INSERT INTO T_PLAN
@ -1020,22 +1090,6 @@
, SUPPORT_METHOD_ID_MULTI
, SUPPORT_MEAKER_MULTI
, DIFF_ROOF_ENABLED
, ORDER_FLG
, ESTIMATE_DATE
, ESTIMATE_TYPE
, FILE_FLG
, ESTIMATE_OPTION
, PKG_ASP
, PRICE_CD
, REMARKS
, CONSTRUCT_SPECIFICATION_MULTI
, SURFACE_TYPE
, ANGLE
, TEMP_FLG
, LOCK_FLG
, SYNC_FLG
, CREATE_DATETIME
, CREATE_USER
)
SELECT
#{copyObjectNo} AS OBJECT_NO
@ -1073,26 +1127,56 @@
, P.SUPPORT_METHOD_ID_MULTI
, P.SUPPORT_MEAKER_MULTI
, P.DIFF_ROOF_ENABLED
FROM T_PLAN P WITH (NOLOCK)
WHERE P.OBJECT_NO = #{objectNo}
AND P.PLAN_NO = #{planNo}
</insert>
<insert id="insertEstimateInfoCopy" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateCopyRequest">
/* sqlid : com.interplug.qcast.biz.estimate.insertEstimateInfoCopy */
INSERT INTO T_PLAN_INFO
(
OBJECT_NO
, PLAN_NO
, CONSTRUCT_SPECIFICATION_MULTI
, ANGLE
, SURFACE_TYPE
, ORDER_FLG
, ESTIMATE_DATE
, ESTIMATE_TYPE
, FILE_FLG
, ESTIMATE_OPTION
, PKG_ASP
, PRICE_CD
, REMARKS
, TEMP_FLG
, LOCK_FLG
, SYNC_FLG
, CREATE_DATETIME
, CREATE_USER
)
SELECT
#{copyObjectNo} AS OBJECT_NO
, #{copyPlanNo} AS PLAN_NO
, PI.CONSTRUCT_SPECIFICATION_MULTI
, PI.ANGLE
, PI.SURFACE_TYPE
, '0' AS ORDER_FLG
, P.ESTIMATE_DATE
, P.ESTIMATE_TYPE
, P.FILE_FLG
, P.ESTIMATE_OPTION
, P.PKG_ASP
, PI.ESTIMATE_DATE
, PI.ESTIMATE_TYPE
, PI.FILE_FLG
, PI.ESTIMATE_OPTION
, PI.PKG_ASP
, 'UNIT_PRICE' AS PRICE_CD
, P.REMARKS
, P.CONSTRUCT_SPECIFICATION_MULTI
, P.SURFACE_TYPE
, P.ANGLE
, PI.REMARKS
, '1' AS TEMP_FLG
, '0' AS LOCK_FLG
, '0' AS SYNC_FLG
, GETDATE() AS CREATE_DATETIME
, #{userId} AS CREATE_USER
FROM T_PLAN P WITH (NOLOCK)
WHERE P.OBJECT_NO = #{objectNo}
AND P.PLAN_NO = #{planNo}
AND P.DEL_FLG = '0'
FROM T_PLAN_INFO PI WITH (NOLOCK)
WHERE PI.OBJECT_NO = #{objectNo}
AND PI.PLAN_NO = #{planNo}
</insert>
<insert id="insertEstimateRoofCopy" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateCopyRequest">
@ -1241,4 +1325,14 @@
ORDER BY T.MODULE_TCNT DESC, T.ROOF_SURFACE_NUM ASC
</select>
<update id="updateEstimateLastEditDate" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">
/* sqlid : com.interplug.qcast.biz.estimate.updateEstimateLastEditDate */
UPDATE T_PLAN
SET
LAST_EDIT_DATETIME = GETDATE()
, LAST_EDIT_USER = #{userId}
WHERE OBJECT_NO = #{objectNo}
AND PLAN_NO = #{planNo}
</update>
</mapper>

View File

@ -174,19 +174,21 @@
, O.ZIP_NO
, O.ADDRESS
, O.RECEIVE_USER
, O.TEMP_FLG
, O.CREATE_DATETIME
, O.LAST_EDIT_DATETIME
, OI.TEMP_FLG
, OI.CREATE_DATETIME
, S.SALE_STORE_NAME
FROM T_OBJECT O WITH (NOLOCK)
INNER JOIN T_OBJECT_INFO OI WITH (NOLOCK)
ON O.OBJECT_NO = OI.OBJECT_NO
INNER JOIN M_SALES_STORE S WITH (NOLOCK)
ON O.SALE_STORE_ID = S.SALE_STORE_ID
<if test='saleStoreId != null and saleStoreId != "T01"'>
INNER JOIN SALES_STORE_CTE T
ON S.SALE_STORE_ID = T.SALE_STORE_ID
</if>
WHERE O.SOURCE_ORIGIN = 'QCAST_III'
AND (O.ORG_DEL_FLG = '0' OR (O.TEMP_FLG = '1' AND O.TEMP_DEL_FLG = '0'))
WHERE OI.SOURCE_ORIGIN = 'QCAST_III'
AND (OI.ORG_DEL_FLG = '0' OR (OI.TEMP_FLG = '1' AND OI.TEMP_DEL_FLG = '0'))
ORDER BY O.LAST_EDIT_DATETIME DESC
</select>
@ -235,7 +237,7 @@
ORDER BY
<choose>
<when test='schSortType != null and schSortType == "R"'>
O.CREATE_DATETIME DESC
OI.CREATE_DATETIME DESC
</when>
<otherwise>
O.LAST_EDIT_DATETIME DESC
@ -246,28 +248,30 @@
, O.OBJECT_NAME
, O.SALE_STORE_ID
, O.ZIP_NO
, O.PREF_ID
, O.ADDRESS
, O.RECEIVE_USER
, O.SPECIFICATION_CONFIRM_DATE
, O.CREATE_DATETIME
, O.LAST_EDIT_DATETIME
, O.AREA_ID
, O.PREF_ID
, O.STANDARD_WIND_SPEED_ID
, O.VERTICAL_SNOW_COVER
, O.SURFACE_TYPE
, O.INSTALL_HEIGHT
, O.CON_TYPE
, O.COLD_REGION_FLG
, O.SALT_AREA_FLG
, ISNULL(O.TEMP_FLG, '0') AS TEMP_FLG
, OI.AREA_ID
, OI.STANDARD_WIND_SPEED_ID
, OI.VERTICAL_SNOW_COVER
, OI.SURFACE_TYPE
, OI.INSTALL_HEIGHT
, OI.CON_TYPE
, OI.COLD_REGION_FLG
, OI.SALT_AREA_FLG
, ISNULL(OI.TEMP_FLG, '0') AS TEMP_FLG
, OI.CREATE_DATETIME
, S.SALE_STORE_NAME
, S.DISP_COMPANY_NAME
, ISNULL(P.PREF_NAME, '') AS PREF_NAME
, (SELECT NAME FROM M_USER WHERE USER_ID = O.CREATE_USER) AS CREATE_USER_NAME
, (SELECT NAME FROM M_USER WHERE USER_ID = O.LAST_EDIT_USER) AS LAST_EDIT_USER_NAME
, (SELECT NAME FROM M_USER WHERE USER_ID = OI.CREATE_USER) AS CREATE_USER_NAME
, (SELECT COUNT(1) FROM T_PLAN WHERE OBJECT_NO = O.OBJECT_NO AND DEL_FLG = '0') AS PLAN_TOT_CNT
FROM T_OBJECT O WITH (NOLOCK)
INNER JOIN T_OBJECT_INFO OI WITH (NOLOCK)
ON O.OBJECT_NO = OI.OBJECT_NO
INNER JOIN M_SALES_STORE S WITH (NOLOCK)
ON O.SALE_STORE_ID = S.SALE_STORE_ID
<if test='(saleStoreId != null and saleStoreId != "T01") or (schSelSaleStoreId != null and schSelSaleStoreId != "")'>
@ -276,11 +280,11 @@
</if>
LEFT OUTER JOIN M_PREFECTURE P
ON O.PREF_ID = P.PREF_ID
WHERE O.SOURCE_ORIGIN = 'QCAST_III'
AND (O.ORG_DEL_FLG = '0' OR (O.TEMP_FLG = '1' AND O.TEMP_DEL_FLG = '0'))
WHERE OI.SOURCE_ORIGIN = 'QCAST_III'
AND (OI.ORG_DEL_FLG = '0' OR (OI.TEMP_FLG = '1' AND OI.TEMP_DEL_FLG = '0'))
<if test='schObjectNo != null and schObjectNo != ""'>
AND O.OBJECT_NO LIKE '%' + #{schObjectNo} + '%'
AND O.TEMP_FLG = '0'
AND OI.TEMP_FLG = '0'
</if>
<if test='schSaleStoreId != null and schSaleStoreId != ""'>
AND O.SALE_STORE_ID = #{schSaleStoreId}
@ -319,11 +323,11 @@
</when>
<when test='schDateType != null and schDateType == "R" and (schFromDt != null and schFromDt != "") and (schToDt != null and schToDt != "")'>
/* 등록일 시작일,종료일 검색조건 */
AND O.CREATE_DATETIME BETWEEN CONVERT(DATETIME, CONVERT(VARCHAR(10), PARSE(#{schFromDt} AS DATE USING 'en-US')) + ' 00:00:00') AND CONVERT(DATETIME, CONVERT(VARCHAR(10), PARSE(#{schToDt} AS DATE USING 'en-US')) + ' 23:59:59')
AND OI.CREATE_DATETIME BETWEEN CONVERT(DATETIME, CONVERT(VARCHAR(10), PARSE(#{schFromDt} AS DATE USING 'en-US')) + ' 00:00:00') AND CONVERT(DATETIME, CONVERT(VARCHAR(10), PARSE(#{schToDt} AS DATE USING 'en-US')) + ' 23:59:59')
</when>
</choose>
<if test='schTempFlg != null and schTempFlg != ""'>
AND O.TEMP_FLG = #{schTempFlg}
AND OI.TEMP_FLG = #{schTempFlg}
</if>
) TT
<if test='startRow != null and startRow != "" and endRow != null and endRow != ""'>
@ -352,21 +356,21 @@
, O.RECEIVE_USER
, O.SPECIFICATION_CONFIRM_DATE
, O.CONTENTS_PATH
, O.AREA_ID
, O.STANDARD_WIND_SPEED_ID
, O.VERTICAL_SNOW_COVER
, O.SURFACE_TYPE
, CASE WHEN ISNUMERIC(O.INSTALL_HEIGHT) = 1 THEN CAST(CONVERT(FLOAT, O.INSTALL_HEIGHT) AS INT) ELSE 0 END AS INSTALL_HEIGHT
, O.CON_TYPE
, O.COLD_REGION_FLG
, O.SALT_AREA_FLG
, ISNULL(O.TEMP_FLG, '0') AS TEMP_FLG
, O.CREATE_DATETIME
, O.CREATE_USER
, OI.AREA_ID
, OI.STANDARD_WIND_SPEED_ID
, OI.VERTICAL_SNOW_COVER
, OI.SURFACE_TYPE
, CASE WHEN ISNUMERIC(OI.INSTALL_HEIGHT) = 1 THEN CAST(CONVERT(FLOAT, OI.INSTALL_HEIGHT) AS INT) ELSE 0 END AS INSTALL_HEIGHT
, OI.CON_TYPE
, OI.COLD_REGION_FLG
, OI.SALT_AREA_FLG
, ISNULL(OI.TEMP_FLG, '0') AS TEMP_FLG
, OI.CREATE_DATETIME
, OI.CREATE_USER
, O.LAST_EDIT_DATETIME
, (SELECT SALE_STORE_ID FROM M_USER WHERE USER_ID = O.CREATE_USER) AS CREATE_SALE_STORE_ID
, (SELECT NAME FROM M_USER WHERE USER_ID = O.CREATE_USER) AS CREATE_USER_NAME
, (SELECT NAME FROM M_USER WHERE USER_ID = O.LAST_EDIT_USER) AS LAST_EDIT_USER_NAME
, (SELECT SALE_STORE_ID FROM M_USER WHERE USER_ID = OI.CREATE_USER) AS CREATE_SALE_STORE_ID
, (SELECT NAME FROM M_USER WHERE USER_ID = OI.CREATE_USER) AS CREATE_USER_NAME
, S.FIRST_AGENT_ID
, S.SALE_STORE_LEVEL
, ISNULL(P.PREF_NAME, '') AS PREF_NAME
@ -374,15 +378,17 @@
, (SELECT COUNT(1) FROM T_PLAN WHERE OBJECT_NO = O.OBJECT_NO AND DEL_FLG = '0' AND DRAWING_ESTIMATE_CREATE_DATE IS NOT NULL) AS ESTIMATE_TOT_CNT
, (SELECT COUNT(1) FROM M_SALES_STORE_NORTH_MODULE WHERE SALE_STORE_ID = O.SALE_STORE_ID AND DEL_FLG = '0') AS SALE_STORE_NORTH_FLG
FROM T_OBJECT O WITH (NOLOCK)
INNER JOIN T_OBJECT_INFO OI WITH (NOLOCK)
ON O.OBJECT_NO = OI.OBJECT_NO
INNER JOIN M_SALES_STORE S WITH(NOLOCK)
ON O.SALE_STORE_ID = S.SALE_STORE_ID
LEFT OUTER JOIN M_PREFECTURE P
ON O.PREF_ID = P.PREF_ID
LEFT OUTER JOIN M_PREFECTURE_AREA PA
ON O.AREA_ID = PA.AREA_ID
ON OI.AREA_ID = PA.AREA_ID
WHERE O.OBJECT_NO = #{objectNo}
AND O.SOURCE_ORIGIN = 'QCAST_III'
AND (O.ORG_DEL_FLG = '0' OR (O.TEMP_FLG = '1' AND O.TEMP_DEL_FLG = '0'))
AND OI.SOURCE_ORIGIN = 'QCAST_III'
AND (OI.ORG_DEL_FLG = '0' OR (OI.TEMP_FLG = '1' AND OI.TEMP_DEL_FLG = '0'))
</select>
<select id="selectObjectNo" parameterType="com.interplug.qcast.biz.object.dto.ObjectRequest" resultType="String">
@ -407,48 +413,51 @@
<select id="selectPlanList" parameterType="com.interplug.qcast.biz.object.dto.PlanRequest" resultType="com.interplug.qcast.biz.object.dto.PlanResponse">
/* sqlid : com.interplug.qcast.biz.object.selectPlanList */
SELECT
T.OBJECT_NO
, T.PLAN_NO
, T.CONSTRUCT_SPECIFICATION
, T.SETUP_HEIGHT
, T.WEATHER_POINT
, T.ROOF_KIND_ID
, T.SLOPE
, T.ROOF_MATERIAL_CLASS_ID
, T.ROOF_MATERIAL_ID
, T.SUPPORT_METHOD_ID
, T.MODULE_MODEL
, T.CHARGER
, T.ESTIMATE_VALIDITY_TERM
, T.DECISION_PLAN
, T.NUMBER
, T.CAPACITY
, T.SNOWFALL
, T.STANDARD_WIND_SPEED_CHECK
, T.OPTION_COVER
, T.HANWFA_FLG
, T.STAND_KIND_ID
, T.STANDARD_WIND_SPEED_ID
, T.SUPPORT_MEAKER
, T.CONSUMPTION_TAX_ID
, T.STATUS
, T.PC_TYPE_NO
, T.NORTH_ARRANGEMENT
, T.ROOF_MATERIAL_ID_MULTI
, T.SUPPORT_METHOD_ID_MULTI
, T.SUPPORT_MEAKER_MULTI
, T.DIFF_ROOF_ENABLED
, T.ORDER_FLG
, T.ESTIMATE_DATE
, T.CONSTRUCT_SPECIFICATION_MULTI
, T.DOC_NO
, T.TEMP_FLG
P.OBJECT_NO
, P.PLAN_NO
, P.CONSTRUCT_SPECIFICATION
, P.SETUP_HEIGHT
, P.WEATHER_POINT
, P.ROOF_KIND_ID
, P.SLOPE
, P.ROOF_MATERIAL_CLASS_ID
, P.ROOF_MATERIAL_ID
, P.SUPPORT_METHOD_ID
, P.MODULE_MODEL
, P.CHARGER
, P.ESTIMATE_VALIDITY_TERM
, P.DECISION_PLAN
, P.NUMBER
, P.CAPACITY
, P.SNOWFALL
, P.STANDARD_WIND_SPEED_CHECK
, P.OPTION_COVER
, P.HANWFA_FLG
, P.STAND_KIND_ID
, P.STANDARD_WIND_SPEED_ID
, P.SUPPORT_MEAKER
, P.CONSUMPTION_TAX_ID
, P.STATUS
, P.PC_TYPE_NO
, P.NORTH_ARRANGEMENT
, P.ROOF_MATERIAL_ID_MULTI
, P.SUPPORT_METHOD_ID_MULTI
, P.SUPPORT_MEAKER_MULTI
, P.DIFF_ROOF_ENABLED
, PI.ORDER_FLG
, PI.ESTIMATE_DATE
, PI.CONSTRUCT_SPECIFICATION_MULTI
, PI.DOC_NO
, PI.TEMP_FLG
, (SELECT SALE_STORE_ID FROM M_USER WHERE USER_ID = O.CREATE_USER) AS CREATE_SALE_STORE_ID
FROM T_PLAN T WITH (NOLOCK)
FROM T_PLAN P WITH (NOLOCK)
INNER JOIN T_PLAN_INFO PI WITH (NOLOCK)
ON P.OBJECT_NO = PI.OBJECT_NO
AND P.PLAN_NO = PI.PLAN_NO
INNER JOIN T_OBJECT O WITH (NOLOCK)
ON T.OBJECT_NO = O.OBJECT_NO
WHERE T.OBJECT_NO = #{objectNo}
AND T.DEL_FLG = '0'
ON P.OBJECT_NO = O.OBJECT_NO
WHERE P.OBJECT_NO = #{objectNo}
AND P.DEL_FLG = '0'
</select>
<insert id="insertObjectNo" parameterType="com.interplug.qcast.biz.object.dto.ObjectRequest">
@ -499,25 +508,10 @@
, FIRST_STORE_CHARGER
, CONTENTS_PATH
, DEL_FLG
, CREATE_DATETIME
, CREATE_USER
, LAST_EDIT_DATETIME
, LAST_EDIT_USER
, EDIT_AGENCY
, NORTH_ARRANGEMENT
, PLAN_REQ_NO
, AREA_ID
, STANDARD_WIND_SPEED_ID
, VERTICAL_SNOW_COVER
, SURFACE_TYPE
, INSTALL_HEIGHT
, CON_TYPE
, COLD_REGION_FLG
, SALT_AREA_FLG
, SOURCE_ORIGIN
, TEMP_FLG
, TEMP_DEL_FLG
, ORG_DEL_FLG
) VALUES (
#{objectNo}
, #{saleStoreId}
@ -547,10 +541,33 @@
, #{delFlg}
, GETDATE()
, #{userId}
, GETDATE()
, #{userId}
, '0'
, '0'
)
</insert>
<insert id="insertObjectInfo" parameterType="com.interplug.qcast.biz.object.dto.ObjectRequest">
/* sqlid : com.interplug.qcast.biz.object.insertObjectInfo */
INSERT INTO T_OBJECT_INFO
(
OBJECT_NO
, PLAN_REQ_NO
, AREA_ID
, STANDARD_WIND_SPEED_ID
, VERTICAL_SNOW_COVER
, SURFACE_TYPE
, INSTALL_HEIGHT
, CON_TYPE
, COLD_REGION_FLG
, SALT_AREA_FLG
, SOURCE_ORIGIN
, TEMP_FLG
, TEMP_DEL_FLG
, ORG_DEL_FLG
, CREATE_DATETIME
, CREATE_USER
) VALUES (
#{objectNo}
, #{planReqNo}
, #{areaId}
, #{standardWindSpeedId}
@ -564,6 +581,8 @@
, #{tempFlg}
, #{tempDelFlg}
, #{orgDelFlg}
, GETDATE()
, #{userId}
)
</insert>
@ -597,24 +616,10 @@
, FIRST_STORE_CHARGER
, CONTENTS_PATH
, DEL_FLG
, CREATE_DATETIME
, CREATE_USER
, LAST_EDIT_DATETIME
, LAST_EDIT_USER
, EDIT_AGENCY
, NORTH_ARRANGEMENT
, AREA_ID
, STANDARD_WIND_SPEED_ID
, VERTICAL_SNOW_COVER
, SURFACE_TYPE
, INSTALL_HEIGHT
, CON_TYPE
, COLD_REGION_FLG
, SALT_AREA_FLG
, TEMP_FLG
, TEMP_DEL_FLG
, SOURCE_ORIGIN
, ORG_DEL_FLG
)
SELECT
#{copyObjectNo} AS OBJECT_NO
@ -643,12 +648,19 @@
, #{receiveUser} AS FIRST_STORE_CHARGER
, #{contentsPath} AS CONTENTS_PATH
, #{delFlg} AS DEL_FLG
, GETDATE() AS CREATE_DATETIME
, #{userId} AS CREATE_USER
, GETDATE() AS LAST_EDIT_DATETIME
, #{userId} AS LAST_EDIT_USER
, EDIT_AGENCY
, NORTH_ARRANGEMENT
FROM T_OBJECT O WITH (NOLOCK)
WHERE O.OBJECT_NO = #{objectNo}
</insert>
<insert id="insertObjectInfoCopy" parameterType="com.interplug.qcast.biz.object.dto.ObjectRequest">
/* sqlid : com.interplug.qcast.biz.object.insertObjectInfoCopy */
INSERT INTO T_OBJECT_INFO
(
OBJECT_NO
, AREA_ID
, STANDARD_WIND_SPEED_ID
, VERTICAL_SNOW_COVER
@ -657,12 +669,31 @@
, CON_TYPE
, COLD_REGION_FLG
, SALT_AREA_FLG
, SOURCE_ORIGIN
, TEMP_FLG
, TEMP_DEL_FLG
, ORG_DEL_FLG
, CREATE_DATETIME
, CREATE_USER
)
SELECT
#{copyObjectNo} AS OBJECT_NO
, AREA_ID
, STANDARD_WIND_SPEED_ID
, VERTICAL_SNOW_COVER
, SURFACE_TYPE
, INSTALL_HEIGHT
, CON_TYPE
, COLD_REGION_FLG
, SALT_AREA_FLG
, 'QCAST_III' AS SOURCE_ORIGIN
, #{tempFlg} AS TEMP_FLG
, #{tempDelFlg} AS TEMP_DEL_FLG
, 'QCAST_III' AS SOURCE_ORIGIN
, #{orgDelFlg} AS ORG_DEL_FLG
FROM T_OBJECT O WITH (NOLOCK)
WHERE O.OBJECT_NO = #{objectNo}
, GETDATE() AS CREATE_DATETIME
, #{userId} AS CREATE_USER
FROM T_OBJECT_INFO OI WITH (NOLOCK)
WHERE OI.OBJECT_NO = #{objectNo}
</insert>
<update id="updateObject" parameterType="com.interplug.qcast.biz.object.dto.ObjectRequest">
@ -682,42 +713,57 @@
, REMARKS = #{remarks}
, RECEIVE_USER = #{receiveUser}
, CONTENTS_PATH = #{contentsPath}
, PLAN_REQ_NO = #{planReqNo}
, AREA_ID = #{areaId}
, STANDARD_WIND_SPEED_ID = #{standardWindSpeedId}
, VERTICAL_SNOW_COVER = #{verticalSnowCover}
, SURFACE_TYPE = #{surfaceType}
, INSTALL_HEIGHT = #{installHeight}
, CON_TYPE = #{conType}
, COLD_REGION_FLG = #{coldRegionFlg}
, SALT_AREA_FLG = #{saltAreaFlg}
, LAST_EDIT_DATETIME = GETDATE()
, LAST_EDIT_USER = #{userId}
WHERE OBJECT_NO = #{objectNo}
</update>
<update id="updateObjectInfo" parameterType="com.interplug.qcast.biz.object.dto.ObjectRequest">
/* sqlid : com.interplug.qcast.biz.object.updateObjectInfo */
UPDATE T_OBJECT_INFO
SET
PLAN_REQ_NO = #{planReqNo}
, AREA_ID = #{areaId}
, STANDARD_WIND_SPEED_ID = #{standardWindSpeedId}
, VERTICAL_SNOW_COVER = #{verticalSnowCover}
, SURFACE_TYPE = #{surfaceType}
, INSTALL_HEIGHT = #{installHeight}
, CON_TYPE = #{conType}
, COLD_REGION_FLG = #{coldRegionFlg}
, SALT_AREA_FLG = #{saltAreaFlg}
WHERE OBJECT_NO = #{objectNo}
</update>
<update id="updateObjectLastEditDate" parameterType="com.interplug.qcast.biz.object.dto.ObjectRequest">
/* sqlid : com.interplug.qcast.biz.object.updateObjectLastEditDate */
UPDATE T_OBJECT
SET
OBJECT_NO = #{objectNo}
<if test='standardWindSpeedId != null and standardWindSpeedId != ""'>
, STANDARD_WIND_SPEED_ID = #{standardWindSpeedId}
</if>
<if test='verticalSnowCover != null and verticalSnowCover != ""'>
, VERTICAL_SNOW_COVER = #{verticalSnowCover}
</if>
<if test='surfaceType != null and surfaceType != ""'>
, SURFACE_TYPE = #{surfaceType}
</if>
<if test='installHeight != null and installHeight != ""'>
, INSTALL_HEIGHT = #{installHeight}
</if>
, LAST_EDIT_DATETIME = GETDATE()
, LAST_EDIT_USER = #{userId}
WHERE OBJECT_NO = #{objectNo}
</update>
<update id="updateObjectInfoLastEditDate" parameterType="com.interplug.qcast.biz.object.dto.ObjectRequest">
/* sqlid : com.interplug.qcast.biz.object.updateObjectInfoLastEditDate */
UPDATE T_OBJECT_INFO
SET
OBJECT_NO = #{objectNo}
<if test='standardWindSpeedId != null and standardWindSpeedId != ""'>
, STANDARD_WIND_SPEED_ID = #{standardWindSpeedId}
</if>
<if test='verticalSnowCover != null and verticalSnowCover != ""'>
, VERTICAL_SNOW_COVER = #{verticalSnowCover}
</if>
<if test='surfaceType != null and surfaceType != ""'>
, SURFACE_TYPE = #{surfaceType}
</if>
<if test='installHeight != null and installHeight != ""'>
, INSTALL_HEIGHT = #{installHeight}
</if>
WHERE OBJECT_NO = #{objectNo}
</update>
<update id="updateObjectDelivery" parameterType="com.interplug.qcast.biz.object.dto.ObjectRequest">
/* sqlid : com.interplug.qcast.biz.object.updateObjectDelivery */
UPDATE A SET
@ -734,11 +780,18 @@
<update id="deleteObject" parameterType="com.interplug.qcast.biz.object.dto.ObjectRequest">
/* sqlid : com.interplug.qcast.biz.object.deleteObject */
UPDATE T_OBJECT
SET
LAST_EDIT_DATETIME = GETDATE()
, LAST_EDIT_USER = #{userId}
WHERE OBJECT_NO = #{objectNo}
</update>
<update id="deleteObjectInfo" parameterType="com.interplug.qcast.biz.object.dto.ObjectRequest">
/* sqlid : com.interplug.qcast.biz.object.deleteObjectInfo */
UPDATE T_OBJECT_INFO
SET
ORG_DEL_FLG = '1'
, TEMP_DEL_FLG = '1'
, LAST_EDIT_DATETIME = GETDATE()
, LAST_EDIT_USER = #{userId}
WHERE OBJECT_NO = #{objectNo}
</update>
@ -826,6 +879,26 @@
)
</insert>
<insert id="insertPlanInfo" parameterType="com.interplug.qcast.biz.object.dto.PlanRequest">
/* sqlid : com.interplug.qcast.biz.object.insertPlanInfo*/
INSERT INTO T_PLAN_INFO
(
OBJECT_NO
, PLAN_NO
, ORDER_FLG
, TEMP_FLG
, CREATE_DATETIME
, CREATE_USER
) VALUES (
#{objectNo}
, #{planNo}
, #{orderFlg}
, #{tempFlg}
, GETDATE()
, #{userId}
)
</insert>
<update id="deletePlan" parameterType="com.interplug.qcast.biz.object.dto.PlanRequest">
/* sqlid : com.interplug.qcast.biz.object.deletePlan */
UPDATE T_PLAN
@ -840,6 +913,14 @@
<update id="updateObjectNoChange" parameterType="com.interplug.qcast.biz.object.dto.ObjectRequest">
/* sqlid : com.interplug.qcast.biz.object.updateObjectChange */
UPDATE T_OBJECT
SET
OBJECT_NO = #{newObjectNo}
WHERE OBJECT_NO = #{objectNo}
</update>
<update id="updateObjectInfoNoChange" parameterType="com.interplug.qcast.biz.object.dto.ObjectRequest">
/* sqlid : com.interplug.qcast.biz.object.updateObjectInfoNoChange */
UPDATE T_OBJECT_INFO
SET
OBJECT_NO = #{newObjectNo}
, TEMP_FLG = '0'