88import java .util .ArrayList ;
99import java .util .Date ;
1010import java .util .HashMap ;
11- import java .util .HashSet ;
1211import java .util .List ;
1312import java .util .Map ;
1413
2019import org .iottree .core .msgnet .MNMsg ;
2120import org .iottree .core .msgnet .MNNodeMid ;
2221import org .iottree .core .msgnet .MNNodeRes ;
23- import org .iottree .core .msgnet .MNNodeStart ;
2422import org .iottree .core .msgnet .RTOut ;
2523import org .iottree .core .msgnet .modules .RelationalDB_Table ;
2624import org .iottree .core .store .gdb .DBResult ;
3634import org .iottree .core .util .IdCreator ;
3735import org .iottree .core .util .jt .JSONTemp ;
3836import org .iottree .core .util .xmldata .XmlVal ;
39- import org .json .JSONArray ;
4037import org .json .JSONObject ;
4138
4239/**
@@ -55,7 +52,7 @@ public class NM_TagRT2RDB extends MNNodeMid
5552 /**
5653 * when tag is delete,keepDeleted=true will keep old tag row,false will delete tag.
5754 */
58- private boolean keepDeleted = true ;
55+ // private boolean keepDeleted = true ;
5956
6057 @ Override
6158 public JSONTemp getInJT ()
@@ -344,75 +341,6 @@ private DataTable RT_getDataTable(StringBuilder failedr) throws Exception
344341 return dataTable ;
345342 }
346343
347- private boolean RT_recordAlertItem (ValAlert va ,String curval ,boolean b_triggered_or_release ,StringBuilder failedr ) //,int keep_days,boolean b_outer)
348- throws Exception
349- {
350- JavaTableInfo jti = getPrjTableInfo (failedr ) ;
351- if (jti ==null )
352- return false ;
353-
354- DBConnPool cp = this .RT_getConnPool (failedr ) ;
355- DataTable dt = this .RT_getDataTable (failedr ) ;
356- if (cp ==null ||dt ==null )
357- return false ;
358-
359- UAPrj prj = (UAPrj )this .getBelongTo ().getContainer () ;
360- String prjname = "" ;
361- if (prj !=null )
362- prjname = prj .getName () ;
363-
364- DataRow dr = dt .createNewRow () ;
365- //ValAlert va = ai.getValAlert() ;
366- //AlertHandler ah = ai.getHandler() ;
367- UATag tag = va .getBelongTo () ;
368- String row_id = va .RT_get_trigger_uid ();//.getId() ;
369- if (b_triggered_or_release )
370- {
371- dr .putValue ("AutoId" ,row_id ) ;
372- dr .putValue ("PrjName" , prjname );
373- dr .putValue ("Tag" , tag .getNodePathCxt ());
374- dr .putValue ("TriggerDT" , new Date (va .RT_last_trigger_dt ()));
375- //dr.putValue("Handler", this.getName());
376- dr .putValue ("AlertTP" , va .getAlertTitle ());
377- dr .putValue ("Value" ,curval );
378- dr .putValue ("Level" , va .getAlertLvl ());
379- dr .putValue ("Prompt" ,va .getAlertPrompt ());
380-
381- Connection conn =null ;
382- try
383- {
384- conn = cp .getConnection () ;
385- //System.out.println(" insert id=="+row_id) ;
386- dr .doInsertDB (conn , jti .getTableName (), COL_NAMES_INSERT ) ;
387-
388- // if(delOld(conn,jti.getTableName(),"TriggerDT",keep_days,outerLastDelDT))
389- // outerLastDelDT = System.currentTimeMillis() ;
390- }
391- finally
392- {
393- if (conn !=null )
394- cp .free (conn );
395- }
396- }
397- else // release
398- {
399- dr .putValue ("AutoId" ,row_id ) ;
400- dr .putValue ("ReleaseDT" , new Date (va .RT_last_released_dt ()));
401- Connection conn =null ;
402- try
403- {
404- conn = cp .getConnection () ;
405- dr .doUpdateDB (conn , jti .getTableName (), "AutoId" , new String [] {"ReleaseDT" });
406- }
407- finally
408- {
409- if (conn !=null )
410- cp .free (conn );
411- }
412- }
413- return true ;
414- }
415-
416344 //private long lastDelDT = -1 ;
417345
418346 @ SuppressWarnings ("unused" )
@@ -542,16 +470,7 @@ public static DataTable selectRecords(DBConnPool cp,String tablename,Date start_
542470 }
543471 }
544472
545- //do update only
546- private void RT_doSynUpdate ()
547- {
548- UAPrj prj = this .getBelongTo ().getBelongTo ().getBelongToPrj () ;
549- List <UATag > tags = prj .listTagsAll () ;
550- for (UATag tag :tags )
551- {
552-
553- }
554- }
473+
555474
556475 private List <TagRow > loadPrjRows (DBConnPool cp ) throws Exception
557476 {
@@ -561,39 +480,10 @@ private List<TagRow> loadPrjRows(DBConnPool cp) throws Exception
561480 JavaTableInfo jti = getPrjTableInfo (failedr ) ;
562481 if (jti ==null )
563482 return null ;
564- String sql = "select * from " +jti .getTableName ()+" where PrjName=?" ;
565- Connection conn = null ;
566- boolean b_autocommit = true ;
567- try
568- {
569- conn = cp .getConnection () ;
570- b_autocommit = conn .getAutoCommit () ;
571- ArrayList <TagRow > rets = new ArrayList <>() ;
572- try (PreparedStatement ps = conn .prepareStatement (sql ) ;)
573- {
574- ps .setString (1 , prjn );
575- try (ResultSet rs = ps .executeQuery ();)
576- {
577- DataTable dtb = DBResult .transResultSetToDataTable (rs ,jti .getTableName (),0 , -1 ) ;
578- for (DataRow dr :dtb .getRows ())
579- {
580- TagRow tr = DBResult .transDataRow2XORMObj (TagRow .class , dr );
581- rets .add (tr ) ;
582- }
583- }
584- }
585- return rets ;
586- }
587- finally
588- {
589- if (conn !=null )
590- {
591- conn .setAutoCommit (b_autocommit );
592- cp .free (conn );
593- }
594- }
483+ return loadPrjRows (cp ,jti .getTableName (),prjn ) ;
595484 }
596485
486+
597487 private boolean loadAndSynTable (StringBuilder failedr ) throws Exception
598488 {
599489 DBConnPool cp = RT_getConnPool (failedr ) ;
@@ -804,13 +694,15 @@ protected RTOut RT_onMsgIn(MNConn in_conn, MNMsg msg) throws Exception
804694 try
805695 {
806696 StringBuilder failedr = new StringBuilder () ;
697+ long st = System .currentTimeMillis () ;
807698 int resn = updateRtVal (failedr );
699+ long cost = System .currentTimeMillis ()-st ;
808700 if (resn <0 )
809701 {
810702 this .RT_DEBUG_WARN .fire ("RT_TagRT2RDB_UP_RT_VAL" ,failedr .toString (),null ,null );
811703 return RTOut .createOutIdx ().asIdxMsg (1 , new MNMsg ().asPayload (failedr .toString ())) ;
812704 }
813- this .RT_DEBUG_INF .fire ("RT_TagRT2RDB_UP_RT_VAL" , "update changed tags num=" +resn );
705+ this .RT_DEBUG_INF .fire ("RT_TagRT2RDB_UP_RT_VAL" , "update changed tags num=" +resn + " cost=" + cost + "ms" );
814706 return RTOut .createOutIdx ().asIdxMsg (0 , new MNMsg ().asPayload (resn )) ;
815707 }
816708 catch (Exception ee )
@@ -878,9 +770,9 @@ private TagRow createTagRow(String prjn,UATag tag)
878770 return ret ;
879771 }
880772
881- private static final String [] COL_NAMES_INSERT = new String [] {
882- "AutoId" ,"PrjName" ,"TagPath" ,"TagTitle" ,"ValTP" ,"Indicator" ,"StrVal" ,"Unit" ,"UpDT" ,"ChgDT" ,"Valid" ,"HasAlert" ,"AlertInf"
883- } ;
773+ // private static final String[] COL_NAMES_INSERT = new String[] {
774+ // "AutoId","PrjName","TagPath","TagTitle","ValTP","Indicator","StrVal","Unit","UpDT","ChgDT","Valid","HasAlert","AlertInf"
775+ // } ;
884776
885777 public JavaTableInfo getPrjTableInfo (StringBuilder failedr ) //throws Exception
886778 {
@@ -897,7 +789,7 @@ public JavaTableInfo getPrjTableInfo(StringBuilder failedr) //throws Exception
897789// if(connPool==null)
898790// return null ;
899791
900- UAPrj prj = (UAPrj )this .getBelongTo ().getContainer () ;
792+ // UAPrj prj = (UAPrj)this.getBelongTo().getContainer() ;
901793
902794 String tablename = tb .getTableName () ;
903795 if (Convert .isNullOrEmpty (tablename ))
@@ -1181,4 +1073,42 @@ public static PreparedStatement DEL_TAG_setPS(PreparedStatement ps,String autoid
11811073 return ps ;
11821074 }
11831075 }
1076+
1077+
1078+ public static List <TagRow > loadPrjRows (DBConnPool cp ,String tablen ,String prjn ) throws Exception
1079+ {
1080+
1081+ String sql = "select * from " +tablen +" where PrjName=?" ;
1082+ Connection conn = null ;
1083+ boolean b_autocommit = true ;
1084+ try
1085+ {
1086+ conn = cp .getConnection () ;
1087+ b_autocommit = conn .getAutoCommit () ;
1088+ ArrayList <TagRow > rets = new ArrayList <>() ;
1089+ try (PreparedStatement ps = conn .prepareStatement (sql ) ;)
1090+ {
1091+ ps .setString (1 , prjn );
1092+ try (ResultSet rs = ps .executeQuery ();)
1093+ {
1094+ DataTable dtb = DBResult .transResultSetToDataTable (rs ,tablen ,0 , -1 ) ;
1095+ for (DataRow dr :dtb .getRows ())
1096+ {
1097+ TagRow tr = DBResult .transDataRow2XORMObj (TagRow .class , dr );
1098+ rets .add (tr ) ;
1099+ }
1100+ }
1101+ }
1102+ return rets ;
1103+ }
1104+ finally
1105+ {
1106+ if (conn !=null )
1107+ {
1108+ conn .setAutoCommit (b_autocommit );
1109+ cp .free (conn );
1110+ }
1111+ }
1112+ }
1113+
11841114}
0 commit comments