feat: materialbatch 添加supplier字段
This commit is contained in:
parent
c546e25808
commit
ed8ee4e68d
|
@ -0,0 +1,20 @@
|
|||
# Generated by Django 3.2.12 on 2024-10-11 04:38
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('pum', '0008_auto_20240731_1829'),
|
||||
('inm', '0019_mio_mgroup'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='materialbatch',
|
||||
name='supplier',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='pum.supplier', verbose_name='供应商'),
|
||||
),
|
||||
]
|
|
@ -28,6 +28,8 @@ class MaterialBatch(BaseModel):
|
|||
count = models.DecimalField('存量', max_digits=12, decimal_places=3, default=0)
|
||||
production_dept = models.ForeignKey('system.dept', verbose_name='生产车间', on_delete=models.CASCADE, null=True, blank=True)
|
||||
expiration_date = models.DateField('有效期', null=True, blank=True)
|
||||
supplier = models.ForeignKey(
|
||||
Supplier, verbose_name='供应商', on_delete=models.SET_NULL, null=True, blank=True)
|
||||
|
||||
class Meta:
|
||||
unique_together = ('material', 'batch', 'warehouse')
|
||||
|
|
|
@ -33,6 +33,8 @@ class MaterialBatchSerializer(CustomModelSerializer):
|
|||
source='warehouse.name', read_only=True)
|
||||
material_name = serializers.StringRelatedField(
|
||||
source='material', read_only=True)
|
||||
supplier_name = serializers.StringRelatedField(
|
||||
source='supplier', read_only=True)
|
||||
material_ = MaterialSerializer(source='material', read_only=True)
|
||||
|
||||
class Meta:
|
||||
|
@ -49,6 +51,8 @@ class MaterialBatchDetailSerializer(CustomModelSerializer):
|
|||
material_ = MaterialSerializer(source='material', read_only=True)
|
||||
assemb = MaterialBatchAListSerializer(
|
||||
source='a_mb', read_only=True, many=True)
|
||||
supplier_name = serializers.StringRelatedField(
|
||||
source='supplier', read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = MaterialBatch
|
||||
|
|
|
@ -90,7 +90,7 @@ class InmService:
|
|||
material=material,
|
||||
warehouse=warehouse,
|
||||
batch=i.batch,
|
||||
defaults={"material": material, "warehouse": warehouse, "count": 0, "batch": i.batch}
|
||||
defaults={"count": 0, "supplier": i.mio.supplier}
|
||||
)
|
||||
if in_or_out == 1:
|
||||
mb.count = mb.count + getattr(i, field)
|
||||
|
|
|
@ -48,7 +48,7 @@ class MaterialBatchViewSet(ListModelMixin, CustomGenericViewSet):
|
|||
queryset = MaterialBatch.objects.filter(count__gt=0)
|
||||
serializer_class = MaterialBatchSerializer
|
||||
retrieve_serializer_class = MaterialBatchDetailSerializer
|
||||
select_related_fields = ['warehouse', 'material']
|
||||
select_related_fields = ['warehouse', 'material', 'supplier']
|
||||
filterset_class = MaterialBatchFilter
|
||||
search_fields = ['material__name', 'material__number',
|
||||
'material__model', 'material__specification', 'batch']
|
||||
|
|
Loading…
Reference in New Issue