dvrReportController.js 119 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760
  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. console.log(req);
  1258. const validationResp = await validation.updateContactDetailscheck(req);
  1259. const updatedDate = await getcurrentDate();
  1260. if (validationResp.status) {
  1261. try {
  1262. 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_by= '" + req.body.updated_by + "', updated_on= '" + updatedDate + "' , mob_no= '" + req.body.mob_no + "' where contact_id= '" + req.body.contact_id + "'";
  1263. console.log("query", query);
  1264. const queryresult = await db.executequery(query);
  1265. console.log("queryresult", queryresult);
  1266. if (queryresult) {
  1267. res.send({
  1268. updateContactStatus: '0',
  1269. mesasge: "Contact Entry updated suceesfully."
  1270. })
  1271. } else {
  1272. res.send({
  1273. updateContactStatus: '1',
  1274. mesasge: "Contact Entry not updated."
  1275. })
  1276. }
  1277. }
  1278. catch (err) {
  1279. console.log(err)
  1280. res.send({
  1281. status: true, data: []
  1282. })
  1283. }
  1284. } else {
  1285. res.send(validationResp)
  1286. }
  1287. }
  1288. module.exports.deleteContactDetails = async (req, res) => {
  1289. console.log(req);
  1290. const validationResp = await validation.deleteContactDetailscheck(req);
  1291. if (validationResp.status) {
  1292. try {
  1293. const query1 = "UPDATE contact_master SET updated_by='" + req.body.updated_by + "' WHERE contact_id = '" + req.body.contact_id +"';";
  1294. console.log("query", query1);
  1295. const query2 = "DELETE FROM contact_master WHERE contact_id = '" + req.body.contact_id +"';";
  1296. const queryresult1 = await db.executequery(query1);
  1297. const queryresult = await db.executequery(query2);
  1298. console.log("query", query2);
  1299. console.log("queryresult1", queryresult1);
  1300. console.log("queryresult2", queryresult);
  1301. if (queryresult) {
  1302. res.send({
  1303. deleteContactStatus: '0',
  1304. mesasge: "Contact Entry deleted suceesfully."
  1305. })
  1306. } else {
  1307. res.send({
  1308. deleteContactStatus: '1',
  1309. mesasge: "Contact Entry not deleted."
  1310. })
  1311. }
  1312. }
  1313. catch (err) {
  1314. console.log(err)
  1315. res.send({
  1316. status: true, data: []
  1317. })
  1318. }
  1319. } else {
  1320. res.send(validationResp)
  1321. }
  1322. }
  1323. module.exports.updateCustomerDetails = async (req, res) => {
  1324. const validationResp = await validation.updateCustomerDetailscheck(req);
  1325. const updatedDate = await getcurrentDate();
  1326. if (validationResp.status) {
  1327. try {
  1328. const query = "UPDATE customer_master SET customer_id = '" + req.body.customer_id + "', updated_on= '" + updatedDate + "' where customer_master= '" + req.body.contact_master + "'";
  1329. console.log("query", query);
  1330. const queryresult = await db.executequery(query);
  1331. console.log("queryresult", queryresult);
  1332. if (queryresult) {
  1333. res.send({
  1334. updateCustomerStatus: '0',
  1335. mesasge: "Customer Entry updated suceesfully."
  1336. })
  1337. } else {
  1338. res.send({
  1339. updateCustomerStatus: '1',
  1340. mesasge: "Customer Entry not updated."
  1341. })
  1342. }
  1343. }
  1344. catch (err) {
  1345. console.log(err)
  1346. res.send({
  1347. status: true, data: []
  1348. })
  1349. }
  1350. } else {
  1351. res.send(validationResp)
  1352. }
  1353. }
  1354. module.exports.getlastestdvr = async (req, res) => {
  1355. try {
  1356. var insertedRecord = [];
  1357. var startdate = new Date();
  1358. var enddate = new Date();
  1359. const format2 = "YYYY-MM-DD";
  1360. startdate = moment(startdate).format(format2) + ' 00:00:01';
  1361. enddate = moment(enddate).format(format2) + ' 23:59:59';
  1362. var person_role = req.query.role;
  1363. var login_id = req.query.login_id;
  1364. console.log("login_id", login_id);
  1365. if (person_role == 'admin') {
  1366. //admin show all data
  1367. 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";
  1368. const queryresult = await db.executequery(query);
  1369. console.log("query", query);
  1370. for (var i = 0; i < queryresult.length; i++) {
  1371. console.log(queryresult[i]);
  1372. insertedRecord.push(queryresult[i])
  1373. }
  1374. //console.log("res1", res1);
  1375. if (queryresult.length > 0) {
  1376. res.send({
  1377. status: true,
  1378. data: [{
  1379. dvrData: insertedRecord
  1380. }],
  1381. error: ""
  1382. })
  1383. } else {
  1384. res.send({
  1385. status: true,
  1386. data: [{
  1387. getdvrDataStatus: '1',
  1388. mesasge: "Data Not Found"
  1389. }],
  1390. error: ""
  1391. })
  1392. }
  1393. } else {
  1394. // other users
  1395. console.log("other users");
  1396. 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";
  1397. const queryresult = await db.executequery(query);
  1398. console.log("query", query);
  1399. for (var i = 0; i < queryresult.length; i++) {
  1400. console.log(queryresult[i]);
  1401. insertedRecord.push(queryresult[i])
  1402. }
  1403. console.log("queryresult", queryresult);
  1404. if (queryresult.length > 0) {
  1405. res.send({
  1406. status: true,
  1407. data: [{
  1408. dvrData: insertedRecord
  1409. }],
  1410. error: ""
  1411. })
  1412. } else {
  1413. res.send({
  1414. status: true,
  1415. data: [{
  1416. getdvrDataStatus: '1',
  1417. mesasge: "Data Not Found"
  1418. }],
  1419. error: ""
  1420. })
  1421. }
  1422. }
  1423. }
  1424. catch (err) {
  1425. console.log(err)
  1426. res.send({
  1427. status: true,
  1428. data: [],
  1429. getdvrDataStatus: '1',
  1430. })
  1431. }
  1432. }
  1433. module.exports.getcontactDetails = async (req, res) => {
  1434. try {
  1435. var insertedRecord = [];
  1436. var startdate = new Date();
  1437. var enddate = new Date();
  1438. const format2 = "YYYY-MM-DD";
  1439. startdate = moment(startdate).format(format2) + ' 00:00:01';
  1440. enddate = moment(enddate).format(format2) + ' 23:59:59';
  1441. var person_role = req.query.role;
  1442. var login_id = req.query.login_id;
  1443. if (person_role == 'admin') {
  1444. //admin show all data
  1445. 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";
  1446. const queryresult = await db.executequery(query);
  1447. console.log("query", query);
  1448. for (var i = 0; i < queryresult.length; i++) {
  1449. // console.log(queryresult[i]);
  1450. insertedRecord.push(queryresult[i])
  1451. }
  1452. if (queryresult.length > 0) {
  1453. res.send({
  1454. status: true,
  1455. data: [{
  1456. conrtactData: insertedRecord
  1457. }],
  1458. error: ""
  1459. })
  1460. } else {
  1461. res.send({
  1462. status: true,
  1463. data: [{
  1464. getdvrDataStatus: '1',
  1465. mesasge: "Data Not Found"
  1466. }],
  1467. error: ""
  1468. })
  1469. }
  1470. } else {
  1471. //others users
  1472. 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";
  1473. const queryresult = await db.executequery(query);
  1474. console.log("query", query);
  1475. for (var i = 0; i < queryresult.length; i++) {
  1476. // console.log(queryresult[i]);
  1477. insertedRecord.push(queryresult[i])
  1478. }
  1479. if (queryresult.length > 0) {
  1480. res.send({
  1481. status: true,
  1482. data: [{
  1483. conrtactData: insertedRecord
  1484. }],
  1485. error: ""
  1486. })
  1487. } else {
  1488. res.send({
  1489. status: true,
  1490. data: [{
  1491. getdvrDataStatus: '1',
  1492. mesasge: "Data Not Found"
  1493. }],
  1494. error: ""
  1495. })
  1496. }
  1497. }
  1498. } catch (err) {
  1499. console.log(err)
  1500. res.send({
  1501. status: true,
  1502. data: [],
  1503. getdvrDataStatus: '1',
  1504. })
  1505. }
  1506. }
  1507. module.exports.getsalePersonList = async (req, res) => {
  1508. console.log("in getsalePersonList");
  1509. try {
  1510. var salePerson = [];
  1511. var full_name = [];
  1512. const query = "SELECT user_id,first_name,last_name from user_master;";
  1513. const queryresult = await db.executequery(query);
  1514. if (queryresult.length > 0) {
  1515. for (var i = 0; i < queryresult.length; i++) {
  1516. console.log("queryresult", queryresult[i])
  1517. salePerson.push(queryresult[i]);
  1518. }
  1519. }
  1520. console.log("salePerson", salePerson);
  1521. res.send({
  1522. status: true,
  1523. data: [{
  1524. salePerson: salePerson
  1525. }],
  1526. error: ""
  1527. })
  1528. } catch (err) {
  1529. console.log(err)
  1530. res.send({
  1531. status: true, data: [], error: err
  1532. })
  1533. }
  1534. }
  1535. module.exports.getCustcontactDetails = async (req, res) => {
  1536. try {
  1537. var contactdetails = [];
  1538. var customer_id = req.query.customer_id;
  1539. var check_api = req.query.passid;
  1540. var passing_id;
  1541. console.log("customer_id", customer_id);
  1542. console.log("check api", check_api);
  1543. if (check_api == undefined) {
  1544. console.log("pass customer name");
  1545. const query = "SELECT customer_id,customer_name FROM customer_master where customer_name= '" + customer_id + "' ";
  1546. const queryresult = await db.executequery(query);
  1547. // console.log("queryresult", queryresult);
  1548. console.log("result------>", queryresult[0].customer_id);
  1549. passing_id = queryresult[0].customer_id;
  1550. // 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";
  1551. const query_id = "SELECT contact_id,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;"
  1552. const queryresult_id = await db.executequery(query_id);
  1553. console.log("query", query);
  1554. for (var i = 0; i < queryresult_id.length; i++) {
  1555. // console.log(queryresult_id[i]);
  1556. contactdetails.push(queryresult_id[i])
  1557. }
  1558. if (queryresult.length > 0) {
  1559. res.send({
  1560. status: true,
  1561. data: [{
  1562. conrtactData: contactdetails
  1563. }],
  1564. error: ""
  1565. })
  1566. } else {
  1567. res.send({
  1568. status: true,
  1569. data: [{
  1570. getdvrDataStatus: '1',
  1571. mesasge: "Data Not Found"
  1572. }],
  1573. error: ""
  1574. })
  1575. }
  1576. } else {
  1577. console.log("pass number");
  1578. if (customer_id == 0) {
  1579. console.log("getting all contact data");
  1580. // 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";
  1581. const query = "SELECT contact_id,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;"
  1582. const queryresult = await db.executequery(query);
  1583. console.log("query", query);
  1584. for (var i = 0; i < queryresult.length; i++) {
  1585. // console.log(queryresult[i]);
  1586. contactdetails.push(queryresult[i])
  1587. }
  1588. if (queryresult.length > 0) {
  1589. res.send({
  1590. status: true,
  1591. data: [{
  1592. conrtactData: contactdetails
  1593. }],
  1594. error: ""
  1595. })
  1596. } else {
  1597. res.send({
  1598. status: true,
  1599. data: [{
  1600. getdvrDataStatus: '1',
  1601. mesasge: "Data Not Found"
  1602. }],
  1603. error: ""
  1604. })
  1605. }
  1606. } else {
  1607. console.log("getting only specific customer contact data");
  1608. // 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";
  1609. const query = "SELECT contact_id,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;"
  1610. const queryresult = await db.executequery(query);
  1611. console.log("query", query);
  1612. for (var i = 0; i < queryresult.length; i++) {
  1613. // console.log(queryresult[i]);
  1614. contactdetails.push(queryresult[i])
  1615. }
  1616. if (queryresult.length > 0) {
  1617. res.send({
  1618. status: true,
  1619. data: [{
  1620. conrtactData: contactdetails
  1621. }],
  1622. error: ""
  1623. })
  1624. } else {
  1625. res.send({
  1626. status: true,
  1627. data: [{
  1628. getdvrDataStatus: '1',
  1629. mesasge: "Data Not Found"
  1630. }],
  1631. error: ""
  1632. })
  1633. }
  1634. }
  1635. }
  1636. } catch (err) {
  1637. console.log(err)
  1638. res.send({
  1639. status: true,
  1640. data: [],
  1641. getdvrDataStatus: '1',
  1642. })
  1643. }
  1644. }
  1645. module.exports.createUpdateCustomerentry = async (req, res) => {
  1646. const validationResp = await validation.createCustomerentrycheck(req);
  1647. const createdate = new Date();
  1648. if (validationResp.status) {
  1649. try {
  1650. if (req.body.action == 'insert') {
  1651. console.log("customer added");
  1652. const checkdub = "select * from customer_master where customer_name='" + req.body.customer_name + "'";
  1653. const checkqueryresult = await db.executequery(checkdub);
  1654. console.log("checkqueryresult", checkqueryresult.length)
  1655. if (checkqueryresult.length > 0) {
  1656. //allready all present
  1657. res.send({
  1658. status: false,
  1659. data: [],
  1660. errors: "Customer Entry allready Exit ! Please Enter Correct Customer Name"
  1661. })
  1662. } else {
  1663. //data not is present
  1664. const query = "INSERT INTO customer_master(customer_name,created_by,created_on)" +
  1665. "VALUES(?,?,?)";
  1666. const values = [req.body.customer_name, req.body.created_by, createdate]
  1667. const res3 = await db.executevaluesquery(query, values);
  1668. // console.log("response", res3);
  1669. if (res3) {
  1670. const query = "select customer_id from customer_master order by customer_id desc limit 1";
  1671. const queryresult = await db.executequery(query);
  1672. console.log("query result----->", queryresult);
  1673. console.log("query result----->", queryresult[0].customer_id);
  1674. if (queryresult) {
  1675. // const query = "select customer_id from customer_master order by customer_id desc limit 1";
  1676. // const queryresult = await db.executequery(query);
  1677. var sale_person = req.body.sale_person;
  1678. var name = sale_person.split(" ");
  1679. console.log("name", name);
  1680. var first_name = name[0];
  1681. var last_name = name[1];
  1682. console.log(first_name, last_name);
  1683. const queryuserID = "SELECT user_id FROM user_master where first_name='" + first_name + "' and last_name= '" + last_name + "'";
  1684. console.log("queryuserID", queryuserID);
  1685. const queryresultID = await db.executequery(queryuserID);
  1686. console.log("queryresultID", queryresultID);
  1687. const finalquery = "INSERT INTO customer_user_mapping(customer_id,user_id,created_by,created_on)" +
  1688. "VALUES(?,?,?,?)";
  1689. const values = [queryresult[0].customer_id, queryresultID[0].user_id, req.body.created_by, createdate]
  1690. const res3 = await db.executevaluesquery(finalquery, values);
  1691. // console.log("res3", res3);
  1692. if (res3) {
  1693. res.send({
  1694. status: true,
  1695. data: [{
  1696. createcustomerStatus: "0",
  1697. message: "Customer Entry created Successfully!",
  1698. lastinsertedData: req.body.customer_name,
  1699. exception: {
  1700. errorid: "",
  1701. errormessage: "No Errors"
  1702. }
  1703. }],
  1704. error: " "
  1705. })
  1706. } else {
  1707. res.send({
  1708. status: false,
  1709. data: [{
  1710. message: "Customer Entry Not created",
  1711. createcustomerStatus: "1",
  1712. exception: {
  1713. errorid: "404",
  1714. errormessage: "Bad request"
  1715. }
  1716. }],
  1717. error: ""
  1718. })
  1719. }
  1720. }
  1721. } else {
  1722. res.send({
  1723. status: true,
  1724. data: [],
  1725. errors: "Bad Request"
  1726. })
  1727. }
  1728. }
  1729. } else {
  1730. console.log("customer update");
  1731. 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 + "'";
  1732. console.log("query", query);
  1733. const queryresult = await db.executequery(query);
  1734. console.log("queryresult", queryresult);
  1735. //dates = searchfilter.split("-");
  1736. var saleData = req.body.sale_person.split(" ");
  1737. console.log("saleData");
  1738. //select user_id from user_master where first_name= "" and last_name="";
  1739. if (queryresult) {
  1740. const getsaleperson = "select user_id from user_master where first_name= '" + saleData[0] + "' and last_name= '" + saleData[1] + "'";
  1741. const getqueryresult = await db.executequery(getsaleperson);
  1742. if (getqueryresult) {
  1743. 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";
  1744. const checkexcutequer = await db.executequery(checkdupli);
  1745. if (checkexcutequer[0].user_id == getqueryresult[0].user_id) {
  1746. //same user for customer update
  1747. console.log("same user for customer update");
  1748. console.log("database date", formatDateAsPer(checkexcutequer[0].effectivedate_to));
  1749. console.log("req body", req.body.effectivedate_to)
  1750. if (req.body.effectivedate_to.length > 0) {
  1751. if (req.body.effectivedate_from > req.body.effectivedate_to) {
  1752. res.send({
  1753. status: false,
  1754. data: [],
  1755. errors: "Please enter correct Effective From Date! Make sure Efffective From Date is less than Effective To Date"
  1756. })
  1757. } else {
  1758. const query = "INSERT INTO customer_user_mapping(customer_id,user_id,effiectivedate_from,effectivedate_to,created_by,created_on)" +
  1759. "VALUES(?,?,?,?,?,?)";
  1760. const values = [req.body.customer_id, getqueryresult[0].user_id, req.body.effectivedate_from, req.body.effectivedate_to.length > 0 ? req.body.effectivedate_to : null, req.body.created_by, createdate]
  1761. const res3 = await db.executevaluesquery(query, values);
  1762. console.log("response--------->", res3);
  1763. if (res3) {
  1764. res.send({
  1765. status: true,
  1766. data: [{
  1767. message: "Customer Entry Update Successfully!",
  1768. createcustomerStatus: "0",
  1769. lastinsertedData: req.body.customer_name,
  1770. exception: {
  1771. errorid: "",
  1772. errormessage: "No Errors"
  1773. }
  1774. }],
  1775. error: " "
  1776. })
  1777. } else {
  1778. res.send({
  1779. status: true,
  1780. data: [{
  1781. message: "Customer Entry Not Updated.",
  1782. createStatus: "1",
  1783. exception: {
  1784. errorid: "404",
  1785. errormessage: "Bad request"
  1786. }
  1787. }],
  1788. error: ""
  1789. })
  1790. }
  1791. }
  1792. } else {
  1793. //same user id for effective different date.
  1794. const query = "INSERT INTO customer_user_mapping(customer_id,user_id,effiectivedate_from,effectivedate_to,created_by,created_on)" +
  1795. "VALUES(?,?,?,?,?,?)";
  1796. const values = [req.body.customer_id, getqueryresult[0].user_id, req.body.effectivedate_from, req.body.effectivedate_to.length > 0 ? req.body.effectivedate_to : null, req.body.created_by, createdate]
  1797. const res3 = await db.executevaluesquery(query, values);
  1798. console.log("response--------->", res3);
  1799. if (res3) {
  1800. res.send({
  1801. status: true,
  1802. data: [{
  1803. message: "Customer Entry Update Successfully!",
  1804. createcustomerStatus: "0",
  1805. lastinsertedData: req.body.customer_name,
  1806. exception: {
  1807. errorid: "",
  1808. errormessage: "No Errors"
  1809. }
  1810. }],
  1811. error: " "
  1812. })
  1813. } else {
  1814. res.send({
  1815. status: true,
  1816. data: [{
  1817. message: "Customer Entry Not Updated.",
  1818. createStatus: "1",
  1819. exception: {
  1820. errorid: "404",
  1821. errormessage: "Bad request"
  1822. }
  1823. }],
  1824. error: ""
  1825. })
  1826. }
  1827. }
  1828. } else {
  1829. //other user for customer update
  1830. if (req.body.effectivedate_to.length > 0 && checkexcutequer[0].effectivedate_to.length > 0) {
  1831. if (req.body.effectivedate_to == formatDateAsPer(checkexcutequer[0].effectivedate_to)) {
  1832. res.send({
  1833. status: false,
  1834. data: [],
  1835. errors: "Please enter correct Effective To Date are same for other sales Person "
  1836. })
  1837. }
  1838. } else if (req.body.effectivedate_to.length > 0) {
  1839. if (req.body.effectivedate_from > req.body.effectivedate_to) {
  1840. res.send({
  1841. status: false,
  1842. data: [],
  1843. errors: "Please enter correct Effective From Date! Make sure Efffective From Date is less than Effective To Date"
  1844. })
  1845. } else if (req.body.effectivedate_from == req.body.effectivedate_to) {
  1846. res.send({
  1847. status: false,
  1848. data: [],
  1849. errors: "Please enter correct Effective From and Effection To Date ! Both Dates are same"
  1850. })
  1851. } else {
  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. } else {
  1887. //all ok
  1888. const query = "INSERT INTO customer_user_mapping(customer_id,user_id,effiectivedate_from,effectivedate_to,created_by,created_on)" +
  1889. "VALUES(?,?,?,?,?,?)";
  1890. 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]
  1891. const res3 = await db.executevaluesquery(query, values);
  1892. console.log("response--------->", res3);
  1893. if (res3) {
  1894. res.send({
  1895. status: true,
  1896. data: [{
  1897. message: "Customer Entry Update Successfully!",
  1898. createcustomerStatus: "0",
  1899. lastinsertedData: req.body.customer_name,
  1900. exception: {
  1901. errorid: "",
  1902. errormessage: "No Errors"
  1903. }
  1904. }],
  1905. error: " "
  1906. })
  1907. } else {
  1908. res.send({
  1909. status: true,
  1910. data: [{
  1911. message: "Customer Entry Not Updated",
  1912. createStatus: "1",
  1913. exception: {
  1914. errorid: "404",
  1915. errormessage: "Bad request"
  1916. }
  1917. }],
  1918. error: ""
  1919. })
  1920. }
  1921. }
  1922. }
  1923. }
  1924. }
  1925. }
  1926. }
  1927. catch (err) {
  1928. console.log(err)
  1929. res.send({
  1930. status: true, data: [],
  1931. errors: err
  1932. })
  1933. }
  1934. } else {
  1935. res.send(validationResp)
  1936. }
  1937. }
  1938. module.exports.deletedvrEntry = async (req, res) => {
  1939. try {
  1940. //DELETE FROM table_name WHERE condition;
  1941. console.log("req.body", req.body);
  1942. const updatedDate = await getcurrentDate();
  1943. 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 + "";
  1944. const checkqueryresult = await db.executequery(query);
  1945. console.log("checkqueryresult", checkqueryresult)
  1946. console.log("eeeeeeee", checkqueryresult.affectedRows);
  1947. if (checkqueryresult) {
  1948. //entry not deleted
  1949. res.send({
  1950. status: true,
  1951. data: [{
  1952. message: "DVR Entry Deleted Successfully!",
  1953. deleteStatus: "0"
  1954. }],
  1955. error: ""
  1956. })
  1957. } else {
  1958. //entry deleted
  1959. res.send({
  1960. status: true,
  1961. data: [{
  1962. message: "DVR Entry Not Deleted.",
  1963. deleteStatus: "1",
  1964. exception: {
  1965. errorid: "404",
  1966. errormessage: "Bad request"
  1967. }
  1968. }],
  1969. error: ""
  1970. })
  1971. }
  1972. } catch (err) {
  1973. console.log(err)
  1974. res.send({
  1975. status: true,
  1976. data: [],
  1977. getdvrDataStatus: '1',
  1978. })
  1979. }
  1980. }
  1981. // module.exports.mappingCustomerDetails = async (req, res) => {
  1982. // // Validate the request
  1983. // const validationResp = await validation.mappingCustomerDetailsCheck(req);
  1984. // if (validationResp.status) {
  1985. // try {
  1986. // // Extract salesperson's name
  1987. // const sale_person = req.body.sale_person;
  1988. // const name = sale_person.split(" ");
  1989. // const first_name = name[0];
  1990. // const last_name = name[1];
  1991. // console.log("Extracted names:", first_name, last_name);
  1992. // // SQL query to get user_id from user_master
  1993. // const queryUserID = "SELECT user_id FROM user_master WHERE first_name='" + first_name + "' AND last_name='" + last_name + "'";
  1994. // console.log("queryUserID", queryUserID);
  1995. // const queryResultID = await db.executequery(queryUserID);
  1996. // console.log("User ID query result:", queryResultID);
  1997. // if (queryResultID.length > 0) {
  1998. // res.send({
  1999. // status: true,
  2000. // data: {
  2001. // user_id: queryResultID[0].user_id
  2002. // },
  2003. // error: null
  2004. // });
  2005. // } else {
  2006. // res.send({
  2007. // status: false,
  2008. // data: [],
  2009. // errors: "No user found with the specified name."
  2010. // });
  2011. // }
  2012. // } catch (err) {
  2013. // console.error("Error occurred:", err);
  2014. // res.send({
  2015. // status: false,
  2016. // data: [],
  2017. // errors: "An error occurred while fetching the user ID."
  2018. // });
  2019. // }
  2020. // } else {
  2021. // res.send(validationResp);
  2022. // }
  2023. // }
  2024. module.exports.mappingCustomerDetails = async (req, res) => {
  2025. // Validate the request
  2026. console.log("sale_", req.query.sale_person)
  2027. const validationResp = await validation.mappingCustomerDetailsCheck(req);
  2028. if (validationResp.status) {
  2029. try {
  2030. const sale_person = req.query.sale_person;
  2031. const name = sale_person.split(" ");
  2032. const first_name = name[0];
  2033. const last_name = name[1];
  2034. console.log("Extracted names:", first_name, last_name);
  2035. // SQL query to get user_id from user_master
  2036. const queryUserID = "SELECT user_id FROM user_master WHERE first_name='" + first_name + "' AND last_name='" + last_name + "'";
  2037. console.log("queryUserID", queryUserID);
  2038. const queryResultID = await db.executequery(queryUserID);
  2039. console.log("User ID query result:", queryResultID);
  2040. if (queryResultID.length > 0) {
  2041. const userId = queryResultID[0].user_id;
  2042. // SQL query to get customer details associated with the user_id
  2043. const queryCustomerDetails = `
  2044. SELECT c.customer_id, c.customer_name, u.user_id
  2045. FROM customer_master c
  2046. JOIN customer_user_mapping u ON c.customer_id = u.customer_id
  2047. WHERE u.user_id = '${userId}'`;
  2048. console.log("queryCustomerDetails", queryCustomerDetails);
  2049. const customerDetailsResult = await db.executequery(queryCustomerDetails);
  2050. console.log("Customer details result:", customerDetailsResult);
  2051. if (customerDetailsResult.length > 0) {
  2052. res.send({
  2053. status: true,
  2054. data: customerDetailsResult,
  2055. error: null
  2056. });
  2057. } else {
  2058. res.send({
  2059. status: false,
  2060. data: [],
  2061. errors: "No customer details found for the specified salesperson."
  2062. });
  2063. }
  2064. } else {
  2065. res.send({
  2066. status: false,
  2067. data: [],
  2068. errors: "No user found with the specified name."
  2069. });
  2070. }
  2071. } catch (err) {
  2072. console.error("Error occurred:", err);
  2073. res.send({
  2074. status: false,
  2075. data: [],
  2076. errors: "An error occurred while fetching the customer details."
  2077. });
  2078. }
  2079. } else {
  2080. res.send(validationResp);
  2081. }
  2082. }
  2083. module.exports.mappingFuncIDToPersonNames = async (req, res) => {
  2084. // Validate the request
  2085. console.log("func_id_", req.query.func_id);
  2086. const validationResp = await validation.mappingFuncIDToPersonNamesCheck(req);
  2087. if (validationResp.status) {
  2088. try {
  2089. const func_id = req.query.func_id;
  2090. // SQL query to get all persons mapped to the given func_id
  2091. // const queryFunctionPersonMapping = `
  2092. // SELECT f.func_id, p.person_name
  2093. // FROM dvr_local.function_person_mapping fp
  2094. // JOIN dvr_local.function_details f ON f.func_id = fp.func_id
  2095. // JOIN dvr_local.person_details p ON p.person_id = fp.person_id
  2096. // WHERE fp.func_id = '${func_id}'`;
  2097. const queryFunctionPersonMapping = `
  2098. SELECT f.fun_id, p.person_name
  2099. FROM function_person_mapping fp
  2100. JOIN function_details f ON f.fun_id = fp.fun_id
  2101. JOIN function_person_details p ON p.id_fun_person = fp.id_fun_person
  2102. WHERE fp.fun_id = ${func_id};`
  2103. console.log("queryFunctionPersonMapping", queryFunctionPersonMapping);
  2104. // Use parameterized query to avoid SQL injection
  2105. const queryResult = await db.executequery(queryFunctionPersonMapping, [func_id]);
  2106. console.log("Function-person mapping query result:", queryResult);
  2107. if (queryResult.length > 0) {
  2108. res.send({
  2109. status: true,
  2110. data: queryResult,
  2111. error: null
  2112. });
  2113. } else {
  2114. res.send({
  2115. status: false,
  2116. data: [],
  2117. errors: "No persons are mapped to the specified function ID."
  2118. });
  2119. }
  2120. } catch (err) {
  2121. console.error("Error occurred:", err);
  2122. res.send({
  2123. status: false,
  2124. data: [],
  2125. errors: "An error occurred while fetching the person details for the specified function ID."
  2126. });
  2127. }
  2128. } else {
  2129. res.send(validationResp);
  2130. }
  2131. };
  2132. function getLastWeeksDate() {
  2133. const now = new Date();
  2134. const format2 = "YYYY-MM-DD";
  2135. const date = new Date(now.getTime() - 7 * 24 * 60 * 60 * 1000);
  2136. // console.log("date", date);
  2137. const dateTime2 = moment(date).format(format2) + ' 00:00:00';
  2138. // console.log("date------>", dateTime2);
  2139. return dateTime2;
  2140. }
  2141. function getcurrentDate() {
  2142. const now = new Date();
  2143. const format2 = "YYYY-MM-DD";
  2144. const dateTime2 = moment(now).format(format2) + ' 23:59:59';
  2145. // console.log("date------>", dateTime2);
  2146. return dateTime2;
  2147. }
  2148. function getLastMonthDate() {
  2149. const now = new Date();
  2150. const format2 = "YYYY-MM-DD";
  2151. const date = new Date(now.getFullYear(), now.getMonth() - 1, 1);
  2152. // console.log("date", date);
  2153. const dateTime2 = moment(date).format(format2) + ' 00:00:00';
  2154. //console.log("date------>", dateTime2);
  2155. return dateTime2;
  2156. }
  2157. function getLastYearDate() {
  2158. const now = new Date();
  2159. const format2 = "YYYY-MM-DD";
  2160. const date = new Date(now.setFullYear(now.getFullYear() - 1));
  2161. // console.log("date", date);
  2162. const dateTime2 = moment(date).format(format2) + ' 00:00:00';
  2163. //console.log("date------>", dateTime2);
  2164. return dateTime2;
  2165. }