新增根据路口查询配时方案状态

Signed-off-by: yinzijian <yinzijian@haomozhixing.onaliyun.com>
This commit is contained in:
yinzijian 2026-04-07 18:24:02 +08:00
parent cbc60aa57a
commit 93eaffa506
4 changed files with 95 additions and 3 deletions

View File

@ -352,3 +352,28 @@ def CrossPhaseUpdateTime(citycode: int, crossids: List[str]):
return None, e return None, e
finally: finally:
channel.close() channel.close()
def CrossPhaseState(citycode: int, crossids: []):
"""
根据路口列表查询配时方案状态
Args:
citycode: 350100
crossids: ['CR_11821002_3965577','CR_11817722_3967563']
Returns:
"""
stub, channel = channel_stub()
try:
return_data = {}
request_params = phase_server_pb2.QueryLedgerTaskDetailPhaseStateRequest(citycode=citycode, crossids=crossids)
response = stub.QueryLedgerTaskDetailPhaseState(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.phase_state
return return_data, None
except Exception as e:
return None, e
finally:
channel.close()

View File

@ -38,6 +38,8 @@ service PhaseService {
rpc TaskWaveCrossTpPhase (TaskWaveCrossTpPhaseRequest) returns (TaskWaveCrossTpPhaseResponse); rpc TaskWaveCrossTpPhase (TaskWaveCrossTpPhaseRequest) returns (TaskWaveCrossTpPhaseResponse);
// //
rpc CrossPhaseUpdateTime (CrossPhaseUpdateTimeRequest) returns (CrossPhaseUpdateTimeResponse); rpc CrossPhaseUpdateTime (CrossPhaseUpdateTimeRequest) returns (CrossPhaseUpdateTimeResponse);
//ID查询配时方案状态0123
rpc QueryLedgerTaskDetailPhaseState (QueryLedgerTaskDetailPhaseStateRequest) returns (QueryLedgerTaskDetailPhaseStateResponse);
} }
message EmptyRequest {} message EmptyRequest {}
@ -493,3 +495,18 @@ message CrossPhaseUpdateTimeResponse {
string update_time = 2; string update_time = 2;
} }
} }
message QueryLedgerTaskDetailPhaseStateRequest {
int32 citycode = 1;
repeated string crossids = 2;
}
message QueryLedgerTaskDetailPhaseStateResponse {
int32 code = 1;
string msg = 2;
repeated List data = 3;
message List {
string crossid = 1;
int32 phase_state = 2;
}
}

File diff suppressed because one or more lines are too long

View File

@ -124,6 +124,11 @@ class PhaseServiceStub(object):
request_serializer=phase__server__pb2.CrossPhaseUpdateTimeRequest.SerializeToString, request_serializer=phase__server__pb2.CrossPhaseUpdateTimeRequest.SerializeToString,
response_deserializer=phase__server__pb2.CrossPhaseUpdateTimeResponse.FromString, response_deserializer=phase__server__pb2.CrossPhaseUpdateTimeResponse.FromString,
_registered_method=True) _registered_method=True)
self.QueryLedgerTaskDetailPhaseState = channel.unary_unary(
'/phase_server.PhaseService/QueryLedgerTaskDetailPhaseState',
request_serializer=phase__server__pb2.QueryLedgerTaskDetailPhaseStateRequest.SerializeToString,
response_deserializer=phase__server__pb2.QueryLedgerTaskDetailPhaseStateResponse.FromString,
_registered_method=True)
class PhaseServiceServicer(object): class PhaseServiceServicer(object):
@ -255,6 +260,13 @@ class PhaseServiceServicer(object):
context.set_details('Method not implemented!') context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!') raise NotImplementedError('Method not implemented!')
def QueryLedgerTaskDetailPhaseState(self, request, context):
"""新版根据路口ID查询配时方案状态支持0未录入1已录入2录入中3无需录入
"""
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!')
def add_PhaseServiceServicer_to_server(servicer, server): def add_PhaseServiceServicer_to_server(servicer, server):
rpc_method_handlers = { rpc_method_handlers = {
@ -348,6 +360,11 @@ def add_PhaseServiceServicer_to_server(servicer, server):
request_deserializer=phase__server__pb2.CrossPhaseUpdateTimeRequest.FromString, request_deserializer=phase__server__pb2.CrossPhaseUpdateTimeRequest.FromString,
response_serializer=phase__server__pb2.CrossPhaseUpdateTimeResponse.SerializeToString, response_serializer=phase__server__pb2.CrossPhaseUpdateTimeResponse.SerializeToString,
), ),
'QueryLedgerTaskDetailPhaseState': grpc.unary_unary_rpc_method_handler(
servicer.QueryLedgerTaskDetailPhaseState,
request_deserializer=phase__server__pb2.QueryLedgerTaskDetailPhaseStateRequest.FromString,
response_serializer=phase__server__pb2.QueryLedgerTaskDetailPhaseStateResponse.SerializeToString,
),
} }
generic_handler = grpc.method_handlers_generic_handler( generic_handler = grpc.method_handlers_generic_handler(
'phase_server.PhaseService', rpc_method_handlers) 'phase_server.PhaseService', rpc_method_handlers)
@ -844,3 +861,30 @@ class PhaseService(object):
timeout, timeout,
metadata, metadata,
_registered_method=True) _registered_method=True)
@staticmethod
def QueryLedgerTaskDetailPhaseState(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/QueryLedgerTaskDetailPhaseState',
phase__server__pb2.QueryLedgerTaskDetailPhaseStateRequest.SerializeToString,
phase__server__pb2.QueryLedgerTaskDetailPhaseStateResponse.FromString,
options,
channel_credentials,
insecure,
call_credentials,
compression,
wait_for_ready,
timeout,
metadata,
_registered_method=True)