Pārlūkot izejas kodu

구매요청생성 처리

dwkim 2 gadi atpakaļ
vecāks
revīzija
87131a9248

+ 8 - 7
src/main/webapp/app/pomng/POMNG01010.html

@@ -18,7 +18,8 @@
18 18
 								<input type="hidden" id="ITP_FORM_POMNG01010_DETAIL_STORE_ID" name="storeId" value="">
19 19
 								<input type="hidden" id="ITP_FORM_POMNG01010_DETAIL_LOAN_DVSN" name="loanDvsn" value="">
20 20
 								<input type="hidden" id="ITP_FORM_POMNG01010_DETAIL_LOAN_MGNT_UNQ_NO" name="loanMgntUnqNo" value="">
21
-								<input type="hidden" id="ITP_FORM_POMNG01010_DETAIL_pchReqDvsn" name="pchReqDvsn" value="">
21
+								<input type="hidden" id="ITP_FORM_POMNG01010_DETAIL_PCH_REQ_DVSN" name="pchReqDvsn" value="">
22
+								<input type="hidden" id="ITP_FORM_POMNG01010_DETAIL_PCH_REQ_ST_CD" name="pchReqStCd" value="">
22 23
 					
23 24
 								<section class="itp_form_sec">
24 25
 									<h4 class="itp_form_tit">구매요청정보</h4>
@@ -56,22 +57,22 @@
56 57
 									</div>
57 58
 									<div class="itp_form_in">	
58 59
 										<div class="form-group">
59
-											<label class="col-xs-2 itp_lb">납기요청일</label>
60
+											<label class="col-xs-2 itp_lb">납기요청일 *</label>
60 61
 												<div class="col-xs-4 itp_ip">
61 62
 													<div class="col-xs-4 itp_in">
62 63
 														<div class="input-daterange input-group date">
63
-															<input type="text" id="ITP_FORM_POMNG01010_DETAIL_DLV_REQ_DT" class="form-control itp_input" name="dlvReqDt" value="">
64
+															<input type="text" id="ITP_FORM_POMNG01010_DETAIL_DLV_REQ_DT" data-check-required="empty" class="form-control itp_input" name="dlvReqDt" value="">
64 65
 														</div>
65 66
 													</div>
66 67
 												</div>
67
-											<label class="col-xs-2 itp_lb">납품장소</label>
68
+											<label class="col-xs-2 itp_lb">납품장소 *</label>
68 69
 											<div class="col-xs-4 itp_ip">
69 70
 												<div class="col-xs-4 itp_in">
70
-													<input type="text" id="ITP_FORM_POMNG01010_DETAIL_WHS_NM" class="form-control itp_input" name="whsNm" value="" />
71
+													<input type="text" id="ITP_FORM_POMNG01010_DETAIL_WHS_NM" data-check-required="empty" class="form-control itp_input" name="whsNm" value="" />
71 72
 													<input type="hidden" id="ITP_FORM_POMNG01010_DETAIL_WHS_ID" class="form-control itp_input" name="whsId" value="" />
72 73
 												</div>
73 74
 												<div class="col-xs-4 itp_in">
74
-													<input type="text" id="ITP_FORM_POMNG01010_DETAIL_LOCATION_NM" class="form-control itp_input" name="locationNm" value="" />
75
+													<input type="text" id="ITP_FORM_POMNG01010_DETAIL_LOCATION_NM" data-check-required="empty" class="form-control itp_input" name="locationNm" value="" />
75 76
 													<input type="hidden" id="ITP_FORM_POMNG01010_DETAIL_LOCATION" class="form-control itp_input" name="location" value="" />
76 77
 												</div>
77 78
 												<div class="col-xs-1 itp_in" style="width:23%; padding:0px;">
@@ -97,7 +98,7 @@
97 98
 										<div class="form-group">
98 99
 											<label class="col-xs-2 itp_lb">비고</label>
99 100
 											<div class="col-xs-10 itp_ip">
