From acbf7c5987f50bc63e572160bee4598a08672160 Mon Sep 17 00:00:00 2001 From: yinzijian Date: Mon, 23 Mar 2026 16:05:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=A0=B9=E6=8D=AE=E8=B7=AF?= =?UTF-8?q?=E5=8F=A3=E6=9F=A5=E8=AF=A2=E9=85=8D=E6=97=B6=E6=96=B9=E6=A1=88?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yinzijian --- proto/phase_grpc.py | 24 +++++++++++++++++++ proto/phase_server.proto | 17 +++++++++++++ proto/phase_server_pb2.py | 12 +++++++--- proto/phase_server_pb2_grpc.py | 44 ++++++++++++++++++++++++++++++++++ 4 files changed, 94 insertions(+), 3 deletions(-) diff --git a/proto/phase_grpc.py b/proto/phase_grpc.py index e26bbad..dd491f0 100644 --- a/proto/phase_grpc.py +++ b/proto/phase_grpc.py @@ -328,3 +328,27 @@ def TaskWaveCrossTpPhaseRPC(citycode: int, crossids: List[str], tps: List): return None, e finally: channel.close() + + +def CrossPhaseUpdateTime(citycode: int, crossids: List[str]): + """ + 根据路口查询配时方案更新时间 + citycode = 130200 + crossids = ['crossid1','crossid2'] + return {'crossid1': '2022-01-01 13:13:13', 'crossid2': '2022-01-01 13:13:13'}, None + """ + stub, channel = channel_stub() + try: + return_data = {} + request_params = phase_server_pb2.CrossPhaseUpdateTimeRequest(citycode=citycode,crossids=crossids) + response = stub.CrossPhaseUpdateTime(request_params, timeout=30) + if response.code != 0: + raise Exception(response.msg) + if len(response.data) > 0: + for item_data in response.data: + return_data[item_data.crossid] = item_data.update_time + 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 137041e..abbb7e3 100644 --- a/proto/phase_server.proto +++ b/proto/phase_server.proto @@ -36,6 +36,8 @@ service PhaseService { rpc LedgerTaskDetailPhaseStateUpdate (LedgerTaskDetailPhaseStateUpdateRequest) returns (LedgerTaskDetailPhaseStateUpdateResponse); //绿波优化任务相关根据时段路口配时方案接口 rpc TaskWaveCrossTpPhase (TaskWaveCrossTpPhaseRequest) returns (TaskWaveCrossTpPhaseResponse); + //路口配时方案更新时间 + rpc CrossPhaseUpdateTime (CrossPhaseUpdateTimeRequest) returns (CrossPhaseUpdateTimeResponse); } message EmptyRequest {} @@ -476,3 +478,18 @@ message TaskWaveCrossTpPhaseResponse { string phase_name = 9; } } + +message CrossPhaseUpdateTimeRequest { + int32 citycode = 1; + repeated string crossids = 2; +} + +message CrossPhaseUpdateTimeResponse { + int32 code = 1; + string msg = 2; + repeated List data = 3; + message List { + string crossid = 1; + string update_time = 2; + } +} \ No newline at end of file diff --git a/proto/phase_server_pb2.py b/proto/phase_server_pb2.py index 0b4cf6c..d65a19f 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(\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') +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(\t\"A\n\x1b\x43rossPhaseUpdateTimeRequest\x12\x10\n\x08\x63itycode\x18\x01 \x01(\x05\x12\x10\n\x08\x63rossids\x18\x02 \x03(\t\"\xa6\x01\n\x1c\x43rossPhaseUpdateTimeResponse\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.CrossPhaseUpdateTimeResponse.List\x1a,\n\x04List\x12\x0f\n\x07\x63rossid\x18\x01 \x01(\t\x12\x13\n\x0bupdate_time\x18\x02 \x01(\t2\x8c\x10\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.TaskWaveCrossTpPhaseResponse\x12m\n\x14\x43rossPhaseUpdateTime\x12).phase_server.CrossPhaseUpdateTimeRequest\x1a*.phase_server.CrossPhaseUpdateTimeResponseb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -147,6 +147,12 @@ if not _descriptor._USE_C_DESCRIPTORS: _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 + _globals['_CROSSPHASEUPDATETIMEREQUEST']._serialized_start=7690 + _globals['_CROSSPHASEUPDATETIMEREQUEST']._serialized_end=7755 + _globals['_CROSSPHASEUPDATETIMERESPONSE']._serialized_start=7758 + _globals['_CROSSPHASEUPDATETIMERESPONSE']._serialized_end=7924 + _globals['_CROSSPHASEUPDATETIMERESPONSE_LIST']._serialized_start=7880 + _globals['_CROSSPHASEUPDATETIMERESPONSE_LIST']._serialized_end=7924 + _globals['_PHASESERVICE']._serialized_start=7927 + _globals['_PHASESERVICE']._serialized_end=9987 # @@protoc_insertion_point(module_scope) diff --git a/proto/phase_server_pb2_grpc.py b/proto/phase_server_pb2_grpc.py index 69df392..1d4da15 100644 --- a/proto/phase_server_pb2_grpc.py +++ b/proto/phase_server_pb2_grpc.py @@ -119,6 +119,11 @@ class PhaseServiceStub(object): request_serializer=phase__server__pb2.TaskWaveCrossTpPhaseRequest.SerializeToString, response_deserializer=phase__server__pb2.TaskWaveCrossTpPhaseResponse.FromString, _registered_method=True) + self.CrossPhaseUpdateTime = channel.unary_unary( + '/phase_server.PhaseService/CrossPhaseUpdateTime', + request_serializer=phase__server__pb2.CrossPhaseUpdateTimeRequest.SerializeToString, + response_deserializer=phase__server__pb2.CrossPhaseUpdateTimeResponse.FromString, + _registered_method=True) class PhaseServiceServicer(object): @@ -243,6 +248,13 @@ class PhaseServiceServicer(object): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def CrossPhaseUpdateTime(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 = { @@ -331,6 +343,11 @@ def add_PhaseServiceServicer_to_server(servicer, server): request_deserializer=phase__server__pb2.TaskWaveCrossTpPhaseRequest.FromString, response_serializer=phase__server__pb2.TaskWaveCrossTpPhaseResponse.SerializeToString, ), + 'CrossPhaseUpdateTime': grpc.unary_unary_rpc_method_handler( + servicer.CrossPhaseUpdateTime, + request_deserializer=phase__server__pb2.CrossPhaseUpdateTimeRequest.FromString, + response_serializer=phase__server__pb2.CrossPhaseUpdateTimeResponse.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'phase_server.PhaseService', rpc_method_handlers) @@ -800,3 +817,30 @@ class PhaseService(object): timeout, metadata, _registered_method=True) + + @staticmethod + def CrossPhaseUpdateTime(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/CrossPhaseUpdateTime', + phase__server__pb2.CrossPhaseUpdateTimeRequest.SerializeToString, + phase__server__pb2.CrossPhaseUpdateTimeResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True)