Merge pull request '[1314][HANASYS DESIGN]Simulation내용의 변경에 대해서' (#251) from dev into prd-deploy

Reviewed-on: #251
This commit is contained in:
ysCha 2025-11-18 13:29:50 +09:00
commit a5773e31a7
9 changed files with 1006 additions and 8 deletions

View File

@ -469,7 +469,7 @@ public class EstimateService {
break; break;
} }
} }
itemRequest.setNorthModuleYn(itemRequest.getNorthModuleYn());
// 아이템 BOM Header인 경우 컴포넌트 등록 처리 // 아이템 BOM Header인 경우 컴포넌트 등록 처리
if ("ERLA".equals(itemRequest.getItemCtgGr())) { if ("ERLA".equals(itemRequest.getItemCtgGr())) {
List<ItemResponse> itemBomList = List<ItemResponse> itemBomList =
@ -507,6 +507,7 @@ public class EstimateService {
} }
} }
System.out.print("itemRequest");
// BOM 컴포넌트 추가 // BOM 컴포넌트 추가
itemList.addAll(estimateBomList); itemList.addAll(estimateBomList);
@ -687,13 +688,15 @@ public class EstimateService {
itemRequest.setRoofSurfaceId(roofRequest.getRoofSurfaceId()); itemRequest.setRoofSurfaceId(roofRequest.getRoofSurfaceId());
itemRequest.setObjectNo(estimateRequest.getObjectNo()); itemRequest.setObjectNo(estimateRequest.getObjectNo());
itemRequest.setPlanNo(estimateRequest.getPlanNo()); itemRequest.setPlanNo(estimateRequest.getPlanNo());
// 선택한 PCS 아이템이 다른 경우 // 선택한 PCS 아이템이 다른 경우
for (ItemRequest itemObj : itemList) { for (ItemRequest itemObj : itemList) {
if(itemObj.getQcastCustPrdId() != null && itemObj.getQcastCustPrdId().equals(itemRequest.getPcItemId())) { if(itemObj.getQcastCustPrdId() != null && itemObj.getQcastCustPrdId().equals(itemRequest.getPcItemId())) {
itemRequest.setQcastCustPrdId(itemObj.getItemId()); itemRequest.setQcastCustPrdId(itemObj.getItemId());
} }
if(itemObj.getItemId().equals(itemRequest.getItemId())) {
itemRequest.setNorthModuleYn(itemObj.getNorthModuleYn());
}
} }
estimateMapper.insertEstimateRoofItem(itemRequest); estimateMapper.insertEstimateRoofItem(itemRequest);
} }

View File

@ -115,4 +115,7 @@ public class ItemRequest {
@Schema(description = "Q.CAST 고객 제품 ID") @Schema(description = "Q.CAST 고객 제품 ID")
public String qcastCustPrdId; public String qcastCustPrdId;
@Schema(description = "모듈의 북면지원여부")
public String northModuleYn;
} }

View File

@ -97,4 +97,7 @@ public class ItemResponse {
@Schema(description = "Q.CAST 고객 제품 ID") @Schema(description = "Q.CAST 고객 제품 ID")
public String qcastCustPrdId; public String qcastCustPrdId;
@Schema(description = "모듈의 북면지원여부")
public String northModuleYn;
} }

View File

@ -42,4 +42,9 @@ public class PwrGnrSimPlanResponse {
@Schema(description = "경칭") @Schema(description = "경칭")
private String objectNameOmit; private String objectNameOmit;
@Schema(description = "관측지점 코드")
private int simulationCode;
} }

View File

@ -125,4 +125,19 @@ public class PwrGnrSimRequest {
@Schema(description = "PCS 3 용량") @Schema(description = "PCS 3 용량")
private double pcsSpecification3; private double pcsSpecification3;
@Schema(description = "지붕면 갯수")
private int roofLength;
@Schema(description = "관측지점 코드")
private int simulationPointCode;
@Schema(description = "북면 모듈 여부1")
private String northModuleYn1;
@Schema(description = "북면 모듈 여부2")
private String northModuleYn2;
@Schema(description = "북면 모듈 여부3")
private String northModuleYn3;
} }

View File

@ -56,4 +56,8 @@ public class PwrGnrSimRoofResponse {
@Schema(description = "온도계수") @Schema(description = "온도계수")
private double tempCoeff; private double tempCoeff;
@Schema(description = "북면 모듈 여부")
private String northModuleYn;
} }

View File

