فهرست منبع

定时计划修改

hym 4 سال پیش
والد
کامیت
aec5149fba

+ 1 - 1
meter-reading-sishui/read-sqlSever/src/main/java/com/zcxk/controller/DemoController.java

@@ -28,7 +28,7 @@ import java.util.*;
 
 @EnableScheduling
 @Service
-
+@RestController
 public class DemoController {
     @Autowired
     private SyncService syncService;

+ 5 - 2
meter-reading-sishui/read-sqlSever/src/main/java/com/zcxk/job/SyncMeterDataJob.java

@@ -6,6 +6,7 @@ import com.zcxk.dao.mysql.SendDao;
 import com.zcxk.dao.sqlserver.ReceiveDao;
 import com.zcxk.entity.*;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.quartz.Job;
 import org.quartz.JobDataMap;
 import org.quartz.JobExecutionContext;
@@ -26,6 +27,7 @@ import java.util.*;
 public class SyncMeterDataJob implements Job {
     @Autowired
     private SendDao sendDao;
+    @Autowired
     private ReceiveDao receiveDao;
     @Autowired
     private QuartzManager quartzManager;
@@ -50,6 +52,7 @@ public class SyncMeterDataJob implements Job {
             }
          finally{
              quartzManager.deleteJob(planId);
+             log.info("删除定时计划={}",planId);
          }
         }
 
@@ -61,7 +64,7 @@ public class SyncMeterDataJob implements Job {
         List<MeterReadRecord> meterReadRecords = getMeterReadRecord(uploadDate);
         meterReadRecords.forEach(meterReadRecord -> {
             MeterDataEntity meterDataEntity=new MeterDataEntity();
-            meterDataEntity.setReleationId(meterReadRecord.getDeviceNo());
+            meterDataEntity.setReleationId(StringUtils.upperCase(meterReadRecord.getDeviceNo()));
             meterDataEntity.setCurrentReading(Float.parseFloat(meterReadRecord.getReadData()));
             meterDataEntity.setCurrentReadDate(simpleDateFormat.format(meterReadRecord.getReadTime()));
             datas.add(meterDataEntity);
@@ -72,7 +75,7 @@ public class SyncMeterDataJob implements Job {
             uploadWaterMeterDataEntity.setTaskId(taskId);
             uploadWaterMeterDataEntity.setMeterData(datas);
             receiveDao.meterDataInsert(uploadWaterMeterDataEntity);
-            log.info("上传数据认为完毕 ,任务返回信息={},任务状态={}",
+            log.info("上传数据任务完毕 ,任务返回信息={},任务状态={}",
                     uploadWaterMeterDataEntity.getReturnMsg(),uploadWaterMeterDataEntity.getReturnCode());
         }
     }

+ 21 - 7
meter-reading-sishui/read-sqlSever/src/main/java/com/zcxk/service/SyncService.java

@@ -9,6 +9,7 @@ import com.zcxk.entity.Device;
 import com.zcxk.entity.DeviceType;
 import com.zcxk.entity.WaterMeterBaseEntity;
 import com.zcxk.job.SyncMeterDataJob;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -23,6 +24,7 @@ import java.util.*;
 
 @EnableScheduling
 @Service
+@Slf4j
 public class SyncService {
     @Autowired
     ReceiveDao receiveDao;
@@ -36,21 +38,24 @@ public class SyncService {
     Integer sysId;
     @Value("${buildingId}")
     Integer buildingId;
+    @Value("${model}")
+    String model;
     @Autowired
     private QuartzManager quartzManager;
 
-    @Scheduled(cron = "0/10 * * * * ?")
+    //@Scheduled(cron = "0 0 * * * ?")
     public void countPlanDevice(){
 
         WaterMeterBaseEntity waterMeterBaseEntity=new WaterMeterBaseEntity();
 
-
+        log.info("获取泗水水表列表");
         List<Map<String, Object>> meterInfor = receiveDao.getMeterInfor(waterMeterBaseEntity);
 
 
         List<Device>needAddWaterMeter=new ArrayList<>();
         setNeddWaterMeters(meterInfor,needAddWaterMeter);
         if(needAddWaterMeter.size()>0){
+            log.info("增加新增泗水水表");
             sendDao.insertDeviceInfo(needAddWaterMeter);
         }
 
@@ -75,16 +80,23 @@ public class SyncService {
             }
         });
     }
+
     private Device setDeviceInfo(SnowflakeIdWorker idWorker,String deviceNo,Map<String,DeviceType> mapDeviceType,
                                  Map<String, Object> map){
         Device device = new Device();
         device.setId(idWorker.nextId());
         device.setDeviceNo(StringUtils.lowerCase(deviceNo));
-        DeviceType deviceType = mapDeviceType.get(map.get("model"));
+        String deviceModel= (String) map.get("model");
+
+        DeviceType deviceType = mapDeviceType.get(deviceModel);
+        if(deviceType==null){
+            deviceType= mapDeviceType.get(model);
+        }
         if(deviceType!=null){
-            device.setDeviceType(deviceType.getDeviceType() );
+            device.setDeviceType(deviceType.getId() );
             device.setManufacturerId(deviceType.getManufacturerId());
         }
+
         device.setSysId(sysId);
         device.setSiteId(siteId);
         device.setBuildingId(buildingId);
@@ -104,9 +116,6 @@ public class SyncService {
         Map<String,Object>args=new HashMap<>();
         args.put("customerId",customerId);
         Set<String> hasDeviceNos = sendDao.selectDevice(args);
-        List<DeviceType> deviceTypes = sendDao.selectDeviceType();
-
-
         Set<String> allDeviceNos=new HashSet<>();
         meterInfor.forEach(map->{
             String deviceNo=(String) map.get("releationId");
@@ -115,13 +124,18 @@ public class SyncService {
         Sets.SetView<String> difference = Sets.difference(allDeviceNos, hasDeviceNos);
         return difference;
     }
+    //@Scheduled(cron = "* 0/30 * * * ?")
     public void uploadData(){
         Map<String,Object>args2=new HashMap<>();
         List<Map<String, Object>> uploadPlan = receiveDao.getUploadPlan(args2);
         uploadPlan.forEach(map->{
             String planId=(String) map.get("PlanId");
+            log.info("获取泗水上传计划");
             if(!quartzManager.checkExists(planId)){
+
                 quartzManager.addJob(planId, SyncMeterDataJob.class,setCron((Date) map.get("UploadTime")),map);
+                //quartzManager.addJob(planId, SyncMeterDataJob.class,"15 41 15 * * ?", map);
+                log.info("设置泗水上传计划定时任务");
             }
 
         });

+ 1 - 0
meter-reading-sishui/read-sqlSever/src/main/resources/application-dev.properties

@@ -20,3 +20,4 @@ customerId=-1
 siteId=-1
 sysId=-1
 buildingId=-1
+model=188\u534F\u8BAE\uFF08\u6709\u9600\uFF09