Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Servicio de consulta de solicitudes de pago aprobadas y no pagas #304

Open
5 tasks done
milo19980525 opened this issue Mar 29, 2023 · 5 comments
Open
5 tasks done
Assignees
Labels
Desarrollo Desarrollo de componente Hito 4 PH: 3

Comments

@milo19980525
Copy link
Contributor

milo19980525 commented Mar 29, 2023

Crear o utilizar servicio que permita consultar cuales solicitudes no han sido pagas y fueron aprobadas por parte de un ordenador

Subactividades:

  1. Verificar si en los servicios de JBPM existe uno que funcione para este caso.
  2. En dado caso que no se debe llevar a cabo una reunión con el arquitecto y Francisco para su aprovisionamiento.
  3. Desarrollo de la solución o consumo desde del mismo.

Criterios de aceptación

  • Desarrollo en local.
  • Push a feature /revision_reversion
  • Pruebas locales
  • PR a dev
  • Cambio de consumo a vista de financiera
@a52290451
Copy link
Contributor

Se encuentra en proceso de revisión por parte del área de arquitectura.

@a52290451
Copy link
Contributor

Se da visto bueno para el desarrollo del requerimiento por parte del área de Arquitectura.

@JuanCamiloMartinezLopez
Copy link
Contributor

Endpoint cumplidos reversibles por ordenador

Se crea un endpoint en cumplidos_mid para segun la cedula del ordenador traer los cumplidos aprobados, es necesario restringir por fecha(cumplidos aprobados en los últimos 15 dias) y si el cumplido ha sido pagado.
image

@JuanCamiloMartinezLopez
Copy link
Contributor

Se realiza el filtrado por fecha, consultando los cumplidos aprobados por el ordenador en los últimos 15 días

//Separacion de fechas para validacion
	fecha_act := time.Now().AddDate(0, 0, -15) // se miran los ultimos 15 dias
	mes := strconv.Itoa(int(fecha_act.Month()))
	dia := strconv.Itoa(fecha_act.Day())
	año := strconv.Itoa(fecha_act.Year())
	if len(mes) == 1 {
		mes = "0" + mes
	}

	if len(dia) == 1 {
		dia = "0" + dia
	}

	fmt.Println(beego.AppConfig.String("UrlCrudCumplidos") + "/pago_mensual/?limit=-1&query=EstadoPagoMensualId.CodigoAbreviacion:AP,DocumentoResponsableId:" + NumDocumentoOrdenador + ",FechaModificacion__gte:" + mes + "/" + dia + "/" + año)
	if response, err := getJsonTest(beego.AppConfig.String("UrlCrudCumplidos")+"/pago_mensual/?limit=-1&query=EstadoPagoMensualId.CodigoAbreviacion:AP,DocumentoResponsableId:"+NumDocumentoOrdenador+",FechaModificacion__gte:"+mes+"/"+dia+"/"+año, &respuesta_peticion); (err == nil) && (response == 200) {

de igual forma se realiza la validación de si existen ordenes de pago para ese RP, en ese mes y año, asociado al documento del contratista

if response, err := getJsonWSO2Test(beego.AppConfig.String("UrlFinancieraJBPM")+"/"+"ordenes_pago_tercero/"+cumplidos_revertible.NumeroRp+"/"+cumplidos_revertible.VigenciaRp+"/"+pago_mensual.DocumentoPersonaId+"/"+strconv.Itoa(int(pago_mensual.Ano))+"/"+strconv.Itoa(int(pago_mensual.Mes)), &ordenes_pago); (err == nil) && (response == 200) {
        //Se valida si tiene orden de pago
	if len(ordenes_pago.Tercero) == 0 {
		cumplidos_revertibles = append(cumplidos_revertibles, cumplidos_revertible)
	}
}

@JuanCamiloMartinezLopez
Copy link
Contributor

Validación orden de pago existente

Se consulta el endpoint ordenes_pago_tercero de financiera JBPM y se filtra por mes para saber si de un mes en especifico ya se genero una orden de pago, en caso de que no se haya generado se agrega a la lista de cumplidos reversibles.

if response, err := getJsonWSO2Test(beego.AppConfig.String("UrlFinancieraJBPM")+"/"+"ordenes_pago_tercero/"+rp.RpNumeroRegistro+"/"+rp.RpVigencia+"/"+pago_mensual.DocumentoPersonaId+"/"+strconv.Itoa(int(pago_mensual.Ano)), &temp); (err == nil) && (response == 200) {
        json_ordenes_pago_tercero, error_json := json.Marshal(temp)
		if error_json == nil {
			if err := json.Unmarshal(json_ordenes_pago_tercero, &temp_ordenes_pago_tercero); err == nil {

				//fmt.Println("ordenes de pago:"+pago_mensual.NumeroContrato+" - "+strconv.Itoa(int(pago_mensual.VigenciaContrato)), temp_ordenes_pago_tercero)
					for _, orden_de_pago := range temp_ordenes_pago_tercero.OrdenesPago.Tercero {
						mes := strings.Split(orden_de_pago.Detalle, " ")[5]
						//fmt.Println("mes orden de pago", mes)
						//fmt.Println("numero de mes", models.Meses[mes])
						if models.Meses[mes] == int(pago_mensual.Mes) {
							existeOrdenPago = true
							fmt.Println("Existe Orden de pago del CPS" + pago_mensual.NumeroContrato + "vigencia:" + strconv.Itoa(int(pago_mensual.VigenciaContrato)) + " mes " + mes)
							break
						}
					}

					if !existeOrdenPago {
						fmt.Println("NO Existe Orden de pago del CPS" + pago_mensual.NumeroContrato + "vigencia:" + strconv.Itoa(int(pago_mensual.VigenciaContrato)) + " mes " + mes)
						var cumplidos_revertible models.PagoContratistaCdpRp
						var outputError map[string]interface{}
						cumplidos_revertible, outputError = getInfoPagoMensual(pago_mensual)
						if outputError == nil {
							cumplidos_revertibles = append(cumplidos_revertibles, cumplidos_revertible)
						}
					} else {
					          continue
					}

			} else {
			        logs.Error(err)
				continue
                        }
		} else {
			logs.Error(error_json)
			continue
		}
	} else {
		logs.Error(err)
		continue
	}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Desarrollo Desarrollo de componente Hito 4 PH: 3
Projects
None yet
Development

No branches or pull requests

3 participants