dvrReportController.js 105 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476
  1. const db = require("../services/dbconnection");
  2. const validation = require("../controllers/validation")
  3. const moment = require("moment");
  4. const logger = require('../utils/logger');
  5. module.exports.createContactEntry = async (req, res) => {
  6. const validationResp = await validation.createContactentrycheck(req);
  7. const createdate = new Date();
  8. if (validationResp.status) {
  9. try {
  10. var stage_id;
  11. if (req.body.email_id == null || req.body.mobile_no == null) {
  12. //|| req.body.department == null || req.body.designation == null) {
  13. stage_id = 2;
  14. console.log(stage_id);
  15. } else {
  16. stage_id = 1;
  17. }
  18. const query = "INSERT INTO contact_master(first_name,last_name,mobile_number,email_id,designation,department,function_area,created_by,created_on,customer_id,stage_id)" +
  19. "VALUES(?,?,?,?,?,?,?,?,?,?,?)";
  20. const values = [req.body.first_name, req.body.last_name, req.body.mobile_no, req.body.email_id, req.body.designation, req.body.department, req.body.function, req.body.created_by, createdate, req.body.contact_for, stage_id]
  21. const res1 = await db.executevaluesquery(query, values);
  22. logger.info('log to file', res);
  23. if (res1) {
  24. const query = "select contact_id,customer_id,first_name,last_name from contact_master order by contact_id desc limit 1";
  25. const queryresult = await db.executequery(query);
  26. console.log("queryresult", queryresult);
  27. res.send({
  28. status: true,
  29. data: [{
  30. message: "Contact Entry created Successfully ",
  31. createStatus: "0",
  32. lastinsertedData: queryresult[0].first_name + " " + queryresult[0].last_name,
  33. exception: {
  34. errorid: "",
  35. errormessage: "No Errors"
  36. }
  37. }],
  38. error: " "
  39. })
  40. } else {
  41. res.send({
  42. status: true,
  43. data: [{
  44. message: "",
  45. createStatus: "1",
  46. exception: {
  47. errorid: "404",
  48. errormessage: "Bad request"
  49. }
  50. }],
  51. error: ""
  52. })
  53. }
  54. }
  55. catch (err) {
  56. console.log(err)
  57. res.send({
  58. status: true,
  59. data: [{
  60. message: "",
  61. createStatus: "1",
  62. exception: {
  63. errorid: "404",
  64. errormessage: "Bad request"
  65. }
  66. }],
  67. error: err
  68. })
  69. }
  70. } else {
  71. res.send(validationResp)
  72. }
  73. }
  74. module.exports.getdvrDetails = async (req, res) => {
  75. console.log("in dvr details for one id");
  76. const validationResp = await validation.getdvrDetailscheck(req);
  77. if (validationResp.status) {
  78. try {
  79. const query = "SELECT d.dvr_id,d.date_of_visit,d.customer_name,d.contact_name,d.physical_meeting,d.message,s.stage_desc,d.stage_id,d.created_on FROM dvr_report d JOIN stage_master s ON d.stage_id=s.stage_id WHERE d.dvr_id = '" + req.query.dvrid + "' and d.delete_id = 0";
  80. console.log("query", query)
  81. const queryresult = await db.executequery(query);
  82. if (queryresult.length > 0) {
  83. res.send({
  84. status: true,
  85. data: [
  86. {
  87. getdvrDataStatus: '0',
  88. mesasge: "Data Found",
  89. visit_date: queryresult[0].date_of_visit,
  90. customer_name: queryresult[0].customer_name,
  91. contact_name: queryresult[0].contact_name,
  92. mesasge: queryresult[0].message,
  93. physical_metting: queryresult[0].physical_meeting,
  94. stage_desc: queryresult[0].stage_desc,
  95. stage_id: queryresult[0].stage_id,
  96. created_on: queryresult[0].created_on
  97. }
  98. ],
  99. errors: ""
  100. })
  101. } else {
  102. res.send({
  103. status: false,
  104. data: [
  105. {
  106. getdvrDataStatus: '1',
  107. mesasge: "Data not Found"
  108. }
  109. ],
  110. errors: ""
  111. })
  112. }
  113. }
  114. catch (err) {
  115. console.log(err)
  116. res.send({
  117. status: true, data: []
  118. })
  119. }
  120. } else {
  121. res.send(validationResp)
  122. }
  123. }
  124. module.exports.getselectionData = async (req, res) => {
  125. try {
  126. var customerData = [];
  127. var contactData = [];
  128. var stageData = [];
  129. const query = "SELECT customer_id,customer_name FROM customer_master";
  130. const queryresult = await db.executequery(query);
  131. if (queryresult.length > 0) {
  132. for (var i = 0; i < queryresult.length; i++) {
  133. customerData.push(queryresult[i])
  134. }
  135. }
  136. const query1 = "SELECT contact_id,first_name,last_name FROM contact_master";
  137. const queryresult1 = await db.executequery(query1);
  138. if (queryresult1.length > 0) {
  139. for (var i = 0; i < queryresult1.length; i++) {
  140. contactData.push(queryresult1[i])
  141. }
  142. }
  143. const query2 = "SELECT stage_id,stage_desc FROM stage_master";
  144. const queryresult2 = await db.executequery(query2);
  145. if (queryresult2.length > 0) {
  146. for (var i = 0; i < queryresult2.length; i++) {
  147. stageData.push(queryresult2[i])
  148. }
  149. }
  150. res.send({
  151. status: true,
  152. data: [{
  153. customerData: customerData
  154. }, {
  155. contactData: contactData
  156. }, {
  157. stageData: stageData
  158. }
  159. ],
  160. error: ""
  161. })
  162. }
  163. catch (err) {
  164. console.log(err)
  165. res.send({
  166. status: true, data: [], error: err
  167. })
  168. }
  169. }
  170. module.exports.getdashboarddetails = async (req, res) => {
  171. try {
  172. var login_id = req.query.login_id;
  173. var sale_person = req.query.salePerson;
  174. var customer = req.query.customer;
  175. var customer_id = req.query.customerid;
  176. var rol_des;
  177. var dvrlist = [];
  178. var rolData;
  179. var rolData1;
  180. var dates, firstdate, seconddate;
  181. var user_id_for_mapp;
  182. var emai_id;
  183. const findRole = "call SP_roleidentify1('" + login_id + "')";
  184. const roleidentify = await db.executequery(findRole);
  185. rolData = roleidentify[0];
  186. console.log("findRole", findRole);
  187. rolData.forEach(function (item) {
  188. console.log(item.role_des);
  189. rolData1 = item.role_des;
  190. user_id_for_mapp = item.user_id11;
  191. });
  192. //console.log("item",item);
  193. rol_des = rolData1;
  194. console.log("user_id_for_mapp", user_id_for_mapp)
  195. if (rol_des == 'admin') {
  196. //admin
  197. console.log("req.query.searchfiltertype", req.query.searchfiltertype);
  198. if (req.query.searchfiltertype) {
  199. if (req.query.searchfiltertype.length > 1) {
  200. //date seach filter
  201. console.log("in ifffffffffffffffffffffffffffff");
  202. var searchfilter = req.query.searchfiltertype;
  203. console.log("searchfilter", searchfilter);
  204. if (searchfilter == "undefineddate") {
  205. console.log("date not pass");
  206. firstdate = '';
  207. seconddate = '';
  208. } else {
  209. dates = searchfilter.split("-");
  210. console.log("dates", dates)
  211. firstdate = dates[0] + ' 00:00:00';
  212. seconddate = dates[1] + ' 23:59:59';
  213. }
  214. var querydvr;
  215. var countquery;
  216. console.log("firstdate", firstdate);
  217. console.log("seconddate", seconddate);
  218. console.log("ooooooooooooo", sale_person);
  219. if (sale_person != undefined && sale_person != 'undefined' && sale_person != 'all') {
  220. var data = sale_person.split(" ");
  221. console.log("data----->", data)
  222. console.log("need to find sale person email id for cound data");
  223. var query = "select user_id,login_id from user_master where first_name like '%" + data[0] + "%' and last_name like '%" + data[1] + "%'";
  224. const res_user = await db.executequery(query);
  225. console.log("res_user", res_user);
  226. console.log("res_user----------->", res_user[0].login_id)
  227. emai_id = res_user[0].login_id;
  228. }
  229. console.log("customer", customer, "customer_id", customer_id, " email_id-->", emai_id);
  230. if (sale_person != undefined && customer == undefined && searchfilter == 'undefineddate' && sale_person != 'all') {
  231. console.log("only for sale_person");
  232. querydvr = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where sale_person like '%" + sale_person + "%' and delete_id=0 order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc";
  233. countquery = "call SP_CountDashboard_admin ('" + firstdate + "','" + seconddate + "','" + emai_id + "','" + '' + "','" + '' + "')";
  234. } else if (sale_person == undefined && customer != undefined && searchfilter == 'undefineddate' && sale_person != 'all' && customer != 'all') {
  235. console.log("only for customer");
  236. querydvr = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where customer_name like '%" + customer + "%' and delete_id=0 order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc";
  237. countquery = "call SP_CountDashboard_admin ('" + firstdate + "','" + seconddate + "','" + '' + "','" + customer + "','" + customer_id + "')";
  238. } else if (sale_person != undefined && customer != undefined && customer_id != undefined && sale_person != 'all') {
  239. console.log("for sales_person and Customer");
  240. querydvr = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where customer_name like '%" + customer + "%' and sale_person like '%" + sale_person + "%' and delete_id=0 order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc";
  241. countquery = "call SP_CountDashboard_admin ('" + firstdate + "','" + seconddate + "','" + emai_id + "','" + customer + "','" + customer_id + "')";
  242. } else if (sale_person != 'all' && firstdate != undefined && seconddate != undefined && sale_person != undefined) {
  243. console.log("date and sale_person");
  244. querydvr = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where date_of_visit between'" + firstdate + "' and '" + seconddate + "' and sale_person like '%" + sale_person + "%' and delete_id=0 order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc";
  245. countquery = "call SP_CountDashboard_admin ('" + firstdate + "','" + seconddate + "','" + emai_id + "','" + '' + "','" + '' + "')";
  246. } else if (customer != undefined && firstdate != undefined && seconddate != undefined && sale_person == undefined) {
  247. console.log("for date and customer");
  248. querydvr = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where date_of_visit between'" + firstdate + "' and '" + seconddate + "' and customer_name like '%" + customer + "%' and delete_id=0 order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc";
  249. countquery = "call SP_CountDashboard_admin ('" + firstdate + "','" + seconddate + "','" + '' + "','" + customer + "','" + customer_id + "')";
  250. } else if (customer != undefined && firstdate != undefined && seconddate != undefined && sale_person != undefined) {
  251. console.log("all filters");
  252. querydvr = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where date_of_visit between'" + firstdate + "' and '" + seconddate + "' and customer_name like '%" + customer + "%' and sale_person like '%" + sale_person + "%' and delete_id=0 order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc";
  253. countquery = "call SP_CountDashboard_admin ('" + firstdate + "','" + seconddate + "','" + emai_id + "','" + customer + "','" + customer_id + "')";
  254. }
  255. else {
  256. console.log("only for date");
  257. querydvr = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where date_of_visit between'" + firstdate + "' and '" + seconddate + "' and delete_id=0 order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc";
  258. countquery = "call SP_CountDashboard_admin ('" + firstdate + "','" + seconddate + "','" + '' + "','" + '' + "','" + '' + "')";
  259. }
  260. // if (sale_person == undefined && customer == undefined && searchfilter != "undefineddate" && sale_person == 'undefined') {
  261. // console.log("only for date")
  262. // querydvr = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where date_of_visit between'" + firstdate + "' and '" + seconddate + "' and delete_id=0 order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc";
  263. // countquery = "call SP_CountDashboard_admin ('" + firstdate + "','" + seconddate + "','" + '' + "','" + '' + "','" + '' + "')";
  264. // } else if (sale_person != undefined && searchfilter == "undefineddate" && customer == undefined && sale_person !='undefined') {
  265. // console.log("for sale_peron only")
  266. // querydvr = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where sale_person like '%" + sale_person + "%' and delete_id=0 order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc";
  267. // countquery = "call SP_CountDashboard_admin ('" + firstdate + "','" + seconddate + "','" + emai_id + "','" + '' + "','" + '' + "')";
  268. // }else if(customer != undefined && customer_id !=undefined && searchfilter == "undefineddate" && sale_person !=undefined && sale_person != 'undefined'){
  269. // console.log("for customer only");
  270. // querydvr = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where customer_name like '%" + customer + "%' and delete_id=0 order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc";
  271. // countquery = "call SP_CountDashboard_admin ('" + firstdate + "','" + seconddate + "','" + '' + "','" + customer + "','" + customer_id + "')";
  272. // }else if(customer !=undefined && sale_person !='undefined' && sale_person !=undefined && searchfilter == "undefineddate"){
  273. // console.log("for customer and sale_person")
  274. // querydvr = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where customer_name like '%" + customer + "%' and sale_person like '%" + sale_person + "%' and delete_id=0 order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc";
  275. // countquery = "call SP_CountDashboard_admin ('" + firstdate + "','" + seconddate + "','" + emai_id + "','" + customer + "','" + customer_id + "')";
  276. // }else if(customer !=undefined && searchfilter != "undefineddate" && sale_person ==undefined){
  277. // console.log("customer and date filter");
  278. // querydvr = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where date_of_visit between'" + firstdate + "' and '" + seconddate + "' and customer_name like '%" + customer + "%' and delete_id=0 order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc";
  279. // countquery = "call SP_CountDashboard_admin ('" + firstdate + "','" + seconddate + "','" + '' + "','" + customer + "','" + customer_id + "')";
  280. // }else if(customer !=undefined && searchfilter != "undefineddate" && sale_person !=undefined){
  281. // console.log("customer, sale person and date")
  282. // querydvr = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where date_of_visit between'" + firstdate + "' and '" + seconddate + "' and customer_name like '%" + customer + "%' and sale_person like '%" + sale_person + "%' and delete_id=0 order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc";
  283. // countquery = "call SP_CountDashboard_admin ('" + firstdate + "','" + seconddate + "','" + emai_id + "','" + customer + "','" + customer_id + "')";
  284. // }
  285. // else{
  286. // console.log("for date and sale_person filters");
  287. // querydvr = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where date_of_visit between'" + firstdate + "' and '" + seconddate + "' and sale_person like '%" + sale_person + "%' and delete_id=0 order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc";
  288. // countquery = "call SP_CountDashboard_admin ('" + firstdate + "','" + seconddate + "','" + emai_id + "','" + '' + "','" + '' + "')";
  289. // }
  290. console.log(querydvr);
  291. const queryresult = await db.executequery(querydvr);
  292. console.log("firstdate------>", firstdate, "seconddate-------->", seconddate)
  293. if (firstdate == undefined && seconddate == undefined) {
  294. } else {
  295. //date is request of api
  296. }
  297. console.log("countquery=========>", countquery)
  298. const queryresult1 = await db.executequery(countquery);
  299. console.log("queryresult1========>", queryresult1)
  300. var countdata = queryresult1[0];
  301. console.log("countdata", countdata, queryresult.length);
  302. for (var i = 0; i < queryresult.length; i++) {
  303. // console.log(queryresult[i]);
  304. dvrlist.push(queryresult[i])
  305. }
  306. if (queryresult.length > 0) {
  307. res.send({
  308. status: true,
  309. data: [{
  310. getdvrDataStatus: '0',
  311. mesasge: "Data Found",
  312. countdata: [{
  313. no_of_visit: (countdata == undefined ? queryresult.length : countdata[0].allcount),
  314. no_of_completed: (countdata == undefined ? 0 : countdata[0].completed),
  315. no_of_incompleted: (countdata == undefined ? 0 : countdata[0].incompleted),
  316. no_of_contact: (countdata == undefined ? 0 : countdata[0].contactcount)
  317. }],
  318. dvrlist,
  319. }],
  320. error: " "
  321. })
  322. } else {
  323. res.send({
  324. status: false,
  325. data: [{
  326. getdvrDataStatus: '1',
  327. mesasge: "Data Not Found"
  328. }],
  329. error: " "
  330. })
  331. }
  332. } else {
  333. //last week, month,year searchfilter
  334. console.log("in admin else part")
  335. if (req.query.searchfiltertype == '0') {
  336. //for last week
  337. var dvrlist = [];
  338. const lastweek = await getLastWeeksDate();
  339. const currentDate = await getcurrentDate();
  340. console.log(lastweek)
  341. if (sale_person == undefined) {
  342. querydvr = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where date_of_visit between'" + lastweek + "' and '" + currentDate + "' and delete_id=0 order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc";
  343. } else {
  344. querydvr = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where date_of_visit between'" + lastweek + "' and '" + currentDate + "' and contact_name like '%" + sale_person + "%' and delete_id=0 order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc";
  345. }
  346. const countquery = "call SP_CountDashboard ('" + lastweek + "','" + currentDate + "','" + '' + "')";
  347. const queryresult = await db.executequery(querydvr);
  348. console.log("countquery", countquery);
  349. const queryresult1 = await db.executequery(countquery);
  350. var countdata = queryresult1[0];
  351. for (var i = 0; i < queryresult.length; i++) {
  352. // console.log(queryresult[i]);
  353. dvrlist.push(queryresult[i])
  354. }
  355. if (queryresult.length > 0) {
  356. res.send({
  357. status: true,
  358. data: [{
  359. getdvrDataStatus: '0',
  360. mesasge: "Data Found",
  361. countdata: [{
  362. no_of_visit: countdata[0].allcount,
  363. no_of_completed: countdata[0].completed,
  364. no_of_incompleted: countdata[0].incompleted,
  365. no_of_contact: countdata[0].contactcount
  366. }],
  367. dvrlist,
  368. }],
  369. error: " "
  370. })
  371. } else {
  372. res.send({
  373. status: false,
  374. data: [{
  375. getdvrDataStatus: '1',
  376. mesasge: "Data Not Found"
  377. }],
  378. error: " "
  379. })
  380. }
  381. } else if (req.query.searchfiltertype == '2') {
  382. //for last year
  383. var dvrlist = [];
  384. const lastyeardate = await getLastYearDate();
  385. const currentDate = await getcurrentDate();
  386. if (sale_person == undefined) {
  387. querydvr = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where date_of_visit between'" + lastyeardate + "' and '" + currentDate + "' and delete_id=0 order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc";
  388. } else {
  389. querydvr = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where date_of_visit between'" + lastyeardate + "' and '" + currentDate + "' and contact_name like '%" + sale_person + "%' and delete_id=0 order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc ";
  390. }
  391. console.log("lastyeardate", lastyeardate, " ", currentDate);
  392. const countquery = "call SP_CountDashboard ('" + lastyeardate + "' , '" + currentDate + "','" + '' + "')";
  393. const queryresult = await db.executequery(querydvr);
  394. console.log("querydvr-------->", querydvr);
  395. const queryresult1 = await db.executequery(countquery);
  396. var countdata = queryresult1[0];
  397. for (var i = 0; i < queryresult.length; i++) {
  398. // console.log(queryresult[i]);
  399. dvrlist.push(queryresult[i])
  400. }
  401. if (queryresult.length > 0) {
  402. // res.send({
  403. // getdvrDataStatus: '0',
  404. // mesasge: "Data Found",
  405. // countdata: [{
  406. // no_of_visit: countdata[0].allcount,
  407. // no_of_completed: countdata[0].completed,
  408. // no_of_incompleted: countdata[0].incompleted,
  409. // no_of_contact: countdata[0].contactcount
  410. // }],
  411. // dvrlist
  412. // })
  413. res.send({
  414. status: true,
  415. data: [{
  416. getdvrDataStatus: '0',
  417. mesasge: "Data Found",
  418. countdata: [{
  419. no_of_visit: countdata[0].allcount,
  420. no_of_completed: countdata[0].completed,
  421. no_of_incompleted: countdata[0].incompleted,
  422. no_of_contact: countdata[0].contactcount
  423. }],
  424. dvrlist,
  425. }],
  426. error: " "
  427. })
  428. } else {
  429. // res.send({
  430. // getdvrDataStatus: '1',
  431. // mesasge: "Data Not Found"
  432. // })
  433. res.send({
  434. status: false,
  435. data: [{
  436. getdvrDataStatus: '1',
  437. mesasge: "Data Not Found"
  438. }],
  439. error: " "
  440. })
  441. }
  442. } else {
  443. //by default for last month
  444. console.log("normal month");
  445. var dvrlist = [];
  446. const lastmonthDate = await getLastMonthDate();
  447. const currentDate = await getcurrentDate();
  448. console.log("lastmonthDate", lastmonthDate, "currentDate", currentDate);
  449. if (sale_person == undefined) {
  450. querydvr = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where date_of_visit between'" + lastmonthDate + "' and '" + currentDate + "' and delete_id=0 order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc";
  451. }
  452. else {
  453. querydvr = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where date_of_visit between'" + lastmonthDate + "' and '" + currentDate + "' and contact_name like '%" + sale_person + "%' and delete_id=0 order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc";
  454. }
  455. const countquery = "call SP_CountDashboard ('" + lastmonthDate + "' , '" + currentDate + "','" + '' + "')";
  456. const queryresult = await db.executequery(querydvr);
  457. const queryresult1 = await db.executequery(countquery);
  458. var countdata = queryresult1[0];
  459. for (var i = 0; i < queryresult.length; i++) {
  460. dvrlist.push(queryresult[i])
  461. }
  462. if (queryresult.length > 0) {
  463. res.send({
  464. status: true,
  465. data: [{
  466. getdvrDataStatus: '0',
  467. mesasge: "Data Found",
  468. countdata: [{
  469. no_of_visit: countdata[0].allcount,
  470. no_of_completed: countdata[0].completed,
  471. no_of_incompleted: countdata[0].incompleted,
  472. no_of_contact: countdata[0].contactcount
  473. }],
  474. dvrlist,
  475. }],
  476. error: " "
  477. })
  478. } else {
  479. // res.send({
  480. // getdvrDataStatus: '1',
  481. // mesasge: "Data Not Found"
  482. // })
  483. res.send({
  484. status: false,
  485. data: [{
  486. getdvrDataStatus: '1',
  487. mesasge: "Data Not Found"
  488. }],
  489. error: " "
  490. })
  491. }
  492. }
  493. }
  494. } else {
  495. var dvrlist = [];
  496. console.log("in else latest condition")
  497. const lastmonthDate = await getLastMonthDate();
  498. const currentDate = await getcurrentDate();
  499. console.log("lastmonthDate ", lastmonthDate, " currentDate", currentDate)
  500. if (sale_person == undefined) {
  501. querydvr = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where date_of_visit between'" + lastmonthDate + "' and '" + currentDate + "' and delete_id=0 order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc";
  502. } else {
  503. querydvr = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where date_of_visit between'" + lastmonthDate + "' and '" + currentDate + "' and contact_name like '%" + sale_person + "%' and delete_id=0 order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc ";
  504. }
  505. const countquery = "call SP_CountDashboard ('" + lastmonthDate + "' , '" + currentDate + "' ,'" + '' + "')";
  506. console.log("countquery", countquery);
  507. console.log("querydvr", querydvr)
  508. const queryresult1 = await db.executequery(countquery);
  509. var countdata = queryresult1[0];
  510. console.log("countdata", countdata);
  511. const queryresult = await db.executequery(querydvr);
  512. for (var i = 0; i < queryresult.length; i++) {
  513. // console.log(queryresult[i]);
  514. dvrlist.push(queryresult[i])
  515. }
  516. // if (dvrlist.length > 0) {
  517. // for (var i = 0; i < dvrlist.length; i++) {
  518. // }
  519. // }
  520. if (queryresult.length > 0) {
  521. res.send({
  522. status: true,
  523. data: [{
  524. getdvrDataStatus: '0',
  525. mesasge: "Data Found",
  526. countdata: [{
  527. no_of_visit: countdata[0].allcount,
  528. no_of_completed: countdata[0].completed,
  529. no_of_incompleted: countdata[0].incompleted,
  530. no_of_contact: countdata[0].contactcount
  531. }],
  532. dvrlist,
  533. }],
  534. error: " "
  535. })
  536. } else {
  537. res.send({
  538. status: false,
  539. data: [{
  540. getdvrDataStatus: '1',
  541. mesasge: "Data Not Found"
  542. }],
  543. error: " "
  544. })
  545. }
  546. }
  547. } else {
  548. //other user
  549. console.log("in other users");
  550. var getcustomer_id = [];
  551. var getcustomer_name = [];
  552. if (user_id_for_mapp) {
  553. const query = "select customer_id,user_id from customer_user_mapping where user_id=" + user_id_for_mapp;
  554. const queryresult_id = await db.executequery(query);
  555. console.log("queryresult", queryresult_id);
  556. for (var i = 0; i < queryresult_id.length; i++) {
  557. getcustomer_id.push(queryresult_id[i].customer_id);
  558. }
  559. console.log(getcustomer_id);
  560. }
  561. if (req.query.searchfiltertype) {
  562. console.log("in searchfiltertype ");
  563. if (req.query.searchfiltertype.length > 1) {
  564. console.log("datafliter");
  565. //date seach filter
  566. var searchfilter = req.query.searchfiltertype;
  567. const dates = searchfilter.split("-");
  568. console.log("dates", dates)
  569. const firstdate = dates[0] + ' 00:00:01';
  570. const seconddate = dates[1] + ' 23:59:59';
  571. console.log(firstdate);
  572. console.log(seconddate);
  573. if (getcustomer_id.length > 0) {
  574. console.log("data present in custmer mapping table");
  575. const getcust_name = "select customer_id,customer_name from customer_master where customer_id in(" + getcustomer_id + ")";
  576. const getqueryresult1 = await db.executequery(getcust_name);
  577. console.log("getcust_name", getcust_name)
  578. console.log("getcust_name============>", getqueryresult1);
  579. for (var i = 0; i < getqueryresult1.length; i++) {
  580. getcustomer_name.push(getqueryresult1[i].customer_name);
  581. }
  582. console.log("getcustomer_name", getcustomer_name);
  583. if (getcustomer_name) {
  584. for (var i = 0; i < getcustomer_name.length; i++) {
  585. const query = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where date_of_visit between'" + firstdate + "' and '" + seconddate + "' and customer_name in ('" + getcustomer_name[i] + "') and delete_id=0 order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc";
  586. dvrlist[i] = await db.executequery(query);
  587. }
  588. var plano = dvrlist.reduce((acc, el) => acc.concat(el), []);
  589. //console.log("plano",plano)
  590. dvrlist = plano;
  591. console.log("finalResult=================>", dvrlist);
  592. const countquery = "call SP_CountDashboard ('" + firstdate + "' , '" + seconddate + "','" + login_id + "')";
  593. const queryresult1 = await db.executequery(countquery);
  594. console.log("queryresult1", countquery);
  595. var countdata = queryresult1[0];
  596. if (dvrlist.length > 0) {
  597. res.send({
  598. status: true,
  599. data: [{
  600. getdvrDataStatus: '0',
  601. mesasge: "Data Found",
  602. countdata: [{
  603. no_of_visit: countdata[0].allcount,
  604. no_of_completed: countdata[0].completed,
  605. no_of_incompleted: countdata[0].incompleted,
  606. no_of_contact: countdata[0].contactcount
  607. }],
  608. dvrlist
  609. }],
  610. error: " "
  611. })
  612. } else {
  613. res.send({
  614. status: false,
  615. data: [{
  616. getdvrDataStatus: '1',
  617. mesasge: "Data Not Found"
  618. }],
  619. error: " "
  620. })
  621. }
  622. }
  623. } else {
  624. console.log("data not present in custmer mapping table");
  625. res.send({
  626. status: false,
  627. data: [{
  628. getdvrDataStatus: '1',
  629. mesasge: "Data Not Found"
  630. }],
  631. error: " "
  632. })
  633. }
  634. // const query = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where date_of_visit between'" + firstdate + "' and '" + seconddate + "' and login_id='" + login_id + "' order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc";
  635. // const countquery = "call SP_CountDashboard ('" + firstdate + "' , '" + seconddate + + "','" + login_id + "')";
  636. // const queryresult = await db.executequery(query);
  637. // const queryresult1 = await db.executequery(countquery);
  638. // var countdata = queryresult1[0];
  639. // for (var i = 0; i < queryresult.length; i++) {
  640. // console.log(queryresult[i]);
  641. // dvrlist.push(queryresult[i])
  642. // }
  643. // if (queryresult.length > 0) {
  644. // res.send({
  645. // status: true,
  646. // data: [{
  647. // getdvrDataStatus: '0',
  648. // mesasge: "Data Found",
  649. // countdata: [{
  650. // no_of_visit: countdata[0].allcount,
  651. // no_of_completed: countdata[0].completed,
  652. // no_of_incompleted: countdata[0].incompleted,
  653. // no_of_contact: countdata[0].contactcount
  654. // }],
  655. // dvrlist,
  656. // }],
  657. // error: " "
  658. // })
  659. // } else {
  660. // res.send({
  661. // status: false,
  662. // data: [{
  663. // getdvrDataStatus: '1',
  664. // mesasge: "Data Not Found"
  665. // }],
  666. // error: " "
  667. // })
  668. // }
  669. } else {
  670. //last week, month,year searchfilter
  671. if (req.query.searchfiltertype == '0') {
  672. //for last week
  673. var dvrlist = [];
  674. const lastweek = await getLastWeeksDate();
  675. const currentDate = await getcurrentDate();
  676. if (getcustomer_id.length > 0) {
  677. console.log("data present in custmer mapping table");
  678. const getcust_name = "select customer_id,customer_name from customer_master where customer_id in(" + getcustomer_id + ")";
  679. const getqueryresult1 = await db.executequery(getcust_name);
  680. console.log("getcust_name", getcust_name)
  681. console.log("getcust_name============>", getqueryresult1);
  682. for (var i = 0; i < getqueryresult1.length; i++) {
  683. getcustomer_name.push(getqueryresult1[i].customer_name);
  684. }
  685. console.log("getcustomer_name", getcustomer_name);
  686. if (getcustomer_name) {
  687. for (var i = 0; i < getcustomer_name.length; i++) {
  688. const query = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where date_of_visit between'" + lastweek + "' and '" + currentDate + "' and customer_name in ('" + getcustomer_name[i] + "') and delete_id=0 order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc";
  689. dvrlist[i] = await db.executequery(query);
  690. }
  691. var plano = dvrlist.reduce((acc, el) => acc.concat(el), []);
  692. //console.log("plano",plano)
  693. dvrlist = plano;
  694. console.log("finalResult=================>", dvrlist);
  695. const countquery = "call SP_CountDashboard ('" + lastweek + "' , '" + currentDate + "','" + login_id + "')";
  696. const queryresult1 = await db.executequery(countquery);
  697. console.log("queryresult1", countquery);
  698. var countdata = queryresult1[0];
  699. if (dvrlist.length > 0) {
  700. res.send({
  701. status: true,
  702. data: [{
  703. getdvrDataStatus: '0',
  704. mesasge: "Data Found",
  705. countdata: [{
  706. no_of_visit: countdata[0].allcount,
  707. no_of_completed: countdata[0].completed,
  708. no_of_incompleted: countdata[0].incompleted,
  709. no_of_contact: countdata[0].contactcount
  710. }],
  711. dvrlist
  712. }],
  713. error: " "
  714. })
  715. } else {
  716. res.send({
  717. status: false,
  718. data: [{
  719. getdvrDataStatus: '1',
  720. mesasge: "Data Not Found"
  721. }],
  722. error: " "
  723. })
  724. }
  725. }
  726. } else {
  727. console.log("data not present in custmer mapping table");
  728. res.send({
  729. status: false,
  730. data: [{
  731. getdvrDataStatus: '1',
  732. mesasge: "Data Not Found"
  733. }],
  734. error: " "
  735. })
  736. }
  737. // const query = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where date_of_visit between'" + lastweek + "' and '" + currentDate + "' and login_id=" + login_id + "' order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc";
  738. // const countquery = "call SP_CountDashboard ('" + lastweek + "' , '" + currentDate + "','" + login_id + "')";
  739. // const queryresult = await db.executequery(query);
  740. // const queryresult1 = await db.executequery(countquery);
  741. // var countdata = queryresult1[0];
  742. // for (var i = 0; i < queryresult.length; i++) {
  743. // console.log(queryresult[i]);
  744. // dvrlist.push(queryresult[i])
  745. // }
  746. // if (queryresult.length > 0) {
  747. // res.send({
  748. // status: true,
  749. // data: [{
  750. // getdvrDataStatus: '0',
  751. // mesasge: "Data Found",
  752. // countdata: [{
  753. // no_of_visit: countdata[0].allcount,
  754. // no_of_completed: countdata[0].completed,
  755. // no_of_incompleted: countdata[0].incompleted,
  756. // no_of_contact: countdata[0].contactcount
  757. // }],
  758. // dvrlist
  759. // }],
  760. // error: " "
  761. // })
  762. // } else {
  763. // res.send({
  764. // status: false,
  765. // data: [{
  766. // getdvrDataStatus: '1',
  767. // mesasge: "Data Not Found"
  768. // }],
  769. // error: " "
  770. // })
  771. // }
  772. } else if (req.query.searchfiltertype == '2') {
  773. //for last year
  774. var dvrlist = [];
  775. const lastyeardate = await getLastYearDate();
  776. const currentDate = await getcurrentDate();
  777. if (getcustomer_id.length > 0) {
  778. console.log("data present in custmer mapping table");
  779. const getcust_name = "select customer_id,customer_name from customer_master where customer_id in(" + getcustomer_id + ")";
  780. const getqueryresult1 = await db.executequery(getcust_name);
  781. console.log("getcust_name", getcust_name)
  782. console.log("getcust_name============>", getqueryresult1);
  783. for (var i = 0; i < getqueryresult1.length; i++) {
  784. getcustomer_name.push(getqueryresult1[i].customer_name);
  785. }
  786. console.log("getcustomer_name", getcustomer_name);
  787. if (getcustomer_name) {
  788. for (var i = 0; i < getcustomer_name.length; i++) {
  789. const query = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where date_of_visit between'" + lastyeardate + "' and '" + currentDate + "' and customer_name in ('" + getcustomer_name[i] + "') and delete_id=0 order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc";
  790. dvrlist[i] = await db.executequery(query);
  791. }
  792. var plano = dvrlist.reduce((acc, el) => acc.concat(el), []);
  793. // console.log("plano",plano)
  794. dvrlist = plano;
  795. console.log("finalResult=================>", dvrlist);
  796. const countquery = "call SP_CountDashboard ('" + lastyeardate + "' , '" + currentDate + "','" + login_id + "')";
  797. const queryresult1 = await db.executequery(countquery);
  798. console.log("queryresult1", countquery);
  799. var countdata = queryresult1[0];
  800. if (dvrlist.length > 0) {
  801. res.send({
  802. status: true,
  803. data: [{
  804. getdvrDataStatus: '0',
  805. mesasge: "Data Found",
  806. countdata: [{
  807. no_of_visit: countdata[0].allcount,
  808. no_of_completed: countdata[0].completed,
  809. no_of_incompleted: countdata[0].incompleted,
  810. no_of_contact: countdata[0].contactcount
  811. }],
  812. dvrlist
  813. }],
  814. error: " "
  815. })
  816. } else {
  817. res.send({
  818. status: false,
  819. data: [{
  820. getdvrDataStatus: '1',
  821. mesasge: "Data Not Found"
  822. }],
  823. error: " "
  824. })
  825. }
  826. }
  827. } else {
  828. console.log("data not present in custmer mapping table");
  829. res.send({
  830. status: false,
  831. data: [{
  832. getdvrDataStatus: '1',
  833. mesasge: "Data Not Found"
  834. }],
  835. error: " "
  836. })
  837. }
  838. // const query = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where date_of_visit between'" + lastyeardate + "' and '" + currentDate + "' and login_id=" + login_id + "' order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc";
  839. // const countquery = "call SP_CountDashboard ('" + lastyeardate + "' , '" + currentDate + "','" + login_id + "')";
  840. // const queryresult = await db.executequery(query);
  841. // const queryresult1 = await db.executequery(countquery);
  842. // var countdata = queryresult1[0];
  843. // for (var i = 0; i < queryresult.length; i++) {
  844. // console.log(queryresult[i]);
  845. // dvrlist.push(queryresult[i])
  846. // }
  847. // if (queryresult.length > 0) {
  848. // res.send({
  849. // status: true,
  850. // data: [{
  851. // getdvrDataStatus: '0',
  852. // mesasge: "Data Found",
  853. // countdata: [{
  854. // no_of_visit: countdata[0].allcount,
  855. // no_of_completed: countdata[0].completed,
  856. // no_of_incompleted: countdata[0].incompleted,
  857. // no_of_contact: countdata[0].contactcount
  858. // }],
  859. // dvrlist
  860. // }],
  861. // error: " "
  862. // })
  863. // } else {
  864. // res.send({
  865. // status: false,
  866. // data: [{
  867. // getdvrDataStatus: '1',
  868. // mesasge: "Data Not Found"
  869. // }],
  870. // error: " "
  871. // })
  872. // }
  873. } else {
  874. //by default for last month
  875. console.log("users by last month", login_id);
  876. var dvrlist = [];
  877. const lastmonthDate = await getLastMonthDate();
  878. const currentDate = await getcurrentDate();
  879. if (getcustomer_id.length > 0) {
  880. console.log("data present in custmer mapping table");
  881. const getcust_name = "select customer_id,customer_name from customer_master where customer_id in(" + getcustomer_id + ")";
  882. const getqueryresult1 = await db.executequery(getcust_name);
  883. console.log("getcust_name", getcust_name)
  884. console.log("getcust_name============>", getqueryresult1);
  885. for (var i = 0; i < getqueryresult1.length; i++) {
  886. getcustomer_name.push(getqueryresult1[i].customer_name);
  887. }
  888. console.log("getcustomer_name", getcustomer_name);
  889. if (getcustomer_name) {
  890. for (var i = 0; i < getcustomer_name.length; i++) {
  891. const query = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where date_of_visit between'" + lastmonthDate + "' and '" + currentDate + "' and customer_name in ('" + getcustomer_name[i] + "') and delete_id=0 order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc";
  892. dvrlist[i] = await db.executequery(query);
  893. }
  894. var plano = dvrlist.reduce((acc, el) => acc.concat(el), []);
  895. //console.log("plano",plano)
  896. dvrlist = plano;
  897. console.log("finalResult=================>", dvrlist);
  898. const countquery = "call SP_CountDashboard ('" + lastmonthDate + "' , '" + currentDate + "','" + login_id + "')";
  899. const queryresult1 = await db.executequery(countquery);
  900. console.log("queryresult1", countquery);
  901. var countdata = queryresult1[0];
  902. if (dvrlist.length > 0) {
  903. res.send({
  904. status: true,
  905. data: [{
  906. getdvrDataStatus: '0',
  907. mesasge: "Data Found",
  908. countdata: [{
  909. no_of_visit: countdata[0].allcount,
  910. no_of_completed: countdata[0].completed,
  911. no_of_incompleted: countdata[0].incompleted,
  912. no_of_contact: countdata[0].contactcount
  913. }],
  914. dvrlist
  915. }],
  916. error: " "
  917. })
  918. } else {
  919. res.send({
  920. status: false,
  921. data: [{
  922. getdvrDataStatus: '1',
  923. mesasge: "Data Not Found"
  924. }],
  925. error: " "
  926. })
  927. }
  928. }
  929. } else {
  930. console.log("data not present in custmer mapping table");
  931. res.send({
  932. status: false,
  933. data: [{
  934. getdvrDataStatus: '1',
  935. mesasge: "Data Not Found"
  936. }],
  937. error: " "
  938. })
  939. }
  940. // const query = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where date_of_visit between'" + lastmonthDate + "' and '" + currentDate + "' and login_id=" + login_id + "' order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc";
  941. // const countquery = "call SP_CountDashboard ('" + lastmonthDate + "' , '" + currentDate + "','" + login_id + "')";
  942. // const queryresult = await db.executequery(query);
  943. // const queryresult1 = await db.executequery(countquery);
  944. // var countdata = queryresult1[0];
  945. // for (var i = 0; i < queryresult.length; i++) {
  946. // console.log(queryresult[i]);
  947. // dvrlist.push(queryresult[i])
  948. // }
  949. // if (queryresult.length > 0) {
  950. // console.log("dvrlist12345", dvrlist);
  951. // res.send({
  952. // status: true,
  953. // data: [{
  954. // getdvrDataStatus: 0,
  955. // mesasge: "Data Found",
  956. // countdata: [{
  957. // no_of_visit: countdata[0].allcount,
  958. // no_of_completed: countdata[0].completed,
  959. // no_of_incompleted: countdata[0].incompleted,
  960. // no_of_contact: countdata[0].contactcount
  961. // }],
  962. // dvrlist
  963. // }],
  964. // error: " "
  965. // })
  966. // } else {
  967. // res.send({
  968. // status: false,
  969. // data: [{
  970. // getdvrDataStatus: '1',
  971. // mesasge: "Data Not Found"
  972. // }],
  973. // error: " "
  974. // })
  975. // }
  976. }
  977. }
  978. } else {
  979. console.log("in else part of bydefult");
  980. var dvrlist = [];
  981. const lastmonthDate = await getLastMonthDate();
  982. const currentDate = await getcurrentDate();
  983. console.log("lastmonthDate", lastmonthDate, "currentDate", currentDate);
  984. if (getcustomer_id.length > 0) {
  985. console.log("data present in custmer mapping table");
  986. const getcust_name = "select customer_id,customer_name from customer_master where customer_id in(" + getcustomer_id + ")";
  987. const getqueryresult1 = await db.executequery(getcust_name);
  988. console.log("getcust_name", getcust_name)
  989. console.log("getcust_name============>", getqueryresult1);
  990. for (var i = 0; i < getqueryresult1.length; i++) {
  991. getcustomer_name.push(getqueryresult1[i].customer_name);
  992. }
  993. console.log("getcustomer_name", getcustomer_name);
  994. if (getcustomer_name) {
  995. for (var i = 0; i < getcustomer_name.length; i++) {
  996. const query = "select dvr_id, date_of_visit,customer_name,contact_name,message,physical_meeting,sale_person from dvr_report where date_of_visit between'" + lastmonthDate + "' and '" + currentDate + "' and customer_name in ('" + getcustomer_name[i] + "') and delete_id=0 order by DATE_FORMAT(date_of_visit, '%Y%m%d') desc";
  997. dvrlist[i] = await db.executequery(query);
  998. }
  999. var plano = dvrlist.reduce((acc, el) => acc.concat(el), []);
  1000. //console.log("plano",plano)
  1001. dvrlist = plano;
  1002. console.log("finalResult=================>", dvrlist);
  1003. const countquery = "call SP_CountDashboard ('" + lastmonthDate + "' , '" + currentDate + "','" + login_id + "')";
  1004. const queryresult1 = await db.executequery(countquery);
  1005. console.log("queryresult1", countquery);
  1006. var countdata = queryresult1[0];
  1007. if (dvrlist.length > 0) {
  1008. res.send({
  1009. status: true,
  1010. data: [{
  1011. getdvrDataStatus: '0',
  1012. mesasge: "Data Found",
  1013. countdata: [{
  1014. no_of_visit: countdata[0].allcount,
  1015. no_of_completed: countdata[0].completed,
  1016. no_of_incompleted: countdata[0].incompleted,
  1017. no_of_contact: countdata[0].contactcount
  1018. }],
  1019. dvrlist
  1020. }],
  1021. error: " "
  1022. })
  1023. } else {
  1024. res.send({
  1025. status: false,
  1026. data: [{
  1027. getdvrDataStatus: '1',
  1028. mesasge: "Data Not Found"
  1029. }],
  1030. error: " "
  1031. })
  1032. }
  1033. }
  1034. } else {
  1035. console.log("data not present in custmer mapping table");
  1036. res.send({
  1037. status: false,
  1038. data: [{
  1039. getdvrDataStatus: '1',
  1040. mesasge: "Data Not Found"
  1041. }],
  1042. error: " "
  1043. })
  1044. }
  1045. }
  1046. }
  1047. }
  1048. catch (err) {
  1049. console.log(err)
  1050. res.send({
  1051. status: true,
  1052. data: [],
  1053. error: err,
  1054. getdvrDataStatus: '1',
  1055. })
  1056. }
  1057. }
  1058. module.exports.createDvrEntry = async (req, res) => {
  1059. const validationResp = await validation.createDvrentrycheck(req);
  1060. const createdate = new Date();
  1061. if (validationResp.status) {
  1062. try {
  1063. console.log(" req.body.login_id", req.body.created_by);
  1064. const date_of_visit = new Date(req.body.visit_date);
  1065. //const date_of_visit=req.body.visit_date;
  1066. const query = "INSERT INTO dvr_report(date_of_visit,customer_name,contact_name,physical_meeting,message,created_by,created_on,stage_id,login_id,sale_person,delete_id)" +
  1067. "VALUES(?,?,?,?,?,?,?,?,?,?,?)";
  1068. const values = [date_of_visit, req.body.customer_name, req.body.contact_name, req.body.physical_metting, req.body.message, req.body.created_by, createdate, req.body.stage_id, req.body.created_by, req.body.sale_person, 0]
  1069. // console.log("query",query);
  1070. //console.log("values",values);
  1071. const res1 = await db.executevaluesquery(query, values);
  1072. console.log("res1", res1);
  1073. if (res1) {
  1074. res.send({
  1075. status: true,
  1076. data: [{
  1077. message: "Daily visit Entry created Successfully.",
  1078. createDvrStatus: "0",
  1079. exception: {
  1080. errorid: "",
  1081. errormessage: "No Errors"
  1082. }
  1083. }],
  1084. errors: ""
  1085. })
  1086. } else {
  1087. res.send({
  1088. status: true,
  1089. data: [{
  1090. message: "",
  1091. createDvrStatus: "1",
  1092. exception: {
  1093. errorid: "404",
  1094. errormessage: "Bad request"
  1095. }
  1096. }],
  1097. errors: ""
  1098. })
  1099. }
  1100. }
  1101. catch (err) {
  1102. console.log(err)
  1103. res.send({
  1104. status: false,
  1105. data: [{
  1106. message: "",
  1107. createDvrStatus: "1",
  1108. exception: {
  1109. errorid: "404",
  1110. errormessage: "Bad request"
  1111. }
  1112. }],
  1113. errors: ""
  1114. })
  1115. }
  1116. } else {
  1117. res.send(validationResp)
  1118. }
  1119. }
  1120. module.exports.updatedvrDetails = async (req, res) => {
  1121. const validationResp = await validation.updatedvrDetailscheck(req);
  1122. const updatedDate = await getcurrentDate();
  1123. if (validationResp.status) {
  1124. try {
  1125. const query = "UPDATE dvr_report SET date_of_visit = '" + req.body.visit_date + "' ,customer_name= '" + req.body.customer_name + "',contact_name= '" + req.body.contact_name + "',message= '" + req.body.message + "' ,physical_meeting= '" + req.body.physical_metting + "' ,updated_by= '" + req.body.updated_by + "', updated_on= '" + updatedDate + "', stage_id= '" + req.body.stage_id + "' where dvr_id= '" + req.body.dvr_id + "'";
  1126. console.log("query", query);
  1127. const queryresult = await db.executequery(query);
  1128. console.log("queryresult", queryresult);
  1129. if (queryresult) {
  1130. res.send({
  1131. status: true,
  1132. data: [
  1133. {
  1134. getdvrDataStatus: '0',
  1135. message: "Daliy visit Report Entry updated suceesfully."
  1136. }
  1137. ],
  1138. errors: " "
  1139. })
  1140. } else {
  1141. res.send({
  1142. status: true,
  1143. data: [{
  1144. getdvrDataStatus: '1',
  1145. message: "Daliy visit Report Entry not updated. Please try again after some time!"
  1146. }],
  1147. errors: ""
  1148. })
  1149. }
  1150. }
  1151. catch (err) {
  1152. console.log(err)
  1153. res.send({
  1154. status: true, data: [], errors: err
  1155. })
  1156. }
  1157. } else {
  1158. res.send(validationResp)
  1159. }
  1160. }
  1161. module.exports.createCustomerentry = async (req, res) => {
  1162. const validationResp = await validation.createCustomerentrycheck(req);
  1163. const createdate = new Date();
  1164. if (validationResp.status) {
  1165. try {
  1166. const query = "INSERT INTO customer_master(customer_name,created_by,created_on)" +
  1167. "VALUES(?,?,?)";
  1168. const values = [req.body.customer_name, req.body.created_by, createdate]
  1169. const res3 = await db.executevaluesquery(query, values);
  1170. //console.log("res1", res1);
  1171. if (res3) {
  1172. res.send({
  1173. message: "Customer Entry created Successfully ",
  1174. createcustomerStatus: "0",
  1175. exception: {
  1176. errorid: "",
  1177. errormessage: "No Errors"
  1178. }
  1179. })
  1180. } else {
  1181. res.send({
  1182. message: "",
  1183. createStatus: "1",
  1184. exception: {
  1185. errorid: "404",
  1186. errormessage: "Bad request"
  1187. }
  1188. })
  1189. }
  1190. }
  1191. catch (err) {
  1192. console.log(err)
  1193. res.send({
  1194. status: true, data: []
  1195. })
  1196. }
  1197. } else {
  1198. res.send(validationResp)
  1199. }
  1200. }
  1201. module.exports.updateContactDetails = async (req, res) => {
  1202. const validationResp = await validation.updateContactDetailscheck(req);
  1203. const updatedDate = await getcurrentDate();
  1204. if (validationResp.status) {
  1205. try {
  1206. const query = "UPDATE contact_master SET customer_id= '" + req.body.customer_id + "',first_name= '" + req.body.first_name + "',last_name= '" + req.body.last_name + "' ,mobile_number= '" + req.body.mobile_number + "' ,email_id= '" + req.body.email_id + "', designation= '" + req.body.designation + "', department= '" + req.body.department + "', updated_on= '" + updatedDate + "' where customer_id= '" + req.body.customer_id + "'";
  1207. console.log("query", query);
  1208. const queryresult = await db.executequery(query);
  1209. console.log("queryresult", queryresult);
  1210. if (queryresult) {
  1211. res.send({
  1212. updateContactStatus: '0',
  1213. mesasge: "Contact Entry updated suceesfully."
  1214. })
  1215. } else {
  1216. res.send({
  1217. updateContactStatus: '1',
  1218. mesasge: "Contact Entry not updated."
  1219. })
  1220. }
  1221. }
  1222. catch (err) {
  1223. console.log(err)
  1224. res.send({
  1225. status: true, data: []
  1226. })
  1227. }
  1228. } else {
  1229. res.send(validationResp)
  1230. }
  1231. }
  1232. module.exports.updateCustomerDetails = async (req, res) => {
  1233. const validationResp = await validation.updateCustomerDetailscheck(req);
  1234. const updatedDate = await getcurrentDate();
  1235. if (validationResp.status) {
  1236. try {
  1237. const query = "UPDATE customer_master SET customer_id = '" + req.body.customer_id + "', updated_on= '" + updatedDate + "' where customer_master= '" + req.body.contact_master + "'";
  1238. console.log("query", query);
  1239. const queryresult = await db.executequery(query);
  1240. console.log("queryresult", queryresult);
  1241. if (queryresult) {
  1242. res.send({
  1243. updateCustomerStatus: '0',
  1244. mesasge: "Customer Entry updated suceesfully."
  1245. })
  1246. } else {
  1247. res.send({
  1248. updateCustomerStatus: '1',
  1249. mesasge: "Customer Entry not updated."
  1250. })
  1251. }
  1252. }
  1253. catch (err) {
  1254. console.log(err)
  1255. res.send({
  1256. status: true, data: []
  1257. })
  1258. }
  1259. } else {
  1260. res.send(validationResp)
  1261. }
  1262. }
  1263. module.exports.getlastestdvr = async (req, res) => {
  1264. try {
  1265. var insertedRecord = [];
  1266. var startdate = new Date();
  1267. var enddate = new Date();
  1268. const format2 = "YYYY-MM-DD";
  1269. startdate = moment(startdate).format(format2) + ' 00:00:01';
  1270. enddate = moment(enddate).format(format2) + ' 23:59:59';
  1271. var person_role = req.query.role;
  1272. var login_id = req.query.login_id;
  1273. console.log("login_id", login_id);
  1274. if (person_role == 'admin') {
  1275. //admin show all data
  1276. const query = "SELECT d.dvr_id,d.date_of_visit,d.customer_name,d.contact_name,d.physical_meeting,d.message,s.stage_desc,d.stage_id FROM dvr_report d JOIN stage_master s ON d.stage_id=s.stage_id where d.created_on between '" + startdate + "' and '" + enddate + "' and d.delete_id=0 order by d.date_of_visit desc";
  1277. const queryresult = await db.executequery(query);
  1278. console.log("query", query);
  1279. for (var i = 0; i < queryresult.length; i++) {
  1280. console.log(queryresult[i]);
  1281. insertedRecord.push(queryresult[i])
  1282. }
  1283. //console.log("res1", res1);
  1284. if (queryresult.length > 0) {
  1285. res.send({
  1286. status: true,
  1287. data: [{
  1288. dvrData: insertedRecord
  1289. }],
  1290. error: ""
  1291. })
  1292. } else {
  1293. res.send({
  1294. status: true,
  1295. data: [{
  1296. getdvrDataStatus: '1',
  1297. mesasge: "Data Not Found"
  1298. }],
  1299. error: ""
  1300. })
  1301. }
  1302. } else {
  1303. // other users
  1304. console.log("other users");
  1305. const query = "SELECT d.dvr_id,d.date_of_visit,d.customer_name,d.contact_name,d.physical_meeting,d.message,s.stage_desc,d.stage_id FROM dvr_report d JOIN stage_master s ON d.stage_id=s.stage_id where d.login_id='" + login_id + "' and d.created_on between '" + startdate + "' and '" + enddate + "' and d.delete_id=0 order by d.date_of_visit desc";
  1306. const queryresult = await db.executequery(query);
  1307. console.log("query", query);
  1308. for (var i = 0; i < queryresult.length; i++) {
  1309. console.log(queryresult[i]);
  1310. insertedRecord.push(queryresult[i])
  1311. }
  1312. //console.log("res1", res1);
  1313. if (queryresult.length > 0) {
  1314. res.send({
  1315. status: true,
  1316. data: [{
  1317. dvrData: insertedRecord
  1318. }],
  1319. error: ""
  1320. })
  1321. } else {
  1322. res.send({
  1323. status: true,
  1324. data: [{
  1325. getdvrDataStatus: '1',
  1326. mesasge: "Data Not Found"
  1327. }],
  1328. error: ""
  1329. })
  1330. }
  1331. }
  1332. }
  1333. catch (err) {
  1334. console.log(err)
  1335. res.send({
  1336. status: true,
  1337. data: [],
  1338. getdvrDataStatus: '1',
  1339. })
  1340. }
  1341. }
  1342. module.exports.getcontactDetails = async (req, res) => {
  1343. try {
  1344. var insertedRecord = [];
  1345. var startdate = new Date();
  1346. var enddate = new Date();
  1347. const format2 = "YYYY-MM-DD";
  1348. startdate = moment(startdate).format(format2) + ' 00:00:01';
  1349. enddate = moment(enddate).format(format2) + ' 23:59:59';
  1350. var person_role = req.query.role;
  1351. var login_id = req.query.login_id;
  1352. if (person_role == 'admin') {
  1353. //admin show all data
  1354. const query = "SELECT first_name,last_name,mobile_number,email_id,designation,department FROM contact_master where created_on between '" + startdate + "' and '" + enddate + "' order by contact_id desc";
  1355. const queryresult = await db.executequery(query);
  1356. console.log("query", query);
  1357. for (var i = 0; i < queryresult.length; i++) {
  1358. console.log(queryresult[i]);
  1359. insertedRecord.push(queryresult[i])
  1360. }
  1361. if (queryresult.length > 0) {
  1362. res.send({
  1363. status: true,
  1364. data: [{
  1365. conrtactData: insertedRecord
  1366. }],
  1367. error: ""
  1368. })
  1369. } else {
  1370. res.send({
  1371. status: true,
  1372. data: [{
  1373. getdvrDataStatus: '1',
  1374. mesasge: "Data Not Found"
  1375. }],
  1376. error: ""
  1377. })
  1378. }
  1379. } else {
  1380. //others users
  1381. const query = "SELECT first_name,last_name,mobile_number,email_id,designation,department FROM contact_master where created_by= '" + login_id + "' and created_on between '" + startdate + "' and '" + enddate + "' order by contact_id desc";
  1382. const queryresult = await db.executequery(query);
  1383. console.log("query", query);
  1384. for (var i = 0; i < queryresult.length; i++) {
  1385. console.log(queryresult[i]);
  1386. insertedRecord.push(queryresult[i])
  1387. }
  1388. if (queryresult.length > 0) {
  1389. res.send({
  1390. status: true,
  1391. data: [{
  1392. conrtactData: insertedRecord
  1393. }],
  1394. error: ""
  1395. })
  1396. } else {
  1397. res.send({
  1398. status: true,
  1399. data: [{
  1400. getdvrDataStatus: '1',
  1401. mesasge: "Data Not Found"
  1402. }],
  1403. error: ""
  1404. })
  1405. }
  1406. }
  1407. } catch (err) {
  1408. console.log(err)
  1409. res.send({
  1410. status: true,
  1411. data: [],
  1412. getdvrDataStatus: '1',
  1413. })
  1414. }
  1415. }
  1416. module.exports.getsalePersonList = async (req, res) => {
  1417. console.log("in getsalePersonList");
  1418. try {
  1419. var salePerson = [];
  1420. var full_name = [];
  1421. const query = "SELECT user_id,first_name,last_name from user_master;";
  1422. const queryresult = await db.executequery(query);
  1423. if (queryresult.length > 0) {
  1424. for (var i = 0; i < queryresult.length; i++) {
  1425. console.log("queryresult", queryresult[i])
  1426. salePerson.push(queryresult[i]);
  1427. }
  1428. }
  1429. console.log("salePerson", salePerson);
  1430. res.send({
  1431. status: true,
  1432. data: [{
  1433. salePerson: salePerson
  1434. }],
  1435. error: ""
  1436. })
  1437. } catch (err) {
  1438. console.log(err)
  1439. res.send({
  1440. status: true, data: [], error: err
  1441. })
  1442. }
  1443. }
  1444. module.exports.getCustcontactDetails = async (req, res) => {
  1445. try {
  1446. var contactdetails = [];
  1447. var customer_id = req.query.customer_id;
  1448. var check_api = req.query.passid;
  1449. var passing_id;
  1450. console.log("customer_id", customer_id);
  1451. console.log("check api", check_api);
  1452. if (check_api == undefined) {
  1453. console.log("pass customer name");
  1454. const query = "SELECT customer_id,customer_name FROM customer_master where customer_name= '" + customer_id + "' ";
  1455. const queryresult = await db.executequery(query);
  1456. console.log("queryresult", queryresult);
  1457. console.log("result------>", queryresult[0].customer_id);
  1458. passing_id = queryresult[0].customer_id;
  1459. const query_id = "SELECT first_name,last_name,mobile_number,email_id,designation,department,function_area FROM contact_master where customer_id= '" + passing_id + "' ";
  1460. const queryresult_id = await db.executequery(query_id);
  1461. console.log("query", query);
  1462. for (var i = 0; i < queryresult_id.length; i++) {
  1463. console.log(queryresult_id[i]);
  1464. contactdetails.push(queryresult_id[i])
  1465. }
  1466. if (queryresult.length > 0) {
  1467. res.send({
  1468. status: true,
  1469. data: [{
  1470. conrtactData: contactdetails
  1471. }],
  1472. error: ""
  1473. })
  1474. } else {
  1475. res.send({
  1476. status: true,
  1477. data: [{
  1478. getdvrDataStatus: '1',
  1479. mesasge: "Data Not Found"
  1480. }],
  1481. error: ""
  1482. })
  1483. }
  1484. } else {
  1485. console.log("pass number");
  1486. if (customer_id == 0) {
  1487. console.log("getting all contact data");
  1488. const query = "SELECT first_name,last_name,mobile_number,email_id,designation,department,function_area FROM contact_master";
  1489. const queryresult = await db.executequery(query);
  1490. console.log("query", query);
  1491. for (var i = 0; i < queryresult.length; i++) {
  1492. console.log(queryresult[i]);
  1493. contactdetails.push(queryresult[i])
  1494. }
  1495. if (queryresult.length > 0) {
  1496. res.send({
  1497. status: true,
  1498. data: [{
  1499. conrtactData: contactdetails
  1500. }],
  1501. error: ""
  1502. })
  1503. } else {
  1504. res.send({
  1505. status: true,
  1506. data: [{
  1507. getdvrDataStatus: '1',
  1508. mesasge: "Data Not Found"
  1509. }],
  1510. error: ""
  1511. })
  1512. }
  1513. } else {
  1514. console.log("getting only specific customer contact data");
  1515. const query = "SELECT first_name,last_name,mobile_number,email_id,designation,department,function_area FROM contact_master where customer_id= '" + customer_id + "' ";
  1516. const queryresult = await db.executequery(query);
  1517. console.log("query", query);
  1518. for (var i = 0; i < queryresult.length; i++) {
  1519. console.log(queryresult[i]);
  1520. contactdetails.push(queryresult[i])
  1521. }
  1522. if (queryresult.length > 0) {
  1523. res.send({
  1524. status: true,
  1525. data: [{
  1526. conrtactData: contactdetails
  1527. }],
  1528. error: ""
  1529. })
  1530. } else {
  1531. res.send({
  1532. status: true,
  1533. data: [{
  1534. getdvrDataStatus: '1',
  1535. mesasge: "Data Not Found"
  1536. }],
  1537. error: ""
  1538. })
  1539. }
  1540. }
  1541. }
  1542. } catch (err) {
  1543. console.log(err)
  1544. res.send({
  1545. status: true,
  1546. data: [],
  1547. getdvrDataStatus: '1',
  1548. })
  1549. }
  1550. }
  1551. module.exports.createUpdateCustomerentry = async (req, res) => {
  1552. const validationResp = await validation.createCustomerentrycheck(req);
  1553. const createdate = new Date();
  1554. if (validationResp.status) {
  1555. try {
  1556. if (req.body.action == 'insert') {
  1557. console.log("customer added");
  1558. const checkdub = "select * from customer_master where customer_name='" + req.body.customer_name + "'";
  1559. const checkqueryresult = await db.executequery(checkdub);
  1560. console.log("checkqueryresult", checkqueryresult.length)
  1561. if (checkqueryresult.length > 0) {
  1562. //allready all present
  1563. res.send({
  1564. status: false,
  1565. data: [],
  1566. errors: "Customer Entry allready Exit ! Please Enter Correct Customer Name"
  1567. })
  1568. } else {
  1569. //data not is present
  1570. const query = "INSERT INTO customer_master(customer_name,created_by,created_on)" +
  1571. "VALUES(?,?,?)";
  1572. const values = [req.body.customer_name, req.body.created_by, createdate]
  1573. const res3 = await db.executevaluesquery(query, values);
  1574. console.log("response", res3);
  1575. if (res3) {
  1576. const query = "select customer_id from customer_master order by customer_id desc limit 1";
  1577. const queryresult = await db.executequery(query);
  1578. console.log("query result----->", queryresult);
  1579. console.log("query result----->", queryresult[0].customer_id);
  1580. if (queryresult) {
  1581. // const query = "select customer_id from customer_master order by customer_id desc limit 1";
  1582. // const queryresult = await db.executequery(query);
  1583. var sale_person = req.body.sale_person;
  1584. var name = sale_person.split(" ");
  1585. console.log("name", name);
  1586. var first_name = name[0];
  1587. var last_name = name[1];
  1588. console.log(first_name, last_name);
  1589. const queryuserID = "SELECT user_id FROM user_master where first_name='" + first_name + "' and last_name= '" + last_name + "'";
  1590. console.log("queryuserID", queryuserID);
  1591. const queryresultID = await db.executequery(queryuserID);
  1592. console.log("queryresultID", queryresultID);
  1593. const finalquery = "INSERT INTO customer_user_mapping(customer_id,user_id,created_by,created_on)" +
  1594. "VALUES(?,?,?,?)";
  1595. const values = [queryresult[0].customer_id, queryresultID[0].user_id, req.body.created_by, createdate]
  1596. const res3 = await db.executevaluesquery(finalquery, values);
  1597. console.log("res3", res3);
  1598. if (res3) {
  1599. res.send({
  1600. status: true,
  1601. data: [{
  1602. createcustomerStatus: "0",
  1603. message: "Customer Entry created Successfully!",
  1604. lastinsertedData: req.body.customer_name,
  1605. exception: {
  1606. errorid: "",
  1607. errormessage: "No Errors"
  1608. }
  1609. }],
  1610. error: " "
  1611. })
  1612. } else {
  1613. res.send({
  1614. status: false,
  1615. data: [{
  1616. message: "Customer Entry Not created",
  1617. createcustomerStatus: "1",
  1618. exception: {
  1619. errorid: "404",
  1620. errormessage: "Bad request"
  1621. }
  1622. }],
  1623. error: ""
  1624. })
  1625. }
  1626. }
  1627. } else {
  1628. res.send({
  1629. status: true,
  1630. data: [],
  1631. errors: "Bad Request"
  1632. })
  1633. }
  1634. }
  1635. } else {
  1636. console.log("customer update");
  1637. 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 + "'";
  1638. console.log("query", query);
  1639. const queryresult = await db.executequery(query);
  1640. console.log("queryresult", queryresult);
  1641. //dates = searchfilter.split("-");
  1642. var saleData = req.body.sale_person.split(" ");
  1643. console.log("saleData");
  1644. //select user_id from user_master where first_name= "" and last_name="";
  1645. if (queryresult) {
  1646. const getsaleperson = "select user_id from user_master where first_name= '" + saleData[0] + "' and last_name= '" + saleData[1] + "'";
  1647. const getqueryresult = await db.executequery(getsaleperson);
  1648. if (getqueryresult) {
  1649. const checkdupli = "select * from customer_user_mapping where user_id=" + getqueryresult[0].user_id + " and customer_id= '" + req.body.customer_id + "' order by idcustCont_mapp desc limit 1";
  1650. const checkexcutequer = await db.executequery(checkdupli);
  1651. if (checkexcutequer[0].user_id == getqueryresult[0].user_id) {
  1652. //same user for customer update
  1653. console.log("same user for customer update");
  1654. console.log("database date", formatDateAsPer(checkexcutequer[0].effectivedate_to));
  1655. console.log("req body", req.body.effectivedate_to)
  1656. if (req.body.effectivedate_to.length > 0) {
  1657. if (req.body.effectivedate_from > req.body.effectivedate_to) {
  1658. res.send({
  1659. status: false,
  1660. data: [],
  1661. errors: "Please enter correct Effective From Date! Make sure Efffective From Date is less than Effective To Date"
  1662. })
  1663. } else {
  1664. const query = "INSERT INTO customer_user_mapping(customer_id,user_id,effiectivedate_from,effectivedate_to,created_by,created_on)" +
  1665. "VALUES(?,?,?,?,?,?)";
  1666. const values = [req.body.customer_id, getqueryresult[0].user_id, req.body.effectivedate_from, req.body.effectivedate_to.length > 0 ? req.body.effectivedate_to : null, req.body.created_by, createdate]
  1667. const res3 = await db.executevaluesquery(query, values);
  1668. console.log("response--------->", res3);
  1669. if (res3) {
  1670. res.send({
  1671. status: true,
  1672. data: [{
  1673. message: "Customer Entry Update Successfully!",
  1674. createcustomerStatus: "0",
  1675. lastinsertedData: req.body.customer_name,
  1676. exception: {
  1677. errorid: "",
  1678. errormessage: "No Errors"
  1679. }
  1680. }],
  1681. error: " "
  1682. })
  1683. } else {
  1684. res.send({
  1685. status: true,
  1686. data: [{
  1687. message: "Customer Entry Not Updated.",
  1688. createStatus: "1",
  1689. exception: {
  1690. errorid: "404",
  1691. errormessage: "Bad request"
  1692. }
  1693. }],
  1694. error: ""
  1695. })
  1696. }
  1697. }
  1698. } else {
  1699. //same user id for effective different date.
  1700. const query = "INSERT INTO customer_user_mapping(customer_id,user_id,effiectivedate_from,effectivedate_to,created_by,created_on)" +
  1701. "VALUES(?,?,?,?,?,?)";
  1702. const values = [req.body.customer_id, getqueryresult[0].user_id, req.body.effectivedate_from, req.body.effectivedate_to.length > 0 ? req.body.effectivedate_to : null, req.body.created_by, createdate]
  1703. const res3 = await db.executevaluesquery(query, values);
  1704. console.log("response--------->", res3);
  1705. if (res3) {
  1706. res.send({
  1707. status: true,
  1708. data: [{
  1709. message: "Customer Entry Update Successfully!",
  1710. createcustomerStatus: "0",
  1711. lastinsertedData: req.body.customer_name,
  1712. exception: {
  1713. errorid: "",
  1714. errormessage: "No Errors"
  1715. }
  1716. }],
  1717. error: " "
  1718. })
  1719. } else {
  1720. res.send({
  1721. status: true,
  1722. data: [{
  1723. message: "Customer Entry Not Updated.",
  1724. createStatus: "1",
  1725. exception: {
  1726. errorid: "404",
  1727. errormessage: "Bad request"
  1728. }
  1729. }],
  1730. error: ""
  1731. })
  1732. }
  1733. }
  1734. } else {
  1735. //other user for customer update
  1736. if (req.body.effectivedate_to.length > 0 && checkexcutequer[0].effectivedate_to.length > 0) {
  1737. if (req.body.effectivedate_to == formatDateAsPer(checkexcutequer[0].effectivedate_to)) {
  1738. res.send({
  1739. status: false,
  1740. data: [],
  1741. errors: "Please enter correct Effective To Date are same for other sales Person "
  1742. })
  1743. }
  1744. } else if (req.body.effectivedate_to.length > 0) {
  1745. if (req.body.effectivedate_from > req.body.effectivedate_to) {
  1746. res.send({
  1747. status: false,
  1748. data: [],
  1749. errors: "Please enter correct Effective From Date! Make sure Efffective From Date is less than Effective To Date"
  1750. })
  1751. } else if (req.body.effectivedate_from == req.body.effectivedate_to) {
  1752. res.send({
  1753. status: false,
  1754. data: [],
  1755. errors: "Please enter correct Effective From and Effection To Date ! Both Dates are same"
  1756. })
  1757. } else {
  1758. const query = "INSERT INTO customer_user_mapping(customer_id,user_id,effiectivedate_from,effectivedate_to,created_by,created_on)" +
  1759. "VALUES(?,?,?,?,?,?)";
  1760. const values = [req.body.customer_id, getqueryresult[0].user_id, req.body.effectivedate_from, req.body.effectivedate_to.length > 0 ? req.body.effectivedate_to : null, req.body.created_by, createdate]
  1761. const res3 = await db.executevaluesquery(query, values);
  1762. console.log("response--------->", res3);
  1763. if (res3) {
  1764. res.send({
  1765. status: true,
  1766. data: [{
  1767. message: "Customer Entry Update Successfully!",
  1768. createcustomerStatus: "0",
  1769. lastinsertedData: req.body.customer_name,
  1770. exception: {
  1771. errorid: "",
  1772. errormessage: "No Errors"
  1773. }
  1774. }],
  1775. error: " "
  1776. })
  1777. } else {
  1778. res.send({
  1779. status: true,
  1780. data: [{
  1781. message: "Customer Entry Not Updated",
  1782. createStatus: "1",
  1783. exception: {
  1784. errorid: "404",
  1785. errormessage: "Bad request"
  1786. }
  1787. }],
  1788. error: ""
  1789. })
  1790. }
  1791. }
  1792. } else {
  1793. //all ok
  1794. const query = "INSERT INTO customer_user_mapping(customer_id,user_id,effiectivedate_from,effectivedate_to,created_by,created_on)" +
  1795. "VALUES(?,?,?,?,?,?)";
  1796. const values = [req.body.customer_id, getqueryresult[0].user_id, req.body.effectivedate_from, req.body.effectivedate_to.length > 0 ? req.body.effectivedate_to : null, req.body.created_by, createdate]
  1797. const res3 = await db.executevaluesquery(query, values);
  1798. console.log("response--------->", res3);
  1799. if (res3) {
  1800. res.send({
  1801. status: true,
  1802. data: [{
  1803. message: "Customer Entry Update Successfully!",
  1804. createcustomerStatus: "0",
  1805. lastinsertedData: req.body.customer_name,
  1806. exception: {
  1807. errorid: "",
  1808. errormessage: "No Errors"
  1809. }
  1810. }],
  1811. error: " "
  1812. })
  1813. } else {
  1814. res.send({
  1815. status: true,
  1816. data: [{
  1817. message: "Customer Entry Not Updated",
  1818. createStatus: "1",
  1819. exception: {
  1820. errorid: "404",
  1821. errormessage: "Bad request"
  1822. }
  1823. }],
  1824. error: ""
  1825. })
  1826. }
  1827. }
  1828. }
  1829. }
  1830. }
  1831. }
  1832. }
  1833. catch (err) {
  1834. console.log(err)
  1835. res.send({
  1836. status: true, data: [],
  1837. errors: err
  1838. })
  1839. }
  1840. } else {
  1841. res.send(validationResp)
  1842. }
  1843. }
  1844. module.exports.deletedvrEntry = async (req, res) => {
  1845. try {
  1846. //DELETE FROM table_name WHERE condition;
  1847. console.log("req.body", req.body);
  1848. const updatedDate = await getcurrentDate();
  1849. const query = "UPDATE dvr_report SET delete_id = 1,updated_by= '" + req.body.created_by + "', updated_on= '" + updatedDate + "' where dvr_id= " + req.body.dvr_id + "";
  1850. const checkqueryresult = await db.executequery(query);
  1851. console.log("checkqueryresult", checkqueryresult)
  1852. console.log("eeeeeeee", checkqueryresult.affectedRows);
  1853. if (checkqueryresult) {
  1854. //entry not deleted
  1855. res.send({
  1856. status: true,
  1857. data: [{
  1858. message: "DVR Entry Deleted Successfully!",
  1859. deleteStatus: "0"
  1860. }],
  1861. error: ""
  1862. })
  1863. } else {
  1864. //entry deleted
  1865. res.send({
  1866. status: true,
  1867. data: [{
  1868. message: "DVR Entry Not Deleted.",
  1869. deleteStatus: "1",
  1870. exception: {
  1871. errorid: "404",
  1872. errormessage: "Bad request"
  1873. }
  1874. }],
  1875. error: ""
  1876. })
  1877. }
  1878. } catch (err) {
  1879. console.log(err)
  1880. res.send({
  1881. status: true,
  1882. data: [],
  1883. getdvrDataStatus: '1',
  1884. })
  1885. }
  1886. }
  1887. function getLastWeeksDate() {
  1888. const now = new Date();
  1889. const format2 = "YYYY-MM-DD";
  1890. const date = new Date(now.getTime() - 7 * 24 * 60 * 60 * 1000);
  1891. // console.log("date", date);
  1892. const dateTime2 = moment(date).format(format2) + ' 00:00:00';
  1893. // console.log("date------>", dateTime2);
  1894. return dateTime2;
  1895. }
  1896. function getcurrentDate() {
  1897. const now = new Date();
  1898. const format2 = "YYYY-MM-DD";
  1899. const dateTime2 = moment(now).format(format2) + ' 23:59:59';
  1900. // console.log("date------>", dateTime2);
  1901. return dateTime2;
  1902. }
  1903. function getLastMonthDate() {
  1904. const now = new Date();
  1905. const format2 = "YYYY-MM-DD";
  1906. const date = new Date(now.getFullYear(), now.getMonth() - 1, 1);
  1907. // console.log("date", date);
  1908. const dateTime2 = moment(date).format(format2) + ' 00:00:00';
  1909. //console.log("date------>", dateTime2);
  1910. return dateTime2;
  1911. }
  1912. function getLastYearDate() {
  1913. const now = new Date();
  1914. const format2 = "YYYY-MM-DD";
  1915. const date = new Date(now.setFullYear(now.getFullYear() - 1));
  1916. // console.log("date", date);
  1917. const dateTime2 = moment(date).format(format2) + ' 00:00:00';
  1918. //console.log("date------>", dateTime2);
  1919. return dateTime2;
  1920. }