DELL
2024-10-24 4fe3fff3b52219cb5ec7a3aa906b07cc6f96dedc
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
package com.power.alarm;
 
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.UUID;
 
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
 
import com.base.AppConfig;
import com.base.Com;
import com.power.data.PowerData_RT;
import com.power.data.PowerData_RT_Array;
import com.power.data.PowerDev_acData;
import com.power.data.PowerDev_dcData;
import com.power.mysql.MysqlConnPool;
import com.power.mysql.Sql_Mysql;
import com.power.spcomm.SPCommModule;
import com.power.spcomm.SocketClientComm_Thread;
 
public class PwrDeviceAlarm_Thread extends Thread {
 
    
    private PowerData_RT_Array m_AL_Data;
    private MysqlConnPool m_Conn_Pool;
    @SuppressWarnings("unused")
    private AppConfig m_AppCfg = null;
    
    private Alarm_Param mAlarm_Param = null;
    
    private Logger logger = null;
    
    private Date AlarmThreadStartTime = null;
    
    public PwrDeviceAlarm_Thread(AppConfig cfg, MysqlConnPool pool, PowerData_RT_Array data) {
        logger = LogManager.getLogger(this.getClass());
        
        m_Conn_Pool = pool;
        m_AL_Data = data;
        m_AppCfg = cfg;        
    }
    
