From d64f51e631235370249b538b15826fa535599fdc Mon Sep 17 00:00:00 2001 From: caoqianming Date: Fri, 18 Mar 2022 16:50:29 +0800 Subject: [PATCH 1/3] =?UTF-8?q?plan=20near=5Fdone=20out=5Fdone=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hb_server/apps/pm/filters.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/hb_server/apps/pm/filters.py b/hb_server/apps/pm/filters.py index a53c29d..f01736b 100644 --- a/hb_server/apps/pm/filters.py +++ b/hb_server/apps/pm/filters.py @@ -27,10 +27,11 @@ class PlanFilterSet(DynamicFieldsFilterMixin, filters.FilterSet): ProductionPlan.PLAN_MTEST_DONE]) elif value == 'near_done': queryset = queryset.filter(count_ok__lt=F('count'), - end_date__lte = datetime.date(day7_after)) + end_date__lte = datetime.date(day7_after), + end_date__gte = datetime.date(now)) elif value == 'out_done': queryset = queryset.filter(count_ok__lt=F('count'), - end_date__gt = datetime.date(now)) + end_date__lt = datetime.date(now)) return queryset def filter_material(self, queryset, name, value): From 31d6cbf3a9b91793acbf158846cdfe67af525240 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Fri, 18 Mar 2022 17:07:49 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E8=A1=A8=E5=81=87=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../migrations/0004_auto_20220318_1705.py | 36 +++++++++++++++++++ hb_server/apps/system/models.py | 10 ++++-- 2 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 hb_server/apps/system/migrations/0004_auto_20220318_1705.py diff --git a/hb_server/apps/system/migrations/0004_auto_20220318_1705.py b/hb_server/apps/system/migrations/0004_auto_20220318_1705.py new file mode 100644 index 0000000..7979291 --- /dev/null +++ b/hb_server/apps/system/migrations/0004_auto_20220318_1705.py @@ -0,0 +1,36 @@ +# Generated by Django 3.2.9 on 2022-03-18 09:05 + +import apps.system.models +from django.db import migrations, models +import django.utils.timezone + + +class Migration(migrations.Migration): + + dependencies = [ + ('system', '0003_auto_20210812_0909'), + ] + + operations = [ + migrations.AlterModelManagers( + name='user', + managers=[ + ('objects', apps.system.models.SoftDeletableUserManager()), + ], + ), + migrations.AddField( + model_name='user', + name='create_time', + field=models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间'), + ), + migrations.AddField( + model_name='user', + name='is_deleted', + field=models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记'), + ), + migrations.AddField( + model_name='user', + name='update_time', + field=models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间'), + ), + ] diff --git a/hb_server/apps/system/models.py b/hb_server/apps/system/models.py index c773fcf..4db171b 100644 --- a/hb_server/apps/system/models.py +++ b/hb_server/apps/system/models.py @@ -4,7 +4,7 @@ from django.db.models.base import Model import django.utils.timezone as timezone from django.db.models.query import QuerySet -from utils.model import SoftModel, BaseModel +from utils.model import SoftModel, BaseModel, SoftDeletableManagerMixin from simple_history.models import HistoricalRecords @@ -101,7 +101,12 @@ class Role(SoftModel): return self.name -class User(AbstractUser): +from django.contrib.auth.models import UserManager + +class SoftDeletableUserManager(SoftDeletableManagerMixin, UserManager): + pass + +class User(SoftModel, AbstractUser): """ 用户 """ @@ -117,6 +122,7 @@ class User(AbstractUser): 'self', null=True, blank=True, on_delete=models.SET_NULL, verbose_name='上级主管') roles = models.ManyToManyField(Role, blank=True, verbose_name='角色') + objects = SoftDeletableUserManager() class Meta: verbose_name = '用户信息' verbose_name_plural = verbose_name From d1fe27db0e20a3d330514693b8099737f78812bb Mon Sep 17 00:00:00 2001 From: caoqianming Date: Wed, 23 Mar 2022 14:33:23 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=85=B6=E4=BB=96=E5=87=BA=E5=BA=93=20fifo?= =?UTF-8?q?itemcreate=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hb_server/apps/inm/serializers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hb_server/apps/inm/serializers.py b/hb_server/apps/inm/serializers.py index c5df25b..9b60cc1 100644 --- a/hb_server/apps/inm/serializers.py +++ b/hb_server/apps/inm/serializers.py @@ -98,7 +98,7 @@ class FIFOItemCreateSerializer(serializers.ModelSerializer): validated_data['material']=pu_order_item.material if fifo.type == FIFO.FIFO_TYPE_OTHER_OUT and material_batch is None: raise ValidationError('其他出库需关联批次号') - else: + if material_batch: validated_data['material'] = material_batch.material validated_data['batch'] = material_batch.batch validated_data['warehouse'] = material_batch.warehouse