diff --git a/IOB-UT-NEXT/DataExport.cs b/IOB-UT-NEXT/DataExport.cs index a98460f7..c422549b 100644 --- a/IOB-UT-NEXT/DataExport.cs +++ b/IOB-UT-NEXT/DataExport.cs @@ -51,7 +51,7 @@ namespace IOB_UT_NEXT /// Percorso file di output /// Vettore delle larghezze richieste /// - public static bool SaveFixedWidth(List reportData, string path, Dictionary widthList, Dictionary fieldLPad) + public static bool SaveFixedWidth(List reportData, string path, Dictionary widthList, Dictionary fieldLPad, Dictionary numDecReq) { bool answ = false; var lines = new List(); @@ -66,6 +66,14 @@ namespace IOB_UT_NEXT foreach (var item in widthList) { string currValue = dataRow.GetType().GetProperty(item.Key).GetValue(dataRow, null).ToString(); + // se ha un num decimali specifico richiesto esegue... + if (numDecReq.ContainsKey(item.Key)) + { + string nDec = $"N{numDecReq[item.Key]}"; + decimal rawVal = 0; + decimal.TryParse(currValue, out rawVal); + currValue = rawVal.ToString(nDec); + } if (currValue.Length > item.Value) { currValue = currValue.Substring(0, item.Value); diff --git a/IOB-UT-NEXT/DataModel/Fimat.cs b/IOB-UT-NEXT/DataModel/Fimat.cs index 4fd4d204..8bb738a0 100644 --- a/IOB-UT-NEXT/DataModel/Fimat.cs +++ b/IOB-UT-NEXT/DataModel/Fimat.cs @@ -180,6 +180,10 @@ namespace IOB_UT_NEXT.DataModel /// public Dictionary fieldLength { get; set; } = new Dictionary(); /// + /// Numero decimali campo + /// + public Dictionary fieldNDec { get; set; } = new Dictionary(); + /// /// Padding left (OVE necessari) /// public Dictionary fieldLPad { get; set; } = new Dictionary(); diff --git a/IOB-WIN-NEXT/DATA/MES_Setup/setupConsumi.json b/IOB-WIN-NEXT/DATA/MES_Setup/setupConsumi.json index e161adc0..4376eeaf 100644 --- a/IOB-WIN-NEXT/DATA/MES_Setup/setupConsumi.json +++ b/IOB-WIN-NEXT/DATA/MES_Setup/setupConsumi.json @@ -21,5 +21,11 @@ "UM": 2, "WeightKgProc": 8, "DtRif": 10 + }, + "fieldNDec": { + "WeightKgProc": "2" + }, + "fieldLPad": { + "WeightKgProc": "0" } } \ No newline at end of file diff --git a/IOB-WIN-NEXT/Iob/Generic.cs b/IOB-WIN-NEXT/Iob/Generic.cs index 0be778cc..9d75231a 100644 --- a/IOB-WIN-NEXT/Iob/Generic.cs +++ b/IOB-WIN-NEXT/Iob/Generic.cs @@ -8007,7 +8007,7 @@ namespace IOB_WIN_NEXT.Iob switch (expMode) { case "fixwidth": - fatto = DataExport.SaveFixedWidth(ListConsSum, $"{reportPath}.txt", currConf.fieldLength, currConf.fieldLPad); + fatto = DataExport.SaveFixedWidth(ListConsSum, $"{reportPath}.txt", currConf.fieldLength, currConf.fieldLPad, currConf.fieldNDec); break; case "csv": default: