gongchunyi
8 小时以前 11bc2a4737a526b803959dfdd7c522b056425fe2
src/main/resources/mapper/production/ProductionProductMainMapper.xml
@@ -121,27 +121,51 @@
    <select id="queryProductInputAndOutput" resultType="Hashmap">
        select *
        from (select p.product_name      as productName,
        from (
        select p.product_name as productName,
                     pm.model            as model,
                     pm.unit             as unit,
                     temp.inputQuantity  as inputQuantity,
                     temp.outputQuantity as outputQuantity
              from (select product_model_id,
        from (
        select product_model_id,
                           coalesce(sum(inputQuantity), 0)  as inputQuantity,
                           coalesce(sum(outputQuantity), 0) as outputQuantity
                    from ((select product_model_id, coalesce(sum(quantity), 0) as inputQuantity, 0 as outputQuantity
        from (
        (select product_model_id,
        coalesce(sum(quantity),0) as inputQuantity,
        0 as outputQuantity
                           from production_product_input
                           where create_time &gt;= #{ew.startTime}
        <where>
            <if test="ew.startTime != null and ew.startTime != ''">
                and create_time &gt;= #{ew.startTime}
            </if>
            <if test="ew.endTime != null and ew.endTime != ''">
                             and create_time &lt; #{ew.endTime}
            </if>
        </where>
                           group by product_model_id)
                          union all
                          (select product_model_id, 0 as inputQuantity, coalesce(sum(quantity), 0) as outputQuantity
        (select product_model_id,
        0 as inputQuantity,
        coalesce(sum(quantity),0) as outputQuantity
                           from production_product_output
                           where create_time &gt;= #{ew.startTime}
        <where>
            <if test="ew.startTime != null and ew.startTime != ''">
                and create_time &gt;= #{ew.startTime}
            </if>
            <if test="ew.endTime != null and ew.endTime != ''">
                             and create_time &lt; #{ew.endTime}
                           group by product_model_id)) t
                    group by product_model_id) temp
            </if>
        </where>
        group by product_model_id)
        ) t
        group by product_model_id
        ) temp
                       left join product_model pm on temp.product_model_id = pm.id
                       left join product p on pm.product_id = p.id) tmp
        left join product p on pm.product_id = p.id
        ) tmp
    </select>
</mapper>