|
@@ -10,12 +10,15 @@ import com.oqpo.api.entity.pomng.PchReqDtlPtclEntity;
|
10
|
10
|
import com.oqpo.api.entity.stockmng.StckMgntBaseInfoEntity;
|
11
|
11
|
import com.oqpo.api.enums.SystemMessageCode;
|
12
|
12
|
import com.oqpo.api.exception.GlobalException;
|
|
13
|
+import com.oqpo.api.mapper.loanmng.LoanStateMapper;
|
13
|
14
|
import com.oqpo.api.mapper.oper.UserMngMapper;
|
14
|
15
|
import com.oqpo.api.mapper.pomng.PchOrdMapper;
|
15
|
16
|
import com.oqpo.api.mapper.pomng.PchReqMapper;
|
|
17
|
+import com.oqpo.api.mapper.stinfo.StoreBaseInfoMapper;
|
16
|
18
|
import com.oqpo.api.mapper.stockmng.StockMngMapper;
|
17
|
19
|
import com.oqpo.api.service.CommonService;
|
18
|
20
|
import com.oqpo.api.web.dto.request.GridRequest;
|
|
21
|
+import com.oqpo.api.web.dto.request.pomng.pchOrd.CancelPchOrdDtlRequest;
|
19
|
22
|
import com.oqpo.api.web.dto.request.pomng.pchOrd.PchReqOrdInitRequest;
|
20
|
23
|
import com.oqpo.api.web.dto.request.pomng.pchOrd.SavePchOrdRequest;
|
21
|
24
|
import com.oqpo.api.web.dto.response.GridResponse;
|
|
@@ -49,6 +52,12 @@ public class PchOrdService extends CommonService {
|
49
|
52
|
@Autowired
|
50
|
53
|
private PchReqMapper pchReqMapper;
|
51
|
54
|
|
|
55
|
+ @Autowired
|
|
56
|
+ private StoreBaseInfoMapper storeBaseInfoMapper;
|
|
57
|
+
|
|
58
|
+ @Autowired
|
|
59
|
+ private LoanStateMapper loanStateMapper;
|
|
60
|
+
|
52
|
61
|
|
53
|
62
|
/* 구매요청건 발주 가능 여부 체크 */
|
54
|
63
|
public String chkPchReqUseOrd(String userId, PchReqOrdInitRequest pchReqOrdInitRequest ) throws Exception {
|
|
@@ -414,6 +423,48 @@ public class PchOrdService extends CommonService {
|
414
|
423
|
}
|
415
|
424
|
|
416
|
425
|
|
|
426
|
+ /*
|
|
427
|
+ 발주 취소처리
|
|
428
|
+ */
|
|
429
|
+ @Transactional
|
|
430
|
+ public void cancelPchOrdDtl(String userId, CancelPchOrdDtlRequest cancelPchOrdDtlRequest) throws Exception {
|
|
431
|
+ try {
|
|
432
|
+ // 품목 삭제 상태처리
|
|
433
|
+ Integer podrAmt = 0 ;
|
|
434
|
+ List<PchOdrDtlPtclEntity> gridUpdateData = cancelPchOrdDtlRequest.toCodeEntities(cancelPchOrdDtlRequest.getGridUpdateData());
|
|
435
|
+ if (gridUpdateData.size() > 0) {
|
|
436
|
+ pchOrdMapper.updateCancelPodrDtl(userId, gridUpdateData) ;
|
|
437
|
+
|
|
438
|
+ for (int i = 0 ; i < gridUpdateData.size() ; i++) {
|
|
439
|
+ PchOdrDtlPtclEntity delItem = gridUpdateData.get(i);
|
|
440
|
+ podrAmt = podrAmt + delItem.getPodrAmt();
|
|
441
|
+ }
|
|
442
|
+ }
|
|
443
|
+
|
|
444
|
+ //발주취소로 인한 발주 head 상태값 변경처리 pchPodrUnqNo
|
|
445
|
+ String pchOdrStCd = selectOdrDtlStatusList(cancelPchOrdDtlRequest.getPchPodrUnqNo());
|
|
446
|
+ pchOrdMapper.updateChgPodrStCd(userId, pchOdrStCd, cancelPchOrdDtlRequest.getPchPodrUnqNo());
|
|
447
|
+
|
|
448
|
+ // 매장 구매요청 발주일경우 사용금액 차감 처리함
|
|
449
|
+ if (!"".equals(cancelPchOrdDtlRequest.getStoreId())) {
|
|
450
|
+ String loanMgntUnqNo = storeBaseInfoMapper.selectStoreLoanMgntUnqNo(cancelPchOrdDtlRequest.getStoreId());
|
|
451
|
+
|
|
452
|
+ if (loanMgntUnqNo != null) {
|
|
453
|
+ loanStateMapper.updateloanMinusPchReqUseAmt(loanMgntUnqNo, cancelPchOrdDtlRequest.getStoreId(), podrAmt);
|
|
454
|
+ }
|
|
455
|
+ }
|
|
456
|
+
|
|
457
|
+
|
|
458
|
+ } catch (GlobalException e) {
|
|
459
|
+ //e.getStackTrace();
|
|
460
|
+ e.printStackTrace();
|
|
461
|
+ throw new GlobalException(e.getSystemMessageCode());
|
|
462
|
+ } catch (Exception e) {
|
|
463
|
+ e.printStackTrace();
|
|
464
|
+ throw new RuntimeException();
|
|
465
|
+ }
|
|
466
|
+ }
|
|
467
|
+
|
417
|
468
|
public String selectOdrDtlStatusList(String pchReqUnqNo) throws Exception {
|
418
|
469
|
//PCH_ODR_ST_CD
|
419
|
470
|
String pchOdrStCd = "";
|
|
@@ -426,23 +477,23 @@ public class PchOrdService extends CommonService {
|
426
|
477
|
|
427
|
478
|
for (int i = 0 ; i < dtlEntity.size() ; i++ ) {
|
428
|
479
|
PchOdrDtlPtclEntity entity = dtlEntity.get(i);
|
429
|
|
- if ( "POD0".equals(entity.getPodrDtlStCd())) {
|
|
480
|
+ if ( "POD0".equals(entity.getPodrDtlStCd())) { // 요청
|
430
|
481
|
pod0 = pod0 + entity.getPodrStatusCnt() ;
|
431
|
|
- } else if ( "POD1".equals(entity.getPodrDtlStCd()) || "POD3".equals(entity.getPodrDtlStCd())) {
|
|
482
|
+ } else if ( "POD1".equals(entity.getPodrDtlStCd()) || "POD3".equals(entity.getPodrDtlStCd())) { // 접수 ,출하
|
432
|
483
|
pod1 = pod1 + entity.getPodrStatusCnt() ;
|
433
|
|
- } else if ( "POD2".equals(entity.getPodrDtlStCd())) {
|
|
484
|
+ } else if ( "POD2".equals(entity.getPodrDtlStCd())) { //발주취소
|
434
|
485
|
pod2 = pod2 + entity.getPodrStatusCnt() ;
|
435
|
|
- } else if ( "POD4".equals(entity.getPodrDtlStCd())) {
|
|
486
|
+ } else if ( "POD4".equals(entity.getPodrDtlStCd())) { //입고완료
|
436
|
487
|
pod4 = pod4 + entity.getPodrStatusCnt() ;
|
437
|
488
|
}
|
438
|
489
|
}
|
439
|
490
|
|
440
|
491
|
if (pod0 > 0 ) {
|
441
|
|
- pchOdrStCd = "PO20";
|
442
|
|
- } else if ( pod0 == 0 || pod2 == 0 ) {
|
443
|
|
- pchOdrStCd = "PO99";
|
|
492
|
+ pchOdrStCd = "PO20"; //요청
|
|
493
|
+ } else if ( pod0 == 0 && pod1 == 0 && pod4 == 0 ) {
|
|
494
|
+ pchOdrStCd = "PO99"; // 취소
|
444
|
495
|
} else {
|
445
|
|
- pchOdrStCd = "PO30";
|
|
496
|
+ pchOdrStCd = "PO30"; // 접수
|
446
|
497
|
}
|
447
|
498
|
|
448
|
499
|
return pchOdrStCd;
|