@ -1056,6 +1056,7 @@
, AMOUNT , AMOUNT
, PC_ITEM_ID , PC_ITEM_ID
, QCAST_CUST_PRD_ID , QCAST_CUST_PRD_ID
, NORTH_MODULE_YN
) )
SELECT SELECT
#{roofItemNo} AS ROOF_ITEM_NO #{roofItemNo} AS ROOF_ITEM_NO
@ -1069,6 +1070,7 @@
, #{amount} , #{amount}
, #{pcItemId} , #{pcItemId}
, #{qcastCustPrdId} , #{qcastCustPrdId}
, #{northModuleYn}
FROM M_ITEM I WITH (NOLOCK) FROM M_ITEM I WITH (NOLOCK)
WHERE I.ITEM_ID = #{itemId} WHERE I.ITEM_ID = #{itemId}
</insert> </insert>
@ -1325,6 +1327,7 @@
, SPECIFICATION , SPECIFICATION
, AMOUNT , AMOUNT
, PC_ITEM_ID , PC_ITEM_ID
, NORTH_MODULE_YN
) )
SELECT SELECT
PRIE.ROOF_ITEM_NO PRIE.ROOF_ITEM_NO
@ -1337,6 +1340,7 @@
, PRIE.SPECIFICATION , PRIE.SPECIFICATION
, PRIE.AMOUNT , PRIE.AMOUNT
, PRIE.PC_ITEM_ID , PRIE.PC_ITEM_ID
, PRIE.NORTH_MODULE_YN
FROM T_PART_ROOF_ITEM_ESTIMATE PRIE WITH (NOLOCK) FROM T_PART_ROOF_ITEM_ESTIMATE PRIE WITH (NOLOCK)
WHERE PRIE.OBJECT_NO = #{objectNo} WHERE PRIE.OBJECT_NO = #{objectNo}
AND PRIE.PLAN_NO = #{planNo} AND PRIE.PLAN_NO = #{planNo}

View File

@ -19,6 +19,7 @@
, (SELECT AREA_NAME FROM T_SIMULATION_AREA WHERE AREA_ID = B1.AREA_ID ) AS AREA_NAME , (SELECT AREA_NAME FROM T_SIMULATION_AREA WHERE AREA_ID = B1.AREA_ID ) AS AREA_NAME
, B.OBJECT_NAME /* 물건명 */ , B.OBJECT_NAME /* 물건명 */
, B.OBJECT_NAME_OMIT /* 물건명(영문) */ , B.OBJECT_NAME_OMIT /* 물건명(영문) */
, (SELECT SIMULATION_CODE FROM T_SIMULATION_AREA WHERE AREA_ID = B1.AREA_ID) AS SIMULATION_CODE
FROM T_PLAN A WITH (NOLOCK) FROM T_PLAN A WITH (NOLOCK)
INNER JOIN T_PLAN_INFO A1 WITH (NOLOCK) INNER JOIN T_PLAN_INFO A1 WITH (NOLOCK)
ON A.OBJECT_NO = A1.OBJECT_NO ON A.OBJECT_NO = A1.OBJECT_NO
@ -98,6 +99,7 @@
, A.ROOF_SURFACE AS ROOF_SURFACE , A.ROOF_SURFACE AS ROOF_SURFACE
, A.CLASS_TYPE AS CLASS_TYPE , A.CLASS_TYPE AS CLASS_TYPE
, A.AZIMUTH AS AZIMUTH , A.AZIMUTH AS AZIMUTH
, ISNULL(B.NORTH_MODULE_YN, 'N') AS NORTH_MODULE_YN
, (CASE , (CASE
WHEN A.CLASS_TYPE = 0 THEN A.SLOPE WHEN A.CLASS_TYPE = 0 THEN A.SLOPE
ELSE A.ANGLE END) AS SLOPE_ANGLE ELSE A.ANGLE END) AS SLOPE_ANGLE
@ -116,7 +118,7 @@
WHERE A.OBJECT_NO = #{objectNo} WHERE A.OBJECT_NO = #{objectNo}
AND A.PLAN_NO = #{planNo} AND A.PLAN_NO = #{planNo}
AND C.ITEM_GROUP = #{itemGroup} AND C.ITEM_GROUP = #{itemGroup}
GROUP BY A.ROOF_SURFACE_ID, A.ROOF_SURFACE, A.CLASS_TYPE, A.AZIMUTH, A.ANGLE, A.SLOPE, B.ITEM_ID, B.ITEM_NO GROUP BY A.ROOF_SURFACE_ID, A.ROOF_SURFACE, A.CLASS_TYPE, A.AZIMUTH, A.ANGLE, A.SLOPE, B.ITEM_ID, B.ITEM_NO, B.NORTH_MODULE_YN
) T ) T
ORDER BY T.ROOF_SURFACE_ID ASC, T.ITEM_ID ASC ORDER BY T.ROOF_SURFACE_ID ASC, T.ITEM_ID ASC
</select> </select>