mirror of
https://github.com/Karaka-Management/phpOMS.git
synced 2026-02-09 21:48:41 +00:00
parent
0deb040847
commit
7d3620c4f4
|
|
@ -30,4 +30,13 @@ use phpOMS\Datatypes\Enum;
|
||||||
*/
|
*/
|
||||||
abstract class EnergyPowerType extends Enum
|
abstract class EnergyPowerType extends Enum
|
||||||
{
|
{
|
||||||
|
const KILOWATT_HOUERS = 'kWh';
|
||||||
|
const MEGAWATT_HOUERS = 'MWh';
|
||||||
|
const KILOTONS = 'kt';
|
||||||
|
const JOULS = 'J';
|
||||||
|
const CALORIES = 'Cal';
|
||||||
|
const BTU = 'BTU';
|
||||||
|
const KILOJOULS = 'kJ';
|
||||||
|
const THERMEC = 'thmEC';
|
||||||
|
const NEWTON_METERS = 'Nm';
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -38,8 +38,6 @@ class Measurement
|
||||||
*
|
*
|
||||||
* @return float
|
* @return float
|
||||||
*
|
*
|
||||||
* @todo : implement more
|
|
||||||
*
|
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||||
*/
|
*/
|
||||||
|
|
@ -114,8 +112,6 @@ class Measurement
|
||||||
*
|
*
|
||||||
* @return float
|
* @return float
|
||||||
*
|
*
|
||||||
* @todo : implement more
|
|
||||||
*
|
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||||
*/
|
*/
|
||||||
|
|
@ -1237,8 +1233,68 @@ class Measurement
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||||
*/
|
*/
|
||||||
public static function convertEnergie(float $value, string $from = WeightType::GRAM, string $to = WeightType::KILOGRAM) : float
|
public static function convertEnergie(float $value, string $from = EnergyPowerType::JOULS, string $to = EnergyPowerType::KILOWATT_HOUERS) : float
|
||||||
{
|
{
|
||||||
|
switch ($from) {
|
||||||
|
case EnergyPowerType::JOULS:
|
||||||
|
break;
|
||||||
|
case EnergyPowerType::KILOWATT_HOUERS:
|
||||||
|
$value /= 0.00000027778;
|
||||||
|
break;
|
||||||
|
case EnergyPowerType::MEGAWATT_HOUERS:
|
||||||
|
$value /= 0.00000000027778;
|
||||||
|
break;
|
||||||
|
case EnergyPowerType::KILOTONS:
|
||||||
|
$value /= 0.00000000000023901;
|
||||||
|
break;
|
||||||
|
case EnergyPowerType::CALORIES:
|
||||||
|
$value /= 0.00023885;
|
||||||
|
break;
|
||||||
|
case EnergyPowerType::BTU:
|
||||||
|
$value /= 0.00094782;
|
||||||
|
break;
|
||||||
|
case EnergyPowerType::KILOJOULS:
|
||||||
|
$value /= 0.0010000;
|
||||||
|
break;
|
||||||
|
case EnergyPowerType::THERMEC:
|
||||||
|
$value /= 0.0000000094782;
|
||||||
|
break;
|
||||||
|
case EnergyPowerType::NEWTON_METERS:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new \InvalidArgumentException('Energy not supported');
|
||||||
|
}
|
||||||
|
|
||||||
|
switch ($to) {
|
||||||
|
case EnergyPowerType::JOULS:
|
||||||
|
break;
|
||||||
|
case EnergyPowerType::KILOWATT_HOUERS:
|
||||||
|
$value *= 0.00000027778;
|
||||||
|
break;
|
||||||
|
case EnergyPowerType::MEGAWATT_HOUERS:
|
||||||
|
$value *= 0.00000000027778;
|
||||||
|
break;
|
||||||
|
case EnergyPowerType::KILOTONS:
|
||||||
|
$value *= 0.00000000000023901;
|
||||||
|
break;
|
||||||
|
case EnergyPowerType::CALORIES:
|
||||||
|
$value *= 0.00023885;
|
||||||
|
break;
|
||||||
|
case EnergyPowerType::BTU:
|
||||||
|
$value *= 0.00094782;
|
||||||
|
break;
|
||||||
|
case EnergyPowerType::KILOJOULS:
|
||||||
|
$value *= 0.0010000;
|
||||||
|
break;
|
||||||
|
case EnergyPowerType::THERMEC:
|
||||||
|
$value *= 0.0000000094782;
|
||||||
|
break;
|
||||||
|
case EnergyPowerType::NEWTON_METERS:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new \InvalidArgumentException('Energy not supported');
|
||||||
|
}
|
||||||
|
|
||||||
return $value;
|
return $value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user