|
|
|
@ -48,7 +48,8 @@ public class PsdcStrategyLogService implements IPsdcStrategyLogService { |
|
|
|
|
public List<PsdcStrategyLog> selMyStrategyLog() { |
|
|
|
|
Long userId = SecurityUtils.getUserId(); |
|
|
|
|
List<PsdcStrategyLog> logList = strategyLogMapper.selMyStrategyLog(userId); |
|
|
|
|
for (PsdcStrategyLog psl : logList){ // 策略层
|
|
|
|
|
// 策略层
|
|
|
|
|
for (PsdcStrategyLog psl : logList) { |
|
|
|
|
Long code = psl.getStrategyCode(); |
|
|
|
|
PsdcStrategy res; |
|
|
|
|
Double strategyUseEnergy = 0.0; |
|
|
|
@ -56,7 +57,8 @@ public class PsdcStrategyLogService implements IPsdcStrategyLogService { |
|
|
|
|
if (null != strategyList && strategyList.size() > 0) { |
|
|
|
|
res = strategyList.get(0); |
|
|
|
|
String[] split = res.getScenes().split(","); |
|
|
|
|
for (String s : split){ // 步骤层【1个步骤1个设备】
|
|
|
|
|
// 步骤层【1个步骤1个设备】
|
|
|
|
|
for (String s : split) { |
|
|
|
|
List<SceneVo> sceneVos = sceneMapper.findSceneByUserAndSceneCode(userId, Long.parseLong(s), null); |
|
|
|
|
// for (SceneVo sv : sceneVos) { // 设备层
|
|
|
|
|
// Integer deviceId = sv.getDeviceId();
|
|
|
|
@ -81,9 +83,9 @@ public class PsdcStrategyLogService implements IPsdcStrategyLogService { |
|
|
|
|
psl.setSceneUseEnergy(strategyUseEnergy); |
|
|
|
|
double v = 0.0; |
|
|
|
|
if (jssc > 0.0) { |
|
|
|
|
v = strategyUseEnergy / jssc; // 时长空判断处理
|
|
|
|
|
// 时长空判断处理
|
|
|
|
|
v = strategyUseEnergy / jssc; |
|
|
|
|
} |
|
|
|
|
// System.out.println("触发 = " + v + "\n");
|
|
|
|
|
String s = df.format(v); |
|
|
|
|
if (".".equals(s.substring(0, 1))) { |
|
|
|
|
s = "0" + s; |
|
|
|
@ -170,9 +172,15 @@ public class PsdcStrategyLogService implements IPsdcStrategyLogService { |
|
|
|
|
|
|
|
|
|
public Double jssc(SimpleDateFormat dfs, String start, String end) { |
|
|
|
|
try { |
|
|
|
|
Double d1 = Double.valueOf(dfs.parse(start).getTime()); |
|
|
|
|
Double d2 = Double.valueOf(dfs.parse(end).getTime()); |
|
|
|
|
Double between = (d2 - d1)/1000/3600; |
|
|
|
|
double d1 = 0.0; |
|
|
|
|
if (null != start && !"".equals(start)) { |
|
|
|
|
d1 = (double) dfs.parse(start).getTime(); |
|
|
|
|
} |
|
|
|
|
double d2 = 0.0; |
|
|
|
|
if (null != end && !"".equals(end)) { |
|
|
|
|
d2 = (double) dfs.parse(end).getTime(); |
|
|
|
|
} |
|
|
|
|
double between = (d2 - d1) / 1000 / 3600; |
|
|
|
|
return between; |
|
|
|
|
} catch (ParseException pe) { |
|
|
|
|
pe.printStackTrace(); |
|
|
|
|