智慧农业后台管理
guoshilong
2022-11-08 72b971c98c46531064d74b68fc8fe8864ed0b544
src/main/java/org/springblade/modules/recovery/mapper/RecoveryMapper.xml
@@ -66,7 +66,11 @@
        where sr.id = #{recoveryId}
    </select>
    <select id="recoveryStatistics" resultType="org.springblade.modules.recovery.vo.RecoveryVO">
        SELECT sr.strain_id,SUM(sr.weight) AS weight,sr.dept_id,strain.strain_name,strain.url
        SELECT
            sr.strain_id,
            SUM(sr.weight) AS weight,
            strain.strain_name,
            strain.url
        FROM sys_recovery sr
        LEFT JOIN sys_strain strain ON sr.strain_id = strain.id
        WHERE 1=1
@@ -83,24 +87,35 @@
        UNION
        SELECT p.process_id,SUM(p.process_num),inv.fps_id,m.machining_type,m.machining_tp
        FROM sys_process p
        LEFT JOIN sys_machining m ON p.process_id = m.id
        LEFT JOIN sys_process_inv inv ON inv.product_id = p.process_id
        WHERE 1=1 AND p.is_deleted = 0
        <if test="recovery.deptId !=null and recovery.deptId !=''">
            AND inv.fps_id = #{recovery.deptId}
        </if>
        <if test="recovery.startTime != null and recovery.startTime !=''">
            AND DATE_FORMAT(p.sale_time,'%Y-%m-%d') &gt;= #{recovery.startTime}
        </if>
        <if test="recovery.endTime != null and recovery.endTime !=''">
            and DATE_FORMAT(p.sale_time,'%Y-%m-%d') &lt;= #{recovery.endTime}
        </if>
        GROUP BY p.process_id
        SELECT a.process_id,SUM(a.process_num),a.machining_type,a.machining_tp FROM
        (
            SELECT DISTINCT
            p.process_id,
            p.process_num,
            m.machining_type,
            m.machining_tp
            FROM sys_process p
            LEFT JOIN sys_machining m ON p.process_id = m.id
            LEFT JOIN sys_land sl ON sl.id = p.land_id
            LEFT JOIN sys_process_inv inv ON inv.product_id = p.process_id
            WHERE 1=1 AND p.is_deleted = 0
            <if test="recovery.deptId !=null and recovery.deptId !=''">
                AND( sl.farm_id = #{recovery.deptId} OR (inv.fps_id = #{recovery.deptId} AND p.land_id IS NULL))
            </if>
            <if test="recovery.startTime != null and recovery.startTime !=''">
                AND DATE_FORMAT(p.sale_time,'%Y-%m-%d') &gt;= #{recovery.startTime}
            </if>
            <if test="recovery.endTime != null and recovery.endTime !=''">
                and DATE_FORMAT(p.sale_time,'%Y-%m-%d') &lt;= #{recovery.endTime}
            </if>
        ) a GROUP BY a.process_id
    </select>
    <select id="recoveryStatisticsx" resultType="org.springblade.modules.recovery.vo.RecoveryVO">
        SELECT sr.strain_id,SUM(sr.weight) AS weight,sr.dept_id,strain.strain_name,strain.url
        SELECT
        sr.strain_id,
        SUM(sr.weight) AS weight,
        strain.strain_name,
        strain.url
        FROM sys_recovery sr
        LEFT JOIN sys_strain strain ON sr.strain_id = strain.id
        WHERE 1=1
@@ -117,13 +132,20 @@
        UNION
        SELECT p.process_id,SUM(p.process_num),inv.fps_id,m.machining_type,m.machining_tp
        SELECT a.process_id,SUM(a.process_num),a.machining_type,a.machining_tp FROM
        (
        SELECT DISTINCT
        p.process_id,
        p.process_num,
        m.machining_type,
        m.machining_tp
        FROM sys_process p
        LEFT JOIN sys_machining m ON p.process_id = m.id
        LEFT JOIN sys_land sl ON sl.id = p.land_id
        LEFT JOIN sys_process_inv inv ON inv.product_id = p.process_id
        WHERE 1=1 AND p.is_deleted = 0
        <if test="recovery.deptId !=null and recovery.deptId !=''">
            AND inv.fps_id = #{recovery.deptId}
            AND( sl.farm_id = #{recovery.deptId} OR (inv.fps_id = #{recovery.deptId} AND p.land_id IS NULL))
        </if>
        <if test="recovery.startTime != null and recovery.startTime !=''">
            AND DATE_FORMAT(p.sale_time,'%Y-%m-%d') &gt;= #{recovery.startTime}
@@ -131,6 +153,6 @@
        <if test="recovery.endTime != null and recovery.endTime !=''">
            and DATE_FORMAT(p.sale_time,'%Y-%m-%d') &lt;= #{recovery.endTime}
        </if>
        GROUP BY p.process_id
        ) a GROUP BY a.process_id
    </select>
</mapper>