feat: sflog获取年月日优化

This commit is contained in:
caoqianming 2023-07-25 11:23:36 +08:00
parent 13382171de
commit b634bac616
5 changed files with 3 additions and 9 deletions

View File

@ -4,7 +4,6 @@ from apps.utils.constants import EXCLUDE_FIELDS
from rest_framework import serializers
from apps.mtm.models import Mgroup
from rest_framework.exceptions import ParseError
from django.utils.timezone import localtime
class MpointSerializer(CustomModelSerializer):
@ -67,8 +66,8 @@ class MpointStatSerializer(CustomModelSerializer):
if mpoint.material and mpoint.is_auto is False and 'sflog' in attrs and attrs['sflog']:
attrs['type'] = 'sflog'
sflog = attrs['sflog']
end_time_local = localtime(sflog.end_time)
attrs['year_s'], attrs['month_s'], attrs['day_s'], attrs['mgroup'] = end_time_local.year, end_time_local.month, end_time_local.day, sflog.mgroup
attrs['year_s'], attrs['month_s'], attrs['day_s'] = sflog.get_ymd
attrs['mgroup'] = sflog.mgroup
else:
raise ParseError('该数据不支持手工录入')
# if 'sflog' in attrs and attrs['sflog']:

View File

@ -11,7 +11,6 @@ import datetime
from django.db.models import Sum
from dateutil import tz
from django.conf import settings
from django.utils.timezone import localtime
from apps.wpm.services import make_sflogs
from apps.mtm.models import Mgroup, Material
from apps.fim.services import get_cost_unit, get_price_unit
@ -109,8 +108,7 @@ def cal_mpointstat_hour(mpointId: str, year: int, month: int, day: int, hour: in
if sflog is None: # 需要创建值班记录
make_sflogs(mgroup=mgroup, start_date=(dt-datetime.timedelta(days=1)).date(), end_date=dt.date())
sflog = SfLog.objects.filter(start_time__lte=dt, end_time__gt=dt, mgroup=mgroup).first()
end_time_local = localtime(sflog.end_time)
year_s, month_s, day_s = end_time_local.year, end_time_local.month, end_time_local.day
year_s, month_s, day_s = sflog.get_ymd
params_hour_s = {'type': 'hour_s', 'mpoint': mpoint, 'sflog': sflog, 'mgroup': mgroup, 'year': year, 'month': month, 'day': day, 'year_s': year_s, 'month_s': month_s, 'day_s': day_s, 'hour': hour}
ms_hour_s, _ = MpointStat.objects.get_or_create(**params_hour_s, defaults=params_hour_s)

View File

@ -8,7 +8,6 @@ from drf_yasg.utils import swagger_auto_schema
from apps.fim.serializers import CostStatSerializer
from apps.mtm.models import Material
import datetime
from django.utils.timezone import localtime
from apps.enm.models import EnStat, MpointStat
from django.db.models import Sum
from apps.fim.services import get_price_unit, get_cost_unit

View File

@ -4,7 +4,6 @@ from apps.utils.serializers import CustomModelSerializer
from rest_framework import serializers
from apps.system.models import Dept, Dictionary
from apps.wpm.models import SfLog
from django.utils.timezone import localtime
class TestItemSerializer(CustomModelSerializer):
class Meta:

View File

@ -11,7 +11,6 @@ from apps.wpm.models import SfLog, StLog, StSfLog
from apps.wpm.serializers import SfLogSerializer, StLogSerializer, StSfLogSerializer
from apps.wpm.filters import SfLogFilter
from apps.mtm.models import Material
from django.utils.timezone import localtime
# Create your views here.
class StLogViewSet(ListModelMixin, CustomGenericViewSet):