Added STL and TTL decoding.
This commit is contained in:
@@ -35,8 +35,8 @@ namespace BodyshopUploader.Utils.Decoder
|
||||
ParsePfhFile(ref ret, _dir);
|
||||
ParsePflFile(ref ret, _dir, _source);
|
||||
ParsePfmFile(ref ret, _dir);
|
||||
//ParseStlFile(ref ret, _dir); //Contains information about the total amounts of the estimate.
|
||||
//ParseTtlFile(ref ret, _dir);
|
||||
ParseStlFile(ref ret, _dir);
|
||||
ParseTtlFile(ref ret, _dir);
|
||||
ParseLinFile(ref ret, _dir);
|
||||
|
||||
return ret;
|
||||
@@ -1000,11 +1000,6 @@ namespace BodyshopUploader.Utils.Decoder
|
||||
}
|
||||
}
|
||||
|
||||
public static object ReflectPropertyValue(object source, string property)
|
||||
{
|
||||
return source.GetType().GetProperty(property).GetValue(source, null);
|
||||
}
|
||||
|
||||
public static void ParseTtlFile(ref dynamic j, string RootFilePath)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(j.ciecaid.Value)) { return; }
|
||||
@@ -1019,9 +1014,32 @@ namespace BodyshopUploader.Utils.Decoder
|
||||
using (Stream fis = File.Open(RootFilePath + j.ciecaid.Value + ".ttl", FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
|
||||
{
|
||||
var reader = new DBFReader(fis);
|
||||
reader.SetSelectFields(new string[] { "G_TTL_AMT" });
|
||||
reader.SetSelectFields(new string[] { "G_TTL_AMT","G_BETT_AMT","G_RPD_AMT","G_DED_AMT","G_CUST_AMT","G_AA_AMT","N_TTL_AMT","PREV_NET",
|
||||
"SUPP_AMT","N_SUPP_AMT","G_UPD_AMT","G_TTL_DISC","G_TAX","GST_AMT", });
|
||||
var readValues = reader.NextRecord();
|
||||
j.Claim_Total = Convert.ToDecimal(readValues[0].ToString());
|
||||
|
||||
dynamic ttl_x = new JObject();
|
||||
ttl_x.g_ttl_amt = readValues[0];//G_TTL_AMT
|
||||
ttl_x.g_bett_amt = readValues[1];//G_BETT_AMT
|
||||
ttl_x.g_rpd_amt = readValues[2];//G_RPD_AMT
|
||||
ttl_x.g_ded_amt = readValues[3];//G_DED_AMT
|
||||
ttl_x.g_cust_amt = readValues[4];//G_CUST_AMT
|
||||
ttl_x.g_aa_amt = readValues[5];//G_AA_AMT
|
||||
ttl_x.n_ttl_amt = readValues[6];//N_TTL_AMT
|
||||
ttl_x.prev_net = readValues[7];//PREV_NET
|
||||
ttl_x.supp_amt = readValues[8];//SUPP_AMT
|
||||
ttl_x.n_supp_amt = readValues[9];//N_SUPP_AMT
|
||||
ttl_x.g_upd_amt = readValues[10];//G_UPD_AMT
|
||||
ttl_x.g_ttl_disc = readValues[11];//G_TTL_DISC
|
||||
ttl_x.g_tax = readValues[12];//G_TAX
|
||||
ttl_x.gst_amt = readValues[13];//GST_AMT
|
||||
|
||||
j.clm_total = Convert.ToDecimal(readValues[0].ToString());
|
||||
|
||||
j.cieca_ttl = new JObject();
|
||||
j.cieca_ttl.data = ttl_x;
|
||||
|
||||
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -1038,7 +1056,7 @@ namespace BodyshopUploader.Utils.Decoder
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(j.ciecaid.Value)) { return; }
|
||||
|
||||
logger.Trace(@"Parsing Ttl at: {0}{1}", RootFilePath, j.ciecaid.Value);
|
||||
logger.Trace(@"Parsing STL at: {0}{1}", RootFilePath, j.ciecaid.Value);
|
||||
|
||||
int retryNumber = 0;
|
||||
while (retryNumber < 11)
|
||||
@@ -1048,23 +1066,41 @@ namespace BodyshopUploader.Utils.Decoder
|
||||
using (Stream fis = File.Open(RootFilePath + j.ciecaid.Value + ".stl", FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
|
||||
{
|
||||
var reader = new DBFReader(fis);
|
||||
reader.SetSelectFields(new string[] { "TTL_TYPECD", "T_HRS" });
|
||||
reader.SetSelectFields(new string[] { "TTL_TYPE","TTL_TYPECD","T_AMT","T_HRS","T_ADDLBR","T_DISCAMT","T_MKUPAMT","T_GDISCAMT",
|
||||
"TAX_AMT","NT_AMT","NT_HRS","NT_ADDLBR","NT_DISC","NT_MKUP","NT_GDIS","TTL_TYPAMT","TTL_HRS","TTL_AMT",
|
||||
});
|
||||
var _rc = reader.RecordCount;
|
||||
var totals = new JArray();
|
||||
for (var i = 0; i < _rc; i++)
|
||||
{
|
||||
var readValues = reader.NextRecord();
|
||||
switch (readValues[0])
|
||||
{
|
||||
dynamic ttl_x = new JObject();
|
||||
|
||||
//Labor Code
|
||||
case "LAB":
|
||||
j.BodyHrs = Convert.ToDecimal(readValues[1]);
|
||||
break;
|
||||
case "LAR":
|
||||
j.RefHrs = Convert.ToDecimal(readValues[1]);
|
||||
break;
|
||||
}
|
||||
ttl_x.ttl_type = readValues[0];//TTL_TYPE
|
||||
ttl_x.ttl_typecd = readValues[1];//TTL_TYPECD
|
||||
ttl_x.t_amt = readValues[2];//T_AMT
|
||||
ttl_x.t_hrs = readValues[3];//T_HRS
|
||||
//ttl_x.t_addlbr = readValues[4];//T_ADDLBR
|
||||
//ttl_x.t_discamt = readValues[5];//T_DISCAMT
|
||||
//ttl_x.t_mkupamt = readValues[6];//T_MKUPAMT
|
||||
//ttl_x.t_gdiscamt = readValues[7];//T_GDISCAMT
|
||||
ttl_x.tax_amt = readValues[8];//TAX_AMT
|
||||
//ttl_x.nt_amt = readValues[9];//NT_AMT
|
||||
//ttl_x.nt_hrs = readValues[10];//NT_HRS
|
||||
//ttl_x.nt_addlbr = readValues[11];//NT_ADDLBR
|
||||
//ttl_x.nt_disc = readValues[12];//NT_DISC
|
||||
//ttl_x.nt_mkup = readValues[13];//NT_MKUP
|
||||
//ttl_x.nt_gdis = readValues[14];//NT_GDIS
|
||||
//ttl_x.ttl_typamt = readValues[15];//TTL_TYPAMT
|
||||
ttl_x.ttl_hrs = readValues[16];//TTL_HRS
|
||||
ttl_x.ttl_amt = readValues[17];//TTL_AMT
|
||||
|
||||
|
||||
totals.Add(ttl_x);
|
||||
}
|
||||
|
||||
j.cieca_stl = new JObject();
|
||||
j.cieca_stl.data = totals;
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -1077,60 +1113,6 @@ namespace BodyshopUploader.Utils.Decoder
|
||||
}
|
||||
}
|
||||
|
||||
public static void ParseLinFile_OLD(ref dynamic j, string RootFilePath, SourceSystem _source = SourceSystem.Mitchell)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(j.ciecaid.Value)) { return; }
|
||||
|
||||
logger.Trace(@"Parsing Ttl at: {0}{1}", RootFilePath, j.ciecaid.Value);
|
||||
//j.JobSublets = new List<JobSublet>();
|
||||
|
||||
string _maxSupp = "";
|
||||
|
||||
int retryNumber = 0;
|
||||
while (retryNumber < 11)
|
||||
{
|
||||
try
|
||||
{
|
||||
using (Stream fis = File.Open(RootFilePath + j.ciecaid.Value + ".lin", FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
|
||||
{
|
||||
var reader = new DBFReader(fis);
|
||||
reader.SetSelectFields(new string[] { "PART_TYPE", "LINE_DESC", "UNQ_SEQ", "LINE_IND" });
|
||||
var _rc = reader.RecordCount;
|
||||
for (var i = 0; i < _rc; i++)
|
||||
{
|
||||
var readValues = reader.NextRecord();
|
||||
//Find Max Supplement Number
|
||||
if (string.Compare(_maxSupp, readValues[3].ToString()) < 0)
|
||||
{
|
||||
_maxSupp = readValues[3].ToString();
|
||||
}
|
||||
|
||||
switch (readValues[3])
|
||||
{
|
||||
|
||||
//Labor Code
|
||||
case "PAS":
|
||||
case "PASL":
|
||||
//j.JobSublets.Add(new JobSublet()
|
||||
//{
|
||||
// SubletDesc = readValues[1].ToString(),
|
||||
// Unq_Seq = Convert.ToInt32(readValues[2])
|
||||
//});
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
j.MaxSupplement = _maxSupp;
|
||||
return;
|
||||
}
|
||||
catch (IOException ex)
|
||||
{
|
||||
logger.Trace(ex, "Unable to open LIN file. Retrying. ");
|
||||
retryNumber++;
|
||||
Thread.Sleep(3000);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -91,7 +91,7 @@ namespace BodyshopUploader.Utils
|
||||
}",
|
||||
Variables = new
|
||||
{
|
||||
key = "CA_BC_ciecaopcodes"
|
||||
key = AppMetaData.ShopRegion + "_ciecaopcodes"
|
||||
}
|
||||
};
|
||||
var data = await Utils.GraphQL.ExecuteQuery(r);
|
||||
|
||||
@@ -32,9 +32,14 @@ namespace BodyshopUploader.Utils.Queries
|
||||
try
|
||||
{
|
||||
var d = await Utils.GraphQL.ExecuteQuery(r);
|
||||
return d.vehicles?[0].id?.Value;
|
||||
return d.vehicles?[0]?.id?.Value;
|
||||
|
||||
}
|
||||
catch(ArgumentOutOfRangeException Ex)
|
||||
{
|
||||
logger.Trace("No vehicles returned in GQL query.");
|
||||
return "";
|
||||
}
|
||||
catch (Exception Ex)
|
||||
{
|
||||
logger.Error(Ex, "Querying for vehicle by VIN failed.");
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
xmlns:vm="clr-namespace:BodyshopUploader.ViewModels"
|
||||
mc:Ignorable="d"
|
||||
Title="{x:Static p:Resources.Title_Login}"
|
||||
Height="300"
|
||||
Height="325"
|
||||
Width="475"
|
||||
xmlns:p="clr-namespace:BodyshopUploader.Properties"
|
||||
xmlns:util="clr-namespace:BodyshopUploader.Utils"
|
||||
|
||||
Reference in New Issue
Block a user