Bladeren bron

정산검수현황

marseyes 2 jaren geleden
bovenliggende
commit
269c6e289f

+ 32 - 0
src/main/webapp/app/popup/biz/BIZPOP_STTL_REJECT_REASON.html

@@ -0,0 +1,32 @@
1
+<div id="ITP_BIZPOP_STTL_REJECT_REASON" class="modal itp_modal">
2
+	<div class="modal-dialog">
3
+		<div class="modal-content">
4
+			<div class="modal-header">
5
+				<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
6
+				<h5 class="modal-title">정산반려</h5>
7
+			</div>
8
+			<div class="modal-body">
9
+				<div class="itp_form itp_type1 fix">
10
+					<div class="col-xs-12">
11
+						<div class="form-horizontal">
12
+							<form id="ITP_FORM_STTL_REJECT_REASON_POPUP">
13
+								<div class="form-group">
14
+									<label class="col-xs-2 itp_lb">반려사유</label>
15
+									<div class="col-xs-10 itp_ip">
16
+									<input type="text" id="ITP_FORM_STTL_REJECT_REASON_POPUP_STTL_RJCT_RSN" class="form-control itp_input" name="sttlRjctRsn" />
17
+									</div>									
18
+								</div>								
19
+							</form>
20
+						</div>
21
+					</div>
22
+				</div>
23
+			</div>
24
+			<div class="modal-footer">
25
+				<button type="button" id="ITP_BTN_STTL_REJECT_REASON_CLOSE_POP" class="btn btn-danger btn-sm CLB">&nbsp;&nbsp;취소&nbsp;&nbsp;</button>
26
+				<button type="button" id="ITP_BTN_STTL_REJECT_REASON_CONFIRM_POP" class="btn btn-primary btn-sm SAB" style="display: inline-block;">&nbsp;&nbsp;확인&nbsp;&nbsp;</button>
27
+			</div>
28
+		</div>
29
+	</div>
30
+
31
+	<div id="ITP_POPUP_JS"></div>
32
+</div>

+ 20 - 25
src/main/webapp/app/settmng/SETTMNG02010.html

@@ -83,32 +83,35 @@
83 83
 											</div>
84 84
 										</div>
85 85
 										<div class="form-group">
86
-											<label class="col-xs-2 itp_lb">정산일자</label>
87
-											<div class="col-xs-4 itp_ip">
88
-												<div class="col-xs-5 itp_in">
89
-													<div class="input-group date">
90
-													<input type="text" id="ITP_FORM_SETTMNG03010_DETAIL_STTL_DT" class="form-control itp_input" name="sttlDt" readonly="readonly">
91
-													<span class="input-group-addon itp_input itp_date_to">
92
-														<i class="glyphicon glyphicon-calendar"></i>
93
-													</span>
94
-													</div>
95
-												</div>
96
-											</div>
97 86
 											<label class="col-xs-2 itp_lb">정산상태</label>
98 87
 											<div class="col-xs-4 itp_ip">
99 88
 												<div class="col-xs-8 itp_in fnSttlStNm"></div>
100 89
 											</div>
90
+											<label class="col-xs-2 itp_lb">반려사유</label>
91
+											<div class="col-xs-4 itp_ip">
92
+												<div class="col-xs-8 itp_in fnSttlRjctRsn"></div>
93
+											</div>											
101 94
 										</div>
102 95
 										<div class="form-group">
103
-											<label class="col-xs-2 itp_lb">정산금액</label>
96
+											<label class="col-xs-2 itp_lb">정산요청일자</label>
104 97
 											<div class="col-xs-4 itp_ip">
105
-												<div class="col-xs-10 itp_in fnSttlAmt"></div>
98
+												<div class="col-xs-8 itp_in fnSttlReqDt"></div>
106 99
 											</div>
107
-											<label class="col-xs-2 itp_lb">잔금</label>
100
+											<label class="col-xs-2 itp_lb">정산요청금액</label>
101
+											<div class="col-xs-4 itp_ip">
102
+												<div class="col-xs-10 itp_in fnSttlReqAmt"></div>
103
+											</div>											
104
+										</div>										
105
+										<div class="form-group">
106
+											<label class="col-xs-2 itp_lb">정산일자</label>
108 107
 											<div class="col-xs-4 itp_ip">
