견적서 API 수정(회로구성도 추가 개발)
This commit is contained in:
parent
8c2e191247
commit
5efa39fe64
@ -3,6 +3,7 @@ package com.interplug.qcast.batch;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.batch.core.BatchStatus;
|
||||
import org.springframework.batch.core.ExitStatus;
|
||||
import org.springframework.batch.core.Job;
|
||||
@ -19,7 +20,6 @@ import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@ -310,7 +310,7 @@ public class JobLauncherController {
|
||||
* @throws JobParametersInvalidException
|
||||
* @throws JobRestartException
|
||||
*/
|
||||
@Scheduled(cron = "1 0 0 * * *")
|
||||
@Scheduled(cron = "0 05 04 * * *")
|
||||
public String planConfirmJob() throws JobInstanceAlreadyCompleteException,
|
||||
JobExecutionAlreadyRunningException, JobParametersInvalidException, JobRestartException {
|
||||
|
||||
@ -339,7 +339,7 @@ public class JobLauncherController {
|
||||
* @throws JobParametersInvalidException
|
||||
* @throws JobRestartException
|
||||
*/
|
||||
@Scheduled(cron = "1 20 0 * * *")
|
||||
@Scheduled(cron = "0 20 04 * * *")
|
||||
public String estimateSyncJob() throws JobInstanceAlreadyCompleteException,
|
||||
JobExecutionAlreadyRunningException, JobParametersInvalidException, JobRestartException {
|
||||
|
||||
|
||||
@ -79,7 +79,7 @@ public class EstimateController {
|
||||
return estimateService.updateEstimateReset(estimateRequest);
|
||||
}
|
||||
|
||||
@Operation(description = "견적서를 잠금여부를 저장한다.")
|
||||
@Operation(description = "견적서 잠금여부를 저장한다.")
|
||||
@PostMapping("/save-estimate-lock")
|
||||
@ResponseStatus(HttpStatus.CREATED)
|
||||
public void updateEstimateLock(@RequestBody EstimateRequest estimateRequest) throws Exception {
|
||||
|
||||
@ -40,7 +40,7 @@ public interface EstimateMapper {
|
||||
public List<RoofResponse> selectEstimateRoofItemList(EstimateRequest estimateRequest);
|
||||
|
||||
// 견적서 지붕재 PC 목록 조회
|
||||
public List<RoofResponse> selectEstimateRoofPcList(EstimateRequest estimateRequest);
|
||||
public List<ItemResponse> selectEstimateCircuitItemList(EstimateRequest estimateRequest);
|
||||
|
||||
// 견적서 지붕재 용량 목록 조회
|
||||
public List<RoofResponse> selectEstimateRoofVolList(EstimateRequest estimateRequest);
|
||||
@ -78,6 +78,9 @@ public interface EstimateMapper {
|
||||
// 견적서 지붕재 아이템 등록
|
||||
public int insertEstimateRoofItem(ItemRequest itemRequest);
|
||||
|
||||
// 견적서 지붕재 회로구성 아이템 등록
|
||||
public int insertEstimateCircuitItem(ItemRequest itemRequest);
|
||||
|
||||
// 견적서 도면 아이템 등록
|
||||
public int insertEstimateDrawingItem(ItemRequest itemRequest);
|
||||
|
||||
@ -93,6 +96,9 @@ public interface EstimateMapper {
|
||||
// 견적서 지붕재 아이템 목록 삭제(물리 삭제)
|
||||
public int deleteEstimateRoofItemList(EstimateRequest estimateRequest);
|
||||
|
||||
// 견적서 회로구성 아이템 목록 삭제(물리 삭제)
|
||||
public int deleteEstimateCircuitItemList(EstimateRequest estimateRequest);
|
||||
|
||||
// 견적서 도면 아이템 목록 삭제(물리 삭제)
|
||||
public int deleteEstimateDrawingItemList(EstimateRequest estimateRequest);
|
||||
|
||||
|
||||
@ -272,14 +272,10 @@ public class EstimateService {
|
||||
ErrorCode.INVALID_INPUT_VALUE,
|
||||
message.getMessage("common.message.required.data", "Sale Store ID"));
|
||||
}
|
||||
if (StringUtils.isEmpty(estimateRequest.getSapSalesStoreCd())) {
|
||||
throw new QcastException(
|
||||
ErrorCode.INVALID_INPUT_VALUE,
|
||||
message.getMessage("common.message.required.data", "Sap Sale Store Code"));
|
||||
}
|
||||
|
||||
String splitStr = "、";
|
||||
List<RoofRequest> roofList = new ArrayList<RoofRequest>();
|
||||
List<ItemRequest> circuitItemList = estimateRequest.getCircuitItemList();
|
||||
List<ItemRequest> itemList = estimateRequest.getItemList();
|
||||
|
||||
estimateRequest.setTempFlg("0");
|
||||
@ -582,9 +578,10 @@ public class EstimateService {
|
||||
|
||||
// 도면 작성일 경우에만 지붕재, 도면 아이템 데이터 초기화 후 저장
|
||||
if ("1".equals(estimateRequest.getDrawingFlg())) {
|
||||
// 견적서 지붕면/아이템 제거
|
||||
// 견적서 지붕면/아이템 및 PC 회로구성도 제거
|
||||
estimateMapper.deleteEstimateRoofList(estimateRequest);
|
||||
estimateMapper.deleteEstimateRoofItemList(estimateRequest);
|
||||
estimateMapper.deleteEstimateCircuitItemList(estimateRequest);
|
||||
|
||||
// 견적서 지붕면/아이템 신규 추가
|
||||
for (RoofRequest roofRequest : roofList) {
|
||||
@ -604,6 +601,16 @@ public class EstimateService {
|
||||
}
|
||||
}
|
||||
|
||||
// 견적서 회로구성 아이템 신규 추가
|
||||
for (ItemRequest circuitItemRequest : circuitItemList) {
|
||||
circuitItemRequest.setObjectNo(estimateRequest.getObjectNo());
|
||||
circuitItemRequest.setPlanNo(estimateRequest.getPlanNo());
|
||||
circuitItemRequest.setItemId(circuitItemRequest.getItemId());
|
||||
circuitItemRequest.setCircuitCfg(circuitItemRequest.getCircuitCfg());
|
||||
|
||||
estimateMapper.insertEstimateCircuitItem(circuitItemRequest);
|
||||
}
|
||||
|
||||
// 견적서 도면 아이템 제거
|
||||
estimateMapper.deleteEstimateDrawingItemList(estimateRequest);
|
||||
// 견적서 도면 아이템 등록
|
||||
@ -806,6 +813,8 @@ public class EstimateService {
|
||||
// [6]. 견적서 지붕재 복사
|
||||
List<RoofResponse> roofList = estimateMapper.selectEstimateRoofList(estimateRequest);
|
||||
List<RoofResponse> roofItemList = estimateMapper.selectEstimateRoofItemList(estimateRequest);
|
||||
List<ItemResponse> circuitItemList =
|
||||
estimateMapper.selectEstimateCircuitItemList(estimateRequest);
|
||||
|
||||
for (RoofResponse roofResponse : roofList) {
|
||||
List<RoofResponse> roofItemList2 = new ArrayList<RoofResponse>();
|
||||
@ -848,6 +857,17 @@ public class EstimateService {
|
||||
}
|
||||
}
|
||||
|
||||
for (ItemResponse itemResponse : circuitItemList) {
|
||||
ItemRequest circuitItemRequest = new ItemRequest();
|
||||
|
||||
circuitItemRequest.setObjectNo(estimateCopyRequest.getCopyObjectNo());
|
||||
circuitItemRequest.setPlanNo(estimateCopyRequest.getCopyPlanNo());
|
||||
circuitItemRequest.setItemId(itemResponse.getItemId());
|
||||
circuitItemRequest.setCircuitCfg(itemResponse.getCircuitCfg());
|
||||
|
||||
estimateMapper.insertEstimateCircuitItem(circuitItemRequest);
|
||||
}
|
||||
|
||||
// [7]. 견적서 도면 복사 (추후 개발 필요)
|
||||
|
||||
// [8]. QSP Q.CAST SEND API
|
||||
@ -1273,7 +1293,8 @@ public class EstimateService {
|
||||
// 지붕재 목록 조회
|
||||
RoofInfoResponse roofInfoResponse = new RoofInfoResponse();
|
||||
List<RoofResponse> roofList = estimateMapper.selectEstimateRoofList(estimateRequest);
|
||||
List<RoofResponse> roofPcList = estimateMapper.selectEstimateRoofPcList(estimateRequest);
|
||||
List<ItemResponse> circuitItemList =
|
||||
estimateMapper.selectEstimateCircuitItemList(estimateRequest);
|
||||
estimateRequest.setSchItemGroup("MODULE_");
|
||||
List<RoofResponse> roofVolList = estimateMapper.selectEstimateRoofVolList(estimateRequest);
|
||||
|
||||
@ -1300,7 +1321,7 @@ public class EstimateService {
|
||||
roofInfoResponse.setModuleTotVolKw(String.valueOf(moduleTotVolKw));
|
||||
|
||||
roofInfoResponse.setRoofList(roofList);
|
||||
roofInfoResponse.setRoofPcList(roofPcList);
|
||||
roofInfoResponse.setCircuitItemList(circuitItemList);
|
||||
roofInfoResponse.setRoofVolList(roofVolList);
|
||||
|
||||
// 인증용량 구하기 (지붕면마다 모듈과 PCS의 총 용량을 서로 비교해 낮은쪽 용량으로 합산)
|
||||
@ -1885,17 +1906,17 @@ public class EstimateService {
|
||||
elm = doc.getElementById("notStandItemList_detail");
|
||||
elm.append(sb.toString());
|
||||
|
||||
if (data.getRoofInfo().getRoofPcList() != null) {
|
||||
if (data.getRoofInfo().getCircuitItemList() != null) {
|
||||
no = 1;
|
||||
sb = new StringBuilder();
|
||||
for (RoofResponse roofResponse : data.getRoofInfo().getRoofPcList()) {
|
||||
for (ItemResponse itemResponse : data.getRoofInfo().getCircuitItemList()) {
|
||||
sb.append("<tr>");
|
||||
sb.append("<td>" + (no++) + "</td>");
|
||||
sb.append(
|
||||
"<td style='text-align:left;'>"
|
||||
+ StringUtils.defaultString(roofResponse.getItemNo())
|
||||
+ "["
|
||||
+ roofResponse.getPcModuleAmount()
|
||||
+ StringUtils.defaultString(itemResponse.getItemNo())
|
||||
+ " ["
|
||||
+ itemResponse.getCircuitCfg()
|
||||
+ "]"
|
||||
+ "</td>");
|
||||
sb.append("</tr>");
|
||||
|
||||
@ -195,6 +195,9 @@ public class EstimateRequest {
|
||||
@Schema(description = "지붕재 목록")
|
||||
List<RoofRequest> roofList;
|
||||
|
||||
@Schema(description = "지붕재 목록")
|
||||
List<ItemRequest> circuitItemList;
|
||||
|
||||
@Schema(description = "아이템 목록")
|
||||
List<ItemRequest> itemList;
|
||||
|
||||
|
||||
@ -14,6 +14,9 @@ public class ItemRequest {
|
||||
@Schema(description = "플랜번호")
|
||||
private String planNo;
|
||||
|
||||
@Schema(description = "지붕재 아이템 번호")
|
||||
private String roofItemNo;
|
||||
|
||||
@Schema(description = "지붕재 번호")
|
||||
private String roofNo;
|
||||
|
||||
@ -74,8 +77,11 @@ public class ItemRequest {
|
||||
@Schema(description = "PC 아이템 ID")
|
||||
private String pcItemId;
|
||||
|
||||
@Schema(description = "회로")
|
||||
private String circuit;
|
||||
@Schema(description = "회로번호")
|
||||
private String circuitNo;
|
||||
|
||||
@Schema(description = "회로구성도")
|
||||
private String circuitCfg;
|
||||
|
||||
@Schema(description = "W")
|
||||
private String pnowW;
|
||||
|
||||
@ -79,4 +79,7 @@ public class ItemResponse {
|
||||
|
||||
@Schema(description = "모듈여부")
|
||||
private String moduleFlg;
|
||||
|
||||
@Schema(description = "회로구성도")
|
||||
private String circuitCfg;
|
||||
}
|
||||
|
||||
@ -21,8 +21,8 @@ public class RoofInfoResponse {
|
||||
@Schema(description = "지붕면 목록")
|
||||
private List<RoofResponse> roofList;
|
||||
|
||||
@Schema(description = "지붕면 파워컨디셔너 목록")
|
||||
private List<RoofResponse> roofPcList;
|
||||
@Schema(description = "파워컨디셔너 목록")
|
||||
private List<ItemResponse> circuitItemList;
|
||||
|
||||
@Schema(description = "지붕면 용량 목록")
|
||||
private List<RoofResponse> roofVolList;
|
||||
|
||||
@ -91,10 +91,4 @@ public class RoofResponse {
|
||||
|
||||
@Schema(description = "PC 아이템 ID")
|
||||
private String pcItemId;
|
||||
|
||||
@Schema(description = "회로")
|
||||
private String circuit;
|
||||
|
||||
@Schema(description = "Pc 모듈 매수")
|
||||
private String pcModuleAmount;
|
||||
}
|
||||
|
||||
@ -327,7 +327,7 @@
|
||||
, ISNULL((
|
||||
SELECT
|
||||
SUM((AMOUNT * CAST(ISNULL(SPECIFICATION, 0) AS FLOAT) / 1000))
|
||||
FROM T_ROOF_ITEM_ESTIMATE (NOLOCK)
|
||||
FROM T_PART_ROOF_ITEM_ESTIMATE (NOLOCK)
|
||||
WHERE OBJECT_NO = PE.OBJECT_NO
|
||||
AND PLAN_NO = PE.PLAN_NO
|
||||
AND PC_ITEM_ID = PE.ITEM_ID
|
||||
@ -364,7 +364,7 @@
|
||||
, 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_ROOF_ESTIMATE RE WITH (NOLOCK)
|
||||
INNER JOIN T_PART_ROOF_ESTIMATE RE WITH (NOLOCK)
|
||||
ON P.OBJECT_NO = RE.OBJECT_NO
|
||||
AND P.PLAN_NO = RE.PLAN_NO
|
||||
LEFT OUTER JOIN M_COMM_L C1 WITH (NOLOCK)
|
||||
@ -392,48 +392,26 @@
|
||||
, ISNULL(PIE.SPECIFICATION, '') AS SPECIFICATION
|
||||
, PIE.AMOUNT
|
||||
, PIE.PC_ITEM_ID
|
||||
FROM T_ROOF_ITEM_ESTIMATE PIE WITH (NOLOCK)
|
||||
FROM T_PART_ROOF_ITEM_ESTIMATE PIE WITH (NOLOCK)
|
||||
WHERE PIE.OBJECT_NO = #{objectNo}
|
||||
AND PIE.PLAN_NO = #{planNo}
|
||||
ORDER BY PIE.ROOF_NO
|
||||
</select>
|
||||
|
||||
<select id="selectEstimateRoofPcList" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest" resultType="com.interplug.qcast.biz.estimate.dto.RoofResponse">
|
||||
/* sqlid : com.interplug.qcast.biz.estimate.selectEstimateRoofPcList */
|
||||
<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
|
||||
T.ITEM_ID
|
||||
, T.ITEM_NO
|
||||
, SUM(T.AMOUNT) AS AMOUNT
|
||||
, SUM(T.PC_AMOUNT) AS PC_MODULE_AMOUNT
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
P.OBJECT_NO
|
||||
, P.PLAN_NO
|
||||
, RE.ROOF_NO
|
||||
, RE.ROOF_SURFACE
|
||||
, ROUND(CAST(RE.SLOPE AS FLOAT), 2) AS SLOPE
|
||||
, RIE.AMOUNT
|
||||
, CAST(RIE.SPECIFICATION AS FLOAT) SPECIFICATION
|
||||
, I.ITEM_ID
|
||||
, I.ITEM_NO
|
||||
, I.ITEM_GROUP
|
||||
, (SELECT SUM(AMOUNT) FROM T_ROOF_ITEM_ESTIMATE WHERE ROOF_NO = RIE.ROOF_NO AND OBJECT_NO = RIE.OBJECT_NO AND PLAN_NO = RIE.PLAN_NO AND PC_ITEM_ID = RIE.ITEM_ID) AS PC_AMOUNT
|
||||
FROM T_PLAN P WITH (NOLOCK)
|
||||
INNER JOIN T_ROOF_ESTIMATE RE WITH (NOLOCK)
|
||||
ON P.OBJECT_NO = RE.OBJECT_NO
|
||||
AND P.PLAN_NO = RE.PLAN_NO
|
||||
INNER JOIN T_ROOF_ITEM_ESTIMATE RIE WITH (NOLOCK)
|
||||
ON RE.ROOF_NO = RIE.ROOF_NO
|
||||
AND RE.OBJECT_NO = RE.OBJECT_NO
|
||||
AND RE.PLAN_NO = RE.PLAN_NO
|
||||
INNER JOIN M_ITEM I WITH (NOLOCK)
|
||||
ON RIE.ITEM_ID = I.ITEM_ID
|
||||
WHERE P.OBJECT_NO = #{objectNo}
|
||||
AND P.PLAN_NO = #{planNo}
|
||||
AND I.ITEM_GROUP = 'PC_'
|
||||
) T
|
||||
GROUP BY T.ITEM_ID, T.ITEM_NO
|
||||
PE.ITEM_ID
|
||||
, PE.ITEM_NO
|
||||
, PE.ITEM_NAME
|
||||
, 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}
|
||||
</select>
|
||||
|
||||
<select id="selectEstimateRoofVolList" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest" resultType="com.interplug.qcast.biz.estimate.dto.RoofResponse">
|
||||
@ -463,10 +441,10 @@
|
||||
, I.ITEM_ID
|
||||
, I.ITEM_GROUP
|
||||
FROM T_PLAN P WITH (NOLOCK)
|
||||
INNER JOIN T_ROOF_ESTIMATE RE WITH (NOLOCK)
|
||||
INNER JOIN T_PART_ROOF_ESTIMATE RE WITH (NOLOCK)
|
||||
ON P.OBJECT_NO = RE.OBJECT_NO
|
||||
AND P.PLAN_NO = RE.PLAN_NO
|
||||
INNER JOIN T_ROOF_ITEM_ESTIMATE RIE WITH (NOLOCK)
|
||||
INNER JOIN T_PART_ROOF_ITEM_ESTIMATE RIE WITH (NOLOCK)
|
||||
ON RE.ROOF_NO = RIE.ROOF_NO
|
||||
AND RE.OBJECT_NO = RE.OBJECT_NO
|
||||
AND RE.PLAN_NO = RE.PLAN_NO
|
||||
@ -846,7 +824,7 @@
|
||||
SELECT @@IDENTITY
|
||||
</selectKey>
|
||||
|
||||
INSERT INTO T_ROOF_ESTIMATE
|
||||
INSERT INTO T_PART_ROOF_ESTIMATE
|
||||
(
|
||||
OBJECT_NO
|
||||
, PLAN_NO
|
||||
@ -894,9 +872,14 @@
|
||||
|
||||
<insert id="insertEstimateRoofItem" parameterType="com.interplug.qcast.biz.estimate.dto.ItemRequest">
|
||||
/* sqlid : com.interplug.qcast.biz.estimate.insertEstimateRoofItem */
|
||||
INSERT INTO T_ROOF_ITEM_ESTIMATE
|
||||
<selectKey resultType="String" keyProperty="roofItemNo" order="BEFORE">
|
||||
SELECT CAST(ISNULL(MAX(ROOF_ITEM_NO), 0) + 1 AS NVARCHAR) FROM T_PART_ROOF_ITEM_ESTIMATE WHERE OBJECT_NO = #{objectNo} AND PLAN_NO = #{planNo}
|
||||
</selectKey>
|
||||
|
||||
INSERT INTO T_PART_ROOF_ITEM_ESTIMATE
|
||||
(
|
||||
ROOF_NO
|
||||
ROOF_ITEM_NO
|
||||
, ROOF_NO
|
||||
, OBJECT_NO
|
||||
, PLAN_NO
|
||||
, ITEM_ID
|
||||
@ -907,7 +890,8 @@
|
||||
, PC_ITEM_ID
|
||||
)
|
||||
SELECT
|
||||
#{roofNo} AS ROOF_NO
|
||||
#{roofItemNo} AS ROOF_ITEM_NO
|
||||
, #{roofNo} AS ROOF_NO
|
||||
, #{objectNo} AS OBJECT_NO
|
||||
, #{planNo} AS PLAN_NO
|
||||
, I.ITEM_ID
|
||||
@ -920,16 +904,45 @@
|
||||
WHERE I.ITEM_ID = #{itemId}
|
||||
</insert>
|
||||
|
||||
<insert id="insertEstimateCircuitItem" parameterType="com.interplug.qcast.biz.estimate.dto.ItemRequest">
|
||||
/* sqlid : com.interplug.qcast.biz.estimate.insertEstimateCircuitItem */
|
||||
<selectKey resultType="String" keyProperty="circuitNo" order="BEFORE">
|
||||
SELECT CAST(ISNULL(MAX(CIRCUIT_NO), 0) + 1 AS NVARCHAR) FROM T_PART_CIRCUIT_ITEM_ESTIMATE WHERE OBJECT_NO = #{objectNo} AND PLAN_NO = #{planNo}
|
||||
</selectKey>
|
||||
|
||||
INSERT INTO T_PART_CIRCUIT_ITEM_ESTIMATE
|
||||
(
|
||||
CIRCUIT_NO
|
||||
, OBJECT_NO
|
||||
, PLAN_NO
|
||||
, ITEM_ID
|
||||
, CIRCUIT_CFG
|
||||
) VALUES (
|
||||
#{circuitNo}
|
||||
, #{objectNo}
|
||||
, #{planNo}
|
||||
, #{itemId}
|
||||
, #{circuitCfg}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<delete id="deleteEstimateRoofList" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">
|
||||
/* sqlid : com.interplug.qcast.biz.estimate.deleteEstimateRoofList */
|
||||
DELETE FROM T_ROOF_ESTIMATE
|
||||
DELETE FROM T_PART_ROOF_ESTIMATE
|
||||
WHERE OBJECT_NO = #{objectNo}
|
||||
AND PLAN_NO = #{planNo}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteEstimateRoofItemList" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">
|
||||
/* sqlid : com.interplug.qcast.biz.estimate.deleteEstimateRoofItemList */
|
||||
DELETE FROM T_ROOF_ITEM_ESTIMATE
|
||||
DELETE FROM T_PART_ROOF_ITEM_ESTIMATE
|
||||
WHERE OBJECT_NO = #{objectNo}
|
||||
AND PLAN_NO = #{planNo}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteEstimateCircuitItemList" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">
|
||||
/* sqlid : com.interplug.qcast.biz.estimate.deleteEstimateCircuitItemList */
|
||||
DELETE FROM T_PART_CIRCUIT_ITEM_ESTIMATE
|
||||
WHERE OBJECT_NO = #{objectNo}
|
||||
AND PLAN_NO = #{planNo}
|
||||
</delete>
|
||||
|
||||
@ -38,7 +38,7 @@
|
||||
, A.CLASS_TYPE
|
||||
, A.AZIMUTH
|
||||
, (CASE WHEN A.CLASS_TYPE = 0 THEN A.SLOPE ELSE A.ANGLE END) AS SLOPE_ANGLE
|
||||
FROM T_ROOF_ESTIMATE A WITH (NOLOCK)
|
||||
FROM T_PART_ROOF_ESTIMATE A WITH (NOLOCK)
|
||||
WHERE A.OBJECT_NO = #{objectNo}
|
||||
AND A.PLAN_NO = #{planNo}
|
||||
</select>
|
||||
@ -85,8 +85,8 @@
|
||||
, A.CLASS_TYPE
|
||||
, A.AZIMUTH
|
||||
, (CASE WHEN A.CLASS_TYPE = 0 THEN A.SLOPE ELSE A.ANGLE END) AS SLOPE_ANGLE
|
||||
FROM T_ROOF_ESTIMATE A WITH (NOLOCK)
|
||||
INNER JOIN T_ROOF_ITEM_ESTIMATE B WITH (NOLOCK)
|
||||
FROM T_PART_ROOF_ESTIMATE A WITH (NOLOCK)
|
||||
INNER JOIN T_PART_ROOF_ITEM_ESTIMATE B WITH (NOLOCK)
|
||||
ON A.OBJECT_NO = B.OBJECT_NO
|
||||
AND A.PLAN_NO = B.PLAN_NO
|
||||
AND A.ROOF_NO = B.ROOF_NO
|
||||
|
||||
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user