コード例 #1
0
        //Инициализация календарей
        private void InitCmbCalendar()
        {
            List <string> monthNames = SalaryHelper.GetMonthNames(DateTime.Today.Year - SetupProgram.YearSalary, false);

            cmbCalendar.DataSource    = monthNames;
            cmbCalendar.SelectedIndex = monthNames.Count - 1;
        }
コード例 #2
0
        private bool LoadDataForPrint(DateTime dat, bool isShowNullRec, out string error)
        {
            error = string.Empty;
            List <PersCard> cards = _repoCard.GetAllCards(out error);

            if (error != string.Empty)
            {
                return(false);
            }
            List <ACS> acses = _repoAcs.GetAllACSByParam(dat, out error);

            if (error != string.Empty)
            {
                return(false);
            }
            _salStatement =
                (from card in cards
                 join acs in acses on card.PersCard_Id equals acs.PersCard_Id into rec
                 from acs in rec.DefaultIfEmpty()
                 orderby card.PersCard_LName, card.PersCard_FName, card.PersCard_MName
                 select new RPR_SalStatement
            {
                NameMonth = SalaryHelper.GetMonthNameById(dat.Month, EnumCaseWorld.Nominative),
                PersCard_FullName = SalaryHelper.GetLastNameWithInit(card.PersCard_LName, card.PersCard_MName, card.PersCard_FName),
                SalBalance_BegSmByFirm = acs == null ? 0 : (acs.SalBalance_BegMonthSm > 0 ? acs.SalBalance_BegMonthSm : 0),
                SalBalance_BegSmByCard = acs == null ? 0 : (acs.SalBalance_BegMonthSm < 0 ? -1 * acs.SalBalance_BegMonthSm : 0),
                Salary_BaseSm = acs == null ? 0 : acs.Salary_BaseSm,
                Salary_PensSm = acs == null ? 0 : acs.Salary_PensSm,
                Salary_GradeSm = acs == null ? 0 : acs.Salary_GradeSm,
                Salary_ExpSm = acs == null ? 0 : acs.Salary_ExpSm,
                Salary_OthSm = acs == null ? 0 : acs.Salary_OthSm,
                SickList_ResSm = acs == null ? 0 : acs.SickList_ResSm,
                Vocation_Sm = acs == null ? 0 : acs.Vocation_Sm,
                LawContract_Sm = acs == null ? 0 : acs.LawContract_Sm,
                AddAccr_SmClc = acs == null ? 0 : acs.AddAccr_SmClc,
                AddAccr_SmNoClc = acs == null ? 0 : acs.AddAccr_SmNoClc,
                Accr_TotalSm = acs == null ? 0 : (acs.Salary_ResSm + acs.Vocation_Sm + acs.SickList_ResSm + acs.LawContract_Sm + acs.AddAccr_SmClc),
                Tax_Sm = acs == null ? 0 : acs.Tax_Sm,
                IncTax_Sm = acs == null ? 0 : acs.IncTax_Sm,
                Prof_Sm = acs == null ? 0 : acs.Prof_Sm,
                SalBalance_EndSmByFirm = acs == null ? 0 : (acs.SalBalance_EndMonthSm > 0 ? acs.SalBalance_EndMonthSm : 0),
                SalBalance_EndSmByCard = acs == null ? 0 : (acs.SalBalance_EndMonthSm < 0 ? -1 * acs.SalBalance_EndMonthSm : 0),
                CashBox_Sm = acs == null ? 0 : acs.CashBox_Sm,
                //Excerpt_Sm = acs == null ? 0 : acs.Excerpt_Sm,
                //List_Sm = acs == null ? 0 : acs.list_Sm,
                //InKindPay_Sm = acs == null ? 0 : acs.InKindPay_Sm,
                AddPayment_Sm = acs == null ? 0 : acs.AddPayment_Sm,
                Military_Sm = acs == null ? 0 : acs.Military_Sm,
                Payment_TotalSm = acs == null ? 0 : ((acs.CardStatus_Type == (int)EnumCardStatus.Constant ? 0 : acs.Tax_Sm) +
                                                     acs.CashBox_Sm + /*acs.Excerpt_Sm + acs.list_Sm + acs.InKindPay_Sm*/ +acs.AddPayment_Sm + acs.Military_Sm + acs.Prof_Sm)
            }
                ).ToList();
            if (!isShowNullRec)
            {
                _salStatement = _salStatement.Where(rec => rec.Accr_TotalSm != 0 && rec.Payment_TotalSm != 0 ||
                                                    (rec.SalBalance_BegSmByFirm != 0 || rec.SalBalance_BegSmByCard != 0 ||
                                                     rec.SalBalance_EndSmByFirm != 0 || rec.SalBalance_EndSmByCard != 0)).ToList();
            }
            return(true);
        }
