|
@@ -8,6 +8,17 @@ 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'" +
|
|
|
" from TDelivery left join TNewStru7743 on TNewStru7743.FDeliveryMainStruID=TDelivery.FID " +
|
|
|
" where TDelivery.FLogStatee in(3,4,6) and TDelivery.FDateDelivery between '2021-03-01' and '2021-03-09')PJWCHZ, " +
|
|
@@ -29,4 +40,60 @@ public interface TDeliveryRepo extends JpaRepository<TDeliveryEntity, String>, J
|
|
|
" ) tmp_tbl " +
|
|
|
" having avg(tjj)>0)ncws ")
|
|
|
List<Object[]> getPsy();
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @Method : getReEstrusRate
|
|
|
+ * @Description : 返情率
|
|
|
+ * @Params : []
|
|
|
+ * @Return : java.util.List<java.lang.Object[]>
|
|
|
+ *
|
|
|
+ * @Author : ZhuoNing
|
|
|
+ * @Date : 2021/5/15
|
|
|
+ * @Time : 13:50
|
|
|
+ */
|
|
|
+ @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 'reestrus_rate' " +
|
|
|
+ "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)>=-121 and datediff(dd, ?2,FDateBreed) <=-121 " +
|
|
|
+ "group by TBreeding.HogpendID,TNewStru8094.FBreedD,TNewStru8094.SowStrID,TNewStru8094.FParityInt " +
|
|
|
+ ") tmp_tblpz " +
|
|
|
+ "left join (select TReturnEstrusewStru.SowStrID,TReturnEstrusewStru.FParityInt from TReturnEstrusewStru " +
|
|
|
+ "left join TReturnEstrus on TReturnEstrusewStru.FReturnEstrusMainStruID=TReturnEstrus.FID " +
|
|
|
+ "where TReturnEstrus.FLogStatee in(3,4,6) and datediff(dd, ?1, TReturnEstrusewStru.FDateBreed)>=-121 and datediff(dd, ?2,TReturnEstrusewStru.FDateBreed) <=-121 " +
|
|
|
+ ") tmp_tblfm on tmp_tblpz.SowStrID=tmp_tblfm.SowStrID and tmp_tblpz.FParityInt=tmp_tblfm.FParityInt " +
|
|
|
+ "left join TOrganizeCell on tmp_tblpz.HogpendID=TOrganizeCell.FID " +
|
|
|
+ "where TOrganizeCell.FNAME is not null " +
|
|
|
+ "group by TOrganizeCell.FSHORTNAME,tmp_tblpz.FBreedD")
|
|
|
+ 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 ="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' " +
|
|
|
+ "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)>=-121 and datediff(dd, ?2,FDateBreed) <=-121 " +
|
|
|
+ "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 datediff(dd, ?1, TNewStru7743.FDateBreed )>=-121 " +
|
|
|
+ "and datediff(dd, ?2,TNewStru7743.FDateBreed ) <=-121 " +
|
|
|
+ ") tmp_tblfm on tmp_tblpz.SowStrID=tmp_tblfm.SowStrID and tmp_tblpz.FParityInt=tmp_tblfm.FParityInt " +
|
|
|
+ "left join TOrganizeCell on tmp_tblpz.HogpendID=TOrganizeCell.FID " +
|
|
|
+ "where TOrganizeCell.FNAME is not null " +
|
|
|
+ "group by TOrganizeCell.FSHORTNAME,tmp_tblpz.FBreedD ")
|
|
|
+ List<Object[]> getParturitionRate(String startDate, String endDate);
|
|
|
}
|