Browse Source

route added customer update

Devansh Vakharia 2 weeks ago
parent
commit
7a47491d64
3 changed files with 118 additions and 23 deletions
  1. 113 23
      controllers/dvrReportController.js
  2. 4 0
      controllers/validation.js
  3. 1 0
      routes/route.js

+ 113 - 23
controllers/dvrReportController.js

@@ -191,7 +191,8 @@ module.exports.getselectionData = async (req, res) => {
         var funcDetails = [];
 
 
-        const query = "SELECT customer_id,customer_name FROM customer_master";
+        // const query = "SELECT customer_id,customer_name,customer_status FROM customer_master";
+        const query = "SELECT c.customer_id, c.customer_name, c.customer_status, u.first_name, u.last_name, u.user_id FROM customer_master c JOIN customer_user_mapping cu ON c.customer_id = cu.customer_id JOIN user_master u ON cu.user_id = u.user_id;"
         const queryresult = await db.executequery(query);
 
         if (queryresult.length > 0) {
@@ -1706,39 +1707,128 @@ module.exports.deleteContactDetails = async (req, res) => {
 module.exports.updateCustomerDetails = async (req, res) => {
     const validationResp = await validation.updateCustomerDetailscheck(req);
     const updatedDate = await getcurrentDate();
-
+    console.log(req.body);
     if (validationResp.status) {
-        try {
-            const query = "UPDATE customer_master SET customer_id = '" + req.body.customer_id + "', updated_on= '" + updatedDate + "'  where customer_master= '" + req.body.contact_master + "'";
-            console.log("query", query);
-            const queryresult = await db.executequery(query);
-            console.log("queryresult", queryresult);
+        if (req.body.sale_person) {
+            var saleData = req.body.sale_person.split(" ");
+            const query0 =  "select user_id from user_master where first_name= '" + saleData[0] + "' and last_name= '" + saleData[1] + "'";
+            console.log("query", query0);
+            const query0result = await db.executequery(query0);
+            try {
+                if (query0result[0].user_id != req.body.old_sale_person) {
+                    const query1 = "UPDATE customer_user_mapping set user_id =" + query0result[0].user_id + ", updated_by = '" + req.body.updated_by + "', updated_on = '" + updatedDate + "' where customer_id = " + req.body.customer_id + " and user_id =" + req.body.old_sale_person + ";";
+                    console.log("query", query1);
+                    const query1result = await db.executequery(query1);
+                    console.log(query1result);
+                }
+                else {
+                console.log("Same User ID found. " + query0result[0].user_id + " == " + req.body.old_sale_person);
+                }
+                const query = "UPDATE customer_master SET customer_name = '" + req.body.customer_name + "', customer_status= '" + req.body.status + "', updated_on= '" + updatedDate + "', updated_by= '" + req.body.updated_by + "'  where customer_id= '" + req.body.customer_id + "'";
+                console.log("query", query);
+                const queryresult = await db.executequery(query);
+                console.log("queryresult", queryresult);
 
-            if (queryresult) {
+                if (queryresult) {
+                    res.send({
+                        updateCustomerStatus: '0',
+                        mesasge: "Customer Entry updated suceesfully."
+                    })
+
+                } else {
+                    res.send({
+                        updateCustomerStatus: '1',
+                        mesasge: "Customer Entry not updated."
+
+                    })
+                }
+            }
+            catch (err) {
+                console.log(err)
                 res.send({
-                    updateCustomerStatus: '0',
-                    mesasge: "Customer Entry updated suceesfully."
+                    status: true, data: []
                 })
-
-            } else {
+            }
+        }
+        else {
+            {
                 res.send({
                     updateCustomerStatus: '1',
-                    mesasge: "Customer Entry not updated."
-
+                    mesasge: "Sale Person not selected."
                 })
             }
         }
-        catch (err) {
-            console.log(err)
+    
+    } else {
+        res.send(validationResp)
+        }
+    }
+
+
+module.exports.addCustomerUserMapping = async (req, res) => {
+    const createdate = new Date();
+    const query = "select customer_id, user_id from customer_user_mapping where customer_id = " + req.body.customer_id + " and user_id = " + req.body.user_id + ";";
+    const queryresult = await db.executequery(query);
+    console.log(queryresult);
+
+    if (queryresult.length<1) {
+        console.log("INSERTING");
+
+        const finalquery = "INSERT INTO customer_user_mapping(customer_id,user_id,created_by,created_on)" +
+                                "VALUES(?,?,?,?)";
+        const values = [req.body.customer_id, req.body.user_id, req.body.created_by, createdate]
+        const res3 = await db.executevaluesquery(finalquery, values);
+        // console.log("res3", res3);
+        if (res3) {
             res.send({
-                status: true, data: []
+                status: true,
+                data: [{
+                    addCustomerMappingStatus: "0",
+                    message: "Customer Mapping Entry created Successfully!",
+                    lastinsertedData: req.body.customer_id,
+                        exception: {
+                                        errorid: "",
+                                        errormessage: "No Errors"
+                                    }
+                        }],
+                    error: " "
+
+                })
+
+            } else {
+                res.send({
+                    status: false,
+                    data: [{
+                        message: "Customer Mapping Entry  Not created",
+                        addCustomerMappingStatus: "1",
+                        exception: {
+                                        errorid: "404",
+                                        errormessage: "Bad request"
+                                    }
+                }],
+                error: ""
             })
         }
-    } else {
-        res.send(validationResp)
+
+    }
+
+    else {
+            res.send({
+            status: false,
+            data: [{
+                message: "Customer Mapping Entry Already Present",
+                addCustomerMappingStatus: "1",
+                exception: {
+                    errorid: "404",
+                    errormessage: "User Already mapped to customer"
+                    }
+                }],
+                error: ""
+            })
     }
 }
 
+
 module.exports.getlastestdvr = async (req, res) => {
     try {
         var insertedRecord = [];
@@ -2147,9 +2237,9 @@ module.exports.createUpdateCustomerentry = async (req, res) => {
                 } else {
                     //data not is present
 
-                    const query = "INSERT INTO customer_master(customer_name,created_by,created_on)" +
-                        "VALUES(?,?,?)";
-                    const values = [req.body.customer_name, req.body.created_by, createdate]
+                    const query = "INSERT INTO customer_master(customer_name,customer_status,created_by,created_on)" +
+                        "VALUES(?,?,?,?)";
+                    const values = [req.body.customer_name, req.body.status, req.body.created_by, createdate]
                     const res3 = await db.executevaluesquery(query, values);
                     // console.log("response", res3);
                     if (res3) {
@@ -2234,7 +2324,7 @@ module.exports.createUpdateCustomerentry = async (req, res) => {
             } else {
                 console.log("customer update");
 
-                const query = "UPDATE customer_master SET customer_name= '" + req.body.customer_name + "',updated_on= '" + createdate + "' ,updated_by= '" + req.body.created_by + "' where customer_id= '" + req.body.customer_id + "'";
+                const query = "UPDATE customer_master SET customer_name= '" + req.body.customer_name + "', customer_status= '" + req.body.customer_status + "', updated_on= '" + createdate + "' ,updated_by= '" + req.body.created_by + "' where customer_id= '" + req.body.customer_id + "'";
                 console.log("query", query);
                 const queryresult = await db.executequery(query);
                 console.log("queryresult", queryresult);

+ 4 - 0
controllers/validation.js

@@ -223,6 +223,10 @@ module.exports.createCustomerentrycheck = async function (req, res) {
         return { status: false, data: {}, errors: "Please enter Valid Sales Person Name" }
     }
 
+    if (req.body.status == "" || req.body.status == undefined || req.body.status == null) {
+        return { status: false, data: {}, errors: "Please enter Valid Customer Status" }
+    }
+
     if (req.body.created_by == "" || req.body.created_by == undefined || req.body.created_by == null) {
         return { status: false, data: {}, errors: "Please enter Login ID" }
     }

+ 1 - 0
routes/route.js

@@ -30,6 +30,7 @@ router.post("/api/createCustomerEntry",auth,dvrController.createCustomerentry);
 router.put("/api/updateContactDetails",auth,dvrController.updateContactDetails);
 router.delete("/api/deleteContactDetails",auth,dvrController.deleteContactDetails);
 router.put("/api/updateCustomerDetails",auth,dvrController.updateCustomerDetails);
+router.post("/api/addCustomerUserMapping",auth,dvrController.addCustomerUserMapping);
 router.get("/api/getlastestdvr",auth,dvrController.getlastestdvr);
 
 router.get("/api/getcontactdetails",auth,dvrController.getcontactDetails);