@ -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 ) ;
}