dvrReportController.js 123 KB

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