コード例 #3
0
        public bool StartReport()
        {
            fmAccrStatement fmAccrStat = new fmAccrStatement();

            if (fmAccrStat.ShowDialog() != DialogResult.OK)
            {
                return(false);
            }
            string         error    = string.Empty;
            DateTime       datBeg   = fmAccrStat.GetDateBegParam();
            DateTime       datEnd   = fmAccrStat.GetDateEndParam();
            EnumSalaryList typeForm = fmAccrStat.GetFormParam();
            List <int>     id_dep   = fmAccrStat.GetIdCheckedDep();

            Parameters[0] = new ReportParameter("MonthNameBeg", SalaryHelper.GetMonthNameById(datBeg.Month, EnumCaseWorld.Genetive));
            Parameters[1] = new ReportParameter("MonthNameEnd", SalaryHelper.GetMonthNameById(datEnd.Month, EnumCaseWorld.Nominative));

            LoadDataForPrint(datBeg, datEnd, typeForm, id_dep, out error);
            if (error != string.Empty)
            {
                MessageBox.Show("Помилка.\nТехнічна інформація: " + error, "Помилка");
                return(false);
            }
            ReportDataSource report = new ReportDataSource("dsAccrStatement", _accrStatement);

            DataSources.Add(report);
            return(true);
        }
コード例 #4
0
        public DFCt GetData()
        {
            DFCt dfCt = new DFCt();

            dfCt.DFCt_Id   = _id;
            dfCt.DFCt_Date = SalaryHelper.GetDateByQrt(
                cmbQrt.SelectedIndex + 1,
                DateTime.Today.Year - SetupProgram.YearSalary + cmbYr.SelectedIndex
                );
            int resInt = 0;

            if (int.TryParse(tbNmr.Text, out resInt))
            {
                dfCt.DFCt_Nmr = resInt;
            }
            dfCt.DFCt_Nm  = tbNm.Text;
            dfCt.DFCt_Flg = 0;
            if (rbAskClc.Checked)
            {
                dfCt.DFCt_Flg |= (int)EnumActionEnterDF.AskCalc;
            }
            else if (rbClc.Checked)
            {
                dfCt.DFCt_Flg |= (int)EnumActionEnterDF.AlwaysCalc;
            }
            dfCt.DFCt_DateClc = DateTime.MinValue;
            return(dfCt);
        }
コード例 #5
0
        public bool StartReport()
        {
            fmPaymentStatement fmPayStat = new fmPaymentStatement();

            if (fmPayStat.ShowDialog() != DialogResult.OK)
            {
                return(false);
            }
            string               error             = string.Empty;
            DateTime             dat               = fmPayStat.GetDateParam();
            EnumPaymentStatement enumPayStat       = fmPayStat.GetFormParam();
            List <int>           id_typePayment    = fmPayStat.GetIdCheckedTypePayment();
            List <int>           id_typeAddPayment = fmPayStat.GetIdCheckedTypeAddPayment();

            LoadDataForPrint(dat, enumPayStat, id_typePayment, id_typeAddPayment, out error);
            if (error != string.Empty)
            {
                MessageBox.Show("Помилка.\nТехнічна інформація: " + error, "Помилка");
                return(false);
            }

            Parameters[0] = new ReportParameter("MonthName", SalaryHelper.GetMonthNameById(dat.Month, EnumCaseWorld.Nominative));
            Parameters[1] = new ReportParameter("SumTotalRep",
                                                (_paymentStatement.Sum(rec => rec.Payment_Sm) + _addPaymentStatement.Sum(rec => rec.AddPayment_Sm)).ToString("0.00"));

            ReportDataSource report  = new ReportDataSource("dsPaymentStatement", _paymentStatement);
            ReportDataSource report2 = new ReportDataSource("dsAddPaymentStatement", _addPaymentStatement);

            DataSources.Add(report);
            DataSources.Add(report2);
            return(true);
        }
