智慧农业后台管理
guoshilong
2022-09-28 5f7f52e93266dc8795ad1543b333a64444c22727
修正加工表数据统计结果,取消user,detail接口的访问权限
4 files modified
102 ■■■■ changed files
src/main/java/org/springblade/modules/process/mapper/ProcessMapper.xml 58 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/recovery/mapper/RecoveryMapper.xml 38 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/sale/mapper/SaleMapper.xml 4 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/controller/UserController.java 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/process/mapper/ProcessMapper.xml
@@ -42,7 +42,7 @@
        LEFT JOIN (SELECT mm.id,mm.machining_type FROM sys_machining mm) a ON a.id = p.parent_id
        WHERE p.is_deleted = 0
        <if test="process.farmId!=null and process.farmId!=''">
            AND (sl.farm_id = #{process.farmId} or inv.fps_id = #{process.farmId})
            AND (sl.farm_id = #{process.farmId} or (inv.fps_id = #{process.farmId} AND p.land_id IS NULL))
        </if>
        <if test="process.strainId !=null and process.strainId !=''">
            and p.strain_id = #{process.strainId}
@@ -71,7 +71,9 @@
    </update>
    <select id="statistics" resultType="java.lang.Double">
    SELECT SUM(p.process_num) AS sum
        SELECT SUM(a.process_num)as sum FROM
        (
        SELECT DISTINCT p.process_num
    FROM sys_process p
    LEFT JOIN sys_land land ON land.id = p.land_id
    LEFT JOIN sys_process_inv inv ON inv.product_id = p.process_id
@@ -80,8 +82,9 @@
        and YEAR ( p.sale_time ) = #{year}
    </if>
    <if test="farmId!=null and farmId!=''">
        and (land.farm_id = #{farmId} or inv.fps_id = #{farmId})
            and (land.farm_id = #{farmId} or (inv.fps_id = #{farmId} AND p.land_id IS NULL))
    </if>
        ) a
    </select>
    <select id="statisticsMonth" resultType="java.util.Map">
        SELECT
@@ -165,17 +168,24 @@
        x.d &lt;= y.last
        AND ADDDATE( y.FIRST, x.d - 1 ) &lt;= CURDATE( )
        ) AS lefttable
        LEFT JOIN (
        LEFT JOIN
        (
        SELECT
        IFNULL( sum( process.process_num ), 0 ) AS m,
                IFNULL( sum( middle.process_num ), 0 ) AS m,
                middle.gptime
            FROM
            (
                SELECT DISTINCT
                    process.process_num,
        DATE_FORMAT( process.sale_time, '%Y-%c-%d' ) AS gptime
        FROM
        sys_process process
        left join sys_land sl on sl.id = process.land_id
        WHERE DATE_FORMAT( process.sale_time, '%Y-%m' ) = #{year}
        and sl.farm_id = #{farmId}
        GROUP BY
        gptime
                LEFT JOIN sys_process_inv inv ON inv.product_id = process.process_id
                WHERE
                    DATE_FORMAT( process.sale_time, '%Y-%m' ) = #{year}
                    and (sl.farm_id = #{farmId} OR ( inv.fps_id =  #{farmId} AND process.land_id IS NULL ))
            )middle GROUP BY middle.gptime
        ) AS righttable ON DATE_FORMAT( lefttable.date, '%Y-%c-%d' ) = righttable.gptime
        ORDER BY time
@@ -199,11 +209,18 @@
                ) m
                left join
                (
                    select month(p.sale_time) a,sum(p.process_num) b from sys_process p
                    SELECT middle.a,SUM(middle.process_num) b FROM
                         (
                            select DISTINCT
                                month(p.sale_time) a,
                                p.process_num
                            from sys_process p
                    left join sys_land sl on sl.id = p.land_id
                    where  year(p.sale_time) = #{year}
                    and sl.farm_id = #{farmId}
                    GROUP BY month(p.sale_time)
                            LEFT JOIN sys_process_inv inv ON inv.product_id = p.process_id
                            where
                                year(p.sale_time) = #{year}
                                and (sl.farm_id = #{farmId} OR ( inv.fps_id =  #{farmId} AND p.land_id IS NULL ))
                        ) middle GROUP BY middle.a
                ) n
            on m.id = n.a
            order by id
@@ -227,12 +244,19 @@
        ) as a
        LEFT JOIN
        (
        SELECT HOUR(process.sale_time) AS order_hour, SUM(process.process_num) AS num from sys_process process
        SELECT middle.order_hour,SUM(middle.process_num) num FROM
            (
                SELECT DISTINCT
                    HOUR(process.sale_time) AS order_hour,
                    process.process_num
                from sys_process process
        left join sys_land sl on sl.id = process.land_id
        WHERE process.sale_time >= str_to_date(concat(#{year},' 00:00:00'),'%Y-%m-%d %T')
                LEFT JOIN sys_process_inv inv ON inv.product_id = process.process_id
                WHERE
                    process.sale_time >= str_to_date(concat(#{year},' 00:00:00'),'%Y-%m-%d %T')
        AND process.sale_time &lt;= str_to_date(concat(#{year},' 23:59:59'),'%Y-%m-%d %T')
        and sl.farm_id = #{farmId}
        GROUP BY order_hour
                    and (sl.farm_id = #{farmId} OR ( inv.fps_id =  #{farmId} AND process.land_id IS NULL ))
            ) middle GROUP BY middle.order_hour
        ) b ON a.order_hour=b.order_hour
        ORDER BY a.order_hour
    </select>
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,13 +87,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}
@@ -97,10 +108,14 @@
        <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>
    <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>
src/main/java/org/springblade/modules/sale/mapper/SaleMapper.xml
@@ -173,6 +173,7 @@
            sys_sale sale
            LEFT JOIN sys_district dis ON sale.sale_destination = dis.CODE
            LEFT JOIN sys_land sl ON sl.id = sale.land_id
            LEFT JOIN sys_process_inv inv ON inv.id = sale.prod_id
        WHERE 1 = 1 AND sale.is_deleted = 0
        <if test="startTime != null and startTime != ''">
            and sale_time &gt;= #{startTime}
@@ -183,9 +184,8 @@
        <if test="startTime == null and endTime == null ">
            and YEAR ( sale_time ) = YEAR ( NOW( ) )
        </if>
        <if test="farmId != null and farmId != ''">
            and sl.farm_id = #{farmId}
            and (sl.farm_id = #{farmId} or inv.fps_id = #{farmId})
        </if>
        GROUP BY
            dis.NAME,
src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -83,7 +83,7 @@
    @ApiOperationSupport(order = 1)
    @ApiOperation(value = "查看详情", notes = "传入id")
    @GetMapping("/detail")
    @PreAuth(RoleConstant.HAS_ROLE_ADMIN)
//    @PreAuth(RoleConstant.HAS_ROLE_ADMIN)
    public R<UserVO> detail(User user) {
        User detail = userService.getOne(Condition.getQueryWrapper(user));
        return R.data(UserWrapper.build().entityVO(detail));