|
@@ -42,4 +42,107 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
order by zc.create_time desc
|
|
order by zc.create_time desc
|
|
</select>
|
|
</select>
|
|
|
|
|
|
|
|
+ <select id="selectEnginQualty" parameterType="java.lang.String" resultType="java.util.Map">
|
|
|
|
+ SET @nodeType = (select
|
|
|
|
+ CASE
|
|
|
|
+ #{tableName}
|
|
|
|
+ WHEN 'z_engineering_gy' THEN (SELECT CASE engin_classification WHEN '室内管线' THEN '焊接' WHEN '室外管线' THEN '下管' END FROM z_engineering_gy WHERE id = #{id} )
|
|
|
|
+ WHEN 'z_engineering_industry' THEN '下管'
|
|
|
|
+ WHEN 'z_engineering_pipe_jacking' THEN '回拖'
|
|
|
|
+ END
|
|
|
|
+ FROM
|
|
|
|
+ dual);
|
|
|
|
+ SET @table_name_last = (select DATE_FORMAT(create_time, '%Y_%m') from ${tableName} where id = #{id});
|
|
|
|
+ SET @query = CONCAT("
|
|
|
|
+ SELECT
|
|
|
|
+ f.dict_label,
|
|
|
|
+ sum( number ) AS actual,
|
|
|
|
+ a.pe_preset AS expect,
|
|
|
|
+ concat( round( sum( number )/ a.pe_preset * 100, 2 ), '%' ) AS proportion
|
|
|
|
+ FROM
|
|
|
|
+ ",#{tableName}," a
|
|
|
|
+ LEFT JOIN z_engineering_node_",@table_name_last," b ON a.id = b.civli_id
|
|
|
|
+ LEFT JOIN z_engineering_info_",@table_name_last," c ON b.id = c.eng_info_id
|
|
|
|
+ LEFT JOIN z_engineering_material_",@table_name_last," d ON c.id = d.details_id
|
|
|
|
+ LEFT JOIN z_engin_material_quality e ON e.id = d.material_quality
|
|
|
|
+ LEFT JOIN sys_dict_data f ON f.dict_value = e.material_type
|
|
|
|
+ AND f.dict_type = 'material_type'
|
|
|
|
+ WHERE
|
|
|
|
+ a.id = ",#{id},"
|
|
|
|
+ AND b.type = '",@nodeType,"'
|
|
|
|
+ AND a.del_flag = 0
|
|
|
|
+ AND b.del_flag = 0
|
|
|
|
+ AND c.del_flag = 0
|
|
|
|
+ AND d.del_flag = 0
|
|
|
|
+ AND e.del_flag = 0
|
|
|
|
+ AND f.dict_value = 0
|
|
|
|
+ UNION ALL
|
|
|
|
+ SELECT
|
|
|
|
+ f.dict_label,
|
|
|
|
+ sum( number ) AS actual,
|
|
|
|
+ a.gc_preset AS expect,
|
|
|
|
+ concat( round( sum( number )/ a.pe_preset * 100, 2 ), '%' ) AS proportion
|
|
|
|
+ FROM
|
|
|
|
+ ",#{tableName}," a
|
|
|
|
+ LEFT JOIN z_engineering_node_",@table_name_last," b ON a.id = b.civli_id
|
|
|
|
+ LEFT JOIN z_engineering_info_",@table_name_last," c ON b.id = c.eng_info_id
|
|
|
|
+ LEFT JOIN z_engineering_material_",@table_name_last," d ON c.id = d.details_id
|
|
|
|
+ LEFT JOIN z_engin_material_quality e ON e.id = d.material_quality
|
|
|
|
+ LEFT JOIN sys_dict_data f ON f.dict_value = e.material_type
|
|
|
|
+ AND f.dict_type = 'material_type'
|
|
|
|
+ WHERE
|
|
|
|
+ a.id = ",#{id},"
|
|
|
|
+ AND b.type = '",@nodeType,"'
|
|
|
|
+ AND a.del_flag = 0
|
|
|
|
+ AND b.del_flag = 0
|
|
|
|
+ AND c.del_flag = 0
|
|
|
|
+ AND d.del_flag = 0
|
|
|
|
+ AND e.del_flag = 0
|
|
|
|
+ AND f.dict_value = 1
|
|
|
|
+ ");
|
|
|
|
+ PREPARE stmt FROM @query;
|
|
|
|
+ EXECUTE stmt;
|
|
|
|
+ DEALLOCATE PREPARE stmt;
|
|
|
|
+ </select>
|
|
|
|
+
|
|
|
|
+ <select id="selectEnginQualtyShenhe" parameterType="java.lang.String" resultType="java.util.Map">
|
|
|
|
+ SET @table_name_last = (select DATE_FORMAT(create_time, '%Y_%m') from ${tableName} where id = #{id});
|
|
|
|
+ SET @nodeType = (select
|
|
|
|
+ CASE
|
|
|
|
+ #{tableName}
|
|
|
|
+ WHEN 'z_engineering_gy' THEN (SELECT CASE engin_classification WHEN '室内管线' THEN 'gy_inner' WHEN '室外管线' THEN 'gy_out' WHEN '调压柜' THEN 'gy_tyg' END FROM z_engineering_gy WHERE id = #{id})
|
|
|
|
+ WHEN 'z_engineering_industry' THEN 'municipal_node_types'
|
|
|
|
+ WHEN 'z_engineering_pipe_jacking' THEN 'pipe_jack'
|
|
|
|
+ WHEN 'z_touch_operation_engineering' THEN (SELECT b.dict_type FROM z_touch_operation_engineering a JOIN sys_dict_type b ON a.mode_operation = b.dict_name WHERE id = #{id})
|
|
|
|
+ END
|
|
|
|
+ FROM
|
|
|
|
+ dual);
|
|
|
|
+ SET @QUERY = CONCAT( "
|
|
|
|
+ SELECT
|
|
|
|
+ d.dict_label as name,
|
|
|
|
+ CASE
|
|
|
|
+ IFNULL(c.id,0)
|
|
|
|
+ WHEN 0 THEN '未上传'
|
|
|
|
+ ELSE
|
|
|
|
+ CASE
|
|
|
|
+ c.state
|
|
|
|
+ WHEN 0 THEN '未通过'
|
|
|
|
+ WHEN 1 THEN '通过'
|
|
|
|
+ ELSE '未审核'
|
|
|
|
+ END
|
|
|
|
+ END as value
|
|
|
|
+ FROM
|
|
|
|
+ sys_dict_data d
|
|
|
|
+ LEFT JOIN z_engineering_node_",@table_name_last," b ON d.dict_value = b.type AND b.del_flag =0
|
|
|
|
+ LEFT JOIN z_engineering_info_",@table_name_last," c ON b.id = c.eng_info_id and c.del_flag =0
|
|
|
|
+ LEFT JOIN ",#{tableName}," a ON a.id = b.civli_id and a.del_flag =0 AND a.id = ",#{id},"
|
|
|
|
+ WHERE
|
|
|
|
+ d.dict_type = '",@nodeType,"'
|
|
|
|
+ GROUP BY
|
|
|
|
+ d.dict_label
|
|
|
|
+ ORDER BY dict_sort" );
|
|
|
|
+ PREPARE stmt FROM @QUERY;
|
|
|
|
+ EXECUTE stmt;
|
|
|
|
+ DEALLOCATE PREPARE stmt;
|
|
|
|
+ </select>
|
|
</mapper>
|
|
</mapper>
|