Merge branch 'master' of http://gitea.xxhhcty.xyz:8080/zcdsj/factory
This commit is contained in:
commit
7732ddc88e
|
@ -355,12 +355,12 @@ class MlogSerializer(CustomModelSerializer):
|
||||||
model = Mlog
|
model = Mlog
|
||||||
fields = '__all__'
|
fields = '__all__'
|
||||||
read_only_fields = EXCLUDE_FIELDS + \
|
read_only_fields = EXCLUDE_FIELDS + \
|
||||||
['submit_time', 'submit_user', 'material_outs', "handle_date", "shift"]
|
['submit_time', 'submit_user', 'material_outs']
|
||||||
extra_kwargs = {
|
extra_kwargs = {
|
||||||
"batch": {"required": True},
|
"batch": {"required": True},
|
||||||
"shift": {"required": False},
|
"shift": {"required": False},
|
||||||
"material_out": {"required": True},
|
"material_out": {"required": True},
|
||||||
"work_start_time": {"required": True}
|
"work_start_time": {"required": False}
|
||||||
}
|
}
|
||||||
|
|
||||||
def create(self, validated_data):
|
def create(self, validated_data):
|
||||||
|
@ -634,14 +634,20 @@ class MlogSerializer(CustomModelSerializer):
|
||||||
|
|
||||||
# 时间
|
# 时间
|
||||||
mgroup:Mgroup = attrs['mgroup']
|
mgroup:Mgroup = attrs['mgroup']
|
||||||
work_start_time:datetime = attrs['work_start_time']
|
work_start_time:datetime = attrs.get('work_start_time', None)
|
||||||
handle_date, attrs["shift"] = mgroup.get_shift(work_start_time)
|
if work_start_time:
|
||||||
|
attrs['handle_date'], attrs["shift"] = mgroup.get_shift(work_start_time)
|
||||||
|
else:
|
||||||
|
if "handle_date" in attrs and attrs["handle_date"]:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
raise ParseError('缺少生产日期')
|
||||||
if mtask and mtask.start_date == mtask.end_date:
|
if mtask and mtask.start_date == mtask.end_date:
|
||||||
attrs['handle_date'] = mtask.end_date
|
if attrs['handle_date'] != mtask.end_date:
|
||||||
if attrs['handle_date'] != handle_date:
|
if work_start_time:
|
||||||
raise ParseError('任务日期与生产日期不一致')
|
raise ParseError('任务日期与生产日期不一致')
|
||||||
else:
|
else:
|
||||||
attrs['handle_date'] = handle_date
|
attrs['handle_date'] = mtask.end_date
|
||||||
|
|
||||||
handle_user = attrs.get('handle_user', None)
|
handle_user = attrs.get('handle_user', None)
|
||||||
if handle_user is None and hasattr(self, "request"):
|
if handle_user is None and hasattr(self, "request"):
|
||||||
|
|
|
@ -152,7 +152,7 @@ def mlog_submit(mlog: Mlog, user: User, now: Union[datetime.datetime, None]):
|
||||||
"""
|
"""
|
||||||
生产日志提交后需要执行的操作
|
生产日志提交后需要执行的操作
|
||||||
"""
|
"""
|
||||||
if mlog.work_start_time > timezone.now():
|
if mlog.work_start_time and mlog.work_start_time > timezone.now():
|
||||||
raise ParseError('操作开始时间不能晚于当前时间')
|
raise ParseError('操作开始时间不能晚于当前时间')
|
||||||
if mlog.work_start_time and mlog.work_end_time and mlog.work_end_time < mlog.work_start_time:
|
if mlog.work_start_time and mlog.work_end_time and mlog.work_end_time < mlog.work_start_time:
|
||||||
raise ParseError('操作结束时间不能早于操作开始时间')
|
raise ParseError('操作结束时间不能早于操作开始时间')
|
||||||
|
@ -385,7 +385,7 @@ def mlog_submit(mlog: Mlog, user: User, now: Union[datetime.datetime, None]):
|
||||||
mlog.submit_user = user
|
mlog.submit_user = user
|
||||||
mlog.stored_notok = stored_notok
|
mlog.stored_notok = stored_notok
|
||||||
mlog.stored_mgroup = stored_mgroup
|
mlog.stored_mgroup = stored_mgroup
|
||||||
if mlog.work_end_time is None:
|
if mlog.work_end_time is None and mlog.work_start_time is not None:
|
||||||
mlog.work_end_time = now
|
mlog.work_end_time = now
|
||||||
mlog.save()
|
mlog.save()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue