Selaa lähdekoodia

매장단가관리수정

dwkim 2 vuotta sitten
vanhempi
commit
19335607f1

+ 4 - 0
src/main/java/com/oqpo/api/mapper/stinfo/StoreItemUnitMapper.java

@@ -39,4 +39,8 @@ public interface StoreItemUnitMapper {
39 39
 
40 40
     List<StoreItemUnitEntity> selectStoreNewItemUnitInfo(@Param("brandId") String brandId)throws Exception;
41 41
 
42
+    String selectStoreItemUnitEndDtInfo(@Param("brandId") String brandId, @Param("storeId") String storeId, @Param("contSttDt") String contSttDt)throws Exception;
43
+
44
+    int updateStoreItemUnitChgContEnd(@Param("brandId") String brandId, @Param("storeId") String storeId, @Param("contSttDt") String contSttDt,  @Param("contEndDt") String contEndDt) throws Exception;
45
+
42 46
 }

+ 32 - 28
src/main/java/com/oqpo/api/service/stinfo/ItemUnitService.java

@@ -299,45 +299,42 @@ public class ItemUnitService extends CommonService {
299 299
             entity.setBrandId(saveStoreItemUnitInfolRequest.getBrandId());
300 300
             entity.setStoreId(saveStoreItemUnitInfolRequest.getStoreId());
301 301
 
302
+            entity.setContSttDt(saveStoreItemUnitInfolRequest.getContSttDt().replaceAll("\\.",""));
303
+            entity.setContEndDt(saveStoreItemUnitInfolRequest.getContEndDt().replaceAll("\\.",""));
304
+
302 305
             //신규
303
-            if ("C".toString().equals(saveStoreItemUnitInfolRequest.getViewCd())) {
304
-                entity.setContSttDt(saveStoreItemUnitInfolRequest.getContSttDt().replaceAll("\\.",""));
305
-                entity.setContEndDt(saveStoreItemUnitInfolRequest.getContEndDt().replaceAll("\\.",""));
306
+            // 종료일짜 변경 여부 확인
307
+            String chgEndDtYn = "N";
308
+            if ("U".toString().equals(saveStoreItemUnitInfolRequest.getViewCd())) {
309
+                String lastEndDt = storeItemUnitMapper.selectStoreItemUnitEndDtInfo(entity.getBrandId(), entity.getStoreId(), entity.getContSttDt());
310
+
311
+                if (!lastEndDt.equals(entity.getContEndDt())) {
312
+                    chgEndDtYn = "Y";
313
+                }
306 314
             }
307 315
 
308 316
             List<StoreItemUnitEntity> gridUpdateData = saveStoreItemUnitInfolRequest.toCodeEntities(saveStoreItemUnitInfolRequest.getGridUpdateData());
309 317
             List<StoreItemUnitEntity> gridInsertData = saveStoreItemUnitInfolRequest.toCodeEntities(saveStoreItemUnitInfolRequest.getGridInsertData());
310 318
 
311
-            //String contSttDt = "";
312
-            //String contEndDt = "";
313 319
 
314
-            /*
320
+            if (gridInsertData.size() > 0) {
321
+                for (int k = 0; k < gridInsertData.size(); k++) {
322
+                    if ("C".toString().equals(saveStoreItemUnitInfolRequest.getViewCd())) {
323
+                        gridInsertData.get(k).setContSttDt(entity.getContSttDt());
324
+                        gridInsertData.get(k).setContEndDt(entity.getContEndDt());
325
+                    } else {
326
+                        gridInsertData.get(k).setContSttDt(gridInsertData.get(k).getContSttDt().replaceAll("\\.",""));
327
+                        gridInsertData.get(k).setContEndDt(gridInsertData.get(k).getContEndDt().replaceAll("\\.",""));
328
+                    }
329
+                }
330
+            }
331
+
315 332
             if (gridUpdateData.size() > 0) {
316 333
                 for (int k = 0; k < gridUpdateData.size(); k++) {
317
-
318
-                    contSttDt = gridUpdateData.get(k).getContSttDt().replaceAll("\\.", "");
319
-                    contEndDt = gridUpdateData.get(k).getContEndDt().replaceAll("\\.", "");
320
-                    gridUpdateData.get(k).setContSttDt(contSttDt);
321
-                    gridUpdateData.get(k).setContEndDt(contEndDt);
322
-                    entity.setContSttDt(contSttDt);
323
-                    entity.setContEndDt(contEndDt);
334
+                    gridUpdateData.get(k).setContSttDt(gridUpdateData.get(k).getContSttDt().replaceAll("\\.",""));
335
+                    gridUpdateData.get(k).setContEndDt(gridUpdateData.get(k).getContEndDt().replaceAll("\\.",""));
324 336
                 }
325 337
             }
326
-            */
327
-
328
-                if (gridInsertData.size() > 0) {
329
-                    for (int k = 0; k < gridInsertData.size(); k++) {
330
-                        if ("C".toString().equals(saveStoreItemUnitInfolRequest.getViewCd())) {
331
-                            gridInsertData.get(k).setContSttDt(entity.getContSttDt());
332
-                            gridInsertData.get(k).setContEndDt(entity.getContEndDt());
333
-                        } else {
334
-                            gridInsertData.get(k).setContSttDt(gridInsertData.get(k).getContSttDt().replaceAll("\\.",""));
335
-                            gridInsertData.get(k).setContEndDt(gridInsertData.get(k).getContEndDt().replaceAll("\\.",""));
336
-                        }
337
-                    }
338
-                }
339
-
340
-
341 338
 
342 339
             // 신규일경우 계약기간 날짜 체크함
343 340
             if ("C".toString().equals(saveStoreItemUnitInfolRequest.getViewCd())) {
@@ -378,6 +375,13 @@ public class ItemUnitService extends CommonService {
378 375
                 storeItemUnitMapper.updateStoreItemUnitInfo(userId, entity.getBrandId(), entity.getStoreId(), entity.getContSttDt(),entity.getContEndDt(), gridUpdateData) ;
379 376
             }
380 377
 
378
+
379
+            // 수정에 대해 날짜 변동시 전체 변동처리함
380
+            if ("Y".toString().equals(chgEndDtYn)) {
381
+                storeItemUnitMapper.updateStoreItemUnitChgContEnd(entity.getBrandId(), entity.getStoreId(), entity.getContSttDt(), entity.getContEndDt() );
382
+            }
383
+
384
+            //selectStoreItemUnitEndDtInfo  , updateStoreItemUnitChgContEnd
381 385
         } catch (GlobalException e) {
382 386
             e.getStackTrace();
383 387
             throw new GlobalException(e.getSystemMessageCode());

+ 19 - 4
src/main/resources/mybatis/sqlmaps/stinfo/StoreItemUnit.xml

@@ -179,13 +179,11 @@
179 179
             UPDATE  store_item_unit_info /* storeitemUnit.updateStoreItemUnitInfo */
180 180
             SET sys_chg_dttm          = now()
181 181
             , sys_chg_id            = #{userId}
182
-            , cont_stt_dt       = #{item.contSttDt}
183 182
             , cont_end_dt       = #{item.contEndDt}
184 183
             , unit              = #{item.unit}
185 184
             , curr              =  #{item.curr}
186 185
             , unit_amt          = #{item.unitAmt}
187 186
             , unit_target_cd    = #{item.unitTargetCd}
188
-            , stdd_qty          = #{item.stddQty}
189 187
             WHERE store_unit_unq_no = #{item.storeUnitUnqNo}
190 188
         </foreach>
191 189
     </update>
@@ -195,13 +193,13 @@
195 193
                 store_item_unit_info
196 194
                 (store_unit_unq_no, cont_stt_dt, cont_end_dt, unit,
197 195
                  curr, unit_amt, store_id, brand_id, short_cont_file_no,
198
-                 unit_target_cd, item_id, stdd_qty, brand_unit_unq_no,
196
+                 unit_target_cd, item_id,  brand_unit_unq_no,
199 197
                  sys_reg_dttm, sys_reg_id, sys_chg_dttm, sys_chg_id)
200 198
             values
201 199
             <foreach collection="gridUpdateData" item="item" separator=",">
202 200
                 ( fn_get_dealno(34,''), #{item.contSttDt}, #{item.contEndDt}, #{item.unit},
203 201
                   #{item.curr}, #{item.unitAmt}, #{storeId}, #{brandId}, #{item.shortContFileNo},
204
-                  #{item.unitTargetCd}, #{item.itemId}, #{item.stddQty}, #{item.brandUnitUnqNo},
202
+                  #{item.unitTargetCd}, #{item.itemId}, #{item.brandUnitUnqNo},
205 203
                   NOW(), #{userId}, NOW(), #{userId})
206 204
             </foreach>
207 205
             on duplicate key
@@ -233,5 +231,22 @@
233 231
          where  item.brand_id = #{brandId}
234 232
     </select>
235 233
 
234
+    <select id="selectStoreItemUnitEndDtInfo" resultType="String">
235
+        select max(cont_end_dt)
236
+        from  store_item_unit_info
237
+        where brand_id = #{brandId}
238
+        and   store_id = #{storeId}
239
+        and   cont_stt_dt = #{contSttDt}
240
+    </select>
241
+
242
+    <update id="updateStoreItemUnitChgContEnd" >
243
+        update /* updateStoreItemUnitChgContEnd */
244
+                store_item_unit_info
245
+        set    cont_end_dt =  #{contEndDt}
246
+        where  brand_id = #{brandId}
247
+        and    store_id = #{storeId}
248
+        and    cont_stt_dt = #{contSttDt}
249
+
250
+    </update>
236 251
 
237 252
 </mapper>