소스 검색

품목분류 level별 리스트 출력

dwkim 2 년 전
부모
커밋
e85efa3a37

+ 2 - 1
src/main/java/com/oqpo/api/entity/stinfo/ItemClassMngEntity.java

@@ -21,12 +21,13 @@ public class ItemClassMngEntity implements Serializable {
21 21
     private String itemClass4 ;
22 22
     private String itemClassNm ;
23 23
     private String delYn ;
24
+    private Integer itemLevel;
24 25
     private Integer prnSeq ;
25 26
     private String brandId ;
26 27
     private String sysRegDttm ;
27 28
     private String sysRegId ;
28 29
     private String sysChgDttm ;
29 30
     private String sysChgId ;
30
-    private String cLevel;
31
+    private String itemClass;
31 32
 
32 33
 }

+ 3 - 1
src/main/java/com/oqpo/api/mapper/stinfo/ItemMapper.java

@@ -40,6 +40,8 @@ public interface ItemMapper {
40 40
     int selectItemClassMngGridCnt(@Param("sBrandId") String sBrandId, @Param("sItemClass1") String sItemClass1, @Param("sItemClass2") String sItemClass2,  @Param("sItemClass3") String sItemClass3, @Param("sItemClass4") String sItemClass4,@Param("sItemClassNm") String sItemClassNm)throws Exception;
41 41
     ItemClassMngEntity selectItemClassMngInfo(@Param("brandId") String brandId, @Param("itemClassMgntNo") String itemClassMgntNo)throws Exception;
42 42
 
43
-    int selectItemClassMaxClass(@Param("sBrandId") String sBrandId, @Param("cLevel") String cLevel, @Param("sItemClass1") String sItemClass1, @Param("sItemClass2") String sItemClass2,  @Param("sItemClass3") String sItemClass3, @Param("sItemClass4") String sItemClass4);
43
+    int selectItemClassMaxClass(@Param("sBrandId") String sBrandId, @Param("itemLevel") Integer itemLevel, @Param("sItemClass1") String sItemClass1, @Param("sItemClass2") String sItemClass2,  @Param("sItemClass3") String sItemClass3, @Param("sItemClass4") String sItemClass4);
44
+
45
+    List<ItemClassMngEntity> selectItemLevelList(@Param("sBrandId") String sBrandId, @Param("sItemLevel") int sItemLevel, @Param("sItemClass1") String sItemClass1, @Param("sItemClass2") String sItemClass2,  @Param("sItemClass3") String sItemClass3)throws Exception;
44 46
 
45 47
 }

+ 22 - 12
src/main/java/com/oqpo/api/service/stinfo/ItemService.java

@@ -1,6 +1,7 @@
1 1
 package com.oqpo.api.service.stinfo;
2 2
 
3 3
 
4
+import com.oqpo.api.entity.CodeEntity;
4 5
 import com.oqpo.api.entity.oper.FileEntity;
5 6
 import com.oqpo.api.entity.oper.UserMngEntity;
6 7
 import com.oqpo.api.entity.stinfo.*;
@@ -17,6 +18,8 @@ import com.oqpo.api.web.dto.request.stinfo.item.DelItemInfolRequest;
17 18
 import com.oqpo.api.web.dto.request.stinfo.item.SaveItemClassMngInfolRequest;
18 19
 import com.oqpo.api.web.dto.request.stinfo.item.SaveItemInfolRequest;
19 20
 import com.oqpo.api.web.dto.response.GridResponse;
21
+import com.oqpo.api.web.dto.response.code.CodeDtlResponse;
22
+import com.oqpo.api.web.dto.response.code.CodeSearchListResponse;
20 23
 import com.oqpo.api.web.dto.response.stinfo.brand.AfflBrandSearchResponse;
21 24
 import com.oqpo.api.web.dto.response.stinfo.brand.BrandInfoResponse;
22 25
 import com.oqpo.api.web.dto.response.stinfo.brand.BrandSearchListResponse;
