fix: restaurer code emploi en duplication
This commit is contained in:
parent
15646af9d6
commit
d1957400bc
3 changed files with 46 additions and 0 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Reference in a new issue