109
-												<div class="col-xs-8 itp_in fnAcctBal"></div>
108
+												<div class="col-xs-8 itp_in fnSttlDt"></div>
110 109
 											</div>
111
-										</div>
110
+											<label class="col-xs-2 itp_lb">정산금액</label>
111
+											<div class="col-xs-4 itp_ip">
112
+												<div class="col-xs-10 itp_in fnSttlAmt"></div>
113
+											</div>
114
+										</div>										
112 115
 										<div class="form-group">
113 116
 											<label class="col-xs-2 itp_lb">등록일</label>
114 117
 											<div class="col-xs-4 itp_ip">
@@ -120,20 +123,12 @@
120 123
 											</div>
121 124
 										</div>
122 125
 									</div>
123
-									<div class="itp_form_in">
124
-										<div class="form-group border">
125
-											<label class="col-xs-2 itp_lb">반려사유</label>
126
-											<div class="col-xs-10 itp_ip">
127
-												<div class="col-xs-10 itp_in"></div>
128
-											</div>
129
-										</div>
130
-									</div>
131 126
 								</section>							
132 127
 							</form>
133 128
 						</div>
134 129
 					</div>
135 130
 					<div class="itp_table fix">
136
-						<h4 class="itp_form_tit" style="background:#eee; padding:18px 18px; margin:0; border-left:none;"></h4>
131
+						<h4 class="itp_form_tit" style="background:#eee; padding:18px 18px; margin:0; border-left:none;">정산 대상 내역</h4>
137 132
 						<div id="ITP_SETTMNG02010_DETAIL_jqGrid_list" class="itp_tb_list itp_gType1" data-total-cnt="${totalCnt}">
138 133
 							<div id="ITP_SETTMNG02010_DETAIL_jqGridView" class="itp_views fix"></div>
139 134
 							<table id="ITP_SETTMNG02010_DETAIL_jqGrid"></table>

+ 53 - 0
src/main/webapp/js/app/popup/biz/ITP_BIZPOP_STTL_REJECT_REASON.js

@@ -0,0 +1,53 @@
1
+require(['config'], function() {
2
+	require([
3
+		'jquery'
4
+	], function($) {
5
+
6
+	});
7
+});
8
+
9
+var popPageObj = {
10
+	init: function () {
11
+		this.button();
12
+		this.change();
13
+	},
14
+	parentPopFn: null,
15
+	args: null,
16
+	returnType: null,
17
+	button: function() {
18
+		$('#ITP_BTN_STTL_REJECT_REASON_CLOSE_POP').on('click', function () {
19
+			$('#ITP_BIZPOP_STTL_REJECT_REASON').modal('hide'); // 팝업닫기
20
+		});
21
+		$('#ITP_BTN_STTL_REJECT_REASON_CONFIRM_POP').on('click', function () {
22
+			popPageObj.fnRjctRsnConfirm();
23
+		});
24
+	}, 
25
+	change: function() {
26
+	}, 	
27
+	fnRjctRsnConfirm: function() {
28
+		const formId = '#ITP_FORM_STTL_REJECT_REASON_POPUP';
29
+		itp_fn_form_clear_validate(null, formId);
30
+		
31
+		var vali_sttlRjctRsn = itp_fn_form_validate(formId, formId + '_STTL_RJCT_RSN', ['empty'], undefined);
32
+		
33
+		if (vali_sttlRjctRsn) {		
34
+			var sttlRjctRsn = $('#ITP_FORM_STTL_REJECT_REASON_POPUP_STTL_RJCT_RSN').val();	
35
+			
36
+			popPageObj.parentPopFn(sttlRjctRsn);
37
+			$('#ITP_BIZPOP_STTL_REJECT_REASON').modal('hide'); // 팝업닫기
38
+		}
39
+	} 
40
+};
41
+
42
+function itp_fn_BIZPOP_STTL_REJECT_REASON(parentPopFn, args, returnType) {
43
+	$('#ITP_BIZPOP_STTL_REJECT_REASON').one('shown.bs.modal', function(e) {
44
+		itp_fn_fire_window_resize();
45
+	}).one('hidden.bs.modal', function(e) {
46
+		$('#ITP_BIZPOP_STTL_REJECT_REASON').remove();
47
+	}).modal('show');
48
+
49
+	popPageObj.parentPopFn = parentPopFn;
50
+	popPageObj.args = args;
51
+	popPageObj.returnType = returnType;
52
+	popPageObj.init();
53
+}

