diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/DeviceInterfaceController.java b/op-modules/op-device/src/main/java/com/op/device/controller/DeviceInterfaceController.java index bd048a05..e899c3b5 100644 --- a/op-modules/op-device/src/main/java/com/op/device/controller/DeviceInterfaceController.java +++ b/op-modules/op-device/src/main/java/com/op/device/controller/DeviceInterfaceController.java @@ -81,4 +81,13 @@ public class DeviceInterfaceController { return deviceInterfaceService.getDeviceRefreshTime(equOperationRecord); } + /** + * 首页-组线设备月故障数 + * @return + */ + @GetMapping("/getGroupLineEquInfo") + public AjaxResult getGroupLineEquInfo() { + return deviceInterfaceService.getGroupLineEquInfo(); + } + } diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/vo/IEquFaultVO.java b/op-modules/op-device/src/main/java/com/op/device/domain/vo/IEquFaultVO.java new file mode 100644 index 00000000..0cf7cf8b --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/domain/vo/IEquFaultVO.java @@ -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; + } +} diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/DeviceInterfaceMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/DeviceInterfaceMapper.java index 9f63567c..0218626c 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/DeviceInterfaceMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/DeviceInterfaceMapper.java @@ -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 selectGroups(); + + /** + * 通过组线编码查询当年设备每月故障数 + * @param groupCode + * @return + */ + List> selectEquipmentFaultNumForMonth(String groupCode); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/IDeviceInterfaceService.java b/op-modules/op-device/src/main/java/com/op/device/service/IDeviceInterfaceService.java index db04b539..1f39820b 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/IDeviceInterfaceService.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/IDeviceInterfaceService.java @@ -45,4 +45,10 @@ public interface IDeviceInterfaceService { * 初始值:5分钟 */ public AjaxResult getDeviceRefreshTime(EquOperationRecord equOperationRecord); + + /** + * 首页-组线设备月故障数 + * @return + */ + AjaxResult getGroupLineEquInfo(); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/DeviceInterfaceServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/DeviceInterfaceServiceImpl.java index 13d84288..5ac38c17 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/DeviceInterfaceServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/DeviceInterfaceServiceImpl.java @@ -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 faultVOList = deviceInterfaceMapper.selectGroups(); + // 初始化返回对象信息(获取当前月份,设置好数组长度) + for (IEquFaultVO faultVO : faultVOList) { + // 通过组线编码查询当年设备每月故障数 + List> monthFault = deviceInterfaceMapper.selectEquipmentFaultNumForMonth(faultVO.getCode()); + if (monthFault!=null) { + for (Map 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) { + + } } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOperationServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOperationServiceImpl.java index b8dae86d..634abadb 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOperationServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOperationServiceImpl.java @@ -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()); diff --git a/op-modules/op-device/src/main/resources/mapper/device/DeviceInterfaceMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/DeviceInterfaceMapper.xml index 06c2b7f8..8c15fd8c 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/DeviceInterfaceMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/DeviceInterfaceMapper.xml @@ -64,4 +64,23 @@ where dict_label = 'device_refresh_time' + + + + \ No newline at end of file diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcInterface.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcInterface.java index 41a65f3f..0486dfd9 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcInterface.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcInterface.java @@ -44,6 +44,15 @@ public class QcInterface extends BaseEntity { private String machineCode; private String machineName; private List data; + private String typeCode; + + public String getTypeCode() { + return typeCode; + } + + public void setTypeCode(String typeCode) { + this.typeCode = typeCode; + } public List getData() { return data;