コード例 #6
0
        //Вставка строки
        private void InsertRecord()
        {
            fmPaymentEdit fmEdit     = new fmPaymentEdit(EnumFormMode.Insert, "Створення виплати");
            Payment       paymentSet = new Payment();
            int           month      = SalaryHelper.GetMonthByIndex(cmbCalendar.SelectedIndex, true);

            if (month == 0)
            {
                paymentSet.Payment_Date = DateTime.MinValue.AddYears(DateTime.Today.Year - 1).AddMonths(DateTime.Today.Month - 1);
            }
            else
            {
                int year = SalaryHelper.GetYearByIndex(DateTime.Today.Year - SetupProgram.YearSalary, cmbCalendar.SelectedIndex, true);
                paymentSet.Payment_Date = DateTime.MinValue.AddYears(year - 1).AddMonths(month - 1);
            }
            paymentSet.Payment_Type = _typeId;
            fmEdit.SetData(paymentSet);
            if (fmEdit.ShowDialog() == DialogResult.OK)
            {
                string  error;
                Payment paymentGet = fmEdit.GetData();
                int     id         = _repoPayment.AddPayment(paymentGet, out error);
                if (id == 0)
                {
                    MessageBox.Show("Помилка додавання рядка.\nТехнічна інформація: " + error, "Помилка");
                    return;
                }
                RefreshTablePayment(_typeId, _datBeg, _datEnd);
                dgvPayment.SetPositionRow <v_Payment>("Payment_Id", id.ToString());
            }
        }
コード例 #7
0
        //Вставка строки
        private void InsertRecord()
        {
            fmIncTaxEdit fmEdit    = new fmIncTaxEdit(EnumFormMode.Insert, "Створення корегування прибуткового податку");
            IncTax       setIncTax = new IncTax();
            int          month     = SalaryHelper.GetMonthByIndex(cmbCalendar.SelectedIndex, true);

            if (month == 0)
            {
                setIncTax.IncTax_Date = DateTime.MinValue.AddYears(DateTime.Today.Year - 1).AddMonths(DateTime.Today.Month - 1);
            }
            else
            {
                int year = SalaryHelper.GetYearByIndex(DateTime.Today.Year - SetupProgram.YearSalary, cmbCalendar.SelectedIndex, true);
                setIncTax.IncTax_Date = DateTime.MinValue.AddYears(year - 1).AddMonths(month - 1);
            }

            fmEdit.SetData(setIncTax);
            if (fmEdit.ShowDialog() == DialogResult.OK)
            {
                string error;
                IncTax getIncTax = fmEdit.GetData();
                int    id        = _repoIncTax.AddIncTax(getIncTax, out error);
                if (id == 0)
                {
                    MessageBox.Show("Помилка додавання рядка.\nТехнічна інформація: " + error, "Помилка");
                    return;
                }
                RefreshTables();
                dgvIncTax.SetPositionRow <v_IncTax>("IncTax_Id", id.ToString());
            }
        }
コード例 #8
0
        //Получение периода на основании выбранного значения из комбика
        private bool GetDateBySelectCmbCalendar(ref DateTime datBeg, ref DateTime dateEnd)
        {
            datBeg  = DateTime.MinValue;
            dateEnd = DateTime.MinValue;

            int year = SalaryHelper.GetYearByIndex(DateTime.Today.Year - SetupProgram.YearSalary, cmbCalendar.SelectedIndex, true);

            if (year == 0)
            {
                return(false);
            }

            int month = SalaryHelper.GetMonthByIndex(cmbCalendar.SelectedIndex, true);

            if (month == 0)
            {
                datBeg  = datBeg.AddYears(year - 1);
                dateEnd = dateEnd.AddYears(year - 1).AddMonths(12 - 1);
            }
            else
            {
                datBeg  = datBeg.AddYears(year - 1).AddMonths(month - 1);
                dateEnd = dateEnd.AddYears(year - 1).AddMonths(month - 1);
            }
            return(true);
        }
コード例 #9
0
        //Получить дату по выбранному индексу календаря
        private DateTime GetDateByIndexCalendar(int selectedIndex)
        {
            int year  = SalaryHelper.GetYearByIndex(DateTime.Today.Year - SetupProgram.YearSalary, selectedIndex, false);
            int month = SalaryHelper.GetMonthByIndex(selectedIndex, false);

            return(DateTime.MinValue.AddYears(year - 1).AddMonths(month - 1));
        }
