智慧农业后台管理
guoshilong
2022-09-17 eab652f2f1c596c839013172a472bf88466f0c83
src/main/java/org/springblade/modules/recovery/mapper/RecoveryMapper.xml
@@ -4,10 +4,11 @@
    <!--自定义查询采收记录分页数据-->
    <select id="selectRecoveryPage" resultType="org.springblade.modules.recovery.vo.RecoveryVO">
        select sr.*,sl.land_name landName,ss.strain_name strainName,user.real_name as realName from sys_recovery sr
        select sr.*,sl.land_name landName,ss.strain_name strainName,user.real_name as realName,GROUP_CONCAT(tr.id) AS trIds from sys_recovery sr
        left join sys_land sl on sl.id = sr.land_id
        left join sys_strain ss on ss.id = sr.strain_id
        left join blade_user user ON user.id = sr.operator
        LEFT JOIN sys_traceability tr ON tr.recovery_id = sr.id
        where 1=1
        <if test="recovery.strainName!=null and recovery.strainName!=''">
            and ss.strain_name like concat ('%',#{recovery.strainName},'%')
@@ -34,6 +35,13 @@
        <if test="recovery.tenantId!=null and recovery.tenantId!=''">
            and sr.tenant_id = #{recovery.tenantId}
        </if>
        <if test="recovery.startTime != null and recovery.startTime !=''">
            AND DATE_FORMAT(sr.time,'%Y-%m-%d') &gt;= #{recovery.startTime}
        </if>
        <if test="recovery.endTime != null and recovery.endTime !=''">
            and DATE_FORMAT(sr.time,'%Y-%m-%d') &lt;= #{recovery.endTime}
        </if>
        GROUP BY sr.id
        ORDER BY sr.create_time DESC
    </select>
@@ -66,28 +74,30 @@
            AND sr.dept_id = #{recovery.deptId}
        </if>
        <if test="recovery.startTime != null and recovery.startTime !=''">
            AND DATE_FORMAT(sr.create_time,'%Y-%m-%d') &gt;= #{recovery.startTime}
            AND DATE_FORMAT(sr.time,'%Y-%m-%d') &gt;= #{recovery.startTime}
        </if>
        <if test="recovery.endTime != null and recovery.endTime !=''">
            and DATE_FORMAT(sr.create_time,'%Y-%m-%d') &lt;= #{recovery.endTime}
            and DATE_FORMAT(sr.time,'%Y-%m-%d') &lt;= #{recovery.endTime}
        </if>
        GROUP BY sr.strain_id
        UNION
        SELECT p.process_id,SUM(p.process_num),l.farm_id,m.machining_type,m.machining_tp
        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_land l ON p.land_id = l.id
        WHERE 1=1
        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 l.farm_id = #{recovery.deptId}
            AND inv.fps_id = #{recovery.deptId}
        </if>
        <if test="recovery.startTime != null and recovery.startTime !=''">
            AND DATE_FORMAT(p.create_time,'%Y-%m-%d') &gt;= #{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.create_time,'%Y-%m-%d') &lt;= #{recovery.endTime}
            and DATE_FORMAT(p.sale_time,'%Y-%m-%d') &lt;= #{recovery.endTime}
        </if>
        GROUP BY p.process_id,l.farm_id
        GROUP BY p.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
@@ -98,30 +108,29 @@
            AND sr.dept_id = #{recovery.deptId}
        </if>
        <if test="recovery.startTime != null and recovery.startTime !=''">
            AND DATE_FORMAT(sr.create_time,'%Y-%m-%d') &gt;= #{recovery.startTime}
            AND DATE_FORMAT(sr.time,'%Y-%m-%d') &gt;= #{recovery.startTime}
        </if>
        <if test="recovery.endTime != null and recovery.endTime !=''">
            and DATE_FORMAT(sr.create_time,'%Y-%m-%d') &lt;= #{recovery.endTime}
        </if>
        <if test="recovery.strainType != null and recovery.strainType !=''">
            AND strain.strain_type = #{recovery.strainType}
            and DATE_FORMAT(sr.time,'%Y-%m-%d') &lt;= #{recovery.endTime}
        </if>
        GROUP BY sr.strain_id
        UNION
        SELECT p.process_id,SUM(p.process_num),l.farm_id,m.machining_type,m.machining_tp
        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_land l ON p.land_id = l.id
        WHERE 1=1
        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 l.farm_id = #{recovery.deptId}
            AND inv.fps_id = #{recovery.deptId}
        </if>
        <if test="recovery.startTime != null and recovery.startTime !=''">
            AND DATE_FORMAT(p.create_time,'%Y-%m-%d') &gt;= #{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.create_time,'%Y-%m-%d') &lt;= #{recovery.endTime}
            and DATE_FORMAT(p.sale_time,'%Y-%m-%d') &lt;= #{recovery.endTime}
        </if>
        GROUP BY p.process_id,l.farm_id
        GROUP BY p.process_id
    </select>
</mapper>