Sfoglia il codice sorgente

구매발주 기능 수정 및 상태값 추출 서비스 기능 추가

dwkim 2 anni fa
parent
commit
66cef12a43

+ 4 - 0
src/main/java/com/oqpo/api/entity/pomng/PchOdrDtlPtclEntity.java

@@ -43,6 +43,10 @@ public class PchOdrDtlPtclEntity implements Serializable {
43 43
     private String brandUnitUnqNo;
44 44
     private String storeUnitUnqNo;
45 45
 
46
+    private String podrDtlStCd;
47
+    private String podrDtlStNm;
48
+    private Integer podrStatusCnt;
49
+
46 50
 
47 51
 
48 52
 }

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

@@ -28,5 +28,5 @@ public interface PchOrdMapper {
28 28
     PchOdrBaseInfoEntity selectPchOdrInfo(@Param("pchPodrUnqNo") String pchPodrUnqNo);
29 29
     List<PchOdrDtlPtclEntity> selectOdrDtlList(@Param("pchPodrUnqNo") String pchPodrUnqNo);
30 30
 
31
-
31
+    List<PchOdrDtlPtclEntity> selectOdrDtlStatusList(@Param("pchPodrUnqNo") String pchPodrUnqNo);
32 32
 }

+ 36 - 0
src/main/java/com/oqpo/api/service/pomng/PchOrdService.java

@@ -286,6 +286,7 @@ public class PchOrdService extends CommonService {
286 286
                     poSaveDtlEntity.setPodrQty(poDtlEntity.getPodrQty());
287 287
                     poSaveDtlEntity.setPodrAmt(poDtlEntity.getPodrQty() * poSaveDtlEntity.getUnitAmt() );
288 288
                     poSaveDtlEntity.setCurr("KRW");
289
+                    poSaveDtlEntity.setPodrDtlStCd("POD0");
289 290
                     poSaveDtlEntity.setBrandUnitUnqNo(poDtlEntity.getBrandUnitUnqNo());
290 291
                     poSaveDtlEntity.setStoreUnitUnqNo(poDtlEntity.getStoreUnitUnqNo());
291 292
                     poTotAmt = poTotAmt +  poSaveDtlEntity.getPodrAmt();
@@ -412,4 +413,39 @@ public class PchOrdService extends CommonService {
412 413
         return PchOdrInfoResponse.toDTO(entity,dtlEntity);
413 414
     }
414 415
 
416
+
417
+    public String  selectOdrDtlStatusList(String  pchReqUnqNo) throws Exception {
418
+        //PCH_ODR_ST_CD
419
+        String pchOdrStCd = "";
420
+        List<PchOdrDtlPtclEntity> dtlEntity = pchOrdMapper.selectOdrDtlStatusList( pchReqUnqNo);
421
+
422
+        int pod0 = 0 ;
423
+        int pod1 = 0 ;
424
+        int pod2 = 0 ;
425
+        int pod4 = 0 ;
426
+
427
+        for (int i = 0 ; i < dtlEntity.size() ; i++ ) {
428
+            PchOdrDtlPtclEntity entity = dtlEntity.get(i);
429
+            if ( "POD0".equals(entity.getPodrDtlStCd())) {
430
+                pod0 = pod0 + entity.getPodrStatusCnt() ;
431
+            } else if ( "POD1".equals(entity.getPodrDtlStCd()) ||  "POD3".equals(entity.getPodrDtlStCd())) {
432
+                pod1 = pod1 + entity.getPodrStatusCnt() ;
433
+            } else if ( "POD2".equals(entity.getPodrDtlStCd())) {
434
+                pod2 = pod2 + entity.getPodrStatusCnt() ;
435
+            } else if ( "POD4".equals(entity.getPodrDtlStCd())) {
436
+                pod4 = pod4 + entity.getPodrStatusCnt() ;
437
+            }
438
+        }
439
+
440
+        if (pod0 > 0 ) {
441
+            pchOdrStCd = "PO20";
442
+        } else if ( pod0 == 0 || pod2 == 0 ) {
443
+            pchOdrStCd = "PO99";
444
+        } else {
445
+            pchOdrStCd = "PO30";
446
+        }
447
+
448
+        return pchOdrStCd;
449
+    }
450
+
415 451
 }

+ 4 - 0
src/main/java/com/oqpo/api/web/dto/response/pomng/pchOrd/PchOdrInfoResponse.java

