fix (farm): 地块

- 地块数量多导致加载数据缓慢问题
This commit is contained in:
达富斌
2025-11-17 22:47:40 +08:00
parent f13536f98c
commit 4320d7bd19
8 changed files with 195 additions and 91 deletions

View File

@@ -9,4 +9,34 @@
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
-->
<select id="listPlotInfo" resultType="cn.iocoder.yudao.module.farm.controller.admin.home.vo.PlotListRespVO">
SELECT
fpi.plot_id AS plotId,
fpi.plot_name AS plotName,
fpi.plot_area AS plotArea,
fpi.plot_color AS plotColor,
fpi.point AS point,
fbi.name AS baseName,
fpm.name AS manager,
COALESCE(SUM(fpp.predicted_area), 0) AS beingBaseArea,
GROUP_CONCAT(DISTINCT fsl.cultivar_name SEPARATOR ',') AS beingCropName
FROM farm_plot_info fpi
LEFT JOIN farm_base_info fbi ON fpi.base_id = fbi.id AND fbi.deleted = 0
LEFT JOIN farm_personnel_management fpm ON fpi.employee_id = fpm.id AND fpm.deleted = 0
LEFT JOIN farm_production_plan fpp ON fpi.plot_id = fpp.plot_id AND fpp.deleted = 0 AND fpp.plan_status = 2
LEFT JOIN farm_species_library fsl ON fpp.plant_species_code = fsl.id AND fsl.deleted = 0
WHERE fpi.deleted = 0
<if test="baseId != null and baseId != ''">
AND fpi.base_id = #{baseId}
</if>
GROUP BY fpi.plot_id,
fpi.plot_name,
fpi.plot_area,
fpi.plot_color,
fpi.point,
fbi.name,
fpm.name
ORDER BY fpi.create_time DESC
</select>
</mapper>