예제 #1
0
        public void SetFromB2(KlonsARepDataSet.SP_PAY_MATCHLISTS_1XRow dr_x)
        {
            ID_P   = dr_x.IsIDPNull() ? (int?)null : dr_x.IDP;
            ID_AM  = dr_x.IDAM;
            ID_SHR = dr_x.IDSHR2;

            DT1 = dr_x.VB_SHEET_DT1;
            DT2 = dr_x.VB_SHEET_DT2;

            IIN_RATE  = dr_x.VB_IIN_RATE;
            IIN_RATE2 = dr_x.VB_IIN_RATE2;
            SI_RATE   = dr_x.VB_SI_RATE;

            PAY_TAXED        = dr_x.VB2_PAY_TAXED;
            PAY_NOSAI        = dr_x.VB2_PAY_NOSAI;
            PAY_NOTTAXED     = dr_x.VB2_PAY_NOTTAXED;
            UNTAXED_MINIMUM  = dr_x.VB2_UNTAXED_MINIMUM;
            IINEX_DEPENDANTS = dr_x.VB2_IINEX_DEPENDANTS;
            IINEX2           = dr_x.VB2_IINEX2;
            IINEX2_TP        = dr_x.VB1_IINEX2_TP;
            DNSI             = dr_x.VB2_DNSI;

            PFNT = dr_x.VB2_PF_NT;
            LINT = dr_x.VB2_LI_NT;
            HINT = dr_x.VB2_HI_NT;

            IINEX_EXP = dr_x.VB2_IINEX_EXP;
            IIN       = dr_x.VB2_IIN;
            CASH      = dr_x.VB2_PAY;
        }
예제 #2
0
        public string Calc(KlonsADataSet.PAYLISTS_RRow dr,
                           KlonsARepDataSet.SP_PAY_MATCHLISTS_1XRow dr_x)
        {
            var        sr1   = new PayCalcRow();
            var        paid1 = new PayCalcRow();
            PayCalcRow rpay1 = null;
            var        sr2   = new PayCalcRow();
            var        paid2 = new PayCalcRow();
            PayCalcRow rpay2 = null;

            if (PreparingReport)
            {
                idp      = dr.IDP;
                Name     = DataTasks.GetPersonName(idp);
                PosTitle = DataTasks.GetPositionTitle(dr_x.IDAM);
            }

            if (!dr_x.IsIDSHR1Null() && dr.R1 < 1.0f)
            {
                sr1.SetFromA1(dr_x);
                paid1.SetFromA2(dr_x);
                sr1.HAS_TAXDOC   = DataTasks.IsPersonWithTaxDoc(dr.IDP, sr1.DT1, sr1.DT2);
                paid1.HAS_TAXDOC = sr1.HAS_TAXDOC;
                if (PreparingReport)
                {
                    Dates1 = Utils.DateToString(sr1.DT1) + " - " + Utils.DateToString(sr1.DT2);
                    RepRows.Add(new PayCalcRow("Aprēķins 1")
                    {
                        IsTitle = true
                    });
                }
                var ret = Calc2(sr1, paid1, dr_x.PAY1, out rpay1);
                if (ret != "OK")
                {
                    if (!PreparingReport)
                    {
                        PayCalcRow.Empty.WriteTo1(dr);
                    }
                    return(ret);
                }
                if (!PreparingReport)
                {
                    rpay1.WriteTo1(dr);
                }
            }
            else
            {
                if (!PreparingReport)
                {
                    PayCalcRow.Empty.WriteTo1(dr);
                }
            }

            if (!dr_x.IsIDSHR2Null() && dr.R2 < 1.0f)
            {
                sr2.SetFromB1(dr_x);
                paid2.SetFromB2(dr_x);
                sr2.HAS_TAXDOC   = DataTasks.IsPersonWithTaxDoc(dr.IDP, sr2.DT1, sr2.DT2);
                paid2.HAS_TAXDOC = sr2.HAS_TAXDOC;
                if (PreparingReport)
                {
                    Dates2 = Utils.DateToString(sr2.DT1) + " - " + Utils.DateToString(sr2.DT2);
                    RepRows.Add(new PayCalcRow("Aprēķins 2")
                    {
                        IsTitle = true
                    });
                }
                var ret = Calc2(sr2, paid2, dr_x.PAY2, out rpay2);
                if (ret != "OK")
                {
                    if (!PreparingReport)
                    {
                        PayCalcRow.Empty.WriteTo2(dr);
                    }
                    return(ret);
                }
                if (!PreparingReport)
                {
                    rpay2.WriteTo2(dr);
                }
            }
            else
            {
                if (!PreparingReport)
                {
                    PayCalcRow.Empty.WriteTo2(dr);
                }
            }

            return("OK");
        }