@@ -71,6 +71,8 @@ public class PchOdrInfoResponse {
71 71
                                 .unit(m.getUnit() == null ? "" : m.getUnit())
72 72
                                 .unitAmt(m.getUnitAmt() == null ? 0 : m.getUnitAmt())
73 73
                                 .whsPassQty(m.getWhsPassQty() == null ? 0  : m.getWhsPassQty())
74
+                                .podrDtlStCd(m.getPodrDtlStCd() == null ? "" : m.getPodrDtlStCd())
75
+                                .podrDtlStNm(m.getPodrDtlStNm() == null ? "" : m.getPodrDtlStNm())
74 76
                                 .build())
75 77
                         .collect(Collectors.toList()))
76 78
                 .build();
@@ -89,5 +91,7 @@ public class PchOdrInfoResponse {
89 91
         @ApiModelProperty(value = "단위") private String unit;
90 92
         @ApiModelProperty(value = "단가금액") private Integer unitAmt;
91 93
         @ApiModelProperty(value = "출고가능수량") private Integer whsPassQty;
94
+        @ApiModelProperty(value = "발주상세코드") private String podrDtlStCd;
95
+        @ApiModelProperty(value = "발주상세명") private String podrDtlStNm;
92 96
     }
93 97
 }

+ 10 - 2
src/main/resources/mybatis/sqlmaps/pomng/PchOrd.xml

@@ -71,13 +71,13 @@
71 71
     <insert id="insertPchOdrDtlPtcl">
72 72
         INSERT INTO pch_odr_dtl_ptcl
73 73
             (pch_podr_unq_no, pch_podr_dtl_no, pch_req_unq_no, pch_req_dtl_no, item_id
74
-            , item_nm, podr_qty, podr_amt, curr, unit
74
+            , item_nm, podr_qty, podr_amt, curr, unit, podr_dtl_st_cd
75 75
             , unit_amt, dlv_sch_dt, store_unit_unq_no, brand_unit_unq_no
76 76
             , sys_reg_dttm, sys_reg_id, sys_chg_dttm, sys_chg_id)
77 77
         VALUES
78 78
         <foreach collection="gridInsertData" item="item" separator=",">
79 79
             (#{item.pchPodrUnqNo}, #{item.pchPodrDtlNo}, #{item.pchReqUnqNo}, #{item.pchReqDtlNo}, #{item.itemId}
80
-            , #{item.itemNm}, #{item.podrQty}, #{item.podrAmt}, #{item.curr}, #{item.unit}
80
+            , #{item.itemNm}, #{item.podrQty}, #{item.podrAmt}, #{item.curr}, #{item.unit}, #{item.podrDtlStCd}
81 81
             , #{item.unitAmt}, #{item.dlvSchDt}, #{item.storeUnitUnqNo}, #{item.brandUnitUnqNo}
82 82
             , NOW(), #{userId}, NOW(), #{userId})
83 83
         </foreach>
@@ -221,6 +221,8 @@
221 221
         select ptcl.pch_podr_dtl_no, ptcl.item_id, ptcl.item_nm
222 222
             , ptcl.unit_amt, ptcl.unit, ptcl.podr_qty, ptcl.podr_amt
223 223
             , nvl((stck.stck_qty - stck.wait_qty),0) as whs_pass_qty
224
+            , ptcl.podr_dtl_st_cd
225
+            , fn_code_nm(upper('podr_dtl_st_cd'),ptcl.podr_dtl_st_cd ) as podr_dtl_st_nm
224 226
         from  pch_odr_base_info base
225 227
         join  pch_odr_dtl_ptcl ptcl on base.pch_podr_unq_no = ptcl.pch_podr_unq_no
226 228
         left outer join stck_mgnt_base_info stck on stck.brand_id = base.brand_id and stck.whs_id = base.shmt_whs_id and stck.location = base.shmt_location
@@ -228,4 +230,10 @@
228 230
         and ptcl.pch_podr_unq_no = #{pchPodrUnqNo}
229 231
     </select>
230 232
 
233
+    <select id="selectOdrDtlStatusList" resultType="com.oqpo.api.entity.pomng.PchOdrDtlPtclEntity">
234
+        select podr_dtl_st_cd, count(*) as podr_status_cnt
235
+        from pch_odr_dtl_ptcl
236
+        where pch_podr_unq_no = #{pchPodrUnqNo}
237
+        group by podr_dtl_st_cd
238
+    </select>
231 239
 </mapper>