[éCow] Correctifs et nettoyage

This commit is contained in:
2026-09-02 11:23:16 +02:00
parent 108562c69b
commit 9291831ee5
4 changed files with 218 additions and 184 deletions
+32 -11
View File
@@ -37,10 +37,13 @@ get_cheptel_ecow <- function(num_cheptel){
active_by_chep <- http_get(url = paste0(url_active_by_chep, num_cheptel))
if(nrow(active_by_chep$vaches) == 0 ) return(active_by_chep)
donneuses <- active_by_chep$donneuses
nomsparents <- active_by_chep$nomsparents
active_by_chep$donneuses <- NULL
active_by_chep$nomsparents <- NULL
# Nettoyage des données pour les listes reçues
active_by_chep <- lapply(active_by_chep, clean_data_anims)
active_by_chep$donneuses <- donneuses
active_by_chep$nomsparents <- nomsparents
return(active_by_chep)
}
@@ -85,8 +88,6 @@ get_cztotaux <- function(){
c(czAV$animal, czS$animal, czE$animalo)
}
###########################################################################################
# Retourne les informations de connection à la base
get_db_connection <- function() {
do.call(DBI::dbConnect, infos_con)
@@ -102,7 +103,6 @@ cheptel_has_ponderation <- function(con, num_cheptel) {
}
#' Met en forme les données issues de la BDD pour qu'elles soient directement interrogeable
#'
format_ponderation <- function(df) {
df %>%
mutate(sous_categorie = ifelse(is.na(sous_categorie), "NA", sous_categorie)) %>%
@@ -143,17 +143,38 @@ get_params_ponderation <- function(num_cheptel){
return(format_ponderation(data))
}
########################################################################################################
########################################################################################################
#' TODO Pour l'instant on récupère la dernière extraction, à terme il faudra récupérer l'intégration SPIE
#' ATTENTION problème import fichier à cause des \ User !!!!!!!!!!!!!!!!!!!!!!!!!!!
#' Récupère le nombre de veaux total par parents à partir d'une extraction excel complétée par les données SPIE
#' Le nombre renvoyé est le nombre total tous cheptels confondus, sans détail sur les veaux
get_parents_ipg <- function(){
# Extraction du fichier excel contenant les données de la table bovide du SIG jusqu'au 06/01/2026
meresIPG <- read_csv(paste(rep_imp, "nb_prod_IPG_byMERE_20260106.csv", sep=''), show_col_types = FALSE)
colnames(meresIPG) <- c('ANIM','NBPRODIPG')
colnames(meresIPG) <- c('ANIM','NBPRODSIG')
# Extraction SPIE pour compléter à partir du 03/01/2026 (choix date pour essayer de limiter les doublons et manquement)
url_meres_spie <- paste0(server_path, "webresources/spie/nbprodbymeresince2026/")
meres_spie_brut <- http_get(url = paste0(url_meres_spie, num_cheptel))
meres_spie <- as.data.frame(meres_spie_brut, stringsAsFactors = FALSE)
colnames(meres_spie) <- c('ANIM','NBPRODSPIE')
meres_spie$NBPRODSPIE <- as.numeric(meres_spie$NBPRODSPIE)
groupe_meres <- full_join(meres_spie, meresIPG, by = "ANIM") %>%
mutate(NBPRODIPG = coalesce(NBPRODSPIE, 0) + coalesce(NBPRODSIG, 0)) %>%
select(ANIM, NBPRODIPG)
# Extraction excel pères
peresIPG <- read_csv(paste(rep_imp, "nb_prod_IPG_byPERE_20260106.csv", sep=''), show_col_types = FALSE)
colnames(peresIPG) <- c('ANIM','NBPRODIPG')
colnames(peresIPG) <- c('ANIM','NBPRODSIG')
parentsIPG <- rbind(meresIPG, peresIPG)
# Extraction SPIE pères
url_peres_spie <- paste0(server_path, "webresources/spie/nbprodbyperesince2026/")
peres_spie_brut <- http_get(url = paste0(url_peres_spie, num_cheptel))
peres_spie <- as.data.frame(peres_spie_brut, stringsAsFactors = FALSE)
colnames(peres_spie) <- c('ANIM','NBPRODSPIE')
peres_spie$NBPRODSPIE <- as.numeric(peres_spie$NBPRODSPIE)
groupe_peres <- full_join(peres_spie, peresIPG, by = "ANIM") %>%
mutate(NBPRODIPG = coalesce(NBPRODSPIE, 0) + coalesce(NBPRODSIG, 0)) %>%
select(ANIM, NBPRODIPG)
parentsIPG <- rbind(groupe_meres, groupe_peres)
}