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) {
@@ -80,13 +80,18 @@ public class LaneNormProcessFunction extends KeyedCoProcessFunction<String, Cycl
...
@@ -80,13 +80,18 @@ public class LaneNormProcessFunction extends KeyedCoProcessFunction<String, Cycl
"SELECT lane_id,position,lane_length,GROUP_CONCAT(position,name) as positionName FROM dim_cnt_cross_lane_position\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"+
" 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()+"'");
" 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"+
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");
" where out_in_name='in' and cross_id='"+f1.getCrossCode()+"' GROUP BY position");
//查询路口所有的流向
List<Map>positionNameList=getDictResult(connection," SELECT position,name FROM dim_cnt_cross_lane_position\n"+
" where out_in_name='in' and cross_id='"+f1.getCrossCode()+"' GROUP BY position,name");