lvzhikai 5 år sedan
förälder
incheckning
d7ff143db8

+ 4 - 11
pom.xml

@@ -135,17 +135,6 @@
135 135
 		</dependency>
136 136
 
137 137
         <!-- 定时需要的jar包 -->
138
-        <dependency>
139
-            <groupId>org.quartz-scheduler</groupId>
140
-            <artifactId>quartz</artifactId>
141
-            <version>2.2.1</version>
142
-            <exclusions>
143
-                <exclusion>
144
-                    <artifactId>slf4j-api</artifactId>
145
-                    <groupId>org.slf4j</groupId>
146
-                </exclusion>
147
-            </exclusions>
148
-        </dependency>
149 138
         <dependency><!-- 该依赖必加,里面有sping对schedule的支持 -->
150 139
             <groupId>org.springframework</groupId>
151 140
             <artifactId>spring-context-support</artifactId>
@@ -170,6 +159,10 @@
170 159
             <artifactId>druid</artifactId>
171 160
             <version>1.0.28</version>
172 161
         </dependency>
162
+        <dependency>
163
+            <groupId>org.quartz-scheduler</groupId>
164
+            <artifactId>quartz</artifactId>
165
+        </dependency>
173 166
     </dependencies>
174 167
 
175 168
     <dependencyManagement>

+ 1 - 1
src/main/java/com/chinaitop/depot/basic/mapper/MonitorCameraMapper.xml

@@ -595,7 +595,7 @@
595 595
 
596 596
   <select id="selectByGroupId" parameterType="java.lang.String" resultType="java.util.HashMap">
597 597
     SELECT
598
-      c.id,c.alias,c.ip,c.username,c.`password`,c.`port`,c.factory, c.type,c.org_id
598
+      c.id,c.alias,c.ip,c.username,c.password,c.port,c.factory, c.type,c.org_id
599 599
     FROM
600 600
       monitor_camera c
601 601
     LEFT JOIN monitor_gorup_camera gc ON gc.cameraid = c.id

+ 2 - 1
src/main/java/com/chinaitop/depot/config/ScheduleConfig.java

@@ -48,7 +48,8 @@ public class ScheduleConfig {
48 48
         //可选,QuartzScheduler 启动时更新己存在的Job,这样就不用每次修改targetObject后删除qrtz_job_details表对应记录了
49 49
         factory.setOverwriteExistingJobs(true);
50 50
         //设置自动启动,默认为true
51
-        factory.setAutoStartup(true);
51
+//        factory.setAutoStartup(true);
52
+        factory.setAutoStartup(false);
52 53
 
53 54
         return factory;
54 55
     }

+ 3 - 0
src/main/java/com/chinaitop/depot/monitor/mapper/DiagPlanMapper.xml

@@ -162,6 +162,9 @@
162 162
       )
163 163
   </insert>
164 164
   <insert id="insertSelective" parameterType="com.chinaitop.depot.monitor.model.DiagPlan">
165
+    <selectKey keyProperty="id" resultType="java.lang.Integer" order="BEFORE">
166
+      select seq_monitor_diag_plan.nextVal from dual
167
+    </selectKey>
165 168
     insert into monitor_diag_plan
166 169
     <trim prefix="(" suffix=")" suffixOverrides=",">
167 170
       <if test="id != null">

+ 5 - 2
src/main/java/com/chinaitop/depot/monitor/mapper/DiagResultMapper.xml

@@ -138,6 +138,9 @@
138 138
       )
139 139
   </insert>
140 140
   <insert id="insertSelective" parameterType="com.chinaitop.depot.monitor.model.DiagResult" >
141
+    <selectKey keyProperty="id" resultType="java.lang.Integer" order="BEFORE">
142
+      select seq_monitor_diag_result.nextVal from dual
143
+    </selectKey>
141 144
     insert into monitor_diag_result
142 145
     <trim prefix="(" suffix=")" suffixOverrides="," >
143 146
       <if test="id != null" >