    private void InsertPwrDevAlarmToTable(long record_id_t, int dev_id, int alm_type_id, int alm_level, int alm_src, int alm_index, float alm_value, Sql_Mysql sql) throws SQLException {
            
        //Sql_Mysql sql = new Sql_Mysql(m_Conn_Pool.getConn());
        
        //try {
            sql.sqlMysqlUseDB(Sql_Mysql.DB_PWRDEV_ALARM);
            
            if(true == sql.sqlMysqlCheckIfTableExist(Sql_Mysql.TB_PWRDEV_ALARM)) {
                String sql_str = "INSERT INTO " + Sql_Mysql.TB_PWRDEV_ALARM + " "
                        + "(record_id,"
                        + "PowerDeviceId, "
                        + "alm_type, "
                        + "alm_level, "
                        + "alm_source, "
                        + "alm_index, "
                        + "alm_start_time, "
                        + "alm_end_time, "
                        + "alm_value,"
                        + "alm_is_confirmed, "
                        + "alm_confirmed_time, "
                        + "alm_cleared_type,"
                        + "alm_severity) "
                
                        + " VALUES "
                        + "(" 
                        + record_id_t + ", "
                        + dev_id + ", "
                        + alm_type_id + ", "
                        + alm_level + ", "
                        + alm_src + ", "
                        + alm_index + ", "
                        + "'" + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms) + "', " 
                        + "'" + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms) + "', "
                        + alm_value +", "
                        + false + ", "
                        + "'" + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms) + "', " 
                        + PwrDeviceAlarm_Data.ALM_CLEARED_TYPE_NULL + " ,"
                        + ((alm_level == Alarm_Param.Alm_Level_Emergency)?1:0) + " "
                        + ")";
                
                sql.sqlMysqlExecute(sql_str);
            }
                
        //} catch (SQLException e) {
            //logger.error(e.toString(), e);
        //} finally {
            //sql.close_con();
        //}
    }
    
    private void ChangeRT_AlarmToHistoryAlarm(int dev_id, int alm_type_id, int alm_src,int alm_index, Sql_Mysql sql) throws SQLException {
        
        ArrayList<String> sql_strs = new ArrayList<String>();
        //Sql_Mysql sql = new Sql_Mysql(m_Conn_Pool.getConn());
        
        
        //try {
            sql.sqlMysqlUseDB(Sql_Mysql.DB_PWRDEV_ALARM);
            
            //ÔÚʵʱ¸æ¾¯±íÖеĵ±Ç°É豸µÄ¸æ¾¯¼Ç¼¸Ä³ÉÀúÊ·¸æ¾¯¼Ç¼,²¢ÇҼǼµ±Ç°µÄʱ¼ä
            String sql_str1 =  "UPDATE " + Sql_Mysql.TB_PWRDEV_ALARM
                    + " SET "
                    + " alm_end_time='" + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms) + "', "
                    + " alm_cleared_type=" + PwrDeviceAlarm_Data.ALM_CLEARED_TYPE_AUTO 
                + " WHERE PowerDeviceId=" + dev_id + " AND alm_type= " + alm_type_id /* + " AND alm_source = "+alm_src */ + " AND alm_index = "+alm_index;
            
            //½«µ±Ç°É豸ʵʱ¸æ¾¯±íÖеÄÀúÊ·¸æ¾¯¼Ç¼²åÈëµ½É豸ÀúÊ·¸æ¾¯±íÖÐ
            String sql_str2 = " INSERT INTO " + Sql_Mysql.TB_PWRDEV_ALARM_HISTORY+"(record_id,PowerDeviceId,alm_type,alm_level,alm_source,alm_index,alm_start_time,alm_end_time,alm_value,alm_is_confirmed,alm_confirmed_time,alm_cleared_type)  (SELECT record_id,PowerDeviceId,alm_type,alm_level,alm_source,alm_index,alm_start_time,alm_end_time,alm_value,alm_is_confirmed,alm_confirmed_time,alm_cleared_type from "+Sql_Mysql.TB_PWRDEV_ALARM+" WHERE PowerDeviceId="+dev_id+" AND alm_cleared_type!="+PwrDeviceAlarm_Data.ALM_CLEARED_TYPE_NULL+ " AND alm_type= "+ alm_type_id+ " AND alm_source = "+alm_src  + " AND alm_index = "+alm_index+")";
            
            //½«ÊµÊ±¸æ¾¯±íÖеķÇʵʱ¸æ¾¯É¾³ý
        String sql_str3 = " DELETE FROM " + Sql_Mysql.TB_PWRDEV_ALARM + " WHERE PowerDeviceId = " + dev_id
                + " AND alm_cleared_type != " + PwrDeviceAlarm_Data.ALM_CLEARED_TYPE_NULL + " AND alm_type= " + alm_type_id /* +" AND alm_source = "+alm_src */ + " AND alm_index = "+alm_index;
 
            sql_strs.add(sql_str1);
            sql_strs.add(sql_str2);
            sql_strs.add(sql_str3);
            sql.makeManualCommit(sql_strs);
            
        //} catch (SQLException e) {
            //logger.error(e.toString(), e);
        //} finally {
            //sql.close_con();
        //}
        
    }
    
    public PwrDeviceAlarm_Data JudgeAlarmIfExists(int dev_id,int alm_type_id,int alm_src,int alm_index, Sql_Mysql sql) throws SQLException {
        
        //Sql_Mysql sql = new Sql_Mysql(m_Conn_Pool.getConn());
        
        PwrDeviceAlarm_Data adata = null;
        
        //try {
            sql.sqlMysqlUseDB(Sql_Mysql.DB_PWRDEV_ALARM);
            String sql_str = " SELECT PowerDeviceId,record_id,alm_level,alm_cleared_type,alm_start_time "
                        + " FROM " + Sql_Mysql.TB_PWRDEV_ALARM
                + " WHERE PowerDeviceId= " + dev_id + " AND alm_type = "
                + alm_type_id /* +" AND alm_source = "+alm_src */ + " AND alm_index = "+alm_index
                        + " ORDER BY alm_start_time DESC ";
 
            ResultSet rs = sql.sqlMysqlQuery(sql_str);
            if(rs.next()) {
                adata = new PwrDeviceAlarm_Data();
                
                adata.setPwrDev_id(rs.getInt("PowerDeviceId"));
                adata.setRecId(rs.getLong("record_id"));
                adata.setAlm_level(rs.getInt("alm_level"));
                adata.setAlm_cleared_type(rs.getInt("alm_cleared_type"));
            }
            
        //} catch (SQLException e) {
            //logger.error(e.toString(), e);
        //} finally {
            //sql.close_con();
        //}
        
        return adata;    
    }
    
    private void makeAlarmWork(int dev_id,int alm_type_id,boolean alm_stt,float alm_val,int alm_src,int alm_index,Sql_Mysql sql) throws SQLException {
        
        boolean alm_st = alm_stt;
        
        if(alm_src==PwrDeviceAlarm_Data.ALM_SOURCE_DETECT && mAlarm_Param.UserAlarm_EN==0) {
            alm_st = false;
        }
        
        PwrDeviceAlarm_Data adata = JudgeAlarmIfExists(dev_id, alm_type_id,alm_src,alm_index,sql);
        
        if((adata==null || adata.alm_cleared_type == 1) && (alm_st == true)) {
            long RecId = UUID.randomUUID().getLeastSignificantBits();
            if(0 == RecId) {
                RecId = UUID.randomUUID().getLeastSignificantBits();
            }
            
            InsertPwrDevAlarmToTable(RecId,dev_id,alm_type_id,mAlarm_Param.alarm_level,alm_src,alm_index,alm_val,sql);
            
        } else if((adata!=null) && (alm_st == false)) {
            ChangeRT_AlarmToHistoryAlarm(dev_id,alm_type_id,alm_src,alm_index,sql);
        }
    }
    
 
 
    
    private void makePowerDeviceAlarm(PowerData_RT rtpd) {
        //----------ЭתͨП澯-------------
        boolean commerr = false;
        if(rtpd.GetPwrDeviceCommErrState() == true) {
            int comErrTimeLong = (int)(((new Date().getTime()) - rtpd.commRecordTime.getTime())/1000);
                
            if(comErrTimeLong > PwrDeviceAlarm_Data.COMM_ERR_TIME_INTERVAL) {
                commerr = true;
            }
        }
        
        Sql_Mysql sql = new Sql_Mysql(m_Conn_Pool.getConn());
        
        try {
            //System.out.println("commerr:"+commerr + "ʱ¼ä£º"+Com.getDateTimeFormat(rtpd.commRecordTime, Com.DTF_YMDhms));
            //****** Í¨ÐŵçÔ´ ******
            mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_CPSS_CommErr_ID, sql);
            makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_CPSS_CommErr_ID,commerr,PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
            
            if(commerr) {
                //logger.info("Comm Err,Alarm suspend... ");
                
                return;
            }
            
            //****** ACDC ******
            make_ACDC_AlarmWork(rtpd,sql);
            
            try {
                sleep(50);
            } catch (InterruptedException e) {
                logger.error(e.toString(), e);
            }
            
            //****** AC ******
            make_AC_AlarmWork(rtpd,sql);
            
            try {
                sleep(50);
            } catch (InterruptedException e) {
                logger.error(e.toString(), e);
            }            
            
            //****** DC ******
            make_DC_AlarmWork(rtpd,sql);
            
            try {
                sleep(50);
            } catch (InterruptedException e) {
                logger.error(e.toString(), e);
            }        
            
            //****** Alarm_Time_Adj *******
            make_AlarmTimeAdj_AlarmWork(sql);
            
            try {
                sleep(50);
            } catch (InterruptedException e) {
                logger.error(e.toString(), e);
            }
 
            
        } catch (SQLException e) {
            logger.error(e.toString(), e);
        } finally {
            sql.close_con();
        }        
    }
    
    public void run() {    
        
        int waittime = PwrDeviceAlarm_Data.COMM_ERR_TIME_INTERVAL+15;
        
        logger.info("PwrDeviceAlarm_Thread start After " + waittime + " Seconds...");
        
        Alarm_Config_SQL.initAlarm_Config_ToTable(m_Conn_Pool);
        
        /*
        for(int n=0;n<m_AL_Data.getItemCount();n++) {
            
            PowerData_RT rtpd = m_AL_Data.getItem(n);
            
            Alarm_Param_SQL.init_alarm_param_sql(rtpd.PowerDevDeviceId, m_Conn_Pool);
            
            try {
                sleep(50);
            } catch (InterruptedException e) {
                logger.error(e.toString(), e);
            }
        }
        */
        
        /*
        SPCommModule spalarm1 = new SPCommModule(m_Conn_Pool,Alarm_Config.ALARM_WAY_SMS);
        Thread spalarmThread1 = new Thread(spalarm1);
        SPCommModule spalarm2 = new SPCommModule(m_Conn_Pool,Alarm_Config.ALARM_WAY_BEEPER);
        Thread spalarmThread2 = new Thread(spalarm2);
        
        spalarmThread1.start();
        spalarmThread2.start();
        */
        
        /**
         *    Æµ±Õ¶ÌÐÅ·¢Ë͹¦ÄÜ
         */
        //(new SocketClientComm_Thread(m_Conn_Pool,Alarm_Config.ALARM_WAY_SMS)).start();
        /**
         *     Éù¹â±¨¾¯¹¦ÄÜ
         */
        //(new SocketClientComm_Thread(m_Conn_Pool,Alarm_Config.ALARM_WAY_BEEPER)).start();
        
        for(int i =0; i<waittime; i++) {
            try {
                sleep(1000);
            } catch (InterruptedException e) {
                logger.error(e.toString(), e);
            }
        }
        
        logger.info("PwrDeviceAlarm_Thread start!!! ");
        
        AlarmThreadStartTime = new Date();
        
        while(true){
            
            try {
                sleep(1000);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                logger.error(e.toString(), e);
            }
            
            for(int n=0;n<m_AL_Data.getItemCount();n++) {
                
                PowerData_RT rtpd = m_AL_Data.getItem(n);
                
                if(115 != (rtpd.PowerDevDeviceId/1000000)) {
                    //System.out.println(m_AL_Data.getItem(n).PowerDevDeviceId);
                    continue;
                }
                                
                Alarm_Param_SQL.init_alarm_param_sql(rtpd.PowerDevDeviceId, m_Conn_Pool);
                
                makePowerDeviceAlarm(rtpd);
                
            }
        }
    }
    
    private void make_AC_AlarmWork(PowerData_RT rtpd,Sql_Mysql sql) throws SQLException {
        //-----------------------------------------------------------------------------------------------------------
        //ÏÈÅжÏÓÐûÓÐÍ£µç£¬Í£µçÁ˾Ͳ»ÅжÏȱÏࡢǷѹ
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_PowerDown_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_PowerDown_ID,rtpd.m_acData.is_acIn1_powerdown,rtpd.m_acData.acIn1_volA,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        boolean ac1_powerdown = false;
        if(rtpd.m_acData.acIn1_volA<mAlarm_Param.alarm_limitL && rtpd.m_acData.acIn1_volB<mAlarm_Param.alarm_limitL && rtpd.m_acData.acIn1_volC<mAlarm_Param.alarm_limitL) {
            ac1_powerdown = true;
        }
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_PowerDown_ID,ac1_powerdown,rtpd.m_acData.acIn1_volA,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_PowerDown_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_PowerDown_ID,rtpd.m_acData.is_acIn2_powerdown,rtpd.m_acData.acIn2_volA,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        boolean ac2_powerdown = false;
        if(rtpd.m_acData.acIn2_volA<mAlarm_Param.alarm_limitL && rtpd.m_acData.acIn2_volB<mAlarm_Param.alarm_limitL && rtpd.m_acData.acIn2_volC<mAlarm_Param.alarm_limitL) {
            ac2_powerdown = true;
        }
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_PowerDown_ID,ac2_powerdown,rtpd.m_acData.acIn2_volA,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);                    
 
        //-----------------------------------------------------------------------------------------------------------
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_A_OverV_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_A_OverV_ID,rtpd.m_acData.is_acIn1_over_volA,rtpd.m_acData.acIn1_volA,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_A_OverV_ID,(rtpd.m_acData.acIn1_volA>mAlarm_Param.alarm_limitH),rtpd.m_acData.acIn1_volA,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_A_Less_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_A_Less_ID,rtpd.m_acData.is_acIn1_less_A,rtpd.m_acData.acIn1_volA,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        boolean err_detect = false;
        if(rtpd.m_acData.acIn1_volA<mAlarm_Param.alarm_limitL && false==ac1_powerdown) { //ÏÈÅжÏÊÇ·ñȱÏà
            err_detect = true;
        }
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_A_Less_ID,err_detect,rtpd.m_acData.acIn1_volA,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_A_UnderV_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_A_UnderV_ID,rtpd.m_acData.is_acIn1_under_volA,rtpd.m_acData.acIn1_volA,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        if(err_detect || ac1_powerdown) { //Èç¹ûȱÏà»òÍ£µç£¬¾Í²»ÅжÏΪǷѹ
            err_detect = false;
        }
        else {
            if(rtpd.m_acData.acIn1_volA<mAlarm_Param.alarm_limitL) {
                err_detect = true;
            }
            else {
                err_detect = false;
            }
        }
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_A_UnderV_ID,err_detect,rtpd.m_acData.acIn1_volA,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        //-----------------------------------------------------------------------------------------------------------
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_B_OverV_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_B_OverV_ID,rtpd.m_acData.is_acIn1_over_volB,rtpd.m_acData.acIn1_volB,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_B_OverV_ID,(rtpd.m_acData.acIn1_volB>mAlarm_Param.alarm_limitH),rtpd.m_acData.acIn1_volB,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_B_Less_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_B_Less_ID,rtpd.m_acData.is_acIn1_less_B,rtpd.m_acData.acIn1_volB,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        err_detect = false;
        if(rtpd.m_acData.acIn1_volB<mAlarm_Param.alarm_limitL && false==ac1_powerdown) { //ÏÈÅжÏÊÇ·ñȱÏà
            err_detect = true;
        }
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_B_Less_ID,err_detect,rtpd.m_acData.acIn1_volB,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_B_UnderV_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_B_UnderV_ID,rtpd.m_acData.is_acIn1_under_volB,rtpd.m_acData.acIn1_volB,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        if(err_detect || ac1_powerdown) { //Èç¹ûȱÏà»òÍ£µç£¬¾Í²»ÅжÏΪǷѹ
            err_detect = false;
        }
        else {
            if(rtpd.m_acData.acIn1_volB<mAlarm_Param.alarm_limitL) {
                err_detect = true;
            }
            else {
                err_detect = false;
            }
        }
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_B_UnderV_ID,err_detect,rtpd.m_acData.acIn1_volB,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        //-----------------------------------------------------------------------------------------------------------
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_C_OverV_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_C_OverV_ID,rtpd.m_acData.is_acIn1_over_volC,rtpd.m_acData.acIn1_volC,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_C_OverV_ID,(rtpd.m_acData.acIn1_volC>mAlarm_Param.alarm_limitH),rtpd.m_acData.acIn1_volB,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_C_Less_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_C_Less_ID,rtpd.m_acData.is_acIn1_less_C,rtpd.m_acData.acIn1_volC,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        err_detect = false;
        if(rtpd.m_acData.acIn1_volC<mAlarm_Param.alarm_limitL && false==ac1_powerdown) { //ÏÈÅжÏÊÇ·ñȱÏà
            err_detect = true;
        }
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_C_Less_ID,err_detect,rtpd.m_acData.acIn1_volC,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_C_UnderV_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_C_UnderV_ID,rtpd.m_acData.is_acIn1_under_volC,rtpd.m_acData.acIn1_volC,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        if(err_detect || ac1_powerdown) { //Èç¹ûȱÏà»òÍ£µç£¬¾Í²»ÅжÏΪǷѹ
            err_detect = false;
        }
        else {
            if(rtpd.m_acData.acIn1_volC<mAlarm_Param.alarm_limitL) {
                err_detect = true;
            }
            else {
                err_detect = false;
            }
        }
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_C_UnderV_ID,err_detect,rtpd.m_acData.acIn1_volC,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        //-----------------------------------------------------------------------------------------------------------
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_A_OverV_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_A_OverV_ID,rtpd.m_acData.is_acIn2_over_volA,rtpd.m_acData.acIn2_volA,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_A_OverV_ID,(rtpd.m_acData.acIn2_volA>mAlarm_Param.alarm_limitH),rtpd.m_acData.acIn2_volA,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_A_Less_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_A_Less_ID,rtpd.m_acData.is_acIn2_less_A,rtpd.m_acData.acIn2_volA,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        err_detect = false;
        if(rtpd.m_acData.acIn2_volA<mAlarm_Param.alarm_limitL && false==ac2_powerdown) { //ÏÈÅжÏÊÇ·ñȱÏà
            err_detect = true;
        }
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_A_Less_ID,err_detect,rtpd.m_acData.acIn2_volA,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_A_UnderV_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_A_UnderV_ID,rtpd.m_acData.is_acIn2_under_volA,rtpd.m_acData.acIn2_volA,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        if(err_detect || ac2_powerdown) { //Èç¹ûȱÏà»òÍ£µç£¬¾Í²»ÅжÏΪǷѹ
            err_detect = false;
        }
        else {
            if(rtpd.m_acData.acIn2_volA<mAlarm_Param.alarm_limitL) {
                err_detect = true;
            }
            else {
                err_detect = false;
            }
        }
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_A_UnderV_ID,err_detect,rtpd.m_acData.acIn2_volA,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        //-----------------------------------------------------------------------------------------------------------
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_B_OverV_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_B_OverV_ID,rtpd.m_acData.is_acIn2_over_volB,rtpd.m_acData.acIn2_volB,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_B_OverV_ID,(rtpd.m_acData.acIn2_volB>mAlarm_Param.alarm_limitH),rtpd.m_acData.acIn2_volB,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_B_Less_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_B_Less_ID,rtpd.m_acData.is_acIn2_less_B,rtpd.m_acData.acIn2_volB,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        err_detect = false;
        if(rtpd.m_acData.acIn2_volB<mAlarm_Param.alarm_limitL && false==ac2_powerdown) { //ÏÈÅжÏÊÇ·ñȱÏà
            err_detect = true;
        }
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_B_Less_ID,err_detect,rtpd.m_acData.acIn2_volB,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_B_UnderV_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_B_UnderV_ID,rtpd.m_acData.is_acIn2_under_volB,rtpd.m_acData.acIn2_volB,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        if(err_detect || ac2_powerdown) { //Èç¹ûȱÏà»òÍ£µç£¬¾Í²»ÅжÏΪǷѹ
            err_detect = false;
        }
        else {
            if(rtpd.m_acData.acIn2_volB<mAlarm_Param.alarm_limitL) {
                err_detect = true;
            }
            else {
                err_detect = false;
            }
        }
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_B_UnderV_ID,err_detect,rtpd.m_acData.acIn2_volB,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        //-----------------------------------------------------------------------------------------------------------
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_C_OverV_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_C_OverV_ID,rtpd.m_acData.is_acIn2_over_volC,rtpd.m_acData.acIn2_volC,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_C_OverV_ID,(rtpd.m_acData.acIn2_volC>mAlarm_Param.alarm_limitH),rtpd.m_acData.acIn2_volB,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_C_Less_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_C_Less_ID,rtpd.m_acData.is_acIn2_less_C,rtpd.m_acData.acIn2_volC,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        err_detect = false;
        if(rtpd.m_acData.acIn2_volC<mAlarm_Param.alarm_limitL && false==ac2_powerdown) { //ÏÈÅжÏÊÇ·ñȱÏà
            err_detect = true;
        }
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_C_Less_ID,err_detect,rtpd.m_acData.acIn2_volC,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_C_UnderV_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_C_UnderV_ID,rtpd.m_acData.is_acIn2_under_volC,rtpd.m_acData.acIn2_volC,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        if(err_detect || ac2_powerdown) { //Èç¹ûȱÏà»òÍ£µç£¬¾Í²»ÅжÏΪǷѹ
            err_detect = false;
        }
        else {
            if(rtpd.m_acData.acIn2_volC<mAlarm_Param.alarm_limitL) {
                err_detect = true;
            }
            else {
                err_detect = false;
            }
        }
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_C_UnderV_ID,err_detect,rtpd.m_acData.acIn2_volC,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
 
        //-----------------------------------------------------------------------------------------------------------
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_ThunderErr_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_ThunderErr_ID,rtpd.m_acData.is_acIn1_thunder_err,PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_ThunderErr_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_ThunderErr_ID,rtpd.m_acData.is_acIn2_thunder_err,PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
                
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_Trip_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_Trip_ID,rtpd.m_acData.is_acIn1_trip,PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_Trip_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_Trip_ID,rtpd.m_acData.is_acIn2_trip,PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
                
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_ThunderErr_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_ThunderErr_ID,rtpd.m_acData.is_acIn1_thunder_err,PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_ThunderErr_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_ThunderErr_ID,rtpd.m_acData.is_acIn2_thunder_err,PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
                
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_Trip_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_Trip_ID,rtpd.m_acData.is_acIn1_trip,PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_Trip_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_Trip_ID,rtpd.m_acData.is_acIn2_trip,PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
                
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_MonitorErr_ID, sql);        
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_MonitorErr_ID,rtpd.m_acData.is_ac_monitor_err,PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_MX1_SW_N_Trip_ID, sql);
        for(int n=0;n<PowerDev_acData.AC_SW_COUNT_AT_FSW;n++) {
            makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_MX1_SW_N_Trip_ID,rtpd.m_acData.is_fsw1_Trip_SW[n],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,(n+1),sql);    
        }
 
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_MX2_SW_N_Trip_ID, sql);
        for(int n=0;n<PowerDev_acData.AC_SW_COUNT_AT_FSW;n++) {
            makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_MX2_SW_N_Trip_ID,rtpd.m_acData.is_fsw2_Trip_SW[n],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,(n+1),sql);    
        }
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_TolalAlarm_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_TolalAlarm_ID,rtpd.m_acData.is_total_alarm,PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
                
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_TempAlarm_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_TempAlarm_ID,rtpd.m_acData.is_ac_tempAlarm,rtpd.m_acData.temprature,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_TempAlarm_ID,(rtpd.m_acData.temprature>mAlarm_Param.alarm_limitH),rtpd.m_acData.temprature,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        
    }
    
    private void make_ACDC_AlarmWork(PowerData_RT rtpd,Sql_Mysql sql) throws SQLException {
        
        //-----------------------------------------------------------------------------------------------------------
        //ÏÈÅжÏÓÐûÓÐÍ£µç£¬Í£µçÁ˾Ͳ»ÅжÏȱÏࡢǷѹ
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_PowerDown_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_PowerDown_ID,rtpd.m_acdcData.is_acIn1_powerdown,rtpd.m_acdcData.acIn1_volA,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        
        boolean ac1_powerdown = false;
        if(rtpd.m_acdcData.acIn1_volA<mAlarm_Param.alarm_limitL && rtpd.m_acdcData.acIn1_volB<mAlarm_Param.alarm_limitL && rtpd.m_acdcData.acIn1_volC<mAlarm_Param.alarm_limitL) {
            ac1_powerdown = true;
        }
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_PowerDown_ID,ac1_powerdown,rtpd.m_acdcData.acIn1_volA,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_PowerDown_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_PowerDown_ID,rtpd.m_acdcData.is_acIn2_powerdown,rtpd.m_acdcData.acIn2_volA,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        boolean ac2_powerdown = false;
        if(rtpd.m_acdcData.acIn2_volA<mAlarm_Param.alarm_limitL && rtpd.m_acdcData.acIn2_volB<mAlarm_Param.alarm_limitL && rtpd.m_acdcData.acIn2_volC<mAlarm_Param.alarm_limitL) {
            ac2_powerdown = true;
        }
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_PowerDown_ID,ac2_powerdown,rtpd.m_acdcData.acIn2_volA,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);                    
 
        //-----------------------------------------------------------------------------------------------------------
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_A_OverV_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_A_OverV_ID,rtpd.m_acdcData.is_acIn1_over_volA,rtpd.m_acdcData.acIn1_volA,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_A_OverV_ID,(rtpd.m_acdcData.acIn1_volA>mAlarm_Param.alarm_limitH),rtpd.m_acdcData.acIn1_volA,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_A_Less_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_A_Less_ID,rtpd.m_acdcData.is_acIn1_less_A,rtpd.m_acdcData.acIn1_volA,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        boolean err_detect = false;
        if(rtpd.m_acdcData.acIn1_volA<mAlarm_Param.alarm_limitL && false==ac1_powerdown) { //ÏÈÅжÏÊÇ·ñȱÏà
            err_detect = true;
        }
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_A_Less_ID,err_detect,rtpd.m_acdcData.acIn1_volA,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_A_UnderV_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_A_UnderV_ID,rtpd.m_acdcData.is_acIn1_under_volA,rtpd.m_acdcData.acIn1_volA,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        if(err_detect || ac1_powerdown) { //Èç¹ûȱÏà»òÍ£µç£¬¾Í²»ÅжÏΪǷѹ
            err_detect = false;
        }
        else {
            if(rtpd.m_acdcData.acIn1_volA<mAlarm_Param.alarm_limitL) {
                err_detect = true;
            }
            else {
                err_detect = false;
            }
        }
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_A_UnderV_ID,err_detect,rtpd.m_acdcData.acIn1_volA,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        //-----------------------------------------------------------------------------------------------------------
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_B_OverV_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_B_OverV_ID,rtpd.m_acdcData.is_acIn1_over_volB,rtpd.m_acdcData.acIn1_volB,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_B_OverV_ID,(rtpd.m_acdcData.acIn1_volB>mAlarm_Param.alarm_limitH),rtpd.m_acdcData.acIn1_volB,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_B_Less_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_B_Less_ID,rtpd.m_acdcData.is_acIn1_less_B,rtpd.m_acdcData.acIn1_volB,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        err_detect = false;
        if(rtpd.m_acdcData.acIn1_volB<mAlarm_Param.alarm_limitL && false==ac1_powerdown) { //ÏÈÅжÏÊÇ·ñȱÏà
            err_detect = true;
        }
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_B_Less_ID,err_detect,rtpd.m_acdcData.acIn1_volB,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_B_UnderV_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_B_UnderV_ID,rtpd.m_acdcData.is_acIn1_under_volB,rtpd.m_acdcData.acIn1_volB,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        if(err_detect || ac1_powerdown) { //Èç¹ûȱÏà»òÍ£µç£¬¾Í²»ÅжÏΪǷѹ
            err_detect = false;
        }
        else {
            if(rtpd.m_acdcData.acIn1_volB<mAlarm_Param.alarm_limitL) {
                err_detect = true;
            }
            else {
                err_detect = false;
            }
        }
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_B_UnderV_ID,err_detect,rtpd.m_acdcData.acIn1_volB,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        //-----------------------------------------------------------------------------------------------------------
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_C_OverV_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_C_OverV_ID,rtpd.m_acdcData.is_acIn1_over_volC,rtpd.m_acdcData.acIn1_volC,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_C_OverV_ID,(rtpd.m_acdcData.acIn1_volC>mAlarm_Param.alarm_limitH),rtpd.m_acdcData.acIn1_volB,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_C_Less_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_C_Less_ID,rtpd.m_acdcData.is_acIn1_less_C,rtpd.m_acdcData.acIn1_volC,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        err_detect = false;
        if(rtpd.m_acdcData.acIn1_volC<mAlarm_Param.alarm_limitL && false==ac1_powerdown) { //ÏÈÅжÏÊÇ·ñȱÏà
            err_detect = true;
        }
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_C_Less_ID,err_detect,rtpd.m_acdcData.acIn1_volC,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_C_UnderV_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_C_UnderV_ID,rtpd.m_acdcData.is_acIn1_under_volC,rtpd.m_acdcData.acIn1_volC,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        if(err_detect || ac1_powerdown) { //Èç¹ûȱÏà»òÍ£µç£¬¾Í²»ÅжÏΪǷѹ
            err_detect = false;
        }
        else {
            if(rtpd.m_acdcData.acIn1_volC<mAlarm_Param.alarm_limitL) {
                err_detect = true;
            }
            else {
                err_detect = false;
            }
        }
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_C_UnderV_ID,err_detect,rtpd.m_acdcData.acIn1_volC,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        //-----------------------------------------------------------------------------------------------------------
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_A_OverV_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_A_OverV_ID,rtpd.m_acdcData.is_acIn2_over_volA,rtpd.m_acdcData.acIn2_volA,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_A_OverV_ID,(rtpd.m_acdcData.acIn2_volA>mAlarm_Param.alarm_limitH),rtpd.m_acdcData.acIn2_volA,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_A_Less_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_A_Less_ID,rtpd.m_acdcData.is_acIn2_less_A,rtpd.m_acdcData.acIn2_volA,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        err_detect = false;
        if(rtpd.m_acdcData.acIn2_volA<mAlarm_Param.alarm_limitL && false==ac2_powerdown) { //ÏÈÅжÏÊÇ·ñȱÏà
            err_detect = true;
        }
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_A_Less_ID,err_detect,rtpd.m_acdcData.acIn2_volA,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_A_UnderV_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_A_UnderV_ID,rtpd.m_acdcData.is_acIn2_under_volA,rtpd.m_acdcData.acIn2_volA,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        if(err_detect || ac2_powerdown) { //Èç¹ûȱÏà»òÍ£µç£¬¾Í²»ÅжÏΪǷѹ
            err_detect = false;
        }
        else {
            if(rtpd.m_acdcData.acIn2_volA<mAlarm_Param.alarm_limitL) {
                err_detect = true;
            }
            else {
                err_detect = false;
            }
        }
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_A_UnderV_ID,err_detect,rtpd.m_acdcData.acIn2_volA,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        //-----------------------------------------------------------------------------------------------------------
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_B_OverV_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_B_OverV_ID,rtpd.m_acdcData.is_acIn2_over_volB,rtpd.m_acdcData.acIn2_volB,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_B_OverV_ID,(rtpd.m_acdcData.acIn2_volB>mAlarm_Param.alarm_limitH),rtpd.m_acdcData.acIn2_volB,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_B_Less_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_B_Less_ID,rtpd.m_acdcData.is_acIn2_less_B,rtpd.m_acdcData.acIn2_volB,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        err_detect = false;
        if(rtpd.m_acdcData.acIn2_volB<mAlarm_Param.alarm_limitL && false==ac2_powerdown) { //ÏÈÅжÏÊÇ·ñȱÏà
            err_detect = true;
        }
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_B_Less_ID,err_detect,rtpd.m_acdcData.acIn2_volB,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_B_UnderV_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_B_UnderV_ID,rtpd.m_acdcData.is_acIn2_under_volB,rtpd.m_acdcData.acIn2_volB,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        if(err_detect || ac2_powerdown) { //Èç¹ûȱÏà»òÍ£µç£¬¾Í²»ÅжÏΪǷѹ
            err_detect = false;
        }
        else {
            if(rtpd.m_acdcData.acIn2_volB<mAlarm_Param.alarm_limitL) {
                err_detect = true;
            }
            else {
                err_detect = false;
            }
        }
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_B_UnderV_ID,err_detect,rtpd.m_acdcData.acIn2_volB,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        //-----------------------------------------------------------------------------------------------------------
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_C_OverV_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_C_OverV_ID,rtpd.m_acdcData.is_acIn2_over_volC,rtpd.m_acdcData.acIn2_volC,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_C_OverV_ID,(rtpd.m_acdcData.acIn2_volC>mAlarm_Param.alarm_limitH),rtpd.m_acdcData.acIn2_volB,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_C_Less_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_C_Less_ID,rtpd.m_acdcData.is_acIn2_less_C,rtpd.m_acdcData.acIn2_volC,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        err_detect = false;
        if(rtpd.m_acdcData.acIn2_volC<mAlarm_Param.alarm_limitL && false==ac2_powerdown) { //ÏÈÅжÏÊÇ·ñȱÏà
            err_detect = true;
        }
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_C_Less_ID,err_detect,rtpd.m_acdcData.acIn2_volC,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_C_UnderV_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_C_UnderV_ID,rtpd.m_acdcData.is_acIn2_under_volC,rtpd.m_acdcData.acIn2_volC,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        if(err_detect || ac2_powerdown) { //Èç¹ûȱÏà»òÍ£µç£¬¾Í²»ÅжÏΪǷѹ
            err_detect = false;
        }
        else {
            if(rtpd.m_acdcData.acIn2_volC<mAlarm_Param.alarm_limitL) {
                err_detect = true;
            }
            else {
                err_detect = false;
            }
        }
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_C_UnderV_ID,err_detect,rtpd.m_acdcData.acIn2_volC,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
 
        //-----------------------------------------------------------------------------------------------------------
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_PWRDEV_CommErr_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_PWRDEV_CommErr_ID,rtpd.m_acdcData.is_comm_err,PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_ThunderErr_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_ThunderErr_ID,rtpd.m_acdcData.is_acIn1_thunder_err,PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_ThunderErr_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_ThunderErr_ID,rtpd.m_acdcData.is_acIn2_thunder_err,PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
                
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_Trip_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_Trip_ID,rtpd.m_acdcData.is_acIn1_trip,PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_Trip_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_Trip_ID,rtpd.m_acdcData.is_acIn2_trip,PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
                
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_MonitorErr_ID, sql);        
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_MonitorErr_ID,rtpd.m_acdcData.is_acIn_monitorerr,PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module1Close_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module1Close_ID,rtpd.m_acdcData.is_acdcMod_off[0],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module2Close_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module2Close_ID,rtpd.m_acdcData.is_acdcMod_off[1],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module3Close_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module3Close_ID,rtpd.m_acdcData.is_acdcMod_off[2],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module4Close_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module4Close_ID,rtpd.m_acdcData.is_acdcMod_off[3],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module5Close_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module5Close_ID,rtpd.m_acdcData.is_acdcMod_off[4],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module6Close_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module6Close_ID,rtpd.m_acdcData.is_acdcMod_off[5],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module7Close_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module7Close_ID,rtpd.m_acdcData.is_acdcMod_off[6],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module8Close_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module8Close_ID,rtpd.m_acdcData.is_acdcMod_off[7],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module9Close_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module9Close_ID,rtpd.m_acdcData.is_acdcMod_off[8],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module10Close_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module10Close_ID,rtpd.m_acdcData.is_acdcMod_off[9],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module11Close_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module11Close_ID,rtpd.m_acdcData.is_acdcMod_off[10],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module12Close_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module12Close_ID,rtpd.m_acdcData.is_acdcMod_off[11],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module13Close_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module13Close_ID,rtpd.m_acdcData.is_acdcMod_off[12],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module14Close_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module14Close_ID,rtpd.m_acdcData.is_acdcMod_off[13],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module15Close_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module15Close_ID,rtpd.m_acdcData.is_acdcMod_off[14],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module16Close_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module16Close_ID,rtpd.m_acdcData.is_acdcMod_off[15],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module1Err_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module1Err_ID,rtpd.m_acdcData.is_acdcMod_err[0],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module2Err_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module2Err_ID,rtpd.m_acdcData.is_acdcMod_err[1],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module3Err_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module3Err_ID,rtpd.m_acdcData.is_acdcMod_err[2],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module4Err_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module4Err_ID,rtpd.m_acdcData.is_acdcMod_err[3],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module5Err_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module5Err_ID,rtpd.m_acdcData.is_acdcMod_err[4],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module6Err_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module6Err_ID,rtpd.m_acdcData.is_acdcMod_err[5],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module7Err_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module7Err_ID,rtpd.m_acdcData.is_acdcMod_err[6],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module8Err_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module8Err_ID,rtpd.m_acdcData.is_acdcMod_err[7],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module9Err_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module9Err_ID,rtpd.m_acdcData.is_acdcMod_err[8],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module10Err_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module10Err_ID,rtpd.m_acdcData.is_acdcMod_err[9],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module11Err_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module11Err_ID,rtpd.m_acdcData.is_acdcMod_err[10],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module12Err_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module12Err_ID,rtpd.m_acdcData.is_acdcMod_err[11],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module13Err_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module13Err_ID,rtpd.m_acdcData.is_acdcMod_err[12],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module14Err_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module14Err_ID,rtpd.m_acdcData.is_acdcMod_err[13],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module15Err_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module15Err_ID,rtpd.m_acdcData.is_acdcMod_err[14],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module16Err_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Module16Err_ID,rtpd.m_acdcData.is_acdcMod_err[15],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_TolalAlarm_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_TolalAlarm_ID,rtpd.m_acdcData.is_total_alarm,PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_DCout_OverV_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_DCout_OverV_ID,rtpd.m_acdcData.is_dcOut_over_vol,rtpd.m_acdcData.dcOut_vol,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_DCout_OverV_ID,(rtpd.m_acdcData.dcOut_vol>mAlarm_Param.alarm_limitH),rtpd.m_acdcData.dcOut_vol,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_DCout_UnderV_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_DCout_UnderV_ID,rtpd.m_acdcData.is_dcOut_under_vol,rtpd.m_acdcData.dcOut_vol,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_DCout_UnderV_ID,(rtpd.m_acdcData.dcOut_vol<mAlarm_Param.alarm_limitL),rtpd.m_acdcData.dcOut_vol,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
 
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Batt1_Down_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_Batt1_Down_ID,rtpd.m_acdcData.is_battgroup1_down,rtpd.m_acdcData.battgroup1_vol,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_BattGrp1Fuse_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_BattGrp1Fuse_ID,rtpd.m_acdcData.is_battgroup1_fuse,rtpd.m_acdcData.battgroup1_vol,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);                
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_BattGrp2Fuse_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_BattGrp2Fuse_ID,rtpd.m_acdcData.is_battgroup2_fuse,rtpd.m_acdcData.battgroup2_vol,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
                    
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_LoaderFuse_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_LoaderFuse_ID,rtpd.m_acdcData.is_loader_fuse,PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
 
    }
    
    private void make_DC_AlarmWork(PowerData_RT rtpd,Sql_Mysql sql) throws SQLException {
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DCout1_OverV_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DCout1_OverV_ID,rtpd.m_dcData.is_dc1_over_vol,rtpd.m_dcData.dcOut1_vol,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DCout1_OverV_ID,(rtpd.m_dcData.dcOut1_vol>mAlarm_Param.alarm_limitH),rtpd.m_dcData.dcOut1_vol,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DCout1_UnderV_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DCout1_UnderV_ID,rtpd.m_dcData.is_dc1_under_vol,rtpd.m_dcData.dcOut1_vol,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DCout1_UnderV_ID,(rtpd.m_dcData.dcOut1_vol<mAlarm_Param.alarm_limitL),rtpd.m_dcData.dcOut1_vol,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DCout2_OverV_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DCout2_OverV_ID,rtpd.m_dcData.is_dc2_over_vol,rtpd.m_dcData.dcOut2_vol,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DCout2_OverV_ID,(rtpd.m_dcData.dcOut2_vol>mAlarm_Param.alarm_limitH),rtpd.m_dcData.dcOut2_vol,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DCout2_UnderV_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DCout2_UnderV_ID,rtpd.m_dcData.is_dc2_under_vol,rtpd.m_dcData.dcOut2_vol,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DCout2_UnderV_ID,(rtpd.m_dcData.dcOut2_vol<mAlarm_Param.alarm_limitL),rtpd.m_dcData.dcOut2_vol,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
                
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DcIn1_Trip_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DcIn1_Trip_ID,rtpd.m_dcData.is_in1_swtrip,PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DcIn2_Trip_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DcIn2_Trip_ID,rtpd.m_dcData.is_in2_swtrip,PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);    
                
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DC1_SW_N_Trip_ID, sql);
        for(int n=0;n<PowerDev_dcData.DC_SW_COUNT_AT_FSW;n++) {
            makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DC1_SW_N_Trip_ID,rtpd.m_dcData.is_fsw1_Trip_SW[n],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,(n+1),sql);    
        }
 
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DC2_SW_N_Trip_ID, sql);
        for(int n=0;n<PowerDev_dcData.DC_SW_COUNT_AT_FSW;n++) {
            makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DC2_SW_N_Trip_ID,rtpd.m_dcData.is_fsw2_Trip_SW[n],PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,(n+1),sql);    
        }        
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_TempAlarm_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_TempAlarm_ID,rtpd.m_dcData.is_tempalarm,rtpd.m_dcData.temprature,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
//        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_TempAlarm_ID,(rtpd.m_dcData.temprature>mAlarm_Param.alarm_limitH),rtpd.m_dcData.temprature,PwrDeviceAlarm_Data.ALM_SOURCE_DETECT,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_MonitorErr_ID, sql);        
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_MonitorErr_ID,rtpd.m_dcData.is_dc_monitorerr,PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
        
        mAlarm_Param = Alarm_Param_SQL.query_alarm_param(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_TolalAlarm_ID, sql);
        makeAlarmWork(rtpd.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_TolalAlarm_ID,rtpd.m_dcData.is_total_alarm,PwrDeviceAlarm_Data.DEFAULT_ALARM_VALUE,PwrDeviceAlarm_Data.ALM_SOURCE_READ,PwrDeviceAlarm_Data.DEFAULT_ALARM_INDEX,sql);
                
    }
    
    private void make_AlarmTimeAdj_AlarmWork(Sql_Mysql sql) throws SQLException {
        
        sql.sqlMysqlUseDB(Sql_Mysql.DB_PWRDEV_ALARM);
        String sql_str = " SELECT PowerDeviceId,alm_type,alm_start_time "
                    + " FROM " + Sql_Mysql.TB_PWRDEV_ALARM
                    + " WHERE alm_source = " + PwrDeviceAlarm_Data.ALM_SOURCE_DETECT
                    + " AND alm_type != " + PwrDeviceAlarm_Data.ALM_TYPE_ACDC_CPSS_CommErr_ID
                    //+ " AND alm_start_time>'"+Com.getDateTimeFormat(AlarmThreadStartTime, Com.DTF_YMDhms)+"'" 
                    + " ORDER BY alm_start_time DESC ";
 
        //logger.info(sql_str);
        ResultSet rs = sql.sqlMysqlQuery(sql_str);
        
        while(rs.next()) {
            
            int powerdevid = rs.getInt("PowerDeviceId");
            int almtypeid = rs.getInt("alm_type");
            Date alarmstarttimedetect = rs.getTimestamp("alm_start_time");
            
            
            String sql_str1 = " SELECT PowerDeviceId,alm_type,alm_start_time "
                    + " FROM " + Sql_Mysql.TB_PWRDEV_ALARM
                    + " WHERE alm_source=" + PwrDeviceAlarm_Data.ALM_SOURCE_READ + " AND alm_type=" + almtypeid + " AND PowerDeviceId=" + powerdevid 
                    + " ORDER BY alm_start_time DESC ";
            
            ResultSet rs1 = sql.sqlMysqlQuery(sql_str1);
            
            boolean timealarmexists = false;
            
            Date record_time = null;
            
            if(rs1.next()) { //²é±íÓÐÔ¶¶ËÒ£ÐÅÁ¿¸æ¾¯
                Date alarmstarttimeread = rs1.getTimestamp("alm_start_time");
                
                if((alarmstarttimeread.getTime()-alarmstarttimedetect.getTime())>(30*60*1000)) {
                    timealarmexists = true;
                    record_time = alarmstarttimeread;
                    
                    //logger.info("alarmstarttimeread : "+ Com.getDateTimeFormat(alarmstarttimeread, Com.DTF_YMDhms) + ", alarmstarttimedetect : " + Com.getDateTimeFormat(alarmstarttimedetect, Com.DTF_YMDhms));
                }
            }
            else { //ÎÞÔ¶¶ËÒ£ÐÅÁ¿¸æ¾¯
                Date nowtime = new Date();
                
                if((nowtime.getTime()-alarmstarttimedetect.getTime())>(30*60*1000)) {
                    timealarmexists = true;
                    record_time = nowtime;
                    
                    //logger.info("nowtime : "+ Com.getDateTimeFormat(nowtime, Com.DTF_YMDhms) + ", alarmstarttimedetect : " + Com.getDateTimeFormat(alarmstarttimedetect, Com.DTF_YMDhms));
                }
            }
            
            if(timealarmexists) {
                String sql_str2 = " SELECT PowerDeviceId,alarm_typeId "
                        + " FROM " + Sql_Mysql.PWRDEV_ALARM_TIMEADJ_TABLE
                        + " WHERE PowerDeviceId=" + powerdevid + " AND alarm_typeId=" + almtypeid 
                        + " ORDER BY detect_datetime DESC ";
                
                ResultSet rs2 = sql.sqlMysqlQuery(sql_str2);
                
                if(rs2.next()) {
                    
                }
                else {
                    String sql_str3 = "INSERT INTO " + Sql_Mysql.PWRDEV_ALARM_TIMEADJ_TABLE + " "
                            + " (PowerDeviceId,alarm_typeId,detect_datetime,record_datetime)" 
                            + " VALUES (" 
                            + powerdevid + ","
                            + almtypeid + ","
                            + "'" + Com.getDateTimeFormat(alarmstarttimedetect, Com.DTF_YMDhms) + "'" + ","
                            + "'" + Com.getDateTimeFormat(record_time, Com.DTF_YMDhms) + "'"
                            + ");";
                    
                    sql.sqlMysqlExecute(sql_str3);
                }
            }
        }        
    }
    
}