Pārlūkot izejas kodu

新建并完成查询配种数、受胎率功能。

zhuoning 4 gadi atpakaļ
vecāks
revīzija
9be44e9921

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

@@ -108,8 +108,8 @@ public class ErpDataController {
      * @Time        : 11:35
      */
     @RequestMapping("/getMateQuantity")
-    public String getMateQuantity(){
-        return erpDataService.getMateQuantity();
+    public String getMateQuantity(@Param(value="startDate") String startDate,@Param(value="endDate") String endDate){
+        return erpDataService.getMateQuantity(startDate,endDate);
     }
 
     /**
@@ -123,8 +123,8 @@ public class ErpDataController {
      * @Time        : 11:38
      */
     @RequestMapping("/getConceptionRate")
-    public String getConceptionRate(){
-        return erpDataService.getConceptionRate();
+    public String getConceptionRate(@Param(value="startDate") String startDate,@Param(value="endDate") String endDate){
+        return erpDataService.getConceptionRate(startDate,endDate);
     }
 
     /**

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

@@ -153,4 +153,66 @@ public interface TDeliveryRepo extends JpaRepository<TDeliveryEntity, String>, J
             "AND datediff( dd, ?2, td.FDATEDELIVERY ) <= 0  " +
             "GROUP BY td.HOGPENDID,tdie.csamount, 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 ="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'  " +
+            "from TBreeding left join TNewStru8094 on TNewStru8094.FBreedingMainStruID=TBreeding.FID  " +
+            "where TBreeding.FLogStatee in(3,4,6)  and datediff(dd,?1, FDateBreed)>=0 and datediff(dd,?2,FDateBreed) <=0  " +
+            "group by TBreeding.HogpendID,TNewStru8094.FBreedD,TNewStru8094.SowStrID,TNewStru8094.FParityInt  " +
+            ") tmp_tblpzts  left join TOrganizeCell on tmp_tblpzts.HogpendID=TOrganizeCell.FID " +
+            "where TOrganizeCell.FNAME is not null 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 ="select  " +
+            "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' " +
+            "from " +
+            "(select tmp_tblpz.HogpendID as 'ZCID',sum(tmp_tblpz.mate_times) as 'PZTS', count(tmp_tblfm.SowStrID) as 'fmts', " +
+            "CAST(count(tmp_tblfm.SowStrID)*1.0/(case sum(tmp_tblpz.mate_times) when 0 then null else sum(tmp_tblpz.mate_times) end)*100 as dec(8,2)) as 'PZFML' " +
+            "from (select  " +
+            "TBreeding.HogpendID,TNewStru8094.FBreedD,TNewStru8094.SowStrID,TNewStru8094.FParityInt,count(TNewStru8094.FID) as 'mate_times'  " +
+            "from TBreeding left join TNewStru8094 on TNewStru8094.FBreedingMainStruID=TBreeding.FID  " +
+            "where TBreeding.FLogStatee in(3,4,6)  and FDateBreed>=DATEADD(DAY,-121,?1) and FDateBreed<=DATEADD(DAY,-121,?2)  " +
+            "group by TBreeding.HogpendID,TNewStru8094.FBreedD,TNewStru8094.SowStrID,TNewStru8094.FParityInt  " +
+            ") tmp_tblpz  " +
+            "left join (select TNewStru7743.SowStrID,TNewStru7743.FParityInt from TNewStru7743  " +
+            "left join TDelivery on TNewStru7743.FDeliveryMainStruID=TDelivery.FID  " +
+            "where TDelivery.FLogStatee in(3,4,6)  and TNewStru7743.FDateBreed>=DATEADD(DAY,-121,?1) and TNewStru7743.FDateBreed<=DATEADD(DAY,-121,?2)   " +
+            ") tmp_tblfm on tmp_tblpz.SowStrID=tmp_tblfm.SowStrID and tmp_tblpz.FParityInt=tmp_tblfm.FParityInt  " +
+            "group by tmp_tblpz.HogpendID) tmp_tblpz   " +
+            "left join (select tmp_tblpz.HogpendID as 'ZCID', sum(tmp_tblpz.mate_times) as 'PZTS', count(tmp_tblfm.SowStrID) as 'lcts', " +
+            "CAST(count(tmp_tblfm.SowStrID)*1.0/(case sum(tmp_tblpz.mate_times) when 0 then null else sum(tmp_tblpz.mate_times) end)*100 as dec(8,2)) as 'PZFML'  " +
+            "from (select  " +
+            "TBreeding.HogpendID,TNewStru8094.FBreedD,TNewStru8094.SowStrID,TNewStru8094.FParityInt,count(TNewStru8094.FID) as 'mate_times'  " +
+            "from TBreeding left join TNewStru8094 on TNewStru8094.FBreedingMainStruID=TBreeding.FID  " +
+            "where TBreeding.FLogStatee in(3,4,6)  and FDateBreed>=DATEADD(DAY,-121,?1) and FDateBreed<=DATEADD(DAY,-121,?2)  " +
+            "group by TBreeding.HogpendID,TNewStru8094.FBreedD,TNewStru8094.SowStrID,TNewStru8094.FParityInt  " +
+            ") tmp_tblpz  " +
+            "left join (select TAbortionNewStru.SowStrID,TAbortionNewStru.FParityInt from TAbortionNewStru  " +
+            "left join TAbortion on TAbortionNewStru.FAbortionMainStruID=TAbortion.FID  " +
+            "where TAbortion.FLogStatee in(3,4,6)  and TAbortionNewStru.FDateBreed>=DATEADD(DAY,-121,?1) and TAbortionNewStru.FDateBreed<=DATEADD(DAY,-121,?2)   " +
+            ") tmp_tblfm on tmp_tblpz.SowStrID=tmp_tblfm.SowStrID and tmp_tblpz.FParityInt=tmp_tblfm.FParityInt  " +
+            "group by tmp_tblpz.HogpendID) tmp_tblpzlc on tmp_tblpzlc.ZCID=tmp_tblpz.ZCID " +
+            "left join TOrganizeCell on tmp_tblpz.ZCID=TOrganizeCell.FID")
+    List<Object[]> getConceptionRate(String startDate, String endDate);
 }

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

@@ -12,9 +12,9 @@ public interface IErpDataService {
 
     String getPigletInfo(String startDate,String endDate);
 
-    String getMateQuantity();
+    String getMateQuantity(String startDate, String endDate);
 
-    String getConceptionRate();
+    String getConceptionRate(String startDate, String endDate);
 
     String getAllStorage();
 }

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

@@ -197,8 +197,23 @@ public class ErpDataServiceImpl implements IErpDataService {
      * @Time        : 11:44
      */
     @Override
-    public String getMateQuantity() {
-        return null;
+    public String getMateQuantity(String startDate, String endDate) {
+        log.info(" 开始日期(配种数量) startDate:"+startDate);
+        log.info(" 结束日期(配种数量) endDate:"+endDate);
+        List<Object[]> fieldList = tDeliveryRepo.getMateQuantity(startDate,endDate);
+        log.info(" 配种查询数量:"+fieldList.size());
+        JSONArray resultJa = new JSONArray();
+        for (Object[] fieldObj : fieldList) {
+            String farm = fieldObj[0].toString();
+            String variety = fieldObj[1].toString();
+            String mate_quantity = fieldObj[2].toString();
+            JSONObject dataJo = new JSONObject();
+            dataJo.put("farm",farm);
+            dataJo.put("variety",variety);
+            dataJo.put("mate_quantity",mate_quantity);
+            resultJa.add(dataJo);
+        }
+        return resultJa.toJSONString();
     }
 
     /**
@@ -212,8 +227,21 @@ public class ErpDataServiceImpl implements IErpDataService {
      * @Time        : 11:45
      */
     @Override
-    public String getConceptionRate() {
-        return null;
+    public String getConceptionRate(String startDate, String endDate) {
+        log.info(" 开始日期(受胎率) startDate:"+startDate);
+        log.info(" 结束日期(受胎率) endDate:"+endDate);
+        List<Object[]> fieldList = tDeliveryRepo.getConceptionRate(startDate,endDate);
+        log.info(" 受胎率查询数量:"+fieldList.size());
+        JSONArray resultJa = new JSONArray();
+        for (Object[] fieldObj : fieldList) {
+            String farm = fieldObj[0].toString();
+            String conception_rate = fieldObj[1].toString();
+            JSONObject dataJo = new JSONObject();
+            dataJo.put("farm",farm);
+            dataJo.put("conception_rate",conception_rate);
+            resultJa.add(dataJo);
+        }
+        return resultJa.toJSONString();
     }
 
     /**