%%%------------------------------------------------------------------- %%% @author pansen %%% @copyright (C) 2018, %%% @doc %%% %%% @end %%% Created : 06. 八月 2018 10:09 %%%------------------------------------------------------------------- -module(car_info). -author("pansen"). %%% 底库车辆信息 -record(car_info, {id, carPlateNum, create_time, update_time, create_by}). -include_lib("stdlib/include/ms_transform.hrl"). -include_lib("stdlib/include/qlc.hrl"). -compile(export_all). %%% 创建 车牌表 create_carInfo(Nodes, TableName) -> Ret = mnesia:create_table(TableName, [{disc_copies, Nodes}, {attributes, record_info(fields, car_info)}, {record_name, car_info} %% ,{index, [#device_info.id]} ]), io:format("create_carInfo Ret=~p~n", [Ret]), syncTool:changeTableConfig(Nodes, TableName), %% mnesia:change_table_copy_type(TableName, node(), disc_copies), Ret. %%% 设置 add_carInfo(TableName, CarPlateNum) -> ID = syncTool:getUUIDStr(), CreateTime = syncTool:getTimeStr(), UpdateTime = syncTool:getTimeStr(), CreateUser = node(), F = fun() -> mnesia:write(TableName, #car_info{id = ID, carPlateNum = CarPlateNum, create_time = CreateTime, update_time = UpdateTime, create_by = CreateUser}, write) end, Ret = mnesia:activity(transaction, F), if Ret == ok -> Result = ID; true -> Result = "" end, Result. %%% 物理删除 del_carInfoInfo(TableName, ID) -> mnesia:transaction( fun() -> mnesia:delete({TableName, ID}) end). %%% 查找所有信息 findAllcarInfoInfo(TableName) -> F = fun() -> qlc:e(qlc:q([{ID, CarPlateNum, CreateTime, UpdateTime, CreateUser} || #car_info{id = ID, carPlateNum = CarPlateNum, create_time = CreateTime, update_time = UpdateTime, create_by = CreateUser} <- mnesia:table(TableName)])) end, mnesia:activity(transaction, F). carInfoformat2Mat([]) -> []; carInfoformat2Mat(_ExpertiseList = [OnlineNodes | T]) -> OnlineNode = OnlineNodes, TemMaps = #{"uuid" => element(1, OnlineNode), "carPlateNum" => element(2, OnlineNode), "create_time" => element(3, OnlineNode), "update_time" => element(4, OnlineNode), "create_by" => element(5, OnlineNode)}, io:format("~p~n~n~n", [TemMaps]), [maps:to_list(TemMaps) | carInfoformat2Mat(T)]. %%% 查找信息 findcarInfoInfo(TableName, Expertise) -> F = fun() -> qlc:e(qlc:q([{ID, CarPlateNum, CreateTime, UpdateTime, CreateUser} || #car_info{id = ID, carPlateNum = CarPlateNum, create_time = CreateTime, update_time = UpdateTime, create_by = CreateUser} <- mnesia:table(TableName), CarPlateNum =:= Expertise])) end, mnesia:activity(transaction, F).