[FogBugz #128] Solde de point eronné #190

Open
opened 2023-07-03 23:39:12 +02:00 by fbenoist68 · 13 comments

Assigned To: CLOSED
Project: CAISSE
Area: awcaisse
Category: Bogue
Priority: A fixer impérativement

Assigned To: CLOSED Project: CAISSE Area: awcaisse Category: Bogue Priority: A fixer impérativement
Poster
Owner

Event ID: 580
Date: 2013-06-13T14:00:20Z
Person: Frederik Benoist
Description: Fermé par Frederik Benoist

Event ID: 580 Date: 2013-06-13T14:00:20Z Person: Frederik Benoist Description: Fermé par Frederik Benoist
Poster
Owner

Event ID: 579
Date: 2013-06-13T14:00:20Z
Person: Frederik Benoist
Description: Resolved (Fixed) and assigned to Frederik Benoist by Frederik Benoist

Ok dans V.45

Event ID: 579 Date: 2013-06-13T14:00:20Z Person: Frederik Benoist Description: Resolved (Fixed) and assigned to Frederik Benoist by Frederik Benoist <p> Ok dans V.45</p>
Poster
Owner

Event ID: 578
Date: 2013-06-13T13:59:35Z
Person: Frederik Benoist
Description: Modifié par Frederik Benoist

Event ID: 578 Date: 2013-06-13T13:59:35Z Person: Frederik Benoist Description: Modifié par Frederik Benoist
Poster
Owner

Event ID: 577
Date: 2013-06-13T13:58:55Z
Person: Frederik Benoist
Description: Modifié par Frederik Benoist

C:\projets\DotSoft\CaisseAuto\bIntegrationTicket\cIntegrationTicket.vb

 

Dim SoldePointUtilises As Integer = 0

'sauvegarde des points utiliss

Try

SoldePointUtilises = cManager.pCarteFideliteHistorique.mEnregistrerPointsUtilises(IdFactureC, TicketEntete.pCarteFideliteChoisie, TicketEntete.pDate, histos, TicketEntete.pswNombrePointUtilise, myTrans)

Catch ex As Exception

mLogError("Impossible d'enregistrer les points utilis :" & ex.Message, ex)

End Try

 

==> Correction : Sauvegarde du nombre de point restant pour envoi sur la ligne qui va être insérée pour le ticket en cours

 

enregistrement des avantages fidlit gagns pour stat

Try

cManager.pCarteFideliteHistorique.mEnregistrerPointsGagnes(TicketEntete.pswIdCarte, IdFactureC, id_employe, TicketEntete.pIdDistrib, TicketEntete.pCodeBarreClient, TicketEntete.pDate, TicketEntete.pswNombrePointGagne, TicketEntete.pswNombrePointUtilise, SoldePointUtilises, myTrans)

 

Event ID: 577 Date: 2013-06-13T13:58:55Z Person: Frederik Benoist Description: Modifié par Frederik Benoist <p> C:\projets\DotSoft\CaisseAuto\bIntegrationTicket\cIntegrationTicket.vb</p> <p> &nbsp;</p> <p> Dim <strong>SoldePointUtilises </strong>As Integer = 0</p> <p> &#39;sauvegarde des points utiliss</p> <p> Try</p> <p> <strong>SoldePointUtilises </strong>= cManager.pCarteFideliteHistorique.mEnregistrerPointsUtilises(IdFactureC, TicketEntete.pCarteFideliteChoisie, TicketEntete.pDate, histos, TicketEntete.pswNombrePointUtilise, myTrans)</p> <p> Catch ex As Exception</p> <p> mLogError(&quot;Impossible d&#39;enregistrer les points utilis :&quot; &amp; ex.Message, ex)</p> <p> End Try</p> <p> &nbsp;</p> <p> ==&gt; Correction : Sauvegarde du nombre de point restant pour envoi sur la ligne qui va &ecirc;tre ins&eacute;r&eacute;e pour le ticket en cours</p> <p> &nbsp;</p> <p> enregistrement des avantages fidlit gagns pour stat</p> <p> Try</p> <p> cManager.pCarteFideliteHistorique.mEnregistrerPointsGagnes(TicketEntete.pswIdCarte, IdFactureC, id_employe, TicketEntete.pIdDistrib, TicketEntete.pCodeBarreClient, TicketEntete.pDate, TicketEntete.pswNombrePointGagne, TicketEntete.pswNombrePointUtilise, <strong>SoldePointUtilises</strong>, myTrans)</p> <p> &nbsp;</p>
Poster
Owner

Event ID: 576
Date: 2013-06-11T14:54:36Z
Person: Frederik Benoist
Description: Modifié par Frederik Benoist

C:\projets\DotSoft\CaisseAuto\bManager\Manager\CarteFidelite\cCarteFideliteHistoriqueManager.vb

 

Public Sub mEnregistrerPointsUtilises(ByVal Id_Facturec As Long, ByVal carte As cCarteFidelite, ByVal fDate As DateTime, ByVal Histos As cListeMetier(Of cCarteFideliteHistorique), ByVal nbPointsUtilises As Integer, Optional ByVal myTransac As System.Data.Common.DbTransaction = Nothing)

If carte Is Nothing Then Return

For Each CarteFideliteHistorique As cCarteFideliteHistorique In Histos

Dim Nb_Points As Integer = CarteFideliteHistorique.pNombrePoints

Dim Nb_Points_Util As Integer = CarteFideliteHistorique.pNombrePointsUtilises

If Date.Compare(CarteFideliteHistorique.pFDate.AddMonths(carte.pDureePoints).Date, fDate) >= 0 Then

If Date.Compare(CarteFideliteHistorique.pFDate, carte.pFDate.Date) >= 0 Then

If Nb_Points > 0 AndAlso Nb_Points > Nb_Points_Util Then

'Gestion Null pour les valeurs

Dim Difference As Integer = Nb_Points - Nb_Points_Util

Dim NbPointEnregistre As Integer = 0

If Difference < nbPointsUtilises Then

NbPointEnregistre = Difference

Else

NbPointEnregistre = nbPointsUtilises

End If

nbPointsUtilises -= NbPointEnregistre

vSqlDao.mEnregistrerPointsUtilisesPourCarte(NbPointEnregistre + Nb_Points_Util, CarteFideliteHistorique.pIdCarteFideliteHistorique, DirectCast(myTransac, System.Data.Common.DbTransaction))

If nbPointsUtilises <= 0 Then Exit For

End If

End If

End If

Next

If nbPointsUtilises > 0 Then

>>>> ERREUR  id_facturec au lieu de id_carte_fidelite_historique ....

>>>> Hors transaction en plus .....

vSqlDao.mEnregistrerPointsUtilisesPourCarte(nbPointsUtilises, Id_Facturec)

End If

End Sub

Event ID: 576 Date: 2013-06-11T14:54:36Z Person: Frederik Benoist Description: Modifié par Frederik Benoist <p> C:\projets\DotSoft\CaisseAuto\bManager\Manager\CarteFidelite\cCarteFideliteHistoriqueManager.vb</p> <p> &nbsp;</p> <p> Public Sub mEnregistrerPointsUtilises(ByVal Id_Facturec As Long, ByVal carte As cCarteFidelite, ByVal fDate As DateTime, ByVal Histos As cListeMetier(Of cCarteFideliteHistorique), ByVal nbPointsUtilises As Integer, Optional ByVal myTransac As System.Data.Common.DbTransaction = Nothing)</p> <p> If carte Is Nothing Then Return</p> <p> For Each CarteFideliteHistorique As cCarteFideliteHistorique In Histos</p> <p> Dim Nb_Points As Integer = CarteFideliteHistorique.pNombrePoints</p> <p> Dim Nb_Points_Util As Integer = CarteFideliteHistorique.pNombrePointsUtilises</p> <p> If Date.Compare(CarteFideliteHistorique.pFDate.AddMonths(carte.pDureePoints).Date, fDate) &gt;= 0 Then</p> <p> If Date.Compare(CarteFideliteHistorique.pFDate, carte.pFDate.Date) &gt;= 0 Then</p> <p> If Nb_Points &gt; 0 AndAlso Nb_Points &gt; Nb_Points_Util Then</p> <p> &#39;Gestion Null pour les valeurs</p> <p> Dim Difference As Integer = Nb_Points - Nb_Points_Util</p> <p> Dim NbPointEnregistre As Integer = 0</p> <p> If Difference &lt; nbPointsUtilises Then</p> <p> NbPointEnregistre = Difference</p> <p> Else</p> <p> NbPointEnregistre = nbPointsUtilises</p> <p> End If</p> <p> nbPointsUtilises -= NbPointEnregistre</p> <p> vSqlDao.mEnregistrerPointsUtilisesPourCarte(NbPointEnregistre + Nb_Points_Util, CarteFideliteHistorique.pIdCarteFideliteHistorique, DirectCast(myTransac, System.Data.Common.DbTransaction))</p> <p> If nbPointsUtilises &lt;= 0 Then Exit For</p> <p> End If</p> <p> End If</p> <p> End If</p> <p> Next</p> <p> If nbPointsUtilises &gt; 0 Then</p> <p> &gt;&gt;&gt;&gt; ERREUR&nbsp; id_facturec au lieu de id_carte_fidelite_historique ....</p> <p> &gt;&gt;&gt;&gt; Hors transaction en plus .....</p> <p> vSqlDao.mEnregistrerPointsUtilisesPourCarte(nbPointsUtilises, Id_Facturec)</p> <p> End If</p> <p> End Sub</p>
Poster
Owner

Event ID: 575
Date: 2013-06-11T09:45:31Z
Person: Frederik Benoist
Description: Réouvert (attribué à Frederik Benoist) par Frederik Benoist

Souci de calcul si ancien solde - point utilisé < 0 (même si points gagnés font un solde > 0)

Ex  V3 :

Ancien solde : 165 

Point gagnés :  150

Point utilisés :  300

solde points :  15

==> 15 en base

 

Ex  V4 :

Ancien solde : 163

Point gagnés :  150

Point utilisés :  300

solde points :  13

==> 150 en base

Event ID: 575 Date: 2013-06-11T09:45:31Z Person: Frederik Benoist Description: Réouvert (attribué à Frederik Benoist) par Frederik Benoist <p> Souci de calcul si ancien solde - point utilis&eacute; &lt; 0 (m&ecirc;me si points gagn&eacute;s font un solde &gt; 0)</p> <p> Ex&nbsp; V3 :</p> <p> Ancien solde : 165&nbsp;</p> <p> Point gagn&eacute;s :&nbsp;&nbsp;150</p> <p> Point utilis&eacute;s :&nbsp; 300</p> <p> solde points :&nbsp; <strong>15 </strong></p> <p> ==&gt; <strong>15 </strong>en base</p> <p> &nbsp;</p> <p> Ex&nbsp; V4 :</p> <p> Ancien solde : 163</p> <p> Point gagn&eacute;s :&nbsp;&nbsp;150</p> <p> Point utilis&eacute;s :&nbsp; 300</p> <p> solde points :&nbsp; <strong>13</strong></p> <p> ==&gt; <strong>150 </strong>en base</p>
Poster
Owner

Event ID: 574
Date: 2013-06-11T07:15:59Z
Person: Frederik Benoist
Description: Modifié par Frederik Benoist

C:\projets\DotSoft\CaisseAuto\awCaisse\Controles\Encaissement\ccEncaissement.vb

==> Il faut laisser le calcul des points utilisés mais le nombre points gagnés est déjà calculé dans le programme.

 

'rajouter pour version Zannnier chez zannier par Sylvain MALLEVAL

For Each PromoPointPied As iPromoPointsPied In DirectCast(App.pTicketGestionCourant.pTicketLignes, bTicketLigne.cTicketLignes).pLstPromoPointsPied

If PromoPointPied.pMontantPoint < 0 Then

pointsUtilises -= PromoPointPied.pMontantPoint

Else

'pointsGagnes += PromoPointPied.pMontantPoint // FB 10/06/2013 car doublonne le nombre de point utilis ou gagn

End If

Next

Event ID: 574 Date: 2013-06-11T07:15:59Z Person: Frederik Benoist Description: Modifié par Frederik Benoist <p> C:\projets\DotSoft\CaisseAuto\awCaisse\Controles\Encaissement\ccEncaissement.vb</p> <p> ==&gt; Il faut laisser le calcul des points utilis&eacute;s mais le nombre points gagn&eacute;s est d&eacute;j&agrave; calcul&eacute; dans le programme.</p> <p> &nbsp;</p> <p> &#39;rajouter pour version Zannnier chez zannier par Sylvain MALLEVAL</p> <p> For Each PromoPointPied As iPromoPointsPied In DirectCast(App.pTicketGestionCourant.pTicketLignes, bTicketLigne.cTicketLignes).pLstPromoPointsPied</p> <p> If PromoPointPied.pMontantPoint &lt; 0 Then</p> <p> pointsUtilises -= PromoPointPied.pMontantPoint</p> <p> Else</p> <p> &#39;pointsGagnes += PromoPointPied.pMontantPoint // FB 10/06/2013 car doublonne le nombre de point utilis ou gagn</p> <p> End If</p> <p> Next</p>
Poster
Owner

Event ID: 573
Date: 2013-06-10T14:25:50Z
Person: Frederik Benoist
Description: Modifié par Frederik Benoist

Event ID: 573 Date: 2013-06-10T14:25:50Z Person: Frederik Benoist Description: Modifié par Frederik Benoist
Poster
Owner

Event ID: 572
Date: 2013-06-05T15:38:21Z
Person: Frederik Benoist
Description: Fermé par Frederik Benoist

Event ID: 572 Date: 2013-06-05T15:38:21Z Person: Frederik Benoist Description: Fermé par Frederik Benoist
Poster
Owner

Event ID: 571
Date: 2013-06-05T15:38:21Z
Person: Frederik Benoist
Description: Resolved (Fixed) and assigned to Frederik Benoist by Frederik Benoist

C:\projets\DotSoft\CaisseAuto\awCaisse\Controles\Client\ccClientPoint.vb

 

Me.LblPointGagne2.Text = FormatNumber(lignes.pNombrePointGagnesAAfficher(DirectCast(App.pTicketGestionCourant.pTicketEncaissements, cTicketEncaissements)), 0, , , TriState.True)

If lignes.pNombrePointUtilisesAAfficher = 0 Then Me.LblPointUtilise2.Text = "0" Else Me.LblPointUtilise2.Text = FormatNumber(-lignes.pNombrePointUtilisesAAfficher, 0, , , TriState.True)

Me.LblPointSolde2.Text = FormatNumber(CInt(Me.LblPointEnCours2.Text) + CInt(Me.LblPointGagne2.Text) + CInt(Me.LblPointUtilise2.Text), 0, , , TriState.True)

 

==> + CInt(Me.LblPointUtilise2.Text) / puisque le libelle est (+) cela va les ajouter ....

Event ID: 571 Date: 2013-06-05T15:38:21Z Person: Frederik Benoist Description: Resolved (Fixed) and assigned to Frederik Benoist by Frederik Benoist <p> C:\projets\DotSoft\CaisseAuto\awCaisse\Controles\Client\ccClientPoint.vb</p> <p> &nbsp;</p> <p> Me.LblPointGagne2.Text = FormatNumber(lignes.pNombrePointGagnesAAfficher(DirectCast(App.pTicketGestionCourant.pTicketEncaissements, cTicketEncaissements)), 0, , , TriState.True)</p> <p> If lignes.pNombrePointUtilisesAAfficher = 0 Then Me.LblPointUtilise2.Text = &quot;0&quot; Else Me.LblPointUtilise2.Text = FormatNumber(-lignes.pNombrePointUtilisesAAfficher, 0, , , TriState.True)</p> <p> Me.LblPointSolde2.Text = FormatNumber(CInt(Me.LblPointEnCours2.Text) + CInt(Me.LblPointGagne2.Text) + CInt(Me.LblPointUtilise2.Text), 0, , , TriState.True)</p> <p> &nbsp;</p> <p> ==&gt; + CInt(Me.LblPointUtilise2.Text) / puisque le libelle est (+) cela va les ajouter ....</p>
Poster
Owner

Event ID: 570
Date: 2013-06-05T15:38:02Z
Person: Frederik Benoist
Description: Modifié par Frederik Benoist

C:\projets\DotSoft\CaisseAuto\bImpression\cGenereXml.vb

Mettre des abs() de partout

Dim nouveauSoldPoints As Integer = nbPointsUtilisables + nbPointsGagnes - Math.Abs(nbPointsUtilises) ' Abs() FB le 05/06/2013

Event ID: 570 Date: 2013-06-05T15:38:02Z Person: Frederik Benoist Description: Modifié par Frederik Benoist <p> C:\projets\DotSoft\CaisseAuto\bImpression\cGenereXml.vb</p> <p> Mettre des abs() de partout</p> <p> Dim nouveauSoldPoints As Integer = nbPointsUtilisables + nbPointsGagnes - Math.Abs(nbPointsUtilises) &#39; Abs() FB le 05/06/2013</p>
Poster
Owner

Event ID: 569
Date: 2013-06-05T15:37:07Z
Person: Frederik Benoist
Description: Attribué à Frederik Benoist par Frederik Benoist

Event ID: 569 Date: 2013-06-05T15:37:07Z Person: Frederik Benoist Description: Attribué à Frederik Benoist par Frederik Benoist
Poster
Owner

Event ID: 568
Date: 2013-06-05T15:37:06Z
Person: Frederik Benoist
Description: Ouvert par Frederik Benoist

Event ID: 568 Date: 2013-06-05T15:37:06Z Person: Frederik Benoist Description: Ouvert par Frederik Benoist
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: fbenoist68/mobileportal#190
There is no content yet.