|
|
@@ -114,7 +114,7 @@ interface ProductionScheduleRepository : AbstractRepository<ProductionSchedule, |
|
|
|
select |
|
|
|
r2.pslId, |
|
|
|
r2.bomOutputQty, |
|
|
|
json_arrayagg(json_object('id', r2.id, 'code', r2.code, 'name', r2.name, 'type', r2.`type`, 'availableQty', r2.availableQty, 'demandQty', r2.demandQty)) as bomMaterials |
|
|
|
json_arrayagg(json_object('id', r2.id, 'code', r2.code, 'name', r2.name, 'type', r2.`type`, 'availableQty', r2.availableQty, 'demandQty', r2.demandQty, 'uomName', r2.uomName)) as bomMaterials |
|
|
|
from ( |
|
|
|
select |
|
|
|
psl.id as pslId, |
|
|
@@ -125,16 +125,19 @@ interface ProductionScheduleRepository : AbstractRepository<ProductionSchedule, |
|
|
|
bmi.`type`, |
|
|
|
coalesce(i.onHandQty, 0) - coalesce(i.onHoldQty, 0) - coalesce(i.unavailableQty, 0) as availableQty, |
|
|
|
-- ceil(coalesce(bm.qty, 0) * pp.proportion) as demandQty |
|
|
|
coalesce(bm.qty, 0) * pp.proportion as demandQty |
|
|
|
coalesce(bm.qty, 0) * pp.proportion as demandQty, |
|
|
|
uc.udfudesc as uomName |
|
|
|
from production_schedule ps |
|
|
|
left join production_schedule_line psl on psl.prodScheduleId = ps.id |
|
|
|
left join prod_prop pp on pp.pslId = psl.id |
|
|
|
left join bom b on b.itemId = psl.itemId |
|
|
|
left join bom_material bm on bm.bomId = b.id |
|
|
|
left join items bmi on bmi.id = bm.itemId |
|
|
|
left join item_uom iu on iu.itemId = bmi.id and iu.salesUnit = true |
|
|
|
left join uom_conversion uc on uc.id = iu.uomId |
|
|
|
left join inventory i on i.itemId = bmi.id |
|
|
|
where ps.id = :id and bmi.id is not null |
|
|
|
group by ps.id, psl.id, bm.id, i.id, pp.proportion |
|
|
|
group by ps.id, psl.id, bm.id, i.id, pp.proportion, uc.udfudesc |
|
|
|
) r2 |
|
|
|
group by r2.pslId, r2.bomOutputQty |
|
|
|
) |
|
|
@@ -144,7 +147,7 @@ interface ProductionScheduleRepository : AbstractRepository<ProductionSchedule, |
|
|
|
prod.totalFGType, |
|
|
|
prod.totalEstProdCount, |
|
|
|
json_arrayagg( |
|
|
|
json_object('id', prod.pslId, 'bomMaterials', prod.bomMaterials, 'jobNo', prod.jobNo, 'code', prod.code, 'name', prod.name, 'type', prod.type, 'demandQty', prod.demandQty, 'bomOutputQty', prod.bomOutputQty, 'prodTimeInMinute', prod.prodTimeInMinute, 'priority', prod.priority, 'approved', prod.approved, 'proportion', prod.proportion) |
|
|
|
json_object('id', prod.pslId, 'bomMaterials', prod.bomMaterials, 'jobNo', prod.jobNo, 'code', prod.code, 'name', prod.name, 'type', prod.type, 'demandQty', prod.demandQty, 'bomOutputQty', prod.bomOutputQty, 'uomName', prod.uomName, 'prodTimeInMinute', prod.prodTimeInMinute, 'priority', prod.priority, 'approved', prod.approved, 'proportion', prod.proportion) |
|
|
|
) as prodScheduleLines |
|
|
|
from ( |
|
|
|
select |
|
|
@@ -156,6 +159,7 @@ interface ProductionScheduleRepository : AbstractRepository<ProductionSchedule, |
|
|
|
psl.id as pslId, |
|
|
|
pm.bomMaterials, |
|
|
|
pm.bomOutputQty, |
|
|
|
uc.udfudesc as uomName, |
|
|
|
coalesce(jo.code, 'N/A') as jobNo, |
|
|
|
psli.code, |
|
|
|
psli.name, |
|
|
@@ -167,13 +171,15 @@ interface ProductionScheduleRepository : AbstractRepository<ProductionSchedule, |
|
|
|
from production_schedule ps |
|
|
|
left join production_schedule_line psl on psl.prodScheduleId = ps.id |
|
|
|
left join items psli on psli.id = psl.itemId |
|
|
|
left join item_uom iu on iu.itemId = psli.id and iu.salesUnit = true |
|
|
|
left join uom_conversion uc on uc.id = iu.uomId |
|
|
|
left join job_order jo on jo.prodScheduleLineId = psl.id |
|
|
|
left join prod_prop pp on pp.pslId = psl.id |
|
|
|
left join prod_equip pe on pe.pslId = psl.id |
|
|
|
left join prod_material pm on pm.pslId = psl.id |
|
|
|
where psl.deleted is false and pe.prodTimeInMinute is not null and pm.bomMaterials is not null |
|
|
|
and ps.id = :id |
|
|
|
group by psl.id, jo.id, pp.proportion, pm.bomOutputQty |
|
|
|
group by psl.id, jo.id, pp.proportion, pm.bomOutputQty, uc.udfudesc |
|
|
|
) prod group by prod.id limit 1 |
|
|
|
""" |
|
|
|
) |
|
|
|