|
@@ -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())) {
|