@@ -20,5 +20,6 @@ public class GydatasyncApplication {
* 桂阳数据同步需求说明
* 1、将物联网系统中每天抄表数据插入到中间MISEMP数据库中的WaterData表中
* 2、需完善物联网系统中的营销户号,营销户号从客户提供的excel表格中导出,根据客户地址关联得到营销户号,营销户号保存到物联网系统数据库中的sc_device表中的water_meter_file_no字段中
+*
*/
@@ -24,8 +24,8 @@ public class ReadMeter {
@Autowired
private SaveMeterDataDao saveMeterDataDao;
- //间隔24小时 程序启动多次会插入多次,存在重复插入数据的可能,需判断数据已存在
- @Scheduled(fixedRate = 1000*60*60*24)
+ //定时任务 每天凌晨3点将前一天抄到数据的表同步
+ @Scheduled(cron = "0 0 3 * * ?")
public void configureTasks(){
try {
@@ -5,8 +5,6 @@ spring.datasource.first.password=100Zone@123
spring.datasource.first.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.first.type=com.alibaba.druid.pool.DruidDataSource
-spring.datasource.hikari.minimum-idle=1
-spring.datasource.hikari.maximum-pool-size=2
#数据源mssql Second
spring.datasource.second.url=jdbc:sqlserver://127.0.0.1:1433;DatabaseName=MISEMP
@@ -14,7 +14,7 @@
sc_meter_read_record a
left JOIN sc_device sd on a.device_id = sd.id
WHERE
- a.read_date = DATE_FORMAT( DATE_SUB( now(), INTERVAL 1 DAY ), '%Y%m%d' )
- AND a.device_id IN ( SELECT id FROM sc_device WHERE building_id IN ( 6675, 6676, 6677, 6678, 6679, 6680 ) AND STATUS = 1 )
+ a.read_date = DATE_FORMAT( DATE_SUB( now(), INTERVAL 1 DAY ), '%Y%m%d' ) AND a.read_data is not null
+ AND a.device_id IN ( SELECT id FROM sc_device WHERE customer_id = (SELECT id FROM sc_customer WHERE customer_name='桂阳自来水有限公司') AND STATUS = 1 )
</select>
</mapper>