engine.py 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695
  1. #----------Import neccessary packeges Starts-----------------#
  2. from flask import Flask, request, jsonify, make_response, render_template
  3. import pymongo
  4. import json
  5. from flask_cors import CORS
  6. import gc
  7. import os
  8. from datetime import datetime
  9. from flask import send_from_directory
  10. import base64
  11. #----------Import neccessary packeges Ends-----------------#
  12. #----------Import Config File Starts-----------------#
  13. from config import *
  14. import requests
  15. #----------Import neccessary Ends-----------------#
  16. #----------Import Service Func Starts------------ -----#
  17. from service.vendor_service import *
  18. from service.project_service import *
  19. from service.fetch_master_service import *
  20. from service.voucher_approval_service import *
  21. from utils.FetchInterventions import getInterventionMaster
  22. from service.voucher_list import *
  23. from service.asset_service import *
  24. from service.reports_service import *
  25. from utils.DateOperation import *
  26. from utils.FetchInterventions import getUserDetails
  27. #----------Import Service Func Ends-----------------#
  28. #----------Mongo Connection-----------#
  29. mongoClient = pymongo.MongoClient(MONGO_URI)
  30. mongo = mongoClient[MONGO_DBNAME]
  31. #----------Mongo Connection End-------#
  32. UPLOAD_FOLDER = 'uploads'
  33. ALLOWED_EXTENSIONS = { '.pptx','.pdf', '.png', '.jpg', '.jpeg', '.gif','.xlsx','.xls'}
  34. app = Flask(__name__)
  35. app.config['JSON_SORT_KEYS'] = False
  36. app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
  37. app.config['STATIC_IMG']='static_img'
  38. app.config['PO_PDF']='po_pdf'
  39. app.config['UPLOAD_EXTENSIONS']=ALLOWED_EXTENSIONS
  40. app.config['SECRET_KEY'] = SECRET_KEY
  41. app.config['TEMPLATES_AUTO_RELOAD'] = TEMPLATES_AUTO_RELOAD # Auto reload flak template
  42. cors = CORS(app, resources={r"/*": {"origins": "*"}}) # Allow Cross origin request
  43. @app.before_request
  44. def before_request():
  45. gc.collect()
  46. #------------------------------------------
  47. #------------ Fetch Master Data------------
  48. #------------------------------------------
  49. @app.route('/validate_vendor_code', methods=['GET'])
  50. def validate_vendor_code():
  51. try:
  52. queryResult=validateVendorCode(request.args.get('v_code'),mongo)
  53. return jsonify(queryResult)
  54. except Exception as err:
  55. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  56. return jsonify({'status': 'failure', 'message': 'Something went wrong!'})
  57. @app.route('/validate_pan', methods=['GET'])
  58. def validate_pan():
  59. try:
  60. queryResult=validatePANService(request.args.get('v_pan'),mongo)
  61. return jsonify(queryResult)
  62. except Exception as err:
  63. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  64. return jsonify({'status': 'failure', 'message': 'Something went wrong'})
  65. @app.route('/register_vendor', methods=['POST'])
  66. def register_vendor():
  67. try:
  68. data=request.form.to_dict(flat=True)
  69. queryResult=addVendorService(request.files,data,app,mongo)
  70. return jsonify(queryResult)
  71. except Exception as err:
  72. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  73. return jsonify({'status': 'failure', 'data': 'Something went wrong!'})
  74. @app.route('/get_vendors', methods=['GET'])
  75. def get_vendor():
  76. try:
  77. queryResult=getVendorList(request.args.get('id'),mongo)
  78. return jsonify(queryResult)
  79. except Exception as err:
  80. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  81. return jsonify([])
  82. @app.route('/get_all_vendors',methods=['GET'])
  83. def get_all_vendors():
  84. try:
  85. queryResult=getAllVendorList(mongo)
  86. return jsonify(queryResult)
  87. except Exception as err:
  88. print(err)
  89. @app.route('/get_unregistered_vendors',methods=['GET'])
  90. def get_unregistered_vendors():
  91. try:
  92. queryResult=getAllUnregisteredVendorList(mongo)
  93. return jsonify(queryResult)
  94. except Exception as err:
  95. print(err)
  96. @app.route('/get_vendor_details',methods=['GET'])
  97. def get_vendor_details():
  98. try:
  99. queryResult=getVendorDetails(request.args.get('id'),mongo)
  100. return jsonify(queryResult)
  101. except Exception as err:
  102. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  103. return jsonify([])
  104. @app.route('/update_vendor_status',methods=['POST'])
  105. def update_vendor_status():
  106. try:
  107. if not request.json:
  108. return jsonify({'status': 'failure', 'data':'Something went wrong!'})
  109. else:
  110. queryResult=updateVendorStatus(request.json,mongo)
  111. return queryResult
  112. except Exception as err:
  113. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  114. return jsonify({'status': 'failure', 'data': 'Something went wrong!'})
  115. @app.route('/update_vendor_status_admin',methods=['POST'])
  116. def update_vendor_status_admin():
  117. try:
  118. if not request.json:
  119. return jsonify({'status': 'failure', 'data':'Something went wrong!'})
  120. else:
  121. queryResult=updateVendorStatusAdmin(request.json,mongo)
  122. return queryResult
  123. except Exception as err:
  124. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  125. return jsonify({'status': 'failure', 'data': 'Something went wrong!'})
  126. @app.route('/update_rating',methods=['POST'])
  127. def update_rating():
  128. try:
  129. if not request.json:
  130. return jsonify({'status': 'failure', 'data':'Something went wrong!'})
  131. else:
  132. queryResult=update_rating_service(request.json,mongo)
  133. return queryResult
  134. except Exception as err:
  135. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  136. return jsonify({'status': 'failure', 'data': 'Something went wrong!'})
  137. @app.route('/get_vendor_ratings',methods=['GET'])
  138. def get_vendor_ratings():
  139. try:
  140. queryResult=getVendorRatingsService(request.args.get('id'),mongo)
  141. return jsonify(queryResult)
  142. except Exception as err:
  143. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  144. return jsonify([])
  145. @app.route('/get_intervention', methods=['GET'])
  146. def get_intervention():
  147. try:
  148. queryResult=getInterventionMaster(mongo)
  149. return jsonify({'status': 'success', 'data': queryResult})
  150. except Exception as err:
  151. print(err)
  152. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  153. return jsonify({'status': 'failure', 'data': 'Something went wrong!'})
  154. @app.route('/add_project',methods=['POST'])
  155. def add_project():
  156. try:
  157. data=request.form.to_dict(flat=True)
  158. queryResult=addProjectService(request.files,data,app,mongo)
  159. return queryResult
  160. except Exception as err:
  161. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  162. return jsonify({'status': 'failure', 'data': 'Something went wrong!'})
  163. @app.route('/submit_project',methods=['POST'])
  164. def submit_project():
  165. try:
  166. if not request.json:
  167. return jsonify({'status': 'failure', 'data':'Something went wrong!'})
  168. else:
  169. queryResult=submitProjectDetails(request.json,mongo)
  170. return queryResult
  171. except Exception as err:
  172. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  173. return jsonify({'status': 'failure', 'data': 'Something went wrong!'})
  174. @app.route('/get_projects', methods=['GET'])
  175. def get_projects():
  176. try:
  177. queryResult=getProjectList(request.args.get('id'),mongo)
  178. return jsonify(queryResult)
  179. except Exception as err:
  180. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  181. return jsonify([])
  182. @app.route('/get_all_projects', methods=['GET'])
  183. def get_all_projects():
  184. try:
  185. queryResult=getAllProjectList(mongo)
  186. return jsonify(queryResult)
  187. except Exception as err:
  188. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  189. return jsonify([])
  190. @app.route('/get_project_details',methods=['GET'])
  191. def get_project_details():
  192. try:
  193. queryResult=getProjectDetails(request.args.get('id'),mongo)
  194. return jsonify(queryResult)
  195. except Exception as err:
  196. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  197. return jsonify([])
  198. @app.route('/create_po',methods=['POST'])
  199. def create_po():
  200. try:
  201. data=request.form.to_dict(flat=True)
  202. queryResult=createPOService(data,app,mongo)
  203. return queryResult
  204. except Exception as err:
  205. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  206. return jsonify({'status': 'failure', 'data': 'Something went wrong!'})
  207. @app.route('/create_po_pdf',methods=['GET'])
  208. def create_po_pdf():
  209. try:
  210. queryResult=createPoPdfService(request.args.get('id'),app,mongo)
  211. return jsonify(queryResult)
  212. except Exception as err:
  213. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  214. return jsonify([])
  215. @app.route('/get_po_pdf',methods=['GET'])
  216. def get_po_pdf():
  217. try:
  218. return send_from_directory(app.config['PO_PDF'], request.args.get('id')+'.pdf')
  219. except Exception as err:
  220. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  221. return jsonify([])
  222. @app.route('/get_po_approvals',methods=['GET'])
  223. def get_po_approvals():
  224. try:
  225. queryResult=getPOPendingLisForApprovals(request.args.get('id'),mongo)
  226. return jsonify(queryResult)
  227. except Exception as err:
  228. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  229. return jsonify([])
  230. @app.route('/get_po_archive_approvals',methods=['GET'])
  231. def get_po_archive_approvals():
  232. try:
  233. queryResult=getPOArchiveLisForApprovals(request.args.get('id'),mongo)
  234. return jsonify(queryResult)
  235. except Exception as err:
  236. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  237. return jsonify([])
  238. @app.route('/get_voucher_approvals',methods=['GET'])
  239. def get_voucher_approvals():
  240. try:
  241. queryResult=getVoucherPendingLisForApprovals(request.args.get('id'),mongo)
  242. return jsonify(queryResult)
  243. except Exception as err:
  244. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  245. return jsonify([])
  246. @app.route('/get_voucher_archive_approvals',methods=['GET'])
  247. def get_voucher_archive_approvals():
  248. try:
  249. queryResult=getVoucherArchiveLisForApprovals(request.args.get('id'),mongo)
  250. return jsonify(queryResult)
  251. except Exception as err:
  252. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  253. return jsonify([])
  254. @app.route('/approveDeclinePO',methods=['POST'])
  255. def approveDeclinePO():
  256. try:
  257. if not request.json:
  258. return jsonify({'status': 'failure', 'data':'Something went wrong!'})
  259. else:
  260. queryResult=approveDeclinePOService(request.json,mongo,app)
  261. return queryResult
  262. except Exception as err:
  263. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  264. return jsonify({'status': 'failure', 'data': 'Something went wrong!'})
  265. @app.route('/get_po_status_log',methods=['GET'])
  266. def get_po_status_log():
  267. try:
  268. queryResult=getPOStatusLogs(request.args.get('id'),mongo,app)
  269. return jsonify(queryResult)
  270. except Exception as err:
  271. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  272. return jsonify([])
  273. @app.route('/get_voucher_status_log',methods=['GET'])
  274. def get_voucher_status_log():
  275. try:
  276. queryResult=getVoucherStatusLogsService(request.args.get('id'),mongo)
  277. return jsonify(queryResult)
  278. except Exception as err:
  279. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  280. return jsonify([])
  281. @app.route('/vendor_acceptance',methods=['POST'])
  282. def vendor_acceptance():
  283. queryResult={}
  284. try:
  285. data=request.form.to_dict(flat=True)
  286. queryResult=vendorAcceptanceService(request.files,data,app,mongo)
  287. return queryResult
  288. except Exception as err:
  289. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  290. return jsonify({'status': 'failure', 'data': 'Something went wrong!'})
  291. @app.route('/get_vouchers', methods=['GET'])
  292. def get_vouchers():
  293. try:
  294. queryResult=getVoucherList(request.args.get('id'),mongo)
  295. return jsonify(queryResult)
  296. except Exception as err:
  297. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  298. return jsonify([])
  299. @app.route('/get_all_vouchers', methods=['GET'])
  300. def get_all_vouchers():
  301. try:
  302. queryResult=getAllVoucherListService(mongo)
  303. return jsonify(queryResult)
  304. except Exception as err:
  305. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  306. return jsonify([])
  307. @app.route('/get_all_po',methods=['GET'])
  308. def get_all_po():
  309. try:
  310. queryResult=getAllPOListService(mongo)
  311. return jsonify(queryResult)
  312. except Exception as err:
  313. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  314. return jsonify([])
  315. @app.route('/get_voucher_type',methods=['GET'])
  316. def get_voucher_type():
  317. try:
  318. queryResult=getAllVoucherTypeListService(mongo)
  319. return jsonify(queryResult)
  320. except Exception as err:
  321. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  322. return jsonify([])
  323. @app.route('/get_budget_head',methods=['GET'])
  324. def get_budget_head():
  325. try:
  326. queryResult=getAllBudgetHeadListService(mongo)
  327. return jsonify(queryResult)
  328. except Exception as err:
  329. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  330. return jsonify([])
  331. @app.route('/get_tds_rate',methods=['GET'])
  332. def get_tds_rate():
  333. try:
  334. queryResult=getTDSRateListService(mongo)
  335. return jsonify(queryResult)
  336. except Exception as err:
  337. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  338. return jsonify([])
  339. @app.route('/create_voucher',methods=['POST'])
  340. def create_voucher():
  341. try:
  342. data=request.form.to_dict(flat=True)
  343. queryResult=createVoucherService(request.files,data,app,mongo)
  344. return queryResult
  345. except Exception as err:
  346. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  347. return jsonify([])
  348. @app.route('/update_tds_rate',methods=['POST'])
  349. def update_tds_rate():
  350. try:
  351. if not request.json:
  352. return jsonify({'status': 'failure', 'data':'Something went wrong!'})
  353. else:
  354. queryResult=updateVoucherTDSService(request.json,mongo)
  355. return queryResult
  356. except Exception as err:
  357. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  358. return jsonify({'status': 'failure', 'data': 'Something went wrong!'})
  359. @app.route('/get_voucher_details',methods=['GET'])
  360. def get_voucher_details():
  361. try:
  362. queryResult=getVoucherDetails(request.args.get('id'),mongo)
  363. return jsonify(queryResult)
  364. except Exception as err:
  365. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  366. return jsonify([])
  367. @app.route('/voucher_print_count',methods=['GET'])
  368. def voucher_print_count():
  369. try:
  370. queryResult=getVoucherDetailsPrintCount(request.args.get('id'),mongo)
  371. return jsonify(queryResult)
  372. except Exception as err:
  373. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  374. return jsonify([])
  375. @app.route('/fetch_voucher_analytics',methods=['GET'])
  376. def fetch_voucher_analytics():
  377. try:
  378. queryResult=getVoucherAnalyticsDataService(request.args.get('fromDate'),request.args.get('toDate'),mongo)
  379. return jsonify(queryResult)
  380. except Exception as err:
  381. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  382. return jsonify([])
  383. @app.route('/get_senior_list',methods=['GET'])
  384. def get_senior_list():
  385. try:
  386. queryResult=getVoucherApprovalUserReportService(mongo)
  387. return jsonify(queryResult)
  388. except Exception as err:
  389. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  390. return jsonify([])
  391. @app.route('/get_senior_details',methods=['GET'])
  392. def get_senior_details():
  393. try:
  394. queryResult=getSeniorDetailsService(request.args.get('emp_key'),mongo)
  395. return jsonify(queryResult)
  396. except Exception as err:
  397. return jsonify([])
  398. @app.route('/upload_senior_details',methods=['POST'])
  399. def upload_senior_details():
  400. try:
  401. if not request.json:
  402. return jsonify({'status': 'failure', 'data':'Something went wrong!'})
  403. else:
  404. queryResult=uploadSeniorDetailsService(request.json,mongo)
  405. return jsonify(queryResult)
  406. except Exception as err:
  407. return jsonify({'status': 'failure', 'data': 'Something went wrong!'})
  408. @app.route('/approve_decline_voucher',methods=['POST'])
  409. def approve_decline_voucher():
  410. try:
  411. if not request.json:
  412. return jsonify({'status': 'failure', 'data':'Something went wrong!'})
  413. else:
  414. queryResult=approveDeclineVoucherService(request.json,mongo,app)
  415. return queryResult
  416. except Exception as err:
  417. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  418. return jsonify({'status': 'failure', 'data': 'Something went wrong!'})
  419. @app.route('/update_voucher_date',methods=['POST'])
  420. def update_voucher_date():
  421. try:
  422. if not request.json:
  423. return jsonify({'status': 'failure', 'data':'Something went wrong!'})
  424. else:
  425. queryResult=updateVoucherDateService(request.json,mongo)
  426. return queryResult
  427. except Exception as err:
  428. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  429. return jsonify({'status': 'failure', 'data': 'Something went wrong!'})
  430. @app.route('/submitted_voucher_copy',methods=['GET'])
  431. def submitted_voucher_copy():
  432. try:
  433. queryResult=submittedVoucherCopyService(request.args.get('id'),mongo)
  434. return jsonify(queryResult)
  435. except Exception as err:
  436. return jsonify({'status': 'failure', 'data': 'Something went wrong!'})
  437. @app.route('/delete_voucher',methods=['GET'])
  438. def delete_voucher():
  439. try:
  440. queryResult=deleteVoucherService(request.args.get('id'),mongo)
  441. return jsonify(queryResult)
  442. except Exception as err:
  443. return jsonify({'status': 'failure', 'data': 'Something went wrong!'})
  444. @app.route('/delete_voucher_file',methods=['POST'])
  445. def delete_voucher_file():
  446. try:
  447. if not request.json:
  448. return jsonify({'status': 'failure', 'message':'Something went wrong!'})
  449. else:
  450. queryResult=delete_voucher_file_service(request.json,mongo)
  451. return queryResult
  452. except Exception as err:
  453. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  454. return jsonify({'status': 'failure', 'message': 'Something went wrong!'})
  455. @app.route('/genrate_asset_id',methods=['POST'])
  456. def genrate_asset_id():
  457. try:
  458. if not request.json:
  459. return jsonify([])
  460. else:
  461. queryResult=genrateAssetCode(request.json,mongo)
  462. return jsonify([queryResult])
  463. except Exception as err:
  464. return jsonify([])
  465. @app.route('/get_asset_category',methods=['GET'])
  466. def get_asset_category():
  467. try:
  468. queryResult=getAssetCategoryList(mongo)
  469. return jsonify(queryResult)
  470. except Exception as err:
  471. return jsonify([])
  472. @app.route('/getAllAssetsList',methods=['GET'])
  473. def getAllAssetsList():
  474. try:
  475. queryResult=getAllAssetsListService(mongo)
  476. return jsonify(queryResult)
  477. except Exception as err:
  478. return jsonify([])
  479. @app.route('/get_approved_voucher_report',methods=['GET'])
  480. def get_approved_voucher_report():
  481. try:
  482. queryResult=getVoucherReportDataService(request.args.get('fromDate'),request.args.get('toDate'),mongo)
  483. return jsonify(queryResult)
  484. except Exception as err:
  485. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  486. return jsonify([])
  487. @app.route('/get_mis_report',methods=['GET'])
  488. def get_mis_report():
  489. try:
  490. queryResult=getVoucherMISReportDataService(request.args.get('fromDate'),request.args.get('toDate'),mongo)
  491. return jsonify(queryResult)
  492. except Exception as err:
  493. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  494. return jsonify([])
  495. @app.route('/get_mou_report',methods=['GET'])
  496. def get_mou_report():
  497. try:
  498. queryResult=getMouReportDataService(request.args.get('fromDate'),request.args.get('toDate'),mongo)
  499. return jsonify(queryResult)
  500. except Exception as err:
  501. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  502. return jsonify([])
  503. @app.route('/get_tds_report',methods=['GET'])
  504. def get_tds_report():
  505. try:
  506. queryResult=getTdsReportDataService(request.args.get('fromDate'),request.args.get('toDate'),mongo)
  507. return jsonify(queryResult)
  508. except Exception as err:
  509. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  510. return jsonify([])
  511. @app.route('/get_tally_report',methods=['GET'])
  512. def get_tally_report():
  513. try:
  514. queryResult=getTallyReportDataService(request.args.get('fromDate'),request.args.get('toDate'),mongo)
  515. return jsonify(queryResult)
  516. except Exception as err:
  517. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  518. return jsonify([])
  519. @app.route('/get_depriciation_report',methods=['POST'])
  520. def get_depriciation_report():
  521. try:
  522. if not request.json:
  523. return jsonify([])
  524. else:
  525. queryResult=getDepriciationReportService(request.json,app,mongo)
  526. return jsonify([queryResult])
  527. except Exception as err:
  528. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  529. return jsonify([])
  530. @app.route('/update_report_asset_details',methods=['POST'])
  531. def update_report_asset_details():
  532. try:
  533. if not request.json:
  534. return jsonify({'status':'failure','message':'Something went wrong!'})
  535. else:
  536. queryResult=updateAssetReportDetailsService(request.json,mongo)
  537. return jsonify(queryResult)
  538. except Exception as err:
  539. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'login'},mongo)
  540. return jsonify({'status':'failure','message':'Something went wrong!'})
  541. @app.route('/get_all_users',methods=['GET'])
  542. def get_all_users():
  543. try:
  544. queryResult=getAllUserList(mongo)
  545. return jsonify(queryResult)
  546. except Exception as err:
  547. print(err)
  548. @app.route('/d_l/<uid>',methods=['GET'])
  549. def direct_login(uid):
  550. response={}
  551. try:
  552. user_lst=getUserDetails(uid,mongo)
  553. if len(user_lst)!=0:
  554. timestamp=int(datetime.now().timestamp()*1000)
  555. name=""
  556. approval_track_vms="no"
  557. onboard_id=user_lst[0]['key']
  558. token=""
  559. if 'first_name' in user_lst[0]:
  560. name=user_lst[0]['first_name']
  561. if "approval_track_vms" in user_lst[0]:
  562. approval_track_vms= user_lst[0]["approval_track_vms"]
  563. try:
  564. token_string = user_lst[0]['personal_email_id']+str(123456)+str(timestamp)
  565. token_string_bytes = token_string.encode("ascii")
  566. base64_bytes = base64.b64encode(token_string_bytes)
  567. token = base64_bytes.decode("ascii")
  568. except Exception as err:
  569. print('===',err)
  570. response={"status":"Ok","user_name":name,"approval_track_vms":approval_track_vms,"onboard_id":onboard_id,"token":token}
  571. else:
  572. response={"status":"Error"}
  573. except Exception as err:
  574. response={"status":"Error"}
  575. print(err)
  576. return jsonify(response)
  577. # Fetch Uploaded files
  578. @app.route('/uploads/<filename>')
  579. def upload(filename):
  580. return send_from_directory(app.config['UPLOAD_FOLDER'], filename)
  581. if __name__ == '__main__':
  582. app.run(host="0.0.0.0", port=PORT,debug=True)
  583. # created_lst=list(mongo['expense_detail'].aggregate([
  584. # {"$group" : { "_id": "$created_on", "count": { "$sum": 1 } } },
  585. # {"$match": {"_id" :{ "$ne" : None } , "count" : {"$gt": 1} } },
  586. # {"$project": {"name" : "$_id", "_id" : 0} }
  587. # ]))
  588. # i=0
  589. # print("started")
  590. # for created_on in created_lst:
  591. # i+=1
  592. # docs=list(mongo['expense_detail'].find({'added_from':{'$exists':True},'is_deleted':False,'created_on':created_on['name']}))
  593. # doc_id=""
  594. # remark=""
  595. # amount=0
  596. # expense_date=0
  597. # for index,doc in enumerate(docs):
  598. # if index==0:
  599. # exp_lst=list(mongo['expense_request'].find({'expenseKey':doc['expenseKey'],'status':'PENDING'}))
  600. # if len(exp_lst)==0:
  601. # break
  602. # doc_id=doc['expenseKey']
  603. # remark=doc['remark']
  604. # amount=doc['amount']
  605. # expense_date=doc['expense_date']
  606. # elif doc_id==doc['expenseKey'] and expense_date==doc['expense_date'] and remark==doc['remark'] and amount==doc['amount']:
  607. # print(doc['expenseKey'],created_on['name'])
  608. # mongo['expense_detail'].update_one({'_id':doc['_id']},{'$set':{'is_deleted':True,'created_on':(created_on['name']+index+1)}})
  609. # print("completed")