From 4219d991060466b18f45a4b65b102d21b54b85d3 Mon Sep 17 00:00:00 2001 From: yinzijian Date: Thu, 19 Mar 2026 16:53:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=BB=BF=E6=B3=A2=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E4=BB=BB=E5=8A=A1=E7=9B=B8=E5=85=B3=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E7=BB=BF=E6=B3=A2=E6=97=B6=E6=AE=B5=E8=B7=AF=E5=8F=A3=E9=85=8D?= =?UTF-8?q?=E6=97=B6=E6=96=B9=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yinzijian --- proto/phase_grpc.py | 72 ++++++++++++++++++++++++++++++++++ proto/phase_server.proto | 48 +++++++++++++++++++++++ proto/phase_server_pb2.py | 18 +++++++-- proto/phase_server_pb2_grpc.py | 44 +++++++++++++++++++++ 4 files changed, 179 insertions(+), 3 deletions(-) diff --git a/proto/phase_grpc.py b/proto/phase_grpc.py index 1212e01..e26bbad 100644 --- a/proto/phase_grpc.py +++ b/proto/phase_grpc.py @@ -256,3 +256,75 @@ def LedgerTaskDetailPhaseState(citycode: int, crossids: List[str]): return None, e finally: channel.close() + + +def TaskWaveCrossTpPhaseRPC(citycode: int, crossids: List[str], tps: List): + """ + 绿波优化任务相关根据路口时段查询配时方案 + citycode = 130200 + crossids = ['crossid1','crossid2'] + tps = [{'weekday': '1,2,3,4,5','tp_start':'09:00', 'tp_end':'10:00'}, {'weekday': '6,7', 'tp_start':'11:00', 'tp_end':'12:00'}] + """ + stub, channel = channel_stub() + try: + return_data = [] + return_data_map = {} + request_params = phase_server_pb2.TaskWaveCrossTpPhaseRequest(citycode=citycode,crossids=crossids,tps=tps) + response = stub.TaskWaveCrossTpPhase(request_params, timeout=30) + if response.code != 0: + raise Exception(response.msg) + if len(response.data) > 0: + for item_data in response.data: + if len(item_data.details) <= 0: + continue + for item_detail in item_data.details: + if len(item_detail.stages) <= 0: + continue + if item_data.crossid not in return_data_map: + return_data_map[item_data.crossid] = {} + key = f"{item_detail.search_tp_start}-{item_detail.search_tp_end}" + if key not in return_data_map[item_data.crossid]: + return_data_map[item_data.crossid][key] = {} + return_data_map[item_data.crossid][key] = { + 'max_duration': item_detail.max_duration, + 'search_tp_start': item_detail.search_tp_start, + 'search_tp_end': item_detail.search_tp_end, + 'schedule_id': item_detail.schedule_id, + 'schedule_week': item_detail.schedule_week, + 'tp_start': item_detail.tp_start, + 'tp_end': item_detail.tp_end, + 'planid': item_detail.planid, + 'plan_name': item_detail.plan_name, + 'cycle': item_detail.cycle, + 'offset': item_detail.offset, + 'phase_list': [], + } + + for item_stage in item_detail.stages: + return_data_map[item_data.crossid][key]['phase_list'].append({ + 'phase_name': item_stage.stage_name, + 'phase_time': item_stage.stage_duration, + }) + for item_crossid in crossids: + if item_crossid in return_data_map: + item_return_data = { + 'crossid': item_crossid, + 'tp_infos': [], + } + for item_tp in tps: + tp_key = f"{item_tp['tp_start']}-{item_tp['tp_end']}" + if tp_key not in return_data_map[item_crossid]: + continue + item_return_data['tp_infos'].append({ + 'tp_start': return_data_map[item_crossid][tp_key]['search_tp_start'], + 'tp_end': return_data_map[item_crossid][tp_key]['search_tp_end'], + 'offset': return_data_map[item_crossid][tp_key]['offset'], + 'phase_list': return_data_map[item_crossid][tp_key]['phase_list'] + }) + if len(item_return_data['tp_infos']) > 0: + return_data.append(item_return_data) + return return_data, None + except Exception as e: + return None, e + finally: + channel.close() diff --git a/proto/phase_server.proto b/proto/phase_server.proto index 90d705f..137041e 100644 --- a/proto/phase_server.proto +++ b/proto/phase_server.proto @@ -34,6 +34,8 @@ service PhaseService { rpc CrossPhaseDiagnosisByCity (CrossPhaseDiagnosisByCityRequest) returns (CrossPhaseDiagnosisByCityResponse); //更新台账任务中相关路口列表配时方案状态 rpc LedgerTaskDetailPhaseStateUpdate (LedgerTaskDetailPhaseStateUpdateRequest) returns (LedgerTaskDetailPhaseStateUpdateResponse); + //绿波优化任务相关根据时段路口配时方案接口 + rpc TaskWaveCrossTpPhase (TaskWaveCrossTpPhaseRequest) returns (TaskWaveCrossTpPhaseResponse); } message EmptyRequest {} @@ -428,3 +430,49 @@ message LedgerTaskDetailPhaseStateUpdateResponse { string msg = 2; } +message TaskWaveCrossTpPhaseRequest { + int32 citycode = 1; + repeated string crossids = 2; + repeated TpInfo tps = 3; + message TpInfo { + string weekday = 1; + string tp_start = 2; + string tp_end = 3; + } +} + +message TaskWaveCrossTpPhaseResponse { + int32 code = 1; + string msg = 2; + repeated List data = 3; + message List { + string crossid = 1; + repeated detail_info details = 2; + } + message detail_info { + int32 max_duration = 1; //天 + string search_tp_start = 2; //月 + string search_tp_end = 3; //周 + int32 schedule_id = 4; + string schedule_week = 5; + string tp_start = 6; + string tp_end = 7; + int32 planid = 8; + string plan_name = 9; + int32 cycle = 10; + int32 coord_phaseid = 11; + int32 offset = 12; + repeated stage_data stages = 13; + } + message stage_data { + int32 stageid = 1; + string stage_name = 2; + int32 stage_duration = 3; + int32 green = 4; + int32 yellow = 5; + int32 allred = 6; + int32 redyellow = 7; + string phaseids = 8; + string phase_name = 9; + } +} diff --git a/proto/phase_server_pb2.py b/proto/phase_server_pb2.py index 047cc11..0b4cf6c 100644 --- a/proto/phase_server_pb2.py +++ b/proto/phase_server_pb2.py @@ -24,7 +24,7 @@ _sym_db = _symbol_database.Default() -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12phase_server.proto\x12\x0cphase_server\"\x0e\n\x0c\x45mptyRequest\"\x9f\x01\n\x1b\x45xceptionPhaseCrossResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\x12<\n\x04\x64\x61ta\x18\x04 \x03(\x0b\x32..phase_server.ExceptionPhaseCrossResponse.List\x1a\'\n\x04List\x12\x0e\n\x06nodeid\x18\x01 \x01(\x05\x12\x0f\n\x07\x63rossid\x18\x02 \x01(\t\"2\n\x1e\x45xceptionPhaseCrossInfoRequest\x12\x10\n\x08\x63itycode\x18\x01 \x03(\x05\"\xb3\x02\n\x1f\x45xceptionPhaseCrossInfoResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\x12\r\n\x05total\x18\x03 \x01(\x05\x12\x13\n\x0b\x63ross_total\x18\x04 \x01(\x05\x12@\n\x04\x64\x61ta\x18\x05 \x03(\x0b\x32\x32.phase_server.ExceptionPhaseCrossInfoResponse.List\x1a\x8e\x01\n\x04List\x12\x10\n\x08\x63itycode\x18\x01 \x01(\x05\x12\x0f\n\x07\x63rossid\x18\x02 \x01(\t\x12\x12\n\nscheduleid\x18\x03 \x01(\x05\x12\x0e\n\x06planid\x18\x04 \x01(\x05\x12\x11\n\tplan_name\x18\x05 \x01(\t\x12\x10\n\x08tp_start\x18\x06 \x01(\t\x12\x0c\n\x04\x64\x61ys\x18\x07 \x01(\t\x12\x0c\n\x04type\x18\x08 \x01(\t\"D\n\x1f\x45xceptionPhaseByCrossIDsRequest\x12\x10\n\x08\x63itycode\x18\x01 \x01(\x05\x12\x0f\n\x07\x63rossid\x18\x02 \x03(\t\"\xb3\x02\n ExceptionPhaseByCrossIDsResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\x12\x41\n\x04\x64\x61ta\x18\x05 \x03(\x0b\x32\x33.phase_server.ExceptionPhaseByCrossIDsResponse.List\x1a\xb0\x01\n\x04List\x12\x10\n\x08\x63itycode\x18\x01 \x01(\x05\x12\x0f\n\x07\x63rossid\x18\x02 \x01(\t\x12\x12\n\ncross_name\x18\x03 \x01(\t\x12\x12\n\nscheduleid\x18\x04 \x01(\x05\x12\x0e\n\x06planid\x18\x05 \x01(\x05\x12\x11\n\tplan_name\x18\x06 \x01(\t\x12\x10\n\x08tp_start\x18\x07 \x01(\t\x12\x0c\n\x04\x64\x61te\x18\x08 \x01(\t\x12\x0c\n\x04week\x18\t \x01(\t\x12\x0c\n\x04type\x18\n \x01(\t\"\x9f\x01\n$GetCrossPhaseDetailByCrossIDsRequest\x12\x10\n\x08\x63itycode\x18\x01 \x01(\x05\x12\x10\n\x08\x63rossids\x18\x02 \x03(\t\x12\x12\n\ngw_src_dir\x18\x03 \x01(\t\x12\x10\n\x08tp_start\x18\x04 \x01(\t\x12\x0e\n\x06tp_end\x18\x05 \x01(\t\x12\x0c\n\x04week\x18\x06 \x01(\t\x12\x0f\n\x07wave_id\x18\x07 \x01(\t\"\x9a\x03\n%GetCrossPhaseDetailByCrossIDsResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\x12\r\n\x05\x63ycle\x18\x03 \x01(\x05\x12\x46\n\x04\x64\x61ta\x18\x04 \x03(\x0b\x32\x38.phase_server.GetCrossPhaseDetailByCrossIDsResponse.List\x1a\xfe\x01\n\x04List\x12\x0f\n\x07\x63rossid\x18\x01 \x01(\t\x12\x15\n\rgreen_forward\x18\x02 \x01(\x05\x12\x14\n\x0cgreen_revers\x18\x03 \x01(\x05\x12\x0e\n\x06offset\x18\x04 \x01(\x05\x12\x10\n\x08offset_r\x18\x05 \x01(\x05\x12\r\n\x05\x63ycle\x18\x06 \x01(\x05\x12\x0b\n\x03\x64\x61y\x18\x07 \x01(\x05\x12\r\n\x05month\x18\x08 \x01(\x05\x12\x0f\n\x07weekday\x18\t \x01(\x05\x12\x12\n\nscheduleid\x18\n \x01(\x05\x12\x0e\n\x06planid\x18\x0b \x01(\x05\x12\x11\n\tplan_name\x18\x0c \x01(\t\x12\x15\n\rcoord_phaseid\x18\r \x01(\x05\x12\x0c\n\x04type\x18\x0e \x01(\t\"\x99\x01\n\x17GetPhaseCrossIDResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\x12\x38\n\x04\x64\x61ta\x18\x03 \x03(\x0b\x32*.phase_server.GetPhaseCrossIDResponse.List\x1a)\n\x04List\x12\x10\n\x08\x63itycode\x18\x01 \x01(\x05\x12\x0f\n\x07\x63rossid\x18\x02 \x01(\t\"\x91\x01\n\x16PhaseGreenRatioRequest\x12\x10\n\x08\x63itycode\x18\x01 \x01(\x05\x12\x10\n\x08\x63rossids\x18\x02 \x03(\t\x12\x12\n\ngw_src_dir\x18\x03 \x01(\t\x12\x10\n\x08tp_start\x18\x04 \x01(\t\x12\x0e\n\x06tp_end\x18\x05 \x01(\t\x12\x0c\n\x04week\x18\x06 \x01(\t\x12\x0f\n\x07wave_id\x18\x07 \x01(\t\"\xce\x04\n\x17PhaseGreenRatioResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\x12\x38\n\x04\x64\x61ta\x18\x03 \x03(\x0b\x32*.phase_server.PhaseGreenRatioResponse.List\x1a\xdd\x03\n\x04List\x12\x0f\n\x07\x63rossid\x18\x01 \x01(\t\x12\x0b\n\x03s2l\x18\x02 \x01(\x02\x12\x12\n\ns2l_remark\x18\x03 \x01(\t\x12\x13\n\x0bs2l_s_green\x18\x04 \x01(\x05\x12\x13\n\x0bs2l_l_green\x18\x05 \x01(\x05\x12\r\n\x05s2unl\x18\x06 \x01(\x02\x12\x14\n\x0cs2unl_remark\x18\x07 \x01(\t\x12\x15\n\rs2unl_s_green\x18\x08 \x01(\x05\x12\x17\n\x0fs2unl_unl_green\x18\t \x01(\x05\x12\r\n\x05s2uns\x18\n \x01(\x02\x12\x14\n\x0cs2uns_remark\x18\x0b \x01(\t\x12\x15\n\rs2uns_s_green\x18\x0c \x01(\x05\x12\x17\n\x0fs2uns_uns_green\x18\r \x01(\x05\x12\x0f\n\x07\x66wd2rev\x18\x0e \x01(\x02\x12\x16\n\x0e\x66wd2rev_remark\x18\x0f \x01(\t\x12\x19\n\x11\x66wd2rev_fwd_green\x18\x10 \x01(\x05\x12\x19\n\x11\x66wd2rev_rev_green\x18\x11 \x01(\x05\x12\x0e\n\x06planid\x18\x12 \x01(\x05\x12\x0b\n\x03\x64\x61y\x18\x13 \x01(\x05\x12\r\n\x05month\x18\x14 \x01(\x05\x12\x0f\n\x07weekday\x18\x15 \x01(\x05\x12\x12\n\nscheduleid\x18\x16 \x01(\x05\x12\x11\n\tplan_name\x18\x17 \x01(\t\x12\x0c\n\x04type\x18\x18 \x01(\t\"\"\n\x10\x43rossListRequest\x12\x0e\n\x06nodeid\x18\x01 \x01(\x05\"\xba\x01\n\x11\x43rossListResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\x12\x32\n\x04\x64\x61ta\x18\x03 \x03(\x0b\x32$.phase_server.CrossListResponse.List\x1aV\n\x04List\x12\x0f\n\x07\x63rossid\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\x05\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x10\n\x08location\x18\x04 \x01(\t\x12\x0f\n\x07src_dir\x18\x05 \x03(\t\"c\n$QueryCrossPhaseRelativeOffsetRequest\x12\x10\n\x08\x63rossids\x18\x01 \x03(\t\x12\x10\n\x08\x63itycode\x18\x02 \x01(\x05\x12\n\n\x02tp\x18\x03 \x01(\t\x12\x0b\n\x03\x64\x61y\x18\x04 \x01(\t\"\x94\x05\n%QueryCrossPhaseRelativeOffsetResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\x12\x46\n\x04\x64\x61ta\x18\x03 \x03(\x0b\x32\x38.phase_server.QueryCrossPhaseRelativeOffsetResponse.List\x1a\xd0\x02\n\x04List\x12\x0f\n\x07\x63rossid\x18\x01 \x01(\t\x12\x0b\n\x03\x64\x61y\x18\x02 \x01(\x05\x12\r\n\x05month\x18\x03 \x01(\x05\x12\x0f\n\x07weekday\x18\x04 \x01(\x05\x12\x12\n\nscheduleid\x18\x05 \x01(\x05\x12\x10\n\x08tp_start\x18\x06 \x01(\t\x12\x14\n\x0c\x63ontrol_mode\x18\x07 \x01(\t\x12\x0e\n\x06planid\x18\x08 \x01(\x05\x12\x11\n\tplan_name\x18\t \x01(\t\x12\r\n\x05\x63ycle\x18\n \x01(\x05\x12\x0e\n\x06offset\x18\x0b \x01(\x05\x12\x17\n\x0frelative_offset\x18\x0c \x01(\x05\x12\x0c\n\x04type\x18\r \x01(\t\x12\x15\n\rcoord_phaseid\x18\x0e \x01(\x05\x12N\n\x06stages\x18\x0f \x03(\x0b\x32>.phase_server.QueryCrossPhaseRelativeOffsetResponse.stage_data\x1a\xb4\x01\n\nstage_data\x12\x0f\n\x07stageid\x18\x01 \x01(\x05\x12\x12\n\nstage_name\x18\x02 \x01(\t\x12\x16\n\x0estage_duration\x18\x03 \x01(\x05\x12\r\n\x05green\x18\x04 \x01(\x05\x12\x0e\n\x06yellow\x18\x05 \x01(\x05\x12\x0e\n\x06\x61llred\x18\x06 \x01(\x05\x12\x11\n\tredyellow\x18\x07 \x01(\x05\x12\x10\n\x08phaseids\x18\x08 \x01(\t\x12\x15\n\rphaseid_names\x18\t \x01(\t\"E\n!GreenWaveCrossPhaseTpCheckRequest\x12\x0e\n\x06waveid\x18\x01 \x01(\t\x12\x10\n\x08\x63itycode\x18\x02 \x01(\x05\"?\n\"GreenWaveCrossPhaseTpCheckResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\"]\n\x18\x43rossRunningPhaseRequest\x12\x10\n\x08\x63itycode\x18\x01 \x01(\x05\x12\x11\n\tdate_list\x18\x02 \x03(\t\x12\n\n\x02tp\x18\x03 \x01(\t\x12\x10\n\x08\x63rossids\x18\x04 \x03(\t\"\xd7\x05\n\x19\x43rossRunningPhaseResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\x12:\n\x04\x64\x61ta\x18\x03 \x03(\x0b\x32,.phase_server.CrossRunningPhaseResponse.List\x1a\xbe\x01\n\x04List\x12\x10\n\x08\x63itycode\x18\x01 \x01(\x05\x12\x0f\n\x07\x63rossid\x18\x02 \x01(\t\x12\x12\n\njj_crossid\x18\x03 \x01(\t\x12\x12\n\nscheduleid\x18\x04 \x01(\x05\x12\x15\n\rschedule_week\x18\x05 \x01(\t\x12\x15\n\rschedule_name\x18\x06 \x01(\t\x12=\n\x03tps\x18\x07 \x03(\x0b\x32\x30.phase_server.CrossRunningPhaseResponse.tps_list\x1a\xdf\x01\n\x08tps_list\x12\x10\n\x08tp_start\x18\x01 \x01(\t\x12\x0e\n\x06tp_end\x18\x02 \x01(\t\x12\x0e\n\x06planid\x18\x03 \x01(\x05\x12\x11\n\tplan_name\x18\x04 \x01(\t\x12\x14\n\x0c\x63ontrol_mode\x18\x05 \x01(\t\x12\r\n\x05\x63ycle\x18\x06 \x01(\x05\x12\x15\n\rcoord_phaseid\x18\x07 \x01(\x05\x12\x0e\n\x06offset\x18\x08 \x01(\x05\x12\x42\n\nstage_list\x18\t \x03(\x0b\x32..phase_server.CrossRunningPhaseResponse.stages\x1a\xbf\x01\n\x06stages\x12\x0f\n\x07stageid\x18\x01 \x01(\x05\x12\x16\n\x0estage_duration\x18\x02 \x01(\x05\x12\x12\n\nstage_name\x18\x03 \x01(\t\x12\r\n\x05green\x18\x04 \x01(\x05\x12\x0e\n\x06yellow\x18\x05 \x01(\x05\x12\x0e\n\x06\x61llred\x18\x06 \x01(\x05\x12\x0e\n\x06phases\x18\x07 \x01(\t\x12\x13\n\x0bphases_name\x18\x08 \x01(\t\x12\x11\n\tmin_green\x18\t \x01(\x05\x12\x11\n\tmax_green\x18\n \x01(\x05\"o\n\x1a\x43rossPhaseDiagnosisRequest\x12\x10\n\x08\x63itycode\x18\x01 \x01(\x05\x12\x0f\n\x07\x63rossid\x18\x02 \x01(\t\x12\x0f\n\x07\x61rea_id\x18\x04 \x01(\x05\x12\n\n\x02tp\x18\x05 \x01(\t\x12\x11\n\tdate_list\x18\x06 \x03(\t\"\xd2\x05\n\x1b\x43rossPhaseDiagnosisResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\x12<\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32..phase_server.CrossPhaseDiagnosisResponse.List\x1aW\n\x04List\x12\x0c\n\x04item\x18\x01 \x01(\t\x12\x41\n\x06values\x18\x02 \x03(\x0b\x32\x31.phase_server.CrossPhaseDiagnosisResponse.details\x1a\xbf\x01\n\x07\x64\x65tails\x12\x0c\n\x04item\x18\x01 \x01(\t\x12\x45\n\x06\x64\x65tail\x18\x02 \x03(\x0b\x32\x35.phase_server.CrossPhaseDiagnosisResponse.item_detail\x12O\n\x0bsuggestions\x18\x03 \x03(\x0b\x32:.phase_server.CrossPhaseDiagnosisResponse.item_suggestions\x12\x0e\n\x06reason\x18\x04 \x01(\t\x1al\n\x0bitem_detail\x12\x0f\n\x07src_dir\x18\x01 \x01(\t\x12L\n\x0c\x63hild_detail\x18\x02 \x03(\x0b\x32\x36.phase_server.CrossPhaseDiagnosisResponse.detail_value\x1a`\n\x10item_suggestions\x12L\n\x0c\x63hild_detail\x18\x01 \x03(\x0b\x32\x36.phase_server.CrossPhaseDiagnosisResponse.detail_value\x1ao\n\x0c\x64\x65tail_value\x12\x0c\n\x04text\x18\x01 \x01(\t\x12\r\n\x05\x63olor\x18\x02 \x01(\t\x12\x12\n\nscheduleid\x18\x03 \x01(\x05\x12\x0f\n\x07\x63rossid\x18\x04 \x01(\t\x12\x10\n\x08tp_start\x18\x05 \x01(\t\x12\x0b\n\x03\x64\x61y\x18\x06 \x01(\t\"+\n\x17\x43rossPhaseByCityRequest\x12\x10\n\x08\x63itycode\x18\x01 \x01(\x05\"C\n\x18\x43rossPhaseByCityResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x03(\t\"j\n\x1b\x43rossPhaseStatisticsRequest\x12\x10\n\x08\x63itycode\x18\x01 \x01(\x05\x12\x0f\n\x07\x61rea_id\x18\x02 \x01(\x05\x12\x15\n\rschedule_week\x18\x03 \x01(\t\x12\x11\n\tdate_list\x18\x04 \x03(\t\"\xc8\x02\n\x1c\x43rossPhaseStatisticsResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\x12=\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32/.phase_server.CrossPhaseStatisticsResponse.List\x1a\x9e\x01\n\x04List\x12\x17\n\x0f\x63ross_phase_num\x18\x01 \x01(\x05\x12\x18\n\x10\x63ross_update_num\x18\x02 \x01(\x05\x12\x12\n\navg_tp_num\x18\x03 \x01(\x02\x12O\n\rtp_num_detail\x18\x04 \x03(\x0b\x32\x38.phase_server.CrossPhaseStatisticsResponse.item_tps_list\x1a-\n\ritem_tps_list\x12\r\n\x05range\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05\"V\n UpdateCrossPhaseDiagnosisRequest\x12\x0f\n\x07\x63rossid\x18\x01 \x01(\t\x12\x10\n\x08\x63itycode\x18\x02 \x01(\x05\x12\x0f\n\x07\x61rea_id\x18\x03 \x01(\x05\">\n!UpdateCrossPhaseDiagnosisResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\"h\n CrossPhaseDiagnosisByCityRequest\x12\x10\n\x08\x63itycode\x18\x01 \x01(\x05\x12\x0f\n\x07\x61rea_id\x18\x02 \x01(\x05\x12\x15\n\rschedule_week\x18\x03 \x01(\t\x12\n\n\x02tp\x18\x04 \x01(\t\"\xd1\x04\n!CrossPhaseDiagnosisByCityResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\x12\x42\n\x04\x64\x61ta\x18\x03 \x03(\x0b\x32\x34.phase_server.CrossPhaseDiagnosisByCityResponse.List\x1a\x85\x01\n\x04List\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\ttotal_num\x18\x02 \x01(\x05\x12\x0b\n\x03key\x18\x03 \x01(\t\x12O\n\x08problems\x18\x04 \x03(\x0b\x32=.phase_server.CrossPhaseDiagnosisByCityResponse.item_problems\x1a\xc4\x02\n\ritem_problems\x12\x0f\n\x07\x63rossid\x18\x01 \x01(\t\x12\x12\n\ncross_name\x18\x02 \x01(\t\x12\x15\n\rschedule_name\x18\x03 \x01(\t\x12\x15\n\rschedule_week\x18\x04 \x01(\t\x12\x12\n\nscheduleid\x18\x05 \x01(\x05\x12\n\n\x02tp\x18\x06 \x01(\t\x12\x0e\n\x06tp_num\x18\x07 \x01(\x05\x12\x0e\n\x06planid\x18\x08 \x01(\x05\x12\x11\n\tplan_name\x18\t \x01(\t\x12\x11\n\tstage_num\x18\n \x01(\x05\x12\r\n\x05\x63ycle\x18\x0b \x01(\x05\x12\x13\n\x0bshaped_mode\x18\x0c \x01(\t\x12\x17\n\x0f\x63rosswalk_phase\x18\r \x01(\t\x12\x17\n\x0f\x63rosswalk_green\x18\x0e \x01(\t\x12\x0e\n\x06is_new\x18\x0f \x01(\x05\x12\x14\n\x0cshield_state\x18\x10 \x01(\x05\"M\n\'LedgerTaskDetailPhaseStateUpdateRequest\x12\x10\n\x08\x63itycode\x18\x01 \x01(\x05\x12\x10\n\x08\x63rossids\x18\x02 \x03(\t\"E\n(LedgerTaskDetailPhaseStateUpdateResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t2\xae\x0e\n\x0cPhaseService\x12\\\n\x13\x45xceptionPhaseCross\x12\x1a.phase_server.EmptyRequest\x1a).phase_server.ExceptionPhaseCrossResponse\x12v\n\x17\x45xceptionPhaseCrossInfo\x12,.phase_server.ExceptionPhaseCrossInfoRequest\x1a-.phase_server.ExceptionPhaseCrossInfoResponse\x12y\n\x18\x45xceptionPhaseByCrossIDs\x12-.phase_server.ExceptionPhaseByCrossIDsRequest\x1a..phase_server.ExceptionPhaseByCrossIDsResponse\x12\x88\x01\n\x1dGetCrossPhaseDetailByCrossIDs\x12\x32.phase_server.GetCrossPhaseDetailByCrossIDsRequest\x1a\x33.phase_server.GetCrossPhaseDetailByCrossIDsResponse\x12T\n\x0fGetPhaseCrossID\x12\x1a.phase_server.EmptyRequest\x1a%.phase_server.GetPhaseCrossIDResponse\x12^\n\x0fPhaseGreenRatio\x12$.phase_server.PhaseGreenRatioRequest\x1a%.phase_server.PhaseGreenRatioResponse\x12L\n\tCrossList\x12\x1e.phase_server.CrossListRequest\x1a\x1f.phase_server.CrossListResponse\x12\x88\x01\n\x1dQueryCrossPhaseRelativeOffset\x12\x32.phase_server.QueryCrossPhaseRelativeOffsetRequest\x1a\x33.phase_server.QueryCrossPhaseRelativeOffsetResponse\x12\x7f\n\x1aGreenWaveCrossPhaseTpCheck\x12/.phase_server.GreenWaveCrossPhaseTpCheckRequest\x1a\x30.phase_server.GreenWaveCrossPhaseTpCheckResponse\x12\x64\n\x11\x43rossRunningPhase\x12&.phase_server.CrossRunningPhaseRequest\x1a\'.phase_server.CrossRunningPhaseResponse\x12j\n\x13\x43rossPhaseDiagnosis\x12(.phase_server.CrossPhaseDiagnosisRequest\x1a).phase_server.CrossPhaseDiagnosisResponse\x12\x61\n\x10\x43rossPhaseByCity\x12%.phase_server.CrossPhaseByCityRequest\x1a&.phase_server.CrossPhaseByCityResponse\x12m\n\x14\x43rossPhaseStatistics\x12).phase_server.CrossPhaseStatisticsRequest\x1a*.phase_server.CrossPhaseStatisticsResponse\x12|\n\x19UpdateCrossPhaseDiagnosis\x12..phase_server.UpdateCrossPhaseDiagnosisRequest\x1a/.phase_server.UpdateCrossPhaseDiagnosisResponse\x12|\n\x19\x43rossPhaseDiagnosisByCity\x12..phase_server.CrossPhaseDiagnosisByCityRequest\x1a/.phase_server.CrossPhaseDiagnosisByCityResponse\x12\x91\x01\n LedgerTaskDetailPhaseStateUpdate\x12\x35.phase_server.LedgerTaskDetailPhaseStateUpdateRequest\x1a\x36.phase_server.LedgerTaskDetailPhaseStateUpdateResponseb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12phase_server.proto\x12\x0cphase_server\"\x0e\n\x0c\x45mptyRequest\"\x9f\x01\n\x1b\x45xceptionPhaseCrossResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\x12<\n\x04\x64\x61ta\x18\x04 \x03(\x0b\x32..phase_server.ExceptionPhaseCrossResponse.List\x1a\'\n\x04List\x12\x0e\n\x06nodeid\x18\x01 \x01(\x05\x12\x0f\n\x07\x63rossid\x18\x02 \x01(\t\"2\n\x1e\x45xceptionPhaseCrossInfoRequest\x12\x10\n\x08\x63itycode\x18\x01 \x03(\x05\"\xb3\x02\n\x1f\x45xceptionPhaseCrossInfoResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\x12\r\n\x05total\x18\x03 \x01(\x05\x12\x13\n\x0b\x63ross_total\x18\x04 \x01(\x05\x12@\n\x04\x64\x61ta\x18\x05 \x03(\x0b\x32\x32.phase_server.ExceptionPhaseCrossInfoResponse.List\x1a\x8e\x01\n\x04List\x12\x10\n\x08\x63itycode\x18\x01 \x01(\x05\x12\x0f\n\x07\x63rossid\x18\x02 \x01(\t\x12\x12\n\nscheduleid\x18\x03 \x01(\x05\x12\x0e\n\x06planid\x18\x04 \x01(\x05\x12\x11\n\tplan_name\x18\x05 \x01(\t\x12\x10\n\x08tp_start\x18\x06 \x01(\t\x12\x0c\n\x04\x64\x61ys\x18\x07 \x01(\t\x12\x0c\n\x04type\x18\x08 \x01(\t\"D\n\x1f\x45xceptionPhaseByCrossIDsRequest\x12\x10\n\x08\x63itycode\x18\x01 \x01(\x05\x12\x0f\n\x07\x63rossid\x18\x02 \x03(\t\"\xb3\x02\n ExceptionPhaseByCrossIDsResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\x12\x41\n\x04\x64\x61ta\x18\x05 \x03(\x0b\x32\x33.phase_server.ExceptionPhaseByCrossIDsResponse.List\x1a\xb0\x01\n\x04List\x12\x10\n\x08\x63itycode\x18\x01 \x01(\x05\x12\x0f\n\x07\x63rossid\x18\x02 \x01(\t\x12\x12\n\ncross_name\x18\x03 \x01(\t\x12\x12\n\nscheduleid\x18\x04 \x01(\x05\x12\x0e\n\x06planid\x18\x05 \x01(\x05\x12\x11\n\tplan_name\x18\x06 \x01(\t\x12\x10\n\x08tp_start\x18\x07 \x01(\t\x12\x0c\n\x04\x64\x61te\x18\x08 \x01(\t\x12\x0c\n\x04week\x18\t \x01(\t\x12\x0c\n\x04type\x18\n \x01(\t\"\x9f\x01\n$GetCrossPhaseDetailByCrossIDsRequest\x12\x10\n\x08\x63itycode\x18\x01 \x01(\x05\x12\x10\n\x08\x63rossids\x18\x02 \x03(\t\x12\x12\n\ngw_src_dir\x18\x03 \x01(\t\x12\x10\n\x08tp_start\x18\x04 \x01(\t\x12\x0e\n\x06tp_end\x18\x05 \x01(\t\x12\x0c\n\x04week\x18\x06 \x01(\t\x12\x0f\n\x07wave_id\x18\x07 \x01(\t\"\x9a\x03\n%GetCrossPhaseDetailByCrossIDsResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\x12\r\n\x05\x63ycle\x18\x03 \x01(\x05\x12\x46\n\x04\x64\x61ta\x18\x04 \x03(\x0b\x32\x38.phase_server.GetCrossPhaseDetailByCrossIDsResponse.List\x1a\xfe\x01\n\x04List\x12\x0f\n\x07\x63rossid\x18\x01 \x01(\t\x12\x15\n\rgreen_forward\x18\x02 \x01(\x05\x12\x14\n\x0cgreen_revers\x18\x03 \x01(\x05\x12\x0e\n\x06offset\x18\x04 \x01(\x05\x12\x10\n\x08offset_r\x18\x05 \x01(\x05\x12\r\n\x05\x63ycle\x18\x06 \x01(\x05\x12\x0b\n\x03\x64\x61y\x18\x07 \x01(\x05\x12\r\n\x05month\x18\x08 \x01(\x05\x12\x0f\n\x07weekday\x18\t \x01(\x05\x12\x12\n\nscheduleid\x18\n \x01(\x05\x12\x0e\n\x06planid\x18\x0b \x01(\x05\x12\x11\n\tplan_name\x18\x0c \x01(\t\x12\x15\n\rcoord_phaseid\x18\r \x01(\x05\x12\x0c\n\x04type\x18\x0e \x01(\t\"\x99\x01\n\x17GetPhaseCrossIDResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\x12\x38\n\x04\x64\x61ta\x18\x03 \x03(\x0b\x32*.phase_server.GetPhaseCrossIDResponse.List\x1a)\n\x04List\x12\x10\n\x08\x63itycode\x18\x01 \x01(\x05\x12\x0f\n\x07\x63rossid\x18\x02 \x01(\t\"\x91\x01\n\x16PhaseGreenRatioRequest\x12\x10\n\x08\x63itycode\x18\x01 \x01(\x05\x12\x10\n\x08\x63rossids\x18\x02 \x03(\t\x12\x12\n\ngw_src_dir\x18\x03 \x01(\t\x12\x10\n\x08tp_start\x18\x04 \x01(\t\x12\x0e\n\x06tp_end\x18\x05 \x01(\t\x12\x0c\n\x04week\x18\x06 \x01(\t\x12\x0f\n\x07wave_id\x18\x07 \x01(\t\"\xce\x04\n\x17PhaseGreenRatioResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\x12\x38\n\x04\x64\x61ta\x18\x03 \x03(\x0b\x32*.phase_server.PhaseGreenRatioResponse.List\x1a\xdd\x03\n\x04List\x12\x0f\n\x07\x63rossid\x18\x01 \x01(\t\x12\x0b\n\x03s2l\x18\x02 \x01(\x02\x12\x12\n\ns2l_remark\x18\x03 \x01(\t\x12\x13\n\x0bs2l_s_green\x18\x04 \x01(\x05\x12\x13\n\x0bs2l_l_green\x18\x05 \x01(\x05\x12\r\n\x05s2unl\x18\x06 \x01(\x02\x12\x14\n\x0cs2unl_remark\x18\x07 \x01(\t\x12\x15\n\rs2unl_s_green\x18\x08 \x01(\x05\x12\x17\n\x0fs2unl_unl_green\x18\t \x01(\x05\x12\r\n\x05s2uns\x18\n \x01(\x02\x12\x14\n\x0cs2uns_remark\x18\x0b \x01(\t\x12\x15\n\rs2uns_s_green\x18\x0c \x01(\x05\x12\x17\n\x0fs2uns_uns_green\x18\r \x01(\x05\x12\x0f\n\x07\x66wd2rev\x18\x0e \x01(\x02\x12\x16\n\x0e\x66wd2rev_remark\x18\x0f \x01(\t\x12\x19\n\x11\x66wd2rev_fwd_green\x18\x10 \x01(\x05\x12\x19\n\x11\x66wd2rev_rev_green\x18\x11 \x01(\x05\x12\x0e\n\x06planid\x18\x12 \x01(\x05\x12\x0b\n\x03\x64\x61y\x18\x13 \x01(\x05\x12\r\n\x05month\x18\x14 \x01(\x05\x12\x0f\n\x07weekday\x18\x15 \x01(\x05\x12\x12\n\nscheduleid\x18\x16 \x01(\x05\x12\x11\n\tplan_name\x18\x17 \x01(\t\x12\x0c\n\x04type\x18\x18 \x01(\t\"\"\n\x10\x43rossListRequest\x12\x0e\n\x06nodeid\x18\x01 \x01(\x05\"\xba\x01\n\x11\x43rossListResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\x12\x32\n\x04\x64\x61ta\x18\x03 \x03(\x0b\x32$.phase_server.CrossListResponse.List\x1aV\n\x04List\x12\x0f\n\x07\x63rossid\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\x05\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x10\n\x08location\x18\x04 \x01(\t\x12\x0f\n\x07src_dir\x18\x05 \x03(\t\"c\n$QueryCrossPhaseRelativeOffsetRequest\x12\x10\n\x08\x63rossids\x18\x01 \x03(\t\x12\x10\n\x08\x63itycode\x18\x02 \x01(\x05\x12\n\n\x02tp\x18\x03 \x01(\t\x12\x0b\n\x03\x64\x61y\x18\x04 \x01(\t\"\x94\x05\n%QueryCrossPhaseRelativeOffsetResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\x12\x46\n\x04\x64\x61ta\x18\x03 \x03(\x0b\x32\x38.phase_server.QueryCrossPhaseRelativeOffsetResponse.List\x1a\xd0\x02\n\x04List\x12\x0f\n\x07\x63rossid\x18\x01 \x01(\t\x12\x0b\n\x03\x64\x61y\x18\x02 \x01(\x05\x12\r\n\x05month\x18\x03 \x01(\x05\x12\x0f\n\x07weekday\x18\x04 \x01(\x05\x12\x12\n\nscheduleid\x18\x05 \x01(\x05\x12\x10\n\x08tp_start\x18\x06 \x01(\t\x12\x14\n\x0c\x63ontrol_mode\x18\x07 \x01(\t\x12\x0e\n\x06planid\x18\x08 \x01(\x05\x12\x11\n\tplan_name\x18\t \x01(\t\x12\r\n\x05\x63ycle\x18\n \x01(\x05\x12\x0e\n\x06offset\x18\x0b \x01(\x05\x12\x17\n\x0frelative_offset\x18\x0c \x01(\x05\x12\x0c\n\x04type\x18\r \x01(\t\x12\x15\n\rcoord_phaseid\x18\x0e \x01(\x05\x12N\n\x06stages\x18\x0f \x03(\x0b\x32>.phase_server.QueryCrossPhaseRelativeOffsetResponse.stage_data\x1a\xb4\x01\n\nstage_data\x12\x0f\n\x07stageid\x18\x01 \x01(\x05\x12\x12\n\nstage_name\x18\x02 \x01(\t\x12\x16\n\x0estage_duration\x18\x03 \x01(\x05\x12\r\n\x05green\x18\x04 \x01(\x05\x12\x0e\n\x06yellow\x18\x05 \x01(\x05\x12\x0e\n\x06\x61llred\x18\x06 \x01(\x05\x12\x11\n\tredyellow\x18\x07 \x01(\x05\x12\x10\n\x08phaseids\x18\x08 \x01(\t\x12\x15\n\rphaseid_names\x18\t \x01(\t\"E\n!GreenWaveCrossPhaseTpCheckRequest\x12\x0e\n\x06waveid\x18\x01 \x01(\t\x12\x10\n\x08\x63itycode\x18\x02 \x01(\x05\"?\n\"GreenWaveCrossPhaseTpCheckResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\"]\n\x18\x43rossRunningPhaseRequest\x12\x10\n\x08\x63itycode\x18\x01 \x01(\x05\x12\x11\n\tdate_list\x18\x02 \x03(\t\x12\n\n\x02tp\x18\x03 \x01(\t\x12\x10\n\x08\x63rossids\x18\x04 \x03(\t\"\xd7\x05\n\x19\x43rossRunningPhaseResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\x12:\n\x04\x64\x61ta\x18\x03 \x03(\x0b\x32,.phase_server.CrossRunningPhaseResponse.List\x1a\xbe\x01\n\x04List\x12\x10\n\x08\x63itycode\x18\x01 \x01(\x05\x12\x0f\n\x07\x63rossid\x18\x02 \x01(\t\x12\x12\n\njj_crossid\x18\x03 \x01(\t\x12\x12\n\nscheduleid\x18\x04 \x01(\x05\x12\x15\n\rschedule_week\x18\x05 \x01(\t\x12\x15\n\rschedule_name\x18\x06 \x01(\t\x12=\n\x03tps\x18\x07 \x03(\x0b\x32\x30.phase_server.CrossRunningPhaseResponse.tps_list\x1a\xdf\x01\n\x08tps_list\x12\x10\n\x08tp_start\x18\x01 \x01(\t\x12\x0e\n\x06tp_end\x18\x02 \x01(\t\x12\x0e\n\x06planid\x18\x03 \x01(\x05\x12\x11\n\tplan_name\x18\x04 \x01(\t\x12\x14\n\x0c\x63ontrol_mode\x18\x05 \x01(\t\x12\r\n\x05\x63ycle\x18\x06 \x01(\x05\x12\x15\n\rcoord_phaseid\x18\x07 \x01(\x05\x12\x0e\n\x06offset\x18\x08 \x01(\x05\x12\x42\n\nstage_list\x18\t \x03(\x0b\x32..phase_server.CrossRunningPhaseResponse.stages\x1a\xbf\x01\n\x06stages\x12\x0f\n\x07stageid\x18\x01 \x01(\x05\x12\x16\n\x0estage_duration\x18\x02 \x01(\x05\x12\x12\n\nstage_name\x18\x03 \x01(\t\x12\r\n\x05green\x18\x04 \x01(\x05\x12\x0e\n\x06yellow\x18\x05 \x01(\x05\x12\x0e\n\x06\x61llred\x18\x06 \x01(\x05\x12\x0e\n\x06phases\x18\x07 \x01(\t\x12\x13\n\x0bphases_name\x18\x08 \x01(\t\x12\x11\n\tmin_green\x18\t \x01(\x05\x12\x11\n\tmax_green\x18\n \x01(\x05\"o\n\x1a\x43rossPhaseDiagnosisRequest\x12\x10\n\x08\x63itycode\x18\x01 \x01(\x05\x12\x0f\n\x07\x63rossid\x18\x02 \x01(\t\x12\x0f\n\x07\x61rea_id\x18\x04 \x01(\x05\x12\n\n\x02tp\x18\x05 \x01(\t\x12\x11\n\tdate_list\x18\x06 \x03(\t\"\xd2\x05\n\x1b\x43rossPhaseDiagnosisResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\x12<\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32..phase_server.CrossPhaseDiagnosisResponse.List\x1aW\n\x04List\x12\x0c\n\x04item\x18\x01 \x01(\t\x12\x41\n\x06values\x18\x02 \x03(\x0b\x32\x31.phase_server.CrossPhaseDiagnosisResponse.details\x1a\xbf\x01\n\x07\x64\x65tails\x12\x0c\n\x04item\x18\x01 \x01(\t\x12\x45\n\x06\x64\x65tail\x18\x02 \x03(\x0b\x32\x35.phase_server.CrossPhaseDiagnosisResponse.item_detail\x12O\n\x0bsuggestions\x18\x03 \x03(\x0b\x32:.phase_server.CrossPhaseDiagnosisResponse.item_suggestions\x12\x0e\n\x06reason\x18\x04 \x01(\t\x1al\n\x0bitem_detail\x12\x0f\n\x07src_dir\x18\x01 \x01(\t\x12L\n\x0c\x63hild_detail\x18\x02 \x03(\x0b\x32\x36.phase_server.CrossPhaseDiagnosisResponse.detail_value\x1a`\n\x10item_suggestions\x12L\n\x0c\x63hild_detail\x18\x01 \x03(\x0b\x32\x36.phase_server.CrossPhaseDiagnosisResponse.detail_value\x1ao\n\x0c\x64\x65tail_value\x12\x0c\n\x04text\x18\x01 \x01(\t\x12\r\n\x05\x63olor\x18\x02 \x01(\t\x12\x12\n\nscheduleid\x18\x03 \x01(\x05\x12\x0f\n\x07\x63rossid\x18\x04 \x01(\t\x12\x10\n\x08tp_start\x18\x05 \x01(\t\x12\x0b\n\x03\x64\x61y\x18\x06 \x01(\t\"+\n\x17\x43rossPhaseByCityRequest\x12\x10\n\x08\x63itycode\x18\x01 \x01(\x05\"C\n\x18\x43rossPhaseByCityResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x03(\t\"j\n\x1b\x43rossPhaseStatisticsRequest\x12\x10\n\x08\x63itycode\x18\x01 \x01(\x05\x12\x0f\n\x07\x61rea_id\x18\x02 \x01(\x05\x12\x15\n\rschedule_week\x18\x03 \x01(\t\x12\x11\n\tdate_list\x18\x04 \x03(\t\"\xc8\x02\n\x1c\x43rossPhaseStatisticsResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\x12=\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32/.phase_server.CrossPhaseStatisticsResponse.List\x1a\x9e\x01\n\x04List\x12\x17\n\x0f\x63ross_phase_num\x18\x01 \x01(\x05\x12\x18\n\x10\x63ross_update_num\x18\x02 \x01(\x05\x12\x12\n\navg_tp_num\x18\x03 \x01(\x02\x12O\n\rtp_num_detail\x18\x04 \x03(\x0b\x32\x38.phase_server.CrossPhaseStatisticsResponse.item_tps_list\x1a-\n\ritem_tps_list\x12\r\n\x05range\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05\"V\n UpdateCrossPhaseDiagnosisRequest\x12\x0f\n\x07\x63rossid\x18\x01 \x01(\t\x12\x10\n\x08\x63itycode\x18\x02 \x01(\x05\x12\x0f\n\x07\x61rea_id\x18\x03 \x01(\x05\">\n!UpdateCrossPhaseDiagnosisResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\"h\n CrossPhaseDiagnosisByCityRequest\x12\x10\n\x08\x63itycode\x18\x01 \x01(\x05\x12\x0f\n\x07\x61rea_id\x18\x02 \x01(\x05\x12\x15\n\rschedule_week\x18\x03 \x01(\t\x12\n\n\x02tp\x18\x04 \x01(\t\"\xd1\x04\n!CrossPhaseDiagnosisByCityResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\x12\x42\n\x04\x64\x61ta\x18\x03 \x03(\x0b\x32\x34.phase_server.CrossPhaseDiagnosisByCityResponse.List\x1a\x85\x01\n\x04List\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\ttotal_num\x18\x02 \x01(\x05\x12\x0b\n\x03key\x18\x03 \x01(\t\x12O\n\x08problems\x18\x04 \x03(\x0b\x32=.phase_server.CrossPhaseDiagnosisByCityResponse.item_problems\x1a\xc4\x02\n\ritem_problems\x12\x0f\n\x07\x63rossid\x18\x01 \x01(\t\x12\x12\n\ncross_name\x18\x02 \x01(\t\x12\x15\n\rschedule_name\x18\x03 \x01(\t\x12\x15\n\rschedule_week\x18\x04 \x01(\t\x12\x12\n\nscheduleid\x18\x05 \x01(\x05\x12\n\n\x02tp\x18\x06 \x01(\t\x12\x0e\n\x06tp_num\x18\x07 \x01(\x05\x12\x0e\n\x06planid\x18\x08 \x01(\x05\x12\x11\n\tplan_name\x18\t \x01(\t\x12\x11\n\tstage_num\x18\n \x01(\x05\x12\r\n\x05\x63ycle\x18\x0b \x01(\x05\x12\x13\n\x0bshaped_mode\x18\x0c \x01(\t\x12\x17\n\x0f\x63rosswalk_phase\x18\r \x01(\t\x12\x17\n\x0f\x63rosswalk_green\x18\x0e \x01(\t\x12\x0e\n\x06is_new\x18\x0f \x01(\x05\x12\x14\n\x0cshield_state\x18\x10 \x01(\x05\"M\n\'LedgerTaskDetailPhaseStateUpdateRequest\x12\x10\n\x08\x63itycode\x18\x01 \x01(\x05\x12\x10\n\x08\x63rossids\x18\x02 \x03(\t\"E\n(LedgerTaskDetailPhaseStateUpdateResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\"\xbd\x01\n\x1bTaskWaveCrossTpPhaseRequest\x12\x10\n\x08\x63itycode\x18\x01 \x01(\x05\x12\x10\n\x08\x63rossids\x18\x02 \x03(\t\x12=\n\x03tps\x18\x03 \x03(\x0b\x32\x30.phase_server.TaskWaveCrossTpPhaseRequest.TpInfo\x1a;\n\x06TpInfo\x12\x0f\n\x07weekday\x18\x01 \x01(\t\x12\x10\n\x08tp_start\x18\x02 \x01(\t\x12\x0e\n\x06tp_end\x18\x03 \x01(\t\"\xd2\x05\n\x1cTaskWaveCrossTpPhaseResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0b\n\x03msg\x18\x02 \x01(\t\x12=\n\x04\x64\x61ta\x18\x03 \x03(\x0b\x32/.phase_server.TaskWaveCrossTpPhaseResponse.List\x1a`\n\x04List\x12\x0f\n\x07\x63rossid\x18\x01 \x01(\t\x12G\n\x07\x64\x65tails\x18\x02 \x03(\x0b\x32\x36.phase_server.TaskWaveCrossTpPhaseResponse.detail_info\x1a\xc1\x02\n\x0b\x64\x65tail_info\x12\x14\n\x0cmax_duration\x18\x01 \x01(\x05\x12\x17\n\x0fsearch_tp_start\x18\x02 \x01(\t\x12\x15\n\rsearch_tp_end\x18\x03 \x01(\t\x12\x13\n\x0bschedule_id\x18\x04 \x01(\x05\x12\x15\n\rschedule_week\x18\x05 \x01(\t\x12\x10\n\x08tp_start\x18\x06 \x01(\t\x12\x0e\n\x06tp_end\x18\x07 \x01(\t\x12\x0e\n\x06planid\x18\x08 \x01(\x05\x12\x11\n\tplan_name\x18\t \x01(\t\x12\r\n\x05\x63ycle\x18\n \x01(\x05\x12\x15\n\rcoord_phaseid\x18\x0b \x01(\x05\x12\x0e\n\x06offset\x18\x0c \x01(\x05\x12\x45\n\x06stages\x18\r \x03(\x0b\x32\x35.phase_server.TaskWaveCrossTpPhaseResponse.stage_data\x1a\xb1\x01\n\nstage_data\x12\x0f\n\x07stageid\x18\x01 \x01(\x05\x12\x12\n\nstage_name\x18\x02 \x01(\t\x12\x16\n\x0estage_duration\x18\x03 \x01(\x05\x12\r\n\x05green\x18\x04 \x01(\x05\x12\x0e\n\x06yellow\x18\x05 \x01(\x05\x12\x0e\n\x06\x61llred\x18\x06 \x01(\x05\x12\x11\n\tredyellow\x18\x07 \x01(\x05\x12\x10\n\x08phaseids\x18\x08 \x01(\t\x12\x12\n\nphase_name\x18\t \x01(\t2\x9d\x0f\n\x0cPhaseService\x12\\\n\x13\x45xceptionPhaseCross\x12\x1a.phase_server.EmptyRequest\x1a).phase_server.ExceptionPhaseCrossResponse\x12v\n\x17\x45xceptionPhaseCrossInfo\x12,.phase_server.ExceptionPhaseCrossInfoRequest\x1a-.phase_server.ExceptionPhaseCrossInfoResponse\x12y\n\x18\x45xceptionPhaseByCrossIDs\x12-.phase_server.ExceptionPhaseByCrossIDsRequest\x1a..phase_server.ExceptionPhaseByCrossIDsResponse\x12\x88\x01\n\x1dGetCrossPhaseDetailByCrossIDs\x12\x32.phase_server.GetCrossPhaseDetailByCrossIDsRequest\x1a\x33.phase_server.GetCrossPhaseDetailByCrossIDsResponse\x12T\n\x0fGetPhaseCrossID\x12\x1a.phase_server.EmptyRequest\x1a%.phase_server.GetPhaseCrossIDResponse\x12^\n\x0fPhaseGreenRatio\x12$.phase_server.PhaseGreenRatioRequest\x1a%.phase_server.PhaseGreenRatioResponse\x12L\n\tCrossList\x12\x1e.phase_server.CrossListRequest\x1a\x1f.phase_server.CrossListResponse\x12\x88\x01\n\x1dQueryCrossPhaseRelativeOffset\x12\x32.phase_server.QueryCrossPhaseRelativeOffsetRequest\x1a\x33.phase_server.QueryCrossPhaseRelativeOffsetResponse\x12\x7f\n\x1aGreenWaveCrossPhaseTpCheck\x12/.phase_server.GreenWaveCrossPhaseTpCheckRequest\x1a\x30.phase_server.GreenWaveCrossPhaseTpCheckResponse\x12\x64\n\x11\x43rossRunningPhase\x12&.phase_server.CrossRunningPhaseRequest\x1a\'.phase_server.CrossRunningPhaseResponse\x12j\n\x13\x43rossPhaseDiagnosis\x12(.phase_server.CrossPhaseDiagnosisRequest\x1a).phase_server.CrossPhaseDiagnosisResponse\x12\x61\n\x10\x43rossPhaseByCity\x12%.phase_server.CrossPhaseByCityRequest\x1a&.phase_server.CrossPhaseByCityResponse\x12m\n\x14\x43rossPhaseStatistics\x12).phase_server.CrossPhaseStatisticsRequest\x1a*.phase_server.CrossPhaseStatisticsResponse\x12|\n\x19UpdateCrossPhaseDiagnosis\x12..phase_server.UpdateCrossPhaseDiagnosisRequest\x1a/.phase_server.UpdateCrossPhaseDiagnosisResponse\x12|\n\x19\x43rossPhaseDiagnosisByCity\x12..phase_server.CrossPhaseDiagnosisByCityRequest\x1a/.phase_server.CrossPhaseDiagnosisByCityResponse\x12\x91\x01\n LedgerTaskDetailPhaseStateUpdate\x12\x35.phase_server.LedgerTaskDetailPhaseStateUpdateRequest\x1a\x36.phase_server.LedgerTaskDetailPhaseStateUpdateResponse\x12m\n\x14TaskWaveCrossTpPhase\x12).phase_server.TaskWaveCrossTpPhaseRequest\x1a*.phase_server.TaskWaveCrossTpPhaseResponseb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -135,6 +135,18 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['_LEDGERTASKDETAILPHASESTATEUPDATEREQUEST']._serialized_end=6700 _globals['_LEDGERTASKDETAILPHASESTATEUPDATERESPONSE']._serialized_start=6702 _globals['_LEDGERTASKDETAILPHASESTATEUPDATERESPONSE']._serialized_end=6771 - _globals['_PHASESERVICE']._serialized_start=6774 - _globals['_PHASESERVICE']._serialized_end=8612 + _globals['_TASKWAVECROSSTPPHASEREQUEST']._serialized_start=6774 + _globals['_TASKWAVECROSSTPPHASEREQUEST']._serialized_end=6963 + _globals['_TASKWAVECROSSTPPHASEREQUEST_TPINFO']._serialized_start=6904 + _globals['_TASKWAVECROSSTPPHASEREQUEST_TPINFO']._serialized_end=6963 + _globals['_TASKWAVECROSSTPPHASERESPONSE']._serialized_start=6966 + _globals['_TASKWAVECROSSTPPHASERESPONSE']._serialized_end=7688 + _globals['_TASKWAVECROSSTPPHASERESPONSE_LIST']._serialized_start=7088 + _globals['_TASKWAVECROSSTPPHASERESPONSE_LIST']._serialized_end=7184 + _globals['_TASKWAVECROSSTPPHASERESPONSE_DETAIL_INFO']._serialized_start=7187 + _globals['_TASKWAVECROSSTPPHASERESPONSE_DETAIL_INFO']._serialized_end=7508 + _globals['_TASKWAVECROSSTPPHASERESPONSE_STAGE_DATA']._serialized_start=7511 + _globals['_TASKWAVECROSSTPPHASERESPONSE_STAGE_DATA']._serialized_end=7688 + _globals['_PHASESERVICE']._serialized_start=7691 + _globals['_PHASESERVICE']._serialized_end=9640 # @@protoc_insertion_point(module_scope) diff --git a/proto/phase_server_pb2_grpc.py b/proto/phase_server_pb2_grpc.py index 5e797ac..69df392 100644 --- a/proto/phase_server_pb2_grpc.py +++ b/proto/phase_server_pb2_grpc.py @@ -114,6 +114,11 @@ class PhaseServiceStub(object): request_serializer=phase__server__pb2.LedgerTaskDetailPhaseStateUpdateRequest.SerializeToString, response_deserializer=phase__server__pb2.LedgerTaskDetailPhaseStateUpdateResponse.FromString, _registered_method=True) + self.TaskWaveCrossTpPhase = channel.unary_unary( + '/phase_server.PhaseService/TaskWaveCrossTpPhase', + request_serializer=phase__server__pb2.TaskWaveCrossTpPhaseRequest.SerializeToString, + response_deserializer=phase__server__pb2.TaskWaveCrossTpPhaseResponse.FromString, + _registered_method=True) class PhaseServiceServicer(object): @@ -231,6 +236,13 @@ class PhaseServiceServicer(object): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def TaskWaveCrossTpPhase(self, request, context): + """绿波优化任务相关根据时段路口配时方案接口 + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_PhaseServiceServicer_to_server(servicer, server): rpc_method_handlers = { @@ -314,6 +326,11 @@ def add_PhaseServiceServicer_to_server(servicer, server): request_deserializer=phase__server__pb2.LedgerTaskDetailPhaseStateUpdateRequest.FromString, response_serializer=phase__server__pb2.LedgerTaskDetailPhaseStateUpdateResponse.SerializeToString, ), + 'TaskWaveCrossTpPhase': grpc.unary_unary_rpc_method_handler( + servicer.TaskWaveCrossTpPhase, + request_deserializer=phase__server__pb2.TaskWaveCrossTpPhaseRequest.FromString, + response_serializer=phase__server__pb2.TaskWaveCrossTpPhaseResponse.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'phase_server.PhaseService', rpc_method_handlers) @@ -756,3 +773,30 @@ class PhaseService(object): timeout, metadata, _registered_method=True) + + @staticmethod + def TaskWaveCrossTpPhase(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/phase_server.PhaseService/TaskWaveCrossTpPhase', + phase__server__pb2.TaskWaveCrossTpPhaseRequest.SerializeToString, + phase__server__pb2.TaskWaveCrossTpPhaseResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True)