| | |
| | | import android.database.Cursor;
|
| | | import android.database.SQLException;
|
| | | import android.database.sqlite.SQLiteDatabase;
|
| | | import android.drm.DrmStore;
|
| | | import android.util.Log;
|
| | | import android.webkit.JavascriptInterface;
|
| | | import android.webkit.WebView;
|
| | |
|
| | | import com.alarms.BattAlarmCheckThread;
|
| | | import com.concentrator.Concentrator_State;
|
| | | import com.fgkj.action.ServiceModel;
|
| | | import com.fgkj.dao.ActionUtil;
|
| | | import com.fgkj.dao.DBHelper;
|
| | | import com.fgkj.dto.Battinf;
|
| | | import com.fgkj.impl.BattinfImpl;
|
| | | import com.google.gson.Gson;
|
| | | import com.util.Com;
|
| | |
|
| | | import java.lang.reflect.Array;
|
| | | import java.util.ArrayList;
|
| | | import java.util.Date;
|
| | | import java.util.HashMap;
|
| | | import java.util.List;
|
| | |
|
| | | public class FBS9600S_DeviceService {
|
| | | public static final int MAXCONCENTRATORCOUNT = 2; //最多连接的汇集器数量
|
| | | public static final String JS_INTERFACE_NAME = "DeviceService"; //JS调用类名
|
| | | public final static String TAG = "FBS9600S_DeviceService";
|
| | |
|
| | | public static final int MAXCONCENTRATORCOUNT = 16; //最多连接的汇集器数量
|
| | | public static final String JS_INTERFACE_NAME = "DeviceService"; //JS调用类名
|
| | |
|
| | | public static List<BattDataThread> allBattDatt;
|
| | | public DBHelper dbHelper;
|
| | |
| | | List<Battinf> temps = initBattInfo(allBattDatt,list);
|
| | |
|
| | | insertBattinf(dbHelper,temps);
|
| | |
|
| | |
|
| | | //电池告警线程
|
| | | BattAlarmCheckThread battAlarmCheckThread = new BattAlarmCheckThread(dbHelper,allBattDatt);
|
| | | battAlarmCheckThread.start();
|
| | |
|
| | | }
|
| | |
|
| | | //读取系统状态
|
| | |
| | | int battindex = Integer.parseInt(index);
|
| | | ServiceModel model = new ServiceModel();
|
| | | if(battindex>0 && battindex <= MAXCONCENTRATORCOUNT){
|
| | | Concentrator_State state = allBattDatt.get(battindex-1).state;
|
| | | if(allBattDatt.get(battindex-1).isOutTime){
|
| | | state.isOutTime = 1;
|
| | | }else{
|
| | | state.isOutTime = 0;
|
| | | }
|
| | | model.code = 1;
|
| | | model.data = allBattDatt.get(battindex-1).state;
|
| | | model.data = state;
|
| | | }
|
| | | //Log.e(TAG, "readBattMonInfo: "+ActionUtil.getGson().toJson(model) );
|
| | | ActionUtil.SendCallDataToJS(JS_INTERFACE_NAME,"readBattMonInfo",model,webView, ActionUtil.getGson());
|
| | | }
|
| | |
|
| | |
| | | public void startBattResTest(String index){
|
| | | int battindex = Integer.parseInt(index);
|
| | | if(battindex>0 && battindex <= MAXCONCENTRATORCOUNT){
|
| | | allBattDatt.get(battindex-1).startBattResTest("startBattResTest");
|
| | | allBattDatt.get(battindex-1).startBattResTest(JS_INTERFACE_NAME+"startBattResTest");
|
| | | }
|
| | | }
|
| | |
|
| | | //启动内阻测试
|
| | | //停止内阻测试
|
| | | @JavascriptInterface
|
| | | public void stopBattResTest(String index){
|
| | | int battindex = Integer.parseInt(index);
|
| | | if(battindex>0 && battindex <= MAXCONCENTRATORCOUNT){
|
| | | allBattDatt.get(battindex-1).stopBattResTest("stopBattResTest");
|
| | | allBattDatt.get(battindex-1).stopBattResTest(JS_INTERFACE_NAME+"stopBattResTest");
|
| | | }
|
| | | }
|
| | |
|
| | | //启动内阻测试
|
| | | //重启系统
|
| | | @JavascriptInterface
|
| | | public void reStartSystem(String index){
|
| | | int battindex = Integer.parseInt(index);
|
| | | if(battindex>0 && battindex <= MAXCONCENTRATORCOUNT){
|
| | | allBattDatt.get(battindex-1).reStartSystem("reStartSystem");
|
| | | allBattDatt.get(battindex-1).reStartSystem(JS_INTERFACE_NAME+"reStartSystem");
|
| | | }
|
| | | }
|
| | |
|
| | | //读取电池组充电个数
|
| | | @JavascriptInterface
|
| | | public void readBattCharCount(){
|
| | | int count = 0;
|
| | | for(int i=0;i<allBattDatt.size();i++){
|
| | | if(allBattDatt.get(i).state.battstate == Concentrator_State.WORKSTATE_CHARG){
|
| | | count ++;
|
| | | }
|
| | | }
|
| | | ServiceModel model = new ServiceModel();
|
| | | model.code = 1;
|
| | | model.data = count;
|
| | | ActionUtil.SendCallDataToJS(JS_INTERFACE_NAME,"readBattCharCount",model,webView, ActionUtil.getGson());
|
| | | }
|
| | |
|
| | | //读取电池组充电电池信息
|
| | | @JavascriptInterface
|
| | | public void readBattCharInfo(){
|
| | | List<HashMap> list = new ArrayList();
|
| | | for(int i=0;i<allBattDatt.size();i++){
|
| | | if(allBattDatt.get(i).state.battstate == Concentrator_State.WORKSTATE_CHARG && allBattDatt.get(i).isInstall){
|
| | | HashMap map = new HashMap();
|
| | | map.put("state",allBattDatt.get(i).state);
|
| | | map.put("battinf",allBattDatt.get(i).battinf);
|
| | | list.add(map);
|
| | | }
|
| | | }
|
| | | ServiceModel model = new ServiceModel();
|
| | | model.code = 1;
|
| | | model.data = list;
|
| | | //Log.e(TAG, "readBattCharInfo: "+model );
|
| | | ActionUtil.SendCallDataToJS(JS_INTERFACE_NAME,"readBattCharInfo",model,webView, ActionUtil.getGson());
|
| | | }
|
| | |
|
| | | //读取电池组放电个数
|
| | | @JavascriptInterface
|
| | | public void readBattDiscCount(){
|
| | | int count = 0;
|
| | | for(int i=0;i<allBattDatt.size();i++){
|
| | | if(allBattDatt.get(i).state.battstate == Concentrator_State.WORKSTATE_DISCH){
|
| | | count ++;
|
| | | }
|
| | | }
|
| | | ServiceModel model = new ServiceModel();
|
| | | model.code = 1;
|
| | | model.data = count;
|
| | | ActionUtil.SendCallDataToJS(JS_INTERFACE_NAME,"readBattDiscCount",model,webView, ActionUtil.getGson());
|
| | | }
|
| | |
|
| | | //读取电池组放电电池信息
|
| | | @JavascriptInterface
|
| | | public void readBattDiscInfo(){
|
| | | //Log.e(TAG, "readBattDiscInfo: ##############################"+allBattDatt.size());
|
| | | List<HashMap> list = new ArrayList();
|
| | | for(int i=0;i<allBattDatt.size();i++){
|
| | | if(allBattDatt.get(i).state.battstate == Concentrator_State.WORKSTATE_DISCH && allBattDatt.get(i).isInstall){
|
| | | HashMap map = new HashMap();
|
| | | map.put("state",allBattDatt.get(i).state);
|
| | | map.put("battinf",allBattDatt.get(i).battinf);
|
| | | list.add(map);
|
| | | }
|
| | | //Log.e(TAG, "readBattDiscInfo: "+allBattDatt.get(i).cloneRtData() );
|
| | | }
|
| | | ServiceModel model = new ServiceModel();
|
| | | model.code = 1;
|
| | | model.data = list;
|
| | | //Gson gson = ActionUtil.getGson(Com.DTF_YMD_h_m_s);
|
| | | //Log.e("#############", "readBattDiscInfo: "+gson.toJson(model));
|
| | | ActionUtil.SendCallDataToJS(JS_INTERFACE_NAME,"readBattDiscInfo",model,this.webView, ActionUtil.getGson());
|
| | | }
|
| | |
|
| | | /**
|
| | | * 匹配电池信息配置中的信息
|
| | |
| | | Battinf battinf = null;
|
| | | for(int k = 0;k<list.size();k++){
|
| | | if(list.get(k).getBattGroupId() == battData.battIndex){
|
| | | battinf = list.get(i);
|
| | | battinf = list.get(k);
|
| | | }
|
| | | }
|
| | | if(battinf != null){
|
| | |
| | | battData.isInstall = battinf.getStation_install() == 1; //是否是已安装
|
| | | battData.state.monCount = battinf.getMonCount(); //当前单体数目
|
| | | }else{
|
| | | Battinf temp = new Battinf();
|
| | | temp.setStation_install(battData.isInstall?1:0);
|
| | | temp.setBattGroupId(i+1);
|
| | | temp.setBattFloatCurrent(3);
|
| | | temp.setBattGroupName1("电池组");
|
| | | temp.setBattGroupName("电池组"+(i+1));
|
| | | temp.setBattInUseDate(new Date());
|
| | | temp.setBattProducer("");
|
| | | temp.setMonCapStd(100);
|
| | | temp.setMonCount(24);
|
| | | temp.setMonVolStd(2);
|
| | | temp.setMonResStd(0.2);
|
| | | temp.setMonSerStd(5000);
|
| | | temp.setMonTmpStd(24);
|
| | | battinfs.add(temp);
|
| | | battinf = new Battinf();
|
| | | battinf.setStation_install(battData.isInstall?1:0);
|
| | | battinf.setBattGroupId(i+1);
|
| | | battinf.setBattFloatCurrent(3);
|
| | | battinf.setBattGroupName1("电池组");
|
| | | battinf.setBattGroupName("电池组"+(i+1));
|
| | | battinf.setBattInUseDate(new Date());
|
| | | battinf.setBattProducer("");
|
| | | battinf.setMonCapStd(100);
|
| | | battinf.setMonCount(24);
|
| | | battinf.setMonVolStd(2);
|
| | | battinf.setMonResStd(0.2);
|
| | | battinf.setMonSerStd(5000);
|
| | | battinf.setMonTmpStd(24);
|
| | | battinfs.add(battinf);
|
| | | }
|
| | | battData.battinf = battinf;
|
| | | }
|
| | | return battinfs;
|
| | | }
|