whyclj
2020-10-20 2a1aa055a75826211327ce37a7ad761bb7016c68
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
package com.dev.data;
 
import java.sql.SQLException;
import java.util.Date;
 
import com.base.Com;
import com.sql.MysqlConnPool;
import com.sql.Sql_Mysql;
 
public class ChildStoodParse_Thread_SQL {
 
    /**
     *     ¸üÐÂÉ豸ʵʱ¼Ç¼
     * @param conn_pool
     * @param device
     */
    public static void upDeviceRtData(MysqlConnPool conn_pool,Device_inf device) {
        String sql_str = " UPDATE " +  Sql_Mysql.Tb_DevData_Rt + device.dev_id +
                " SET record_time = '"+Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms)+"',param_count="+device.cfgdatas.size();
        for(int i = 0 ;i<device.cfgdatas.size();i++) {
            ConfigData data = device.cfgdatas.get(i);
            //System.out.println(device.dev_id+"=="+data.data_value);
            if(data.checkCanUpdate(data, data.update_en)) {
                //¼ì²éÊÇ·ñÐèÒª¸üе±Ç°×´Ì¬
                sql_str += ",state"+(i+1)+"='"+data.value+"'";
            }
        }
        sql_str += " WHERE dev_id = '"+ device.dev_id +"' And data_type = " + ChildStoodParse_Thread.State_DataType;
        
        
        //System.out.println("¸üÐÂÉ豸ʱ¼ä");
        //¸üÐÂ״̬ʱ¼ä
        Dev_UDPServer_Thread_SQL.updateDeviceDate(conn_pool, device);
        Sql_Mysql sql = new Sql_Mysql(conn_pool.getConn());
        try {
            //System.out.println(sql_str);
            sql.sqlMysqlExecute(sql_str);
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            sql.close_con();
        }
    }
    
    /**
     *     ¸üÐÂÉ豸ʵʱ¼Ç¼°´Ê±¼ä¸üÐÂ
     * @param conn_pool
     * @param device
     */
    public static void upDeviceRtData(MysqlConnPool conn_pool,Device_inf device,Date time) {
        String sql_str = " UPDATE " +  Sql_Mysql.Tb_DevData_Rt + device.dev_id +
                " SET record_time = '"+Com.getDateTimeFormat(time, Com.DTF_YMDhms)+"',param_count="+device.cfgdatas.size();
        for(int i = 0 ;i<device.cfgdatas.size();i++) {
            ConfigData data = device.cfgdatas.get(i);
            //System.out.println(device.dev_id+"=="+data.data_value);
            if(data.checkCanUpdate(data, data.update_en)) {
                //¼ì²éÊÇ·ñÐèÒª¸üе±Ç°×´Ì¬
                sql_str += ",state"+(i+1)+"='"+data.value+"'";
            }
        }
        sql_str += " WHERE dev_id = '"+ device.dev_id +"' And data_type = " + ChildStoodParse_Thread.State_DataType;
        
        
        //System.out.println("¸üÐÂÉ豸ʱ¼ä");
        //¸üÐÂ״̬ʱ¼ä
        Dev_UDPServer_Thread_SQL.updateDeviceDate(conn_pool, device);
        Sql_Mysql sql = new Sql_Mysql(conn_pool.getConn());
        try {
            //System.out.println(sql_str);
            sql.sqlMysqlExecute(sql_str);
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            sql.close_con();
        }
    }
    
    /**
     *     ²åÈëÀúʷʵʱÊý¾Ý
     */
    public static void insertDeviceHistoryData(MysqlConnPool conn_pool,Device_inf device) {
        Date now = new Date();
        String sql_str = "INSERT INTO "+Sql_Mysql.Tb_DevData_historyTable+Com.getDateTimeFormat(now, Com.DTF_Y_M_D)+"_" + device.dev_id + "(dev_id,data_type,param_count,record_time ";
        String sql_str_end = " values("+device.dev_id+","+ChildStoodParse_Thread.State_DataType+"," + device.data_count+",'"+Com.getDateTimeFormat(now, Com.DTF_YMDhms)+"'";
        for(int i=0;i<device.cfgdatas.size();i++) {
            sql_str += ",state"+(i+1);
            sql_str_end += ","+device.cfgdatas.get(i).value;
        }
        sql_str = sql_str + ") " + sql_str_end + ");";
        Sql_Mysql sql = new Sql_Mysql(conn_pool.getConn());
        try {
            //System.out.println(sql_str);
            sql.sqlMysqlExecute(sql_str);
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            sql.close_con();
        }
    }
    
    /**
     *     ²åÈëÀúʷʵʱÊý¾Ý,¸ù¾ÝÊý¾Ý֡ʱ¼ä´æ´¢
     */
    public static void insertDeviceHistoryData(MysqlConnPool conn_pool,Device_inf device,Date time) {
        Date now = new Date();
        String sql_str = "INSERT INTO "+Sql_Mysql.Tb_DevData_historyTable+Com.getDateTimeFormat(time, Com.DTF_Y_M_D)+"_" + device.dev_id + "(dev_id,data_type,param_count,record_time ";
        String sql_str_end = " values("+device.dev_id+","+ChildStoodParse_Thread.State_DataType+"," + device.data_count+",'"+Com.getDateTimeFormat(now, Com.DTF_YMDhms)+"'";
        for(int i=0;i<device.cfgdatas.size();i++) {
            sql_str += ",state"+(i+1);
            sql_str_end += ","+device.cfgdatas.get(i).value;
        }
        sql_str = sql_str + ") " + sql_str_end + ");";
        Sql_Mysql sql = new Sql_Mysql(conn_pool.getConn());
        try {
            //System.out.println(sql_str);
            sql.sqlMysqlExecute(sql_str);
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            sql.close_con();
        }
    }
}