vendor_service.py 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256
  1. from dao.vendor_dao import *
  2. from dao.project_dao import getUserDetailsFromMaster
  3. from config import V_BASE_CODE
  4. from utils.error_log import insert_into_error_log
  5. from utils.UploadImage import uploadImagetoFolder
  6. from datetime import datetime
  7. def validateVendorCode(v_code,mongo): # Validate email id and password
  8. queryResult={}
  9. try:
  10. query_response=validateVendorCodeDao(v_code,mongo)
  11. if len(query_response)!=0:
  12. queryResult={'status':'failure','message': 'The Vendor Code is already in use!'}
  13. else:
  14. queryResult={'status':'success','message': 'Vendor Code is available!'}
  15. except Exception as err:
  16. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'validateLogin'},mongo)
  17. queryResult={'status':'failure','message': 'Something went wrong!'}
  18. return queryResult
  19. def validatePANService(v_pan,mongo): # Validate email id and password
  20. queryResult={}
  21. try:
  22. query_response=validatePANDao(v_pan,mongo)
  23. if len(query_response)!=0:
  24. queryResult={'status':'failure','message': 'The PAN is already in use!','file':query_response[0]}
  25. else:
  26. queryResult={'status':'success','message': 'The PAN is available!'}
  27. except Exception as err:
  28. print(err)
  29. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'validateLogin'},mongo)
  30. queryResult={'status':'failure','message': 'Something went wrong!'}
  31. return queryResult
  32. def addVendorService(files,data,app,mongo):
  33. queryResult={}
  34. try:
  35. if data['id']=='0':
  36. data['created_on']=int(datetime.now().timestamp()*1000)
  37. data['status']='PENDING'
  38. # Validate PAN number
  39. pan_response=validatePANService(data['v_pan'],mongo)
  40. if pan_response['status']=='success':
  41. # Genrate vendor code
  42. v_code=V_BASE_CODE+(getTotalUserCount(mongo)+1)
  43. pan_new_name=''
  44. dec_new_name=''
  45. cheq_new_name=''
  46. v_pan_file = files['v_pan_file']
  47. v_declaration_file=files['v_declaration_file']
  48. v_cheque_file=files['v_cheque_file']
  49. panImageResponse=uploadImagetoFolder(v_pan_file,'pan_',app)
  50. decImageResponse=uploadImagetoFolder(v_declaration_file,'dec_',app)
  51. cheqImageResponse=uploadImagetoFolder(v_cheque_file,'cheq_',app)
  52. if panImageResponse['status']=='success':
  53. pan_new_name=panImageResponse['message']
  54. if decImageResponse['status']=='success':
  55. dec_new_name=decImageResponse['message']
  56. if cheqImageResponse['status']=='success':
  57. cheq_new_name=cheqImageResponse['message']
  58. tds_e_c=''
  59. if 'tds_e_c' in files:
  60. tds_e_c_file=files['tds_e_c']
  61. tdsImageResponse=uploadImagetoFolder(tds_e_c_file,'tds_e_c_',app)
  62. if tdsImageResponse['status']=='success':
  63. tds_e_c=tdsImageResponse['message']
  64. gst_certificate=''
  65. if 'gst_certificate' in files:
  66. gst_certificate_file=files['gst_certificate']
  67. gstImageResponse=uploadImagetoFolder(gst_certificate_file,'gst_cer_',app)
  68. if gstImageResponse['status']=='success':
  69. gst_certificate=gstImageResponse['message']
  70. data['v_status']='active'
  71. data['v_code']=v_code
  72. data['v_pan_file']=pan_new_name
  73. data['v_declaration_file']=dec_new_name
  74. data['v_cheque_file']=cheq_new_name
  75. data['tds_e_c']=tds_e_c
  76. data['gst_certificate']=gst_certificate
  77. # Insert into vendor master
  78. insertIntoVendorMaster(data,mongo)
  79. queryResult={'status':'success','message': 'Vendor registered successfully!','v_code':v_code}
  80. else:
  81. queryResult=pan_response
  82. else:
  83. data['updated_on']=int(datetime.now().timestamp()*1000)
  84. # Insert into vendor master
  85. insertIntoVendorMaster(data,mongo)
  86. queryResult={'status':'success','message': 'Vendor updated successfully!'}
  87. except Exception as err:
  88. print(err)
  89. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'validateLogin'},mongo)
  90. queryResult={'status':'failure','message': 'Something went wrong!'}
  91. return queryResult
  92. def updateVendorAdminService(files,data,app,mongo):
  93. queryResult={}
  94. try:
  95. # Validate PAN number
  96. pan_response=validatePANService(data['v_pan'],mongo)
  97. if pan_response['status']=='success' or pan_response['file']['id']==data['id']:
  98. v_pan_file = files['v_pan_file']
  99. v_cheque_file=files['v_cheque_file']
  100. panImageResponse=uploadImagetoFolder(v_pan_file,'pan_',app)
  101. cheqImageResponse=uploadImagetoFolder(v_cheque_file,'cheq_',app)
  102. if panImageResponse['status']=='success':
  103. pan_new_name=panImageResponse['message']
  104. data['v_pan_file']=pan_new_name
  105. if cheqImageResponse['status']=='success':
  106. cheq_new_name=cheqImageResponse['message']
  107. data['v_cheque_file']=cheq_new_name
  108. data['updated_on']=int(datetime.now().timestamp()*1000)
  109. data['updated_by']='Admin'
  110. # Insert into vendor master
  111. insertIntoVendorMaster(data,mongo)
  112. queryResult={'status':'success','message': 'Vendor updated successfully!'}
  113. else:
  114. queryResult=pan_response
  115. except Exception as err:
  116. print(err)
  117. queryResult={'status':'failure','message': 'Something went wrong!'}
  118. return queryResult
  119. def updateVendorStatus(data,mongo):
  120. queryResult={}
  121. try:
  122. data['updated_on']=int(datetime.now().timestamp()*1000)
  123. status=""
  124. if data['flag']=='approve':
  125. status="APPROVED"
  126. elif data['flag']=='decline':
  127. status="DECLINED"
  128. data['status']=status
  129. if status!="":
  130. # Insert into vendor master
  131. updateVendorStatusDao(data,data['requestKey'],mongo)
  132. queryResult={'status':'success','message': 'Vendor updated successfully!'}
  133. else:
  134. queryResult={'status':'failure','message': 'Something went wrong!'}
  135. except Exception as err:
  136. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'validateLogin'},mongo)
  137. queryResult={'status':'failure','message': 'Something went wrong!'}
  138. return queryResult
  139. def updateVendorStatusAdmin(data,mongo):
  140. queryResult={}
  141. try:
  142. # Insert into vendor master
  143. updateVendorStatusAdminDao({'v_status':data['status']},data['vendor_id'],mongo)
  144. queryResult={'status':'success','message': 'Vendor updated successfully!'}
  145. except Exception as err:
  146. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'validateLogin'},mongo)
  147. queryResult={'status':'failure','message': 'Something went wrong!'}
  148. return queryResult
  149. def update_rating_service(data,mongo):
  150. queryResult={}
  151. try:
  152. data['updated_on']=int(datetime.now().timestamp()*1000)
  153. data['user_name']=''
  154. user_details=getUserDetailsFromMaster(data['user_id'],mongo)
  155. for user_obj in user_details:
  156. data['user_name']=user_obj['first_name']
  157. updateVendorRatingDao(data,mongo)
  158. queryResult={'status':'success','message': 'Vendor Rating Updated Successfully!'}
  159. except Exception as err:
  160. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'validateLogin'},mongo)
  161. queryResult={'status':'failure','message': 'Something went wrong!'}
  162. return queryResult
  163. def getVendorList(u_id,mongo): # Validate email id and password
  164. queryResult=[]
  165. try:
  166. queryResult=getVendorListByUID(u_id,mongo)
  167. except Exception as err:
  168. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'validateLogin'},mongo)
  169. queryResult=[]
  170. return queryResult
  171. def getAllVendorList(mongo): #
  172. queryResult=[]
  173. try:
  174. queryResult=getAllVendorListDao(mongo)
  175. except Exception as err:
  176. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'validateLogin'},mongo)
  177. queryResult=[]
  178. return queryResult
  179. def getAllUnregisteredVendorList(mongo): #
  180. queryResult=[]
  181. try:
  182. queryResult=getAllUnregisteredVendorListDao(mongo)
  183. except Exception as err:
  184. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'validateLogin'},mongo)
  185. queryResult=[]
  186. return queryResult
  187. def getAllUserList(mongo): #
  188. queryResult=[]
  189. try:
  190. queryResult=getAllUserListDao(mongo)
  191. except Exception as err:
  192. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'validateLogin'},mongo)
  193. queryResult=[]
  194. return queryResult
  195. def getVendorDetails(id,mongo): # Validate email id and password
  196. queryResult=[]
  197. try:
  198. queryResult=getVendorDetailsDao(id,mongo)
  199. except Exception as err:
  200. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'validateLogin'},mongo)
  201. queryResult=[]
  202. return queryResult
  203. def getVendorRatingsService(id,mongo): # Validate email id and password
  204. queryResult=[]
  205. try:
  206. queryResult=getVendorRatingsDao(id,mongo)
  207. except Exception as err:
  208. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'validateLogin'},mongo)
  209. queryResult=[]
  210. return queryResult