826220679@qq.com
2025-08-07 4d6cd980c5c69e4d9d150669c89734642297e0cd
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
124
125
126
127
128
129
130
131
132
133
134
135
package dell_Fence;
import databases.DBConnector;
 
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
 
// Î§À¸ÀàÐÍÊý¾Ý²Ù×÷Àà
public class Dell_FenceType {
    static List<FenceType> fenceTypes; 
    // »ñÈ¡ËùÓÐΧÀ¸ÀàÐÍÐÅÏ¢
    public static List<FenceType> getAllFenceTypes() throws SQLException {
        fenceTypes = new ArrayList<>();
        // ²éѯΧÀ¸ÀàÐͱíÊý¾Ý
        ResultSet rs = DBConnector.executeQuery("SELECT * FROM fence_type");
        
        while (rs.next()) {
            FenceType fenceType = new FenceType();
            // ÉèÖÃΧÀ¸ÀàÐÍÊôÐÔ
            fenceType.setId(rs.getString("id"));
            fenceType.setTypeName(rs.getString("type_name"));
            fenceType.setTypeEnglishName(rs.getString("type_englis_name")); // ×¢ÒâÁÐÃûƴд
            fenceType.setTypeRussianName(rs.getString("type_Russian_name")); // ×¢ÒâÁÐÃûƴд
            fenceType.setTypeCode(rs.getString("type_code"));
            fenceType.setAddTime(rs.getString("add_time"));
            
            fenceTypes.add(fenceType);
        }
        return fenceTypes;
    }
    
    // Ìí¼ÓÐÂΧÀ¸ÀàÐÍ
    public static void insertFenceType(FenceType fenceType) throws SQLException {
        String sql = "INSERT INTO fence_type ("
            + "type_name, type_englis_name, type_Russian_name, type_code, add_time"
            + ") VALUES ("
            + "?, ?, ?, ?, ?)";
        
        DBConnector.executeUpdate(sql,
            fenceType.getTypeName(),
            fenceType.getTypeEnglishName(),
            fenceType.getTypeRussianName(),
            fenceType.getTypeCode(),
            fenceType.getAddTime()
        );
    }
    
    // ¸üÐÂΧÀ¸ÀàÐÍÐÅÏ¢
    public static void updateFenceType(FenceType fenceType) throws SQLException {
        String sql = "UPDATE fence_type SET "
            + "type_name = ?, type_englis_name = ?, type_Russian_name = ?, type_code = ?, add_time = ? "
            + "WHERE id = ?";
        
        DBConnector.executeUpdate(sql,
            fenceType.getTypeName(),
            fenceType.getTypeEnglishName(),
            fenceType.getTypeRussianName(),
            fenceType.getTypeCode(),
            fenceType.getAddTime(),
            fenceType.getId()  // WHEREÌõ¼þ
        );
    }
    
    // É¾³ýΧÀ¸ÀàÐÍ
    public static void deleteFenceType(int typeId) throws SQLException {
        String sql = "DELETE FROM fence_type WHERE id = ?";
        DBConnector.executeUpdate(sql, typeId);
    }
    
    // +++ ÐÂÔö·½·¨: ¸ù¾ÝID»ñȡΧÀ¸ÀàÐÍ +++
    public static FenceType getFenceTypeById(int typeId) throws SQLException {
        String sql = "SELECT * FROM fence_type WHERE id = ?";
        try (ResultSet rs = DBConnector.executeQuery(sql, typeId)) {
            if (rs.next()) {
                FenceType fenceType = new FenceType();
                fenceType.setId(rs.getString("id"));
                fenceType.setTypeName(rs.getString("type_name"));
                fenceType.setTypeEnglishName(rs.getString("type_englis_name"));
                fenceType.setTypeRussianName(rs.getString("type_Russian_name"));
                fenceType.setTypeCode(rs.getString("type_code"));
                fenceType.setAddTime(rs.getString("add_time"));
                return fenceType;
            }
        }
        return null; // Î´ÕÒµ½·µ»Ønull
    }
    
    // ¼ì²éÀàÐÍÃû³ÆÊÇ·ñ´æÔÚ
    public static boolean isTypeNameExists(String typeName) throws SQLException {
        String sql = "SELECT COUNT(id) AS count FROM fence_type WHERE type_name = ?";
        try (ResultSet rs = DBConnector.executeQuery(sql, typeName)) {
            if (rs.next()) {
                return rs.getInt("count") > 0;
            }
        }
        return false;
    }
    
    // »ñÈ¡ËùÓÐΧÀ¸ÀàÐÍÃû³ÆµÄ×Ö·û´®Êý×é
    public static String[] getAllFenceTypeNames() throws SQLException {
        List<FenceType> fenceTypes = getAllFenceTypes();
        List<String> typeNames = new ArrayList<>();
        
        for (FenceType fenceType : fenceTypes) {
            typeNames.add(fenceType.getTypeName());
        }
        
        return typeNames.toArray(new String[0]);
    }
    
    // »ñÈ¡ËùÓÐΧÀ¸ÀàÐÍÓ¢ÎÄÃû³ÆµÄ×Ö·û´®Êý×é
    public static String[] getAllFenceTypeEnglishNames() throws SQLException {
        List<FenceType> fenceTypes = getAllFenceTypes();
        List<String> typeNames = new ArrayList<>();
        
        for (FenceType fenceType : fenceTypes) {
            typeNames.add(fenceType.getTypeEnglishName());
        }
        
        return typeNames.toArray(new String[0]);
    }
    
    // »ñÈ¡ËùÓÐΧÀ¸ÀàÐͶíÂÞ˹Ãû³ÆµÄ×Ö·û´®Êý×é
    public static String[] getAllFenceTypeRussianNames() throws SQLException {
        List<FenceType> fenceTypes = getAllFenceTypes();
        List<String> typeNames = new ArrayList<>();
        
        for (FenceType fenceType : fenceTypes) {
            typeNames.add(fenceType.getTypeRussianName());
        }
        
        return typeNames.toArray(new String[0]);
    }
}