67,512
社区成员
发帖
与我相关
我的任务
分享
/**
* 该集合存放下面4个集合的合并集
*/
List<LoadLogPoint> result = new ArrayList<LoadLogPoint>();
List<Point> points = dao.getLoadPoints(dateTimes, min, Pid);
List<Point> waterUps = dao.getWaterUpPoints(dateTimes, min, Pid);
List<Point> waterDowns = dao.getWaterDownPoints(dateTimes, min, Pid);
List<Point> waterHots = dao.getWaterHotPoints(dateTimes, min, Pid);
public class Point {
/**
* 数据ID
*/
private String id;
/**
* 主数据关联ID
*/
private String Pid;
/**
* 日期
*/
private String date;
/**
* 日期时间
*/
private String dateTime;
/**
* 小时
*/
private String hour;
/**
* 分钟
*/
private String mins;
/**
* 点位值
*/
private String value;
/**
* 每分钟取点余数
*/
private String mod;
}
public class LoadLogPoint {
private String id; //序号
private String Pid; //关联主表ID
private String date; //日期 主要判断参数
private String time; //时间 小时 hour 主要判断参数
private String point_jh_a; //计划负荷 每小时0分钟数据
private String point_jh_b; //计划负荷 每小时15分钟数据
private String point_jh_c; //计划负荷 每小时30分钟数据
private String point_jh_d; //计划负荷 每小时45分钟数据
private String point_sj_a; //实际负荷每小时0分钟数据
private String point_sj_b; //实际负荷每小时15分钟数据
private String point_sj_c; //实际负荷每小时30分钟数据
private String point_sj_d; //实际负荷每小时45分钟数据
private String water_up; //上库水位
private String water_down; //下库水位
private String water_up_scale; //上库渗水刻度
private String water_up_amount; //上库渗水量
private String water_head; //水头
private String water_hot; //水温
}
说明:
points 集合中 每小时有4条数据(每15分钟一条),所有一天24小时最多有24*4条数据
waterUps 集合中 每小时有1条数据(每小时一条),一天24条
waterDowns 集合中 每小时有1条数据(每小时一条),一天24条
waterHots 集合中 每小时有1条数据(每小时一条),一天24条
需要得到的 result 集合结构为:
将 points 集合中对象 Point 的 hour = 0 && mins = 0 的 value 值放入
result 集合中对象 LoadLogPoint 的 point_jh_a 和 point_jh_a 元素中。
points 集合中对象 Point 的 hour = 0 && mins = 15 的 value 值放入
result 集合中对象 LoadLogPoint 的 point_jh_b 和 point_jh_b 元素中。
points 集合中对象 Point 的 hour = 0 && mins = 30 的 value 值放入
result 集合中对象 LoadLogPoint 的 point_jh_c 和 point_jh_c 元素中。
points 集合中对象 Point 的 hour = 0 && mins = 45 的 value 值放入
result 集合中对象 LoadLogPoint 的 point_jh_d 和 point_jh_d 元素中。
waterUps 集合中对象 Point 的 hour = 0 的 value 值放入 result 集合中对象 LoadLogPoint 的 water_up 元素中。
waterDowns 集合中对象 Point 的 hour = 0 的 value 值放入 result 集合中对象 LoadLogPoint 的 water_down 元素中。
waterHots 集合中对象 Point 的 hour = 0 的 value 值放入 result 集合中对象 LoadLogPoint 的 water_hot 元素中。
最后将 hour 的值 放入 result 集合中对象 LoadLogPoint 的 time 元素中,这样就生成了一条数据,简单来将就是将7条
数据合成一条数据。下面的数据根据判断 hour 和 mins 再循环生成23条数据生成一个大小为24的result集合。
跪求高效方法!原因 一个action 需要重复操作2次 ,然后还要讲生成的集合批量update呢!