사용자 도구

사이트 도구


white:excel_upload

문서의 이전 판입니다!


Excel Upload

Upload Action

			<h5:Action name="upload" type="SCRIPT" >
				isExcelUpload = true;
				let dtm_hol_plan_id = getDataGridColumnValue("mySheet1", "dtm_hol_plan_id");
 
				var params = {Mode:"HeaderMatch",ExtendParam:"auto_value_column=dtm_hol_plan_emp_id" 
				+ ",dtm_hol_plan_id=" + dtm_hol_plan_id};
				mySheet2.LoadExcel(params);
			</h5:Action>

사번을 모아서 성명처리

pee0330.jsp

		function f_replace_emp(emps, emp){
			emps.set(emp.emp_no, $.extend(emps.get(emp.emp_no), emp) );
		}
		function f_add_emp(emps, emp_no){
			if( emp_no == undefined || emp_no.length == 0 ) return;
			if( !emps.has(emp_no) )
				emps.set( emp_no, {emp_no:emp_no} );
		}
		function f_get_emp_no(emps) {
			let emp_nos = [];
			emps.forEach( function(emp){ emp_nos.push(emp.emp_no); } );
			return emp_nos;
		}
		mySheet2_OnLoadExcel = function() {
			let sheet = mySheet2;
			let headerrow = sheet.HeaderRows();
			let selRow = -1;
			let fail_list = [];
			let myEmps = new Map()
			// 사번을 모으자
			for( let i = 0; i != sheet.GetTotalRows(); ++i ) {
				selRow = i + headerrow;
				f_add_emp(myEmps, sheet.GetCellValue( selRow, "emp_no" ) );
				f_add_emp(myEmps, sheet.GetCellValue( selRow, "appr_emp_no" ) );
			}
			let empNos = f_get_emp_no(myEmps).join();
			var requestObject = {
					"HEADER":headerObject,
					"BODY":{ "ME_PEE0330_05":[ {
								"company_cd":getCompanyCd(),
								"locale_cd":getLocaleCode(),
								"emp_nos":empNos
							} ] }
				};
 
			execute(
				"checkEmpNo",
				"PEE0330_00_R03",
				requestObject,
				function( actionType, obj ) {
					var data = obj[ "ME_PEE0330_06" ];
					if( data != undefined && data != null && data != "" ) {
						data.forEach(function(rEmp){
							f_replace_emp(myEmps, {
								emp_id: rEmp.emp_id,
								emp_no: rEmp.emp_no,
								emp_nm: rEmp.emp_nm,
								pos_nm: rEmp.pos_nm,
								org_nm1: rEmp.org_nm1,
								org_nm2: rEmp.org_nm2,
								org_nm3: rEmp.org_nm3,
								duty_nm: rEmp.duty_nm
								});
						});
					} else {
						alert("ERROR Load EMP_NO!!");
					}
				},
				function( actionType, obj ) {
					alert("ERROR Load EMP_NO");
				},
				false
			);
 
			// 사번에 대한 정보를 얻어 왔음
			//console.log(myEmps);
			// 사원정보를 채우자
			console.log(myEmps);
			for( let i = 0; i != sheet.GetTotalRows(); ++i ) {
				selRow = i + headerrow;
				let emp = myEmps.get(sheet.GetCellValue( selRow, "emp_no" ));
				if( emp != undefined ) {
					sheet.SetCellValue( selRow, "emp_id", emp.emp_id);
					sheet.SetCellValue( selRow, "emp_nm", emp.emp_nm);
					sheet.SetCellValue( selRow, "pos_nm", emp.pos_nm);
					sheet.SetCellValue( selRow, "org_nm1", emp.org_nm1);
					sheet.SetCellValue( selRow, "org_nm2", emp.org_nm2);
					sheet.SetCellValue( selRow, "org_nm3", emp.org_nm3);
					sheet.SetCellValue( selRow, "duty_nm", emp.duty_nm);
				}
				emp = myEmps.get(sheet.GetCellValue( selRow, "appr_emp_no" ));
				if( emp != undefined ) {
					sheet.SetCellValue( selRow, "appr_emp_id", emp.emp_id);
					sheet.SetCellValue( selRow, "appr_emp_nm", emp.emp_nm);
				}
			}
		}
white/excel_upload.1591415634.txt.gz · 마지막으로 수정됨: 2025/04/15 10:05 (바깥 편집)