private void exportBackGround_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e) { MDBProvider mdbProvider = new MDBProvider(); DataTable resultdt = new DataTable(); ODLDB210410DataSet dataset = new ODLDB210410DataSet(); resultdt = dataset.AN148; mdbProvider.CreateDB(); mdbProvider.CreateTNTable("TN148", dataset.TN148); mdbProvider.CreateTNTable("TN158", dataset.TN148); mdbProvider.CreateTNTable("TN178", dataset.TN148); mdbProvider.CreateTNTable("TN70", dataset.TN148); resultdt = LinqQueryForTrudoyomkost.FillTNTable(31); DataTable testDt = new DataTable(); mdbProvider.simpleInsert(resultdt); resultdt = LinqQueryForTrudoyomkost.FillTNTable(17); mdbProvider.simpleInsert(resultdt); }
public static LabourNorm FillItemLabourNorm(ODLDB210410DataSet.TN158Row anrow) { byte tarifNetDefault = 2; int resultKOD_PROF = 0; LabourNorm labourNormItem = new LabourNorm(); labourNormItem.InfDetID = (!DicDetNumAndId.ContainsKey(anrow.NDET) ? 0 : DicDetNumAndId[anrow.NDET]); labourNormItem.OperNum = (anrow.IsOPTNull() ? "" : anrow.OPT); labourNormItem.DepRegion = (anrow.IsUCHNull() || !char.IsNumber(char.Parse(anrow.UCH.Substring(0, 1))) || anrow.UCH.Contains("+")) ? 0 : double.Parse(anrow.UCH.Trim().Replace('.', ',').Replace('/', ',').Replace("ъ", "").Replace("-", "")); if (anrow.IsKOD_PROFNull()) labourNormItem.ProfCode = 0; else if (anrow.KOD_PROF.Contains(',')) labourNormItem.ProfCode = int.Parse(anrow.KOD_PROF.Split(',').First()); else int.TryParse(anrow.KOD_PROF.Trim(), out resultKOD_PROF); labourNormItem.ProfCode = resultKOD_PROF; labourNormItem.NameKindWork = anrow.IsNAIM_VIDA_RABNull() ? "" : anrow.NAIM_VIDA_RAB; labourNormItem.TariffNetNum = (anrow.IsTarifNull() || anrow.Tarif.Trim() == "") ? tarifNetDefault : byte.Parse(anrow.Tarif.Trim()); labourNormItem.KindPay = anrow.IsB1Null() ? "C" : anrow.B1; labourNormItem.WorkerRate = (anrow.IsRAZRNull() || anrow.RAZR.Equals("+") || anrow.RAZR.Trim() == "") ? 0 : double.Parse(anrow.RAZR.Replace(".", ",").Trim()); labourNormItem.ItemCTN = (anrow.IsPTN_SHTNull() ? 0 : double.Parse(anrow.PTN_SHT.ToString())); labourNormItem.PreparTimeCTN = (anrow.IsPTN_PZVNull() ? 0 : double.Parse(anrow.PTN_PZV.ToString())); labourNormItem.ItemPayNorm = (anrow.IsPLAT_SHTNull() ? 0 : double.Parse(anrow.PLAT_SHT.ToString())); labourNormItem.PreparTimePayNorm = (anrow.IsPLAT_PZVNull() ? 0 : double.Parse(anrow.PLAT_PZV.ToString())); labourNormItem.Valuation = (anrow.IsRASCENull() || anrow.RASCE == "0.00" || anrow.RASCE == "0.0" || anrow.RASCE.Trim() == "") ? 0 : double.Parse(anrow.RASCE); labourNormItem.ValPreparTime = (anrow.IsRASC_PZVNull() ? 0 : double.Parse(anrow.RASC_PZV.ToString())); labourNormItem.CoeffCTN = (anrow.IsPTNNull() ? 0 : double.Parse(anrow.PTN.ToString())); labourNormItem.DocNum = (anrow.IsN_DOKNull() ? "" : anrow.N_DOK); labourNormItem.Date = DateTime.Now; labourNormItem.TaskNumber = (anrow.IsN_zadanNull() ? "" : anrow.N_zadan); return labourNormItem; }
private static InfTariff FillInfTarifItem(ODLDB210410DataSet.TARIFRow trow) { InfTariff infTariff = new InfTariff(); infTariff.KindPay = trow.VO; infTariff.HourCost = double.Parse(trow.STOIM_RAZR); infTariff.TariffNetNum = byte.Parse(trow.N_TARIF_SETKI); infTariff.WorkerRate = double.Parse(trow.RAZR.Replace('.', ',')); return infTariff; }
public static WhereOperationUse FillItemWhereOperationUse(ODLDB210410DataSet.TN158Row anrow) { int seriaFrom = 0; if (!anrow.IsN_IZD_CNull() && anrow.N_IZD_C.Trim() != "") { int.TryParse(anrow.N_IZD_C.Trim(), out seriaFrom); if (seriaFrom < 0) { seriaFrom = 0; } } int seriaTo = 99999999; if (!anrow.IsN_IZD_PONull() && anrow.N_IZD_PO.Trim() != "") { int.TryParse(anrow.N_IZD_PO.Trim(), out seriaTo); if (seriaTo < 0) { seriaTo = 99999999; } } var whereUseItem = new WhereOperationUse(); whereUseItem.SeriaFrom = seriaFrom; whereUseItem.SeriaTo = seriaTo; whereUseItem.InfProductsChipher = 17; return whereUseItem; }
public static DataTable FillTNTable(short productChipher) { var labourNormlist = from labourNorm in FillTrudoyomkostDB.LabourNormList join whereOpeationUse in FillTrudoyomkostDB.WhereOperationUseList on labourNorm.ID equals whereOpeationUse.LabourNormID join infprod in FillTrudoyomkostDB.infProductList on whereOpeationUse.InfProductsChipher equals infprod.Cipher where (whereOpeationUse.InfProductsChipher == productChipher) select new { infprod.Product, labourNorm.InfDetID, OperNum = labourNorm.OperNum, labourNorm.WorkerRate, labourNorm.KindPay, labourNorm.ProfCode, NameKindWork = labourNorm.NameKindWork, labourNorm.TariffNetNum, labourNorm.ItemCTN, labourNorm.PreparTimeCTN, labourNorm.ItemPayNorm, labourNorm.PreparTimePayNorm, labourNorm.Valuation, labourNorm.ValPreparTime, labourNorm.CoeffCTN, DocNum = labourNorm.DocNum, labourNorm.DepRegion, labourNorm.Date, TaskNumber = labourNorm.TaskNumber, whereOpeationUse.SeriaFrom, whereOpeationUse.SeriaTo }; var listDet = from infdet in FillTrudoyomkostDB.infDetList join whereUse in FillTrudoyomkostDB.whereUseList on infdet.ID equals whereUse.InfDetID join infdep in FillTrudoyomkostDB.DicDepCodeAndId on infdet.DepNative equals infdep.Value where whereUse.InfProductsCipher == productChipher select new { infdet.ID, infdet.DetNum, SignIrregDet = (infdet.SignIrregDet == "" ? " " : infdet.SignIrregDet), WhereUseSeriaFrom = whereUse.SeriaFrom, WhereUseSeriaTo = whereUse.SeriaTo, Code = infdet.DepNative == null ? TrudoyomkostSettings.DepNum : infdep.Key }; var totalResuslt = (from det in listDet join labour in labourNormlist on det.ID equals labour.InfDetID into gj from subnorm in gj.DefaultIfEmpty() select new { det.DetNum, det.SignIrregDet, Code = det.Code, Product = (subnorm == null ? " " : subnorm.Product), OperNum = (subnorm == null ? " " : subnorm.OperNum), WorkerRate = (subnorm == null ? 0 : subnorm.WorkerRate), KindPay = (subnorm == null ? " " : subnorm.KindPay), ProfCode = (subnorm == null ? 0 : subnorm.ProfCode), NameKindWork = (subnorm == null ? " " : subnorm.NameKindWork), TariffNetNum = (subnorm == null ? 0 : subnorm.TariffNetNum), ItemCTN = (subnorm == null ? 0 : subnorm.ItemCTN), PreparTimeCTN = (subnorm == null ? 0 : subnorm.PreparTimeCTN), ItemPayNorm = (subnorm == null ? 0 : subnorm.ItemPayNorm), PreparTimePayNorm = (subnorm == null ? 0 : subnorm.ItemPayNorm), Valuation = (subnorm == null ? 0 : subnorm.Valuation), ValPreparTime = (subnorm == null ? 0 : subnorm.ValPreparTime), CoeffCTN = (subnorm == null ? 0 : subnorm.CoeffCTN), DocNum = (subnorm == null ? " " : subnorm.DocNum), DepRegion = (subnorm == null ? 0 : subnorm.DepRegion), Date = (subnorm == null ? DateTime.Now : subnorm.Date), TaskNumber = (subnorm == null ? " " : subnorm.TaskNumber), SeriaFrom = (subnorm == null ? det.WhereUseSeriaFrom : subnorm.SeriaFrom), SeriaTo = (subnorm == null ? det.WhereUseSeriaTo : subnorm.SeriaTo) }).Distinct(); DataTable resultdt = new DataTable(); ODLDB210410DataSet dataset = new ODLDB210410DataSet(); if (productChipher == 31) { resultdt = dataset.TN148; } else if (productChipher == 17) { resultdt = dataset.TN158; } foreach (var item in totalResuslt) { DataRow rowdttemp = resultdt.NewRow(); rowdttemp["NDET"] = item.DetNum; rowdttemp["CEH"] = MathFunctionForSeries.GetOldFormatDepNum(Properties.Settings.Default.DepNum); rowdttemp["UCH"] = item.DepRegion.ToString(); rowdttemp["B1"] = item.KindPay; rowdttemp["OP"] = " "; rowdttemp["OPT"] = item.OperNum == "" ? " " : item.OperNum; rowdttemp["RASCE"] = item.Valuation.ToString(); rowdttemp["RAZR"] = item.WorkerRate.ToString(); rowdttemp["DUBL_CEH"] = MathFunctionForSeries.GetOldFormatDepNum(item.Code); rowdttemp["PRN"] = item.SignIrregDet.ToString(); rowdttemp["PR_IZD"] = item.Product.ToString(); rowdttemp["N_IZD_C"] = MathFunctionForSeries.GetOldFormatSeria(item.SeriaFrom); rowdttemp["N_IZD_PO"] = MathFunctionForSeries.GetOldFormatSeria(item.SeriaTo); rowdttemp["N_zadan"] = item.TaskNumber == "" ? " " : item.TaskNumber ?? " "; rowdttemp["N_DOK"] = (item.DocNum.Length > 16) ? item.DocNum.Substring(0, 16) : item.DocNum == "" ? " " : item.DocNum; rowdttemp["KOD_PROF"] = item.ProfCode.ToString(); rowdttemp["NAIM_VIDA_RAB"] = item.NameKindWork == "" ? " " : item.NameKindWork; rowdttemp["PTN_SHT"] = item.ItemCTN; rowdttemp["PTN_PZV"] = item.PreparTimeCTN; rowdttemp["PLAT_SHT"] = item.ItemPayNorm; rowdttemp["PLAT_PZV"] = item.PreparTimePayNorm; rowdttemp["RASC_PZV"] = item.ValPreparTime; rowdttemp["PTN"] = item.CoeffCTN; rowdttemp["Tarif"] = item.TariffNetNum; rowdttemp["Дата_форм"] = String.Format("{0:yyyyMMdd}", item.Date); rowdttemp["Pr_metki"] = " "; rowdttemp["N_izd_c_r"] = MathFunctionForSeries.GetStringSeriaNumber(item.SeriaFrom); rowdttemp["N_izd_po_r"] = MathFunctionForSeries.GetStringSeriaNumber(item.SeriaTo); resultdt.Rows.Add(rowdttemp); } return resultdt; }