From c3605ff1db4a1ed514a134dd75dec1710d6fc23a Mon Sep 17 00:00:00 2001 From: TianyangZhang Date: Wed, 4 Mar 2026 13:56:00 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20hrm-views=20=E4=BF=AE=E6=94=B9employee?= =?UTF-8?q?=20=E4=BA=BA=E5=91=98=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/hrm/views.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/apps/hrm/views.py b/apps/hrm/views.py index ce919935..7bd5afc8 100755 --- a/apps/hrm/views.py +++ b/apps/hrm/views.py @@ -311,11 +311,12 @@ class EmployeeViewSet(CustomModelViewSet): @action(methods=['post'], detail=False, perms_map={'post': 'employee.import_excel'}, serializer_class=serializers.Serializer) def import_excel(self, request, pk=None): + import logging + myLogger = logging.getLogger('log') """导入excel""" file_path = request.data.get('file_path') - if file_path: - file_path = r"C:\Users\11825\Desktop\0303光芯花名册.xlsx" - + # if file_path: + # file_path = r"C:\Users\11825\Desktop\0303光芯花名册.xlsx" abs_path = os.path.join(settings.BASE_DIR, file_path) wb = load_workbook(abs_path, data_only=True) sheet = wb.active @@ -363,7 +364,7 @@ class EmployeeViewSet(CustomModelViewSet): if not id_number or not name: raise ParseError(f'第{row_num}行,身份证号或姓名为空') - print(f"处理第{row_num}行:{name} - {id_number}") + myLogger.info(f"处理第{row_num}行:{name} - {id_number}") # 处理人员类型 if 'type' in data and data['type']: excel_type = data['type'] @@ -398,18 +399,18 @@ class EmployeeViewSet(CustomModelViewSet): except Exception as e: raise if created: - print(f"✅ 第{row_num}行新增成功:{name}") + myLogger.info(f"✅ 第{row_num}行新增成功:{name}") else: - print(f"✅ 第{row_num}行更新成功:{name}") + myLogger.info(f"✅ 第{row_num}行更新成功:{name}") success += 1 except Exception as e: error_msg = f'第{row_num}行处理失败:{str(e)}' - print(f"❌ {error_msg}") + myLogger.error(f"❌ {error_msg}") errors.append({'row': row_num, 'error': str(e)}) - print(f"\n处理完成:成功{success}条,失败{len(errors)}条") + myLogger.info(f"\n处理完成:成功{success}条,失败{len(errors)}条") return Response({'success': success, 'errors': errors})