changes on update

master^2
Bhaskar 1 month ago
parent 92a8960bf2
commit c8b1f1d838

@ -770,82 +770,102 @@ exports.getBranchDetails = async (request, reply) => {
};
exports.editdepartment = async (request, reply) => {
try {
const { departmentId } = request.params;
const {
phone,
alternativeContactNumber,
gender,
personalEmail,
city,
firstName,
lastName,
email,
reportingManager,
departmentName,
state,
country,
zone,
address1,
address2,
pincode,
desginationName,
personal_city,
reportingManager_mobile_number,
reportingManager_email,
officeName,
picture,
employeeType
exports.editdepartment = async (request, reply) => {
try {
const { departmentId } = request.params;
const {
phone,
alternativeContactNumber,
gender,
personalEmail,
city,
firstName,
lastName,
email,
reportingManager,
departmentName,
state,
country,
zone,
address1,
address2,
pincode,
desginationName,
personal_city,
reportingManager_mobile_number,
reportingManager_email,
officeName,
picture,
employeeType
} = request.body;
} = request.body;
const existing = await Deparments.findOne({ departmentId });
if (!existing) {
return reply.status(404).send({ message: 'Department not found' });
}
const phoneExists = await Deparments.findOne({ phone, departmentId: { $ne: departmentId } });
if (phoneExists) {
return reply.status(400).send({ message: 'Phone is already registered to another user' });
}
existing.phone = phone || existing.phone;
existing.alternativeContactNumber = alternativeContactNumber || existing.alternativeContactNumber;
existing.personalEmail = personalEmail || existing.personalEmail;
existing.gender = gender || existing.gender;
existing.city = city || existing.city;
existing.state = state || existing.state;
existing.country = country || existing.country;
existing.zone = zone || existing.zone;
existing.desginationName = desginationName || existing.desginationName;
existing.pincode = pincode || existing.pincode;
const existing = await Deparments.findOne({ departmentId });
if (!existing) {
return reply.status(404).send({ message: "Department not found" });
}
existing.address1 = address1 || existing.address1;
existing.address2 = address2 || existing.address2;
existing.email = email || existing.email;
existing.firstName = firstName || existing.firstName;
existing.lastName = lastName || existing.lastName;
existing.departmentName = departmentName || existing.departmentName;
existing.reportingManager = reportingManager || existing.reportingManager
existing.personal_city = personal_city || existing.personal_city;
existing.reportingManager_mobile_number = reportingManager_mobile_number || existing.reportingManager_mobile_number;
existing.reportingManager_email = reportingManager_email || existing.reportingManager_email;
existing.officeName = officeName || existing.officeName
existing.picture = picture || existing.picture
existing.employeeType = employeeType || existing.employeeType
const phoneExists = await Deparments.findOne({
phone,
departmentId: { $ne: departmentId },
});
if (phoneExists) {
return reply
.status(400)
.send({ message: "Phone is already registered to another user" });
}
await existing.save();
reply.send({ message: 'Department user updated successfully' });
} catch (err) {
reply.status(500).send({ message: err.message });
// 🟢 Handle reportingManager "Self"
let finalReportingManager = reportingManager || existing.reportingManager;
let finalReportingManagerMobile =
reportingManager_mobile_number || existing.reportingManager_mobile_number;
let finalReportingManagerEmail =
reportingManager_email || existing.reportingManager_email;
if (reportingManager?.toLowerCase() === "self") {
finalReportingManager = `${firstName || existing.firstName || ""} ${
lastName || existing.lastName || ""
} - (${phone || existing.phone}) - ${city || existing.city}`;
finalReportingManagerMobile = phone || existing.phone;
finalReportingManagerEmail = email || existing.email;
}
};
// 🔹 Update fields
existing.phone = phone || existing.phone;
existing.alternativeContactNumber =
alternativeContactNumber || existing.alternativeContactNumber;
existing.personalEmail = personalEmail || existing.personalEmail;
existing.gender = gender || existing.gender;
existing.city = city || existing.city;
existing.state = state || existing.state;
existing.country = country || existing.country;
existing.zone = zone || existing.zone;
existing.desginationName = desginationName || existing.desginationName;
existing.pincode = pincode || existing.pincode;
existing.address1 = address1 || existing.address1;
existing.address2 = address2 || existing.address2;
existing.email = email || existing.email;
existing.firstName = firstName || existing.firstName;
existing.lastName = lastName || existing.lastName;
existing.departmentName = departmentName || existing.departmentName;
existing.personal_city = personal_city || existing.personal_city;
existing.officeName = officeName || existing.officeName;
existing.picture = picture || existing.picture;
existing.employeeType = employeeType || existing.employeeType;
// 🔹 Assign formatted reportingManager
existing.reportingManager = finalReportingManager;
existing.reportingManager_mobile_number = finalReportingManagerMobile;
existing.reportingManager_email = finalReportingManagerEmail;
await existing.save();
reply.send({ message: "Department user updated successfully" });
} catch (err) {
console.error("❌ Error in editdepartment:", err);
reply.status(500).send({ message: err.message });
}
};
// exports.getAllDesignationsParticularFields = async (req, reply) => {
// try {
// const departments = await Desgination.find().exec();

Loading…
Cancel
Save