+ 54 - 6
src/main/webapp/js/app/settmng/ITP_SETTMNG02010.js

@@ -25,9 +25,9 @@ let SETTMNG02010_DETAIL_GRID_LAST_ROW_ID;
25 25
 
26 26
 /*API URL*/
27 27
 let STTL_STATE_DETAIL_GRID_LIST = '/api/sttl/state/detail-grid-list';
28
+let STTL_INSPECT_STATE_STTL_CONFIRM = '/api/sttl/inspect/state/sttl-confirm';
29
+let STTL_INSPECT_STATE_STTL_REJECT = '/api/sttl/inspect/state/sttl-reject';
28 30
 
29
-let STTL_REQ_REQUEST_STTL = '/api/sttl/req/request-sttl';
30
-let STTL_REQ_REQUEST_STTL_PROC = '/api/sttl/req/request-sttl-proc';
31 31
 let STTL_REQ_INFO_STTL = '/api/sttl/req/info-sttl';
32 32
 let STTL_REQ_STL_GRID_LIST = '/api/sttl/req/stl-grid-list';
33 33
 
@@ -291,8 +291,8 @@ let pageObj = {
291 291
 					switch (id) {
292 292
 						case 'ITP_BTN_SETTMNG02010_SRH'				: listObj.button.search();		break;	// 조회 버튼 클릭
293 293
 						case 'ITP_BTN_SETTMNG02010_CANCELLIST'		: modifyObj.button.cancel(); 	break;	// 취소/목록 버튼
294
-						// case 'ITP_BTN_SETTMNG02010_NEWREG'			: listObj.button.reqSttl();	break;	// 정산요청 버튼
295
-						// case 'ITP_BTN_SETTMNG02010_REQUEST'			: modifyObj.button.request();	break;	// 요청 버튼
294
+						case 'ITP_BTN_SETTMNG02010_CONFIRM'			: modifyObj.button.confirmSttl();	break;	// 정산확정 버튼
295
+						case 'ITP_BTN_SETTMNG02010_REJECT'			: modifyObj.button.rejectSttl();	break;	// 정산반려 버튼
296 296
 					}
297 297
 				});
298 298
 			});
