|
@@ -7,17 +7,12 @@ import com.oqpo.api.client.oqlink.dto.OqScmMenuRegReqModel;
|
7
|
7
|
import com.oqpo.api.client.oqlink.dto.OqScmMenuRegResModel;
|
8
|
8
|
import com.oqpo.api.client.oqlink.util.HmacUtil;
|
9
|
9
|
import com.oqpo.api.constant.ApiConstants;
|
10
|
|
-import com.oqpo.api.entity.CodeEntity;
|
11
|
10
|
import com.oqpo.api.entity.oper.FileEntity;
|
12
|
|
-import com.oqpo.api.entity.oper.UserMngEntity;
|
13
|
|
-import com.oqpo.api.entity.pomng.PchWishListItemEntity;
|
14
|
11
|
import com.oqpo.api.entity.stinfo.*;
|
15
|
|
-import com.oqpo.api.entity.stockmng.StckMgntBaseInfoEntity;
|
16
|
12
|
import com.oqpo.api.entity.stockmng.WhsMgntBaseInfoEntity;
|
17
|
13
|
import com.oqpo.api.enums.*;
|
18
|
14
|
import com.oqpo.api.exception.GlobalException;
|
19
|
15
|
import com.oqpo.api.mapper.FileMapper;
|
20
|
|
-import com.oqpo.api.mapper.oper.UserMngMapper;
|
21
|
16
|
import com.oqpo.api.mapper.stinfo.BrandMapper;
|
22
|
17
|
import com.oqpo.api.mapper.stinfo.ItemMapper;
|
23
|
18
|
import com.oqpo.api.mapper.stinfo.ItemUnitMapper;
|
|
@@ -26,24 +21,13 @@ import com.oqpo.api.service.CommonService;
|
26
|
21
|
import com.oqpo.api.service.SessionService;
|
27
|
22
|
import com.oqpo.api.util.StringUtil;
|
28
|
23
|
import com.oqpo.api.web.dto.request.GridRequest;
|
29
|
|
-import com.oqpo.api.web.dto.request.stinfo.brand.SaveBrandInfolRequest;
|
30
|
24
|
import com.oqpo.api.web.dto.request.stinfo.item.*;
|
31
|
25
|
import com.oqpo.api.web.dto.response.GridResponse;
|
32
|
|
-import com.oqpo.api.web.dto.response.SelectResponse;
|
33
|
|
-import com.oqpo.api.web.dto.response.code.CodeDtlResponse;
|
34
|
|
-import com.oqpo.api.web.dto.response.code.CodeSearchListResponse;
|
35
|
|
-import com.oqpo.api.web.dto.response.pomng.pchReq.PchWishListItem;
|
36
|
|
-import com.oqpo.api.web.dto.response.stinfo.brand.AfflBrandSearchResponse;
|
37
|
|
-import com.oqpo.api.web.dto.response.stinfo.brand.BrandInfoResponse;
|
38
|
|
-import com.oqpo.api.web.dto.response.stinfo.brand.BrandSearchListResponse;
|
39
|
|
-import com.oqpo.api.web.dto.response.stinfo.brand.BrandSearchResponse;
|
40
|
26
|
import com.oqpo.api.web.dto.response.stinfo.item.*;
|
41
|
27
|
import com.oqpo.api.web.dto.response.stinfo.itemUnit.StroeWhsListResponse;
|
42
|
28
|
import com.oqpo.api.web.dto.response.stinfo.itemUnit.StroeWishListResponse;
|
43
|
|
-import com.oqpo.api.web.dto.response.stockmng.BarcodeWhsItemInfoResponse;
|
44
|
29
|
import lombok.extern.slf4j.Slf4j;
|
45
|
30
|
import org.springframework.beans.factory.annotation.Autowired;
|
46
|
|
-import org.springframework.security.crypto.password.PasswordEncoder;
|
47
|
31
|
import org.springframework.stereotype.Service;
|
48
|
32
|
import org.springframework.transaction.annotation.Transactional;
|
49
|
33
|
|
|
@@ -54,16 +38,19 @@ import java.util.stream.Collectors;
|
54
|
38
|
@Service
|
55
|
39
|
@Slf4j
|
56
|
40
|
public class ItemService extends CommonService {
|
|
41
|
+
|
57
|
42
|
@Autowired
|
58
|
43
|
private ItemMapper itemMapper;
|
59
|
44
|
|
|
45
|
+ @Autowired
|
|
46
|
+ private BrandMapper brandMapper;
|
|
47
|
+
|
60
|
48
|
@Autowired
|
61
|
49
|
private ItemUnitMapper itemUnitMapper;
|
62
|
50
|
|
63
|
51
|
@Autowired
|
64
|
52
|
private WhsMngMapper whsMngMapper;
|
65
|
53
|
|
66
|
|
-
|
67
|
54
|
@Autowired
|
68
|
55
|
private FileMapper fileMapper;
|
69
|
56
|
|
|
@@ -264,16 +251,7 @@ public class ItemService extends CommonService {
|
264
|
251
|
|
265
|
252
|
// 품목 class 정보 등록
|
266
|
253
|
if (!"".toString().equals(saveItemInfolRequest.getItemClass1())) {
|
267
|
|
- ItemClassEntity iClassEntity = new ItemClassEntity();
|
268
|
|
- iClassEntity.setItemId(entity.getItemId());
|
269
|
|
- iClassEntity.setItemNm(entity.getItemNm());
|
270
|
|
- iClassEntity.setItemClass1(saveItemInfolRequest.getItemClass1());
|
271
|
|
- iClassEntity.setItemClass2(saveItemInfolRequest.getItemClass2());
|
272
|
|
- iClassEntity.setItemClass3(saveItemInfolRequest.getItemClass3());
|
273
|
|
- iClassEntity.setItemClass4(saveItemInfolRequest.getItemClass4());
|
274
|
|
- ItemClassMngEntity itemClassInfo = itemMapper.selectItemClassMngNo(entity.getBrandId(), iClassEntity.getItemClass1(), iClassEntity.getItemClass2(), iClassEntity.getItemClass3(), iClassEntity.getItemClass4());
|
275
|
|
- iClassEntity.setItemClassMgntNo(itemClassInfo.getItemClassMgntNo());
|
276
|
|
-
|
|
254
|
+ ItemClassEntity iClassEntity = toItemClassEntity(saveItemInfolRequest, entity);
|
277
|
255
|
itemMapper.insertItemClassInfo(userId, iClassEntity);
|
278
|
256
|
}
|
279
|
257
|
|
|
@@ -301,8 +279,12 @@ public class ItemService extends CommonService {
|
301
|
279
|
res = oqlinkClient.changeScmMenu(HmacUtil.makeHmacValue4OqLink(req), req);
|
302
|
280
|
}
|
303
|
281
|
if (SystemMessageCode.BO_IF_OK.getId() == Integer.parseInt(res.getCode())) {
|
304
|
|
- // TODO 오더퀸 메뉴코드 업데이트
|
305
|
|
-
|
|
282
|
+ // 오더퀸 메뉴코드 업데이트
|
|
283
|
+ ItemEntity itemEntity = null;
|
|
284
|
+ for (OqScmMenuModel item : res.getMenuList()) {
|
|
285
|
+ itemEntity = toItemEntity4OqLink(item);
|
|
286
|
+ itemMapper.updateItemInfo4OqLinik(userId, itemEntity);
|
|
287
|
+ }
|
306
|
288
|
} else {
|
307
|
289
|
throw new GlobalException(SystemMessageCode.valueOf(Integer.valueOf(res.getCode())));
|
308
|
290
|
}
|
|
@@ -316,6 +298,26 @@ public class ItemService extends CommonService {
|
316
|
298
|
}
|
317
|
299
|
}
|
318
|
300
|
|
|
301
|
+ private ItemClassEntity toItemClassEntity(SaveItemInfolRequest saveItemInfolRequest, ItemEntity entity) throws Exception {
|
|
302
|
+ ItemClassEntity iClassEntity = new ItemClassEntity();
|
|
303
|
+ iClassEntity.setItemId(entity.getItemId());
|
|
304
|
+ iClassEntity.setItemNm(entity.getItemNm());
|
|
305
|
+ iClassEntity.setItemClass1(saveItemInfolRequest.getItemClass1());
|
|
306
|
+ iClassEntity.setItemClass2(saveItemInfolRequest.getItemClass2());
|
|
307
|
+ iClassEntity.setItemClass3(saveItemInfolRequest.getItemClass3());
|
|
308
|
+ iClassEntity.setItemClass4(saveItemInfolRequest.getItemClass4());
|
|
309
|
+ ItemClassMngEntity itemClassInfo = itemMapper.selectItemClassMngNo(entity.getBrandId(), iClassEntity.getItemClass1(), iClassEntity.getItemClass2(), iClassEntity.getItemClass3(), iClassEntity.getItemClass4());
|
|
310
|
+ iClassEntity.setItemClassMgntNo(itemClassInfo.getItemClassMgntNo());
|
|
311
|
+ return iClassEntity;
|
|
312
|
+ }
|
|
313
|
+
|
|
314
|
+ private ItemEntity toItemEntity4OqLink(OqScmMenuModel item) {
|
|
315
|
+ ItemEntity itemEntity = new ItemEntity();
|
|
316
|
+ itemEntity.setItemId(item.getItemId());
|
|
317
|
+ itemEntity.setOqMenuCd(item.getMenuCd());
|
|
318
|
+ return itemEntity;
|
|
319
|
+ }
|
|
320
|
+
|
319
|
321
|
private ItemEntity toItemEntity(SaveItemInfolRequest saveItemInfolRequest) {
|
320
|
322
|
ItemEntity entity = new ItemEntity();
|
321
|
323
|
entity.setBrandId(saveItemInfolRequest.getBrandId());
|
|
@@ -360,16 +362,41 @@ public class ItemService extends CommonService {
|
360
|
362
|
try {
|
361
|
363
|
List<SaveItemListData> list = saveItemListRequest.getList();
|
362
|
364
|
for (SaveItemListData item : list) {
|
363
|
|
- ItemEntity entity = toItemEntity(userId, saveItemListRequest, item);
|
364
|
|
-
|
365
|
365
|
// 품목 아이디 부여 22 entity.setContentsNo(fnGetKeyNo(17));
|
366
|
366
|
// entity.setItemId(fnGetDealNo(26, "")); // 품목아이디 생성
|
367
|
|
- entity.setItemId(sessionService.getKeyInfo("It").getKeyData()); // 품목아이디 생성
|
|
367
|
+ item.setItemId(sessionService.getKeyInfo("It").getKeyData()); // 품목아이디 생성
|
|
368
|
+ ItemEntity entity = toItemEntity(userId, saveItemListRequest, item);
|
368
|
369
|
itemMapper.insertItemInfo(userId, entity);
|
369
|
370
|
}
|
370
|
371
|
|
371
|
|
- // TODO 오더퀸 연동 - 오더퀸연동 정보가 없어 진행불가
|
|
372
|
+ // 오더퀸 연동
|
|
373
|
+ BrandEntity brandEntity = brandMapper.selectBrandInfo(saveItemListRequest.getBrandId());
|
|
374
|
+ if (!StringUtil.isEmpty(brandEntity.getOqBrandId())) {
|
|
375
|
+ List<OqScmMenuModel> menuList = new ArrayList<>();
|
|
376
|
+ for (SaveItemListData item : list) {
|
|
377
|
+ OqScmMenuModel menu = new OqScmMenuModel();
|
|
378
|
+ menu.setItemId(item.getItemId()); // 품목아이디
|
|
379
|
+ menu.setItemNm(item.getItemNm()); // 품목명
|
|
380
|
+ menu.setBarcodeNo(item.getBarcode()); // 바코드번호
|
|
381
|
+ menuList.add(menu);
|
|
382
|
+ }
|
|
383
|
+
|
|
384
|
+ OqScmMenuRegReqModel req = new OqScmMenuRegReqModel();
|
|
385
|
+ req.setBrandCd(brandEntity.getOqBrandId());
|
|
386
|
+ req.setMenuList(menuList);
|
|
387
|
+ OqScmMenuRegResModel res = oqlinkClient.regScmMenu(HmacUtil.makeHmacValue4OqLink(req), req);
|
372
|
388
|
|
|
389
|
+ if (SystemMessageCode.BO_IF_OK.getId() == Integer.parseInt(res.getCode())) {
|
|
390
|
+ // 오더퀸 메뉴코드 업데이트
|
|
391
|
+ ItemEntity itemEntity = null;
|
|
392
|
+ for (OqScmMenuModel item : res.getMenuList()) {
|
|
393
|
+ itemEntity = toItemEntity4OqLink(item);
|
|
394
|
+ itemMapper.updateItemInfo4OqLinik(userId, itemEntity);
|
|
395
|
+ }
|
|
396
|
+ } else {
|
|
397
|
+ throw new GlobalException(SystemMessageCode.valueOf(Integer.valueOf(res.getCode())));
|
|
398
|
+ }
|
|
399
|
+ }
|
373
|
400
|
} catch (GlobalException e) {
|
374
|
401
|
e.getStackTrace();
|
375
|
402
|
throw new GlobalException(e.getSystemMessageCode());
|
|
@@ -381,6 +408,7 @@ public class ItemService extends CommonService {
|
381
|
408
|
|
382
|
409
|
private ItemEntity toItemEntity(String userId, SaveItemListRequest saveItemListRequest, SaveItemListData item) {
|
383
|
410
|
ItemEntity entity = new ItemEntity();
|
|
411
|
+ entity.setItemId(item.getItemId());
|
384
|
412
|
entity.setItemNm(item.getItemNm());
|
385
|
413
|
entity.setItemStCd("IS00"); // 사용
|
386
|
414
|
entity.setBrandId(saveItemListRequest.getBrandId());
|
|
@@ -653,7 +681,7 @@ public class ItemService extends CommonService {
|
653
|
681
|
return GridResponse.toDTO(gridPage, gridTotal, gridRecords, gridRows);
|
654
|
682
|
}
|
655
|
683
|
|
656
|
|
- public GridResponse selectPopWishListItem(String userId, String wishListMgntNo, String brandId, String storeId , GridRequest gridRequest) throws Exception {
|
|
684
|
+ public GridResponse selectPopWishListItem(String userId, String wishListMgntNo, String brandId, String storeId, GridRequest gridRequest) throws Exception {
|
657
|
685
|
|
658
|
686
|
int gridPage = gridRequest.getGridPage();
|
659
|
687
|
int gridSize = gridRequest.getGridSize();
|
|
@@ -661,7 +689,7 @@ public class ItemService extends CommonService {
|
661
|
689
|
int gridRecords = 0;
|
662
|
690
|
int gridTotal = 0;
|
663
|
691
|
|
664
|
|
- List<ItemUnitEntity> entities = itemUnitMapper.selectPopWishListItem( userId, wishListMgntNo, brandId, storeId );
|
|
692
|
+ List<ItemUnitEntity> entities = itemUnitMapper.selectPopWishListItem(userId, wishListMgntNo, brandId, storeId);
|
665
|
693
|
List<Object> gridRows = entities.stream().
|
666
|
694
|
map(m -> ItemPopSearchResponse.builder()
|
667
|
695
|
.viewCd("R")
|
|
@@ -680,7 +708,7 @@ public class ItemService extends CommonService {
|
680
|
708
|
.storeUnitUnqNo(m.getStoreUnitUnqNo() == null ? "" : m.getStoreUnitUnqNo())
|
681
|
709
|
.build())
|
682
|
710
|
.collect(Collectors.toList()
|
683
|
|
- );
|
|
711
|
+ );
|
684
|
712
|
return GridResponse.toDTO(gridPage, gridTotal, gridRecords, gridRows);
|
685
|
713
|
}
|
686
|
714
|
|