施肥散布実績機能を実装し運搬・作業記録・在庫連携を追加
This commit is contained in:
33
backend/apps/workrecords/services.py
Normal file
33
backend/apps/workrecords/services.py
Normal file
@@ -0,0 +1,33 @@
|
||||
from .models import WorkRecord
|
||||
|
||||
|
||||
def sync_delivery_work_record(trip):
|
||||
if trip.date is None:
|
||||
WorkRecord.objects.filter(delivery_trip=trip).delete()
|
||||
return
|
||||
|
||||
WorkRecord.objects.update_or_create(
|
||||
delivery_trip=trip,
|
||||
defaults={
|
||||
'work_date': trip.date,
|
||||
'work_type': WorkRecord.WorkType.FERTILIZER_DELIVERY,
|
||||
'title': f'肥料運搬: {trip.delivery_plan.name} {trip.order + 1}回目',
|
||||
'year': trip.delivery_plan.year,
|
||||
'auto_created': True,
|
||||
'spreading_session': None,
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
def sync_spreading_work_record(session):
|
||||
WorkRecord.objects.update_or_create(
|
||||
spreading_session=session,
|
||||
defaults={
|
||||
'work_date': session.date,
|
||||
'work_type': WorkRecord.WorkType.FERTILIZER_SPREADING,
|
||||
'title': f'肥料散布: {session.name.strip() or session.date}',
|
||||
'year': session.year,
|
||||
'auto_created': True,
|
||||
'delivery_trip': None,
|
||||
},
|
||||
)
|
||||
Reference in New Issue
Block a user