コード例 #10
0
        public AddAccr GetData()
        {
            AddAccr addAccr = new AddAccr();

            addAccr.AddAccr_Id          = _id;
            addAccr.AddAccr_PersCard_Id = _cmbCardParams.PersCard_Id;
            addAccr.AddAccr_RefDep_Id   = _cmbDepParams.RefDep_Id;
            addAccr.AddAccr_Date        = SalaryHelper.GetDateByIndex(cmbCalendar.SelectedIndex, DateTime.Today.Year - SetupProgram.YearSalary, false);

            int     resInt = 0;
            decimal resDec = 0;

            ResField fldId = resFldTypeAddAccr.FirstOrDefault(rec => rec.Name == "RefTypeAddAccr_Id");

            if (fldId != null)
            {
                if (int.TryParse(fldId.Val, out resInt))
                {
                    addAccr.AddAccr_RefTypeAddAccr_Id = resInt;
                }
            }
            //Сумма
            if (decimal.TryParse(tbSm.Text, out resDec))
            {
                addAccr.AddAccr_Sm = resDec;
            }

            return(addAccr);
        }
コード例 #11
0
        //Зачитка комбика надбавки пенсионеру
        private void SetDataPensAllwnc()
        {
            PersCard card = _cards.FirstOrDefault(rec => rec.PersCard_Id == _cmbCardParams.PersCard_Id);

            //Работник не выбран
            if (card == null)
            {
                cmbPensAllwnc.ReadCombobox(0);
                tbPensSm.Text = string.Empty;
                return;
            }
            DateTime clcDate = GetDateByIndexCalendar(cmbCalendar.SelectedIndex);

            if (!SalaryHelper.IsPensWorker(clcDate, card.PersCard_DOP))
            {
                cmbPensAllwnc.ReadCombobox(0);
                tbPensSm.Text = string.Empty;
                return;
            }

            if (_cmbPensAllwncParams.pensAllwncs.Count > 1)
            {
                cmbPensAllwnc.ReadCombobox(0);
                tbPensSm.Text = string.Empty;
                return;
            }

            cmbPensAllwnc.ReadCombobox(_cmbPensAllwncParams.pensAllwncs[0].RefPensAllwnc_Id);
        }
コード例 #12
0
        //Видимость элементов контроля надбавки пенсионеру
        private void SetVisibleCmbPensAllwnc()
        {
            PersCard card = _cards.FirstOrDefault(rec => rec.PersCard_Id == _cmbCardParams.PersCard_Id);

            //Работник не выбран
            if (card == null)
            {
                tbPensPct.Enabled = false;
                tbPensCd.Enabled  = false;
                tbPensNm.Enabled  = false;
                tbPensSm.Enabled  = false;
                btnPens.Enabled   = false;
                return;
            }

            DateTime clcDate = GetDateByIndexCalendar(cmbCalendar.SelectedIndex);

            if (SalaryHelper.IsPensWorker(clcDate, card.PersCard_DOP))
            {
                tbPensPct.Enabled = true;
                tbPensCd.Enabled  = true;
                tbPensNm.Enabled  = true;
                tbPensSm.Enabled  = true;
                btnPens.Enabled   = true;
            }
            else
            {
                tbPensPct.Enabled = false;
                tbPensCd.Enabled  = false;
                tbPensNm.Enabled  = false;
                tbPensSm.Enabled  = false;
                btnPens.Enabled   = false;
            }
        }
コード例 #13
0
        private bool LoadDataForPrint(DateTime dat, out string error)
        {
            error = string.Empty;
            List <SalBalance> balances = _repoSalBalance.GetSalBalanceByParams(0, dat, dat, out error);

            if (error != string.Empty)
            {
                return(false);
            }
            List <PersCard> cards = _repoCards.GetAllCards(out error);

            if (error != string.Empty)
            {
                return(false);
            }

            _salaryBalance =
                (from bal in balances
                 join card in cards on bal.SalBalance_PersCard_Id equals card.PersCard_Id
                 select new RPR_SalBalance
            {
                NameMonth = SalaryHelper.GetMonthNameById(dat.Month, EnumCaseWorld.Nominative),
                PersCard_TIN = card.PersCard_TIN,
                PersCard_LName = card.PersCard_LName,
                PersCard_FName = card.PersCard_FName,
                PersCard_MName = card.PersCard_MName,
                SalBalance_SmByFirm = bal.SalBalance_BegMonthSm > 0 ? bal.SalBalance_BegMonthSm : 0,
                SalBalance_SmByCard = bal.SalBalance_BegMonthSm < 0 ? bal.SalBalance_BegMonthSm : 0
            }
                ).ToList();
            return(true);
        }
