首页-各组线每月设备故障数、设备完好率修改BUG解决

master
wws 1 year ago
parent 5f03c120b6
commit 516a9b8053

@ -81,4 +81,13 @@ public class DeviceInterfaceController {
return deviceInterfaceService.getDeviceRefreshTime(equOperationRecord);
}
/**
* -线
* @return
*/
@GetMapping("/getGroupLineEquInfo")
public AjaxResult getGroupLineEquInfo() {
return deviceInterfaceService.getGroupLineEquInfo();
}
}

@ -0,0 +1,34 @@
package com.op.device.domain.vo;
import java.time.LocalDate;
// 首页-组线设备月故障数
public class IEquFaultVO {
private int[] data = new int[LocalDate.now().getMonthValue()];
private String name;
private String code;
public int[] getData() {
return data;
}
public void setData(int[] data) {
this.data = data;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
}

@ -3,10 +3,12 @@ package com.op.device.mapper;
import com.op.device.domain.EquOperationRecord;
import com.op.device.domain.EquRepairWorkOrder;
import com.op.device.domain.MesReportWork;
import com.op.device.domain.vo.IEquFaultVO;
import com.op.device.domain.vo.IEquipmentVO;
import com.op.device.domain.vo.IRepairWorkOrderVO;
import java.util.List;
import java.util.Map;
public interface DeviceInterfaceMapper {
@ -43,4 +45,17 @@ public interface DeviceInterfaceMapper {
* 5
*/
String getDeviceRefreshTime(EquOperationRecord equOperationRecord);
/**
* 线
* @return
*/
List<IEquFaultVO> selectGroups();
/**
* 线
* @param groupCode
* @return
*/
List<Map<String, Integer>> selectEquipmentFaultNumForMonth(String groupCode);
}

@ -45,4 +45,10 @@ public interface IDeviceInterfaceService {
* 5
*/
public AjaxResult getDeviceRefreshTime(EquOperationRecord equOperationRecord);
/**
* -线
* @return
*/
AjaxResult getGroupLineEquInfo();
}

@ -5,6 +5,7 @@ import com.op.common.core.web.domain.AjaxResult;
import com.op.device.domain.EquOperationRecord;
import com.op.device.domain.EquRepairWorkOrder;
import com.op.device.domain.MesReportWork;
import com.op.device.domain.vo.IEquFaultVO;
import com.op.device.mapper.EquEquipmentMapper;
import com.op.device.domain.vo.IEquipmentVO;
import com.op.device.domain.vo.IRepairWorkOrderVO;
@ -16,10 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Random;
import java.util.*;
import java.util.stream.Collectors;
import static com.op.common.core.web.domain.AjaxResult.success;
@ -218,4 +216,35 @@ public class DeviceInterfaceServiceImpl implements IDeviceInterfaceService {
int time = Integer.parseInt(refreshTime);
return success(time);
}
/**
* -线
* @return
*/
@Override
@DS("#header.poolName")
public AjaxResult getGroupLineEquInfo() {
// 获取组线信息
List<IEquFaultVO> faultVOList = deviceInterfaceMapper.selectGroups();
// 初始化返回对象信息(获取当前月份,设置好数组长度)
for (IEquFaultVO faultVO : faultVOList) {
// 通过组线编码查询当年设备每月故障数
List<Map<String,Integer>> monthFault = deviceInterfaceMapper.selectEquipmentFaultNumForMonth(faultVO.getCode());
if (monthFault!=null) {
for (Map<String,Integer> data : monthFault) {
int[] source = faultVO.getData();
int index = data.get("month") - 1;
source[index] = data.get("count");
faultVO.setData(source);
}
}
}
// 获取每个组线的故障信息
// 处理信息,返回对象
return success(faultVOList);
}
public static void main(String[] args) {
}
}

@ -2,6 +2,7 @@ package com.op.device.service.impl;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.List;
@ -81,14 +82,15 @@ public class EquOperationServiceImpl implements IEquOperationService {
@DS("#header.poolName")
public int updateEquOperation(EquOperation equOperation) {
// 实际运行时间(运行时间-故障时间)
DecimalFormat df = new DecimalFormat("#.##");
double result = Double.parseDouble(equOperation.getOperationTime()) - Double.parseDouble(equOperation.getFaultTime());
equOperation.setActualOperationTime(String.valueOf(result));
equOperation.setActualOperationTime(String.valueOf(df.format(result)));
// 故障率计算(故障时间/运行时间)
BigDecimal faultTimeBD = new BigDecimal(equOperation.getFaultTime());// 故障时间
BigDecimal operationTimeBD = new BigDecimal(equOperation.getOperationTime());// 运行时间
// 将处理好的故障率置入故障率
equOperation.setFailureRate(faultTimeBD.divide(operationTimeBD,2, RoundingMode.HALF_UP).toString()+"%");
equOperation.setFailureRate(faultTimeBD.multiply(new BigDecimal(100)).divide(operationTimeBD,2, RoundingMode.HALF_UP).toString()+"%");
equOperation.setUpdateBy(SecurityUtils.getUsername());
equOperation.setUpdateTime(DateUtils.getNowDate());

@ -64,4 +64,23 @@
where dict_label = 'device_refresh_time'
</select>
<select id="selectGroups" resultType="com.op.device.domain.vo.IEquFaultVO">
select be.equipment_code AS 'code', be.equipment_name AS 'name'
from base_equipment be
where be.del_flag = '0'
and be.equipment_category = '1'
</select>
<select id="selectEquipmentFaultNumForMonth" resultType="java.util.Map">
SELECT MONTH (eo.create_time) AS 'month', COUNT (eo.create_time) AS 'count'
FROM equ_operation eo
WHERE YEAR (eo.create_time) = YEAR (GETDATE())
and eo.failure_rate != '0%'
and eo.equipment_code in (
select bae.auxiliary_equipment_code from equ_bind_auxiliary_equipment bae where bae.equipment_code = #{groupCode}
)
GROUP BY MONTH (eo.create_time)
ORDER BY MONTH (eo.create_time)
</select>
</mapper>

@ -44,6 +44,15 @@ public class QcInterface extends BaseEntity {
private String machineCode;
private String machineName;
private List<String> data;
private String typeCode;
public String getTypeCode() {
return typeCode;
}
public void setTypeCode(String typeCode) {
this.typeCode = typeCode;
}
public List<String> getData() {
return data;

Loading…
Cancel
Save