| | |
| | | [ |
| | | { |
| | | "name":"线路一", |
| | | "name":"宝丰线路一", |
| | | "crossing_active":[ |
| | | { |
| | | "road":2, |
| | | "idx":0, |
| | | "active":2 |
| | | }, |
| | | { |
| | | "road":3, |
| | | "idx":1, |
| | | "active":1 |
| | | }, |
| | | { |
| | | "road":2, |
| | | "idx":1, |
| | | "road":4, |
| | | "idx":2, |
| | | "active":8 |
| | | }, |
| | | { |
| | | "road":5, |
| | | "idx":3, |
| | | "active":1 |
| | | }, |
| | | { |
| | | "road":6, |
| | | "idx":4, |
| | | "active":4 |
| | | } |
| | | ], |
| | | "trigger_line":[ |
| | | { |
| | | "x_y":[ |
| | | 333.365, |
| | | 696.3354 |
| | | 415833.6027, |
| | | 3747129.1491 |
| | | ], |
| | | "road":6, |
| | | "type":5 |
| | | }, |
| | | { |
| | | "x_y":[ |
| | | 415756.9158, |
| | | 3747276.4095 |
| | | ], |
| | | "road":2, |
| | | "type":3 |
| | | }, |
| | | { |
| | | "x_y":[ |
| | | 415440.6167, |
| | | 3747377.5759 |
| | | ], |
| | | "road":3, |
| | | "type":2 |
| | | }, |
| | | { |
| | | "x_y":[ |
| | | 333.365, |
| | | 696.3354 |
| | | 415104.431, |
| | | 3747470.8096 |
| | | ], |
| | | "road":4, |
| | | "type":1 |
| | | }, |
| | | { |
| | | "x_y":[ |
| | | 415535.7815, |
| | | 3747331.2173 |
| | | ], |
| | | "road":5, |
| | | "type":4 |
| | | }, |
| | | { |
| | | "x_y":[ |
| | | 333.365, |
| | | 696.3354 |
| | | 415365.1585, |
| | | 3747386.3017 |
| | | ], |
| | | "road":3, |
| | | "type":3 |
| | | }, |
| | | { |
| | | "x_y":[ |
| | | 333.365, |
| | | 696.3354 |
| | | ], |
| | | "road":6, |
| | | "type":1 |
| | | "road":4, |
| | | "type":6 |
| | | } |
| | | ] |
| | | } |
| | |
| | | OneTimeWorkRequest appStatusInitWork = OneTimeWorkRequest.from(AppStatusInitWork.class); |
| | | OneTimeWorkRequest examStatusInitWorker = OneTimeWorkRequest.from(ExamStatusInitWorker.class); |
| | | OneTimeWorkRequest signalConigInitWorker = OneTimeWorkRequest.from(SignalConfigInitWorker.class); |
| | | OneTimeWorkRequest routeInitWorker = OneTimeWorkRequest.from(RouteInitWorker.class); |
| | | |
| | | Log.i(TAG, "onCreate: 创建数据库后建立数据表插入数据"); |
| | | // WorkManager.getInstance(mContext).enqueue(oneTimeWorkRequest); |
| | | // WorkManager.getInstance(mContext).enqueue(oneTimeWorkRequest1); |
| | |
| | | //单路径执行,可以实现更加复杂的多路径执行方式 |
| | | WorkContinuation chain1= WorkManager.getInstance(mContext).beginWith(Arrays.asList(oneTimeWorkRequest,criteriaInitWorkRequest,lightAllQuestInitWorker)) |
| | | .then(lightAllAnswerInitWorker).then(oneTimeWorkRequest3); |
| | | WorkContinuation chain2 = WorkManager.getInstance(mContext).beginWith(Arrays.asList(RTKConfigWorkRequest,appStatusInitWork,signalConigInitWorker,routeInitWorker)) |
| | | WorkContinuation chain2 = WorkManager.getInstance(mContext).beginWith(Arrays.asList(RTKConfigWorkRequest,appStatusInitWork,signalConigInitWorker/*,routeInitWorker*/)) |
| | | .then(oneTimeWorkRequest2).then(examStatusInitWorker); |
| | | |
| | | WorkContinuation chain3 = WorkContinuation.combine(Arrays.asList(chain1,chain2)); |
| | |
| | | public void onOpen(@NonNull SupportSQLiteDatabase db) { |
| | | super.onOpen(db); |
| | | Log.i(TAG, "onOpen: "); |
| | | OneTimeWorkRequest routeInitWorker = OneTimeWorkRequest.from(RouteInitWorker.class); |
| | | WorkManager.getInstance(mContext).enqueue(routeInitWorker); |
| | | } |
| | | }) |
| | | .build(); |
| | |
| | | public interface RouteBeanDao { |
| | | @Query("SELECT * FROM RouteBean") |
| | | LiveData<List<RouteBean>> getAllRoutes(); |
| | | @Query("SELECT * FROM RouteBean order by id desc limit 0,1") |
| | | RouteBean getLastRoute(); |
| | | @Query("SELECT * FROM RouteBean where currentCollectFlag=1") |
| | | RouteBean getCurrRouteBean(); |
| | | @Query("SELECT routeName FROM RouteBean where id=:mId") |
| | |
| | | RouteBean routeBean = new RouteBean(); |
| | | routeBean.setRouteName(mstus.get(i).getName()); |
| | | WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getRouteBeanDao().insertRouteBean(routeBean); |
| | | RouteBean route = WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getRouteBeanDao().getLastRoute(); |
| | | RouteCollect routeCollect = mstus.get(i); |
| | | List<RouteCollect.CrossingActiveBean>crossingActiveBeans = routeCollect.getCrossing_active(); |
| | | List<RouteCollect.TriggerLineBean> triggerLineBeans = routeCollect.getTrigger_line(); |
| | | Log.i(TAG,String.format("triggerLineBeans.size=%d,crossingActiveBeans.size=%d",triggerLineBeans.size(),crossingActiveBeans.size())); |
| | | for (RouteCollect.TriggerLineBean bean:triggerLineBeans){ |
| | | RouteTriggerLine routeTriggerLine = new RouteTriggerLine(); |
| | | routeTriggerLine.setRoad(bean.getRoad()); |
| | | routeTriggerLine.setRouteline_id(i+1); |
| | | routeTriggerLine.setRouteline_id(route.getId()); |
| | | routeTriggerLine.setType(bean.getType()); |
| | | routeTriggerLine.setX(bean.getX_y().get(0)); |
| | | routeTriggerLine.setY(bean.getX_y().get(1)); |
| | | WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getRouteTriggerLineDao().insertTriggerLine(routeTriggerLine); |
| | | } |
| | | for (RouteCollect.CrossingActiveBean bean:crossingActiveBeans){ |
| | | RouteCross routeCross = new RouteCross(); |
| | | routeCross.setActive(bean.getActive()); |
| | | routeCross.setIdx(bean.getIdx()); |
| | | routeCross.setRoad(bean.getRoad()); |
| | | routeCross.setRouteline_id(i+1); |
| | | WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getRouteCrooDao().insertRouteCross(routeCross); |
| | | if (crossingActiveBeans != null && crossingActiveBeans.size()>0){ |
| | | for (RouteCollect.CrossingActiveBean bean:crossingActiveBeans){ |
| | | RouteCross routeCross = new RouteCross(); |
| | | routeCross.setActive(bean.getActive()); |
| | | routeCross.setIdx(bean.getIdx()); |
| | | routeCross.setRoad(bean.getRoad()); |
| | | routeCross.setRouteline_id(i+1); |
| | | WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getRouteCrooDao().insertRouteCross(routeCross); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | } catch (IOException e) { |
| | |
| | | private String yardMmpkPath=""; |
| | | public void setRoadMMPKPath(String roadMmpkPath) { |
| | | this.roadMmpkPath = roadMmpkPath; |
| | | SPUtils.put(app.getAppContext(),SPUtils.ROAD_MMPK,yardMmpkPath); |
| | | SPUtils.put(app.getAppContext(),SPUtils.ROAD_MMPK,roadMmpkPath); |
| | | } |
| | | |
| | | public String getRoadMmpkPath(){ |
| | |
| | | this.yardMmpkPath = yardMmpkPath; |
| | | SPUtils.put(app.getAppContext(),SPUtils.YARD_MMPK,yardMmpkPath); |
| | | } |
| | | private int enter_exit = -1; |
| | | /** |
| | | * 用一个viewmodel监听 场地 enter_status 如果变化==1,表示该项目进入开始考试 |
| | | * @param enter_status |
| | | */ |
| | | public void setYardItemBegin(int enter_status) { |
| | | this.enter_exit = enter_status; |
| | | } |
| | | |
| | | public int getYardEnterOrExit(){ |
| | | return enter_exit; |
| | | } |
| | | } |
| | |
| | | }else{ |
| | | if (ExamPlatformData.getInstance().getExamType()>ExamPlatformData.EXAM_TYPE_ChangKAO){ |
| | | url = ExamPlatformData.getInstance().getRoadMmpkPath(); |
| | | MyLog.i(TAG,"现在加载lu:"+url); |
| | | boolean isExist = FileUtil.isFileExist(url); |
| | | if (!isExist){ |
| | | Toast.makeText(_mActivity, "请在\"设置\"里选择道路离线地图包", Toast.LENGTH_SHORT).show(); |