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.ProduceOrderDetailMapper">
- <sql id="page">
- SELECT pod.id,
- pod.code,
- pod.produce_order_id,
- pod.contract_id,
- pod.contract_detail_id,
- pod.product_id,
- pod.quantity,
- pod.finish_quantity,
- pod.produce_status,
- pod.finish_time,
- pod.tenant_id,
- pod.create_user,
- pod.create_time,
- pod.update_user,
- pod.update_time,
- pod.del_flag,
- pod.report_lock,
- pod.other_prod_remark,
- po.code AS orderCode,
- po.create_time AS orderCreateTime,
- po.produce_time,
- po.delivery_period,
- po.company_id,
- po.begin_work_status,
- pbc.`status` AS prod_confirm_status,
- (if(IFNULL(po.finish_time, NOW()) > po.delivery_period, 1, 0)) AS isOverdue,
- pod.remark,
- c.prod_tag,
- c.prod_remark,
- c.create_user as saleUserId,
- c.contract_type,
- c.of_company_id as contractCompanyId,
- c.dept_id as contractDeptId,
- c.buy_corporation_id as customerId,
- c.belong_type as contract_belong_type,
- IFNULL(t2.lackStatus, 0) as lackStatus
- FROM production_order_detail pod
- LEFT JOIN production_order po ON pod.produce_order_id = po.id
- LEFT JOIN contract c ON pod.contract_id = c.id
- LEFT JOIN (SELECT sd.contract_id,
- CASE
- WHEN SUM(CASE WHEN sd.`status` IN (15, 30) OR ep.arrival_status != 20 OR sw.`status` != 2 THEN 1 ELSE 0 END) >
- 0 THEN 1
- ELSE 0 END AS lackStatus
- FROM subscribe_detail sd
- LEFT JOIN ehsd_purchase_product epp ON epp.subscribe_detail_id = sd.id
- LEFT JOIN ehsd_purchase ep ON epp.purchase_id = ep.id
- AND ep.`status` IN (10, 30, 60)
- LEFT JOIN stock_wait sw ON sw.purchase_id = ep.id
- GROUP BY sd.contract_id) t2 ON t2.contract_id = pod.contract_id
- LEFT JOIN production_begin_confirm pbc ON pbc.id = po.prod_begin_confirm_id
- </sql>
- <select id="getPage" resultType="com.fjhx.mes.entity.production.vo.ProductionOrderDetailVo">
- <include refid="page"/>
- LEFT JOIN production_scheduling ps ON ps.task_id = pod.id
- ${ew.customSqlSegment}
- </select>
- <select id="schedulingTaskPage" resultType="com.fjhx.mes.entity.production.vo.ProductionOrderDetailVo">
- <include refid="page"/>
- LEFT JOIN production_task_progress ptp ON ptp.task_id = pod.id
- LEFT JOIN production_scheduling ps ON ps.task_id = ptp.task_id
- AND ps.processes_id = ptp.processes_id
- ${ew.customSqlSegment}
- </select>
- <select id="getProcessesSchedulingByDay"
- resultType="com.fjhx.mes.entity.production.vo.ProductionSchedulingVo">
- SELECT pp.id AS processesId,
- pp.`name` AS processesName,
- count(DISTINCT ps.id) AS quantity
- FROM production_processes pp
- LEFT JOIN production_scheduling ps ON ps.processes_id = pp.id
- AND ps.scheduling_date = #{dayDate}
- GROUP BY pp.id
- </select>
- <select id="getProcessesScheduling"
- resultType="com.fjhx.mes.entity.production.vo.ProductionSchedulingVo">
- SELECT pp.id AS processesId,
- pp.`name` AS processesName,
- count(DISTINCT ps.id) AS quantity
- FROM production_processes pp
- LEFT JOIN (select ps.id, ps.processes_id, ps.scheduling_date
- from production_scheduling ps
- LEFT JOIN production_order_detail pod ON ps.task_id = pod.id
- left join production_order po on pod.produce_order_id = po.id
- LEFT JOIN contract c on po.contract_id = c.id
- ${ew.customSqlSegment}) ps ON ps.processes_id = pp.id
- <if test="dayDate != null and dayDate != ''">
- AND ps.scheduling_date = #{dayDate}
- </if>
- group by pp.id
- </select>
- </mapper>
|