|
|
@@ -30,6 +30,7 @@ import com.style24.persistence.domain.GoodsNotiInfo;
|
|
|
import com.style24.persistence.domain.GoodsPriceRes;
|
|
|
import com.style24.persistence.domain.GoodsSafeNo;
|
|
|
import com.style24.persistence.domain.GoodsSearch;
|
|
|
+import com.style24.persistence.domain.IfProductSku;
|
|
|
import com.style24.persistence.domain.Itemkind;
|
|
|
import com.style24.persistence.domain.NotiInfo;
|
|
|
import com.style24.persistence.domain.Notice;
|
|
|
@@ -86,8 +87,9 @@ public class TssGoodsService {
|
|
|
|
|
|
@Autowired
|
|
|
private TssRendererService rendererService;
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private TssWmsGoodsService wmsGoodsService;
|
|
|
|
|
|
@Autowired
|
|
|
private SafetyKoreaApi safetyKoreaApi;
|
|
|
@@ -530,10 +532,10 @@ public class TssGoodsService {
|
|
|
GoodsSearch goodsSearch = new GoodsSearch();
|
|
|
goodsSearch.setGoodsCd(goods.getGoodsCd());
|
|
|
goodsSearch.setSupplyCompCd(TssSession.getInfo().getSupplyCompCd());
|
|
|
- if( goodsDao.getGoodsListCount(goodsSearch) <= 0) {
|
|
|
+ if (goodsDao.getGoodsListCount(goodsSearch) <= 0) {
|
|
|
throw new IllegalStateException(goodsSearch.getGoodsCd() + " 상품코드가 업체 상품코드인지 확인해 주세요.");
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
SearchData searchData = new SearchData();
|
|
|
searchData.setRegNo(goods.getRegNo());
|
|
|
searchData.setSearchCd(goods.getGoodsCd());
|
|
|
@@ -616,7 +618,7 @@ public class TssGoodsService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
if ("Y".equals(goods.getChCfrmYn())) {
|
|
|
GoodsPriceRes goodsPriceRes = new GoodsPriceRes();
|
|
|
goodsPriceRes.setGoodsCd(goods.getGoodsCd());
|
|
|
@@ -1245,13 +1247,40 @@ public class TssGoodsService {
|
|
|
goodsMass.setGoodsCd(goods.getGoodsCd());
|
|
|
|
|
|
// 상품사이즈 정보
|
|
|
- Collection<Option> goodsWmsSizeList = goodsDao.getGoodsWmsSizeList(goods);
|
|
|
-
|
|
|
+ Collection<IfProductSku> goodsWmsSizeList = wmsGoodsService.getGoodsWmsSizeList(goods.getGoodsCd());
|
|
|
+
|
|
|
if (goodsWmsSizeList == null || goodsWmsSizeList.isEmpty()) {
|
|
|
- goods.setGoodsRegMsg("WMS 상품 사이즈 정보 없음");
|
|
|
- goods.setGoodsStat("G008_20");
|
|
|
+ throw new IllegalStateException("WMS의 TB_IF_PRODUCTSKU 에 " + goods.getGoodsCd() + " 상품이 존재하지 않습니다.");
|
|
|
} else {
|
|
|
- this.createSelfGoodsSize(goods, goodsWmsSizeList); // 자사 상품사이즈 정보 저장
|
|
|
+ int index = 1;
|
|
|
+ for (IfProductSku ifProductSku : goodsWmsSizeList) {
|
|
|
+
|
|
|
+ Option wmsOption = goodsDao.getWmsColorStock(ifProductSku);
|
|
|
+ if (wmsOption == null) {
|
|
|
+ throw new IllegalStateException(goods.getGoodsCd() + " 의 WMS의 색상 " + ifProductSku.getWmsColorCd() + "이(가) WMS색상관리에 없습니다.");
|
|
|
+ }
|
|
|
+
|
|
|
+ Option goodsStock = new Option();
|
|
|
+ goodsStock.setGoodsCd(goods.getGoodsCd());
|
|
|
+ goodsStock.setOptCd(ifProductSku.getSkucode());
|
|
|
+ goodsStock.setOptCd1(wmsOption.getOptCd1());
|
|
|
+ goodsStock.setOptCd2(ifProductSku.getOption2());
|
|
|
+ goodsStock.setSkuModelNo(ifProductSku.getSkumodelno());
|
|
|
+ goodsStock.setProductNo(ifProductSku.getProductno());
|
|
|
+ goodsStock.setProductCode(Integer.parseInt(ifProductSku.getProductcode()));
|
|
|
+ goodsStock.setBaseStockQty(0);
|
|
|
+ goodsStock.setCurrStockQty(wmsOption.getCurrStockQty());
|
|
|
+ goodsStock.setStoreStockQty(0);
|
|
|
+ goodsStock.setStoreMaxQty(wmsOption.getCurrStockQty());
|
|
|
+ goodsStock.setAddPrice(0);
|
|
|
+ goodsStock.setSoldoutYn("N");
|
|
|
+ goodsStock.setDispOrd(index);
|
|
|
+ goodsStock.setDispYn("Y");
|
|
|
+ goodsStock.setRegNo(TssSession.getInfo().getUserNo());
|
|
|
+ goodsStock.setUpdNo(TssSession.getInfo().getUserNo());
|
|
|
+ goodsDao.saveStock(goodsStock);
|
|
|
+ index++;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// 상품 색상 , 사이즈 옵션 정보 조회
|
|
|
@@ -1260,15 +1289,16 @@ public class TssGoodsService {
|
|
|
goodsColorSize.setUpdNo(TssSession.getInfo().getUserNo());
|
|
|
goodsDao.updateGoodsMainColorCd(goodsColorSize); // 대표색상 설정
|
|
|
}
|
|
|
-
|
|
|
int index = 0;
|
|
|
// 자사 상품 등록시 고시정보 처리
|
|
|
for (GoodsNotiInfo goodsNotiInfo : goodsNotiList) {
|
|
|
+
|
|
|
if (!StringUtils.isBlank(gagaMap.getString("niContent" + (index + 1)))) {
|
|
|
goodsNotiInfo.setNiContent(gagaMap.getString("niContent" + (index + 1)).trim());
|
|
|
}
|
|
|
|
|
|
if ("G005_003".equals(goodsNotiInfo.getNiItemCd())) { // 색상
|
|
|
+
|
|
|
if (!StringUtils.isBlank(goodsColorSize.getOpt1Str())) {
|
|
|
goodsNotiInfo.setNiContent(goodsColorSize.getOpt1Str());
|
|
|
}
|
|
|
@@ -1276,25 +1306,25 @@ public class TssGoodsService {
|
|
|
if (!StringUtils.isBlank(goodsColorSize.getOpt2Str())) {
|
|
|
goodsNotiInfo.setNiContent(goodsColorSize.getOpt2Str());
|
|
|
}
|
|
|
- } else if ("G005_006".equals(goodsNotiInfo.getNiItemCd())) { //제조국
|
|
|
- if (!StringUtils.isBlank(goods.getOriginNm())) {
|
|
|
- goodsNotiInfo.setNiContent(goods.getOriginNm());
|
|
|
- }
|
|
|
- } else if ("G005_009".equals(goodsNotiInfo.getNiItemCd())) { //제조년월
|
|
|
- if (!StringUtils.isBlank(goods.getMakeYmd())) {
|
|
|
- goodsNotiInfo.setNiContent(goods.getMakeYmd());
|
|
|
- }
|
|
|
- } else if ("G005_097".equals(goodsNotiInfo.getNiItemCd())) { //수입여부
|
|
|
- if (!StringUtils.isBlank(goods.getOriginNm()) &&
|
|
|
- (goods.getOriginNm().indexOf("대한민국") >= 0 || goods.getOriginNm().indexOf("한국") >= 0 || goods.getOriginNm().toUpperCase().indexOf("KOREA") >= 0)) {
|
|
|
- goodsNotiInfo.setNiContent("N");
|
|
|
- } else {
|
|
|
- goodsNotiInfo.setNiContent("Y");
|
|
|
- }
|
|
|
- } else if ("G005_099".equals(goodsNotiInfo.getNiItemCd())) { //종류
|
|
|
- if (!StringUtils.isBlank(goods.getItemkindNm())) {
|
|
|
- goodsNotiInfo.setNiContent(goods.getItemkindNm());
|
|
|
- }
|
|
|
+// } else if ("G005_006".equals(goodsNotiInfo.getNiItemCd())) { //제조국
|
|
|
+// if (!StringUtils.isBlank(goods.getOriginNm())) {
|
|
|
+// goodsNotiInfo.setNiContent(goods.getOriginNm());
|
|
|
+// }
|
|
|
+// } else if ("G005_009".equals(goodsNotiInfo.getNiItemCd())) { //제조년월
|
|
|
+// if (!StringUtils.isBlank(goods.getMakeYmd())) {
|
|
|
+// goodsNotiInfo.setNiContent(goods.getMakeYmd());
|
|
|
+// }
|
|
|
+// } else if ("G005_097".equals(goodsNotiInfo.getNiItemCd())) { //수입여부
|
|
|
+// if (!StringUtils.isBlank(goods.getOriginNm()) &&
|
|
|
+// (goods.getOriginNm().indexOf("대한민국") >= 0 || goods.getOriginNm().indexOf("한국") >= 0 || goods.getOriginNm().toUpperCase().indexOf("KOREA") >= 0)) {
|
|
|
+// goodsNotiInfo.setNiContent("N");
|
|
|
+// } else {
|
|
|
+// goodsNotiInfo.setNiContent("Y");
|
|
|
+// }
|
|
|
+// } else if ("G005_099".equals(goodsNotiInfo.getNiItemCd())) { //종류
|
|
|
+// if (!StringUtils.isBlank(goods.getItemkindNm())) {
|
|
|
+// goodsNotiInfo.setNiContent(goods.getItemkindNm());
|
|
|
+// }
|
|
|
}
|
|
|
index++;
|
|
|
}
|
|
|
@@ -1322,15 +1352,25 @@ public class TssGoodsService {
|
|
|
|
|
|
// 상품상세 타이틀 내용 확인
|
|
|
if (!StringUtils.isBlank(goodsMass.getGoodsContent())) {
|
|
|
+ String[] arrString = goodsMass.getGoodsContent().split("\n");
|
|
|
+ StringBuffer sb = new StringBuffer();
|
|
|
+ for (String descData : arrString) {
|
|
|
+ sb.append("<p>").append(descData).append("</b>");
|
|
|
+ }
|
|
|
goodsDesc.setDescGb("20");
|
|
|
- goodsDesc.setGoodsDesc(goodsMass.getGoodsContent().trim());
|
|
|
+ goodsDesc.setGoodsDesc(sb.toString());
|
|
|
this.saveGoodsDesc(goodsDesc);
|
|
|
}
|
|
|
|
|
|
// 상품상세 상품 상세 특징 확인
|
|
|
if (!StringUtils.isBlank(goodsMass.getGoodsCharacter())) {
|
|
|
+ String[] arrString = goodsMass.getGoodsContent().split("\n");
|
|
|
+ StringBuffer sb = new StringBuffer();
|
|
|
+ for (String descData : arrString) {
|
|
|
+ sb.append("<p>").append(descData).append("</b>");
|
|
|
+ }
|
|
|
goodsDesc.setDescGb("30");
|
|
|
- goodsDesc.setGoodsDesc(goodsMass.getGoodsCharacter().trim());
|
|
|
+ goodsDesc.setGoodsDesc(sb.toString());
|
|
|
this.saveGoodsDesc(goodsDesc);
|
|
|
}
|
|
|
|
|
|
@@ -1781,11 +1821,11 @@ public class TssGoodsService {
|
|
|
int index = 0;
|
|
|
for (GoodsNotiInfo goodsNotiInfo : goodsNotiList) {
|
|
|
|
|
|
- if (StringUtils.isBlank(excelMap.getString("niContent" + (index + 1)))) {
|
|
|
- goodsNotiInfo.setNiContent(goodsNotiInfo.getNiContent());
|
|
|
- } else {
|
|
|
- goodsNotiInfo.setNiContent(excelMap.getString("niContent" + (index + 1)).trim());
|
|
|
- }
|
|
|
+// if (StringUtils.isBlank(excelMap.getString("niContent" + (index + 1)))) {
|
|
|
+// goodsNotiInfo.setNiContent(goodsNotiInfo.getNiContent());
|
|
|
+// } else {
|
|
|
+// goodsNotiInfo.setNiContent(excelMap.getString("niContent" + (index + 1)).trim());
|
|
|
+// }
|
|
|
goodsNotiInfo.setRegNo(TssSession.getInfo().getUserNo());
|
|
|
goodsNotiInfo.setUpdNo(TssSession.getInfo().getUserNo());
|
|
|
goodsDao.saveGoodsNotiInfo(goodsNotiInfo);
|
|
|
@@ -1793,30 +1833,6 @@ public class TssGoodsService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 상품등록 - 상품재고정보 (자상상품등록시)
|
|
|
- *
|
|
|
- * @param goods
|
|
|
- * @param excelMap
|
|
|
- * @return Goods
|
|
|
- * @author eskim
|
|
|
- * @since 2021. 01. 13
|
|
|
- */
|
|
|
- private void createSelfGoodsSize(Goods goods, Collection<Option> goodsSizeList) {
|
|
|
-
|
|
|
- int index = 0;
|
|
|
- for (Option goodsStock : goodsSizeList) {
|
|
|
- goodsStock.setSoldoutYn("N");
|
|
|
- goodsStock.setDispYn("N");
|
|
|
- goodsStock.setBaseStockQty(0);
|
|
|
- goodsStock.setAddPrice(0);
|
|
|
- goodsStock.setRegNo(TssSession.getInfo().getUserNo());
|
|
|
- goodsStock.setUpdNo(TssSession.getInfo().getUserNo());
|
|
|
- goodsDao.saveStock(goodsStock);
|
|
|
- index++;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* 상품대량등록 엑셀 저장 - 입점상품
|
|
|
*
|
|
|
@@ -1983,26 +1999,26 @@ public class TssGoodsService {
|
|
|
goodsNotiInfo.setNiContent(gagaMap.getString("niContent" + (index + 1)));
|
|
|
}
|
|
|
|
|
|
- if ("G005_006".equals(goodsNotiInfo.getNiItemCd())) { //제조국
|
|
|
- if (!StringUtils.isBlank(goods.getOriginNm())) {
|
|
|
- goodsNotiInfo.setNiContent(goods.getOriginNm());
|
|
|
- }
|
|
|
- } else if ("G005_009".equals(goodsNotiInfo.getNiItemCd())) { //제조년월
|
|
|
- if (!StringUtils.isBlank(goods.getMakeYmd())) {
|
|
|
- goodsNotiInfo.setNiContent(goods.getMakeYmd());
|
|
|
- }
|
|
|
- } else if ("G005_097".equals(goodsNotiInfo.getNiItemCd())) { //수입여부
|
|
|
- if (!StringUtils.isBlank(goods.getOriginNm()) &&
|
|
|
- (goods.getOriginNm().indexOf("대한민국") >= 0 || goods.getOriginNm().indexOf("한국") >= 0 || goods.getOriginNm().toUpperCase().indexOf("KOREA") >= 0)) {
|
|
|
- goodsNotiInfo.setNiContent("N");
|
|
|
- } else {
|
|
|
- goodsNotiInfo.setNiContent("Y");
|
|
|
- }
|
|
|
- } else if ("G005_099".equals(goodsNotiInfo.getNiItemCd())) { //종류
|
|
|
- if (!StringUtils.isBlank(goods.getItemkindNm())) {
|
|
|
- goodsNotiInfo.setNiContent(goods.getItemkindNm());
|
|
|
- }
|
|
|
- }
|
|
|
+// if ("G005_006".equals(goodsNotiInfo.getNiItemCd())) { //제조국
|
|
|
+// if (!StringUtils.isBlank(goods.getOriginNm())) {
|
|
|
+// goodsNotiInfo.setNiContent(goods.getOriginNm());
|
|
|
+// }
|
|
|
+// } else if ("G005_009".equals(goodsNotiInfo.getNiItemCd())) { //제조년월
|
|
|
+// if (!StringUtils.isBlank(goods.getMakeYmd())) {
|
|
|
+// goodsNotiInfo.setNiContent(goods.getMakeYmd());
|
|
|
+// }
|
|
|
+// } else if ("G005_097".equals(goodsNotiInfo.getNiItemCd())) { //수입여부
|
|
|
+// if (!StringUtils.isBlank(goods.getOriginNm()) &&
|
|
|
+// (goods.getOriginNm().indexOf("대한민국") >= 0 || goods.getOriginNm().indexOf("한국") >= 0 || goods.getOriginNm().toUpperCase().indexOf("KOREA") >= 0)) {
|
|
|
+// goodsNotiInfo.setNiContent("N");
|
|
|
+// } else {
|
|
|
+// goodsNotiInfo.setNiContent("Y");
|
|
|
+// }
|
|
|
+// } else if ("G005_099".equals(goodsNotiInfo.getNiItemCd())) { //종류
|
|
|
+// if (!StringUtils.isBlank(goods.getItemkindNm())) {
|
|
|
+// goodsNotiInfo.setNiContent(goods.getItemkindNm());
|
|
|
+// }
|
|
|
+// }
|
|
|
index++;
|
|
|
}
|
|
|
|
|
|
@@ -3799,7 +3815,7 @@ public class TssGoodsService {
|
|
|
|
|
|
return goodsDao.getGoodsOption1Count(option);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 딜상품 저장
|
|
|
*
|
|
|
@@ -3840,7 +3856,7 @@ public class TssGoodsService {
|
|
|
}
|
|
|
|
|
|
for (GoodsCompose goodsCompose : goodsComposeList) {
|
|
|
-
|
|
|
+
|
|
|
Goods extendGoods = new Goods();
|
|
|
extendGoods.setGoodsCd(goodsCompose.getCompsGoodsCd());
|
|
|
extendGoods = goodsDao.getGoods(extendGoods);
|
|
|
@@ -3862,21 +3878,21 @@ public class TssGoodsService {
|
|
|
regGoods.setDcRate((int)(this.getDcRate(goods.getCurrPrice(), goods.getCurrPrice())));
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
String goodsCd = this.getGoodsCodeSeq("E", regGoods.getBrandCd()); // 입점상품 상품코드 생성
|
|
|
regGoods.setGoodsCd(goodsCd);
|
|
|
regGoods.setSupplyGoodsCd(goodsCd);
|
|
|
-
|
|
|
+
|
|
|
for (GoodsCompose goodsCompose : goodsComposeList) {
|
|
|
goodsCompose.setGoodsCd(regGoods.getGoodsCd());
|
|
|
goodsCompose.setGoodsType(regGoods.getGoodsType());
|
|
|
goodsCompose.setRegNo(TssSession.getInfo().getUserNo());
|
|
|
goodsCompose.setUpdNo(TssSession.getInfo().getUserNo());
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
this.createGoodsCompose(regGoods, goodsComposeList); // 딜상품 관련 정보 저장
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 딜 상품 관련 저장
|
|
|
*
|
|
|
@@ -3907,7 +3923,7 @@ public class TssGoodsService {
|
|
|
pntPrate = tmpBrand.getPntPrate20();
|
|
|
pntMrate = tmpBrand.getPntMrate20();
|
|
|
}
|
|
|
- distributionGb = tmpBrand.getDistributionGb() ; // 유통구분
|
|
|
+ distributionGb = tmpBrand.getDistributionGb(); // 유통구분
|
|
|
}
|
|
|
|
|
|
regGoods.setPntPrate(pntPrate); // 포인트적립율(PC)
|
|
|
@@ -3958,7 +3974,7 @@ public class TssGoodsService {
|
|
|
goodsDao.createCategoryGoods(regGoods);
|
|
|
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 구성상품 목록
|
|
|
*
|