100
-												<input type="text" id="ITP_FORM_POMNG01010_DETAIL_NOTE" class="form-control itp_input" name="fnNote" value="" />
101
+												<input type="text" id="ITP_FORM_POMNG01010_DETAIL_NOTE" class="form-control itp_input" name="note" value="" />
101 102
 											</div>
102 103
 										</div>
103 104
 									</div>

+ 7 - 2
src/main/webapp/js/app/locales/locale-ko.js

@@ -167,7 +167,9 @@ const ITP_MSG_LOCALE = (function() {
167 167
 			"itemClassLevel3": "품목분류Level 3",
168 168
 			"itemClassLevel4": "품목분류Level 4",
169 169
 			"prnSeq": "출력순번",
170
-			"writeYn": "쓰기여부"
170
+			"writeYn": "쓰기여부",
171
+			"pchReqQty":"요청수량",
172
+			"pchReqAmt":"요청금액"
171 173
 		},
172 174
 		"table": {
173 175
 			"brandId": "브랜드ID",
@@ -248,7 +250,10 @@ const ITP_MSG_LOCALE = (function() {
248 250
 				"noXypos": "선택한 주소의 좌표값이 없습니다.",
249 251
 				"noLoc": "노출 위치를 선택해주세요.",
250 252
 				"cancelPay": "성공적으로 결제를 취소 하였습니다.",
251
-				"deletFaq": "TOP5에서도 함께 제거됩니다.<br>삭제 하시겠습니까?"
253
+				"deletFaq": "TOP5에서도 함께 제거됩니다.<br>삭제 하시겠습니까?",
254
+				"tmpSave": "임시저장 하시겠습니까?",
255
+				"reqSave": "구매요청 하시겠습니까?",
256
+				"lackReqAmt": "구매한도가 부족합니다."
252 257
 			},
253 258
 			"login": {
254 259
 				"help": "아이디와 비밀번호를 입력하세요.",

+ 75 - 41
src/main/webapp/js/app/pomng/ITP_POMNG01010.js

@@ -209,8 +209,8 @@ let pageObj = {
209 209
 				var id = $(this).attr('id');
210 210
 				$(this).on('click', function() {
211 211
 					switch (id) {
212
-						case 'ITP_BTN_POMNG01010_SRH': modifyObj.button.save(); break;	// 구매요청
213
-						case 'ITP_BTN_POMNG01010_NEWREG': modifyObj.button.newReg(); break;	// 임시저장
212
+						case 'ITP_BTN_POMNG01010_SRH': createObj.button.save("PR20"); break;	// 구매요청
213
+						case 'ITP_BTN_POMNG01010_NEWREG': createObj.button.save("PR00"); break;	// 임시저장
214 214
 						case 'ITP_BTN_POMNG01010_DETAIL_ADDROW': pageObj.grid.button.addRow(); break;	// 품목추가
215 215
 						case 'ITP_BTN_POMNG01010_DETAIL_DELROW': pageObj.grid.button.delRow(); break;	// 품목삭제
216 216
 					}
@@ -316,56 +316,85 @@ let createObj = {
316 316
 		//let param = 'brandId=' + LOGIN_USER_INFO.brandId + "&spplyId=" + LOGIN_USER_INFO.spplyId;
317 317
 		this.load();
318 318
 	},
319
+	newinit: function() {
320
+		$('#ITP_FORM_POMNG01010_DETAIL_BRAND_ID').val(fn_make_user_info.get('brandId'));
321
+		$('#ITP_FORM_POMNG01010_DETAIL_STORE_ID').val(fn_make_user_info.get('storeId'));
322
+		$('#ITP_FORM_POMNG01010_DETAIL_PCH_REQ_NM').val('');
323
+		$('#ITP_FORM_POMNG01010_DETAIL_NOTE').val('');
324
+		var now = new Date();
325
+		$('#ITP_TAB_POMNG01010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
326
+		$('#ITP_FORM_POMNG01010_DETAIL_DLV_REQ_DT').datepicker('setDate', new Date(now.setDate(now.getDate() + 5)));
327
+		
328
+		
329
+		this.load();  //==>dwkim 초기화 하여 다시 초기 데이타 가져와 뿌려줌
330
+		const key = {brandId:fn_make_user_info.get('brandId'),storeId:fn_make_user_info.get('storeId')};
331
+		fn_ajax_call(API_DETAIL_INIT_INFO, key, this.callback, 'GET');
332
+	},
319 333
 	button: {
320
-		save: function() {
334
+		save: function(arg) {
321 335
 			const formId = '#ITP_FORM_POMNG01010_DETAIL';
322 336
 			itp_fn_form_clear_validate(null, formId);
337
+			$('#ITP_FORM_POMNG01010_DETAIL_PCH_REQ_ST_CD').val(arg);
338
+			
339
+			//정산 타입이 무정산이면 스킵
340
+			var loanDvsn = $('#ITP_FORM_POMNG01010_DETAIL_LOAN_DVSN').val();
341
+			
342
+			if (loanDvsn != 'LD03' && arg == 'PR20' ) {
343
+				var pchActAtm = $('#ITP_FORM_POMNG01010_DETAIL .fnPchActAmt').text();
344
+				var pchReqAtm = $('#ITP_FORM_POMNG01010_DETAIL .fnPchReqAmt').text();
345
+				
346
+				if (parseInt(pchActAtm) < parseInt(pchReqAtm)) {
347
+					alert(ITP_MSG_LOCALE.message.ajax.lackReqAmt);
348
+					return;
349
+				}
350
+			}            
323 351
 
324
-			// if (vali_cmpyCd && vali_cmpyStatCd && vali_cmpyTypeCd && vali_cmpyNm && vali_bossNm && vali_mainTel && vali_mainEmail) {
325 352
 			if (itp_fn_form_event.isValid(formId)) {
326
-
327
-				// if($('#ITP_FORM_POMNG01010_DETAIL_CMPY_ZIPNO').val() === '' || $('#ITP_FORM_POMNG01010_DETAIL_CMPY_ADRES').val() === '') {
328
-				// 	itp_fn_modal_alert('주소 검색을 통해 회사 주소를 입력하세요.');
329
-				// 	return;
330
-				// }
331
-
332
-				if (ITP_FORM_POMNG01010_DETAIL_IS_DUPLICATE) {
333
-					itp_fn_modal_duplicate('회사코드 중복체크를 해주세요.', formId + '_AFFL_SHOP_ID');
334
-				} else {
335
-					let gridInsertData = [];
336
-					let gridUpdateData = [];
337
-					let gridDeleteData = [];
338
-					const rowData = $(POMNG01010_DETAIL_GRID_ID).getRowData();
339
-					const keyValue = $(formId + '_AFFL_SHOP_ID').val();
340
-					$.each(rowData, function(key, value) {
341
-						if (value.viewCd !== 'R') {
342
-							value.afflShopId = keyValue;
343
-							if (value.viewCd === 'C') {
344
-								gridInsertData.push(value);
345
-							} else if (value.viewCd === 'U') {
346
-								gridUpdateData.push(value);
347
-							} else if (value.viewCd === 'D') {
348
-								gridDeleteData.push(value);
353
+				var saveReq = {
354
+				callBack: function(args) {
355
+						$(formId).val(arg);
356
+						let gridInsertData = [];
357
+						let gridUpdateData = [];
358
+						let gridDeleteData = [];
359
+						const rowData = $(POMNG01010_DETAIL_GRID_ID).getRowData();
360
+						const keyValue = $(formId + '_AFFL_SHOP_ID').val();
361
+						$.each(rowData, function(key, value) {
362
+							if (value.viewCd !== 'R') {
363
+								if (value.viewCd === 'C') {
364
+									gridInsertData.push(value);
365
+								} else if (value.viewCd === 'U') {
366
+									gridUpdateData.push(value);
367
+								} else if (value.viewCd === 'D') {
368
+									gridDeleteData.push(value);
369
+								}
349 370
 							}
350
-						}
351
-					});
352
-
353
-					let param = $(formId).serializeObject();
354
-					param.gridInsertData = gridInsertData;
355
-					param.gridUpdateData = gridUpdateData;
356
-					param.gridDeleteData = gridDeleteData;
357
-					console.log(JSON.stringify(param));
358
-					var searhFn = function() {
359
-						ITP_FORM_POMNG01010_DETAIL_IS_WRITING = false;
360
-						viewObj.init();
361
-					};
362
-					fn_ajax_call(API_DETAIL_SAVE, JSON.stringify(param), searhFn, 'POST');
371
+						});
372
+		
373
+						let param = $(formId).serializeObject();
374
+						param.gridInsertData = gridInsertData;
375
+						param.gridUpdateData = gridUpdateData;
376
+						param.gridDeleteData = gridDeleteData;
377
+						console.log(JSON.stringify(param));
378
+						var searhFn = function() {
379
+							createObj.newinit();
380
+						};
381
+						fn_ajax_call(API_DETAIL_SAVE, JSON.stringify(param), searhFn, 'POST');				
382
+					}
383
+				};
384
+				if (arg == 'PR20') {
385
+					itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.reqSave, saveReq, null);
386
+				} else {
387
+					itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.tmpSave, saveReq, null);
363 388
 				}
389
+				
390
+				
391
+				
364 392
 			}
365 393
 		}
366 394
 	},
367 395
 	load: function() {
368
-		fn_ajax_call(API_DETAIL_INIT_INFO, '', this.callback, 'GET');
396
+		const key = {brandId:fn_make_user_info.get('brandId'),storeId:fn_make_user_info.get('storeId')};
397
+		fn_ajax_call(API_DETAIL_INIT_INFO, key, this.callback, 'GET');
369 398
 	},
370 399
 	callback: function(result) {
371 400
 		console.log(result);
@@ -377,12 +406,17 @@ let createObj = {
377 406
 		$('#ITP_FORM_POMNG01010_DETAIL #ITP_FORM_POMNG01010_DETAIL_LOAN_DVSN').val(result.loanDvsn);
378 407
 		$('#ITP_FORM_POMNG01010_DETAIL #ITP_FORM_POMNG01010_DETAIL_LOAN_MGNT_UNQ_NO').val(result.loanMgntUnqNo);
379 408
 		$('#ITP_FORM_POMNG01010_DETAIL #ITP_FORM_POMNG01010_DETAIL_PCH_REQ_DVSN').val(result.pchReqDvsn);
409
+		$('#ITP_FORM_POMNG01010_DETAIL #ITP_FORM_POMNG01010_DETAIL_WHS_ID').val(result.whsId);
410
+		$('#ITP_FORM_POMNG01010_DETAIL #ITP_FORM_POMNG01010_DETAIL_WHS_NM').val(result.whsNm);
411
+		$('#ITP_FORM_POMNG01010_DETAIL #ITP_FORM_POMNG01010_DETAIL_LOCATION').val(result.location);
412
+		$('#ITP_FORM_POMNG01010_DETAIL #ITP_FORM_POMNG01010_DETAIL_LOCATION_NM').val(result.locationNm);
380 413
 		$('#ITP_FORM_POMNG01010_DETAIL .fnBrandNm').text(result.brandNm);
381 414
 		$('#ITP_FORM_POMNG01010_DETAIL .fnPchReqDept').text(result.reqDept);
382 415
 		$('#ITP_FORM_POMNG01010_DETAIL .fnPchReqMgrNm').text(result.userNm);
383 416
 		$('#ITP_FORM_POMNG01010_DETAIL .fnPchReqAmt').text("0");
384 417
 		$('#ITP_FORM_POMNG01010_DETAIL .fnLoanDvsnNm').text(result.loanDvsnNm);
385 418
 		$('#ITP_FORM_POMNG01010_DETAIL .fnPchActAmt').text(result.ordUseAmt);
419
+		
386 420
 
387 421
 		pageObj.grid.init();
388 422
 	}