设备综合数据看板接口新增

master
Yangwl 4 months ago
parent d110ff155e
commit cc485c9365

@ -39,6 +39,38 @@ public class DeviceInterfaceController {
return deviceInterfaceService.getRepairWorkOrder();
}
/**
*
* @param equOperation
* @return
*/
@GetMapping("/getworkFaultReason")
public AjaxResult getworkFaultReason(EquOperation equOperation) {
DynamicDataSourceContextHolder.push(equOperation.getPoolName());
return deviceInterfaceService.getworkFaultReason();
}
/**
*
* @param equOperation
* @return
*/
@GetMapping("/getworkFaultDesc")
public AjaxResult getworkFaultDesc(EquOperation equOperation) {
DynamicDataSourceContextHolder.push(equOperation.getPoolName());
return deviceInterfaceService.getworkFaultDesc();
}
/**
*
* @param equOperation
* @return
*/
@GetMapping("/getWave")
public AjaxResult getWave(EquOperation equOperation) {
DynamicDataSourceContextHolder.push(equOperation.getPoolName());
return deviceInterfaceService.getWave();
}
/**
*
*
@ -50,6 +82,7 @@ public class DeviceInterfaceController {
return deviceInterfaceService.getEquipmentInfo(equOperation);
}
/**
*
*
@ -115,6 +148,10 @@ public class DeviceInterfaceController {
*
*
*
*
*
*
*
*/
@GetMapping("/getCompletedRate")
public AjaxResult getCompletedRate(EquOperation equOperation) {

@ -84,4 +84,10 @@ public interface DeviceInterfaceMapper {
EquipmentBoardVO getCompletionRate();
List<EquRepairWorkOrderDetailVO> selectEquRepairWorkOrderDetail(EquRepairWorkOrderDetailVO equRepairWorkOrderDetailVO);
List<Map> getworkFaultReason();
List<Map> getworkFaultDesc();
Map getWave();
}

@ -67,6 +67,12 @@ public interface IDeviceInterfaceService {
AjaxResult selectSpotInspectionList(EquOrderVO equOrderVO);
AjaxResult selectInspectionList(EquOrderVO equOrderVO);
AjaxResult getworkFaultReason();
AjaxResult getworkFaultDesc();
AjaxResult getWave();
//
// AjaxResult getInspectionWorkOrder(EquOrder equOrder);
//

@ -288,4 +288,22 @@ public class DeviceInterfaceServiceImpl implements IDeviceInterfaceService {
List<EquOrderVO> spotInspectionList = deviceInterfaceMapper.selectEquOrderList(equOrderVO);
return success(spotInspectionList);
}
@Override
public AjaxResult getworkFaultReason() {
List<Map> resultMap = deviceInterfaceMapper.getworkFaultReason();
return success(resultMap);
}
@Override
public AjaxResult getworkFaultDesc() {
List<Map> resultMap = deviceInterfaceMapper.getworkFaultDesc();
return success(resultMap);
}
@Override
public AjaxResult getWave() {
Map resultMap = deviceInterfaceMapper.getWave();
return success(resultMap);
}
}

@ -204,6 +204,29 @@
<select id="getCompletionRate" resultType="com.op.device.domain.vo.EquipmentBoardVO">
SELECT
(SELECT COUNT(order_id)
FROM equ_order
WHERE plan_type = 'maintenance'
AND del_flag = '0'
AND YEAR(create_time) = YEAR(GETDATE())
AND MONTH(create_time) = MONTH(GETDATE())) as maintenanceTotal,
(SELECT COUNT(order_id)
FROM equ_order
WHERE plan_type = 'maintenance'
AND del_flag = '0'
AND order_status = '0'
AND YEAR(create_time) = YEAR(GETDATE())
AND MONTH(create_time) = MONTH(GETDATE())) as maintenancePendCheck,
(SELECT COUNT(order_id)
FROM equ_order
WHERE plan_type = 'inspection'
AND del_flag = '0'
AND order_status = '1'
AND YEAR(create_time) = YEAR(GETDATE())
AND MONTH(create_time) = MONTH(GETDATE())) as maintenanceFinish,
(SELECT COUNT(order_id)
FROM equ_order
WHERE plan_type = 'inspection'
@ -245,7 +268,18 @@
WHERE plan_type ='spotInspection'
AND del_flag = '0'
AND order_status = '1'
AND CAST(create_time AS DATE) = CAST(GETDATE() AS DATE)) as spotInspectionFinish
AND CAST(create_time AS DATE) = CAST(GETDATE() AS DATE)) as spotInspectionFinish,
(SELECT COUNT(order_id)
FROM equ_repair_work_order
WHERE
del_flag = '0'
AND CAST(create_time AS DATE) = CAST(GETDATE() AS DATE)) as repairTotal,
(SELECT COUNT(order_id)
FROM equ_repair_work_order
WHERE
del_flag = '0'
AND work_status = '1'
AND CAST(create_time AS DATE) = CAST(GETDATE() AS DATE)) as repairFinish
FROM (SELECT 1 AS DUMMY) AS T;
</select>
@ -413,5 +447,63 @@
</where>
order by eo.create_time desc
</select>
<select id="getworkFaultReason" resultType="java.util.Map">
SELECT
CASE
WHEN work_reason IN ('', '无') THEN '空' -- 处理空字符串和'无'
ELSE work_reason
END AS name,
CAST(COUNT(*) * 100.0 / SUM(COUNT(*)) OVER() AS DECIMAL(5,2)) AS value
FROM equ_repair_work_order
WHERE
work_reason IS NOT NULL -- 排除 NULL 值
AND work_reason != '无' -- 排除'无'的描述
AND del_flag = '0'
GROUP BY
CASE
WHEN work_reason IN ('', '无') THEN '空'
ELSE work_reason
END
ORDER BY value DESC;
</select>
<select id="getworkFaultDesc" resultType="java.util.Map">
SELECT TOP(8)
CASE
WHEN work_fault_desc IN ('', '无') THEN '空' -- 处理空字符串和'无'
ELSE work_fault_desc
END AS name,
COUNT(*) AS value
FROM equ_repair_work_order
WHERE
work_fault_desc IS NOT NULL -- 排除 NULL 值
AND work_fault_desc != '无' -- 排除'无'的描述
AND del_flag = '0'
GROUP BY
CASE
WHEN work_fault_desc IN ('', '无') THEN '空'
ELSE work_fault_desc
END
ORDER BY value DESC;
</select>
<select id="getWave" resultType="java.util.Map">
SELECT
COUNT(*) AS total,
SUM(CASE WHEN work_status = '1' THEN 1 ELSE 0 END) AS number,
COALESCE(
CAST( -- 显式转换浮点类型
ROUND(
(SUM(CASE WHEN work_status = '1' THEN 1.0 ELSE 0 END) * 100)
/ NULLIF(COUNT(*), 0),
0)
AS INT), -- 强制保留整数
0)
AS ratio
FROM equ_repair_work_order
WHERE del_flag = '0';
</select>
</mapper>

Loading…
Cancel
Save