|
|
|
@ -770,11 +770,10 @@ exports.getBranchDetails = async (request, reply) => {
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
exports.editdepartment = async (request, reply) => {
|
|
|
|
|
exports.editdepartment = async (request, reply) => {
|
|
|
|
|
try {
|
|
|
|
|
const { departmentId } = request.params;
|
|
|
|
|
const {
|
|
|
|
|
|
|
|
|
|
phone,
|
|
|
|
|
alternativeContactNumber,
|
|
|
|
|
gender,
|
|
|
|
@ -798,23 +797,42 @@ exports.getBranchDetails = async (request, reply) => {
|
|
|
|
|
officeName,
|
|
|
|
|
picture,
|
|
|
|
|
employeeType
|
|
|
|
|
|
|
|
|
|
} = request.body;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const existing = await Deparments.findOne({ departmentId });
|
|
|
|
|
if (!existing) {
|
|
|
|
|
return reply.status(404).send({ message: 'Department not found' });
|
|
|
|
|
return reply.status(404).send({ message: "Department not found" });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const phoneExists = await Deparments.findOne({ phone, departmentId: { $ne: departmentId } });
|
|
|
|
|
const phoneExists = await Deparments.findOne({
|
|
|
|
|
phone,
|
|
|
|
|
departmentId: { $ne: departmentId },
|
|
|
|
|
});
|
|
|
|
|
if (phoneExists) {
|
|
|
|
|
return reply.status(400).send({ message: 'Phone is already registered to another user' });
|
|
|
|
|
return reply
|
|
|
|
|
.status(400)
|
|
|
|
|
.send({ message: "Phone is already registered to another user" });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 🟢 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.alternativeContactNumber =
|
|
|
|
|
alternativeContactNumber || existing.alternativeContactNumber;
|
|
|
|
|
existing.personalEmail = personalEmail || existing.personalEmail;
|
|
|
|
|
existing.gender = gender || existing.gender;
|
|
|
|
|
existing.city = city || existing.city;
|
|
|
|
@ -823,29 +841,31 @@ exports.getBranchDetails = async (request, reply) => {
|
|
|
|
|
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.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
|
|
|
|
|
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' });
|
|
|
|
|
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();
|
|
|
|
|