Ver código fonte

远程获取配种数等

523096025 4 anos atrás
pai
commit
e69c84e0ae

+ 47 - 33
huimv-hy-production/huimv.hy.autoGetData/src/main/java/com/huimv/production/autoGetData/config/SaticScheduleTask.java

@@ -7,8 +7,11 @@ import org.springframework.context.annotation.Configuration;
 import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.scheduling.annotation.SchedulingConfigurer;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 import java.time.LocalDateTime;
+import java.util.List;
 
 /**
  * @Project : huimv.shiwan
@@ -20,6 +23,7 @@ import java.time.LocalDateTime;
  **/
 @Configuration      //1.主要用于标记配置类,兼备Component的效果。
 @EnableScheduling   // 2.开启定时任务
+@RestController
 public class SaticScheduleTask  {
     @Autowired
     private IAutoGetErpData iAutoGetErpData;
@@ -31,52 +35,62 @@ public class SaticScheduleTask  {
 //        System.err.println("执行静态定时任务时间: " + LocalDateTime.now());
 //    }
 
-    @Scheduled(cron = "0/5 * * * * ?")
+
+
+//    @Scheduled(cron = "0/5 * * * * ?")
+    @Scheduled(cron = "0 0/1 * * * ? ")
     private void getPsyTask(){
         System.err.println("执行 getPsyTask 执行静态定时任务时间: " + LocalDateTime.now());
         iAutoGetErpData.getPsy();
     }
 
 //    @Scheduled(cron = "* 0/5 * * * ?")
-//    private void getReEstrusRate(){
-//        System.err.println("执行 getReEstrusRate 执行静态定时任务时间: " + LocalDateTime.now());
-//        iAutoGetErpData.getReEstrusRate();
-//
-//    }
-//
-//    @Scheduled(cron = "* 0/5 * * * ?")
-//    private void getParturitionRate(){
-//        System.err.println("执行 getParturitionRate 执行静态定时任务时间: " + LocalDateTime.now());
-//        iAutoGetErpData.getParturitionRate();
-//    }
-//
-//    @Scheduled(cron = "* 0/5 * * * ?")
-//    private void getStorage(){
-//        System.err.println("执行 getStorage 执行静态定时任务时间: " + LocalDateTime.now());
-//    }
-//
+    @Scheduled(cron = "0 0/1 * * * ? ")
+    private void getReEstrusRate(){
+        System.err.println("执行 getReEstrusRate 执行静态定时任务时间: " + LocalDateTime.now());
+        iAutoGetErpData.getReEstrusRate();
+
+    }
+
 //    @Scheduled(cron = "* 0/5 * * * ?")
-//    private void getPigletInfo(){
-//        System.err.println("执行 getPigletInfo 执行静态定时任务时间: " + LocalDateTime.now());
-//    }
-//
+    @Scheduled(cron = "0 0/1 * * * ? ")
+    private void getParturitionRate(){
+        System.err.println("执行 getParturitionRate 执行静态定时任务时间: " + LocalDateTime.now());
+        iAutoGetErpData.getParturitionRate();
+    }
+
 //    @Scheduled(cron = "* 0/5 * * * ?")
-//    private void getMateQuantity(){
-//        System.err.println("执行 getMateQuantity 执行静态定时任务时间: " + LocalDateTime.now());
-//    }
+    @RequestMapping("/getStorage")
+    private List getStorage(){
+        System.err.println("执行 getStorage 执行静态定时任务时间: " + LocalDateTime.now());
+       return iAutoGetErpData.getStorage();
+    }
+
+
+    @Scheduled(cron = "0 0/1 * * * ? ")
+    private void getPigletInfo(){
+        System.err.println("执行 getPigletInfo 执行静态定时任务时间: " + LocalDateTime.now());
+        iAutoGetErpData.getPigletInfo();
+    }
 
-    @Scheduled(cron = "0/5 * * * * ?")
+    @Scheduled(cron = "0 0/1 * * * ? ")
+    private void getMateQuantity(){
+        System.err.println("执行 getMateQuantity 执行静态定时任务时间: " + LocalDateTime.now());
+        iAutoGetErpData.getMateQuantity();
+    }
+
+    @Scheduled(cron = "0 0/1 * * * ? ")
     private void getConceptionRate(){
-        // 读取受胎率
+        System.err.println("执行 getConceptionRate 执行静态定时任务时间: " + LocalDateTime.now());
         iAutoGetErpData.getConceptionRate();
     }
 
-//    @Scheduled(cron = "* 0/5 * * * ?")
-//    private void getAllStorage(){
-//        System.err.println("执行 getAllStorage 执行静态定时任务时间: " + LocalDateTime.now());
-//
-//
-//    }
+    @Scheduled(cron = "0 0/1 * * * ? ")
+    private void getAllStorage(){
+        System.err.println("执行 getAllStorage 执行静态定时任务时间: " + LocalDateTime.now());
+        iAutoGetErpData.getAllStorage();
+
+    }
 
 
 

+ 10 - 0
huimv-hy-production/huimv.hy.autoGetData/src/main/java/com/huimv/production/autoGetData/service/IAutoGetErpData.java

@@ -1,5 +1,7 @@
 package com.huimv.production.autoGetData.service;
 
+import java.util.List;
+
 public interface IAutoGetErpData {
     void getPsy();
 
@@ -7,5 +9,13 @@ public interface IAutoGetErpData {
 
     void getParturitionRate();
 
+    List getStorage();
+
+    void getPigletInfo();
+
+    void getMateQuantity();
+
     void getConceptionRate();
+
+    void getAllStorage();
 }

+ 184 - 72
huimv-hy-production/huimv.hy.autoGetData/src/main/java/com/huimv/production/autoGetData/service/impl/AutoGetErpDataImpl.java

@@ -5,17 +5,12 @@ import com.alibaba.fastjson.JSONObject;
 import com.huimv.production.autoGetData.entity.IndexParameter;
 import com.huimv.production.autoGetData.repo.IndexParameterRepository;
 import com.huimv.production.autoGetData.service.IAutoGetErpData;
-import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.data.domain.Example;
 import org.springframework.stereotype.Service;
 import org.springframework.web.client.RestTemplate;
 
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
+import java.util.*;
 
 /**
  * @Project : huimv.shiwan
@@ -26,7 +21,6 @@ import java.util.Optional;
  * @Create : 2020-12-25
  **/
 @Service
-@Slf4j
 public class AutoGetErpDataImpl implements IAutoGetErpData {
     // 查询开始日期
     @Value("${erp.datasource.startDate}")
@@ -40,7 +34,6 @@ public class AutoGetErpDataImpl implements IAutoGetErpData {
     private String apiPort;
     @Value("${erp.datasource.serviceName}")
     private String serviceName;
-    private String filterFarm = "海盐";
 
     @Autowired
     private RestTemplate template;
@@ -52,139 +45,258 @@ public class AutoGetErpDataImpl implements IAutoGetErpData {
     public void getPsy() {
         String token = getToken();
         String servicePath = apiIp + apiPort + serviceName;
-        System.out.println("servicePath>>" + servicePath);
-        JSONObject jsonObject = template.getForObject(apiIp + apiPort + serviceName + "/getPsy?startDate=" + startDate + "&endDate=" + endDate + "&accessToken=" + token
-                , JSONObject.class);
+        System.out.println("servicePath>>"+servicePath);
+        JSONObject jsonObject = template.getForObject(apiIp + apiPort + serviceName + "/getPsy?startDate="+startDate+"&endDate="+endDate+"&accessToken="+token
+                ,JSONObject.class );
         String data = jsonObject.getString("data");
-        if (data == null) {
+        if (data == null){
             return;
         }
         IndexParameter indexParameter = parameterRepository.findById(7).get();
         indexParameter.setUpdateTime(new Date());
         //TODO 将数据加入到数据库
-        indexParameter.setData(data);
+        indexParameter.setData("0");
+        System.out.println("PSY------->"+data);
 
         parameterRepository.save(indexParameter);
+
+
     }
 
     //返情率
     @Override
     public void getReEstrusRate() {
         String token = getToken();
-        JSONObject jsonObject = template.getForObject(apiIp + apiPort + serviceName + "/getReEstrusRate?startDate=" + startDate + "&endDate=" + endDate + "&accessToken=" + token
-                , JSONObject.class);
+        JSONObject jsonObject = template.getForObject(apiIp + apiPort + serviceName + "/getReEstrusRate?startDate="+startDate+"&endDate="+endDate+"&accessToken="+token
+                ,JSONObject.class );
         String data = jsonObject.getString("data");
-        if (data == null) {
+        if (data == null){
             return;
         }
 
-        String reestrus_rate = "0.00000";
-        List<Map<String, String>> list = (List<Map<String, String>>) JSON.parse(data);
+        String reestrus_rate ="0.00000";
+        List<Map<String,String>> list =  (List<Map<String,String>> ) JSON.parse(data);
         for (Map<String, String> stringStringMap : list) {
             for (String s : stringStringMap.keySet()) {
                 String farm = stringStringMap.get(s);
-                if (farm != null && farm.contains("海盐")) {
-                    reestrus_rate = stringStringMap.get("reestrus_rate");
+                if (farm != null && farm.contains("海盐")){
+                    reestrus_rate  = stringStringMap.get("reestrus_rate");
                 }
             }
         }
         IndexParameter indexParameter = parameterRepository.findById(9).get();
         indexParameter.setData(reestrus_rate);
         indexParameter.setUpdateTime(new Date());
+
+        System.out.println("返情率------->"+data);
         parameterRepository.save(indexParameter);
 
     }
 
+    //获取分娩率
     @Override
     public void getParturitionRate() {
+        String token = getToken();
+        JSONObject jsonObject = template.getForObject(apiIp + apiPort + serviceName +"/getParturitionRate?startDate="+startDate+"&endDate="+endDate+"&accessToken="+token
+                ,JSONObject.class );
+        String data = jsonObject.getString("data");
+        if (data == null){
+            return;
+        }
+
+        String parturition_rate ="0.00000";
+        List<Map<String,String>> list =  (List<Map<String,String>> ) JSON.parse(data);
+        for (Map<String, String> stringStringMap : list) {
+            for (String s : stringStringMap.keySet()) {
+                String farm = stringStringMap.get(s);
+                if (farm != null && farm.contains("海盐")){
+                    parturition_rate  = stringStringMap.get("parturition_rate");
+                }
+            }
+        }
+        IndexParameter indexParameter = parameterRepository.findById(12).get();
+        indexParameter.setData(parturition_rate);
+        indexParameter.setUpdateTime(new Date());
+
+
+        System.out.println("分娩率------->"+data);
+        parameterRepository.save(indexParameter);
+    }
+
+    @Override
+    public List getStorage() {
+        String token = getToken();
+        JSONObject jsonObject = template.getForObject(apiIp + apiPort + serviceName +"/getStorage?startDate="+startDate+"&endDate="+endDate+"&accessToken="+token
+                ,JSONObject.class );
+        String data = jsonObject.getString("data");
+        if (data == null){
+            return null;
+        }
+        List<Map<String,String>> list =  (List<Map<String,String>> ) JSON.parse(data);JSON.parse(data);
+        List list1 = new ArrayList();
+        for (Map<String, String> stringStringMap : list) {
+            for (String s : stringStringMap.keySet()) {
+                String farm = stringStringMap.get(s);
+                if (farm != null && farm.contains("海盐")){
+                    Map map = new HashMap();
+                    map.put("name",stringStringMap.get("name"));
+                    map.put("quantity",stringStringMap.get("quantity"));
+                    list1.add(map);
+                }
+            }
+        }
+        return list1;
+    }
+
+    //获取均产仔数,仔猪存活率
+    @Override
+    public void getPigletInfo() {
+       /* String token = getToken();
+        JSONObject jsonObject = template.getForObject(apiIp + apiPort + serviceName +"/getPigletInfo?startDate="+startDate+"&endDate="+endDate+"&accessToken="+token
+                ,JSONObject.class );
+        String data = jsonObject.getString("data");
+        if (data == null){
+            return;
+        }
+        //TODO 未完成
+        String parturition_rate ="0.00000";
+        List<Map<String,String>> list =  (List<Map<String,String>> ) JSON.parse(data);
+        for (Map<String, String> stringStringMap : list) {
+            for (String s : stringStringMap.keySet()) {
+                String farm = stringStringMap.get(s);
+                if (farm != null && farm.contains("海盐")){
+                    parturition_rate  = stringStringMap.get("parturition_rate");
+                }
+            }
+        }
+        IndexParameter indexParameter = parameterRepository.findById(12).get();
+        indexParameter.setData(parturition_rate);
+        indexParameter.setUpdateTime(new Date());
+        parameterRepository.save(indexParameter);*/
+    }
 
+    //配种数量
+    @Override
+    public void getMateQuantity() {
+        String token = getToken();
+        JSONObject jsonObject = template.getForObject(apiIp + apiPort + serviceName +"/getMateQuantity?startDate="+startDate+"&endDate="+endDate+"&accessToken="+token
+                ,JSONObject.class );
+        String data = jsonObject.getString("data");
+        if (data == null){
+            return;
+        }
+        String mate_quantity ="0";
+        List<Map<String,String>> list =  (List<Map<String,String>> ) JSON.parse(data);
+        for (Map<String, String> stringStringMap : list) {
+            for (String s : stringStringMap.keySet()) {
+                String farm = stringStringMap.get(s);
+                if (farm != null && farm.contains("海盐")){
+                    mate_quantity  = stringStringMap.get("mate_quantity");
+                }
+            }
+        }
+        IndexParameter indexParameter = parameterRepository.findById(10).get();
+        indexParameter.setData(mate_quantity);
+        indexParameter.setUpdateTime(new Date());
+
+        System.out.println("配种数------->"+data);
+
+        parameterRepository.save(indexParameter);
     }
 
-    /**
-     * @Method : getConceptionRate
-     * @Description : 读取受胎率
-     * @Params : []
-     * @Return : void
-     * @Author : ZhuoNing
-     * @Date : 2021/5/17
-     * @Time : 17:38
-     */
+    //受胎率
     @Override
     public void getConceptionRate() {
         String token = getToken();
-        JSONObject jsonObject = template.getForObject(apiIp + apiPort + serviceName + "/getConceptionRate?startDate=" + startDate + "&endDate=" + endDate + "&accessToken=" + token
-                , JSONObject.class);
+        JSONObject jsonObject = template.getForObject(apiIp + apiPort + serviceName +"/getConceptionRate?startDate="+startDate+"&endDate="+endDate+"&accessToken="+token
+                ,JSONObject.class );
         String data = jsonObject.getString("data");
-        if (data == null) {
+        if (data == null){
             return;
         }
-        log.info("filterFarm: " + filterFarm);
-        // 过滤海盐数据
-        String conceptionRate = "0.00";
-        List<Map<String, String>> list = (List<Map<String, String>>) JSON.parse(data);
+        String conception_rate ="0";
+        List<Map<String,String>> list =  (List<Map<String,String>> ) JSON.parse(data);
         for (Map<String, String> stringStringMap : list) {
             for (String s : stringStringMap.keySet()) {
                 String farm = stringStringMap.get(s);
-                if (farm != null && farm.contains(filterFarm)) {
-                    conceptionRate = stringStringMap.get("conception_rate");
+                if (farm != null && farm.contains("海盐")){
+                    conception_rate  = stringStringMap.get("conception_rate");
                 }
             }
         }
-        log.info("返回结果 conceptionRate: " + conceptionRate);
-        IndexParameter queryIndexParameter = new IndexParameter();
-        queryIndexParameter.setName("受胎率");
-        Example<IndexParameter> example = Example.of(queryIndexParameter);
-        Optional<IndexParameter> indexParameterOptional = parameterRepository.findOne(example);
-        log.info("isPresent=" + indexParameterOptional.isPresent());
-        if (indexParameterOptional.isPresent()) {
-          // 更新数据
-            IndexParameter indexParameterData = indexParameterOptional.get();
-            IndexParameter indexParameter = new IndexParameter();
-            indexParameter.setId(indexParameterData.getId());
-            indexParameter.setName("受胎率");
-            indexParameter.setData(conceptionRate);
-            indexParameter.setCreateTime(indexParameterData.getCreateTime());
-            indexParameter.setUpdateTime(indexParameterData.getUpdateTime());
-            indexParameter.setCheckParameter(indexParameterData.getCheckParameter());
-            parameterRepository.save(indexParameter);
-        } else {
-            // 新建新数据
-            IndexParameter indexParameter = new IndexParameter();
-            indexParameter.setName("受胎率");
-            indexParameter.setData(conceptionRate);
-            indexParameter.setCheckParameter(false);
-            parameterRepository.save(indexParameter);
+        IndexParameter indexParameter = parameterRepository.findById(11).get();
+        indexParameter.setData(conception_rate);
+        indexParameter.setUpdateTime(new Date());
+
+        System.out.println("受胎率------->"+data);
+        parameterRepository.save(indexParameter);
+    }
+
+    @Override
+    public void getAllStorage() {
+        String token = getToken();
+        JSONObject jsonObject = template.getForObject(apiIp + apiPort + serviceName +"/getAllStorage?startDate="+startDate+"&endDate="+endDate+"&accessToken="+token
+                ,JSONObject.class );
+        String data = jsonObject.getString("data");
+        if (data == null){
+            return;
+        }
+        List<Map<String,String>> list =  (List<Map<String,String>> ) JSON.parse(data);
+        String total ="0";
+        String sow_quantity="0";
+
+        for (Map<String, String> stringStringMap : list) {
+            for (String s : stringStringMap.keySet()) {
+                String farm = stringStringMap.get(s);
+                if (farm != null && farm.contains("海盐")){
+                    total = stringStringMap.get("total");
+                    sow_quantity = stringStringMap.get("sow_quantity");
+                }
+            }
         }
+        IndexParameter indexParameter = parameterRepository.findById(2).get();
+        indexParameter.setData(total);
+        indexParameter.setUpdateTime(new Date());
+        parameterRepository.save(indexParameter);
+
+        IndexParameter indexParameter1 = parameterRepository.findById(3).get();
+        indexParameter1.setData(sow_quantity);
+        indexParameter1.setUpdateTime(new Date());
+        parameterRepository.save(indexParameter);
     }
 
-    private String getToken() {
+
+    private String getToken(){
         JSONObject token = template.getForObject("http://192.168.1.62:9100/token/getToken?userId=20210501&timestamp=45546546454&random=1156&sign=7fa431325504e01e9fa87ed0e274c40c",
                 JSONObject.class);
         return token.getString("accessToken");
+
     }
 
 
-    public static void main(String[] args) {
+
+   /* public static void main(String[] args) {
         RestTemplate restTemplate = new RestTemplate();
 
 
         JSONObject token1 = restTemplate.getForObject("http://192.168.1.62:9100/token/getToken?userId=20210501&timestamp=45546546454&random=1156&sign=7fa431325504e01e9fa87ed0e274c40c",
                 JSONObject.class);
-        String token = token1.getString("accessToken");
-        JSONObject jsonObject = restTemplate.getForObject("http://192.168.1.62:9100/erpData/getReEstrusRate?startDate=2020.1.1&endDate=2021.12.31&accessToken=" + token
-                , JSONObject.class);
+       String token =  token1.getString("accessToken");
+        JSONObject jsonObject = restTemplate.getForObject("http://192.168.1.62:9100/erpData/getReEstrusRate?startDate=2020.1.1&endDate=2021.12.31&accessToken="+token
+                ,JSONObject.class );
         String data = jsonObject.getString("data");
-        String reestrus_rate = "0.00000";
-        List<Map<String, String>> list = (List<Map<String, String>>) JSON.parse(data);
+        String reestrus_rate ="0.00000";
+       List<Map<String,String>> list =  (List<Map<String,String>> ) JSON.parse(data);
         for (Map<String, String> stringStringMap : list) {
             for (String s : stringStringMap.keySet()) {
                 String farm = stringStringMap.get(s);
-                if (farm != null && farm.contains("海盐")) {
-                    reestrus_rate = stringStringMap.get("reestrus_rate");
+                if (farm != null && farm.contains("海盐")){
+                    reestrus_rate  = stringStringMap.get("reestrus_rate");
                 }
             }
         }
 
 
-    }
+
+    }*/
 }