| | |
| | | |
| | | <select id="listPage" resultType="com.ruoyi.production.dto.ProductProcessDto"> |
| | | SELECT |
| | | * |
| | | pp.id, |
| | | pp.no, |
| | | pp.remark, |
| | | pp.salary_quota, |
| | | pp.is_quality, |
| | | pp.planner_id, |
| | | pp.planner_name, |
| | | pp.update_time, |
| | | pp.type, |
| | | p.product_name AS name, |
| | | pm.model AS productModel |
| | | FROM |
| | | product_process p |
| | | product_process pp |
| | | left join product_model pm ON pm.id = pp.product_model_id |
| | | left join product p ON p.id = pm.product_id |
| | | <where> |
| | | <if test="productProcessDto.name != null and productProcessDto.name != '' "> |
| | | AND p.name LIKE CONCAT('%',#{productProcessDto.name},'%') |
| | | AND p.product_name LIKE CONCAT('%',#{productProcessDto.name},'%') |
| | | </if> |
| | | <if test="productProcessDto.no != null and productProcessDto.no != '' "> |
| | | AND p.no LIKE CONCAT('%',#{productProcessDto.no},'%') |
| | | AND pp.no LIKE CONCAT('%',#{productProcessDto.no},'%') |
| | | </if> |
| | | <if test="productProcessDto.type != null"> |
| | | AND pp.type = #{productProcessDto.type} |
| | | </if> |
| | | </where> |
| | | order by p.id asc |
| | | order by pp.id asc |
| | | </select> |
| | | |
| | | <select id="calculateProductionStatistics" resultType="com.ruoyi.home.dto.ProcessDataProductionStatisticsDto"> |
| | | SELECT |
| | | pp.type AS processType, |
| | | SUM(pi.quantity) AS totalInput, |
| | | SUM(distinct ppo.scrap_qty) AS totalScrap, |
| | | SUM(distinct (ppo.quantity - ppo.scrap_qty)) 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 |
| | | INNER JOIN production_product_input pi ON pi.product_main_id = ppm.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="processTypes != null and processTypes.size() > 0"> |
| | | AND pp.type IN |
| | | <foreach collection="processTypes" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | </where> |
| | | GROUP BY |
| | | pp.type |
| | | </select> |
| | | </mapper> |