ソースを参照

新建并完成查询均产仔数,仔猪存活率功能。

zhuoning 4 年 前
コミット
30eec597f7

+ 2 - 2
huimv-hy-production/huimv.hy.erp.datasource/src/main/java/com/huimv/production/datasource/controller/ErpDataController.java

@@ -93,8 +93,8 @@ public class ErpDataController {
      * @Time        : 11:18
      */
     @RequestMapping("/getPigletInfo")
-    public String getPigletInfo(){
-        return erpDataService.getPigletInfo();
+    public String getPigletInfo(@Param(value="startDate") String startDate,@Param(value="endDate") String endDate){
+        return erpDataService.getPigletInfo(startDate,endDate);
     }
 
     /**

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

@@ -111,4 +111,46 @@ public interface TDeliveryRepo extends JpaRepository<TDeliveryEntity, String>, J
             "JOIN TPigArchives tp ON tp.HOGPENWHEREDID = oc.FID  " +
             "RIGHT 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 " +
+            "( SELECT FSHORTNAME FROM dbo.TOrganizeCell WHERE FID = td.HOGPENDID ) AS 'farm'," +
+            "COUNT ( tn.SOWSTRID ) AS 'birth_number', " +
+            "SUM ( tn.FAMOUNTKITTENINT ) AS 'total', " +
+            "ISNULL(tdie.csamount,0)+ISNULL(tlose.csamount,0) AS 'dead_quantity'  " +
+            "FROM  " +
+            "dbo.TDelivery td  " +
+            "LEFT JOIN dbo.TNewStru7743 tn ON tn.FDeliveryMainStruID = td.FID  " +
+            "LEFT JOIN (SELECT isnull(sum(isnull(FPIGDIECOUNT,0)+isnull(FWEAKPIGDIECOUNT,0)),0) as csamount,PIGHOUSEID FROM TPigdieChild,TPigdie WHERE  " +
+            "FPigdieMainStruID = TPigdie.FID  " +
+            "AND FDIEDATE BETWEEN ?1   " +
+            "AND ?2  " +
+            "and FPIGSEX = 3 AND FPIGSTATE = 15  " +
+            "GROUP BY  " +
+            "PIGHOUSEID ) tdie on tdie.PIGHOUSEID = td.HOGPENDID  " +
+            "LEFT JOIN (SELECT isnull(ISNULL(sum(TPigLoseChild.FpigLoseCount),0)+ISNULL(sum(TPigLoseChild.FweakPigLoseCount),0),0) as csamount,PIGHOUSEID FROM TPigLoseChild,  " +
+            "TPigLose  " +
+            "WHERE  " +
+            "FPigLoseMainStruID = TPigLose.FID  " +
+            "AND FPIGLOSEDATE BETWEEN ?1  " +
+            "AND ?2  " +
+            "AND FSEX = 3  " +
+            "AND FPIGSTATE = 15  " +
+            "GROUP BY  " +
+            "PIGHOUSEID ) tlose on tlose.PIGHOUSEID = td.HOGPENDID  " +
+            "WHERE  " +
+            "td.FLOGSTATEE IN ( 3, 4, 6 )   " +
+            "AND datediff( dd, ?1, td.FDATEDELIVERY ) >= 0   " +
+            "AND datediff( dd, ?2, td.FDATEDELIVERY ) <= 0  " +
+            "GROUP BY td.HOGPENDID,tdie.csamount, tlose.csamount")
+    List<Object[]> getPigletInfo(String startDate, String endDate);
 }

+ 1 - 1
huimv-hy-production/huimv.hy.erp.datasource/src/main/java/com/huimv/production/datasource/service/IErpDataService.java

@@ -10,7 +10,7 @@ public interface IErpDataService {
 
     String getStorage();
 
-    String getPigletInfo();
+    String getPigletInfo(String startDate,String endDate);
 
     String getMateQuantity();
 

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

@@ -165,8 +165,25 @@ public class ErpDataServiceImpl implements IErpDataService {
      * @Time        : 11:43
      */
     @Override
-    public String getPigletInfo() {
-        return null;
+    public String getPigletInfo(String startDate,String endDate) {
+        log.info(" 开始日期(均产仔数,仔猪存活率) startDate:"+startDate);
+        log.info(" 结束日期(均产仔数,仔猪存活率) endDate:"+endDate);
+        List<Object[]> fieldList = tDeliveryRepo.getPigletInfo(startDate,endDate);
+        log.info(" 均产仔数,仔猪存活率查询数量:"+fieldList.size());
+        JSONArray resultJa = new JSONArray();
+        for (Object[] fieldObj : fieldList) {
+            String farm = fieldObj[0].toString();
+            String birth_number = fieldObj[1].toString();
+            String total = fieldObj[2].toString();
+            String dead_quantity = fieldObj[3].toString();
+            JSONObject dataJo = new JSONObject();
+            dataJo.put("farm",farm);
+            dataJo.put("birth_number",birth_number);
+            dataJo.put("total",total);
+            dataJo.put("dead_quantity",dead_quantity);
+            resultJa.add(dataJo);
+        }
+        return resultJa.toJSONString();
     }
 
     /**