进出入完善组织机构并加入导入人员和机构功能
554325746@qq.com
2019-08-07 07a66e53d2b4126c2004870d81a379d8ef0071da
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
%%%-------------------------------------------------------------------
%%% @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).