feat: 交接记录子项需保证工段/车间一致
This commit is contained in:
parent
b39b0e7923
commit
cf6633592a
|
|
@ -655,6 +655,10 @@ class Handover(CommonADModel):
|
|||
def handoverb(self):
|
||||
return Handoverb.objects.filter(handover=self)
|
||||
|
||||
@property
|
||||
def belong_dept_or_mgroup_id(self):
|
||||
return self.mgroup.id if self.mgroup else self.belong_dept.id
|
||||
|
||||
class Handoverb(BaseModel):
|
||||
"""TN: 子级交接记录
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -1261,12 +1261,18 @@ class HandoverSerializer(CustomModelSerializer):
|
|||
next_mat = new_wm.material
|
||||
next_state = new_wm.state
|
||||
next_defect = new_wm.defect
|
||||
deptOrmgroupId = None
|
||||
for ind, item in enumerate(attrs['handoverb']):
|
||||
if item["count"] > 0:
|
||||
pass
|
||||
else:
|
||||
raise ParseError(f'第{ind+1}行-交接数量必须大于0')
|
||||
wm = item["wm"]
|
||||
wm: WMaterial = item["wm"]
|
||||
current_mdept_id = wm.belong_dept_or_mgroup_id
|
||||
if deptOrmgroupId is None:
|
||||
deptOrmgroupId = current_mdept_id
|
||||
elif deptOrmgroupId != current_mdept_id:
|
||||
raise ParseError(f'第{ind+1}行-交接物料所属工段/车间不一致')
|
||||
if mtype == Handover.H_MERGE:
|
||||
if next_mat is None:
|
||||
next_mat = wm.material
|
||||
|
|
|
|||
Loading…
Reference in New Issue