<?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.ruoyi.production.mapper.ProductProcessMapper">
|
|
<select id="listPage" resultType="com.ruoyi.production.dto.ProductProcessDto">
|
SELECT
|
*
|
FROM
|
product_process p
|
<where>
|
<if test="productProcessDto.name != null and productProcessDto.name != '' ">
|
AND p.name LIKE CONCAT('%',#{productProcessDto.name},'%')
|
</if>
|
<if test="productProcessDto.no != null and productProcessDto.no != '' ">
|
AND p.no LIKE CONCAT('%',#{productProcessDto.no},'%')
|
</if>
|
</where>
|
order by p.id asc
|
</select>
|
|
<select id="calculateProductionStatistics" resultType="com.ruoyi.home.dto.processDataProductionStatisticsDto">
|
SELECT
|
pp.name AS processName,
|
SUM((ppo.quantity + ppo.scrap_qty) * pp.salary_quota) AS totalInput,
|
SUM(ppo.scrap_qty * pp.salary_quota) AS totalScrap,
|
SUM(ppo.quantity * pp.salary_quota) AS totalOutput
|
FROM
|
production_product_output ppo
|
INNER JOIN production_product_main ppm ON ppo.product_main_id = ppm.id
|
INNER JOIN product_process_route_item ppri ON ppm.product_process_route_item_id = ppri.id
|
INNER JOIN product_process pp ON ppri.process_id = pp.id
|
<where>
|
<if test="startDateTime != null">
|
AND ppo.create_time >= #{startDateTime}
|
</if>
|
<if test="endDateTime != null">
|
AND ppo.create_time <= #{endDateTime}
|
</if>
|
<if test="userId != null">
|
AND ppm.user_id = #{userId}
|
</if>
|
<if test="processIds != null and processIds.size() > 0">
|
AND pp.id IN
|
<foreach collection="processIds" item="id" open="(" separator="," close=")">
|
#{id}
|
</foreach>
|
</if>
|
</where>
|
GROUP BY
|
pp.id,
|
pp.name
|
</select>
|
</mapper>
|