@@ -536,8 +539,8 @@
536 539
         JOIN (
537 540
           select * from (
538 541
             SELECT
539
-              row_number() over(partition by to_date(dr.camera_id, 'yyyy-mm-dd')) rn,
540
-              MAX(to_date(dr.create_time, 'yyyy-mm-dd')) over() create_time,
542
+              ROW_NUMBER() OVER(PARTITION BY dr.camera_id ORDER BY dr.create_time DESC) rn,
543
+              dr.create_time,
541 544
               dr.camera_id
542 545
             FROM
543 546
              monitor_diag_result dr

+ 7 - 1
src/main/java/com/chinaitop/depot/monitor/mapper/GroupMapper.xml

@@ -109,6 +109,9 @@
109 109
       )
110 110
   </insert>
111 111
   <insert id="insertSelective" parameterType="com.chinaitop.depot.monitor.model.Group">
112
+    <selectKey keyProperty="id" resultType="java.lang.Integer" order="BEFORE">
113
+      select seq_monitor_group.nextVal from dual
114
+    </selectKey>
112 115
     insert into monitor_group
113 116
     <trim prefix="(" suffix=")" suffixOverrides=",">
114 117
       <if test="id != null">
@@ -207,7 +210,10 @@
207 210
   </delete>
208 211
 
209 212
   <insert id="insertGroupCamera" parameterType="java.util.HashMap">
210
-     INSERT INTO monitor_gorup_camera(groupid,cameraid) values (#{groupid,jdbcType=INTEGER}, #{cameraid,jdbcType=INTEGER})
213
+    <selectKey keyProperty="id" resultType="java.lang.Integer" order="BEFORE">
214
+      select seq_monitor_gorup_camera.nextVal from dual
215
+    </selectKey>
216
+     INSERT INTO monitor_gorup_camera(id,groupid,cameraid) values (#{id,jdbcType=INTEGER}, #{groupid,jdbcType=INTEGER}, #{cameraid,jdbcType=INTEGER})
211 217
   </insert>
212 218
 
213 219
   <delete id="deleteGroupCamera" parameterType="java.util.HashMap">

+ 2 - 2
src/main/java/com/chinaitop/depot/monitor/service/impl/MonitorZDService.java

@@ -159,7 +159,7 @@ public class MonitorZDService {
159 159
                 monitorCamera.getUsername(),
160 160
                 monitorCamera.getPassword(),
161 161
                 factory,
162
-                Integer.parseInt(monitorCamera.getType()),
162
+                Integer.parseInt(monitorCamera.getType()),//球机的话检测会转一圈,枪机不会
163 163
                 zdvalue,rootPath);
164 164
 
165 165
         if(ret == 0){//成功
@@ -218,7 +218,7 @@ public class MonitorZDService {
218 218
             }
219 219
             diagResultMapper.insertSelective(diagResult);
220 220
             //todo 短信发送
221
-            sendMsg(sms.toString(),camera.getAlias(),zdArr[15],camera.getId().toString());
221
+//            sendMsg(sms.toString(),camera.getAlias(),zdArr[15],camera.getId().toString());
222 222
         }
223 223
     }
224 224
 

+ 28 - 29
src/main/java/com/chinaitop/depot/monitor/service/impl/QualityDlagServiceImpl.java

@@ -8,7 +8,6 @@ import java.util.Map;
8 8
 import java.util.UUID;
9 9
 
10 10
 import com.chinaitop.depot.monitor.mapper.DiagPlanMapper;
11
-import org.apache.commons.lang.ObjectUtils;
12 11
 import org.quartz.CronScheduleBuilder;
13 12
 import org.quartz.CronTrigger;
14 13
 import org.quartz.Scheduler;
@@ -77,34 +76,34 @@ public class QualityDlagServiceImpl implements QualityDlagService {
77 76
     /**
78 77
 	 * 项目启动时,初始化定时器
79 78
 	 */
80
-	@PostConstruct
81
-	public void init() {
82
-		DiagPlanExample example = new DiagPlanExample();
83
-		List<DiagPlan> diagPlanList = diagPlanMapper.selectByExample(example);
84
-		for(DiagPlan list:diagPlanList) {
85
-			CronTrigger cronTrigger = MonitorUtils.getCronTrigger(scheduler, list.getQuartzid());
86
-			if(!ObjectUtils.toString(list.getQuartztime(),"").isEmpty()) {
87
-				//设置定时任务的时间触发规则
88
-				CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(list.getQuartztime());
89
-				CronTrigger cronTriggers = TriggerBuilder.newTrigger().withIdentity(list.getQuartzid(),quartzGroup) .withSchedule(scheduleBuilder).build();
90
-				MonitorJobEnty monitorJob = new MonitorJobEnty();
91
-				monitorJob.setId(list.getQuartzid());
92
-				monitorJob.setParams(list.getQuartzid());
93
-				monitorJob.setCronExpression(cronTriggers.getCronExpression());
94
-				monitorJob.setBeanName("MonitorJob");
95
-				monitorJob.setMethodName("run");
96
-				monitorJob.setCreateTime(new Date());
97
-				monitorJob.setStatus((byte)MonitorStatus.NORMAL.getValue());
98
-				monitorJob.setOrgId(list.getOrgId());
99
-				//如果不存在,则创建
100
-				if(cronTrigger == null) {
101
-					MonitorUtils.createMonitorJob(scheduler, monitorJob);
102
-				}else {
103
-					MonitorUtils.updateMonitorJob(scheduler, monitorJob);
104
-				}
105
-			}
106
-		}
107
-	}
79
+//	@PostConstruct
80
+//	public void init() {
81
+//		DiagPlanExample example = new DiagPlanExample();
82
+//		List<DiagPlan> diagPlanList = diagPlanMapper.selectByExample(example);
83
+//		for(DiagPlan list:diagPlanList) {
84
+//			CronTrigger cronTrigger = MonitorUtils.getCronTrigger(scheduler, list.getQuartzid());
85
+//			if(!ObjectUtils.toString(list.getQuartztime(),"").isEmpty()) {
86
+//				//设置定时任务的时间触发规则
87
+//				CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(list.getQuartztime());
88
+//				CronTrigger cronTriggers = TriggerBuilder.newTrigger().withIdentity(list.getQuartzid(),quartzGroup) .withSchedule(scheduleBuilder).build();
89
+//				MonitorJobEnty monitorJob = new MonitorJobEnty();
90
+//				monitorJob.setId(list.getQuartzid());
91
+//				monitorJob.setParams(list.getQuartzid());
92
+//				monitorJob.setCronExpression(cronTriggers.getCronExpression());
93
+//				monitorJob.setBeanName("MonitorJob");
94
+//				monitorJob.setMethodName("run");
95
+//				monitorJob.setCreateTime(new Date());
96
+//				monitorJob.setStatus((byte)MonitorStatus.NORMAL.getValue());
97
+//				monitorJob.setOrgId(list.getOrgId());
98
+//				//如果不存在,则创建
99
+//				if(cronTrigger == null) {
100
+//					MonitorUtils.createMonitorJob(scheduler, monitorJob);
101
+//				}else {
102
+//					MonitorUtils.updateMonitorJob(scheduler, monitorJob);
103
+//				}
104
+//			}
105
+//		}
106
+//	}
108 107
 
109 108
     /**
110 109
      * 诊断计划列表

+ 0 - 99
src/main/java/com/chinaitop/depot/monitor/service/quartzJob/QualityJob.java

@@ -1,99 +0,0 @@
1
-/*
2
-package com.chinaitop.depot.monitor.service.quartzJob;
3
-
4
-import com.chinaitop.depot.monitor.model.DiagPlan;
5
-import com.chinaitop.depot.monitor.service.impl.QualityDlagServiceImpl;
6
-import com.chinaitop.depot.monitor.util.MonitorZD;
7
-import com.chinaitop.utils.activiti.SpringContextHolder;
8
-import com.chinaitop.utils.quartz.service.DepotScheduler;
9
-import com.chinaitop.utils.quartz.service.NeedQuartz;
10
-import org.quartz.*;
11
-
12
-import java.util.HashMap;
13
-import java.util.List;
14
-import java.util.Map;
15
-
16
-*/
17
-/**
18
- * @auther mafy
19
- * @createtime 2017/10/22 0022
20
- *//*
21
-
22
-//注解为解决线程并发问题
23
-@DisallowConcurrentExecution
24
-@PersistJobDataAfterExecution
25
-public class QualityJob implements Job {
26
-
27
-    private QualityDlagServiceImpl qualityDlagService = SpringContextHolder.getBean(QualityDlagServiceImpl.class);//视频定时
28
-
29
-    private DepotScheduler myScheduler = SpringContextHolder.getBean(DepotScheduler.class);//定时器
30
-
31
-    //跑项目定时
32
-    @Override
33
-    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
34
-
35
-        // 获取 JobDataMap , 并从中取出参数
36
-        JobDataMap data = jobExecutionContext.getJobDetail().getJobDataMap();
37
-        String id = data.getString(DepotScheduler.QUARTZID);//获取定时器id(新增定时那边获取过来的),然后从数据库中查询对应的监测信息
38
-        String groupids = data.getString("groupids");//获取定时器分组数据
39
-        System.out.println("定时器-分组序号:"+groupids);
40
-
41
-        //获取DiagPlan对象
42
-        QualityDlagServiceImpl qualityDlagService = SpringContextHolder.getBean(QualityDlagServiceImpl.class);
43
-        DiagPlan diagPlan = qualityDlagService.getDlagPlanByQuartzId(id);
44
-
45
-        new Thread(new QuartyThread(diagPlan)).start();
46
-    }
47
-
48
-
49
-    */
50
-/**
51
-     * 查询数据库获取所有定时任务,切开启定时
52
-     * @param scheduler
53
-     * @throws SchedulerException
54
-     *//*
55
-
56
-    public void qualityScheduler(Scheduler scheduler) throws SchedulerException{
57
-        initDLL();//加载dll文件
58
-        //initQuartzForZd();//加载定时计划
59
-    }
60
-
61
-    //初始化dll文件
62
-    private void initDLL(){
63
-//        System.out.println(System.getProperty("java.library.path"));
64
-        try {
65
-            System.loadLibrary("MonitorZD");
66
-//            MonitorZD monitorZD = SpringContextHolder.getBean(MonitorZD.class);
67
-            MonitorZD monitorZD = MonitorZD.getMonitorZDObj();
68
-            monitorZD.InitHCSdk();
69
-            monitorZD.InitDHSdk();
70
-        } catch (Exception e) {
71
-            System.out.println("DLL文件加载失败,视频诊断模块不可使用");
72
-            //e.printStackTrace();
73
-        }
74
-    }
75
-
76
-    //查询定时计划
77
-    private void initQuartzForZd(){
78
-        qualityDlagService = SpringContextHolder.getBean(QualityDlagServiceImpl.class);
79
-        List<DiagPlan> diagPlanList = qualityDlagService.selectRepeatPlan();
80
-        //循环计划list,add到定时计划里
81
-        try {
82
-            for (int i = 0; i < diagPlanList.size(); i++) {
83
-                DiagPlan diagPlan = diagPlanList.get(i);
84
-                Map<String,Object> map = new HashMap<String,Object>();//定时器传参数用
85
-                map.put("groupids",diagPlan.getGroupId());
86
-                map.put(DepotScheduler.QUARTZID, NeedQuartz.QUALITY);
87
-                Thread.sleep(1000);
88
-                myScheduler.addJob(diagPlan.getQuartztime(),QualityDlagServiceImpl.getQuartzGroup(),diagPlan.getQuartzid(),Class.forName(QualityDlagServiceImpl.getQuartzClass()),map);
89
-                System.out.println("定时计划<"+diagPlan.getDetailtime()+">启动成功");
90
-            }
91
-        } catch (ClassNotFoundException e) {
92
-            e.printStackTrace();
93
-        } catch (InterruptedException e) {
94
-            e.printStackTrace();
95
-        }
96
-    }
97
-}
98
-
99
-*/

+ 3 - 2
src/main/java/com/chinaitop/depot/monitor/util/MonitorZDTest.java

@@ -67,8 +67,9 @@ public class MonitorZDTest {
67 67
         //dm.sayHello();
68 68
         //int err=dm.Start("172.16.10.150", 7000, "admin", "12345", 1,1,zdvalue,path);
69 69
 //        int err=dm.Start("192.168.60.150", 8000, "admin", "admin12345", 1,2,zdvalue,path);
70
-        int err=dm.Start("10.100.1.150", 8000, "admin", "admin12345",1,1,zdvalue,path);
71
-//        int err=dm.Start("192.168.1.1", 8000, "admin", "12345", 1,2,zdvalue,path);
70
+//        int err=dm.Start("10.20.106.134", 8000, "admin", "a12345678",1,1,zdvalue,path);
71
+        int err=dm.Start("10.20.10.153", 8000, "admin", "ADMIN12345",1,2,zdvalue,path);
72
+//        int err=dm.Start("10.20.159.140", 37777, "admin", "admin123456", 2,2,zdvalue,path);
72 73
         if(0==err||"0".equals(err)){
73 74
             System.out.println("启动诊断成功");
74 75
         }else{

+ 0 - 10
src/main/java/com/chinaitop/depot/monitor/util/Upload.java

@@ -1,10 +0,0 @@
1
-package com.chinaitop.depot.monitor.util;
2
-
3
-/**
4
- * @auther mafy
5
- * @createtime 2017/10/26 0026
6
- */
7
-public class Upload {
8
-
9
-
10
-}

+ 1 - 0
src/main/resources/bootstrap.yml

@@ -66,6 +66,7 @@ sendMessage:
66 66
   com: COM4
67 67
   modem: modem.com4
68 68
 
69
+windows-path: E:/monitorzd/
69 70
 ---
70 71
 server:
71 72
   port: 9017

+ 0 - 16
src/test/java/com/chinaitop/depot/server/DepotServerApplicationTests.java

@@ -1,16 +0,0 @@
1
-package com.chinaitop.depot.server;
2
-
3
-import org.junit.Test;
4
-import org.junit.runner.RunWith;
5
-import org.springframework.boot.test.context.SpringBootTest;
6
-import org.springframework.test.context.junit4.SpringRunner;
7
-
8
-@RunWith(SpringRunner.class)
9
-@SpringBootTest
10
-public class DepotServerApplicationTests {
11
-
12
-	@Test
13
-	public void contextLoads() {
14
-	}
15
-
16
-}