14.0 [ADD] add changes by navegasoft

This commit is contained in:
Juan Pablo Arcos Merchan 2021-11-20 09:12:45 -05:00
parent e5e10cbe65
commit f151a144ee

View File

@ -196,7 +196,6 @@ class nomina_electronica(models.Model):
headers = {'content-type': 'application/json'} headers = {'content-type': 'application/json'}
send = {"id_plataforma":self.id_plataforma,"transaccionID":self.transaccionID,"prefix":self.prefijo,"number":self.consecutivo} send = {"id_plataforma":self.id_plataforma,"transaccionID":self.transaccionID,"prefix":self.prefijo,"number":self.consecutivo}
result = requests.post(urlini,headers=headers,data = json.dumps(send)) result = requests.post(urlini,headers=headers,data = json.dumps(send))
#resultado = json.loads(result.text) #resultado = json.loads(result.text)
#print(result.text) #print(result.text)
if result.status_code == 200: if result.status_code == 200:
@ -241,19 +240,23 @@ class nomina_electronica(models.Model):
raise UserError(_('imprimible se esta preparando intenta de nuevo, Factura preparandose.')) raise UserError(_('imprimible se esta preparando intenta de nuevo, Factura preparandose.'))
else: else:
import base64 import base64
image_64_encode = base64.b64decode(final_data['documentBase64']) print(final_data)
i64 = base64.b64encode(image_64_encode) if final_data['code'] == '400':
att_id = self.env['ir.attachment'].create({ return self.env['wk.wizard.message'].genrated_message('Estamos recibiendo un codigo 400 Es necesario esperar para volver imprimir el documento', 'Es necesario esperar para volver a imprimir el documento')
'name': self.number+extension, else:
'type': 'binary', image_64_encode = base64.b64decode(final_data['documentBase64'])
'datas': i64, i64 = base64.b64encode(image_64_encode)
'datas_fname': self.number+extension, att_id = self.env['ir.attachment'].create({
'res_model': 'hr.payslip', 'name': self.number+extension,
'res_id': self.id, 'type': 'binary',
}) 'datas': i64,
if att_id: 'datas_fname': self.number+extension,
self.write({"impreso":True}) 'res_model': 'hr.payslip',
return self.env['wk.wizard.message'].genrated_message("Ve a attachment","Factura impresa" ,"https://navegasoft.com") 'res_id': self.id,
})
if att_id:
self.write({"impreso":True})
return self.env['wk.wizard.message'].genrated_message("Ve a attachment","Factura impresa" ,"https://navegasoft.com")
else: else:
raise UserError(_('Ve a attachment, Factura ya impresa.')) raise UserError(_('Ve a attachment, Factura ya impresa.'))
@ -261,15 +264,10 @@ class nomina_electronica(models.Model):
final_error = json.loads(json.dumps(final)) final_error = json.loads(json.dumps(final))
data = final_error["data"] data = final_error["data"]
data_final = data['message'] data_final = data['message']
else: else:
raise Warning(result) raise Warning(result)
def envio_directo(self): def envio_directo(self):
import time import time
now2 = datetime.now() now2 = datetime.now()
@ -325,25 +323,29 @@ class nomina_electronica(models.Model):
# print(eval(linea.campo_tecnico)) # print(eval(linea.campo_tecnico))
# else: # else:
# send[linea.name] = None # send[linea.name] = None
# print(send)
headers = {'content-type': 'application/json'} headers = {'content-type': 'application/json'}
result = requests.post(urlini,headers=headers,data = json.dumps(send)) result = requests.post(urlini,headers=headers,data = json.dumps(send))
if result.status_code == 200: if result.status_code == 200:
resultado = json.loads(result.text) resultado = json.loads(result.text)
if "result" in resultado: if "result" in resultado:
final = resultado["result"] final = resultado["result"]
if "error" in final: if final.find("error") == -1:
final_error = json.loads(final) self.write({"impreso":False,"transaccionID":final,"estado":"Generada_correctamente"})
return self.env['wk.wizard.message'].genrated_message("4 "+"el id "+final,"FACTURA ELECTRONICA ENVIADA CORRECTAMENTE" ,"https://navegasoft.com")
else:
final_error = json.loads(final) #.decode("utf-8")
final_text = final_error['error'] final_text = final_error['error']
return self.env['wk.wizard.message'].genrated_message("2 "+final_text['mensaje'], final_text['titulo'],final_text['link']) return self.env['wk.wizard.message'].genrated_message("2 "+final_text['mensaje'], final_text['titulo'],final_text['link'])
else: # else:
return self.env['wk.wizard.message'].genrated_message('3 No hemos recibido una respuesta satisfactoria vuelve a enviarlo', 'Reenviar')
# return self.env['wk.wizard.message'].genrated_message('3 No hemos recibido una respuesta satisfactoria vuelve a enviarlo', 'Reenviar')
else: else:
if "error" in resultado: if "error" in resultado:
final = resultado["error"] final = resultado["error"]
final_error = json.loads(json.dumps(final)) final_error = json.loads(json.dumps(final))
data = final_error["data"] data = final_error["data"]
data_final = data['message'] data_final = data['message']
self.write({"impreso":False,"transactionID":self.transaccionID,"estado":"Generada_correctamente"})
return self.env['wk.wizard.message'].genrated_message("1 "+data_final,"Los datos no estan correctos" ,"https://navegasoft.com") return self.env['wk.wizard.message'].genrated_message("1 "+data_final,"Los datos no estan correctos" ,"https://navegasoft.com")
else: else:
raise Warning(result) raise Warning(result)