feat (farm): 远程接口API

- 数字驾驶舱-基地与设备信息列表
- 数字驾驶舱-灾害统计-农事分布
- 数字驾驶舱-设备总览
This commit is contained in:
达富斌
2025-09-25 16:47:58 +08:00
parent 33eb3f5b6c
commit 2b85f82495
21 changed files with 418 additions and 36 deletions

View File

@@ -29,4 +29,13 @@
</where>
</select>
<select id="countDeviceState" resultType="cn.iocoder.yudao.module.farm.controller.admin.api.vo.DeviceStateRespVO">
SELECT
COUNT(*) as totalDevices,
SUM(CASE WHEN device_state = 1 THEN 1 ELSE 0 END) as totalOnlineDevices,
SUM(CASE WHEN device_state != 1 THEN 1 ELSE 0 END) as totalOfflineDevices
FROM farm_device_info
WHERE tenant_id = #{tenantId} AND deleted = b'0'
</select>
</mapper>

View File

@@ -9,4 +9,19 @@
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
-->
<select id="getFarmingDistributionChart"
parameterType="cn.iocoder.yudao.module.farm.controller.admin.api.vo.FarmingDistributionReqVO"
resultType="cn.iocoder.yudao.module.farm.controller.admin.api.vo.FarmingDistributionRespVO">
SELECT
COUNT(*) as totalCount,
SUM(CASE WHEN task_status = 0 THEN 1 ELSE 0 END) as notStart,
SUM(CASE WHEN task_status = 1 THEN 1 ELSE 0 END) as executingStatusCount,
SUM(CASE WHEN task_status = 2 THEN 1 ELSE 0 END) as completedStatusCount
FROM farm_farming_record
<where>
del_status = 0
<if test="baseId != null and baseId != ''">AND base_id = #{baseId}</if>
<if test="tenantId != null and tenantId != ''">AND tenant_id = #{tenantId}</if>
</where>
</select>
</mapper>