|
@@ -1100,35 +1100,29 @@ public class TssGoodsService {
|
|
|
* @since 2021. 01. 12
|
|
* @since 2021. 01. 12
|
|
|
*/
|
|
*/
|
|
|
@Transactional("shopTxnManager")
|
|
@Transactional("shopTxnManager")
|
|
|
- public void createExceluploadSelfGoods(Collection<GagaMap> ecxelGoodsList, String excelFilename, String procJob) {
|
|
|
|
|
- String targetPath = GagaFileUtil.getConcatenationPath(env.getProperty("upload.excel.target.path"), "excel");
|
|
|
|
|
- if ((ecxelGoodsList == null || ecxelGoodsList.isEmpty())) {
|
|
|
|
|
- this.deleteExceluploadFile(targetPath, excelFilename);
|
|
|
|
|
- throw new IllegalStateException(message.getMessage("FAIL_1001"));
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ public String createExceluploadSelfGoods(GagaMap gagaMap, String procJob) {
|
|
|
|
|
|
|
|
- for (GagaMap gagaMap : ecxelGoodsList) {
|
|
|
|
|
- GoodsMass goodsMass = mapper.convertValue(gagaMap, GoodsMass.class);
|
|
|
|
|
|
|
+ GoodsMass goodsMass = mapper.convertValue(gagaMap, GoodsMass.class);
|
|
|
|
|
|
|
|
- // 상품기본정보
|
|
|
|
|
- Goods goods = this.createSelfGoodsInfo(goodsMass, procJob);
|
|
|
|
|
|
|
+ // 상품기본정보
|
|
|
|
|
+ Goods goods = this.createSelfGoodsInfo(goodsMass, procJob);
|
|
|
|
|
|
|
|
- if ("10".equals(goods.getGoodsStat())) { // 정보 오류
|
|
|
|
|
- this.setGoodsRegResult(goods, goodsMass, procJob);
|
|
|
|
|
- continue;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ if ("10".equals(goods.getGoodsStat())) { // 정보 오류
|
|
|
|
|
+ this.setGoodsRegResult(goods, goodsMass, procJob);
|
|
|
|
|
+ return goods.getGoodsStat(); //continue
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- // 상품고시정보
|
|
|
|
|
- Collection<GoodsNotiInfo> goodsNotiList = goodsDao.getItemkindNotiInfoList(goods);
|
|
|
|
|
- if (goodsNotiList == null || goodsNotiList.isEmpty()) {
|
|
|
|
|
- goods.setGoodsRegMsg("품목의 고시정보 없음");
|
|
|
|
|
- goods.setGoodsStat("10");
|
|
|
|
|
- this.setGoodsRegResult(goods, goodsMass, procJob);
|
|
|
|
|
- continue;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ // 상품고시정보
|
|
|
|
|
+ Collection<GoodsNotiInfo> goodsNotiList = goodsDao.getItemkindNotiInfoList(goods);
|
|
|
|
|
+ if (goodsNotiList == null || goodsNotiList.isEmpty()) {
|
|
|
|
|
+ goods.setGoodsRegMsg("품목의 고시정보 없음");
|
|
|
|
|
+ goods.setGoodsStat("10");
|
|
|
|
|
+ this.setGoodsRegResult(goods, goodsMass, procJob);
|
|
|
|
|
+ return goods.getGoodsStat();
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- // 자사 상품 등록시 고시정보 처리
|
|
|
|
|
- for (GoodsNotiInfo goodsNotiInfo : goodsNotiList) {
|
|
|
|
|
|
|
+ // 자사 상품 등록시 고시정보 처리
|
|
|
|
|
+ for (GoodsNotiInfo goodsNotiInfo : goodsNotiList) {
|
|
|
// if ("003".equals(goodsNotiInfo.getNiItemCd())) { // 색상
|
|
// if ("003".equals(goodsNotiInfo.getNiItemCd())) { // 색상
|
|
|
// if (!StringUtils.isEmpty(goods.getColorNm())) {
|
|
// if (!StringUtils.isEmpty(goods.getColorNm())) {
|
|
|
// goodsNotiInfo.setNiContent(goods.getColorNm());
|
|
// goodsNotiInfo.setNiContent(goods.getColorNm());
|
|
@@ -1137,81 +1131,82 @@ public class TssGoodsService {
|
|
|
// if (!StringUtils.isEmpty(goods.getSizeName())) {
|
|
// if (!StringUtils.isEmpty(goods.getSizeName())) {
|
|
|
// goodsNotiInfo.setNiContent(goods.getSizeName());
|
|
// goodsNotiInfo.setNiContent(goods.getSizeName());
|
|
|
// }
|
|
// }
|
|
|
- if ("006".equals(goodsNotiInfo.getNiItemCd())) { //제조국
|
|
|
|
|
- if (!StringUtils.isEmpty(goods.getOriginNm())) {
|
|
|
|
|
- goodsNotiInfo.setNiContent(goods.getOriginNm());
|
|
|
|
|
- }
|
|
|
|
|
- } else if ("009".equals(goodsNotiInfo.getNiItemCd())) { //제조년월
|
|
|
|
|
- if (!StringUtils.isEmpty(goods.getMakeYmd())) {
|
|
|
|
|
- goodsNotiInfo.setNiContent(goods.getMakeYmd());
|
|
|
|
|
- }
|
|
|
|
|
- } else if ("097".equals(goodsNotiInfo.getNiItemCd())) { //수입여부
|
|
|
|
|
- if (!StringUtils.isEmpty(goods.getOriginNm()) &&
|
|
|
|
|
- (goods.getOriginNm().indexOf("대한민국") >= 0 || goods.getOriginNm().indexOf("한국") >= 0 || goods.getOriginNm().toUpperCase().indexOf("KOREA") >= 0)) {
|
|
|
|
|
- goodsNotiInfo.setNiContent("N");
|
|
|
|
|
- } else {
|
|
|
|
|
- goodsNotiInfo.setNiContent("Y");
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ if ("006".equals(goodsNotiInfo.getNiItemCd())) { //제조국
|
|
|
|
|
+ if (!StringUtils.isEmpty(goods.getOriginNm())) {
|
|
|
|
|
+ goodsNotiInfo.setNiContent(goods.getOriginNm());
|
|
|
|
|
+ }
|
|
|
|
|
+ } else if ("009".equals(goodsNotiInfo.getNiItemCd())) { //제조년월
|
|
|
|
|
+ if (!StringUtils.isEmpty(goods.getMakeYmd())) {
|
|
|
|
|
+ goodsNotiInfo.setNiContent(goods.getMakeYmd());
|
|
|
|
|
+ }
|
|
|
|
|
+ } else if ("097".equals(goodsNotiInfo.getNiItemCd())) { //수입여부
|
|
|
|
|
+ if (!StringUtils.isEmpty(goods.getOriginNm()) &&
|
|
|
|
|
+ (goods.getOriginNm().indexOf("대한민국") >= 0 || goods.getOriginNm().indexOf("한국") >= 0 || goods.getOriginNm().toUpperCase().indexOf("KOREA") >= 0)) {
|
|
|
|
|
+ goodsNotiInfo.setNiContent("N");
|
|
|
|
|
+ } else {
|
|
|
|
|
+ goodsNotiInfo.setNiContent("Y");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- //고시항목 필수값 확인
|
|
|
|
|
- goods = this.getGoodsNotiCheck(goods, goodsNotiList, gagaMap, procJob);
|
|
|
|
|
|
|
+ //고시항목 필수값 확인
|
|
|
|
|
+ goods = this.getGoodsNotiCheck(goods, goodsNotiList, gagaMap, procJob);
|
|
|
|
|
|
|
|
- if ("10".equals(goods.getGoodsStat())) { // 정보 오류
|
|
|
|
|
- this.setGoodsRegResult(goods, goodsMass, procJob);
|
|
|
|
|
- continue;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ if ("10".equals(goods.getGoodsStat())) { // 정보 오류
|
|
|
|
|
+ this.setGoodsRegResult(goods, goodsMass, procJob);
|
|
|
|
|
+ return goods.getGoodsStat();
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- // 할인율
|
|
|
|
|
- goods.setDcRate((int)(this.getDcRate(goods.getListPrice(), goods.getCurrPrice())));
|
|
|
|
|
|
|
+ // 할인율
|
|
|
|
|
+ goods.setDcRate((int)(this.getDcRate(goods.getListPrice(), goods.getCurrPrice())));
|
|
|
|
|
|
|
|
- goodsDao.createGoods(goods); // 상품기본 저장
|
|
|
|
|
- goodsDao.createGoodsSmmary(goods); // 상품통계 생성
|
|
|
|
|
|
|
+ goodsDao.createGoods(goods); // 상품기본 저장
|
|
|
|
|
+ goodsDao.createGoodsSmmary(goods); // 상품통계 생성
|
|
|
|
|
|
|
|
- WmsGoods wmsGoods = new WmsGoods();
|
|
|
|
|
- wmsGoods.setUpdNo(TssSession.getInfo().getUserNo());
|
|
|
|
|
- wmsGoods.setGoodsRegGb("G"); // G: 상품, F: 사은품
|
|
|
|
|
- wmsGoods.setProductNo(goods.getProductNo());
|
|
|
|
|
- goodsDao.saveGoodsWmsIncomelot(wmsGoods); // wms 상품 상품등록일 변경
|
|
|
|
|
|
|
+ WmsGoods wmsGoods = new WmsGoods();
|
|
|
|
|
+ wmsGoods.setUpdNo(TssSession.getInfo().getUserNo());
|
|
|
|
|
+ wmsGoods.setGoodsRegGb("G"); // G: 상품, F: 사은품
|
|
|
|
|
+ wmsGoods.setProductNo(goods.getProductNo());
|
|
|
|
|
+ goodsDao.saveGoodsWmsIncomelot(wmsGoods); // wms 상품 상품등록일 변경
|
|
|
|
|
|
|
|
- goodsMass.setGoodsCd(goods.getGoodsCd());
|
|
|
|
|
|
|
+ goodsMass.setGoodsCd(goods.getGoodsCd());
|
|
|
|
|
|
|
|
- this.createGoodsNoti(gagaMap, goodsNotiList); // 상품고시정보 저장
|
|
|
|
|
|
|
+ this.createGoodsNoti(gagaMap, goodsNotiList); // 상품고시정보 저장
|
|
|
|
|
|
|
|
- Collection<Option> goodsWmsSizeList = new ArrayList<>();
|
|
|
|
|
- // 상품사이즈 정보 -- 재고 정보연동 해야함
|
|
|
|
|
- goodsWmsSizeList = goodsDao.getGoodsWmsSizeList(goods);
|
|
|
|
|
- if (goodsWmsSizeList == null || goodsWmsSizeList.isEmpty()) {
|
|
|
|
|
- goods.setGoodsRegMsg("WMS 상품 사이즈 정보 없음");
|
|
|
|
|
- goods.setGoodsStat("G008_20");
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ Collection<Option> goodsWmsSizeList = new ArrayList<>();
|
|
|
|
|
+ // 상품사이즈 정보 -- 재고 정보연동 해야함
|
|
|
|
|
+ goodsWmsSizeList = goodsDao.getGoodsWmsSizeList(goods);
|
|
|
|
|
+ if (goodsWmsSizeList == null || goodsWmsSizeList.isEmpty()) {
|
|
|
|
|
+ goods.setGoodsRegMsg("WMS 상품 사이즈 정보 없음");
|
|
|
|
|
+ goods.setGoodsStat("G008_20");
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- this.createSelfGoodsSize(goods, goodsWmsSizeList); // 자사 상품사이즈 정보 자장
|
|
|
|
|
|
|
+ this.createSelfGoodsSize(goods, goodsWmsSizeList); // 자사 상품사이즈 정보 자장
|
|
|
|
|
|
|
|
- // 사용자 검색어를 검색어에 적용
|
|
|
|
|
- String goodsSnm = goodsDao.getGoodsSnm(goods.getGoodsCd());
|
|
|
|
|
- if (!StringUtils.isEmpty(goods.getGoodsSnm1())) {
|
|
|
|
|
- String[] arrGoodsSnm = goods.getGoodsSnm1().split(";");
|
|
|
|
|
- StringBuilder tempGoodsSnm = new StringBuilder();
|
|
|
|
|
- for (String loopGoodsSnm : arrGoodsSnm) {
|
|
|
|
|
- if (goodsSnm.toUpperCase().indexOf(loopGoodsSnm.toUpperCase()) <= -1) {
|
|
|
|
|
- tempGoodsSnm.append(loopGoodsSnm).append(";");
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ // 사용자 검색어를 검색어에 적용
|
|
|
|
|
+ String goodsSnm = goodsDao.getGoodsSnm(goods.getGoodsCd());
|
|
|
|
|
+ if (!StringUtils.isEmpty(goods.getGoodsSnm1())) {
|
|
|
|
|
+ String[] arrGoodsSnm = goods.getGoodsSnm1().split(";");
|
|
|
|
|
+ StringBuilder tempGoodsSnm = new StringBuilder();
|
|
|
|
|
+ for (String loopGoodsSnm : arrGoodsSnm) {
|
|
|
|
|
+ if (goodsSnm.toUpperCase().indexOf(loopGoodsSnm.toUpperCase()) <= -1) {
|
|
|
|
|
+ tempGoodsSnm.append(loopGoodsSnm).append(";");
|
|
|
}
|
|
}
|
|
|
- goods.setGoodsSnm(tempGoodsSnm.toString() + goodsSnm);
|
|
|
|
|
-
|
|
|
|
|
- } else if (!goodsSnm.equals(goods.getGoodsSnm())) {
|
|
|
|
|
- goods.setGoodsSnm(goodsSnm);
|
|
|
|
|
}
|
|
}
|
|
|
|
|
+ goods.setGoodsSnm(tempGoodsSnm.toString() + goodsSnm);
|
|
|
|
|
|
|
|
- goodsDao.updateGoodsSnm(goods);
|
|
|
|
|
|
|
+ } else if (!goodsSnm.equals(goods.getGoodsSnm())) {
|
|
|
|
|
+ goods.setGoodsSnm(goodsSnm);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- goodsDao.createCategoryGoods(goods);
|
|
|
|
|
|
|
+ goodsDao.updateGoodsSnm(goods);
|
|
|
|
|
|
|
|
- this.setGoodsRegResult(goods, goodsMass, procJob);
|
|
|
|
|
|
|
+ goodsDao.createCategoryGoods(goods);
|
|
|
|
|
+
|
|
|
|
|
+ this.setGoodsRegResult(goods, goodsMass, procJob);
|
|
|
|
|
+
|
|
|
|
|
+ return goods.getGoodsStat();
|
|
|
|
|
|
|
|
- }
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|