示例#1
0
        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);
        }
示例#2
0
        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;
        }
示例#3
0
 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;
 }
示例#4
0
        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;
        }
示例#5
0
        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 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;
        }