| | |
| | | LEFT JOIN (SELECT mm.id,mm.machining_type FROM sys_machining mm) a ON a.id = p.parent_id |
| | | WHERE p.is_deleted = 0 |
| | | <if test="process.farmId!=null and process.farmId!=''"> |
| | | AND (sl.farm_id = #{process.farmId} or inv.fps_id = #{process.farmId}) |
| | | AND (sl.farm_id = #{process.farmId} or (inv.fps_id = #{process.farmId} AND p.land_id IS NULL)) |
| | | </if> |
| | | <if test="process.strainId !=null and process.strainId !=''"> |
| | | and p.strain_id = #{process.strainId} |
| | |
| | | </update> |
| | | |
| | | <select id="statistics" resultType="java.lang.Double"> |
| | | SELECT SUM(p.process_num) AS sum |
| | | SELECT SUM(a.process_num)as sum FROM |
| | | ( |
| | | SELECT DISTINCT p.process_num |
| | | FROM sys_process p |
| | | LEFT JOIN sys_land land ON land.id = p.land_id |
| | | LEFT JOIN sys_process_inv inv ON inv.product_id = p.process_id |
| | |
| | | and YEAR ( p.sale_time ) = #{year} |
| | | </if> |
| | | <if test="farmId!=null and farmId!=''"> |
| | | and (land.farm_id = #{farmId} or inv.fps_id = #{farmId}) |
| | | and (land.farm_id = #{farmId} or (inv.fps_id = #{farmId} AND p.land_id IS NULL)) |
| | | </if> |
| | | ) a |
| | | </select> |
| | | <select id="statisticsMonth" resultType="java.util.Map"> |
| | | SELECT |
| | |
| | | x.d <= y.last |
| | | AND ADDDATE( y.FIRST, x.d - 1 ) <= CURDATE( ) |
| | | ) AS lefttable |
| | | LEFT JOIN ( |
| | | LEFT JOIN |
| | | ( |
| | | SELECT |
| | | IFNULL( sum( process.process_num ), 0 ) AS m, |
| | | IFNULL( sum( middle.process_num ), 0 ) AS m, |
| | | middle.gptime |
| | | FROM |
| | | ( |
| | | SELECT DISTINCT |
| | | process.process_num, |
| | | DATE_FORMAT( process.sale_time, '%Y-%c-%d' ) AS gptime |
| | | FROM |
| | | sys_process process |
| | | left join sys_land sl on sl.id = process.land_id |
| | | WHERE DATE_FORMAT( process.sale_time, '%Y-%m' ) = #{year} |
| | | and sl.farm_id = #{farmId} |
| | | GROUP BY |
| | | gptime |
| | | LEFT JOIN sys_process_inv inv ON inv.product_id = process.process_id |
| | | WHERE |
| | | DATE_FORMAT( process.sale_time, '%Y-%m' ) = #{year} |
| | | and (sl.farm_id = #{farmId} OR ( inv.fps_id = #{farmId} AND process.land_id IS NULL )) |
| | | )middle GROUP BY middle.gptime |
| | | ) AS righttable ON DATE_FORMAT( lefttable.date, '%Y-%c-%d' ) = righttable.gptime |
| | | ORDER BY time |
| | | |
| | |
| | | ) m |
| | | left join |
| | | ( |
| | | select month(p.sale_time) a,sum(p.process_num) b from sys_process p |
| | | SELECT middle.a,SUM(middle.process_num) b FROM |
| | | ( |
| | | select DISTINCT |
| | | month(p.sale_time) a, |
| | | p.process_num |
| | | from sys_process p |
| | | left join sys_land sl on sl.id = p.land_id |
| | | where year(p.sale_time) = #{year} |
| | | and sl.farm_id = #{farmId} |
| | | GROUP BY month(p.sale_time) |
| | | LEFT JOIN sys_process_inv inv ON inv.product_id = p.process_id |
| | | where |
| | | year(p.sale_time) = #{year} |
| | | and (sl.farm_id = #{farmId} OR ( inv.fps_id = #{farmId} AND p.land_id IS NULL )) |
| | | ) middle GROUP BY middle.a |
| | | ) n |
| | | on m.id = n.a |
| | | order by id |
| | |
| | | ) as a |
| | | LEFT JOIN |
| | | ( |
| | | SELECT HOUR(process.sale_time) AS order_hour, SUM(process.process_num) AS num from sys_process process |
| | | SELECT middle.order_hour,SUM(middle.process_num) num FROM |
| | | ( |
| | | SELECT DISTINCT |
| | | HOUR(process.sale_time) AS order_hour, |
| | | process.process_num |
| | | from sys_process process |
| | | left join sys_land sl on sl.id = process.land_id |
| | | WHERE process.sale_time >= str_to_date(concat(#{year},' 00:00:00'),'%Y-%m-%d %T') |
| | | LEFT JOIN sys_process_inv inv ON inv.product_id = process.process_id |
| | | WHERE |
| | | process.sale_time >= str_to_date(concat(#{year},' 00:00:00'),'%Y-%m-%d %T') |
| | | AND process.sale_time <= str_to_date(concat(#{year},' 23:59:59'),'%Y-%m-%d %T') |
| | | and sl.farm_id = #{farmId} |
| | | GROUP BY order_hour |
| | | and (sl.farm_id = #{farmId} OR ( inv.fps_id = #{farmId} AND process.land_id IS NULL )) |
| | | ) middle GROUP BY middle.order_hour |
| | | ) b ON a.order_hour=b.order_hour |
| | | ORDER BY a.order_hour |
| | | </select> |