견적서 BOM API 개발
This commit is contained in:
parent
1702e44a12
commit
5525a49fc6
@ -1,6 +1,7 @@
|
||||
package com.interplug.qcast.biz.displayItem;
|
||||
|
||||
import com.interplug.qcast.biz.displayItem.dto.DisplayItemRequest;
|
||||
import com.interplug.qcast.biz.displayItem.dto.ItemDetailResponse;
|
||||
import com.interplug.qcast.biz.displayItem.dto.ItemResponse;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
@ -37,7 +38,7 @@ public class DisplayItemController {
|
||||
@Operation(description = "제품 상세 정보를 조회한다.")
|
||||
@GetMapping("/item-detail")
|
||||
@ResponseStatus(HttpStatus.OK)
|
||||
public ItemResponse getItemDetail(@RequestParam("itemId") String itemId) throws Exception {
|
||||
public ItemDetailResponse getItemDetail(@RequestParam("itemId") String itemId) throws Exception {
|
||||
return displayItemService.getItemDetail(itemId);
|
||||
}
|
||||
}
|
||||
|
||||
@ -12,7 +12,9 @@ public interface DisplayItemMapper {
|
||||
|
||||
List<ItemResponse> getItemList(@Param("saleStoreId") String saleStoreId);
|
||||
|
||||
ItemResponse getItemDetail(@Param("itemId") String itemId);
|
||||
ItemDetailResponse getItemDetail(@Param("itemId") String itemId);
|
||||
|
||||
List<ItemResponse> selectItemBomList(@Param("itemId") String itemId);
|
||||
|
||||
/**
|
||||
* 아이템 정보 동기화
|
||||
|
||||
@ -45,11 +45,18 @@ public class DisplayItemService {
|
||||
* @param itemId
|
||||
* @return
|
||||
*/
|
||||
public ItemResponse getItemDetail(String itemId) {
|
||||
public ItemDetailResponse getItemDetail(String itemId) {
|
||||
|
||||
ItemResponse itemResponse = displayItemMapper.getItemDetail(itemId);
|
||||
ItemDetailResponse itemDetailResponse = displayItemMapper.getItemDetail(itemId);
|
||||
|
||||
if (itemDetailResponse != null) {
|
||||
// BOM 헤더 아이템인 경우 BOM List를 내려준다.
|
||||
if ("ERLA".equals(itemDetailResponse.getItemCtgGr())) {
|
||||
List<ItemResponse> itemBomList = displayItemMapper.selectItemBomList(itemId);
|
||||
|
||||
itemDetailResponse.setItemBomList(itemBomList);
|
||||
}
|
||||
|
||||
if (itemResponse != null) {
|
||||
// 견적특이사항 관련 데이터 셋팅
|
||||
String[] arrItemId = {itemId};
|
||||
|
||||
@ -64,10 +71,10 @@ public class DisplayItemService {
|
||||
spnAttrCds += noteResponse.getCode();
|
||||
}
|
||||
|
||||
itemResponse.setSpnAttrCds(spnAttrCds);
|
||||
itemDetailResponse.setSpnAttrCds(spnAttrCds);
|
||||
}
|
||||
|
||||
return itemResponse;
|
||||
return itemDetailResponse;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -0,0 +1,54 @@
|
||||
package com.interplug.qcast.biz.displayItem.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import java.util.List;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ItemDetailResponse {
|
||||
|
||||
@Schema(description = "Itme Id")
|
||||
private String itemId;
|
||||
|
||||
@Schema(description = "Item No")
|
||||
private String itemNo;
|
||||
|
||||
@Schema(description = "Item Name")
|
||||
private String itemName;
|
||||
|
||||
@Schema(description = "Goods No")
|
||||
private String goodsNo;
|
||||
|
||||
@Schema(description = "Unit")
|
||||
private String unit;
|
||||
|
||||
@Schema(description = "Specification")
|
||||
private String specification;
|
||||
|
||||
@Schema(description = "pnow_w")
|
||||
private String pnowW;
|
||||
|
||||
@Schema(description = "Item Group")
|
||||
private String itemGroup;
|
||||
|
||||
@Schema(description = "Module Flag")
|
||||
private String moduleFlg;
|
||||
|
||||
@Schema(description = "PKG Material Flag")
|
||||
private String pkgMaterialFlg;
|
||||
|
||||
@Schema(description = "File Upload Flag")
|
||||
private String fileUploadFlg;
|
||||
|
||||
@Schema(description = "Sale Price")
|
||||
private String salePrice;
|
||||
|
||||
@Schema(description = "Item Ctg Group")
|
||||
private String itemCtgGr;
|
||||
|
||||
@Schema(description = "견적 특이사항 코드")
|
||||
private String spnAttrCds;
|
||||
|
||||
@Schema(description = "Bom 목록")
|
||||
List<ItemResponse> itemBomList;
|
||||
}
|
||||
@ -42,6 +42,12 @@ public class ItemResponse {
|
||||
@Schema(description = "Sale Price")
|
||||
private String salePrice;
|
||||
|
||||
@Schema(description = "Item Ctg Group")
|
||||
private String itemCtgGr;
|
||||
|
||||
@Schema(description = "Bom Amount")
|
||||
private String bomAmount;
|
||||
|
||||
@Schema(description = "견적 특이사항 코드")
|
||||
private String spnAttrCds;
|
||||
}
|
||||
|
||||
@ -21,6 +21,9 @@ public interface EstimateMapper {
|
||||
// 아이템 마스터 목록 조회
|
||||
public List<ItemResponse> selectItemMasterList(EstimateRequest estimateRequest);
|
||||
|
||||
// 아이템 마스터 BOM 목록 조회
|
||||
public List<ItemResponse> selectItemMasterBomList(String itemId);
|
||||
|
||||
// 견적서 지붕재 인증용량 조회
|
||||
public String selectEstimateRoofCertVolKw(EstimateRequest estimateRequest);
|
||||
|
||||
|
||||
@ -345,10 +345,13 @@ public class EstimateService {
|
||||
estimateRequest.setArrItemId(arrItemId);
|
||||
// 아이템의 마스터 정보 및 정가 정보 조회
|
||||
List<ItemResponse> itemResponseList = estimateMapper.selectItemMasterList(estimateRequest);
|
||||
// BOM 정보 목록
|
||||
List<ItemRequest> estimateBomList = new ArrayList<ItemRequest>();
|
||||
|
||||
int j = 1;
|
||||
for (ItemRequest itemRequest : itemList) {
|
||||
itemRequest.setDispOrder(String.valueOf(j++));
|
||||
int dispOrder = 100 * j++;
|
||||
itemRequest.setDispOrder(String.valueOf(dispOrder));
|
||||
|
||||
for (ItemResponse itemResponse : itemResponseList) {
|
||||
if (itemRequest.getItemId().equals(itemResponse.getItemId())) {
|
||||
@ -362,11 +365,52 @@ public class EstimateService {
|
||||
itemRequest.setFileUploadFlg(itemResponse.getFileUploadFlg());
|
||||
itemRequest.setPkgMaterialFlg(itemResponse.getPkgMaterialFlg());
|
||||
itemRequest.setItemGroup(itemResponse.getItemGroup());
|
||||
itemRequest.setItemCtgGr(itemResponse.getItemCtgGr());
|
||||
itemRequest.setPartAdd("0");
|
||||
itemRequest.setDelFlg("0");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// 아이템 BOM Header인 경우 컴포넌트 등록 처리
|
||||
if ("ERLA".equals(itemRequest.getItemCtgGr())) {
|
||||
List<ItemResponse> itemBomList =
|
||||
estimateMapper.selectItemMasterBomList(itemRequest.getItemId());
|
||||
|
||||
int k = 1;
|
||||
for (ItemResponse itemResponse : itemBomList) {
|
||||
ItemRequest bomItem = new ItemRequest();
|
||||
|
||||
bomItem.setPaDispOrder(String.valueOf(dispOrder));
|
||||
bomItem.setDispOrder(String.valueOf(dispOrder + k++));
|
||||
bomItem.setItemId(itemResponse.getItemId());
|
||||
bomItem.setItemNo(itemResponse.getItemNo());
|
||||
bomItem.setItemName(itemResponse.getItemName());
|
||||
bomItem.setUnit(itemResponse.getUnit());
|
||||
bomItem.setPnowW(itemResponse.getPnowW());
|
||||
bomItem.setSpecification(itemResponse.getPnowW());
|
||||
bomItem.setAmount(
|
||||
String.valueOf(
|
||||
Integer.parseInt(itemResponse.getBomAmount())
|
||||
* Integer.parseInt(itemRequest.getAmount())));
|
||||
bomItem.setBomAmount(itemResponse.getBomAmount());
|
||||
bomItem.setUnitPrice(itemResponse.getSalePrice());
|
||||
bomItem.setSalePrice(itemResponse.getSalePrice());
|
||||
bomItem.setFileUploadFlg(itemResponse.getFileUploadFlg());
|
||||
bomItem.setPkgMaterialFlg(itemResponse.getPkgMaterialFlg());
|
||||
bomItem.setItemGroup(itemResponse.getItemGroup());
|
||||
bomItem.setItemCtgGr(itemResponse.getItemCtgGr());
|
||||
bomItem.setPartAdd("0");
|
||||
bomItem.setDelFlg("0");
|
||||
|
||||
estimateBomList.add(bomItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// BOM 컴포넌트 추가
|
||||
for (ItemRequest estimateBom : estimateBomList) {
|
||||
itemList.add(estimateBom);
|
||||
}
|
||||
|
||||
// [4]. 견적특이사항 관련 데이터 셋팅
|
||||
@ -438,6 +482,11 @@ public class EstimateService {
|
||||
String moduleModel = "";
|
||||
String pcTypeNo = "";
|
||||
for (ItemRequest itemRequest : itemList) {
|
||||
if (StringUtils.isEmpty(itemRequest.getDispOrder())) {
|
||||
throw new QcastException(
|
||||
ErrorCode.INVALID_INPUT_VALUE,
|
||||
message.getMessage("common.message.required.data", "Display Order"));
|
||||
}
|
||||
if (StringUtils.isEmpty(itemRequest.getItemId())) {
|
||||
throw new QcastException(
|
||||
ErrorCode.INVALID_INPUT_VALUE,
|
||||
@ -516,12 +565,12 @@ public class EstimateService {
|
||||
|
||||
// 견적서 아이템 신규 추가
|
||||
String hisNo = estimateMapper.selectEstimateItemHisNo(estimateRequest); // 아이템 히스토리 번호 조회
|
||||
int j = 1, k = 1;
|
||||
for (ItemRequest itemRequest : itemList) {
|
||||
itemRequest.setHisNo(hisNo);
|
||||
itemRequest.setObjectNo(estimateRequest.getObjectNo());
|
||||
itemRequest.setPlanNo(estimateRequest.getPlanNo());
|
||||
itemRequest.setDispOrder(String.valueOf(k++));
|
||||
itemRequest.setBomAmount(
|
||||
!StringUtils.isEmpty(itemRequest.getBomAmount()) ? itemRequest.getBomAmount() : "0");
|
||||
itemRequest.setPartAdd(
|
||||
!StringUtils.isEmpty(itemRequest.getPartAdd()) ? itemRequest.getPartAdd() : "0");
|
||||
itemRequest.setItemChangeFlg(
|
||||
@ -533,8 +582,6 @@ public class EstimateService {
|
||||
estimateMapper.insertEstimateItemHis(itemRequest);
|
||||
|
||||
if (!"1".equals(itemRequest.getDelFlg())) {
|
||||
itemRequest.setDispOrder(String.valueOf(j++));
|
||||
|
||||
estimateMapper.insertEstimateItem(itemRequest);
|
||||
}
|
||||
}
|
||||
@ -738,6 +785,10 @@ public class EstimateService {
|
||||
for (ItemResponse itemResponse : estimateItemList) {
|
||||
itemResponse.setNo(String.valueOf(j++));
|
||||
|
||||
System.out.println(">>>>>>>>>" + itemResponse.getSalePrice());
|
||||
System.out.println(">>>>>>>>>" + itemResponse.getAmount());
|
||||
System.out.println(">>>>>>>>>" + itemResponse.getSaleTotPrice());
|
||||
|
||||
// 문자열 통화로 변환 처리
|
||||
itemResponse.setSalePrice(
|
||||
String.format("%1$,.0f", Double.parseDouble(itemResponse.getSalePrice())));
|
||||
@ -902,26 +953,29 @@ public class EstimateService {
|
||||
// 아이템 단가 합산
|
||||
itemResponse.setSaleTotPrice(String.valueOf(salePrice.multiply(amount)));
|
||||
|
||||
// YJSS인 경우 (PKG 단가 * 모듈용량) + 패키지 제외상품 총 합산
|
||||
// YJOD인 경우 모든 아이템의 총 합산
|
||||
if ("YJSS".equals(estimateType)) {
|
||||
if ("1".equals(itemResponse.getPkgMaterialFlg())) { // 패키지 제외상품 여부(1)
|
||||
supplyPrice = supplyPrice.add(salePrice.multiply(amount));
|
||||
// 컴포넌트는 제외하고 계산
|
||||
if (StringUtils.isEmpty(itemResponse.getPaDispOrder())) {
|
||||
// YJSS인 경우 (PKG 단가 * 모듈용량) + 패키지 제외상품 총 합산
|
||||
// YJOD인 경우 모든 아이템의 총 합산
|
||||
if ("YJSS".equals(estimateType)) {
|
||||
if ("1".equals(itemResponse.getPkgMaterialFlg())) { // 패키지 제외상품 여부(1)
|
||||
supplyPrice = supplyPrice.add(salePrice.multiply(amount));
|
||||
} else {
|
||||
if ("1".equals(itemResponse.getModuleFlg())) {
|
||||
totVol = totVol.add(pnowW.multiply(amount));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if ("1".equals(itemResponse.getModuleFlg())) {
|
||||
totVol = totVol.add(pnowW.multiply(amount));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if ("1".equals(itemResponse.getModuleFlg())) {
|
||||
totVol = totVol.add(pnowW.multiply(amount));
|
||||
|
||||
supplyPrice = supplyPrice.add(salePrice.multiply(amount));
|
||||
}
|
||||
|
||||
supplyPrice = supplyPrice.add(salePrice.multiply(amount));
|
||||
// 주문수량 더하기
|
||||
totAmount = totAmount.add(amount);
|
||||
}
|
||||
|
||||
// 주문수량 더하기
|
||||
totAmount = totAmount.add(amount);
|
||||
}
|
||||
|
||||
if ("YJSS".equals(estimateType)) {
|
||||
|
||||
@ -20,9 +20,12 @@ public class ItemRequest {
|
||||
@Schema(description = "아이템 ID")
|
||||
private String itemId;
|
||||
|
||||
@Schema(description = "정렬순서")
|
||||
@Schema(description = "정렬번호")
|
||||
private String dispOrder;
|
||||
|
||||
@Schema(description = "부모 정렬번호")
|
||||
private String paDispOrder;
|
||||
|
||||
@Schema(description = "아이템 번호")
|
||||
private String itemNo;
|
||||
|
||||
@ -38,6 +41,9 @@ public class ItemRequest {
|
||||
@Schema(description = "수량")
|
||||
private String amount;
|
||||
|
||||
@Schema(description = "BOM 수량")
|
||||
private String bomAmount;
|
||||
|
||||
@Schema(description = "변경수량")
|
||||
private String amountChange;
|
||||
|
||||
@ -71,6 +77,9 @@ public class ItemRequest {
|
||||
@Schema(description = "아이템 그룹코드")
|
||||
private String itemGroup;
|
||||
|
||||
@Schema(description = "아이템 CTG 그룹코드")
|
||||
private String itemCtgGr;
|
||||
|
||||
@Schema(description = "히스토리 번호")
|
||||
private String hisNo;
|
||||
|
||||
|
||||
@ -14,9 +14,12 @@ public class ItemResponse {
|
||||
@Schema(description = "플랜번호")
|
||||
private String planNo;
|
||||
|
||||
@Schema(description = "노출번호")
|
||||
@Schema(description = "정렬번호")
|
||||
private String dispOrder;
|
||||
|
||||
@Schema(description = "부모 정렬번호")
|
||||
private String paDispOrder;
|
||||
|
||||
@Schema(description = "번호")
|
||||
private String no;
|
||||
|
||||
@ -38,6 +41,9 @@ public class ItemResponse {
|
||||
@Schema(description = "수량")
|
||||
private String amount;
|
||||
|
||||
@Schema(description = "BOM 수량")
|
||||
private String bomAmount;
|
||||
|
||||
@Schema(description = "단가")
|
||||
private String salePrice;
|
||||
|
||||
@ -65,6 +71,9 @@ public class ItemResponse {
|
||||
@Schema(description = "아이템 그룹코드")
|
||||
private String itemGroup;
|
||||
|
||||
@Schema(description = "아이템 CTG 그룹코드")
|
||||
private String itemCtgGr;
|
||||
|
||||
@Schema(description = "모듈여부")
|
||||
private String moduleFlg;
|
||||
}
|
||||
|
||||
@ -82,7 +82,7 @@
|
||||
ORDER BY TT.DISP_ORDER
|
||||
</select>
|
||||
|
||||
<select id="getItemDetail" parameterType="String" resultType="com.interplug.qcast.biz.displayItem.dto.ItemResponse" >
|
||||
<select id="getItemDetail" parameterType="String" resultType="com.interplug.qcast.biz.displayItem.dto.ItemDetailResponse" >
|
||||
/* sqlid : com.interplug.qcast.displayItem.getItemDetail */
|
||||
SELECT
|
||||
MI.ITEM_ID
|
||||
@ -96,6 +96,7 @@
|
||||
, MI.MODULE_FLG
|
||||
, MI.PKG_MATERIAL_FLG
|
||||
, MI.FILE_UPLOAD_FLG
|
||||
, MI.ITEM_CTG_GR
|
||||
, ISNULL(MPPM.SALE_PRICE, '0') AS SALE_PRICE
|
||||
FROM M_ITEM MI
|
||||
LEFT OUTER JOIN M_PRICE_PATTERN_MONEY MPPM
|
||||
@ -105,6 +106,30 @@
|
||||
AND MI.ITEM_ID = #{itemId}
|
||||
</select>
|
||||
|
||||
<select id="selectItemBomList" parameterType="String" resultType="com.interplug.qcast.biz.displayItem.dto.ItemResponse" >
|
||||
/* sqlid : com.interplug.qcast.displayItem.selectItemBomList */
|
||||
SELECT
|
||||
PI.ITEM_ID
|
||||
, PI.AMOUNT AS BOM_AMOUNT
|
||||
, MI.ITEM_NO
|
||||
, MI.ITEM_NAME
|
||||
, MI.GOODS_NO
|
||||
, MI.UNIT
|
||||
, MI.PNOW_W AS SPECIFICATION
|
||||
, MI.PNOW_W
|
||||
, MI.ITEM_GROUP
|
||||
, MI.MODULE_FLG
|
||||
, MI.PKG_MATERIAL_FLG
|
||||
, MI.FILE_UPLOAD_FLG
|
||||
, MI.ITEM_CTG_GR
|
||||
, '0' AS SALE_PRICE
|
||||
FROM M_PACKAGE_ITEM PI WITH (NOLOCK)
|
||||
INNER JOIN M_ITEM MI WITH (NOLOCK)
|
||||
ON PI.ITEM_ID = MI.ITEM_ID
|
||||
WHERE PI.PACKAGE_ITEM_ID = #{itemId}
|
||||
AND MI.DEL_FLG = 0
|
||||
</select>
|
||||
|
||||
<insert id="setItemSyncSave" parameterType="com.interplug.qcast.biz.displayItem.dto.ItemSyncResponse" >
|
||||
/* sqlid : com.interplug.qcast.displayItem.setItemSyncSave */
|
||||
MERGE M_ITEM AS A
|
||||
|
||||
@ -169,12 +169,14 @@
|
||||
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
|
||||
@ -204,6 +206,7 @@
|
||||
, I.ITEM_GROUP
|
||||
, I.PKG_MATERIAL_FLG
|
||||
, I.FILE_UPLOAD_FLG
|
||||
, I.ITEM_CTG_GR
|
||||
, ISNULL(PPM.SALE_PRICE, '0') AS SALE_PRICE
|
||||
FROM M_ITEM I WITH (NOLOCK)
|
||||
LEFT OUTER JOIN M_PRICE_PATTERN_MONEY PPM
|
||||
@ -215,6 +218,27 @@
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<select id="selectItemMasterBomList" parameterType="String" resultType="com.interplug.qcast.biz.estimate.dto.ItemResponse">
|
||||
/* sqlid : com.interplug.qcast.displayItem.selectItemBomList */
|
||||
SELECT
|
||||
PI.ITEM_ID
|
||||
, PI.AMOUNT AS BOM_AMOUNT
|
||||
, I.ITEM_NO
|
||||
, I.ITEM_NAME
|
||||
, I.UNIT
|
||||
, I.PNOW_W
|
||||
, I.ITEM_GROUP
|
||||
, I.PKG_MATERIAL_FLG
|
||||
, I.FILE_UPLOAD_FLG
|
||||
, I.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
|
||||
WHERE PI.PACKAGE_ITEM_ID = #{itemId}
|
||||
AND I.DEL_FLG = 0
|
||||
</select>
|
||||
|
||||
<select id="selectEstimateRoofCertVolKw" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest" resultType="String">
|
||||
/* sqlid : com.interplug.qcast.biz.estimate.selectEstimateRoofCertVolKw */
|
||||
SELECT
|
||||
@ -522,12 +546,16 @@
|
||||
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>
|
||||
@ -536,22 +564,26 @@
|
||||
, LAST_EDIT_USER
|
||||
, UNIT_PRICE
|
||||
, SALE_PRICE
|
||||
, FILE_UPLOAD_FLG
|
||||
, PKG_MATERIAL_FLG
|
||||
<if test='specialNoteCd != null and specialNoteCd != ""'>
|
||||
, SPECIAL_NOTE_CD
|
||||
</if>
|
||||
, FILE_UPLOAD_FLG
|
||||
, PKG_MATERIAL_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>
|
||||
@ -560,11 +592,11 @@
|
||||
, #{userId}
|
||||
, #{unitPrice}
|
||||
, #{salePrice}
|
||||
, #{fileUploadFlg}
|
||||
, #{pkgMaterialFlg}
|
||||
<if test='specialNoteCd != null and specialNoteCd != ""'>
|
||||
, #{specialNoteCd}
|
||||
</if>
|
||||
, #{fileUploadFlg}
|
||||
, #{pkgMaterialFlg}
|
||||
, #{itemChangeFlg}
|
||||
)
|
||||
</insert>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user