瀏覽代碼

재고쪽 작업

dwkim 2 年之前
父節點
當前提交
e5c4a78188

+ 4 - 0
src/main/java/com/oqpo/api/entity/stockmng/StckMgntBaseInfoEntity.java

@@ -63,5 +63,9 @@ public class StckMgntBaseInfoEntity implements Serializable {
63 63
     @ApiModelProperty(value = "출고가능수량")
64 64
     private Integer whsPassQty;
65 65
 
66
+    @ApiModelProperty(value = "엑셀실사수량")
67
+    private String  excelQty;
68
+
69
+
66 70
 
67 71
 }

+ 2 - 0
src/main/java/com/oqpo/api/mapper/stockmng/StockMngMapper.java

@@ -76,4 +76,6 @@ public interface StockMngMapper {
76 76
 
77 77
 
78 78
     int insertInOutStckMgntBaseInfo(@Param("userId") String userId, List<StckMgntBaseInfoEntity> gridUpdateData) throws Exception;
79
+
80
+    List<StckMgntBaseInfoEntity> selectWhsLocationItemList(@Param("brandId") String brandId, @Param("whsId") String whsId, @Param("location") String location) throws Exception;
79 81
 }

+ 19 - 0
src/main/java/com/oqpo/api/service/stockmng/StockMngService.java

@@ -257,4 +257,23 @@ public class StockMngService extends CommonService {
257 257
         return BarcodeWhsItemInfoResponse.toDTO(entity);
258 258
     }
259 259
 
260
+    /* 창고 품목 정보 조회 */
261
+    public GridResponse selectWhsLocationItemList(String brandId, String whsId, String location, GridRequest gridRequest) throws Exception {
262
+        int gridPage = gridRequest.getGridPage();
263
+        int gridSize = gridRequest.getGridSize();
264
+
265
+        List<StckMgntBaseInfoEntity> entities = stockMngMapper.selectWhsLocationItemList(brandId, whsId, location);
266
+        int gridRecords = entities.size();
267
+        int gridTotal = fnCalculateGridTotal(gridSize, gridRecords);
268
+
269
+        List<Object> gridRows = entities.stream()
270
+                .map(m -> WhsItemInfoResponse.builder()
271
+                        .itemId(m.getItemId())
272
+                        .itemNm(m.getItemNm())
273
+                        .excelQty(m.getExcelQty())
274
+                        .build())
275
+                .collect(Collectors.toList());
276
+        return GridResponse.toDTO(gridPage, gridTotal, gridRecords, gridRows);
277
+    }
278
+
260 279
 }

+ 12 - 0
src/main/java/com/oqpo/api/web/controller/stockmng/StockMngController.java

@@ -8,6 +8,7 @@ import com.oqpo.api.web.dto.response.SaveResponse;
8 8
 import com.oqpo.api.web.dto.response.stockmng.BarcodeWhsItemInfoResponse;
9 9
 import com.oqpo.api.web.dto.response.stockmng.StockMngInfoResponse;
10 10
 import com.oqpo.api.web.dto.response.stockmng.StockMngPassqtyListResponse;
11
+import com.oqpo.api.web.dto.response.stockmng.WhsItemInfoResponse;
11 12
 import io.swagger.annotations.Api;
12 13
 import io.swagger.annotations.ApiImplicitParam;
13 14
 import io.swagger.annotations.ApiImplicitParams;
@@ -185,4 +186,15 @@ public class StockMngController {
185 186
         return ResponseEntity.ok(stockMngService.selectBarcodeWhsItemMngInfo(sBrandId, sWhsId, sLocation, sBarcode));
186 187
     }
187 188
 
189
+
190
+    @ApiImplicitParams({
191
+            @ApiImplicitParam(name = "X-AUTH-TOKEN", value = "CONN-KEY", required = true, dataType = "String", paramType = "header")
192
+    })
193
+    @ApiOperation(value = "창고 재고 품목 정보조회")
194
+    @PostMapping("/info-whs-item")
195
+    public ResponseEntity<GridResponse> selectWhsLocationItemList(@RequestBody @Valid WhsLocationItemListRequest whsLocationItemListRequest) throws Exception {
196
+        return ResponseEntity.ok(stockMngService.selectWhsLocationItemList(whsLocationItemListRequest.getBrandId(), whsLocationItemListRequest.getWhsId(), whsLocationItemListRequest.getLocation(), whsLocationItemListRequest.toDTO(whsLocationItemListRequest)));
197
+    }
198
+
199
+
188 200
 }

+ 28 - 0
src/main/java/com/oqpo/api/web/dto/request/stockmng/WhsLocationItemListRequest.java

