From 9d3cbbd1511e57ab28db08fc3ffb944ad226171a Mon Sep 17 00:00:00 2001 From: caoqianming Date: Tue, 25 Jan 2022 17:04:24 +0800 Subject: [PATCH] =?UTF-8?q?system=E5=A2=9E=E5=8A=A0last=5Fcheck=5Ftime?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hb_server/apps/hrm/tasks.py | 2 +- hb_server/apps/hrm/views.py | 1 + hb_server/apps/inm/serializers.py | 2 +- hb_server/apps/inm/serializers2.py | 15 --------------- hb_server/apps/sam/serializers.py | 2 +- .../migrations/0005_user_last_check_time.py | 18 ++++++++++++++++++ hb_server/apps/system/models.py | 1 + hb_server/apps/system/serializers.py | 2 +- 8 files changed, 24 insertions(+), 19 deletions(-) delete mode 100644 hb_server/apps/inm/serializers2.py create mode 100644 hb_server/apps/system/migrations/0005_user_last_check_time.py diff --git a/hb_server/apps/hrm/tasks.py b/hb_server/apps/hrm/tasks.py index d5d5a9f..65ffe92 100644 --- a/hb_server/apps/hrm/tasks.py +++ b/hb_server/apps/hrm/tasks.py @@ -11,7 +11,7 @@ def update_all_user_not_atwork(): """ 将所有员工设为非在岗状态 """ - User.objects.all().update(is_atwork=False) + User.objects.all().update(is_atwork=False, last_check_time = None) @shared_task def update_all_user_facedata_cache(): diff --git a/hb_server/apps/hrm/views.py b/hb_server/apps/hrm/views.py index dafe59c..e3d86b5 100644 --- a/hb_server/apps/hrm/views.py +++ b/hb_server/apps/hrm/views.py @@ -91,6 +91,7 @@ class ClockRecordViewSet(CreateModelMixin, ListModelMixin, GenericViewSet): ins.save() # 设为在岗 user.is_atwork = True + user.last_check_time = now user.save() return Response(UserSimpleSerializer(instance=user).data) return Response(msg, status=status.HTTP_400_BAD_REQUEST) diff --git a/hb_server/apps/inm/serializers.py b/hb_server/apps/inm/serializers.py index a807059..1a35e32 100644 --- a/hb_server/apps/inm/serializers.py +++ b/hb_server/apps/inm/serializers.py @@ -4,6 +4,7 @@ from rest_framework import serializers from apps.inm.models import FIFO, FIFOItem, FIFOItemProduct, IProduct, MaterialBatch, WareHouse, Inventory from apps.qm.models import TestRecord, TestRecordItem + from apps.system.serializers import FileSimpleSerializer, UserSimpleSerializer from apps.mtm.serializers import MaterialSimpleSerializer from django.db import transaction @@ -54,7 +55,6 @@ class IProductListSerializer(serializers.ModelSerializer): need_to_order = serializers.BooleanField(source='wproduct.need_to_order', read_only=True) is_mtestok = serializers.BooleanField(source='wproduct.is_mtestok', read_only=True) remark_mtest = serializers.CharField(source='wproduct.remark_mtest', read_only=True) - class Meta: model = IProduct fields = '__all__' diff --git a/hb_server/apps/inm/serializers2.py b/hb_server/apps/inm/serializers2.py deleted file mode 100644 index 3149e89..0000000 --- a/hb_server/apps/inm/serializers2.py +++ /dev/null @@ -1,15 +0,0 @@ -from rest_framework import serializers -from apps.inm.models import IProduct -from apps.mtm.serializers import MaterialSimpleSerializer - - -class IProductListSerializer(serializers.ModelSerializer): - material_ = MaterialSimpleSerializer(source='material', read_only=True) - warehouse_ = WareHouseSimpleSerializer(source='warehouse', read_only=True) - need_to_order = serializers.BooleanField(source='wproduct.need_to_order', read_only=True) - is_mtestok = serializers.BooleanField(source='wproduct.is_mtestok', read_only=True) - remark_mtest = serializers.CharField(source='wproduct.remark_mtest', read_only=True) - - class Meta: - model = IProduct - fields = '__all__' \ No newline at end of file diff --git a/hb_server/apps/sam/serializers.py b/hb_server/apps/sam/serializers.py index c00c178..a7d618b 100644 --- a/hb_server/apps/sam/serializers.py +++ b/hb_server/apps/sam/serializers.py @@ -63,7 +63,7 @@ class OrderSimpleSerializer(serializers.ModelSerializer): customer_ = CustomerSimpleSerializer(source='customer', read_only=True) class Meta: model = Order - fields = ['id', 'number', 'contract_', 'customer_', 'need_mtest'] + fields = ['id', 'number', 'contract_', 'customer_', 'need_mtest', 'delivery_date'] class SaleCreateSerializer(serializers.ModelSerializer): iproducts = serializers.PrimaryKeyRelatedField(queryset= diff --git a/hb_server/apps/system/migrations/0005_user_last_check_time.py b/hb_server/apps/system/migrations/0005_user_last_check_time.py new file mode 100644 index 0000000..284e91b --- /dev/null +++ b/hb_server/apps/system/migrations/0005_user_last_check_time.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.9 on 2022-01-25 08:51 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('system', '0004_user_is_atwork'), + ] + + operations = [ + migrations.AddField( + model_name='user', + name='last_check_time', + field=models.DateTimeField(blank=True, null=True, verbose_name='打卡时间'), + ), + ] diff --git a/hb_server/apps/system/models.py b/hb_server/apps/system/models.py index e77eae3..d69121a 100644 --- a/hb_server/apps/system/models.py +++ b/hb_server/apps/system/models.py @@ -117,6 +117,7 @@ class User(AbstractUser): 'self', null=True, blank=True, on_delete=models.SET_NULL, verbose_name='上级主管') roles = models.ManyToManyField(Role, blank=True, verbose_name='角色') is_atwork = models.BooleanField('当前在岗', default=False) + last_check_time = models.DateTimeField('打卡时间', null=True, blank=True) class Meta: verbose_name = '用户信息' diff --git a/hb_server/apps/system/serializers.py b/hb_server/apps/system/serializers.py index 1e397c5..209061c 100644 --- a/hb_server/apps/system/serializers.py +++ b/hb_server/apps/system/serializers.py @@ -144,7 +144,7 @@ class UserListSerializer(DynamicFieldsSerializerMixin, serializers.ModelSerializ fields = ['id', 'name', 'phone', 'email', 'position', 'username', 'is_active', 'date_joined', 'dept_name', 'dept', 'roles', 'avatar', - 'roles_name', 'is_atwork'] + 'roles_name', 'is_atwork', 'last_check_time'] @staticmethod def setup_eager_loading(queryset):