龚焕茏
2024-08-07 53a9893433481b3f1ec74fb89f0197a8da5b21e7
feat:大屏工单
5个文件已修改
2个文件已添加
125 ■■■■ 已修改文件
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/WorkOrderRegionVO.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/WorkOrderTotalVO.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/controller/DashboardController.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/WorkOrderRegionVO.java
New file
@@ -0,0 +1,28 @@
package com.ycl.platform.domain.vo.screen;
import lombok.Data;
/**
 * @author gonghl
 * @since 2024/8/7 下午 4:41
 */
@Data
public class WorkOrderRegionVO {
    /**
     * 区域
     */
    private String area;
    /**
     * 待办数量
     */
    private Integer todoNum;
    /**
     * 已办数量
     */
    private Integer doneNum;
}
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/WorkOrderTotalVO.java
New file
@@ -0,0 +1,28 @@
package com.ycl.platform.domain.vo.screen;
import lombok.Data;
/**
 * @author gonghl
 * @since 2024/8/7 下午 4:14
 */
@Data
public class WorkOrderTotalVO {
    /**
     * 工单总数
     */
    private Integer totalNum;
    /**
     * 已处理工单数
     */
    private Integer doneNum;
    /**
     * 未处理工单数
     */
    private Integer todoNum;
}
ycl-server/src/main/java/com/ycl/platform/controller/DashboardController.java
@@ -31,9 +31,14 @@
        return AjaxResult.success(deptService.dashboard());
    }
    @GetMapping("/workOrder")
    public AjaxResult workOrder(DashboardQuery dashboardQuery) {
        return AjaxResult.success(workOrderService.dashboard(dashboardQuery));
    @GetMapping("/workOrder/total")
    public AjaxResult workOrderTotal(DashboardQuery dashboardQuery) {
        return AjaxResult.success(workOrderService.workOrderTotal(dashboardQuery));
    }
    @GetMapping("/workOrder/region")
    public AjaxResult workOrderRegion(DashboardQuery dashboardQuery) {
        return AjaxResult.success(workOrderService.workOrderRegion(dashboardQuery));
    }
    @GetMapping("/monitor/total")
ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java
@@ -7,6 +7,8 @@
import com.ycl.platform.domain.vo.WorkOrderVO;
import com.ycl.platform.domain.vo.YwPointJobVO;
import com.ycl.platform.domain.vo.screen.ScreenWorkOrderVO;
import com.ycl.platform.domain.vo.screen.WorkOrderRegionVO;
import com.ycl.platform.domain.vo.screen.WorkOrderTotalVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -53,12 +55,12 @@
     * @param dashboardQuery 查询条件
     * @return 数据
     */
    Map<String, Object> workOrderTotal(DashboardQuery dashboardQuery);
    WorkOrderTotalVO workOrderTotal(DashboardQuery dashboardQuery);
    /**
     * 大屏工单分区
     * @param dashboardQuery 查询条件
     * @return 数据
     */
    Map<String, Object> workOrderRegion(DashboardQuery dashboardQuery);
    List<WorkOrderRegionVO> workOrderRegion(DashboardQuery dashboardQuery);
}
ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java
@@ -5,6 +5,8 @@
import com.ycl.platform.domain.form.*;
import com.ycl.platform.domain.query.*;
import com.ycl.platform.domain.vo.DistributeWorkOrderVO;
import com.ycl.platform.domain.vo.screen.WorkOrderRegionVO;
import com.ycl.platform.domain.vo.screen.WorkOrderTotalVO;
import com.ycl.system.Result;
import java.util.List;
@@ -159,10 +161,17 @@
    Map<String, Object> home(HomeQuery monitorQuery);
    /**
     * 大屏工单
     * 大屏工单数据
     * @param dashboardQuery 查询条件
     * @return 数据
     */
    Map<String, Object> dashboard(DashboardQuery dashboardQuery);
    WorkOrderTotalVO workOrderTotal(DashboardQuery dashboardQuery);
    /**
     * 大屏工单地区
     * @param dashboardQuery 查询条件
     * @return 数据
     */
    List<WorkOrderRegionVO> workOrderRegion(DashboardQuery dashboardQuery);
}
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -13,6 +13,8 @@
import com.ycl.platform.domain.vo.WorkOrderVO;
import com.ycl.platform.domain.vo.WorkOrderYwConditionRecordVO;
import com.ycl.platform.domain.vo.screen.ScreenWorkOrderVO;
import com.ycl.platform.domain.vo.screen.WorkOrderRegionVO;
import com.ycl.platform.domain.vo.screen.WorkOrderTotalVO;
import com.ycl.platform.mapper.*;
import com.ycl.platform.service.NotifyService;
import com.ycl.platform.service.WorkOrderAuditingRecordService;
@@ -464,10 +466,12 @@
    }
    @Override
    public Map<String, Object> dashboard(DashboardQuery dashboardQuery) {
        HashMap<String, Object> map = new HashMap<>();
        map.put("workOrderTotal", baseMapper.workOrderTotal(dashboardQuery));
        map.put("workOrderRegion", baseMapper.workOrderRegion(dashboardQuery));
        return map;
    public WorkOrderTotalVO workOrderTotal(DashboardQuery dashboardQuery) {
        return baseMapper.workOrderTotal(dashboardQuery);
    }
    @Override
    public List<WorkOrderRegionVO> workOrderRegion(DashboardQuery dashboardQuery) {
        return baseMapper.workOrderRegion(dashboardQuery);
    }
}
ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
@@ -139,17 +139,32 @@
        </if>
    </select>
    <select id="workOrderTotal" resultType="java.util.Map">
    <select id="workOrderTotal" resultType="com.ycl.platform.domain.vo.screen.WorkOrderTotalVO">
        SELECT
            COUNT(*) AS totalNum,
            COUNT(IF(status = 'DISTRIBUTED', 1, NULL)) + COUNT(IF(status = 'AUDITING_FAIL', 1, NULL)) + COUNT(IF(status = 'WAIT_DISTRIBUTE', 1, NULL)) AS todoNum,
            COUNT(IF(status = 'YW_HANDLE', 1, NULL)) + COUNT(IF(status = 'AUDITING_SUCCESS', 1, NULL)) + COUNT(IF(status = 'AUDITING', 1, NULL)) AS doneNum
            COUNT(IF(w.status = 'DISTRIBUTED', 1, NULL)) + COUNT(IF(w.status = 'AUDITING_FAIL', 1, NULL)) + COUNT(IF(w.status = 'WAIT_DISTRIBUTE', 1, NULL)) AS todoNum,
            COUNT(IF(w.status = 'YW_HANDLE', 1, NULL)) + COUNT(IF(w.status = 'AUDITING_SUCCESS', 1, NULL)) + COUNT(IF(w.status = 'AUDITING', 1, NULL)) AS doneNum
        FROM t_work_order w
        LEFT JOIN t_yw_point p ON w.serial_number = p.serial_number AND p.deleted = 0
        WHERE w.deleted = 0
        <if test="dataScope == 1"> AND p.province_tag = 'province' </if>
        <if test="deptId != null"> AND p.dept_id = #{deptId} </if>
    </select>
    <select id="workOrderRegion" resultType="java.util.Map">
        SELECT * FROM t_work_order limit 1
    <select id="workOrderRegion" resultType="com.ycl.platform.domain.vo.screen.WorkOrderRegionVO">
        SELECT
            d.area,
            COUNT(IF(w.status = 'DISTRIBUTED', 1, NULL)) + COUNT(IF(w.status = 'AUDITING_FAIL', 1, NULL)) + COUNT(IF(w.status = 'WAIT_DISTRIBUTE', 1, NULL)) AS todoNum,
            COUNT(IF(w.status = 'YW_HANDLE', 1, NULL)) + COUNT(IF(w.status = 'AUDITING_SUCCESS', 1, NULL)) + COUNT(IF(w.status = 'AUDITING', 1, NULL)) AS doneNum
        FROM
            sys_dept d
        LEFT JOIN t_yw_point p ON p.dept_id = d.dept_id AND p.deleted = 0
        LEFT JOIN t_work_order w ON w.serial_number = p.serial_number AND w.deleted = 0
        WHERE d.del_flag = 0 AND d.area IS NOT NULL
        <if test="dataScope == 1"> AND p.province_tag = 'province' </if>
        <if test="deptId != null"> AND p.dept_id = #{deptId} </if>
        GROUP BY d.area, d.dept_id
        ORDER BY d.dept_id
    </select>
</mapper>