1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217
| Dim _form As New data.dsSaisieAnalyses
...
'Remplissage de la table AN du dataset avec les données du formulaire
For Each _item As DataGridItem In dgAnalyses.Items
'Déclarations des variables qui concernent les reésultats d'analyses.
Dim cde_rem, conf, param, rt, val, vrai, man, mfra, fron, un, sl, Num, _lib, dteAP As String
Dim inf_lq As String = String.Empty '* Ajouté par moi
Dim val_saisie As String = String.Empty '* Ajouté par moi
Dim sq As String = String.Empty '* Ajouté par moi
Dim _dtea As Date
Dim _slq As Nullable(Of Decimal) = Nothing
val = CType(_item.FindControl("txtVal"), TextBox).Text
'Si une valeur est saisie,elle est enregistrée
If val <> String.Empty Then
param = CType(_item.FindControl("hdPARAM"), HtmlInputHidden).Value 'paramètre analysé
'* Ajouté par moi
'* Déterminer la valeur à enregistrer. Si la valeur saisie est inférieure à la LQ (colonne SQ)
'* on enregistre la valeur de la LQ dans la colonne VAL et la valeur saisie dans la colonne VAL_SAISIE
sq = CType(_item.FindControl("lblSL"), Label).Text
If Convert.ToDecimal(val) < Convert.ToDecimal(sq) Then
inf_lq = "< " & sq
val_saisie = val
val = sq
Else
inf_lq = String.Empty
val_saisie = String.Empty
End If
'*****
'************************************
'Paramétrage de la date
dteAP = CType(_item.FindControl("txtDte"), TextBox).Text
Try
If dteAP = String.Empty Then
_dtea = DteA
Else
Dim _d As Date = Date.Parse(dteAP)
If Session("mode") = "NouvelleSaisie" Then
_dtea = _d
Else
If _data.Prvt(0).DTEA <> DteA Then
If _data.Prvt(0).DTEA = dteAP Then
_dtea = Date.Parse(DteA)
Else
_dtea = _d
End If
Else
If _d <> DteA Then
_dtea = Date.Parse(dteAP)
Else
_dtea = DteA
End If
End If
End If
End If
Catch ex As Exception
dvMSG.InnerHtml = dteAP & " n'est pas une date valide!"
r = False
Return r
End Try
'recherche de la reference interne de travail pour determiner les normes utilisées
rt = CType(_item.FindControl("lstNrm"), DropDownList).SelectedValue 'référence interne
Dim _cnfl As DataRow() = CType(Cache("config"), data.dsConfigLabo).CNFL.Select("rf='" & rt & "'")
'recherche des données de configuration du paramètre
Dim _cnflp As DataRow() = CType(Cache("config"), data.dsConfigLabo).CNFLP.Select("param=" & param & " and tpe=" & tan)
Num = _cnflp(0)("numdb") 'identifiant du paramètre
If Session("mode") = "ModificationAnalyse" Or Session("mode") = "Validation" Then
'Déterminer le code remarque et le seuil de quantification
If Not IsDBNull(_cnflp(0)("sl")) Then 'le seuil existe dans la configuration
If IsDBNull(_data.An.Select("PARAM=" & param)(0)("VAL")) Then 'cas de l'ajout d'un résultat en mode modifications (seuil)
sl = _cnflp(0)("sl")
_slq = _cnflp(0)("sl")
If val <> String.Empty Then
If CType(val, Decimal) < CType(sl, Decimal) Then
cde_rem = 10
Else
cde_rem = 1
End If
Else
cde_rem = 1
End If
Else
If IsDBNull(_data.An.Select("PARAM=" & param)(0)("SLQ")) Then 'Cas des paramètres sans seuil
cde_rem = 1
sl = 0
_slq = 0
Else 'Reprise des infos sans modifications
_slq = _data.An.Select("PARAM=" & param)(0)("SLQ")
cde_rem = _data.An.Select("PARAM=" & param)(0)("CDE_REM")
sl = _data.An.Select("PARAM=" & param)(0)("SLQ")
End If
End If
Else 'Cas des paramètres sans seuil
cde_rem = 1
sl = 0
_slq = 0
End If
un = _data.An.Select("PARAM=" & param)(0)("UN")
If IsDBNull(_data.An.Select("PARAM=" & param)(0)("RT")) Then 'cas de l'ajout d'un résultat en mode modifications (methodes)
fron = _cnfl(0)("fra")
man = _cnfl(0)("man")
mfra = _cnfl(0)("mfra")
Else
If rt <> _data.An.Select("PARAM=" & param)(0)("RT") Then 'Cas de modifications de la référence de travail
If _cnfl.Length = 0 Then ' pas de valeur
fron = 22 ' 43
man = 0 ' 3
mfra = 0 ' 3
Else 'assignation des nouvelles valeurs
fron = _cnfl(0)("fra")
man = _cnfl(0)("man")
mfra = _cnfl(0)("mfra")
End If
Else 'Reprise des infos sans modifications
fron = _data.An.Select("PARAM=" & param)(0)("FRON")
man = _data.An.Select("PARAM=" & param)(0)("MET_AN")
mfra = _data.An.Select("PARAM=" & param)(0)("MET_FR")
End If
End If
Try
vrai = _data.An.Select("param=" & param)(0)("vrai")
Catch ex As IndexOutOfRangeException
vrai = 3
Catch ex As InvalidCastException
vrai = 3
End Try
Try
conf = _data.An.Select("param=" & param)(0)("conf")
Catch ex As IndexOutOfRangeException
conf = 4
Catch ex As InvalidCastException
conf = 4
End Try
Else 'Cas mode ajout
un = _cnflp(0)("un") ' unité de mesure
vrai = 3
conf = 4
ANCV = 0
ANVV = 0
If _cnfl.Length = 0 Then
fron = 22 ' 43
man = 0 ' 3
mfra = 0 ' 3
Else
fron = _cnfl(0)("fra")
man = _cnfl(0)("man")
mfra = _cnfl(0)("mfra")
End If
'Déterminer le code remarque et le seuil de quantification
If Not IsDBNull(_cnflp(0)("sl")) Then
sl = _cnflp(0)("sl")
_slq = _cnflp(0)("sl")
If val <> String.Empty Then
If CType(val, Decimal) < CType(sl, Decimal) Then
cde_rem = 10
Else
cde_rem = 1
End If
Else
cde_rem = 1
End If
Else
cde_rem = 1
sl = 0
_slq = 0
End If
End If
'libellé du paramètre( à retourner en cas de message d'erreur).
_lib = CType(_item.FindControl("lblLIB"), Label).Text
'Remplissage de l'enregistrement dans le dataset
Dim _an As data.dsSaisieAnalyses.AnRow = _form.An.NewAnRow
With _an
.SITU = 2
.DTEA = _dtea
.RESP = Analyste(AnV, AnC, param)
.CONF = conf
.DTE_P = Dte
.FIN = Finalite
.FRON = fron
.HRE_P = Hre
.LABO = Labo
.MET_AN = man
.MET_FR = mfra
.NUM = Num
.PARAM = param
.PMO = PMO
.PROD = Org
.RT = rt
.SL = sl
.UN = un
.VAL = val
.VRAI = vrai
._LIB = _lib
._STEP = Ouv
.CDE_REM = cde_rem
.INF_LQ = inf_lq '* Ajouté par moi
.VAL_SAISIE = val_saisie '* Ajouté par moi
If _slq.HasValue Then
.SLQ = _slq
Else
.SetSLQNull()
End If
End With
_form.An.AddAnRow(_an)
End If
Next |
Partager