|
|
|
@ -78,14 +78,14 @@ public class DeviceInterfaceServiceImpl implements IDeviceInterfaceService {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* 停机故障率逻辑 */
|
|
|
|
|
long totalTime = 0L;// 运行总时间
|
|
|
|
|
long downTime = 0L;// 停机时间
|
|
|
|
|
double totalTime = 0;// 运行总时间
|
|
|
|
|
double downTime = 0;// 停机时间
|
|
|
|
|
// 通过设备编码获取运行记录中的运行记录List
|
|
|
|
|
List<EquOperationRecord> operationRecordList = equOperationRecordMapper.selectEquOperationRecordByEquipmentCode(equipmentVO.getEquipmentCode());
|
|
|
|
|
if (operationRecordList.size() != 0) {
|
|
|
|
|
for (EquOperationRecord operationRecord : operationRecordList) {
|
|
|
|
|
// 运行时间差值
|
|
|
|
|
long diffTime = operationRecord.getEndTime().getTime() - operationRecord.getStartTime().getTime();
|
|
|
|
|
double diffTime = operationRecord.getEndTime().getTime() - operationRecord.getStartTime().getTime();
|
|
|
|
|
// 开机运行时间运行总时间累加
|
|
|
|
|
if (operationRecord.getType().equals("on")) {
|
|
|
|
|
totalTime += diffTime;
|
|
|
|
@ -103,6 +103,7 @@ public class DeviceInterfaceServiceImpl implements IDeviceInterfaceService {
|
|
|
|
|
} else {
|
|
|
|
|
// 计算故障停机率(设备停机时间总和/一定时间内运行总时间(年))
|
|
|
|
|
double failureRate = downTime / totalTime;
|
|
|
|
|
System.out.println(failureRate);
|
|
|
|
|
equipmentVO.setFailureRate(failureRate);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -145,7 +146,7 @@ public class DeviceInterfaceServiceImpl implements IDeviceInterfaceService {
|
|
|
|
|
// 通过该设备code获取设备维修记录(只获取开始时间、结束时间)
|
|
|
|
|
List<EquRepairWorkOrder> workOrderList = deviceInterfaceMapper.selectRepairRecordByEquipmentCode(equipmentVO.getEquipmentCode());
|
|
|
|
|
if (workOrderList.size() != 0) {
|
|
|
|
|
Long runTime = 0l;
|
|
|
|
|
double runTime = 0;
|
|
|
|
|
for (EquRepairWorkOrder workOrder : workOrderList) {
|
|
|
|
|
// 维修时间差值
|
|
|
|
|
long diffTime = workOrder.getWorkEndTime().getTime() - workOrder.getWorkStartTime().getTime();
|
|
|
|
@ -153,7 +154,7 @@ public class DeviceInterfaceServiceImpl implements IDeviceInterfaceService {
|
|
|
|
|
runTime += diffTime;
|
|
|
|
|
}
|
|
|
|
|
// 计算维修质量(故障时间(小时)/故障次数)
|
|
|
|
|
long rapairQuantity = runTime / 3600000 / workOrderList.size();
|
|
|
|
|
double rapairQuantity = runTime / 3600000 / workOrderList.size();
|
|
|
|
|
equipmentVO.setRapairQuantity(Double.valueOf(rapairQuantity));
|
|
|
|
|
} else {
|
|
|
|
|
// 没有该记录则默认为0
|
|
|
|
|