コード例 #14
0
        /// <summary>
        /// 员工工资查看列表
        /// </summary>
        /// <returns></returns>
        public ActionResult SalaryList(string staffId, string yearMonth)
        {
            var staffSalary = TempData["salaryRecords"] == null
                ? SalaryHelper.SalaryList()
                : TempData["salaryRecords"] as List <StaffSalary>;

            //读取员工
            var staff           = StaffHelper.StaffList();
            var staffSalaryDesc =
                staffSalary.Join(staff, x => x.StaffId, y => y.Id, (x, y) => new { x, y }).Select(p => new StaffSalaryDesc
            {
                StaffName   = p.y.StaffName,
                Salary      = p.x.Salary,
                Commission  = p.x.Commission,
                SalaryMonth = p.x.SalaryMonth,
                MonthIncome = p.x.Commission + p.x.Salary
            });

            staff.Insert(0, new Staff {
                Id = "", StaffName = ""
            });
            ViewBag.staffs   = staff;
            ViewBag.flag     = "SalaryRecord";
            ViewBag.ErrInfo  = TempData["CheckErr"] ?? "";
            ViewBag.queryPam = JsonConvert.SerializeObject(new { StaffId = staffId, YearMonth = yearMonth });
            return(View(staffSalaryDesc));
        }
コード例 #15
0
        public void SetData(IncTax incTax)
        {
            _id = incTax.IncTax_Id;
            cmbCalendar.SelectedIndex = SalaryHelper.GetIndexByDate(
                DateTime.Today.Year - SetupProgram.YearSalary, incTax.IncTax_Date, false);

            cmbCard.ReadCombobox(incTax.IncTax_PersCard_Id);
            tbSm.Text = incTax.IncTax_Sm.ToString("0.00");
        }
コード例 #16
0
        public void SetData(AddPayment addPayment)
        {
            _id = addPayment.AddPayment_Id;
            cmbCalendar.SelectedIndex = SalaryHelper.GetIndexByDate(
                DateTime.Today.Year - SetupProgram.YearSalary, addPayment.AddPayment_Date, false);

            cmbCard.ReadCombobox(addPayment.AddPayment_PersCard_Id);
            cmbTypeAddPayment.ReadCombobox("RefTypeAddPayment_Id", addPayment.AddPayment_TypeAddPayment_Id.ToString());
            tbSm.Text = addPayment.AddPayment_Sm.ToString("0.00");
        }
コード例 #17
0
        private bool CanBeOkParam()
        {
            DateTime datBeg = SalaryHelper.GetDateByIndex(cmbCalendarBeg.SelectedIndex, DateTime.Today.Year - SetupProgram.YearSalary, false);
            DateTime datEnd = SalaryHelper.GetDateByIndex(cmbCalendarEnd.SelectedIndex, DateTime.Today.Year - SetupProgram.YearSalary, false);

            if (datBeg > datEnd)
            {
                MessageBox.Show("Дата початку більше дати закінчення інтервалу", "Увага");
                cmbCalendarEnd.Focus();
                return(false);
            }
            return(true);
        }
コード例 #18
0
        //Получить итоговую сумму
        private double GetResultSm()
        {
            double ktu;

            double.TryParse(tbKTU.Text, out ktu);
            double baseSm = 0;

            double.TryParse(tbBaseSm.Text, out baseSm);

            double allwncSm  = 0;
            double allwncPct = 0;
            double res       = 0;

            if (double.TryParse(tbPensSm.Text, out res))
            {
                allwncSm += res;
            }
            if (double.TryParse(tbExpSm.Text, out res))
            {
                allwncSm += res;
            }
            if (double.TryParse(tbGradeSm.Text, out res))
            {
                allwncSm += res;
            }
            if (double.TryParse(tbOthSm.Text, out res))
            {
                allwncSm += res;
            }

            if (double.TryParse(tbPensPct.Text, out res))
            {
                allwncPct += res;
            }
            if (double.TryParse(tbExpPct.Text, out res))
            {
                allwncPct += res;
            }
            if (double.TryParse(tbGradePct.Text, out res))
            {
                allwncPct += res;
            }
            if (double.TryParse(tbOthPct.Text, out res))
            {
                allwncPct += res;
            }

            return(SalaryHelper.GetResultSmSalary(ktu, baseSm, allwncSm, allwncPct, ref clcResultSalarySm));
        }