@@ -233,26 +236,26 @@ public class ItemService extends CommonService {
233 236
             entity.setPrnSeq(saveItemClassMngInfolRequest.getPrnSeq());
234 237
 
235 238
             if ("C".equals(saveItemClassMngInfolRequest.getViewCd())) {
236
-                String classLevel = "1";
239
+                Integer itemLevel = 1;
237 240
                 if ("".equals(entity.getItemClass1()))
238 241
                 {
239 242
                     // level 1 추가
240
-                    classLevel = "1";
243
+                    itemLevel = 1;
241 244
                 } else {
242 245
                     if ("".equals(entity.getItemClass2()))
243 246
                     {
244 247
                         // level 2 추가
245
-                        classLevel = "2";
248
+                        itemLevel = 2;
246 249
                     } else {
247 250
                         if ("".equals(entity.getItemClass3()))
248 251
                         {
249 252
                             // level 3 추가
250
-                            classLevel = "3";
253
+                            itemLevel = 3;
251 254
                         } else {
252 255
                             if ("".equals(entity.getItemClass4()))
253 256
                             {
254 257
                                 // level 4 추가
255
-                                classLevel = "4";
258
+                                itemLevel = 4;
256 259
                             } else {
257 260
                                 // 오류
258 261
                                 throw new GlobalException(SystemMessageCode.ERR_ITEMCLASS);
@@ -261,16 +264,16 @@ public class ItemService extends CommonService {
261 264
                     }
262 265
                 }
263 266
 
264
-                System.out.println("=classLevel============================>" + classLevel );
265
-                entity.setCLevel(classLevel);
266
-                int classNum = itemMapper.selectItemClassMaxClass(entity.getBrandId(), entity.getCLevel(), entity.getItemClass1(), entity.getItemClass2(), entity.getItemClass3(), entity.getItemClass4() ) ;
267
-                if ("1".equals(classLevel)) {
267
+                System.out.println("=classLevel============================>" + itemLevel );
268
+                entity.setItemLevel(itemLevel);
269
+                int classNum = itemMapper.selectItemClassMaxClass(entity.getBrandId(), entity.getItemLevel(), entity.getItemClass1(), entity.getItemClass2(), entity.getItemClass3(), entity.getItemClass4() ) ;
270
+                if (itemLevel == 1) {
268 271
                     entity.setItemClass1(Integer.toString(classNum));
269
-                } else if ("2".equals(classLevel)) {
272
+                } else if (itemLevel == 2) {
270 273
                     entity.setItemClass2(Integer.toString(classNum));
271
-                }  else if ("3".equals(classLevel)) {
274
+                }  else if (itemLevel == 3) {
272 275
                     entity.setItemClass3(Integer.toString(classNum));
273
-                }  else if ("4".equals(classLevel)) {
276
+                }  else if (itemLevel == 4) {
274 277
                     entity.setItemClass4(Integer.toString(classNum));
275 278
                 }
276 279
                 entity.setItemClassMgntNo(fnGetKeyNo(31));        // 품목분류 아이디 부여
@@ -306,4 +309,11 @@ public class ItemService extends CommonService {
306 309
             throw new RuntimeException();
307 310
         }
308 311
     }
312
+
313
+    /* 품목 분류 level 리스트  */
314
+
315
+    public ItemClassLevelResponse searchItemClassList(String sBrandId, int sItemLevel, String sItemClass1, String sItemClass2, String sItemClass3) throws Exception {
316
+        List<ItemClassMngEntity> entities = itemMapper.selectItemLevelList(sBrandId, sItemLevel, sItemClass1, sItemClass2, sItemClass3 );
317
+        return ItemClassLevelResponse.toDTO(entities);
318
+    }
309 319
 }

+ 32 - 2
src/main/java/com/oqpo/api/web/controller/stinfo/ItemController.java

@@ -9,6 +9,8 @@ import com.oqpo.api.web.dto.request.stinfo.spply.SpplyGridRequest;
9 9
 import com.oqpo.api.web.dto.request.stinfo.spply.SpplyPopGridRequest;
10 10
 import com.oqpo.api.web.dto.response.GridResponse;
11 11
 import com.oqpo.api.web.dto.response.SaveResponse;
12
+import com.oqpo.api.web.dto.response.code.CodeSearchListResponse;
13
+import com.oqpo.api.web.dto.response.stinfo.item.ItemClassLevelResponse;
12 14
 import com.oqpo.api.web.dto.response.stinfo.item.ItemClassMngInfoResponse;
13 15
 import com.oqpo.api.web.dto.response.stinfo.item.ItemInfoResponse;
14 16
 import com.oqpo.api.web.dto.response.stinfo.spply.SpplyInfoResponse;
@@ -124,7 +126,7 @@ public class ItemController {
124 126
 
125 127
     //selectItemClassMngInfo
126 128
     /**
127
-     * 설명 : 품목 정보
129
+     * 설명 : 품목분류 정보
128 130
      *
129 131
      * @param itemId
130 132
      * @return
@@ -143,7 +145,7 @@ public class ItemController {
143 145
 
144 146
 
145 147
     /**
146
-     * 설명 : 품목 정보 저장
148
+     * 설명 : 품목분류정보저장
147 149
      *
148 150
      * @param userId
149 151
      * @param saveItemClassMngInfolRequest
@@ -178,4 +180,32 @@ public class ItemController {
178 180
         itemService.delItemClassMngInfo(userId, delItemInfolRequest);
179 181
         return ResponseEntity.ok(SaveResponse.toDTO(SystemMessageCode.SAVE_OK));
180 182
     }
183
+
184
+
185
+    /**
186
+     * 설명 : 품목분류 레벨 검색
187
+     *
188
+     * @param sCodeNm
189
+     * @param sCodeTpCd
190
+     * @param sUseYn
191
+     * @return
192
+     * @throws Exception
193
+     */
194
+    @ApiImplicitParams({
195
+            @ApiImplicitParam(name = "X-AUTH-TOKEN", value = "CONN-KEY", required = true, dataType = "String", paramType = "header"),
196
+            @ApiImplicitParam(name = "sBrandId", value = "브랜드코드", required = true, dataType = "String", paramType = "query"),
197
+            @ApiImplicitParam(name = "sItemLevel", value = "출력level", required = true, dataType = "int", paramType = "query"),
198
+            @ApiImplicitParam(name = "sItemClass1", value = "품목분류level1 값", required = false, dataType = "String", paramType = "query"),
199
+            @ApiImplicitParam(name = "sItemClass2", value = "품목분류level2 값", required = false, dataType = "String", paramType = "query"),
200
+            @ApiImplicitParam(name = "sItemClass3", value = "품목분류level3 값", required = false, dataType = "String", paramType = "query")
201
+    })
202
+    @ApiOperation(value = "품목분류 level 검색")
203
+    @GetMapping("/class-level-list")
204
+    public ResponseEntity<ItemClassLevelResponse> searchCodeList(@RequestParam(value = "sBrandId", required = true) String sBrandId,
205
+                                                                 @RequestParam(value = "sItemLevel", required = true) int sItemLevel,
206
+                                                                 @RequestParam(value = "sItemClass1", required = false) String sItemClass1,
207
+                                                                 @RequestParam(value = "sItemClass2", required = false) String sItemClass2,
208
+                                                                 @RequestParam(value = "sItemClass3", required = false) String sItemClass3) throws Exception {
209
+        return ResponseEntity.ok(itemService.searchItemClassList(sBrandId, sItemLevel, sItemClass1, sItemClass2, sItemClass3));
210
+    }
181 211
 }

+ 45 - 0
src/main/java/com/oqpo/api/web/dto/response/stinfo/item/ItemClassLevelResponse.java

@@ -0,0 +1,45 @@
1
+package com.oqpo.api.web.dto.response.stinfo.item;
2
+
3
+import com.fasterxml.jackson.annotation.JsonInclude;
4
+import com.oqpo.api.entity.CodeEntity;
5
+import com.oqpo.api.entity.stinfo.ItemClassMngEntity;
6
+import com.oqpo.api.web.dto.response.code.CodeSearchListResponse;
7
+import io.swagger.annotations.ApiModelProperty;
8
+import lombok.*;
9
+
10
+import java.util.List;
11
+import java.util.stream.Collectors;
12
+
13
+@Getter
14
+@Setter
15
+@Builder
16
+@AllArgsConstructor(access = AccessLevel.PROTECTED)
17
+@JsonInclude(JsonInclude.Include.ALWAYS)
18
+public class ItemClassLevelResponse {
19
+    @ApiModelProperty(value = "분류리스트")
20
+    private List<ItemClassLevelResponse.SearchItemClass> searchList;
21
+
22
+    public static ItemClassLevelResponse toDTO(List<ItemClassMngEntity> entities) {
23
+        if (entities == null) return null;
24
+        return ItemClassLevelResponse.builder()
25
+                .searchList(entities.stream()
26
+                        .map(m -> SearchItemClass.builder()
27
+                                .itemClass(m.getItemClass())
28
+                                .itemClassNm(m.getItemClassNm())
29
+                                .build())
30
+                        .collect(Collectors.toList()))
31
+                .build();
32
+    }
33
+
34
+    @Getter
35
+    @Builder
36
+    @AllArgsConstructor(access = AccessLevel.PROTECTED)
37
+    static class SearchItemClass {
38
+        @ApiModelProperty(value = "분류코드")
39
+        private String itemClass;
40
+
41
+        @ApiModelProperty(value = "분류명")
42
+        private String itemClassNm;
43
+
44
+    }
45
+}

+ 28 - 5
src/main/resources/mybatis/sqlmaps/stinfo/Item.xml

@@ -307,10 +307,10 @@
307 307
 
308 308
     <insert id="insertItemClassMngInfo" >
309 309
         insert into item_class_mgnt
310
-        ( item_class_mgnt_no, item_class1, item_class2, item_class3, item_class4, item_class_nm
310
+        ( item_class_mgnt_no, item_class1, item_class2, item_class3, item_class4, item_class_nm, item_level
311 311
         , del_yn, prn_seq, brand_id, sys_reg_dttm, sys_reg_id, sys_chg_dttm, sys_chg_id
312 312
         ) values
313
-        ( #{entity.itemClassMgntNo}, #{entity.itemClass1}, #{entity.itemClass2}, #{entity.itemClass3}, #{entity.itemClass4}, #{entity.itemClassNm}
313
+        ( #{entity.itemClassMgntNo}, #{entity.itemClass1}, #{entity.itemClass2}, #{entity.itemClass3}, #{entity.itemClass4}, #{entity.itemClassNm}, #{entity.itemLevel}
314 314
         , 'N', #{entity.prnSeq}, #{entity.brandId}, now(), #{userId}, now(), #{userId})
315 315
     </insert>
316 316
 
@@ -422,9 +422,9 @@
422 422
 
423 423
     <select id="selectItemClassMaxClass" resultType="Integer">
424 424
             select
425
-                    max(case when #{cLevel} = '1' then cast(nvl(item_class1,0) as unsigned )
426
-                            when #{cLevel} = '2' then cast(nvl(item_class2,0) as unsigned )
427
-                            when #{cLevel} = '3' then cast(nvl(item_class3,0) as unsigned )
425
+                    max(case when #{itemLevel} = 1 then cast(nvl(item_class1,0) as unsigned )
426
+                            when #{itemLevel} = 2 then cast(nvl(item_class2,0) as unsigned )
427
+                            when #{itemLevel} = 3 then cast(nvl(item_class3,0) as unsigned )
428 428
                             else   cast(nvl(item_class4,0) as unsigned )  end ) + 10 as mno
429 429
             from item_class_mgnt
430 430
             where brand_id = #{sBrandId}
@@ -442,4 +442,27 @@
442 442
             </if>
443 443
     </select>
444 444
 
445
+    <select id="selectItemLevelList" resultType="com.oqpo.api.entity.stinfo.ItemClassMngEntity">
446
+        select case when item_level = 1 then item_class1
447
+                    when item_level = 2 then item_class2
448
+                    when item_level = 3 then item_class3
449
+                    when item_level = 4 then item_class4
450
+                    else "" end as item_class
451
+                , item_class_nm
452
+        from  item_class_mgnt
453
+        where brand_id = #{sBrandId}
454
+        and   del_yn = 'N'
455
+        and   item_level = #{sItemLevel}
456
+        <if test="sItemClass1 != null and sItemClass1 != ''">
457
+            and   item_class1 = #{sItemClass1}
458
+        </if>
459
+        <if test="sItemClass2 != null and sItemClass2 != ''">
460
+            and   item_class2 = #{sItemClass2}
461
+        </if>
462
+        <if test="sItemClass3 != null and sItemClass3 != ''">
463
+            and   item_class3 = #{sItemClass3}
464
+        </if>
465
+    </select>
466
+
467
+
445 468
 </mapper>