WindowAssigner<CoGroupedStreams.TaggedUnion<Cycle, Car>, Window> windowAssigner = new WindowAssigner<CoGroupedStreams.TaggedUnion<Cycle, Car>, Window>() {
MapState<String, List<Car>> valueState;
@Override
public Collection<Window> assignWindows(CoGroupedStreams.TaggedUnion<Cycle, Car> cycleCarTaggedUnion, long l, WindowAssignerContext windowAssignerContext) {
List<Map>laneList=getDictResult(connection,"SELECT lane_id,name,position,lane_length FROM dim_cnt_cross_lane_position\n"+
" where out_in_name='in' and cross_id='"+f1.getCrossCode()+"'");
//获取所有车道信息
List<Map>dictResult=getDictResult(connection,"select a.*,b.saturation_flow_rate from (\n"+
"SELECT lane_id,position,lane_length,GROUP_CONCAT(position,name) as positionName FROM dim_cnt_cross_lane_position\n"+
" where cross_id='"+f1.getCrossCode()+"' and out_in_type=1 group By lane_id,cross_id,position,lane_length)a left join app_atomic_lane_saturation_flow_rate b\n"+
" on a.lane_id=b.lane_id and b.cross_id='"+f1.getCrossCode()+"'");
//查询路口所有方向
List<Map>positionList=getDictResult(connection,"SELECT position FROM dim_cnt_cross_lane_position\n"+
" where out_in_name='in' and cross_id='"+f1.getCrossCode()+"' GROUP BY position");