Selaa lähdekoodia

정산요청 처리 개선

marseyes 2 vuotta sitten
vanhempi
commit
3be2066622
1 muutettua tiedostoa jossa 40 lisäystä ja 38 poistoa
  1. 40 38
      src/main/java/com/oqpo/api/service/sttlmng/SttlReqService.java

+ 40 - 38
src/main/java/com/oqpo/api/service/sttlmng/SttlReqService.java

@@ -233,45 +233,19 @@ public class SttlReqService extends CommonService {
233 233
         // 매장 정산타입 조회
234 234
         StoreBaseInfoEntity storeInfo = storeBaseInfoMapper.selectStoreInfo(sttlReqProcRequest.getBrandId(), sttlReqProcRequest.getStoreId());
235 235
 
236
-        // 정산관리상세내역 처리
237 236
         long sttlAmt = 0; // 정산금액
238
-        List<SttlReqProcData> list = sttlReqProcRequest.getSttlReqDataList();
239
-        for (SttlReqProcData item : list) {
240
-            // 정산관리상세내역 조회
241
-            StlMgntDtlPtclEntity dtlPtcl = sttlReqMapper.selectStlMgntDtlPtcl(sttlReqProcRequest.getSttlMgntUnqNo(), item.getSttlMgntDtlNo());
242
-            // 정산타입에 따라
243
-            if (LoanDvsn.PRE_PAYMENT.getCd().equals(storeInfo.getLoanDvsn())) {
237
+        // 정산타입에 따라
238
+        if (LoanDvsn.PRE_PAYMENT.getCd().equals(storeInfo.getLoanDvsn())) {
239
+            // 1. 선불
240
+            // 정산관리상세내역 처리
241
+            List<SttlReqProcData> list = sttlReqProcRequest.getSttlReqDataList();
242
+            for (SttlReqProcData item : list) {
243
+                // 정산관리상세내역 조회
244
+                StlMgntDtlPtclEntity dtlPtcl = sttlReqMapper.selectStlMgntDtlPtcl(sttlReqProcRequest.getSttlMgntUnqNo(), item.getSttlMgntDtlNo());
244 245
                 // 정산금액
245 246
                 sttlAmt += dtlPtcl.getWhsColAmt();
246 247
 
247
-                // 1. 선불
248
-                // 1.1 여신관리기본정보(매장) 차감 : loan_mgnt_base_info
249
-                // 매장의 여신관리기본정보 조회 - 없으면 에러 처리
250
-                LoanMgntBaseInfoEntity loanBase = dsptMngMapper.selectLoanMgntBaseInfo(sttlReqProcRequest.getBrandId(), sttlReqProcRequest.getStoreId());
251
-                long trscBfBal = loanBase.getAcctBal();
252
-                long trscAfBal = loanBase.getAcctBal() - dtlPtcl.getWhsColAmt(); // 잔액에서 입고/수거금액 차감
253
-                long useAmtTotal = loanBase.getUseAmtTotal() - dtlPtcl.getWhsColAmt(); // 사용금액합계에서 입고/수거금액 차감
254
-
255
-                loanBase.setAcctBal(trscBfBal);
256
-                loanBase.setUseAmtTotal(useAmtTotal);
257
-                sttlReqMapper.updateLoanMgntBaseInfo4SttlReqProc(userId, loanBase);
258
-
259
-                // 1.2 여신관리상세이력 등록 (지급/대체/정산지급)
260
-                // 여신관리상세이력 등록
261
-                LoanMgntDtlHstEntity hstEntity = new LoanMgntDtlHstEntity();
262
-                hstEntity.setLoanMgntUnqNo(storeInfo.getLoanMgntUnqNo());
263
-                hstEntity.setLoanRegDt(DateUtil.getCurrentDate());
264
-                hstEntity.setLoanRegTm(DateUtil.getCurrentTime());
265
-                hstEntity.setDpstPayDvsn(DpstPayDvsn.PAYMENT.getCd());
266
-                hstEntity.setMediaDvsn(MediaDvsn.SETTLMENT.getCd());
267
-                hstEntity.setPayType(PayType.STTL_PAY.getCd());
268
-                hstEntity.setTrscAmt(dtlPtcl.getWhsColAmt()); // 거래금액
269
-                hstEntity.setPaymAmt(dtlPtcl.getWhsColAmt()); // 지급금액
270
-                hstEntity.setTrscBfBal(trscBfBal);
271
-                hstEntity.setTrscAfBal(trscAfBal);
272
-                dsptMngMapper.insertLoanMgntDtlHst(userId, hstEntity);
273
-
274
-                // 1.3 정산구분에 따라 처리 (STTL_DVSN)
248
+                // 정산구분에 따라 처리 (STTL_DVSN)
275 249
                 if (SttlDvsn.WHS.getCd().equals(dtlPtcl.getSttlDvsn())) { // 입고
276 250
                     // 입고처리정보내역 업데이트
277 251
                     sttlReqMapper.updateWhsProcInfoPtcl4SttlReqProc(userId, dtlPtcl);
@@ -279,11 +253,39 @@ public class SttlReqService extends CommonService {
279 253
                     // 반품처리정보내역 업데이트
280 254
                     sttlReqMapper.updateRtnProcInfoPtcl4SttlReqProc(userId, dtlPtcl);
281 255
                 }
282
-            } else if (LoanDvsn.POST_PAYMENT.getCd().equals(storeInfo.getLoanDvsn())) {
283
-                // 2. 후불
284
-                // 정산상태코드만 변경하고 매장에서 정상확정시 여신처리를 한다.
285 256
             }
257
+
258
+            // 여신관리기본정보(매장) 차감 : loan_mgnt_base_info
259
+            // 매장의 여신관리기본정보 조회 - 없으면 에러 처리
260
+            LoanMgntBaseInfoEntity loanBase = dsptMngMapper.selectLoanMgntBaseInfo(sttlReqProcRequest.getBrandId(), sttlReqProcRequest.getStoreId());
261
+            long trscBfBal = loanBase.getAcctBal();
262
+            long trscAfBal = loanBase.getAcctBal() - sttlAmt;       // 잔액에서 입고/수거금액 차감
263
+            long useAmtTotal = loanBase.getUseAmtTotal() - sttlAmt; // 사용금액합계에서 입고/수거금액 차감
264
+
265
+            loanBase.setAcctBal(trscBfBal);
266
+            loanBase.setUseAmtTotal(useAmtTotal);
267
+            sttlReqMapper.updateLoanMgntBaseInfo4SttlReqProc(userId, loanBase);
268
+
269
+            // 여신관리상세이력 등록 (지급/대체/정산지급)
270
+            // 여신관리상세이력 등록
271
+            LoanMgntDtlHstEntity hstEntity = new LoanMgntDtlHstEntity();
272
+            hstEntity.setLoanMgntUnqNo(storeInfo.getLoanMgntUnqNo());
273
+            hstEntity.setLoanRegDt(DateUtil.getCurrentDate());
274
+            hstEntity.setLoanRegTm(DateUtil.getCurrentTime());
275
+            hstEntity.setDpstPayDvsn(DpstPayDvsn.PAYMENT.getCd());
276
+            hstEntity.setMediaDvsn(MediaDvsn.SETTLMENT.getCd());
277
+            hstEntity.setPayType(PayType.STTL_PAY.getCd());
278
+            hstEntity.setTrscAmt(sttlAmt); // 거래금액
279
+            hstEntity.setPaymAmt(sttlAmt); // 지급금액
280
+            hstEntity.setTrscBfBal(trscBfBal);
281
+            hstEntity.setTrscAfBal(trscAfBal);
282
+            dsptMngMapper.insertLoanMgntDtlHst(userId, hstEntity);
283
+
284
+        } else if (LoanDvsn.POST_PAYMENT.getCd().equals(storeInfo.getLoanDvsn())) {
285
+            // 2. 후불
286
+            // 정산상태코드만 변경하고 매장에서 정상확정시 여신처리를 한다.
286 287
         }
288
+
287 289
         // 정산관리기본정보 업데이트 (정산상태코드)
288 290
         // 정산타입에 따라
289 291
         if (LoanDvsn.PRE_PAYMENT.getCd().equals(storeInfo.getLoanDvsn())) {