Пример #1
0
 private void buttonCalcTax_Click(object sender, EventArgs e)
 {
     try
     {
         decimal start  = numericUpDownTaxStartPoint.Value;
         decimal amount = numericUpDownTaxAmount.Value;
         numericUpDownTax.Value = IndividualIncomeTax.GetTax(start, amount);
     }
     catch (System.Exception ex)
     {
         QMessageBox.ShowError(ex.ToString());
     }
 }
Пример #2
0
        //智诺计薪方法:
        //扣掉社保和公积金
        //按公司规定增加和扣除, 例如奖金, 迟到, 缺勤, 以及其他, 如损坏公物的赔偿
        //计算个税(账内收入), 但这个月的个税留到下个月再扣除
        //扣掉上个月个税, 注意这里是先计算个税, 然后再扣除上个月的个税, 有点不合理
        //得到实发金额
        public void Calc(int workdayCount)
        {
            //计算迟到扣款
            m_lateCut = m_args.m_late * DataCenter.Instance.LateCutUnit;

            //缺勤扣款
            m_absentCut = m_employee.GetTotalSalary() * (decimal)m_args.m_absent / workdayCount;

            //计算应纳税收入
            m_incomeToTax = m_employee.m_internalSalary - m_employee.m_socialInsuranceCut - m_employee.m_houseFundCut + m_args.m_allowance - m_lateCut - m_absentCut - m_args.m_otherCut;

            m_taxToCut = IndividualIncomeTax.GetTax(DataCenter.Instance.IndividualIncomeTaxStart, m_incomeToTax);//计算个税, 但这个月不扣

            //总计数据
            m_internalIncome = m_incomeToTax - m_args.m_previousTaxCut;//扣上个月的税

            m_externalIncome = m_employee.m_externalSalary;

            m_totalIncome = m_internalIncome + m_externalIncome;
        }