private void btnBuild_Click(object sender, EventArgs e)
        {
            //是否为空
            if (cmbYear.SelectedIndex == -1 || cmbMonth.SelectedIndex == -1 || cmbDepartment.SelectedIndex == -1)
            {
                CommonHelper.FailedReply("不能为空!");
                return;
            }

            int  year    = int.Parse(cmbYear.Text);
            int  month   = int.Parse(cmbMonth.Text);
            Guid depId   = (Guid)cmbDepartment.SelectedValue;
            Guid sheetId = ss.GetSalarySheetId(year, month, depId);


            if (sheetId == Guid.Empty)
            {
                //生成新的工资单
                SalarySheet sheet = new SalarySheet();
                sheet.Id           = Guid.NewGuid();
                sheet.Year         = year;
                sheet.Month        = month;
                sheet.DepartmentId = depId;
                ss.BuildNewSalarySheet(sheet);
                ss.BuildSalaryItems(sheet.Id, depId);
                DataGridView.DataSource = ss.GetSalarySheetItems(sheet.Id);
            }
            else
            {
                //是否重新生成
                DialogResult dr = MessageBox.Show("已经生成该工资表,是否重新生成?", "警告", MessageBoxButtons.YesNo);
                if (dr == DialogResult.Yes)
                {
                    ss.DeleteSalaryItems(sheetId);
                    ss.BuildSalaryItems(sheetId, depId);
                    DataGridView.DataSource = ss.GetSalarySheetItems(sheetId);
                }
                else
                {
                    DataGridView.DataSource = ss.GetSalarySheetItems(sheetId);
                }
            }
        }
Example #2
0
        private void btnSearch_Click(object sender, EventArgs e)
        {
            //是否为空
            if (cmbYear.SelectedIndex == -1 || cmbMonth.SelectedIndex == -1 || cmbDepartment.SelectedIndex == -1)
            {
                CommonHelper.FailedReply("不能为空!");
                return;
            }

            int  year  = int.Parse(cmbYear.Text);
            int  month = int.Parse(cmbMonth.Text);
            Guid depId = (Guid)cmbDepartment.SelectedValue;

            Guid id = ss.GetSalarySheetId(year, month, depId);


            if (id == Guid.Empty)
            {
                //生成新的工资单
                CommonHelper.FailedReply("没有工资单,请先生成工资单!");
                return;
            }
            else
            {
                DataTable dt = ss.GetSalarySheetItems(id);
                List <SalarySheetItemReport> items = new List <SalarySheetItemReport>();
                SalarySheetItemReport        item;
                foreach (DataRow dr in dt.Rows)
                {
                    item = new SalarySheetItemReport();
                    item.EmployeeName = dr["姓名"].ToString();
                    item.BaseSalary   = (decimal)dr["基本工资"];
                    item.Bonus        = (decimal)dr["奖金"];
                    item.Fine         = (decimal)dr["罚款"];
                    item.Other        = (decimal)dr["其他"];
                    items.Add(item);
                }

                CrystalReportSalarySheet report = new CrystalReportSalarySheet();
                report.SetDataSource(items);
                report.SetParameterValue("Y", year);
                report.SetParameterValue("M", month);
                report.SetParameterValue("D", cmbDepartment.Text);

                CrystalReportViewer.ReportSource = report;
            }
        }