智慧农业后台管理
guoshilong
2022-09-27 d1dfff01c9a4d0e502596f575a227ee78cfbb15b
src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml
@@ -69,19 +69,24 @@
    </select>
    <!--查询地块列表(不分页)-->
    <select id="getLandList" resultType="org.springblade.modules.lang.vo.LandVO">
    <select id="getLandList"  resultMap="landResultMap">
        SELECT
        id,
        land_name,
        land_area,
        ST_ASTEXT(land_range) as land_range,
        url,
        type,
        land_type,
        land_unit,
        dept_id,
        farm_id
        FROM sys_land
        l.id,
        l.land_name,
        l.land_area,
        ST_ASTEXT(l.land_range) as land_range,
        l.url,
        l.type,
        l.land_type,
        l.land_unit,
        l.dept_id,
        l.farm_id,
        GROUP_CONCAT(a.url) AS strainUrl
        FROM sys_land l
        LEFT JOIN
        (
        SELECT sfp.strain_id,strain.url,sfp.land_id FROM sys_farm_plant sfp LEFT JOIN sys_strain strain ON strain.id = sfp.strain_id WHERE sfp.`status` = 1
        ) a ON l.id = a.land_id
        where is_deleted = 0
        <if test="land.landType!=null and land.landType != ''">
            and land_type = #{land.landType}
@@ -101,6 +106,7 @@
        <if test="land.farmId!=null and land.farmId != ''">
            and farm_id =#{land.farmId}
        </if>
        GROUP BY l.id
    </select>
    <insert id="saveLandInfo">
@@ -121,18 +127,22 @@
    <!--详情信息(自定义查询)-->
    <select id="getLandInfo" resultType="org.springblade.modules.lang.vo.LandVO">
        select user_id,
               land_name,
               land_type,
               land_area,
               ST_ASTEXT(land_range) as landRange,
               type,
               land_unit,
               url
        from sys_land
        select
               l.user_id,
               l.land_name,
               l.land_type,
               l.land_area,
               ST_ASTEXT(l.land_range) as landRange,
               l.type,
               l.land_unit,
               l.url,
               bdb.dict_value dica
        from sys_land l
        LEFT JOIN blade_dict_biz bdb ON l.land_unit  = bdb.dict_key
        where 1 = 1
          and is_deleted = 0
          and id = #{land.id}
          and l.is_deleted = 0
          AND bdb.code = 'landunit' AND bdb.tenant_id = '000000' AND bdb.is_deleted = 0
          and l.id = #{land.id}
    </select>
    <!--自定义地块数据-->
@@ -228,11 +238,16 @@
        </if>
    </select>
    <select id="selectByStrainId" resultType="org.springblade.modules.lang.entity.Land">
        SELECT land.id,land.land_name,land.url,land.farm_id
    <select id="selectByStrainId" resultType="org.springblade.modules.lang.vo.LandVO">
        SELECT DISTINCT land.id,land.land_name,land.url,land.farm_id,fps.weight,
        ( CASE WHEN land_unit = 2 THEN FORMAT(land.land_area * 0.0015,3) WHEN land_unit = 1 THEN land.land_area * 0.1 ELSE land.land_area END ) land_area
        FROM sys_land land
            LEFT JOIN sys_farm_product_stock fps ON fps.land_id = land.id
        WHERE fps.strain_id = #{strainId}
            LEFT JOIN sys_farm_plant sfp ON sfp.land_id = land.id
        WHERE 1=1
        <if test="strainId !=null and strainId != ''">
            AND fps.strain_id = #{strainId}
        </if>
        <if test="farmId !=null and farmId != '' ">
            AND land.farm_id = #{farmId}
        </if>
@@ -241,7 +256,7 @@
        SELECT DISTINCT land.id,land.land_name,land.url,land.farm_id
        FROM sys_land land
        LEFT JOIN sys_farm_plant sfp ON sfp.land_id = land.id
        WHERE land.is_deleted = 0
        WHERE land.is_deleted = 0 AND sfp.planting_way !=2
        <if test="land.strainId !=null and land.strainId !=''">
            AND sfp.strain_id = #{land.strainId}
        </if>
@@ -259,5 +274,16 @@
        WHERE land.is_deleted = 0  AND sfp.status = 1
        AND land.id = #{ids}
    </select>
    <select id="selectRecoveryLandList" resultType="org.springblade.modules.lang.vo.LandVO">
        SELECT
            DISTINCT l.id,l.land_name AS landName
        FROM
            sys_recovery r
        LEFT JOIN sys_land l ON r.land_id = l.id
        WHERE l.is_deleted = 0
        <if test="farmId !=null and farmId !=''">
            AND r.dept_id = #{farmId}
        </if>
    </select>
</mapper>