%%%-------------------------------------------------------------------
|
%%% @author pansen
|
%%% @copyright (C) 2018, <COMPANY>
|
%%% @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).
|