施肥散布実績機能を実装し運搬・作業記録・在庫連携を追加

This commit is contained in:
Akira
2026-03-17 19:28:52 +09:00
parent 865d53ed9a
commit 140d5e5a4d
31 changed files with 2053 additions and 248 deletions

View File

@@ -0,0 +1,25 @@
# Generated by Django 5.0 on 2026-03-17 08:49
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('fertilizer', '0008_spreadingsession_fertilizationentry_actual_bags_and_more'),
('materials', '0002_stocktransaction_fertilization_plan'),
]
operations = [
migrations.AddField(
model_name='stocktransaction',
name='spreading_item',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='stock_transactions', to='fertilizer.spreadingsessionitem', verbose_name='散布実績明細'),
),
migrations.AlterField(
model_name='stocktransaction',
name='transaction_type',
field=models.CharField(choices=[('purchase', '入庫'), ('use', '使用'), ('reserve', '引当'), ('adjustment_plus', '棚卸増'), ('adjustment_minus', '棚卸減'), ('discard', '廃棄')], max_length=30, verbose_name='取引種別'),
),
]

View File

@@ -205,6 +205,14 @@ class StockTransaction(models.Model):
related_name='stock_reservations',
verbose_name='施肥計画',
)
spreading_item = models.ForeignKey(
'fertilizer.SpreadingSessionItem',
on_delete=models.CASCADE,
null=True,
blank=True,
related_name='stock_transactions',
verbose_name='散布実績明細',
)
created_at = models.DateTimeField(auto_now_add=True)
class Meta:

View File

@@ -14,9 +14,6 @@ def create_reserves_for_plan(plan):
transaction_type=StockTransaction.TransactionType.RESERVE,
).delete()
if plan.is_confirmed:
return
occurred_on = (
plan.updated_at.date() if getattr(plan, 'updated_at', None) else timezone.localdate()
)