コード例 #19
0
        public void SetData(LawContract lawContract)
        {
            _id = lawContract.LawContract_Id;
            cmbCalendar.SelectedIndex = SalaryHelper.GetIndexByDate(
                DateTime.Today.Year - SetupProgram.YearSalary, lawContract.LawContract_Date, false);

            cmbCard.ReadCombobox(lawContract.LawContract_PersCard_Id);
            cmbDep.ReadCombobox(lawContract.LawContract_RefDep_Id);

            cmbPayDate.SelectedIndex = SalaryHelper.GetIndexByDate(
                DateTime.Today.Year - SetupProgram.VocationPayYear, lawContract.LawContract_PayDate, false);

            tbDays.Text = lawContract.LawContract_Days.ToString();
            tbSm.Text   = lawContract.LawContract_Sm.ToString("0.00");
        }
コード例 #20
0
        public void SetData(Vocation vocation)
        {
            _id = vocation.Vocation_Id;
            cmbCalendar.SelectedIndex = SalaryHelper.GetIndexByDate(
                DateTime.Today.Year - SetupProgram.YearSalary, vocation.Vocation_Date, false);

            cmbCard.ReadCombobox(vocation.Vocation_PersCard_Id);
            cmbDep.ReadCombobox(vocation.Vocation_RefDep_Id);

            cmbPayDate.SelectedIndex = SalaryHelper.GetIndexByDate(
                DateTime.Today.Year - SetupProgram.VocationPayYear, vocation.Vocation_PayDate, false);

            tbDays.Text = vocation.Vocation_Days.ToString();
            tbSm.Text   = vocation.Vocation_Sm.ToString("0.00");
        }
コード例 #21
0
        //Расчет суммы процента от исходной суммы
        private void CalcSmByPct(TextBox tbPct, TextBox tbSm, TextBox tbBaseSm)
        {
            if (tbPct == null || tbSm == null || tbBaseSm == null)
            {
                return;
            }

            double pct;
            double baseSm;

            if (double.TryParse(tbPct.Text, out pct) &&
                double.TryParse(tbBaseSm.Text, out baseSm))
            {
                tbSm.Text = SalaryHelper.GetSmByPct(baseSm, pct).ToString("0.00");
            }
        }
コード例 #22
0
        //Получить сумму КТУ
        private double GetSmKTUSm()
        {
            double ktu      = 0;
            double baseSm   = 0;
            double totalSm  = 0;
            double totalPct = 0;

            double res = 0;

            double.TryParse(tbKTU.Text, out ktu);
            double.TryParse(tbBaseSm.Text, out baseSm);
            if (double.TryParse(tbPensPct.Text, out res))
            {
                totalPct += res;
            }
            if (double.TryParse(tbGradePct.Text, out res))
            {
                totalPct += res;
            }
            if (double.TryParse(tbExpPct.Text, out res))
            {
                totalPct += res;
            }
            if (double.TryParse(tbOthPct.Text, out res))
            {
                totalPct += res;
            }

            if (double.TryParse(tbPensSm.Text, out res))
            {
                totalSm += res;
            }
            if (double.TryParse(tbGradeSm.Text, out res))
            {
                totalSm += res;
            }
            if (double.TryParse(tbExpSm.Text, out res))
            {
                totalSm += res;
            }
            if (double.TryParse(tbOthSm.Text, out res))
            {
                totalSm += res;
            }
            return(SalaryHelper.GetKTUSm(ktu, baseSm, totalSm, totalPct, ref clcResultKTUSm));
        }
