견적서 API 수정(아이템 특이사항 별도 저장 기능 추가)

This commit is contained in:
LAPTOP-L3VE7KK2\USER 2024-11-08 13:44:54 +09:00
parent e3b78204c2
commit 2142442aa3
6 changed files with 53 additions and 8 deletions

View File

@ -326,9 +326,9 @@ public class EstimateService {
itemRequest.setSpecification(itemResponse.getPnowW());
itemRequest.setUnitPrice(itemResponse.getSalePrice());
itemRequest.setSalePrice(itemResponse.getSalePrice());
itemRequest.setFileUploadFlg(itemResponse.getFileUploadFlg());
itemRequest.setPkgMaterialFlg(itemResponse.getPkgMaterialFlg());
itemRequest.setItemGroup(itemResponse.getItemGroup());
break;
}
}
@ -378,11 +378,24 @@ public class EstimateService {
}
}
for (NoteResponse noteResponse : noteItemList) {
estimateOptions += !StringUtils.isEmpty(estimateOptions) ? splitStr : "";
estimateOptions += noteResponse.getCode();
if (estimateOptions.indexOf(noteResponse.getCode()) < 0) {
estimateOptions += !StringUtils.isEmpty(estimateOptions) ? splitStr : "";
estimateOptions += noteResponse.getCode();
}
}
estimateRequest.setEstimateOption(estimateOptions);
// 아이템별 특이사항 코드 체크
for (ItemRequest itemRequest : itemList) {
String specialNoteCd = "";
for (NoteResponse noteResponse : noteItemList) {
if (itemRequest.getItemId().equals(noteResponse.getItemId())) {
specialNoteCd += !StringUtils.isEmpty(specialNoteCd) ? splitStr : "";
specialNoteCd += noteResponse.getCode();
}
}
itemRequest.setSpecialNoteCd(specialNoteCd);
}
}
// 아이템 목록 필수 체크

View File

@ -186,6 +186,12 @@ public class EstimateResponse {
@Schema(description = "판매점 레벨")
private String saleStoreLevel;
@Schema(description = "1차점 판매점명")
private String firstSaleStoreName;
@Schema(description = "하위 판매점명")
private String agencySaleStoreName;
// 판매점 정보
@Schema(description = "고객 판매점명")
private String custSaleStoreName;

View File

@ -50,9 +50,15 @@ public class ItemRequest {
@Schema(description = "단가")
private String salePrice;
@Schema(description = "파일첨부 필수여부")
private String fileUploadFlg;
@Schema(description = "PKG 제외상품 여부")
private String pkgMaterialFlg;
@Schema(description = "아이템 특이사항 코드")
private String specialNoteCd;
@Schema(description = "아이템 변경 여부")
private String itemChangeFlg;

View File

@ -47,9 +47,15 @@ public class ItemResponse {
@Schema(description = "합산")
private String saleTotPrice;
@Schema(description = "파일첨부 필수여부")
private String fileUploadFlg;
@Schema(description = "PKG 제외상품 여부")
private String pkgMaterialFlg;
@Schema(description = "아이템 특이사항 코드")
private String specialNoteCd;
@Schema(description = "아이템 변경 여부")
private String itemChangeFlg;
@ -59,9 +65,6 @@ public class ItemResponse {
@Schema(description = "아이템 그룹코드")
private String itemGroup;
@Schema(description = "파일첨부 필수여부")
private String fileUploadFlg;
@Schema(description = "모듈여부")
private String moduleFlg;
}

View File

@ -11,6 +11,9 @@ public class NoteResponse {
@Schema(description = "공통코드명")
private String codeNm;
@Schema(description = "아이템 ID")
private String itemId;
@Schema(description = "견적특이사항")
private String remarks;
}

View File

@ -56,6 +56,8 @@
, O.SALE_STORE_ID
, 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_OBJECT O WITH (NOLOCK)
ON P.OBJECT_NO = O.OBJECT_NO
@ -116,11 +118,13 @@
, PE.UNIT
, PE.SPECIFICATION
, PE.AMOUNT
, PE.UNIT_PRICE
, PE.SALE_PRICE
, PE.FILE_UPLOAD_FLG
, PE.PKG_MATERIAL_FLG
, PE.SPECIAL_NOTE_CD
, PE.ITEM_CHANGE_FLG
, I.PNOW_W
, I.FILE_UPLOAD_FLG
, CASE WHEN I.ITEM_GROUP = 'MODULE_' THEN '1' ELSE '0' END AS MODULE_FLG
FROM T_PART_ESTIMATE PE WITH (NOLOCK)
INNER JOIN M_ITEM I WITH (NOLOCK)
@ -141,6 +145,7 @@
, I.PNOW_W
, I.ITEM_GROUP
, I.PKG_MATERIAL_FLG
, I.FILE_UPLOAD_FLG
, ISNULL(PPM.SALE_PRICE, '0') AS SALE_PRICE
FROM M_ITEM I WITH (NOLOCK)
LEFT OUTER JOIN M_PRICE_PATTERN_MONEY PPM
@ -180,6 +185,7 @@
/* sqlid : com.interplug.qcast.biz.estimate.selectEstimateNoteItemList */
SELECT
CL.CODE
, OSNI.ITEM_ID
FROM M_COMM_L CL WITH (NOLOCK)
INNER JOIN T_OBJECT_SPECIAL_NOTE OSN WITH (NOLOCK)
ON CL.CODE = OSN.SPN_ATTR_CD
@ -296,7 +302,11 @@
, LAST_EDIT_USER
, UNIT_PRICE
, SALE_PRICE
, FILE_UPLOAD_FLG
, PKG_MATERIAL_FLG
<if test='specialNoteCd != null and specialNoteCd != ""'>
, SPECIAL_NOTE_CD
</if>
, ITEM_CHANGE_FLG
) VALUES (
#{objectNo}
@ -316,7 +326,11 @@
, #{userId}
, #{unitPrice}
, #{salePrice}
, #{fileUploadFlg}
, #{pkgMaterialFlg}
<if test='specialNoteCd != null and specialNoteCd != ""'>
, #{specialNoteCd}
</if>
, #{itemChangeFlg}
)
</insert>