@@ -0,0 +1,28 @@
1
+package com.oqpo.api.web.dto.request.stockmng;
2
+
3
+import com.oqpo.api.web.dto.request.GridRequest;
4
+import io.swagger.annotations.ApiModelProperty;
5
+import lombok.Getter;
6
+import lombok.Setter;
7
+
8
+import javax.validation.constraints.NotBlank;
9
+
10
+@Getter
11
+@Setter
12
+public class WhsLocationItemListRequest  extends GridRequest {
13
+    @NotBlank
14
+    @ApiModelProperty(value = "브랜드아이디")
15
+    private String brandId;
16
+
17
+    @NotBlank
18
+    @ApiModelProperty(value = "창고아이디")
19
+    private String whsId;
20
+
21
+    @NotBlank
22
+    @ApiModelProperty(value = "LOCATION")
23
+    private String location;
24
+
25
+    protected WhsLocationItemListRequest(Integer gridSize, Integer gridPage, String sidx, String sord, Boolean pagingYn, Integer gridFirst) {
26
+        super(gridSize, gridPage, sidx, sord, pagingYn, gridFirst);
27
+    }
28
+}

+ 30 - 0
src/main/java/com/oqpo/api/web/dto/response/stockmng/WhsItemInfoResponse.java

@@ -0,0 +1,30 @@
1
+package com.oqpo.api.web.dto.response.stockmng;
2
+
3
+import com.fasterxml.jackson.annotation.JsonInclude;
4
+import com.oqpo.api.entity.stockmng.StckMgntBaseInfoEntity;
5
+import io.swagger.annotations.ApiModelProperty;
6
+import lombok.*;
7
+
8
+@Getter
9
+@Setter
10
+@Builder
11
+@AllArgsConstructor(access = AccessLevel.PROTECTED)
12
+@JsonInclude(JsonInclude.Include.ALWAYS)
13
+public class WhsItemInfoResponse {
14
+
15
+    @ApiModelProperty(value = "품목아이디")
16
+    private String itemId;
17
+    @ApiModelProperty(value = "품목명")
18
+    private String itemNm;
19
+    @ApiModelProperty(value = "실사수량")
20
+    private String excelQty;
21
+
22
+    public static WhsItemInfoResponse toDTO(StckMgntBaseInfoEntity entity) {
23
+        if (entity == null) return null;
24
+        return WhsItemInfoResponse.builder()
25
+                .itemId(entity.getItemId())
26
+                .itemNm(entity.getItemNm())
27
+                .excelQty(entity.getExcelQty())
28
+                .build();
29
+    }
30
+}

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

@@ -185,7 +185,7 @@
185 185
              , item.oq_menu_cd, item.oq_brand_id, item.barcode
186 186
         from item_base_info item
187 187
         left outer join item_class_ptcl iclas on item.ITEM_ID = iclas.ITEM_ID
188
-        join item_class_mgnt mclas on iclas.item_class_mgnt_no = mclas.item_class_mgnt_no
188
+        left outer join item_class_mgnt mclas on iclas.item_class_mgnt_no = mclas.item_class_mgnt_no
189 189
         where item.brand_id            =  #{brandId}
190 190
         and   item.item_id 				 =  #{itemId}
191 191
     </select>

+ 2 - 1
src/main/resources/mybatis/sqlmaps/stinfo/StoreItemUnit.xml

@@ -124,7 +124,7 @@
124 124
                                   and unit.cont_stt_dt = #{contSttDt} and unit.cont_end_dt = #{contEndDt}
125 125
                 left outer join store_base_info store on unit.store_id = store.store_id and store.store_id = #{storeId}
126 126
                 where item.brand_id = #{brandId}
127
-                order by view_cd
127
+                order by view_cd, item.item_id, item.unit_amt
128 128
     </select>
129 129
 
130 130
     <select id="selectStoreItemUnitContDateInfo" resultType="String">
@@ -235,6 +235,7 @@
235 235
                  spply_id, fn_spply_nm(spply_id) as spply_nm
236 236
          from   brand_item_unit_info item
237 237
          where  item.brand_id = #{brandId}
238
+         order by item.item_id, item.unit_amt
238 239
     </select>
239 240
 
240 241
     <select id="selectStoreItemUnitEndDtInfo" resultType="String">

+ 9 - 0
src/main/resources/mybatis/sqlmaps/stockmng/StockMng.xml

@@ -447,4 +447,13 @@
447 447
             sys_chg_dttm = NOW(),
448 448
             sys_chg_id = #{userId}
449 449
     </insert>
450
+
451
+    <select id="selectWhsLocationItemList" resultType="com.oqpo.api.entity.stockmng.StckMgntBaseInfoEntity">
452
+        select stck.item_id, item.item_nm, '' as excelQty
453
+        from stck_mgnt_base_info  stck
454
+        join item_base_info item on stck.brand_id = item.brand_id and stck.item_id = item.item_id
455
+        where stck.brand_id = #{brandId}
456
+        and   stck.whs_id = #{whsId}
457
+        and   stck.location = #{location}
458
+    </select>
450 459
 </mapper>