コード例 #23
0
        public IncTax GetData()
        {
            IncTax incTax = new IncTax();

            incTax.IncTax_Id          = _id;
            incTax.IncTax_PersCard_Id = _cmbCardParams.PersCard_Id;
            incTax.IncTax_Date        = SalaryHelper.GetDateByIndex(cmbCalendar.SelectedIndex, DateTime.Today.Year - SetupProgram.YearSalary, false);
            decimal resDec = 0;

            //Сумма
            if (decimal.TryParse(tbSm.Text, out resDec))
            {
                incTax.IncTax_Sm = resDec;
            }

            return(incTax);
        }
コード例 #24
0
        private List <v_DFCt> GetViewDfCt(List <DFCt> dfCts)
        {
            List <v_DFCt> res = (from dfct in dfCts
                                 select new v_DFCt
            {
                DFCt_Id = dfct.DFCt_Id,
                DFCt_Date = dfct.DFCt_Date,
                DFCt_Nmr = dfct.DFCt_Nmr,
                DFCt_Nm = dfct.DFCt_Nm,
                DFCt_DateClc = dfct.DFCt_DateClc,
                DFCt_Flg = dfct.DFCt_Flg,
                DFCt_Qrt = SalaryHelper.GetQrtByDate(dfct.DFCt_Date),
                DFCt_Yr = dfct.DFCt_Date.Year
            }).ToList();

            return(res);
        }
コード例 #25
0
        /// <summary>
        /// 工资发放
        /// </summary>
        /// <param name="staffSalary"></param>
        /// <returns></returns>
        public ActionResult PaySalary(StaffSalary staffSalary)
        {
            //检查该月份该员工是否已经发过工资
            var staffSal = SalaryHelper.CheckIfPaid(staffSalary.StaffId, staffSalary.SalaryMonth);

            if (staffSal != null)
            {
                TempData["CheckErr"] = "该员工" + staffSalary.SalaryMonth.Year + "-" + staffSalary.SalaryMonth.Month + "的薪资已经发放,请核查";
                return(RedirectToAction("SalaryList"));
            }

            //获取该员工该薪资月的送水记录,统计提成用
            var dailyRecords = DailyRecordHelper.DailyRecordList()
                               .Where(item => item.VisitDate.Year == staffSalary.SalaryMonth.Year &&
                                      item.VisitDate.Month == staffSalary.SalaryMonth.Month &&
                                      item.StaffId == staffSalary.StaffId);
            //判断是否需要薪资发放类型
            var salaryType = CompanyPayTypeHelper.GetById(SalaryPayType);

            if (salaryType == null)
            {
                MongoBase.Insert(new CompanyPayType
                {
                    Id      = SalaryPayType,
                    PayType = "员工薪资支出"
                });
            }

            staffSalary.Id         = ObjectId.NewObjectId().ToString();
            staffSalary.Commission = dailyRecords.Sum(i => i.SendBucketAmount) * Commission(); //提成

            MongoBase.Insert(staffSalary);
            //公司当月支出增多相应金额
            CompanyPayRecord companyRecord = new CompanyPayRecord()
            {
                Id        = ObjectId.NewObjectId().ToString(),
                IsPayType = true,
                PayTypeId = SalaryPayType,
                StaffId   = staffSalary.StaffId,
                TransSum  = staffSalary.Salary,
                TransTime = Convert.ToDateTime(staffSalary.SalaryMonth + "-28")
            };

            MongoBase.Insert(companyRecord);
            return(RedirectToAction("SalaryList"));
        }
コード例 #26
0
        public SickList GetData()
        {
            SickList sickList = new SickList();

            sickList.SickList_Id          = _id;
            sickList.SickList_PersCard_Id = _cmbCardParams.PersCard_Id;
            sickList.SickList_RefDep_Id   = _cmbDepParams.RefDep_Id;
            sickList.SickList_Date        = SalaryHelper.GetDateByIndex(cmbCalendar.SelectedIndex, DateTime.Today.Year - SetupProgram.YearSalary, false);
            sickList.SickList_PayDate     = SalaryHelper.GetDateByIndex(cmbPayDate.SelectedIndex, DateTime.Today.Year - SetupProgram.SickListPayYear, false);
            int     resInt = 0;
            decimal resDec = 0;

            //Дни, оплаченные предприятием
            if (int.TryParse(tbDaysEntprs.Text, out resInt))
            {
                sickList.SickList_DaysEntprs = resInt;
            }
            //Сумма, оплаченная предприятием
            if (decimal.TryParse(tbSmEntprs.Text, out resDec))
            {
                sickList.SickList_SmEntprs = resDec;
            }
            //Дни, оплаченные соцстахом
            if (int.TryParse(tbDaysSocInsrnc.Text, out resInt))
            {
                sickList.SickList_DaysSocInsrnc = resInt;
            }
            //Сумма, оплаченная соцстахом
            if (decimal.TryParse(tbSmSocInsrnc.Text, out resDec))
            {
                sickList.SickList_SmSocInsrnc = resDec;
            }
            //Дни временной нетрудоспособности
            if (int.TryParse(tbDaysTmpDis.Text, out resInt))
            {
                sickList.SickList_DaysTmpDis = resInt;
            }
            //Итоговая сумма
            if (decimal.TryParse(tbResSm.Text, out resDec))
            {
                sickList.SickList_ResSm = resDec;
            }
            return(sickList);
        }
