dvrReportController.js 117 KB

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