Browse Source

구매요청건 반려 목록 출력 및 품목분류 삭제건 수정조치

dwkim 2 years ago
parent
commit
e0e28639e1

+ 1 - 0
src/main/java/com/oqpo/api/mapper/pomng/PchReqMapper.java

@@ -39,4 +39,5 @@ public interface PchReqMapper {
39 39
     List<PchReqBaseInfoEntity> selectPchReqPoTargetGridList(@Param("sBrandId") String sBrandId, @Param("fromDt") String fromDt, @Param("toDt") String toDt, @Param("sSpplyId") String sSpplyId , @Param("sWhsId") String sWhsId , @Param("sItemNm") String sItemNm ,  GridRequest gridRequest)throws Exception;
40 40
     int selectPchReqPoTargetGridCnt(@Param("sBrandId") String sBrandId, @Param("fromDt") String fromDt, @Param("toDt") String toDt, @Param("sSpplyId") String sSpplyId , @Param("sWhsId") String sWhsId , @Param("sItemNm") String sItemNm )throws Exception;
41 41
 
42
+    List<PchReqDtlPtclEntity> selectPchRejectPrTargetList(@Param("pchReqUnqNo") String pchReqUnqNo) ;
42 43
 }

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

@@ -33,7 +33,7 @@ public interface ItemMapper {
33 33
 
34 34
     int insertItemClassMngInfo(@Param("userId") String userId, ItemClassMngEntity entity) throws Exception;
35 35
     int updateItemClassMngInfo(@Param("userId") String userId, ItemClassMngEntity entity) throws Exception;
36
-    int deleteItemClassMngInfo(@Param("userId") String userId, List<ItemClassMngEntity> gridDeleteData) throws Exception;
36
+    int deleteItemClassMngInfo(@Param("userId") String userId, @Param("itemClassMgntNo") String itemClassMgntNo ) throws Exception;
37 37
 
38 38
 
39 39
     List<ItemClassMngEntity> selectItemClassMngGridList(@Param("sBrandId") String sBrandId, @Param("sItemClass1") String sItemClass1, @Param("sItemClass2") String sItemClass2,  @Param("sItemClass3") String sItemClass3, @Param("sItemClass4") String sItemClass4,@Param("sItemClassNm") String sItemClassNm, GridRequest gridRequest)throws Exception;

+ 7 - 8
src/main/java/com/oqpo/api/service/pomng/PchReqService.java

@@ -2,11 +2,10 @@ package com.oqpo.api.service.pomng;
2 2
 
3 3
 
4 4
 import com.oqpo.api.entity.loanmng.LoanMgntBaseInfoEntity;
5
-import com.oqpo.api.entity.oper.AfflSaleInfoEntity;
6 5
 import com.oqpo.api.entity.oper.UserMngEntity;
7 6
 import com.oqpo.api.entity.pomng.PchReqBaseInfoEntity;
8 7
 import com.oqpo.api.entity.pomng.PchReqDtlPtclEntity;
9
-import com.oqpo.api.entity.stinfo.BrandEntity;
8
+import com.oqpo.api.entity.stinfo.ItemClassMngEntity;
10 9
 import com.oqpo.api.enums.SystemMessageCode;
11 10
 import com.oqpo.api.exception.GlobalException;
12 11
 import com.oqpo.api.mapper.loanmng.LoanStateMapper;
@@ -15,14 +14,10 @@ import com.oqpo.api.mapper.pomng.PchReqMapper;
15 14
 import com.oqpo.api.service.CommonService;
16 15
 import com.oqpo.api.util.DateUtil;
17 16
 import com.oqpo.api.web.dto.request.GridRequest;
17
+import com.oqpo.api.web.dto.request.pomng.pchReq.PchReqRejecctTargetInfoRequest;
18 18
 import com.oqpo.api.web.dto.request.pomng.pchReq.SavePchReqlRequest;
19
-import com.oqpo.api.web.dto.request.stinfo.brand.SaveBrandInfolRequest;
20 19
 import com.oqpo.api.web.dto.response.GridResponse;
21
-import com.oqpo.api.web.dto.response.pomng.pchReq.PchReqInfoResponse;
22
-import com.oqpo.api.web.dto.response.pomng.pchReq.PchReqInitInfoResponse;
23
-import com.oqpo.api.web.dto.response.pomng.pchReq.PchReqPoTargetSearchListResponse;
24
-import com.oqpo.api.web.dto.response.pomng.pchReq.PchReqSearchListResponse;
25
-import com.oqpo.api.web.dto.response.stinfo.brand.BrandInfoResponse;
20
+import com.oqpo.api.web.dto.response.pomng.pchReq.*;
26 21
 import lombok.extern.slf4j.Slf4j;
27 22
 import org.springframework.beans.factory.annotation.Autowired;
28 23
 import org.springframework.stereotype.Service;
@@ -250,4 +245,8 @@ public class PchReqService extends CommonService {
250 245
                 .collect(Collectors.toList());
251 246
         return GridResponse.toDTO(gridPage, gridTotal, gridRecords, gridRows);
252 247
     }
248
+
249
+    public PchReqRejectTargetResponse selectPchRejectPrTargetList(String pchReqUnqNo) throws Exception {
250
+        return PchReqRejectTargetResponse.toDTO(pchReqMapper.selectPchRejectPrTargetList(pchReqUnqNo));
251
+    }
253 252
 }

