feat: 光子批次统计增加组合件信息
This commit is contained in:
parent
763c64d5d0
commit
1c24e9948b
|
@ -4,7 +4,7 @@ from apps.wpm.models import Mlog, Handover
|
|||
from apps.mtm.models import Mgroup
|
||||
import decimal
|
||||
from apps.system.models import Dept
|
||||
from apps.inm.models import MIOItem
|
||||
from apps.inm.models import MIOItem, MIOItemA, MaterialBatchA
|
||||
from apps.qm.models import FtestWork
|
||||
from apps.wpm.services_2 import get_f_l_date
|
||||
import json
|
||||
|
@ -384,11 +384,6 @@ def main(batch: str, mgroup_obj):
|
|||
data[f'六车间生产入库_{field}'] = getattr(item, field)
|
||||
else:
|
||||
data[f'六车间生产入库_{field}'] += getattr(item, field)
|
||||
data["六车间生产入库_日期"] = list(set(data["六车间生产入库_日期"]))
|
||||
data["六车间生产入库_日期"].sort()
|
||||
data["六车间生产入库_小日期"] = max(data["六车间生产入库_日期"]).strftime("%Y-%m-%d")
|
||||
data["六车间生产入库_大日期"] = min(data["六车间生产入库_日期"]).strftime("%Y-%m-%d")
|
||||
data["六车间生产入库_日期"] = ";".join([item.strftime("%Y-%m-%d") for item in data["六车间生产入库_日期"]])
|
||||
data["六车间生产入库_检验日期"] = list(set(data["六车间生产入库_检验日期"]))
|
||||
data["六车间生产入库_检验日期"] = ";".join([item.strftime("%Y-%m-%d") for item in data["六车间生产入库_检验日期"]])
|
||||
data['六车间生产入库_检验人'] = list(set(data['六车间生产入库_检验人']))
|
||||
|
@ -399,6 +394,30 @@ def main(batch: str, mgroup_obj):
|
|||
# myLogger.error("六车间生产入库_合格率decimal.InvalidOperation-{data}")
|
||||
data['六车间生产入库_合格率'] = 0
|
||||
|
||||
# 六车间入库时会有组合件
|
||||
mioitema6_qs = MIOItemA.objects.filter(mioitem__mio__belong_dept=dept6, mioitem__mio__type="do_in",
|
||||
batch=batch,
|
||||
mioitem__mio__submit_time__isnull=False)
|
||||
if mioitema6_qs.exists():
|
||||
data["六车间生产入库_组合件_批次号"] = []
|
||||
if "六车间生产入库_日期" not in data:
|
||||
data["六车间生产入库_日期"] = []
|
||||
if "六车间生产入库_count" not in data:
|
||||
data["六车间生产入库_count"] = 0
|
||||
for item in mioitema6_qs:
|
||||
data["六车间生产入库_日期"].append(item.mioitem.mio.inout_date)
|
||||
data["六车间生产入库_count"] += item.rate * item.mioitem.count
|
||||
data["六车间生产入库_组合件_批次号"].append(item.mioitem.batch)
|
||||
data["六车间生产入库_组合件_批次号"] = list(set(data["六车间生产入库_组合件_批次号"]))
|
||||
data["六车间生产入库_组合件_批次号"] = ";".join(data["六车间生产入库_组合件_批次号"])
|
||||
|
||||
if "六车间生产入库_日期" in data:
|
||||
data["六车间生产入库_日期"] = list(set(data["六车间生产入库_日期"]))
|
||||
data["六车间生产入库_日期"].sort()
|
||||
data["六车间生产入库_小日期"] = max(data["六车间生产入库_日期"]).strftime("%Y-%m-%d")
|
||||
data["六车间生产入库_大日期"] = min(data["六车间生产入库_日期"]).strftime("%Y-%m-%d")
|
||||
data["六车间生产入库_日期"] = ";".join([item.strftime("%Y-%m-%d") for item in data["六车间生产入库_日期"]])
|
||||
|
||||
# 成品检验数据
|
||||
ftestwork_qs = FtestWork.objects.filter(batch=batch, type="prod")
|
||||
if ftestwork_qs.exists():
|
||||
|
@ -451,10 +470,29 @@ def main(batch: str, mgroup_obj):
|
|||
if item.mio.mio_user:
|
||||
data['销售发货_仓库执行人'].append(item.mio.mio_user)
|
||||
data['销售发货_count']+= item.count
|
||||
|
||||
|
||||
# 销售发货的组合件信息
|
||||
mioitem_qs_assemb = MIOItem.objects.filter(mio__type="sale_out", mb__a_mb__batch=batch, mio__submit_time__isnull=False)
|
||||
if mioitem_qs.exists():
|
||||
if "销售发货_日期" not in data:
|
||||
data["销售发货_日期"] = []
|
||||
data['销售发货_仓库执行人'] = []
|
||||
data['销售发货_count'] = 0
|
||||
for item in mioitem_qs_assemb:
|
||||
data["销售发货_日期"].append(item.mio.inout_date)
|
||||
if item.mio.mio_user:
|
||||
data['销售发货_仓库执行人'].append(item.mio.mio_user)
|
||||
mba = MaterialBatchA.objects.get(batch=batch, mb=item.mb)
|
||||
data['销售发货_count']+= item.count * mba.rate
|
||||
|
||||
|
||||
if "销售发货_日期" in data:
|
||||
if getattr(data, "棒料成型_count_real", 0) > 0:
|
||||
data["七车间_批次发货合格率"] = round(data["销售发货_count"] * 100/ data["棒料成型_count_real"], 1)
|
||||
if getattr(data, "六车间领料_count", 0) > 0:
|
||||
data["六车间_批次发货合格率"] = round(data["销售发货_count"] * 100/ data["六车间领料_count"], 1)
|
||||
|
||||
data['销售发货_仓库执行人'] = list(set(data['销售发货_仓库执行人']))
|
||||
data['销售发货_仓库执行人'] = ";".join([item.name for item in data['销售发货_仓库执行人']])
|
||||
data["销售发货_日期"] = list(set(data["销售发货_日期"]))
|
||||
|
|
Loading…
Reference in New Issue