New file |
| | |
| | | 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; |
| | | |
| | | } |
New file |
| | |
| | | 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; |
| | | |
| | | } |
| | |
| | | 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") |
| | |
| | | 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; |
| | | |
| | |
| | | * @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); |
| | | } |
| | |
| | | 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; |
| | |
| | | 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); |
| | | |
| | | } |
| | |
| | | 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; |
| | |
| | | } |
| | | |
| | | @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); |
| | | } |
| | | } |
| | |
| | | </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> |