@@ -335,6 +335,8 @@ let pageObj = {
335 335
 			$('#ITP_BTN_SETTMNG02010_CANCELLIST').hide();
336 336
 			$('#ITP_BTN_SETTMNG02010_DELETE').hide();
337 337
 			$('#ITP_BTN_SETTMNG02010_REQUEST').hide();
338
+			$('#ITP_BTN_SETTMNG02010_CONFIRM').hide();
339
+			$('#ITP_BTN_SETTMNG02010_REJECT').hide();
338 340
 			
339 341
 			if(LOGIN_AUTH_TYPE_CD == '60') { // 공급사
340 342
 				$('#ITP_BTN_SETTMNG02010_SEARCH_SPPLY_POP').hide();
@@ -357,6 +359,8 @@ let pageObj = {
357 359
 			
358 360
 			fn_show_btn_auth('#ITP_BTN_SETTMNG02010_REQUEST');
359 361
 			fn_show_btn_auth('#ITP_BTN_SETTMNG02010_CANCELLIST');
362
+			fn_show_btn_auth('#ITP_BTN_SETTMNG02010_CONFIRM');
363
+			fn_show_btn_auth('#ITP_BTN_SETTMNG02010_REJECT');
360 364
 
361 365
 			$('#ITP_AJAX_SETTMNG02010_LIST_CONTAINER').hide();
362 366
 			$('#ITP_AJAX_SETTMNG02010_DETAIL_CONTAINER').show();
@@ -469,6 +473,36 @@ let modifyObj = {
469 473
 	button: {
470 474
 		cancel: function() {
471 475
 			listObj.grid.search();
476
+		}, 
477
+		confirmSttl: function() {
478
+			// 정산확정
479
+			const formId = '#ITP_FORM_SETTMNG02010_DETAIL';
480
+			let param = $(formId).serializeObject();
481
+			
482
+			// console.log(JSON.stringify(param));
483
+			var confirmFn= {
484
+				callBack: function() {
485
+					//
486
+					var searhFn = function() {
487
+						listObj.grid.search();
488
+					};
489
+					fn_ajax_call(STTL_INSPECT_STATE_STTL_CONFIRM, JSON.stringify(param), searhFn, 'POST'); 	
490
+				}
491
+			};
492
+			itp_fn_modal_confirm('정산 확정하시겠습니까?', confirmFn, null);
493
+		}, 
494
+		rejectSttl: function() {
495
+			// 정산반려
496
+			fn_call_popup('biz', 'BIZPOP_STTL_REJECT_REASON', '#ITP_ASIDE', function(result) {
497
+				// API 호출
498
+				let param = {};
499
+				param.sttlMgntUnqNo = $('#ITP_FORM_SETTMNG02010_DETAIL_STTL_MGNT_UNQ_NO').val();
500
+				param.sttlRjctRsn = result;
501
+				
502
+				fn_ajax_call(STTL_INSPECT_STATE_STTL_REJECT, JSON.stringify(param), function() {
503
+					listObj.grid.search();						
504
+				}, 'POST');				
505
+			}, null, 'S');
472 506
 		}
473 507
 	}, 
474 508
 	load: function(param) {
@@ -482,13 +516,27 @@ let modifyObj = {
482 516
 		$('#ITP_FORM_SETTMNG02010_DETAIL_STTL_MGNT_UNQ_NO').val(result.sttlMgntUnqNo);
483 517
 		
484 518
 		$('#ITP_FORM_SETTMNG02010_DETAIL .fnBrandNm').text(result.brandNm);
485
-		$('#ITP_FORM_SETTMNG02010_DETAIL .fnStoreNm').text(result.storeNm);
486
-		$('#ITP_FORM_SETTMNG02010_DETAIL_STTL_DT').val(result.sttlDt);  // 정산일자
519
+		$('#ITP_FORM_SETTMNG02010_DETAIL .fnSupplyNm').text(result.spplyNm);
520
+		
521
+		$('#ITP_FORM_SETTMNG02010_DETAIL .fnSttlRjctRsn').text(result.sttlRjctRsn);
487 522
 		$('#ITP_FORM_SETTMNG02010_DETAIL .fnSttlStNm').text(result.sttlStNm);
523
+		$('#ITP_FORM_SETTMNG02010_DETAIL .fnSttlReqDt').text(result.sttlReqDt);  // 정산일자
524
+		$('#ITP_FORM_SETTMNG02010_DETAIL .fnSttlReqAmt').text(itp_fn_number_comma(result.sttlReqAmt));
525
+		$('#ITP_FORM_SETTMNG02010_DETAIL .fnSttlDt').text(result.sttlDt == null ? '' : result.sttlDt);  // 정산일자
488 526
 		$('#ITP_FORM_SETTMNG02010_DETAIL .fnSttlAmt').text(itp_fn_number_comma(result.sttlAmt));
527
+		
489 528
 		$('#ITP_FORM_SETTMNG02010_DETAIL .fnAcctBal').text(itp_fn_number_comma(result.acctBal));
490 529
 		$('#ITP_FORM_SETTMNG02010_DETAIL .fnSysRegDttm').text(result.sysRegDttm);
491 530
 		$('#ITP_FORM_SETTMNG02010_DETAIL .fnSysRegNm').text(result.sysRegNm);
531
+		
532
+		// 정산요청 상태
533
+		if(result.sttlStCd == 'ST10') {
534
+			$('#ITP_BTN_SETTMNG02010_CONFIRM').show();
535
+			$('#ITP_BTN_SETTMNG02010_REJECT').show();
536
+		} else {
537
+			$('#ITP_BTN_SETTMNG02010_CONFIRM').hide();
538
+			$('#ITP_BTN_SETTMNG02010_REJECT').hide();
539
+		}		
492 540
 
493 541
 		// 리스트 조회
494 542
 		modifyObj.grid.init();