Compare commits

..

7 Commits

5 changed files with 86 additions and 96 deletions

View File

@ -153,7 +153,7 @@ public class JobLauncherController {
* *
*/ */
@Scheduled(cron = "0 30 02 * * *") @Scheduled(cron = "0 50 04 * * *")
public String materialJob() throws JobInstanceAlreadyCompleteException, JobExecutionAlreadyRunningException, JobParametersInvalidException, JobRestartException { public String materialJob() throws JobInstanceAlreadyCompleteException, JobExecutionAlreadyRunningException, JobParametersInvalidException, JobRestartException {
return executeScheduledJob("materialJob"); return executeScheduledJob("materialJob");
@ -165,7 +165,7 @@ public class JobLauncherController {
* *
*/ */
@Scheduled(cron = "0 40 02 * * *") @Scheduled(cron = "0 20 05 * * *")
public String bomJob() throws JobInstanceAlreadyCompleteException, JobExecutionAlreadyRunningException, JobParametersInvalidException, JobRestartException { public String bomJob() throws JobInstanceAlreadyCompleteException, JobExecutionAlreadyRunningException, JobParametersInvalidException, JobRestartException {
return executeScheduledJob("bomJob"); return executeScheduledJob("bomJob");

View File

@ -620,6 +620,9 @@ public class EstimateService {
} else if ("PC_".equals(itemRequest.getItemGroup())) { } else if ("PC_".equals(itemRequest.getItemGroup())) {
pcTypeNo += !StringUtils.isEmpty(pcTypeNo) ? splitStr : ""; pcTypeNo += !StringUtils.isEmpty(pcTypeNo) ? splitStr : "";
pcTypeNo += itemRequest.getItemNo(); pcTypeNo += itemRequest.getItemNo();
} else if ("STORAGE_BATTERY".equals(itemRequest.getItemGroup())) {
pcTypeNo += !StringUtils.isEmpty(pcTypeNo) ? splitStr : "";
pcTypeNo += itemRequest.getItemNo();
} }
} }
} }
@ -1603,7 +1606,7 @@ public class EstimateService {
// 도면 이미지 셋팅 // 도면 이미지 셋팅
String baseDrawingImgName = estimateRequest.getObjectNo() + "_" + estimateRequest.getPlanNo(); String baseDrawingImgName = estimateRequest.getObjectNo() + "_" + estimateRequest.getPlanNo();
// 풀사이즈 이미지 (P1, P2 시트용) // 셀범위용 이미지 (기존 이미지명 유지: _1.png, _2.png)
URL url = new URL(drawingDirPath + File.separator + baseDrawingImgName + "_1.png"); URL url = new URL(drawingDirPath + File.separator + baseDrawingImgName + "_1.png");
byte[] drawingImg1 = loadDrawingImage(url); byte[] drawingImg1 = loadDrawingImage(url);
if (drawingImg1 != null) { if (drawingImg1 != null) {
@ -1618,22 +1621,22 @@ public class EstimateService {
} }
log.debug("url2 ::: {}", url2); log.debug("url2 ::: {}", url2);
// 셀범위용 이미지 (割付図系統図, 架台図 시트용) // 풀사이즈 이미지 (P1, P2 시트용: _1_full.png, _2_full.png)
URL urlCell1 = new URL(drawingDirPath + File.separator + baseDrawingImgName + "_1_cell.png"); URL urlFull1 = new URL(drawingDirPath + File.separator + baseDrawingImgName + "_1_full.png");
byte[] drawingImg1Cell = loadDrawingImage(urlCell1); byte[] drawingImg1Full = loadDrawingImage(urlFull1);
if (drawingImg1Cell != null) { if (drawingImg1Full != null) {
estimateResponse.setDrawingImg1Cell(drawingImg1Cell); estimateResponse.setDrawingImg1Full(drawingImg1Full);
} else { } else {
// cell 이미지가 없으면 풀사이즈 폴백 // full 이미지가 없으면 기존 이미지 폴백
estimateResponse.setDrawingImg1Cell(drawingImg1); estimateResponse.setDrawingImg1Full(drawingImg1);
} }
URL urlCell2 = new URL(drawingDirPath + File.separator + baseDrawingImgName + "_2_cell.png"); URL urlFull2 = new URL(drawingDirPath + File.separator + baseDrawingImgName + "_2_full.png");
byte[] drawingImg2Cell = loadDrawingImage(urlCell2); byte[] drawingImg2Full = loadDrawingImage(urlFull2);
if (drawingImg2Cell != null) { if (drawingImg2Full != null) {
estimateResponse.setDrawingImg2Cell(drawingImg2Cell); estimateResponse.setDrawingImg2Full(drawingImg2Full);
} else { } else {
estimateResponse.setDrawingImg2Cell(drawingImg2); estimateResponse.setDrawingImg2Full(drawingImg2);
} }

View File

@ -221,17 +221,17 @@ public class EstimateResponse {
@Schema(description = "염해지역 아이템사용 여부") @Schema(description = "염해지역 아이템사용 여부")
private String saltAreaFlg; private String saltAreaFlg;
@Schema(description = "도면이미지1 (풀사이즈)") @Schema(description = "도면이미지1 (셀범위용, 기존)")
private byte[] drawingImg1; private byte[] drawingImg1;
@Schema(description = "도면이미지2 (풀사이즈)") @Schema(description = "도면이미지2 (셀범위용, 기존)")
private byte[] drawingImg2; private byte[] drawingImg2;
@Schema(description = "도면이미지1 (셀범위용)") @Schema(description = "도면이미지1 (풀사이즈, 여백없음)")
private byte[] drawingImg1Cell; private byte[] drawingImg1Full;
@Schema(description = "도면이미지2 (셀범위용)") @Schema(description = "도면이미지2 (풀사이즈, 여백없음)")
private byte[] drawingImg2Cell; private byte[] drawingImg2Full;
// 판매점 정보 // 판매점 정보
@Schema(description = "고객 판매점명") @Schema(description = "고객 판매점명")

View File

@ -97,7 +97,6 @@
, SS3.ADDRESS AS ADDRESS3 , SS3.ADDRESS AS ADDRESS3
, SS3.TEL AS TEL3 , SS3.TEL AS TEL3
, SS3.FAX AS FAX3 , SS3.FAX AS FAX3
/*
, CASE WHEN Z.CREATE_SALE_STORE_ID = 'T01' AND ISNULL(Z.FIRST_AGENT_ID,'') = '' THEN Z.ZIP_NO2 , CASE WHEN Z.CREATE_SALE_STORE_ID = 'T01' AND ISNULL(Z.FIRST_AGENT_ID,'') = '' THEN Z.ZIP_NO2
WHEN Z.CREATE_SALE_STORE_ID = 'T01' AND ISNULL(Z.FIRST_AGENT_ID,'') != '' THEN SS3.ZIP_NO WHEN Z.CREATE_SALE_STORE_ID = 'T01' AND ISNULL(Z.FIRST_AGENT_ID,'') != '' THEN SS3.ZIP_NO
ELSE Z.ZIP_NO1 END AS ZIP_NO ELSE Z.ZIP_NO1 END AS ZIP_NO
@ -110,83 +109,71 @@
, CASE WHEN Z.CREATE_SALE_STORE_ID = 'T01' AND ISNULL(Z.FIRST_AGENT_ID,'') = '' THEN Z.FAX2 , CASE WHEN Z.CREATE_SALE_STORE_ID = 'T01' AND ISNULL(Z.FIRST_AGENT_ID,'') = '' THEN Z.FAX2
WHEN Z.CREATE_SALE_STORE_ID = 'T01' AND ISNULL(Z.FIRST_AGENT_ID,'') != '' THEN SS3.FAX WHEN Z.CREATE_SALE_STORE_ID = 'T01' AND ISNULL(Z.FIRST_AGENT_ID,'') != '' THEN SS3.FAX
ELSE Z.FAX1 END AS FAX ELSE Z.FAX1 END AS FAX
*/
,(SELECT
SUBSTRING(MCL.REF_CHR3, CHARINDEX('〒', MCL.REF_CHR3) + 1,
CHARINDEX(')', MCL.REF_CHR3, CHARINDEX('〒', MCL.REF_CHR3)) - CHARINDEX('〒', MCL.REF_CHR3) - 1) FROM M_COMM_L MCL WHERE MCL.HEAD_CD = '103200' AND MCL.CODE = Z.BUSINESS_TEAM_CD ) as ZIP_NO
,(SELECT
LTRIM(SUBSTRING(MCL.REF_CHR3,
CHARINDEX(')', MCL.REF_CHR3, CHARINDEX('〒', MCL.REF_CHR3)) + 1,
LEN(MCL.REF_CHR3))) FROM M_COMM_L MCL WHERE MCL.HEAD_CD = '103200' AND MCL.CODE = Z.BUSINESS_TEAM_CD ) as ADDRESS
,(SELECT MCL.REF_CHR4 FROM M_COMM_L MCL WHERE MCL.HEAD_CD = '103200' AND MCL.CODE = Z.BUSINESS_TEAM_CD ) AS TEL
,(SELECT MCL.REF_CHR5 FROM M_COMM_L MCL WHERE MCL.HEAD_CD = '103200' AND MCL.CODE = Z.BUSINESS_TEAM_CD ) AS FAX
FROM ( FROM (
SELECT SELECT
T.* T.*
, SS1.SALE_STORE_NAME AS CUST_SALE_STORE_NAME , SS1.SALE_STORE_NAME AS CUST_SALE_STORE_NAME
, COALESCE(NULLIF(SS2.DISP_COMPANY_NAME, ''), SS2.SALE_STORE_NAME) AS SALE_STORE_NAME , COALESCE(NULLIF(SS2.DISP_COMPANY_NAME, ''), SS2.SALE_STORE_NAME) AS SALE_STORE_NAME
, COALESCE(NULLIF(SS2.DISP_ZIP_NO, ''), SS2.ZIP_NO) AS ZIP_NO1 , COALESCE(NULLIF(SS2.DISP_ZIP_NO, ''), SS2.ZIP_NO) AS ZIP_NO1
, COALESCE(NULLIF(SS2.DISP_ADDRESS, ''), SS2.ADDRESS) AS ADDRESS1 , COALESCE(NULLIF(SS2.DISP_ADDRESS, ''), SS2.ADDRESS) AS ADDRESS1
, COALESCE(NULLIF(SS2.DISP_TEL, ''), SS2.TEL) AS TEL1 , COALESCE(NULLIF(SS2.DISP_TEL, ''), SS2.TEL) AS TEL1
, COALESCE(NULLIF(SS2.DISP_FAX, ''), SS2.FAX) AS FAX1 , COALESCE(NULLIF(SS2.DISP_FAX, ''), SS2.FAX) AS FAX1
, SSI2.BIZ_NO , SSI2.BIZ_NO
, SS1.ZIP_NO AS ZIP_NO2 , SS1.ZIP_NO AS ZIP_NO2
, SS1.ADDRESS AS ADDRESS2 , SS1.ADDRESS AS ADDRESS2
, SS1.TEL AS TEL2 , SS1.TEL AS TEL2
, SS1.FAX AS FAX2 , SS1.FAX AS FAX2
, SS1.FIRST_AGENT_ID , SS1.FIRST_AGENT_ID
, (SELECT BC.BUSINESS_TEAM_CD FROM M_BUSINESS_CHARGER BC WHERE BC.BUSINESS_CHARGER_CD = T.BUSINESS_CHARGER_CD) AS BUSINESS_TEAM_CD FROM
FROM (
( SELECT
SELECT P.OBJECT_NO
P.OBJECT_NO , P.PLAN_NO
, P.PLAN_NO , CONVERT(VARCHAR(10), P.DRAWING_ESTIMATE_CREATE_DATE, 121) AS DRAWING_ESTIMATE_CREATE_DATE
, CONVERT(VARCHAR(10), P.DRAWING_ESTIMATE_CREATE_DATE, 121) AS DRAWING_ESTIMATE_CREATE_DATE , P.ESTIMATE_VALIDITY_TERM
, P.ESTIMATE_VALIDITY_TERM , P.SNOWFALL
, P.SNOWFALL , CONVERT(NVARCHAR(10), P.LAST_EDIT_DATETIME, 121) AS ESTIMATE_DATE
, CONVERT(NVARCHAR(10), P.LAST_EDIT_DATETIME, 121) AS ESTIMATE_DATE , PI.ESTIMATE_TYPE
, PI.ESTIMATE_TYPE , PI.ESTIMATE_OPTION
, PI.ESTIMATE_OPTION , PI.PKG_ASP
, PI.PKG_ASP , PI.REMARKS
, PI.REMARKS , PI.CREATE_USER
, PI.CREATE_USER , O.SALE_STORE_ID
, O.SALE_STORE_ID , O.OBJECT_NAME
, (SELECT SS.BUSINESS_CHARGER_CD FROM M_SALES_STORE SS WHERE SS.SALE_STORE_ID = O.SALE_STORE_ID ) AS BUSINESS_CHARGER_CD , O.OBJECT_NAME_OMIT
, O.OBJECT_NAME , (SELECT SALE_STORE_ID FROM M_USER WHERE USER_ID = OI.CREATE_USER) AS CREATE_SALE_STORE_ID
, O.OBJECT_NAME_OMIT , ISNULL(MP.PREF_NAME, '') AS PREF_NAME
, (SELECT SALE_STORE_ID FROM M_USER WHERE USER_ID = OI.CREATE_USER) AS CREATE_SALE_STORE_ID , ISNULL(MPA.AREA_NAME, '') AS AREA_NAME
, ISNULL(MP.PREF_NAME, '') AS PREF_NAME , ISNULL(C1.CODE_NM, '') AS STANDARD_WIND_SPEED_NAME
, ISNULL(MPA.AREA_NAME, '') AS AREA_NAME FROM T_PLAN P WITH (NOLOCK)
, ISNULL(C1.CODE_NM, '') AS STANDARD_WIND_SPEED_NAME
FROM T_PLAN P WITH (NOLOCK)
INNER JOIN T_PLAN_INFO PI WITH (NOLOCK) INNER JOIN T_PLAN_INFO PI WITH (NOLOCK)
ON P.OBJECT_NO = PI.OBJECT_NO ON P.OBJECT_NO = PI.OBJECT_NO
AND P.PLAN_NO = PI.PLAN_NO AND P.PLAN_NO = PI.PLAN_NO
INNER JOIN T_OBJECT O WITH (NOLOCK) INNER JOIN T_OBJECT O WITH (NOLOCK)
ON P.OBJECT_NO = O.OBJECT_NO ON P.OBJECT_NO = O.OBJECT_NO
INNER JOIN T_OBJECT_INFO OI WITH (NOLOCK) INNER JOIN T_OBJECT_INFO OI WITH (NOLOCK)
ON O.OBJECT_NO = OI.OBJECT_NO ON O.OBJECT_NO = OI.OBJECT_NO
LEFT OUTER JOIN T_SIMULATION_PREFECTURE MP WITH (NOLOCK) LEFT OUTER JOIN T_SIMULATION_PREFECTURE MP WITH (NOLOCK)
ON O.PREF_ID = MP.PREF_ID ON O.PREF_ID = MP.PREF_ID
LEFT OUTER JOIN T_SIMULATION_AREA MPA WITH (NOLOCK) LEFT OUTER JOIN T_SIMULATION_AREA MPA WITH (NOLOCK)
ON O.PREF_ID = MPA.PREF_ID ON O.PREF_ID = MPA.PREF_ID
AND OI.AREA_ID = MPA.AREA_ID AND OI.AREA_ID = MPA.AREA_ID
AND MPA.DEL_FLG = 0 AND MPA.DEL_FLG = 0
LEFT OUTER JOIN M_COMM_L C1 WITH (NOLOCK) LEFT OUTER JOIN M_COMM_L C1 WITH (NOLOCK)
ON C1.HEAD_CD = '202000' ON C1.HEAD_CD = '202000'
AND P.STANDARD_WIND_SPEED_ID = C1.CODE AND P.STANDARD_WIND_SPEED_ID = C1.CODE
WHERE P.OBJECT_NO = #{objectNo} WHERE P.OBJECT_NO = #{objectNo}
AND P.PLAN_NO = #{planNo} AND P.PLAN_NO = #{planNo}
) T ) T
LEFT OUTER JOIN M_SALES_STORE SS1 WITH (NOLOCK) LEFT OUTER JOIN M_SALES_STORE SS1 WITH (NOLOCK)
ON T.SALE_STORE_ID = SS1.SALE_STORE_ID ON T.SALE_STORE_ID = SS1.SALE_STORE_ID
LEFT OUTER JOIN M_SALES_STORE SS2 WITH (NOLOCK) LEFT OUTER JOIN M_SALES_STORE SS2 WITH (NOLOCK)
ON T.CREATE_SALE_STORE_ID = SS2.SALE_STORE_ID ON T.CREATE_SALE_STORE_ID = SS2.SALE_STORE_ID
LEFT OUTER JOIN M_SALES_STORE_INFO SSI2 WITH (NOLOCK) LEFT OUTER JOIN M_SALES_STORE_INFO SSI2 WITH (NOLOCK)
ON T.CREATE_SALE_STORE_ID = SSI2.SALE_STORE_ID ON T.CREATE_SALE_STORE_ID = SSI2.SALE_STORE_ID
)Z )Z
LEFT OUTER JOIN M_SALES_STORE SS3 WITH (NOLOCK) LEFT OUTER JOIN M_SALES_STORE SS3 WITH (NOLOCK)
ON Z.FIRST_AGENT_ID = SS3.SALE_STORE_ID ON Z.FIRST_AGENT_ID = SS3.SALE_STORE_ID
</select> </select>