+ 2 - 6
src/main/java/com/oqpo/api/service/stinfo/ItemService.java

@@ -316,13 +316,9 @@ public class ItemService extends CommonService {
316 316
 
317 317
     /* 품목분류 삭제 */
318 318
     @Transactional
319
-    public void delItemClassMngInfo(String userId, DelItemInfolRequest delItemInfolRequest) throws Exception {
319
+    public void delItemClassMngInfo(String userId, String itemClassMgntNo) throws Exception {
320 320
         try {
321
-            List<ItemClassMngEntity> gridDeleteData = delItemInfolRequest.toCodeEntities(delItemInfolRequest.getGridDeleteData());
322
-            if (gridDeleteData.size() > 0) {
323
-                   itemMapper.deleteItemClassMngInfo(userId, gridDeleteData);
324
-            }
325
-
321
+                itemMapper.deleteItemClassMngInfo(userId, itemClassMgntNo);
326 322
         } catch (GlobalException e) {
327 323
             e.getStackTrace();
328 324
             throw new GlobalException(e.getSystemMessageCode());

+ 27 - 7
src/main/java/com/oqpo/api/web/controller/pomng/PchReqController.java

@@ -1,21 +1,18 @@
1 1
 package com.oqpo.api.web.controller.pomng;
2 2
 
3
-import com.oqpo.api.enums.DataMessageCode;
4 3
 import com.oqpo.api.enums.SystemMessageCode;
5
-import com.oqpo.api.service.oper.AfflService;
4
+import com.oqpo.api.exception.GlobalException;
6 5
 import com.oqpo.api.service.pomng.PchReqService;
7
-import com.oqpo.api.web.dto.request.oper.affl.AfflGridRequest;
8
-import com.oqpo.api.web.dto.request.oper.affl.AfflShopBaseInfoGridRequest;
9
-import com.oqpo.api.web.dto.request.oper.affl.SaveAfflRequest;
10 6
 import com.oqpo.api.web.dto.request.pomng.pchReq.PchReqPoTargetSearchGridRequest;
7
+import com.oqpo.api.web.dto.request.pomng.pchReq.PchReqRejecctTargetInfoRequest;
11 8
 import com.oqpo.api.web.dto.request.pomng.pchReq.PchReqSearchGridRequest;
12 9
 import com.oqpo.api.web.dto.request.pomng.pchReq.SavePchReqlRequest;
13
-import com.oqpo.api.web.dto.response.DataResponse;
10
+import com.oqpo.api.web.dto.request.stinfo.item.DelItemInfolRequest;
14 11
 import com.oqpo.api.web.dto.response.GridResponse;
15 12
 import com.oqpo.api.web.dto.response.SaveResponse;
16
-import com.oqpo.api.web.dto.response.oper.affl.AfflShopInfoResponse;
17 13
 import com.oqpo.api.web.dto.response.pomng.pchReq.PchReqInfoResponse;
18 14
 import com.oqpo.api.web.dto.response.pomng.pchReq.PchReqInitInfoResponse;
15
+import com.oqpo.api.web.dto.response.pomng.pchReq.PchReqRejectTargetResponse;
19 16
 import io.swagger.annotations.Api;
20 17
 import io.swagger.annotations.ApiImplicitParam;
21 18
 import io.swagger.annotations.ApiImplicitParams;
@@ -125,4 +122,27 @@ public class PchReqController {
125 122
         return ResponseEntity.ok(pchReqService.selectPchReqPoTargetGridList(pchReqPoTargetSearchGridRequest.getSBrandId(), pchReqPoTargetSearchGridRequest.getFromDt(), pchReqPoTargetSearchGridRequest.getToDt(), pchReqPoTargetSearchGridRequest.getSSpplyId(), pchReqPoTargetSearchGridRequest.getSWhsId(), pchReqPoTargetSearchGridRequest.getSItemNm(),  pchReqPoTargetSearchGridRequest.toDTO(pchReqPoTargetSearchGridRequest)));
126 123
     }
127 124
 
125
+
126
+    /**
127
+     * 설명 : 구매요청 반련 대상 리스트
128
+     *
129
+     * @param pchReqRejectTargerListRequest
130
+     * @return
131
+     * @throws Exception
132
+     */
133
+    @ApiImplicitParams({
134
+            @ApiImplicitParam(name = "X-AUTH-TOKEN", value = "CONN-KEY", required = true, dataType = "String", paramType = "header"),
135
+            @ApiImplicitParam(name = "pchReqUnqNo", value = "구매요청번호", required = true, dataType = "String", paramType = "query")
136
+    })
137
+    @ApiOperation(value = "구매요청 반련 대상 리스트")
138
+    @GetMapping("/reject-pchreq-target")
139
+    public ResponseEntity<PchReqRejectTargetResponse> rejectTargetPchReq(@RequestParam(value = "pchReqUnqNo") String pchReqUnqNo) throws Exception {
140
+
141
+            return ResponseEntity.ok(pchReqService.selectPchRejectPrTargetList(pchReqUnqNo));
142
+    }
143
+
144
+
145
+
146
+
147
+
128 148
 }

+ 5 - 4
src/main/java/com/oqpo/api/web/controller/stinfo/ItemController.java

@@ -172,12 +172,13 @@ public class ItemController {
172 172
      * @throws Exception
173 173
      */
174 174
     @ApiImplicitParams({
175
-            @ApiImplicitParam(name = "X-AUTH-TOKEN", value = "CONN-KEY", required = true, dataType = "String", paramType = "header")
175
+            @ApiImplicitParam(name = "X-AUTH-TOKEN", value = "CONN-KEY", required = true, dataType = "String", paramType = "header"),
176
+            @ApiImplicitParam(name = "itemClassMgntNo", value = "품목분류번호", required = true, dataType = "String", paramType = "query")
176 177
     })
177 178
     @ApiOperation(value = "품목분류 삭제")
178
-    @PostMapping("/del-itemClassMng")
179
-    public ResponseEntity<SaveResponse> saveItemClassMng(@ApiIgnore String userId, @RequestBody @Valid DelItemInfolRequest delItemInfolRequest) throws Exception {
180
-        itemService.delItemClassMngInfo(userId, delItemInfolRequest);
179
+    @GetMapping("/del-itemClassMng")
180
+    public ResponseEntity<SaveResponse> saveItemClassMng(@ApiIgnore String userId, @RequestParam(value = "itemClassMgntNo") String itemClassMgntNo) throws Exception {
181
+        itemService.delItemClassMngInfo(userId, itemClassMgntNo);
181 182
         return ResponseEntity.ok(SaveResponse.toDTO(SystemMessageCode.SAVE_OK));
182 183
     }
183 184
 

+ 50 - 0
src/main/java/com/oqpo/api/web/dto/request/pomng/pchReq/PchReqRejecctTargetInfoRequest.java

@@ -0,0 +1,50 @@
1
+package com.oqpo.api.web.dto.request.pomng.pchReq;
2
+
3
+import com.oqpo.api.entity.pomng.PchReqBaseInfoEntity;
4
+import com.oqpo.api.entity.stinfo.ItemClassMngEntity;
5
+import io.swagger.annotations.ApiModelProperty;
6
+import lombok.*;
7
+
8
+import javax.validation.constraints.NotBlank;
9
+import java.util.ArrayList;
10
+import java.util.List;
11
+
12
+@Getter
13
+@Setter
14
+public class PchReqRejecctTargetInfoRequest {
15
+
16
+    @NotBlank
17
+    @ApiModelProperty(value = "브랜드아이디")
18
+    private String brandId;
19
+
20
+    @ApiModelProperty(value = "반려대상 구매요청리스트")
21
+    private List<PchReqRejecctTargetInfoRequest.PchReqRejTagInfo> gridUpdateData;
22
+
23
+    @ApiModelProperty(value = "반려대상ddddd 구매요청리스트")
24
+    private List<PchReqRejecctTargetInfoRequest.PchReqRejTagInfo> gridInsertData;
25
+
26
+    @ApiModelProperty(value = "반려대상ddddd 구매요청리스트")
27
+    private List<PchReqRejecctTargetInfoRequest.PchReqRejTagInfo> gridDeleteData;
28
+
29
+    public List<PchReqBaseInfoEntity> toCodeEntities(List< PchReqRejecctTargetInfoRequest.PchReqRejTagInfo > gridData) {
30
+        List<PchReqBaseInfoEntity> entities = new ArrayList<>();
31
+        if (gridData == null || gridData.size() == 0)
32
+            return entities;
33
+
34
+        gridData.forEach(x -> {
35
+            PchReqBaseInfoEntity entity = new PchReqBaseInfoEntity();
36
+            entity.setPchReqUnqNo(x.getPchReqUnqNo());
37
+            entities.add(entity);
38
+        });
39
+        return entities;
40
+    }
41
+
42
+    @Getter
43
+    @Builder
44
+    @AllArgsConstructor(access = AccessLevel.PROTECTED)
45
+    static class PchReqRejTagInfo {
46
+        @NotBlank
47
+        @ApiModelProperty(value = "구매요청번호")
48
+        private String pchReqUnqNo;
49
+    }
50
+}

+ 84 - 0
src/main/java/com/oqpo/api/web/dto/response/pomng/pchReq/PchReqRejectTargetResponse.java

@@ -0,0 +1,84 @@
1
+package com.oqpo.api.web.dto.response.pomng.pchReq;
2
+
3
+import com.fasterxml.jackson.annotation.JsonInclude;
4
+import com.oqpo.api.entity.pomng.PchReqDtlPtclEntity;
5
+import com.oqpo.api.entity.stinfo.StoreItemUnitEntity;
6
+import io.swagger.annotations.ApiModelProperty;
7
+import lombok.*;
8
+
9
+import java.util.List;
10
+import java.util.stream.Collectors;
11
+
12
+
13
+@Getter
14
+@Setter
15
+@Builder
16
+@AllArgsConstructor(access = AccessLevel.PROTECTED)
17
+@JsonInclude(JsonInclude.Include.ALWAYS)
18
+public class PchReqRejectTargetResponse {
19
+
20
+    @ApiModelProperty(value = "그리드 페이지")
21
+    private Integer gridPage;
22
+
23
+    @ApiModelProperty(value = "그리드 전체 페이지 수")
24
+    private Integer gridTotal;
25
+
26
+    @ApiModelProperty(value = "그리드 전체 목록 수")
27
+    private Integer gridRecords;
28
+
29
+    @ApiModelProperty(value = "그리드 리스트")
30
+    private List<PchReqInfo> gridRows;
31
+
32
+
33
+    public static PchReqRejectTargetResponse toDTO(List<PchReqDtlPtclEntity> entities) {
34
+        if (entities == null) return null;
35
+
36
+        return PchReqRejectTargetResponse.builder()
37
+                .gridPage(0)
38
+                .gridRecords(entities.size())
39
+                .gridTotal(0)
40
+                .gridRows(entities.stream()
41
+                        .map(m -> PchReqInfo.builder()
42
+                                .pchReqUnqNo(m.getPchReqUnqNo())
43
+                                .pchReqDtlNo(m.getPchReqDtlNo())
44
+                                .itemId(m.getItemId())
45
+                                .itemNm(m.getItemNm())
46
+                                .pchReqQty(m.getPchReqQty())
47
+                                .pchReqAmt(m.getPchReqAmt())
48
+                                .build())
49
+                        .collect(Collectors.toList()))
50
+                .build();
51
+    }
52
+
53
+
54
+    @Getter
55
+    @Builder
56
+    @AllArgsConstructor(access = AccessLevel.PROTECTED)
57
+    static class PchReqInfo {
58
+
59
+        @ApiModelProperty(value = "구매요청번호")
60
+        private String pchReqUnqNo;
61
+
62
+        @ApiModelProperty(value = "구매요청상세항번")
63
+        private String pchReqDtlNo;
64
+
65
+        @ApiModelProperty(value = "품목아이디")
66
+        private String itemId;
67
+
68
+        @ApiModelProperty(value = "품목명")
69
+        private String itemNm;
70
+
71
+        @ApiModelProperty(value = "구매요청수량")
72
+        private Integer pchReqQty;
73
+
74
+        @ApiModelProperty(value = "구매요청금액")
75
+        private Integer pchReqAmt;
76
+
77
+    }
78
+
79
+
80
+
81
+
82
+
83
+
84
+}

+ 14 - 0
src/main/resources/mybatis/sqlmaps/pomng/PchReq.xml

@@ -258,4 +258,18 @@
258 258
             and (ptcl.item_id like concat('%', #{sItemNm}, '%') or ptcl.item_nm like concat('%', #{sItemNm}, '%'))
259 259
         </if>
260 260
     </select>
261
+
262
+    <select id="selectPchRejectPrTargetList" resultType="com.oqpo.api.entity.pomng.PchReqDtlPtclEntity">
263
+        select  /* PchReq.selectPchRejectPrTargetList */
264
+              base.pch_req_unq_no, ptcl.pch_req_dtl_no
265
+            , ptcl.item_id, ptcl.item_nm
266
+            , ptcl.pch_req_qty, ptcl.pch_req_amt
267
+        from pch_req_base_info base
268
+            , pch_req_dtl_ptcl ptcl
269
+        where 1 = 1
270
+        and base.pch_req_unq_no = ptcl.pch_req_unq_no
271
+        and base.pch_req_st_cd = 'PR20'
272
+        and base.pch_req_unq_no  = #{pchReqUnqNo}
273
+    </select>
274
+
261 275
 </mapper>

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

@@ -336,10 +336,7 @@
336 336
             , sys_chg_id         =  #{userId}
337 337
             , del_yn             =  'Y'
338 338
         where 1=1
339
-        and   item_class_mgnt_no in
340
-        <foreach collection="gridDeleteData" item="item" separator="," open="(" close=")">
341
-            #{item.itemClassMgntNo}
342
-        </foreach>
339
+        and   item_class_mgnt_no  = #{itemClassMgntNo}
343 340
     </update>
344 341
 
345 342