123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="com.fjhx.mes.mapper.production.ProductionTaskProgressMapper">
- <select id="getList" resultType="com.fjhx.mes.entity.production.vo.ProductionTaskProgressVo">
- SELECT ptp.id,
- ptp.task_id,
- ptp.processes_id,
- pp.`name` AS progressName,
- ptp.finish_quantity,
- ptp.balance_quantity
- FROM production_task_progress ptp
- LEFT JOIN production_processes pp ON ptp.processes_id = pp.id
- ${ew.customSqlSegment}
- </select>
- <select id="workshopReport" resultType="com.fjhx.mes.entity.production.bo.WorkshopReportBo">
- SELECT ptp.id,
- pod.id AS task_id,
- pod.produce_order_id,
- pp.id AS progressId,
- pp.`name` AS progressName,
- po.`code` AS orderCode,
- pod.product_id,
- pod.quantity,
- ptp.finish_quantity,
- (pod.quantity - ptp.finish_quantity) AS residueQuantity,
- IFNULL((SELECT sum(quantity)
- FROM production_scheduling ps
- WHERE ps.task_id = pod.id
- AND ps.processes_id = ptp.processes_id
- AND DATEDIFF(ps.scheduling_date, now()) = - 1), 0) as yesterdaySchedulingQuantity,
- IFNULL((SELECT sum(finish_quantity)
- FROM production_scheduling ps
- WHERE ps.task_id = pod.id
- AND ps.processes_id = ptp.processes_id
- AND DATEDIFF(ps.scheduling_date, now()) = - 1), 0) as yesterdayFinishQuantity,
- IFNULL((SELECT sum(quantity)
- FROM production_scheduling ps
- WHERE ps.task_id = pod.id
- AND ps.processes_id = ptp.processes_id
- AND DATEDIFF(ps.scheduling_date, now()) = 0), 0) as todaySchedulingQuantity,
- IFNULL((SELECT sum(finish_quantity)
- FROM production_scheduling ps
- WHERE ps.task_id = pod.id
- AND ps.processes_id = ptp.processes_id
- AND DATEDIFF(ps.scheduling_date, now()) = 0), 0) as todayFinishQuantity,
- IFNULL((SELECT sum(quantity)
- FROM production_scheduling ps
- WHERE ps.task_id = pod.id
- AND ps.processes_id = ptp.processes_id
- AND DATEDIFF(ps.scheduling_date, now()) = 1), 0) as tomorrowSchedulingQuantity
- FROM production_task_progress ptp
- LEFT JOIN production_processes pp ON ptp.processes_id = pp.id
- LEFT JOIN production_order_detail pod ON ptp.task_id = pod.id
- LEFT JOIN production_order po ON pod.produce_order_id = po.id
- LEFT JOIN production_scheduling ps on ps.task_id = pod.id AND ps.processes_id = ptp.processes_id
- ${ew.customSqlSegment}
- </select>
- <select id="workshopReportStatistics"
- resultType="com.fjhx.mes.entity.production.vo.ProductionTaskProgressVo">
- SELECT ptp.processes_id,
- pp.`name` AS progressName,
- IFNULL(sum(ps.quantity), 0) AS quantity,
- IFNULL(sum(ps.finish_quantity), 0) AS finishQuantity
- FROM production_task_progress ptp
- LEFT JOIN production_processes pp ON ptp.processes_id = pp.id
- LEFT JOIN production_order_detail pod ON ptp.task_id = pod.id
- LEFT JOIN production_scheduling ps ON ps.task_id = pod.id
- AND ps.processes_id = ptp.processes_id
- ${ew.customSqlSegment}
- </select>
- <select id="workshopReportMaterialsUsed"
- resultType="com.fjhx.mes.entity.production.bo.WorkshopReportMaterialsUsedBo">
- SELECT production_order_detail_id,
- material_id,
- material_name,
- quantity,
- usedQuantity,
- lossQuantity,
- (quantity - usedQuantity - lossQuantity) AS surplusQuantity
- FROM (SELECT pod.id AS production_order_detail_id,
- cpb.material_id,
- cpb.product_name as material_name,
- (cpb.quantity / pod.quantity) as quantity,
- (cpb.quantity / pod.quantity * pod.finish_quantity) AS usedQuantity,
- ifnull(t1.quantity, 0) AS lossQuantity
- FROM contract_product_bom cpb
- JOIN production_order_detail pod ON pod.contract_detail_id = cpb.contract_product_id
- LEFT JOIN (SELECT sj.prod_order_id,
- sjd.product_id,
- sum(sjd.quantity) AS quantity
- FROM stock_journal_details sjd
- JOIN stock_journal sj ON sjd.stock_journal_id = sj.id
- WHERE sj.type = 1
- GROUP BY sj.prod_order_id,
- sjd.product_id) t1 ON t1.prod_order_id = pod.produce_order_id
- AND t1.product_id = cpb.material_id
- ${ew.customSqlSegment}) t2
- </select>
- </mapper>
|