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
|
from apps.mtm.models import Mgroup
|
||||||
import decimal
|
import decimal
|
||||||
from apps.system.models import Dept
|
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.qm.models import FtestWork
|
||||||
from apps.wpm.services_2 import get_f_l_date
|
from apps.wpm.services_2 import get_f_l_date
|
||||||
import json
|
import json
|
||||||
|
@ -384,11 +384,6 @@ def main(batch: str, mgroup_obj):
|
||||||
data[f'六车间生产入库_{field}'] = getattr(item, field)
|
data[f'六车间生产入库_{field}'] = getattr(item, field)
|
||||||
else:
|
else:
|
||||||
data[f'六车间生产入库_{field}'] += getattr(item, field)
|
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["六车间生产入库_检验日期"] = list(set(data["六车间生产入库_检验日期"]))
|
||||||
data["六车间生产入库_检验日期"] = ";".join([item.strftime("%Y-%m-%d") for item in data["六车间生产入库_检验日期"]])
|
data["六车间生产入库_检验日期"] = ";".join([item.strftime("%Y-%m-%d") for item in data["六车间生产入库_检验日期"]])
|
||||||
data['六车间生产入库_检验人'] = list(set(data['六车间生产入库_检验人']))
|
data['六车间生产入库_检验人'] = list(set(data['六车间生产入库_检验人']))
|
||||||
|
@ -399,6 +394,30 @@ def main(batch: str, mgroup_obj):
|
||||||
# myLogger.error("六车间生产入库_合格率decimal.InvalidOperation-{data}")
|
# myLogger.error("六车间生产入库_合格率decimal.InvalidOperation-{data}")
|
||||||
data['六车间生产入库_合格率'] = 0
|
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")
|
ftestwork_qs = FtestWork.objects.filter(batch=batch, type="prod")
|
||||||
if ftestwork_qs.exists():
|
if ftestwork_qs.exists():
|
||||||
|
@ -451,10 +470,29 @@ def main(batch: str, mgroup_obj):
|
||||||
if item.mio.mio_user:
|
if item.mio.mio_user:
|
||||||
data['销售发货_仓库执行人'].append(item.mio.mio_user)
|
data['销售发货_仓库执行人'].append(item.mio.mio_user)
|
||||||
data['销售发货_count']+= item.count
|
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:
|
if getattr(data, "棒料成型_count_real", 0) > 0:
|
||||||
data["七车间_批次发货合格率"] = round(data["销售发货_count"] * 100/ data["棒料成型_count_real"], 1)
|
data["七车间_批次发货合格率"] = round(data["销售发货_count"] * 100/ data["棒料成型_count_real"], 1)
|
||||||
if getattr(data, "六车间领料_count", 0) > 0:
|
if getattr(data, "六车间领料_count", 0) > 0:
|
||||||
data["六车间_批次发货合格率"] = round(data["销售发货_count"] * 100/ data["六车间领料_count"], 1)
|
data["六车间_批次发货合格率"] = round(data["销售发货_count"] * 100/ data["六车间领料_count"], 1)
|
||||||
|
|
||||||
data['销售发货_仓库执行人'] = list(set(data['销售发货_仓库执行人']))
|
data['销售发货_仓库执行人'] = list(set(data['销售发货_仓库执行人']))
|
||||||
data['销售发货_仓库执行人'] = ";".join([item.name for item in data['销售发货_仓库执行人']])
|
data['销售发货_仓库执行人'] = ";".join([item.name for item in data['销售发货_仓库执行人']])
|
||||||
data["销售发货_日期"] = list(set(data["销售发货_日期"]))
|
data["销售发货_日期"] = list(set(data["销售发货_日期"]))
|
||||||
|
|
Loading…
Reference in New Issue