Merge branch 'develop' of https://e.coding.net/ctcdevteam/hberp/hberp into develop

This commit is contained in:
shijing 2022-03-24 14:01:32 +08:00
commit 9c9982ab06
4 changed files with 48 additions and 5 deletions

View File

@ -98,7 +98,7 @@ class FIFOItemCreateSerializer(serializers.ModelSerializer):
validated_data['material']=pu_order_item.material validated_data['material']=pu_order_item.material
if fifo.type == FIFO.FIFO_TYPE_OTHER_OUT and material_batch is None: if fifo.type == FIFO.FIFO_TYPE_OTHER_OUT and material_batch is None:
raise ValidationError('其他出库需关联批次号') raise ValidationError('其他出库需关联批次号')
else: if material_batch:
validated_data['material'] = material_batch.material validated_data['material'] = material_batch.material
validated_data['batch'] = material_batch.batch validated_data['batch'] = material_batch.batch
validated_data['warehouse'] = material_batch.warehouse validated_data['warehouse'] = material_batch.warehouse

View File

@ -27,10 +27,11 @@ class PlanFilterSet(DynamicFieldsFilterMixin, filters.FilterSet):
ProductionPlan.PLAN_MTEST_DONE]) ProductionPlan.PLAN_MTEST_DONE])
elif value == 'near_done': elif value == 'near_done':
queryset = queryset.filter(count_ok__lt=F('count'), 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': elif value == 'out_done':
queryset = queryset.filter(count_ok__lt=F('count'), queryset = queryset.filter(count_ok__lt=F('count'),
end_date__gt = datetime.date(now)) end_date__lt = datetime.date(now))
return queryset return queryset
def filter_material(self, queryset, name, value): def filter_material(self, queryset, name, value):

View File

@ -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='修改时间'),
),
]

View File

@ -4,7 +4,7 @@ from django.db.models.base import Model
import django.utils.timezone as timezone import django.utils.timezone as timezone
from django.db.models.query import QuerySet 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 from simple_history.models import HistoricalRecords
@ -101,7 +101,12 @@ class Role(SoftModel):
return self.name 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='上级主管') 'self', null=True, blank=True, on_delete=models.SET_NULL, verbose_name='上级主管')
roles = models.ManyToManyField(Role, blank=True, verbose_name='角色') roles = models.ManyToManyField(Role, blank=True, verbose_name='角色')
objects = SoftDeletableUserManager()
class Meta: class Meta:
verbose_name = '用户信息' verbose_name = '用户信息'
verbose_name_plural = verbose_name verbose_name_plural = verbose_name