dvrReportController.js 111 KB

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