fix: restaurer code emploi en duplication

This commit is contained in:
odentas 2025-12-09 12:32:58 +01:00
parent 15646af9d6
commit d1957400bc
3 changed files with 46 additions and 0 deletions

View file

@ -1031,6 +1031,20 @@ return (
type="button"
onClick={() => {
// Construire le payload de duplication avec vérifications améliorées
const professionCode = (() => {
const candidates = [
(data as any).profession_code,
(data as any).codeprofession,
(data as any).code_profession,
(data as any).codeemploi,
];
for (const raw of candidates) {
if (typeof raw === "string" && raw.trim()) return raw.trim();
}
const match = /([A-Z]{3}\d{3})/.exec((data.profession || "").toString());
return match ? match[1] : "";
})();
const payload: any = {
// Production : utiliser production (nom de la production)
spectacle: data.production || "",
@ -1070,6 +1084,7 @@ return (
// Profession : améliorer l'extraction
profession: {
label: data.profession || "",
code: professionCode,
},
// Dates

View file

@ -919,6 +919,20 @@ return (
type="button"
onClick={() => {
// Construire le payload de duplication avec vérifications améliorées
const professionCode = (() => {
const candidates = [
(data as any).profession_code,
(data as any).codeprofession,
(data as any).code_profession,
(data as any).codeemploi,
];
for (const raw of candidates) {
if (typeof raw === "string" && raw.trim()) return raw.trim();
}
const match = /([A-Z]{3}\d{3})/.exec((data.profession || "").toString());
return match ? match[1] : "";
})();
const payload: any = {
// Production : utiliser production (nom de la production)
spectacle: data.production || "",
@ -958,6 +972,7 @@ return (
// Profession : améliorer l'extraction
profession: {
label: data.profession || "",
code: professionCode,
},
// Dates

View file

@ -138,6 +138,21 @@ export async function GET(req: NextRequest, { params }: { params: { id: string }
const isMulti = cddu.multi_mois === "Oui" || cddu.multi_mois === true;
const td = String(cddu.type_d_embauche || "").toLowerCase();
const isRG = td.includes("régime général") || td.includes("regime general") || td === "rg";
const professionCode = (() => {
const candidates = [
(cddu as any).profession_code,
(cddu as any).codeprofession,
(cddu as any).code_profession,
(cddu as any).codeemploi,
];
for (const raw of candidates) {
if (typeof raw === "string" && raw.trim()) return raw.trim();
}
const profSource = (cddu.profession || cddu.role || "").toString();
const match = profSource.match(/([A-Z]{3}\d{3})/);
return match ? match[1] : undefined;
})();
const detail = {
id: cddu.id,
numero: cddu.contract_number,
@ -148,6 +163,7 @@ export async function GET(req: NextRequest, { params }: { params: { id: string }
production: cddu.production_name || cddu.structure || "",
objet: cddu.objet_spectacle || cddu.nom_du_spectacle || undefined,
profession: cddu.profession || cddu.role || "",
profession_code: professionCode,
categorie_prof: cddu.categorie_pro || undefined,
type_salaire: cddu.type_salaire || undefined,
salaire_demande: cddu.salaire || cddu.gross_pay || undefined,