コード例 #27
0
        public ActionResult QueryStaffSalary(string staffId, string yearMonth)
        {
            var staffSalary = SalaryHelper.SalaryList();

            if (!string.IsNullOrEmpty(yearMonth))
            {
                int year  = int.Parse(yearMonth.Split('-')[0]);
                int month = int.Parse(yearMonth.Split('-')[1]);
                staffSalary =
                    staffSalary.Where(item => item.SalaryMonth.Year == year && item.SalaryMonth.Month == month).ToList();
            }
            if (!string.IsNullOrEmpty(staffId))
            {
                staffSalary = staffSalary.Where(item => item.StaffId == staffId).ToList();
            }

            TempData["salaryRecords"] = staffSalary;
            return(RedirectToAction("SalaryList", new { staffId = staffId, yearMonth = yearMonth }));
        }
コード例 #28
0
 public void SetData(USTCt ustCt)
 {
     _id = ustCt.USTCt_Id;
     cmbCalendar.SelectedIndex = SalaryHelper.GetIndexByDate(
         DateTime.Today.Year - SetupProgram.YearSalary, ustCt.USTCt_Date, false);
     tbNmr.Text = ustCt.USTCt_Nmr.ToString();
     tbNm.Text  = ustCt.USTCt_Nm;
     if ((ustCt.USTCt_Flg & (int)EnumActionEnterUST.AskCalc) > 0)
     {
         rbAskClc.Checked = true;
     }
     else if ((ustCt.USTCt_Flg & (int)EnumActionEnterUST.AlwaysCalc) > 0)
     {
         rbClc.Checked = true;
     }
     else
     {
         rbNoClc.Checked = true;
     }
 }
コード例 #29
0
 public void SetData(DFCt dfCt)
 {
     _id = dfCt.DFCt_Id;
     cmbQrt.SelectedIndex = SalaryHelper.GetQrtByDate(dfCt.DFCt_Date) - 1;
     cmbYr.SelectedIndex  = DateTime.Today.Year - dfCt.DFCt_Date.Year + 1;
     tbNmr.Text           = dfCt.DFCt_Nmr.ToString();
     tbNm.Text            = dfCt.DFCt_Nm;
     if ((dfCt.DFCt_Flg & (int)EnumActionEnterDF.AskCalc) > 0)
     {
         rbAskClc.Checked = true;
     }
     else if ((dfCt.DFCt_Flg & (int)EnumActionEnterDF.AlwaysCalc) > 0)
     {
         rbClc.Checked = true;
     }
     else
     {
         rbNoClc.Checked = true;
     }
 }
コード例 #30
0
        //Расчет суммы надбавки за стаж
        private void CalcExpSm()
        {
            double baseSm   = 0;
            double allwncSm = 0;
            double sm       = 0;
            double pct      = 0;

            double.TryParse(tbBaseSm.Text, out baseSm);
            if (double.TryParse(tbPensSm.Text, out sm))
            {
                allwncSm += sm;
            }
            if (double.TryParse(tbGradeSm.Text, out sm))
            {
                allwncSm += sm;
            }
            //if (double.TryParse(tbOthSm.Text, out sm))
            //    allwncSm += sm;
            double.TryParse(tbExpPct.Text, out pct);
            tbExpSm.Text = SalaryHelper.GetExpSmByPct(baseSm, allwncSm, pct, ref clcResultExpSm).ToString("0.00");
        }