diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java b/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java index 18d6e43dd..e54260326 100644 --- a/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java +++ b/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java @@ -72,8 +72,7 @@ public class DevicePDAController extends BaseController { return devicePDAService.updateInspectionRecord(equOrder); } - //报修 - + //////////报修 /** * 新增手持报修记录 * @@ -85,8 +84,7 @@ public class DevicePDAController extends BaseController { return devicePDAService.addRepairRecord(equRepairOrder); } - //维修 - + //////////维修 /** * 获取维修记录(待处理) * @@ -120,7 +118,6 @@ public class DevicePDAController extends BaseController { return devicePDAService.updateDowntime(equRepairWorkOrder); } - /** * 获取设备管理详细信息 */ @@ -198,6 +195,4 @@ public class DevicePDAController extends BaseController { public AjaxResult getFaultReasonList(EquFaultReason equFaultReason) { return devicePDAService.selectEquFaultReasonList(equFaultReason); } - - } diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquOperation.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquOperation.java index 22668daf5..a9f42b88a 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquOperation.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquOperation.java @@ -95,6 +95,14 @@ public class EquOperation extends BaseEntity { /** 删除标识 */ private String delFlag; + /** 故障次数 */ + @Excel(name = "故障次数") + private Integer failureTimes; + + /** 停机次数 */ + @Excel(name = "停机次数") + private Integer shutdownTimes; + // 创建日期范围list private List createTimeArray; @@ -353,6 +361,22 @@ public class EquOperation extends BaseEntity { return intactRate; } + //故障次数 + public void setFailureTimes(Integer failureTimes) { + this.failureTimes = failureTimes; + } + public Integer getFailureTimes() { + return failureTimes; + } + + //停机次数 + public void setShutdownTimes(Integer shutdownTimes) { + this.shutdownTimes = shutdownTimes; + } + public Integer getShutdownTimes() { + return shutdownTimes; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java index 336385f6b..791fcedf8 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java @@ -785,18 +785,20 @@ public class DevicePDAServiceImpl implements IDevicePDAService { //2.3修改完好率报表 if(equOperation != null){ - DecimalFormat df = new DecimalFormat("#.##"); - //实际运行时间 = 实际运行时间 - 故障时间 - double result = Double.parseDouble(equOperation.getActualOperationTime()) - hour; - //故障时间 = 原来的故障时间 + 这次的故障时间 - double faultTime = Double.parseDouble(equOperation.getFaultTime()) + hour; - equOperation.setActualOperationTime(String.valueOf(df.format(result)));//实际运行时间 - equOperation.setFaultTime(String.valueOf(faultTime));//故障时间 - - BigDecimal faultTimeBD = new BigDecimal(faultTime);// 故障时间 - BigDecimal operationTimeBD = new BigDecimal(equOperation.getOperationTime());// 运行时间 - - equOperation.setFailureRate(faultTimeBD.multiply(new BigDecimal(100)).divide(operationTimeBD,2, RoundingMode.HALF_UP).toString()+"%"); + if (list.getWorkDownMachine().equals("1")) { + DecimalFormat df = new DecimalFormat("#.##"); + //实际运行时间 = 实际运行时间 - 故障时间 + double result = Double.parseDouble(equOperation.getActualOperationTime()) - hour; + //故障时间 = 原来的故障时间 + 这次的故障时间 + double faultTime = Double.parseDouble(equOperation.getFaultTime()) + hour; + BigDecimal faultTimeBD = new BigDecimal(faultTime);// 故障时间 + BigDecimal operationTimeBD = new BigDecimal(equOperation.getOperationTime());//运行时间 + equOperation.setActualOperationTime(String.valueOf(df.format(result)));//实际运行时间 + equOperation.setFaultTime(String.valueOf(faultTime));//故障时间 + equOperation.setFailureRate(faultTimeBD.multiply(new BigDecimal(100)).divide(operationTimeBD,2, RoundingMode.HALF_UP).toString()+"%"); + equOperation.setShutdownTimes(equOperation.getShutdownTimes()+1);//停机次数加1 + } + equOperation.setFailureTimes(equOperation.getFailureTimes()+1);//故障次数加1 equOperation.setUpdateBy(SecurityUtils.getUsername()); equOperation.setUpdateTime(DateUtils.getNowDate()); equOperationMapper.updateEquOperation(equOperation); diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairWorkOrderServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairWorkOrderServiceImpl.java index eea0cbf36..bbe336e4c 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairWorkOrderServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairWorkOrderServiceImpl.java @@ -234,22 +234,25 @@ public class EquRepairWorkOrderServiceImpl implements IEquRepairWorkOrderService String time = sdf.format(equRepairWorkOrder.getWorkEndTime()); EquOperation equOperation = equOperationMapper.selectEquipmentIntegrityRate(time,equRepairWorkOrder.getEquipmentCode()); - if(equOperation != null){ - DecimalFormat df = new DecimalFormat("#.##"); - //实际运行时间 = 实际运行时间 - 故障时间 - double result = Double.parseDouble(equOperation.getActualOperationTime()) - Double.parseDouble(hours); - //故障时间 = 原来的故障时间 + 这次的故障时间 - double faultTime = Double.parseDouble(equOperation.getFaultTime()) + Double.parseDouble(hours); - equOperation.setActualOperationTime(String.valueOf(df.format(result)));//实际运行时间 - equOperation.setFaultTime(String.valueOf(faultTime));//故障时间 - - BigDecimal faultTimeBD = new BigDecimal(faultTime);// 故障时间 - BigDecimal operationTimeBD = new BigDecimal(equOperation.getOperationTime());// 运行时间 - - // 故障率计算(故障时间/运行时间) - equOperation.setFailureRate(faultTimeBD.multiply(new BigDecimal(100)).divide(operationTimeBD,2, RoundingMode.HALF_UP).toString()+"%"); + if(equOperation != null){ + if (equRepairWorkOrder.getWorkDownMachine().equals("1")) { + DecimalFormat df = new DecimalFormat("#.##"); + //实际运行时间 = 实际运行时间 - 故障时间 + double result = Double.parseDouble(equOperation.getActualOperationTime()) - Double.parseDouble(hours); + //故障时间 = 原来的故障时间 + 这次的故障时间 + double faultTime = Double.parseDouble(equOperation.getFaultTime()) + Double.parseDouble(hours); + BigDecimal faultTimeBD = new BigDecimal(faultTime);// 故障时间 + BigDecimal operationTimeBD = new BigDecimal(equOperation.getOperationTime());// 运行时间 + equOperation.setFaultTime(String.valueOf(faultTime));//故障时间 + equOperation.setActualOperationTime(String.valueOf(df.format(result)));//实际运行时间 + // 故障率计算(故障时间/运行时间) + equOperation.setFailureRate(faultTimeBD.multiply(new BigDecimal(100)).divide(operationTimeBD,2, RoundingMode.HALF_UP).toString()+"%"); + equOperation.setShutdownTimes(equOperation.getShutdownTimes()+1);//停机次数加1 + } equOperation.setUpdateBy(SecurityUtils.getUsername()); equOperation.setUpdateTime(DateUtils.getNowDate()); + //故障次数增加,但是停机次数可能不增加 + equOperation.setFailureTimes(equOperation.getFailureTimes()+1);//故障次数加1 equOperationMapper.updateEquOperation(equOperation); } } @@ -258,7 +261,6 @@ public class EquRepairWorkOrderServiceImpl implements IEquRepairWorkOrderService // BigDecimal sparePartsCost = equSpareApplyMapper.getSparePartsCost(equRepairWorkOrder.getOrderCode()); // BigDecimal orderCost = BigDecimal.valueOf(Double.valueOf(equRepairWorkOrder.getWorkCost())); // equRepairWorkOrder.setWorkCost(String.valueOf(sparePartsCost.add(orderCost))); - return equRepairWorkOrderMapper.updateEquRepairWorkOrder(equRepairWorkOrder); } 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 48089a27c..0cbc365c1 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 @@ -77,11 +77,14 @@ diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOperationMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOperationMapper.xml index cad742854..6da1e0043 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOperationMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOperationMapper.xml @@ -29,6 +29,8 @@ + + @@ -55,7 +57,9 @@ create_by, create_time, update_by, - update_time + update_time, + failure_times, + shutdown_times from equ_operation @@ -159,6 +163,8 @@ create_time, update_by, update_time, + failure_times, + shutdown_times, #{id}, @@ -185,6 +191,8 @@ #{createTime}, #{updateBy}, #{updateTime}, + #{failureTimes}, + #{shutdownTimes}, @@ -236,6 +244,8 @@ create_time = #{createTime}, update_by = #{updateBy}, update_time = #{updateTime}, + failure_times = #{failureTimes}, + shutdown_times = #{shutdownTimes}, where id = #{id}