Pārlūkot izejas kodu

修改erp sql语句

523096025 3 gadi atpakaļ
vecāks
revīzija
6e6db0228d

+ 1 - 0
huimv-hy-production/huimv.hy.autoGetData/pom.xml

@@ -12,4 +12,5 @@
     <artifactId>huimv.hy.autoGetData</artifactId>
     <artifactId>huimv.hy.autoGetData</artifactId>
 
 
 
 
+
 </project>
 </project>

+ 8 - 7
huimv-hy-production/huimv.hy.autoGetData/src/main/java/com/huimv/production/autoGetData/config/SaticScheduleTask.java

@@ -38,7 +38,7 @@ public class SaticScheduleTask  {
 
 
 
 
 //    @Scheduled(cron = "0/5 * * * * ?")
 //    @Scheduled(cron = "0/5 * * * * ?")
-    @Scheduled(cron = "0 0/10 * * * ? ")
+    @Scheduled(cron = "0 * * * * ? ")
     private void getPsyTask(){
     private void getPsyTask(){
         System.err.println("执行 getPsyTask 执行静态定时任务时间: " + LocalDateTime.now());
         System.err.println("执行 getPsyTask 执行静态定时任务时间: " + LocalDateTime.now());
         iAutoGetErpData.getPsy();
         iAutoGetErpData.getPsy();
@@ -46,20 +46,21 @@ public class SaticScheduleTask  {
 
 
 
 
 //    @Scheduled(cron = "* 0/5 * * * ?")
 //    @Scheduled(cron = "* 0/5 * * * ?")
-    @Scheduled(cron = "0 0/10 * * * ? ")
+    @Scheduled(cron = "0 * * * * ? ")
     private void getReEstrusRate(){
     private void getReEstrusRate(){
         System.err.println("执行 getReEstrusRate 执行静态定时任务时间: " + LocalDateTime.now());
         System.err.println("执行 getReEstrusRate 执行静态定时任务时间: " + LocalDateTime.now());
         iAutoGetErpData.getReEstrusRate();
         iAutoGetErpData.getReEstrusRate();
     }
     }
 
 
 //    @Scheduled(cron = "* 0/5 * * * ?")
 //    @Scheduled(cron = "* 0/5 * * * ?")
-    @Scheduled(cron = "0 0/10 * * * ? ")
+    @Scheduled(cron = "0 * * * * ? ")
     private void getParturitionRate(){
     private void getParturitionRate(){
         System.err.println("执行 getParturitionRate 执行静态定时任务时间: " + LocalDateTime.now());
         System.err.println("执行 getParturitionRate 执行静态定时任务时间: " + LocalDateTime.now());
         iAutoGetErpData.getParturitionRate();
         iAutoGetErpData.getParturitionRate();
     }
     }
 
 
 //    @Scheduled(cron = "* 0/5 * * * ?")
 //    @Scheduled(cron = "* 0/5 * * * ?")
+@Scheduled(cron = "0 * * * * ? ")
     @RequestMapping("/getStorage")
     @RequestMapping("/getStorage")
     private List getStorage(){
     private List getStorage(){
         System.err.println("执行 getStorage 执行静态定时任务时间: " + LocalDateTime.now());
         System.err.println("执行 getStorage 执行静态定时任务时间: " + LocalDateTime.now());
@@ -67,25 +68,25 @@ public class SaticScheduleTask  {
     }
     }
 
 
 
 
-    @Scheduled(cron = "0 0/10 * * * ? ")
+    @Scheduled(cron = "0 * * * * ? ")
     private void getPigletInfo(){
     private void getPigletInfo(){
         System.err.println("执行 getPigletInfo 执行静态定时任务时间: " + LocalDateTime.now());
         System.err.println("执行 getPigletInfo 执行静态定时任务时间: " + LocalDateTime.now());
         iAutoGetErpData.getPigletInfo();
         iAutoGetErpData.getPigletInfo();
     }
     }
 
 
-    @Scheduled(cron = "0 0/10 * * * ? ")
+    @Scheduled(cron = "0 * * * * ? ")
     private void getMateQuantity(){
     private void getMateQuantity(){
         System.err.println("执行 getMateQuantity 执行静态定时任务时间: " + LocalDateTime.now());
         System.err.println("执行 getMateQuantity 执行静态定时任务时间: " + LocalDateTime.now());
         iAutoGetErpData.getMateQuantity();
         iAutoGetErpData.getMateQuantity();
     }
     }
 
 
-    @Scheduled(cron = "0 0/10 * * * ? ")
+    @Scheduled(cron = "0 * * * * ? ")
     private void getConceptionRate(){
     private void getConceptionRate(){
         System.err.println("执行 getConceptionRate 执行静态定时任务时间: " + LocalDateTime.now());
         System.err.println("执行 getConceptionRate 执行静态定时任务时间: " + LocalDateTime.now());
         iAutoGetErpData.getConceptionRate();
         iAutoGetErpData.getConceptionRate();
     }
     }
 
 
-    @Scheduled(cron = "0 0/10 * * * ? ")
+    @Scheduled(cron = "0 * * * * ? ")
     private void getAllStorage(){
     private void getAllStorage(){
         System.err.println("执行 getAllStorage 执行静态定时任务时间: " + LocalDateTime.now());
         System.err.println("执行 getAllStorage 执行静态定时任务时间: " + LocalDateTime.now());
         iAutoGetErpData.getAllStorage();
         iAutoGetErpData.getAllStorage();

+ 83 - 38
huimv-hy-production/huimv.hy.autoGetData/src/main/java/com/huimv/production/autoGetData/service/impl/AutoGetErpDataImpl.java

@@ -1,5 +1,7 @@
 package com.huimv.production.autoGetData.service.impl;
 package com.huimv.production.autoGetData.service.impl;
 
 
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import com.huimv.production.autoGetData.entity.IndexParameter;
 import com.huimv.production.autoGetData.entity.IndexParameter;
@@ -25,11 +27,11 @@ import java.util.*;
 @Service
 @Service
 public class AutoGetErpDataImpl implements IAutoGetErpData {
 public class AutoGetErpDataImpl implements IAutoGetErpData {
     // 查询开始日期
     // 查询开始日期
-    @Value("${erp.datasource.startDate}")
-    private String startDate;
+//    @Value("${erp.datasource.startDate}")
+//    private String startDate;
     // 查询结束日期
     // 查询结束日期
-    @Value("${erp.datasource.endDate}")
-    private String endDate;
+//    @Value("${erp.datasource.endDate}")
+//    private String endDate;
     @Value("${erp.datasource.apiIp}")
     @Value("${erp.datasource.apiIp}")
     private String apiIp;
     private String apiIp;
     @Value("${erp.datasource.apiPort}")
     @Value("${erp.datasource.apiPort}")
@@ -50,6 +52,12 @@ public class AutoGetErpDataImpl implements IAutoGetErpData {
         String token = getToken();
         String token = getToken();
 //        String servicePath = apiIp + apiPort + serviceName;
 //        String servicePath = apiIp + apiPort + serviceName;
 //        System.out.println("servicePath>>"+servicePath);
 //        System.out.println("servicePath>>"+servicePath);
+        String startDate ;
+        String endDate;
+        DateTime date = DateUtil.date();
+          endDate = (date+"").substring(0,10);
+        startDate =  (DateUtil.beginOfMonth(date)+"").substring(0,10);
+
         JSONObject jsonObject = template.getForObject(apiIp + apiPort + serviceName + "/getPsy?startDate="+startDate+"&endDate="+endDate+"&accessToken="+token
         JSONObject jsonObject = template.getForObject(apiIp + apiPort + serviceName + "/getPsy?startDate="+startDate+"&endDate="+endDate+"&accessToken="+token
                 ,JSONObject.class );
                 ,JSONObject.class );
         String data = jsonObject.getString("data");
         String data = jsonObject.getString("data");
@@ -58,18 +66,21 @@ public class AutoGetErpDataImpl implements IAutoGetErpData {
         }
         }
         IndexParameter indexParameter = parameterRepository.findById(7).get();
         IndexParameter indexParameter = parameterRepository.findById(7).get();
         indexParameter.setUpdateTime(new Date());
         indexParameter.setUpdateTime(new Date());
-        //TODO 将数据加入到数据库
-        indexParameter.setData("0");
+        indexParameter.setData(data);
         System.out.println("PSY------->"+data);
         System.out.println("PSY------->"+data);
 
 
         parameterRepository.save(indexParameter);
         parameterRepository.save(indexParameter);
-
-
     }
     }
 
 
     //返情率
     //返情率
     @Override
     @Override
     public void getReEstrusRate() {
     public void getReEstrusRate() {
+        String startDate ;
+        String endDate;
+        DateTime date = DateUtil.date();
+          endDate = (date+"").substring(0,10);
+        startDate =  (DateUtil.beginOfMonth(date)+"").substring(0,10);
+
         String token = getToken();
         String token = getToken();
         JSONObject jsonObject = template.getForObject(apiIp + apiPort + serviceName + "/getReEstrusRate?startDate="+startDate+"&endDate="+endDate+"&accessToken="+token
         JSONObject jsonObject = template.getForObject(apiIp + apiPort + serviceName + "/getReEstrusRate?startDate="+startDate+"&endDate="+endDate+"&accessToken="+token
                 ,JSONObject.class );
                 ,JSONObject.class );
@@ -84,9 +95,9 @@ public class AutoGetErpDataImpl implements IAutoGetErpData {
         int i =4;
         int i =4;
         List<Map<String,String>> list =  (List<Map<String,String>> ) JSON.parse(data);
         List<Map<String,String>> list =  (List<Map<String,String>> ) JSON.parse(data);
         for (Map<String, String> stringStringMap : list) {
         for (Map<String, String> stringStringMap : list) {
-            for (String s : stringStringMap.keySet()) {
-                String farm = stringStringMap.get(s);
-                if (farm != null && farm.contains("海盐")){
+//            for (String s : stringStringMap.keySet()) {
+//                String farm = stringStringMap.get(s);
+                //                if (farm != null && farm.contains("秀洲")){
                     reestrus_rate  = stringStringMap.get("reestrus_rate");
                     reestrus_rate  = stringStringMap.get("reestrus_rate");
                     variety = stringStringMap.get("variety");
                     variety = stringStringMap.get("variety");
                     productionGroup.setProductionType("reEstrus");
                     productionGroup.setProductionType("reEstrus");
@@ -95,11 +106,9 @@ public class AutoGetErpDataImpl implements IAutoGetErpData {
                     productionGroup.setFrequency(reestrus_rate);
                     productionGroup.setFrequency(reestrus_rate);
                     productionGroupRepo.save(productionGroup);
                     productionGroupRepo.save(productionGroup);
                     i++;
                     i++;
-                }
-            }
+//                }
+//            }
         }
         }
-
-
         System.out.println("返情率------->"+data);
         System.out.println("返情率------->"+data);
 
 
 
 
@@ -108,6 +117,12 @@ public class AutoGetErpDataImpl implements IAutoGetErpData {
     //获取分娩率
     //获取分娩率
     @Override
     @Override
     public void getParturitionRate() {
     public void getParturitionRate() {
+        String startDate ;
+        String endDate;
+        DateTime date = DateUtil.date();
+          endDate = (date+"").substring(0,10);
+        startDate =  (DateUtil.beginOfMonth(date)+"").substring(0,10);
+
         String token = getToken();
         String token = getToken();
         JSONObject jsonObject = template.getForObject(apiIp + apiPort + serviceName +"/getParturitionRate?startDate="+startDate+"&endDate="+endDate+"&accessToken="+token
         JSONObject jsonObject = template.getForObject(apiIp + apiPort + serviceName +"/getParturitionRate?startDate="+startDate+"&endDate="+endDate+"&accessToken="+token
                 ,JSONObject.class );
                 ,JSONObject.class );
@@ -122,9 +137,9 @@ public class AutoGetErpDataImpl implements IAutoGetErpData {
         int i =1;
         int i =1;
         List<Map<String,String>> list =  (List<Map<String,String>> ) JSON.parse(data);
         List<Map<String,String>> list =  (List<Map<String,String>> ) JSON.parse(data);
         for (Map<String, String> stringStringMap : list) {
         for (Map<String, String> stringStringMap : list) {
-            for (String s : stringStringMap.keySet()) {
-                String farm = stringStringMap.get(s);
-                if (farm != null && farm.contains("海盐")){
+//            for (String s : stringStringMap.keySet()) {
+//                String farm = stringStringMap.get(s);
+                //                if (farm != null && farm.contains("秀洲")){
                     parturitionRate  = stringStringMap.get("parturition_rate");
                     parturitionRate  = stringStringMap.get("parturition_rate");
                     variety = stringStringMap.get("variety");
                     variety = stringStringMap.get("variety");
                     productionGroup.setFrequency(parturitionRate);
                     productionGroup.setFrequency(parturitionRate);
@@ -133,17 +148,21 @@ public class AutoGetErpDataImpl implements IAutoGetErpData {
                     productionGroup.setVariety(variety);
                     productionGroup.setVariety(variety);
                     productionGroupRepo.save(productionGroup);
                     productionGroupRepo.save(productionGroup);
                     i++;
                     i++;
-                }
-            }
+//                }
+//            }
         }
         }
 
 
+        System.out.println("分娩率--->"+data);
+
     }
     }
 
 
     //获取各种存栏
     //获取各种存栏
     @Override
     @Override
     public List getStorage() {
     public List getStorage() {
+
+
         String token = getToken();
         String token = getToken();
-        JSONObject jsonObject = template.getForObject(apiIp + apiPort + serviceName +"/getStorage?startDate="+startDate+"&endDate="+endDate+"&accessToken="+token
+        JSONObject jsonObject = template.getForObject(apiIp + apiPort + serviceName +"/getStorage?accessToken="+token
                 ,JSONObject.class );
                 ,JSONObject.class );
         String data = jsonObject.getString("data");
         String data = jsonObject.getString("data");
         if (data == null){
         if (data == null){
@@ -154,20 +173,27 @@ public class AutoGetErpDataImpl implements IAutoGetErpData {
         for (Map<String, String> stringStringMap : list) {
         for (Map<String, String> stringStringMap : list) {
             for (String s : stringStringMap.keySet()) {
             for (String s : stringStringMap.keySet()) {
                 String farm = stringStringMap.get(s);
                 String farm = stringStringMap.get(s);
-                if (farm != null && farm.contains("海盐")){
+                //                if (farm != null && farm.contains("秀洲")){
                     Map map = new HashMap();
                     Map map = new HashMap();
                     map.put("name",stringStringMap.get("name"));
                     map.put("name",stringStringMap.get("name"));
                     map.put("quantity",stringStringMap.get("quantity"));
                     map.put("quantity",stringStringMap.get("quantity"));
                     list1.add(map);
                     list1.add(map);
-                }
+//                }
             }
             }
         }
         }
+        System.out.println("各种存栏--->"+data);
         return list1;
         return list1;
     }
     }
 
 
     //获取均产仔数,仔猪存活率
     //获取均产仔数,仔猪存活率
     @Override
     @Override
     public void getPigletInfo() {
     public void getPigletInfo() {
+        String startDate ;
+        String endDate;
+        DateTime date = DateUtil.date();
+        endDate = (date+"").substring(0,10);
+        startDate =  (DateUtil.beginOfMonth(date)+"").substring(0,10);
+
         String token = getToken();
         String token = getToken();
         JSONObject jsonObject = template.getForObject(apiIp + apiPort + serviceName +"/getPigletInfo?startDate="+startDate+"&endDate="+endDate+"&accessToken="+token
         JSONObject jsonObject = template.getForObject(apiIp + apiPort + serviceName +"/getPigletInfo?startDate="+startDate+"&endDate="+endDate+"&accessToken="+token
                 ,JSONObject.class );
                 ,JSONObject.class );
@@ -184,11 +210,11 @@ public class AutoGetErpDataImpl implements IAutoGetErpData {
         for (Map<String, String> stringStringMap : list) {
         for (Map<String, String> stringStringMap : list) {
             for (String s : stringStringMap.keySet()) {
             for (String s : stringStringMap.keySet()) {
                 String farm = stringStringMap.get(s);
                 String farm = stringStringMap.get(s);
-                if (farm != null && farm.contains("海盐")){
+                //                if (farm != null && farm.contains("秀洲")){
                     birth_number  = stringStringMap.get("birth_number");
                     birth_number  = stringStringMap.get("birth_number");
                     total  = stringStringMap.get("total");
                     total  = stringStringMap.get("total");
                     dead_quantity  = stringStringMap.get("dead_quantity");
                     dead_quantity  = stringStringMap.get("dead_quantity");
-                }
+//                }
             }
             }
         }
         }
 
 
@@ -197,6 +223,7 @@ public class AutoGetErpDataImpl implements IAutoGetErpData {
         indexParameter.setData(birth_number);
         indexParameter.setData(birth_number);
         indexParameter.setUpdateTime(new Date());
         indexParameter.setUpdateTime(new Date());
         parameterRepository.save(indexParameter);
         parameterRepository.save(indexParameter);
+        System.out.println(indexParameter);
 
 
 
 
         //产仔总数
         //产仔总数
@@ -215,6 +242,12 @@ public class AutoGetErpDataImpl implements IAutoGetErpData {
     //配种数量
     //配种数量
     @Override
     @Override
     public void getMateQuantity() {
     public void getMateQuantity() {
+        String startDate ;
+        String endDate;
+        DateTime date = DateUtil.date();
+        endDate = (date+"").substring(0,10);
+        startDate =  (DateUtil.beginOfMonth(date)+"").substring(0,10);
+
         String token = getToken();
         String token = getToken();
         JSONObject jsonObject = template.getForObject(apiIp + apiPort + serviceName +"/getMateQuantity?startDate="+startDate+"&endDate="+endDate+"&accessToken="+token
         JSONObject jsonObject = template.getForObject(apiIp + apiPort + serviceName +"/getMateQuantity?startDate="+startDate+"&endDate="+endDate+"&accessToken="+token
                 ,JSONObject.class );
                 ,JSONObject.class );
@@ -228,9 +261,9 @@ public class AutoGetErpDataImpl implements IAutoGetErpData {
         int i = 7;
         int i = 7;
         List<Map<String,String>> list =  (List<Map<String,String>> ) JSON.parse(data);
         List<Map<String,String>> list =  (List<Map<String,String>> ) JSON.parse(data);
         for (Map<String, String> stringStringMap : list) {
         for (Map<String, String> stringStringMap : list) {
-            for (String s : stringStringMap.keySet()) {
-                String farm = stringStringMap.get(s);
-                if (farm != null && farm.contains("海盐")){
+//            for (String s : stringStringMap.keySet()) {
+//                String farm = stringStringMap.get(s);
+                //                if (farm != null && farm.contains("秀洲")){
                     mate_quantity  = stringStringMap.get("mate_quantity");
                     mate_quantity  = stringStringMap.get("mate_quantity");
                     variety = stringStringMap.get("variety");
                     variety = stringStringMap.get("variety");
                     productionGroup.setId(i);
                     productionGroup.setId(i);
@@ -239,8 +272,8 @@ public class AutoGetErpDataImpl implements IAutoGetErpData {
                     productionGroup.setProductionType("mateQuantity");
                     productionGroup.setProductionType("mateQuantity");
                     productionGroupRepo.save(productionGroup);
                     productionGroupRepo.save(productionGroup);
                     i++;
                     i++;
-                }
-            }
+//                }
+//            }
         }
         }
 
 
         System.out.println("配种数------->"+data);
         System.out.println("配种数------->"+data);
@@ -251,6 +284,12 @@ public class AutoGetErpDataImpl implements IAutoGetErpData {
     //受胎率
     //受胎率
     @Override
     @Override
     public void getConceptionRate() {
     public void getConceptionRate() {
+        String startDate ;
+        String endDate;
+        DateTime date = DateUtil.date();
+          endDate = (date+"").substring(0,10);
+        startDate =  (DateUtil.beginOfMonth(date)+"").substring(0,10);
+
         String token = getToken();
         String token = getToken();
         JSONObject jsonObject = template.getForObject(apiIp + apiPort + serviceName +"/getConceptionRate?startDate="+startDate+"&endDate="+endDate+"&accessToken="+token
         JSONObject jsonObject = template.getForObject(apiIp + apiPort + serviceName +"/getConceptionRate?startDate="+startDate+"&endDate="+endDate+"&accessToken="+token
                 ,JSONObject.class );
                 ,JSONObject.class );
@@ -261,12 +300,12 @@ public class AutoGetErpDataImpl implements IAutoGetErpData {
         String conception_rate ="0";
         String conception_rate ="0";
         List<Map<String,String>> list =  (List<Map<String,String>> ) JSON.parse(data);
         List<Map<String,String>> list =  (List<Map<String,String>> ) JSON.parse(data);
         for (Map<String, String> stringStringMap : list) {
         for (Map<String, String> stringStringMap : list) {
-            for (String s : stringStringMap.keySet()) {
-                String farm = stringStringMap.get(s);
-                if (farm != null && farm.contains("海盐")){
+//            for (String s : stringStringMap.keySet()) {
+//                String farm = stringStringMap.get(s);
+                //                if (farm != null && farm.contains("秀洲")){
                     conception_rate  = stringStringMap.get("conception_rate");
                     conception_rate  = stringStringMap.get("conception_rate");
-                }
-            }
+//                }
+//            }
         }
         }
         IndexParameter indexParameter = parameterRepository.findById(18).get();
         IndexParameter indexParameter = parameterRepository.findById(18).get();
         indexParameter.setData(conception_rate);
         indexParameter.setData(conception_rate);
@@ -278,6 +317,12 @@ public class AutoGetErpDataImpl implements IAutoGetErpData {
     //总存栏,母猪存栏
     //总存栏,母猪存栏
     @Override
     @Override
     public void getAllStorage() {
     public void getAllStorage() {
+        String startDate ;
+        String endDate;
+        DateTime date = DateUtil.date();
+          endDate = (date+"").substring(0,10);
+        startDate =  (DateUtil.beginOfMonth(date)+"").substring(0,10);
+
         String token = getToken();
         String token = getToken();
         JSONObject jsonObject = template.getForObject(apiIp + apiPort + serviceName +"/getAllStorage?startDate="+startDate+"&endDate="+endDate+"&accessToken="+token
         JSONObject jsonObject = template.getForObject(apiIp + apiPort + serviceName +"/getAllStorage?startDate="+startDate+"&endDate="+endDate+"&accessToken="+token
                 ,JSONObject.class );
                 ,JSONObject.class );
@@ -292,10 +337,10 @@ public class AutoGetErpDataImpl implements IAutoGetErpData {
         for (Map<String, String> stringStringMap : list) {
         for (Map<String, String> stringStringMap : list) {
             for (String s : stringStringMap.keySet()) {
             for (String s : stringStringMap.keySet()) {
                 String farm = stringStringMap.get(s);
                 String farm = stringStringMap.get(s);
-                if (farm != null && farm.contains("海盐")){
+                //                if (farm != null && farm.contains("秀洲")){
                     total = stringStringMap.get("total");
                     total = stringStringMap.get("total");
                     sow_quantity = stringStringMap.get("sow_quantity");
                     sow_quantity = stringStringMap.get("sow_quantity");
-                }
+//                }
             }
             }
         }
         }
         IndexParameter indexParameter = parameterRepository.findById(2).get();
         IndexParameter indexParameter = parameterRepository.findById(2).get();
@@ -364,7 +409,7 @@ public class AutoGetErpDataImpl implements IAutoGetErpData {
         for (Map<String, String> stringStringMap : list) {
         for (Map<String, String> stringStringMap : list) {
             for (String s : stringStringMap.keySet()) {
             for (String s : stringStringMap.keySet()) {
                 String farm = stringStringMap.get(s);
                 String farm = stringStringMap.get(s);
-                if (farm != null && farm.contains("海盐")){
+                //                if (farm != null && farm.contains("秀洲")){
                     reestrus_rate  = stringStringMap.get("reestrus_rate");
                     reestrus_rate  = stringStringMap.get("reestrus_rate");
                 }
                 }
             }
             }

+ 387 - 16
huimv-hy-production/huimv.hy.erp.datasource/src/main/java/com/huimv/production/datasource/dao/repo/TDeliveryRepo.java

@@ -1,3 +1,4 @@
+/*
 package com.huimv.production.datasource.dao.repo;
 package com.huimv.production.datasource.dao.repo;
 
 
 import com.huimv.production.datasource.dao.entity.TDeliveryEntity;
 import com.huimv.production.datasource.dao.entity.TDeliveryEntity;
@@ -9,7 +10,8 @@ import java.util.List;
 
 
 public interface TDeliveryRepo extends JpaRepository<TDeliveryEntity, String>, JpaSpecificationExecutor<TDeliveryEntity> {
 public interface TDeliveryRepo extends JpaRepository<TDeliveryEntity, String>, JpaSpecificationExecutor<TDeliveryEntity> {
    
    
-    /**
+    */
+/**
      * @Method      : getPsy
      * @Method      : getPsy
      * @Description : Psy
      * @Description : Psy
      * @Params      : []
      * @Params      : []
@@ -18,7 +20,8 @@ public interface TDeliveryRepo extends JpaRepository<TDeliveryEntity, String>, J
      * @Author      : ZhuoNing
      * @Author      : ZhuoNing
      * @Date        : 2021/5/15       
      * @Date        : 2021/5/15       
      * @Time        : 13:50
      * @Time        : 13:50
-     */
+     *//*
+
     @Query(nativeQuery = true,value = "select CAST(PJWCHZ*chl*NLYWS AS DEC(8,2)) AS 'PSY' from (select avg(TNewStru7743.FamountLiveInt*1.0) as 'PJWCHZ'" +
     @Query(nativeQuery = true,value = "select CAST(PJWCHZ*chl*NLYWS AS DEC(8,2)) AS 'PSY' from (select avg(TNewStru7743.FamountLiveInt*1.0) as 'PJWCHZ'" +
             " from TDelivery left join TNewStru7743 on TNewStru7743.FDeliveryMainStruID=TDelivery.FID " +
             " from TDelivery left join TNewStru7743 on TNewStru7743.FDeliveryMainStruID=TDelivery.FID " +
             " where TDelivery.FLogStatee in(3,4,6) and TDelivery.FDateDelivery between ?1 and ?2)PJWCHZ, " +
             " where TDelivery.FLogStatee in(3,4,6) and TDelivery.FDateDelivery between ?1 and ?2)PJWCHZ, " +
@@ -41,7 +44,8 @@ public interface TDeliveryRepo extends JpaRepository<TDeliveryEntity, String>, J
             " having avg(tjj)>0)ncws ")
             " having avg(tjj)>0)ncws ")
     List<Object[]> getPsy(String startDate,String endDate);
     List<Object[]> getPsy(String startDate,String endDate);
 
 
-    /**
+    */
+/**
      * @Method      : getReEstrusRate
      * @Method      : getReEstrusRate
      * @Description : 返情率
      * @Description : 返情率
      * @Params      : []
      * @Params      : []
@@ -50,7 +54,8 @@ public interface TDeliveryRepo extends JpaRepository<TDeliveryEntity, String>, J
      * @Author      : ZhuoNing
      * @Author      : ZhuoNing
      * @Date        : 2021/5/15
      * @Date        : 2021/5/15
      * @Time        : 13:50
      * @Time        : 13:50
-     */
+     *//*
+
     @Query(nativeQuery = true,value =
     @Query(nativeQuery = true,value =
             "select TOrganizeCell.FSHORTNAME as 'farm', tmp_tblpz.FBreedD as 'variety'," +
             "select TOrganizeCell.FSHORTNAME as 'farm', tmp_tblpz.FBreedD as 'variety'," +
             "CAST(count(tmp_tblfm.SowStrID)*1.0/(case sum(tmp_tblpz.mate_times) when 0 then null else sum(tmp_tblpz.mate_times) end) as dec(8,5)) as 'reestrus_rate' " +
             "CAST(count(tmp_tblfm.SowStrID)*1.0/(case sum(tmp_tblpz.mate_times) when 0 then null else sum(tmp_tblpz.mate_times) end) as dec(8,5)) as 'reestrus_rate' " +
@@ -69,7 +74,8 @@ public interface TDeliveryRepo extends JpaRepository<TDeliveryEntity, String>, J
             "group by TOrganizeCell.FSHORTNAME,tmp_tblpz.FBreedD")
             "group by TOrganizeCell.FSHORTNAME,tmp_tblpz.FBreedD")
     List<Object[]> getReEstrusRate(String startDate,String endDate);
     List<Object[]> getReEstrusRate(String startDate,String endDate);
 
 
-    /**
+    */
+/**
      * @Method      : getParturitionRate
      * @Method      : getParturitionRate
      * @Description : 分娩率
      * @Description : 分娩率
      * @Params      : [startDate, endDate]
      * @Params      : [startDate, endDate]
@@ -78,7 +84,8 @@ public interface TDeliveryRepo extends JpaRepository<TDeliveryEntity, String>, J
      * @Author      : ZhuoNing
      * @Author      : ZhuoNing
      * @Date        : 2021/5/15       
      * @Date        : 2021/5/15       
      * @Time        : 14:43
      * @Time        : 14:43
-     */
+     *//*
+
     @Query(nativeQuery = true,value ="select TOrganizeCell.FSHORTNAME as 'farm', tmp_tblpz.FBreedD as 'variety', " +
     @Query(nativeQuery = true,value ="select TOrganizeCell.FSHORTNAME as 'farm', tmp_tblpz.FBreedD as 'variety', " +
             "CAST(count(tmp_tblfm.SowStrID)*1.0/(case sum(tmp_tblpz.mate_times) when 0 then null else sum(tmp_tblpz.mate_times) end) as dec(8,5)) as 'parturition_rate' " +
             "CAST(count(tmp_tblfm.SowStrID)*1.0/(case sum(tmp_tblpz.mate_times) when 0 then null else sum(tmp_tblpz.mate_times) end) as dec(8,5)) as 'parturition_rate' " +
             "from (select " +
             "from (select " +
@@ -97,7 +104,8 @@ public interface TDeliveryRepo extends JpaRepository<TDeliveryEntity, String>, J
             "group by TOrganizeCell.FSHORTNAME,tmp_tblpz.FBreedD ")
             "group by TOrganizeCell.FSHORTNAME,tmp_tblpz.FBreedD ")
     List<Object[]> getParturitionRate(String startDate, String endDate);
     List<Object[]> getParturitionRate(String startDate, String endDate);
     
     
-    /**
+    */
+/**
      * @Method      : getStorage
      * @Method      : getStorage
      * @Description : 各种存栏
      * @Description : 各种存栏
      * @Params      : []
      * @Params      : []
@@ -106,13 +114,15 @@ public interface TDeliveryRepo extends JpaRepository<TDeliveryEntity, String>, J
      * @Author      : ZhuoNing
      * @Author      : ZhuoNing
      * @Date        : 2021/5/15       
      * @Date        : 2021/5/15       
      * @Time        : 14:57
      * @Time        : 14:57
-     */
+     *//*
+
     @Query(nativeQuery = true,value ="SELECT oc.FSHORTNAME as 'farm',tb.FNAME as 'name',COUNT(tp.FID) as 'quantity' FROM (select TOrganizeCell.FID,TOrganizeCell.FSHORTNAME from  TOrganizeCell) oc RIGHT " +
     @Query(nativeQuery = true,value ="SELECT oc.FSHORTNAME as 'farm',tb.FNAME as 'name',COUNT(tp.FID) as 'quantity' FROM (select TOrganizeCell.FID,TOrganizeCell.FSHORTNAME from  TOrganizeCell) oc RIGHT " +
             "JOIN TPigArchives tp ON tp.HOGPENWHEREDID = oc.FID  " +
             "JOIN TPigArchives tp ON tp.HOGPENWHEREDID = oc.FID  " +
             "RIGHT JOIN TBreed tb ON tb.FID = tp.VARIETYDID GROUP BY oc.FSHORTNAME,tb.FNAME ")
             "RIGHT JOIN TBreed tb ON tb.FID = tp.VARIETYDID GROUP BY oc.FSHORTNAME,tb.FNAME ")
     List<Object[]> getStorage();
     List<Object[]> getStorage();
 
 
-    /**
+    */
+/**
      * @Method      : getPigletInfo
      * @Method      : getPigletInfo
      * @Description : 均产仔数,仔猪存活率
      * @Description : 均产仔数,仔猪存活率
      * @Params      : [startDate, endDate]
      * @Params      : [startDate, endDate]
@@ -121,7 +131,8 @@ public interface TDeliveryRepo extends JpaRepository<TDeliveryEntity, String>, J
      * @Author      : ZhuoNing
      * @Author      : ZhuoNing
      * @Date        : 2021/5/15       
      * @Date        : 2021/5/15       
      * @Time        : 15:17
      * @Time        : 15:17
-     */
+     *//*
+
     @Query(nativeQuery = true,value ="SELECT " +
     @Query(nativeQuery = true,value ="SELECT " +
             "( SELECT FSHORTNAME FROM dbo.TOrganizeCell WHERE FID = td.HOGPENDID ) AS 'farm'," +
             "( SELECT FSHORTNAME FROM dbo.TOrganizeCell WHERE FID = td.HOGPENDID ) AS 'farm'," +
             "COUNT ( tn.SOWSTRID ) AS 'birth_number', " +
             "COUNT ( tn.SOWSTRID ) AS 'birth_number', " +
@@ -154,7 +165,8 @@ public interface TDeliveryRepo extends JpaRepository<TDeliveryEntity, String>, J
             "GROUP BY td.HOGPENDID,tdie.csamount, tlose.csamount")
             "GROUP BY td.HOGPENDID,tdie.csamount, tlose.csamount")
     List<Object[]> getPigletInfo(String startDate, String endDate);
     List<Object[]> getPigletInfo(String startDate, String endDate);
 
 
-    /**
+    */
+/**
      * @Method      : getMateQuantity
      * @Method      : getMateQuantity
      * @Description : 配种数量
      * @Description : 配种数量
      * @Params      : []
      * @Params      : []
@@ -163,7 +175,8 @@ public interface TDeliveryRepo extends JpaRepository<TDeliveryEntity, String>, J
      * @Author      : ZhuoNing
      * @Author      : ZhuoNing
      * @Date        : 2021/5/15       
      * @Date        : 2021/5/15       
      * @Time        : 15:47
      * @Time        : 15:47
-     */
+     *//*
+
     @Query(nativeQuery = true,value ="select TOrganizeCell.FSHORTNAME as 'farm', tmp_tblpzts.FBREEDD AS 'variety', sum(tmp_tblpzts.mate_times) as 'mate_quantity' from (select  " +
     @Query(nativeQuery = true,value ="select TOrganizeCell.FSHORTNAME as 'farm', tmp_tblpzts.FBREEDD AS 'variety', sum(tmp_tblpzts.mate_times) as 'mate_quantity' from (select  " +
             "TBreeding.HogpendID,TNewStru8094.FBreedD,TNewStru8094.SowStrID,TNewStru8094.FParityInt,count(TNewStru8094.FID) as 'mate_times'  " +
             "TBreeding.HogpendID,TNewStru8094.FBreedD,TNewStru8094.SowStrID,TNewStru8094.FParityInt,count(TNewStru8094.FID) as 'mate_times'  " +
             "from TBreeding left join TNewStru8094 on TNewStru8094.FBreedingMainStruID=TBreeding.FID  " +
             "from TBreeding left join TNewStru8094 on TNewStru8094.FBreedingMainStruID=TBreeding.FID  " +
@@ -173,7 +186,8 @@ public interface TDeliveryRepo extends JpaRepository<TDeliveryEntity, String>, J
             "where TOrganizeCell.FNAME is not null group by TOrganizeCell.FSHORTNAME,tmp_tblpzts.FBREEDD")
             "where TOrganizeCell.FNAME is not null group by TOrganizeCell.FSHORTNAME,tmp_tblpzts.FBREEDD")
     List<Object[]> getMateQuantity(String startDate, String endDate);
     List<Object[]> getMateQuantity(String startDate, String endDate);
 
 
-    /**
+    */
+/**
      * @Method      : getConceptionRate
      * @Method      : getConceptionRate
      * @Description : 
      * @Description : 
      * @Params      : [startDate, endDate]
      * @Params      : [startDate, endDate]
@@ -182,7 +196,8 @@ public interface TDeliveryRepo extends JpaRepository<TDeliveryEntity, String>, J
      * @Author      : ZhuoNing
      * @Author      : ZhuoNing
      * @Date        : 2021/5/15       
      * @Date        : 2021/5/15       
      * @Time        : 16:15
      * @Time        : 16:15
-     */
+     *//*
+
     @Query(nativeQuery = true,value ="select  " +
     @Query(nativeQuery = true,value ="select  " +
             "TOrganizeCell.FshortName as 'farm', " +
             "TOrganizeCell.FshortName as 'farm', " +
             "CAST((tmp_tblpz.fmts+isnull(tmp_tblpzlc.lcts,0))*1.0/tmp_tblpz.pzts*100 as dec(8,2)) as 'conception_rate' " +
             "CAST((tmp_tblpz.fmts+isnull(tmp_tblpzlc.lcts,0))*1.0/tmp_tblpz.pzts*100 as dec(8,2)) as 'conception_rate' " +
@@ -216,7 +231,8 @@ public interface TDeliveryRepo extends JpaRepository<TDeliveryEntity, String>, J
             "left join TOrganizeCell on tmp_tblpz.ZCID=TOrganizeCell.FID")
             "left join TOrganizeCell on tmp_tblpz.ZCID=TOrganizeCell.FID")
     List<Object[]> getConceptionRate(String startDate, String endDate);
     List<Object[]> getConceptionRate(String startDate, String endDate);
 
 
-    /**
+    */
+/**
      * @Method      : getAllStorage
      * @Method      : getAllStorage
      * @Description : 总存栏,母猪存栏
      * @Description : 总存栏,母猪存栏
      * @Params      : []
      * @Params      : []
@@ -225,7 +241,8 @@ public interface TDeliveryRepo extends JpaRepository<TDeliveryEntity, String>, J
      * @Author      : ZhuoNing
      * @Author      : ZhuoNing
      * @Date        : 2021/5/15       
      * @Date        : 2021/5/15       
      * @Time        : 16:22
      * @Time        : 16:22
-     */
+     *//*
+
     @Query(nativeQuery = true,value ="SELECT " +
     @Query(nativeQuery = true,value ="SELECT " +
             "H.FNAME AS 'farm', " +
             "H.FNAME AS 'farm', " +
             "mzcl AS 'sow_quantity', " +
             "mzcl AS 'sow_quantity', " +
@@ -296,4 +313,358 @@ public interface TDeliveryRepo extends JpaRepository<TDeliveryEntity, String>, J
             "ORDER BY " +
             "ORDER BY " +
             "H.FNAME")
             "H.FNAME")
     List<Object[]> getAllStorage();
     List<Object[]> getAllStorage();
+}*/
+package com.huimv.production.datasource.dao.repo;
+
+import com.huimv.production.datasource.dao.entity.TDeliveryEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+
+import java.util.List;
+
+public interface TDeliveryRepo extends JpaRepository<TDeliveryEntity, String>, JpaSpecificationExecutor<TDeliveryEntity> {
+
+    /**
+     * @Method      : getPsy
+     * @Description : Psy
+     * @Params      : []
+     * @Return      : java.util.List<java.lang.Object[]>
+     *
+     * @Author      : ZhuoNing
+     * @Date        : 2021/5/15
+     * @Time        : 13:50
+     */
+    @Query(nativeQuery = true,value = "select CAST(PJWCHZ*chl*NLYWS AS DEC(8,2)) AS 'PSY' from (select avg(TNewStru7743.FamountLiveInt*1.0) as 'PJWCHZ' \n" +
+            "from TDelivery left join TNewStru7743 on TNewStru7743.FDeliveryMainStruID=TDelivery.FID \n" +
+            "where TDelivery.FLogStatee in(3,4,6) and TDelivery.FDateDelivery between ?1 and ?2)PJWCHZ,\n" +
+            "(SELECT case WHEN zczc = 0 THEN 0 ELSE 1-sw/zczc END  as 'chl' from ( select count(TBornNewStru.Fid) as 'zczc'\n" +
+            "           from TBorn left join TBornNewStru on TBornNewStru.FBornMainStruID = TBorn.FID \n" +
+            "           where TBorn.FLOGSTATEE in (3,4,6)\n" +
+            "     and TBorn.FDATEBORN between  ?1 and ?2)cs,(select sum(isnull(TPigDieChild.FweakpigdieCount,0))+sum(isnull(TPigDieChild.Fpigdiecount,0)) as sw \n" +
+            " from TPigDie left join TPigDieChild on TPigDieChild.FPigDieMainStruID=TPigDie.FID \n" +
+            " where TPigDie.FBillState in(3,4,6) and TPigDieChild.FPigSex in(1,2,3) and FPIGSTATE=15\n" +
+            " and (TPigDie.FDieDate BETWEEN  ?1 and ?2))sw )chl,(select  CAST(365*1.0/avg(tjj) as dec(7,4)) as 'NLYWS'   \n" +
+            " from \n" +
+            "  (SELECT\n" +
+            " case when isnull(TNewStru7743.FtyreDistance,0)!=0 then  TNewStru7743.FtyreDistance  end  as 'tjj' \n" +
+            " FROM TDelivery     \n" +
+            " LEFT JOIN TNewStru7743  on TNewStru7743.FDeliveryMainStruID = TDelivery.FID \n" +
+            "\n" +
+            "  WHERE  TDelivery.FlogStateE in(3,4,6) \n" +
+            "--And (TDelivery.HOGPENDID in(hogpen+)) \n" +
+            "And ( datediff(dd,?1,TDelivery.FDATEDELIVERY)>=0 ) \n" +
+            "And (datediff(dd,?2,TDelivery.FDATEDELIVERY)<=0 )  \n" +
+            ") tmp_tbl   \n" +
+            "    having avg(tjj)>0)ncws")
+    List<Object[]> getPsy(String startDate,String endDate);
+
+    /**
+     * @Method      : getReEstrusRate
+     * @Description : 返情率
+     * @Params      : []
+     * @Return      : java.util.List<java.lang.Object[]>
+     *
+     * @Author      : ZhuoNing
+     * @Date        : 2021/5/15
+     * @Time        : 13:50
+     */
+    @Query(nativeQuery = true,value =
+//            "declare ?1 datetime \n" +
+//                    "declare ?2 datetime \n" +
+//                    "set ?1='2021-02-01'\n" +
+//                    "set ?2='2021-03-09'\n" +
+//                    "\n" +
+                    "select TOrganizeCell.FSHORTNAME as '猪场', \n" +
+                    "CAST(count(tmp_tblfm.SowStrID)*1.0/(case sum(tmp_tblpz.配种次数) when 0 then null else sum(tmp_tblpz.配种次数) end) as dec(8,5)) as '配种返情率' \n" +
+                    "from (select \n" +
+                    "TBreeding.HogpendID,TNewStru8094.FBreedD,TNewStru8094.SowStrID,TNewStru8094.FParityInt,count(TNewStru8094.FID) as '配种次数' \n" +
+                    "from TBreeding left join TNewStru8094 on TNewStru8094.FBreedingMainStruID=TBreeding.FID \n" +
+                    "where TBreeding.FLogStatee in(3,4,6)   and datediff(dd,?1, FDateBreed)>=-121 and datediff(dd,?2,FDateBreed) <=-121\n" +
+                    "--and (TBreeding.hogpenDID in(?)) \n" +
+                    "group by TBreeding.HogpendID,TNewStru8094.FBreedD,TNewStru8094.SowStrID,TNewStru8094.FParityInt \n" +
+                    ") tmp_tblpz \n" +
+                    "left join (select TReturnEstrusewStru.SowStrID,TReturnEstrusewStru.FParityInt from TReturnEstrusewStru \n" +
+                    "left join TReturnEstrus on TReturnEstrusewStru.FReturnEstrusMainStruID=TReturnEstrus.FID \n" +
+                    "where TReturnEstrus.FLogStatee in(3,4,6)  and datediff(dd,?1, TReturnEstrusewStru.FDateBreed)>=-121 and datediff(dd,?2,TReturnEstrusewStru.FDateBreed) <=-121\n" +
+                    "--and (TReturnEstrus.hogpenDID in(?) ) \n" +
+                    ") tmp_tblfm on tmp_tblpz.SowStrID=tmp_tblfm.SowStrID and tmp_tblpz.FParityInt=tmp_tblfm.FParityInt \n" +
+                    "\n" +
+                    "left join TOrganizeCell on tmp_tblpz.HogpendID=TOrganizeCell.FID\n" +
+                    "where TOrganizeCell.FNAME in('海盐曙光')\n" +
+                    "group by TOrganizeCell.FSHORTNAME")
+    List<Object[]> getReEstrusRate(String startDate,String endDate);
+
+    /**
+     * @Method      : getParturitionRate
+     * @Description : 分娩率
+     * @Params      : [startDate, endDate]
+     * @Return      : java.util.List<java.lang.Object[]>
+     *
+     * @Author      : ZhuoNing
+     * @Date        : 2021/5/15
+     * @Time        : 14:43
+     */
+    @Query(nativeQuery = true,value =
+//            "declare ?1 datetime \n" +
+//                    "declare ?2 datetime \n" +
+//                    "set ?1='2021-02-01'\n" +
+//                    "set ?2='2021-03-09'\n" +
+//                    "\n" +
+                    "select TOrganizeCell.FSHORTNAME as '猪场', \n" +
+                    "CAST(count(tmp_tblfm.SowStrID)*1.0/(case sum(tmp_tblpz.配种次数) when 0 then null else sum(tmp_tblpz.配种次数) end) as dec(8,5)) as '配种分娩率' \n" +
+                    "from (select \n" +
+                    "TBreeding.HogpendID,TNewStru8094.FBreedD,TNewStru8094.SowStrID,TNewStru8094.FParityInt,count(TNewStru8094.FID) as '配种次数' \n" +
+                    "from TBreeding left join TNewStru8094 on TNewStru8094.FBreedingMainStruID=TBreeding.FID \n" +
+                    "where TBreeding.FLogStatee in(3,4,6) and datediff(dd,?1, FDateBreed)>=-121 and datediff(dd,?2,FDateBreed) <=-121\n" +
+                    "--and (TBreeding.hogpenDID in(?)) \n" +
+                    "group by TBreeding.HogpendID,TNewStru8094.FBreedD,TNewStru8094.SowStrID,TNewStru8094.FParityInt \n" +
+                    ") tmp_tblpz \n" +
+                    "left join (select TNewStru7743.SowStrID,TNewStru7743.FParityInt from TNewStru7743 \n" +
+                    "left join TDelivery on TNewStru7743.FDeliveryMainStruID=TDelivery.FID \n" +
+                    "where TDelivery.FLogStatee in(3,4,6)  and datediff(dd,?1, TNewStru7743.FDateBreed )>=-121\n" +
+                    " and datediff(dd,?2,TNewStru7743.FDateBreed ) <=-121 -- and (TDelivery.hogpenDID in(?) ) \n" +
+                    ") tmp_tblfm on tmp_tblpz.SowStrID=tmp_tblfm.SowStrID and tmp_tblpz.FParityInt=tmp_tblfm.FParityInt \n" +
+                    "left join TOrganizeCell on tmp_tblpz.HogpendID=TOrganizeCell.FID\n" +
+                    "where TOrganizeCell.FNAME in('海盐曙光')\n" +
+                    "\n" +
+                    "group by TOrganizeCell.FSHORTNAME")
+    List<Object[]> getParturitionRate(String startDate, String endDate);
+
+    /**
+     * @Method      : getStorage
+     * @Description : 各种存栏
+     * @Params      : []
+     * @Return      : java.util.List<java.lang.Object[]>
+     *
+     * @Author      : ZhuoNing
+     * @Date        : 2021/5/15
+     * @Time        : 14:57
+     */
+    @Query(nativeQuery = true,value ="SELECT oc.FSHORTNAME,tb.FNAME,COUNT(tp.FID) FROM (select TOrganizeCell.FID,TOrganizeCell.FSHORTNAME from  TOrganizeCell where FNAME in ('海盐曙光')) oc left\n" +
+            "JOIN TPigArchives tp ON tp.HOGPENWHEREDID = oc.FID \n" +
+            "left JOIN TBreed tb ON tb.FID = tp.VARIETYDID GROUP BY oc.FSHORTNAME,tb.FNAME")
+    List<Object[]> getStorage();
+
+    /**
+     * @Method      : getPigletInfo
+     * @Description : 均产仔数,仔猪存活率
+     * @Params      : [startDate, endDate]
+     * @Return      : java.util.List<java.lang.Object[]>
+     *
+     * @Author      : ZhuoNing
+     * @Date        : 2021/5/15
+     * @Time        : 15:17
+     */
+    @Query(nativeQuery = true,value ="SELECT \n" +
+            "( SELECT FSHORTNAME FROM dbo.TOrganizeCell WHERE FID = td.HOGPENDID ) AS '猪场',\n" +
+            "COUNT ( tn.SOWSTRID ) AS '分娩头数',\n" +
+            "SUM ( tn.FAMOUNTKITTENINT ) AS '产仔总数',\n" +
+            "ISNULL(tdie.csamount,0)+ISNULL(tlose.csamount,0) AS '仔猪死淘数'\n" +
+            "\n" +
+            "FROM\n" +
+            "dbo.TDelivery td\n" +
+            "LEFT JOIN dbo.TNewStru7743 tn ON tn.FDeliveryMainStruID = td.FID \n" +
+            "LEFT JOIN (SELECT isnull(sum(isnull(FPIGDIECOUNT,0)+isnull(FWEAKPIGDIECOUNT,0)),0) as csamount,PIGHOUSEID FROM TPigdieChild,TPigdie WHERE\n" +
+            "FPigdieMainStruID = TPigdie.FID \n" +
+            "AND FDIEDATE BETWEEN ?1 \n" +
+            "AND ?2\n" +
+            "and FPIGSEX = 3 AND FPIGSTATE = 15\n" +
+            "GROUP BY\n" +
+            "PIGHOUSEID ) tdie on tdie.PIGHOUSEID = td.HOGPENDID\n" +
+            "\n" +
+            "\n" +
+            "LEFT JOIN (SELECT isnull(ISNULL(sum(TPigLoseChild.FpigLoseCount),0)+ISNULL(sum(TPigLoseChild.FweakPigLoseCount),0),0) as csamount,PIGHOUSEID FROM TPigLoseChild,\n" +
+            "TPigLose \n" +
+            "WHERE\n" +
+            "FPigLoseMainStruID = TPigLose.FID \n" +
+            "AND FPIGLOSEDATE BETWEEN ?1 \n" +
+            "AND ?2 \n" +
+            "\n" +
+            "AND FSEX = 3 \n" +
+            "AND FPIGSTATE = 15\n" +
+            "GROUP BY\n" +
+            "PIGHOUSEID ) tlose on tlose.PIGHOUSEID = td.HOGPENDID\n" +
+            "WHERE\n" +
+            "td.FLOGSTATEE IN ( 3, 4, 6 ) \n" +
+            "AND datediff( dd, ?1, td.FDATEDELIVERY ) >= 0 \n" +
+            "AND datediff( dd, ?2, td.FDATEDELIVERY ) <= 0 \n" +
+            "AND td.HOGPENDID IN (select FID from TOrganizeCell where FNAME in ('海盐曙光')) \n" +
+            "GROUP BY\n" +
+            "td.HOGPENDID,\n" +
+            "tdie.csamount,\n" +
+            "tlose.csamount")
+    List<Object[]> getPigletInfo(String startDate, String endDate);
+
+    /**
+     * @Method      : getMateQuantity
+     * @Description : 配种数量
+     * @Params      : []
+     * @Return      : java.util.List<java.lang.Object[]>
+     *
+     * @Author      : ZhuoNing
+     * @Date        : 2021/5/15
+     * @Time        : 15:47
+     */
+    @Query(nativeQuery = true,value =
+//            "declare ?2 datetime \n" +
+//            "set ?1='2021-03-01'\n" +
+//            "set ?2='2021-03-04'\n" +
+//            "\n" +
+            "select TOrganizeCell.FSHORTNAME as '猪场', tmp_tblpzts.FBREEDD AS '品种', sum(tmp_tblpzts.配种次数) as '配种头数' from (select \n" +
+            "TBreeding.HogpendID,TNewStru8094.FBreedD,TNewStru8094.SowStrID,TNewStru8094.FParityInt,count(TNewStru8094.FID) as '配种次数' \n" +
+            "from TBreeding left join TNewStru8094 on TNewStru8094.FBreedingMainStruID=TBreeding.FID \n" +
+            "where TBreeding.FLogStatee in(3,4,6)  and datediff(dd,?1, FDateBreed)>=0 and datediff(dd,?2,FDateBreed) <=0 \n" +
+            "group by TBreeding.HogpendID,TNewStru8094.FBreedD,TNewStru8094.SowStrID,TNewStru8094.FParityInt \n" +
+            ") tmp_tblpzts  left join TOrganizeCell on tmp_tblpzts.HogpendID=TOrganizeCell.FID\n" +
+            "where  TOrganizeCell.FNAME in('海盐曙光')\n" +
+            "group by TOrganizeCell.FSHORTNAME,tmp_tblpzts.FBREEDD")
+    List<Object[]> getMateQuantity(String startDate, String endDate);
+
+    /**
+     * @Method      : getConceptionRate
+     * @Description :受胎率
+     * @Params      : [startDate, endDate]
+     * @Return      : java.util.List<java.lang.Object[]>
+     *
+     * @Author      : ZhuoNing
+     * @Date        : 2021/5/15
+     * @Time        : 16:15
+     */
+    @Query(nativeQuery = true,value =
+//            " declare ?2 datetime \n" +
+//            "         SET ?1='2021-02-01'\n" +
+//            "      \n" +
+//            "  set ?2='2021-03-09'\n" +
+            "  select \n" +
+            " TOrganizeCell.FshortName as '猪场', \n" +
+            "  CAST((tmp_tblpz.fmts+isnull(tmp_tblpzlc.lcts,0))*1.0/tmp_tblpz.pzts*100 as dec(8,2)) as '受胎率'\n" +
+            "  from\n" +
+            "  --配种分娩率\n" +
+            "    (select tmp_tblpz.HogpendID as 'ZCID',sum(tmp_tblpz.配种次数) as 'PZTS', count(tmp_tblfm.SowStrID) as 'fmts',\n" +
+            "  CAST(count(tmp_tblfm.SowStrID)*1.0/(case sum(tmp_tblpz.配种次数) when 0 then null else sum(tmp_tblpz.配种次数) end)*100 as dec(8,2)) as 'PZFML' \n" +
+            "  from (select \n" +
+            " TBreeding.HogpendID,TNewStru8094.FBreedD,TNewStru8094.SowStrID,TNewStru8094.FParityInt,count(TNewStru8094.FID) as '配种次数' \n" +
+            " from TBreeding left join TNewStru8094 on TNewStru8094.FBreedingMainStruID=TBreeding.FID \n" +
+            "  where TBreeding.FLogStatee in(3,4,6)  and FDateBreed>=DATEADD(DAY,-121,?1) and FDateBreed<=DATEADD(DAY,-121,?2) \n" +
+            " --and (TBreeding.hogpenDID  in('\"+hogpen+\"')) \n" +
+            " group by TBreeding.HogpendID,TNewStru8094.FBreedD,TNewStru8094.SowStrID,TNewStru8094.FParityInt \n" +
+            " ) tmp_tblpz \n" +
+            " left join (select TNewStru7743.SowStrID,TNewStru7743.FParityInt from TNewStru7743 \n" +
+            "  left join TDelivery on TNewStru7743.FDeliveryMainStruID=TDelivery.FID \n" +
+            "  where TDelivery.FLogStatee in(3,4,6)  and TNewStru7743.FDateBreed>=DATEADD(DAY,-121,?1) and TNewStru7743.FDateBreed<=DATEADD(DAY,-121,?2)  \n" +
+            "  --and (TDelivery.hogpenDID  in('\"+hogpen+\"') ) \n" +
+            "  ) tmp_tblfm on tmp_tblpz.SowStrID=tmp_tblfm.SowStrID and tmp_tblpz.FParityInt=tmp_tblfm.FParityInt \n" +
+            "  group by tmp_tblpz.HogpendID) tmp_tblpz  \n" +
+            "   --配种流产率\n" +
+            " left join (select tmp_tblpz.HogpendID as 'ZCID', sum(tmp_tblpz.配种次数) as 'PZTS', count(tmp_tblfm.SowStrID) as 'lcts',\n" +
+            " CAST(count(tmp_tblfm.SowStrID)*1.0/(case sum(tmp_tblpz.配种次数) when 0 then null else sum(tmp_tblpz.配种次数) end)*100 as dec(8,2)) as 'PZFML' \n" +
+            " from (select \n" +
+            "  TBreeding.HogpendID,TNewStru8094.FBreedD,TNewStru8094.SowStrID,TNewStru8094.FParityInt,count(TNewStru8094.FID) as '配种次数' \n" +
+            "  from TBreeding left join TNewStru8094 on TNewStru8094.FBreedingMainStruID=TBreeding.FID \n" +
+            " where TBreeding.FLogStatee in(3,4,6)  and FDateBreed>=DATEADD(DAY,-121,?1) and FDateBreed<=DATEADD(DAY,-121,?2) \n" +
+            "  --and (TBreeding.hogpenDID  in('\"+hogpen+\"')) \n" +
+            "  group by TBreeding.HogpendID,TNewStru8094.FBreedD,TNewStru8094.SowStrID,TNewStru8094.FParityInt \n" +
+            "  ) tmp_tblpz \n" +
+            "  left join (select TAbortionNewStru.SowStrID,TAbortionNewStru.FParityInt from TAbortionNewStru \n" +
+            " left join TAbortion on TAbortionNewStru.FAbortionMainStruID=TAbortion.FID \n" +
+            " where TAbortion.FLogStatee in(3,4,6)  and TAbortionNewStru.FDateBreed>=DATEADD(DAY,-121,?1) and TAbortionNewStru.FDateBreed<=DATEADD(DAY,-121,?2)  \n" +
+            "  --and (TAbortion.hogpenDID  in('\"+hogpen+\"') ) \n" +
+            " ) tmp_tblfm on tmp_tblpz.SowStrID=tmp_tblfm.SowStrID and tmp_tblpz.FParityInt=tmp_tblfm.FParityInt \n" +
+            " group by tmp_tblpz.HogpendID) tmp_tblpzlc on tmp_tblpzlc.ZCID=tmp_tblpz.ZCID\n" +
+            " \n" +
+            " left join TOrganizeCell on tmp_tblpz.ZCID=TOrganizeCell.FID\n" +
+            " where TOrganizeCell.FNAME in('海盐曙光')")
+    List<Object[]> getConceptionRate(String startDate, String endDate);
+
+    /**
+     * @Method      : getAllStorage
+     * @Description : 总存栏,母猪存栏
+     * @Params      : []
+     * @Return      : java.util.List<java.lang.Object[]>
+     *
+     * @Author      : ZhuoNing
+     * @Date        : 2021/5/15
+     * @Time        : 16:22
+     */
+    @Query(nativeQuery = true,value ="SELECT\n" +
+            "H.FNAME AS '猪场',\n" +
+            "mzcl AS '母猪存栏',\n" +
+            "gz + mzcl + jc + shbamount AS '总存栏' \n" +
+            "FROM\n" +
+            "(\n" +
+            "SELECT\n" +
+            "TOrganizeCell.FID,\n" +
+            "TOrganizeCell.FName \n" +
+            "FROM\n" +
+            "TOrganizeCell \n" +
+            "GROUP BY\n" +
+            "TOrganizeCell.FName,\n" +
+            "TOrganizeCell.FID \n" +
+            ") H\n" +
+            "RIGHT JOIN (\n" +
+            "SELECT\n" +
+            "tblz_tmp.FNAME AS NAME,\n" +
+            "isnull( SUM( tblz_tmp.gz ), 0 ) AS 'gz',\n" +
+            "isnull( sum( tblz_tmp.mzcl ), 0 ) AS 'mzcl',\n" +
+            "isnull( SUM( tblz_tmp.jc ), 0 ) AS 'jc',\n" +
+            "isnull( SUM( tblz_tmp.shbamount ), 0 ) AS 'shbamount' \n" +
+            "FROM\n" +
+            "(\n" +
+            "SELECT\n" +
+            "TPigArchives.HOGPENWHEREDID 'FNAME',\n" +
+            "CASE\n" +
+            "\n" +
+            "WHEN TPigArchives.FPIGSTATEE IN ( 2, 11 ) \n" +
+            "AND TPigArchives.FPigClassEnum = 1 THEN\n" +
+            "COUNT( TPigArchives.FID ) \n" +
+            "END AS 'gz',\n" +
+            "CASE\n" +
+            "\n" +
+            "WHEN TPigArchives.FPigStatee IN ( 3, 4, 5, 6, 7, 10, 11, 12, 13 ) \n" +
+            "AND TPigArchives.FPigClassEnum = 2 THEN\n" +
+            "COUNT( TPigArchives.FID ) \n" +
+            "END AS 'mzcl',\n" +
+            "0 AS 'jc',\n" +
+            "0 AS 'shbamount' \n" +
+            "FROM\n" +
+            "TPigArchives \n" +
+            "WHERE\n" +
+            "TPigArchives.FPigStatee IN ( 2, 3, 4, 5, 6, 7, 10, 11, 12, 13 ) \n" +
+            "GROUP BY\n" +
+            "TPigArchives.HOGPENWHEREDID,\n" +
+            "TPigArchives.FPIGSTATEE,\n" +
+            "TPigArchives.FPigClassEnum UNION ALL\n" +
+            "SELECT\n" +
+            "TPigArchives.HOGPENWHEREDID 'FNAME',\n" +
+            "0 AS 'gz',\n" +
+            "0 AS 'mzcl',\n" +
+            "CASE\n" +
+            "\n" +
+            "WHEN TPigArchives.FPigStatee IN ( 15, 14, 1, 21, 22, 16 ) THEN\n" +
+            "isnull( SUM( TPigArchivesChild.FpigAmountOfPigsty ), 0 ) \n" +
+            "END AS 'jc',\n" +
+            "CASE\n" +
+            "\n" +
+            "WHEN TPigArchives.FPigStatee = 11 \n" +
+            "AND TPigArchives.FPigClassEnum = 3 THEN\n" +
+            "isnull( SUM( TPigArchivesChild.FpigAmountOfPigsty ), 0 ) \n" +
+            "END AS 'shbamount' \n" +
+            "FROM\n" +
+            "TPigArchives\n" +
+            "LEFT JOIN TPigArchivesChild ON TPigArchivesChild.FPigArchivesMainStruID = TPigArchives.FID \n" +
+            "WHERE\n" +
+            "TPigArchives.FPigClassEnum IN ( 1, 2, 3 ) \n" +
+            "AND TPigArchives.FBATCHSTATE = 0 \n" +
+            "GROUP BY\n" +
+            "TPigArchives.HOGPENWHEREDID,\n" +
+            "TPigArchives.FPIGSTATEE,\n" +
+            "TPigArchives.FPigClassEnum \n" +
+            ") tblz_tmp \n" +
+            "GROUP BY\n" +
+            "tblz_tmp.FNAME \n" +
+            ") AS tbls_tmp ON tbls_tmp.NAME = H.fid where H.FNAME in('海盐曙光')\n" +
+            "ORDER BY\n" +
+            "H.FNAME")
+    List<Object[]> getAllStorage();
 }
 }

+ 6 - 49
huimv-hy-production/huimv.hy.erp.datasource/src/main/java/com/huimv/production/datasource/service/impl/ErpDataServiceImpl.java

@@ -77,19 +77,7 @@ public class ErpDataServiceImpl implements IErpDataService {
             dataJo.put("reestrus_rate",reEstrusRateVal);
             dataJo.put("reestrus_rate",reEstrusRateVal);
             resultJa.add(dataJo);
             resultJa.add(dataJo);
         }
         }
-        ////////////////////////////////////////////////////////////////////////////////
-        // 模拟测试数据
-        JSONObject dataJo1 = new JSONObject();
-        resultJa.add(dataJo1);
-        dataJo1.put("farm",testFarm);
-        dataJo1.put("variety","两头乌");
-        dataJo1.put("reestrus_rate","2.3");
-        JSONObject dataJo2 = new JSONObject();
-        resultJa.add(dataJo2);
-        dataJo2.put("farm",testFarm);
-        dataJo2.put("variety","大白猪");
-        dataJo2.put("reestrus_rate","1.5");
-        ////////////////////////////////////////////////////////////////////////////////
+
         return resultJa.toJSONString();
         return resultJa.toJSONString();
     }
     }
 
 
@@ -120,13 +108,7 @@ public class ErpDataServiceImpl implements IErpDataService {
             dataJo.put("parturition_rate",reEstrusRateVal);
             dataJo.put("parturition_rate",reEstrusRateVal);
             resultJa.add(dataJo);
             resultJa.add(dataJo);
         }
         }
-        //////////////////////////////////////////////////////////////////////////////////////////
-        // 模拟数据
-        for(int a=0;a<resultJa.size();a++){
-            JSONObject dataJo = resultJa.getJSONObject(a);
-            dataJo.put("farm",testFarm);
-        }
-        //////////////////////////////////////////////////////////////////////////////////////////
+
         return resultJa.toJSONString();
         return resultJa.toJSONString();
     }
     }
 
 
@@ -174,15 +156,7 @@ public class ErpDataServiceImpl implements IErpDataService {
             dataJo.put("quantity",quantity);
             dataJo.put("quantity",quantity);
             resultJa.add(dataJo);
             resultJa.add(dataJo);
         }
         }
-        /////////////////////////////////////////////////////////////////////////////////
-        // 测试模拟数据
-        for(int a=0;a<resultJa.size();a++){
-            JSONObject dataJo = resultJa.getJSONObject(a);
-            if(dataJo.getString("farm").trim().equalsIgnoreCase("兰溪益品")){
-                dataJo.put("farm",testFarm);
-            }
-        }
-        /////////////////////////////////////////////////////////////////////////////////
+
         return resultJa.toJSONString();
         return resultJa.toJSONString();
     }
     }
 
 
@@ -215,13 +189,7 @@ public class ErpDataServiceImpl implements IErpDataService {
             dataJo.put("dead_quantity",dead_quantity);
             dataJo.put("dead_quantity",dead_quantity);
             resultJa.add(dataJo);
             resultJa.add(dataJo);
         }
         }
-        /////////////////////////////////////////////////////////////////////////////////////
-        // 模拟测试数据
-        for(int a=0;a<resultJa.size();a++){
-            JSONObject dataJo = resultJa.getJSONObject(a);
-            dataJo.put("farm",testFarm);
-        }
-        /////////////////////////////////////////////////////////////////////////////////////
+
         return resultJa.toJSONString();
         return resultJa.toJSONString();
     }
     }
 
 
@@ -252,12 +220,7 @@ public class ErpDataServiceImpl implements IErpDataService {
             dataJo.put("mate_quantity",mate_quantity);
             dataJo.put("mate_quantity",mate_quantity);
             resultJa.add(dataJo);
             resultJa.add(dataJo);
         }
         }
-        //////////////////////////////////////////////////////////////////////////
-        for(int a=0;a<resultJa.size();a++){
-            JSONObject dataJo = resultJa.getJSONObject(a);
-            dataJo.put("farm",testFarm);
-        }
-        //////////////////////////////////////////////////////////////////////////
+
         return resultJa.toJSONString();
         return resultJa.toJSONString();
     }
     }
 
 
@@ -286,13 +249,7 @@ public class ErpDataServiceImpl implements IErpDataService {
             dataJo.put("conception_rate",conception_rate);
             dataJo.put("conception_rate",conception_rate);
             resultJa.add(dataJo);
             resultJa.add(dataJo);
         }
         }
-        /////////////////////////////////////////////////////////////////////////////////
-        // 模拟测试数据
-        for(int a=0;a<resultJa.size();a++){
-            JSONObject dataJo = resultJa.getJSONObject(a);
-            dataJo.put("farm",testFarm);
-        }
-        /////////////////////////////////////////////////////////////////////////////////
+
         return resultJa.toJSONString();
         return resultJa.toJSONString();
     }
     }
 
 

+ 1 - 0
huimv-hy-production/huimv.hy.erp.datasource/src/main/resources/application-dev.yml

@@ -19,6 +19,7 @@ spring:
     testOnBorrow: true
     testOnBorrow: true
     testOnReturn: true
     testOnReturn: true
     poolPreparedStatements: true
     poolPreparedStatements: true
+
     maxOpenPreparedStatements: 20
     maxOpenPreparedStatements: 20
   jpa:
   jpa:
     show-sql: true
     show-sql: true

+ 5 - 0
huimv-hy-production/pom.xml

@@ -74,6 +74,11 @@
             <groupId>org.projectlombok</groupId>
             <groupId>org.projectlombok</groupId>
             <artifactId>lombok</artifactId>
             <artifactId>lombok</artifactId>
         </dependency>
         </dependency>
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-all</artifactId>
+            <version>5.7.2</version>
+        </dependency>
     </dependencies>
     </dependencies>
 
 
     <build>
     <build>