private void btn生成工资表_Click(object sender, EventArgs e) { SalaryAuditingResult checkInfo = SalaryAuditingResult.GetSalaryAuditingResult((string)ccb薪资组.EditValue, (string)cbb日历组.EditValue); if (checkInfo != null && checkInfo.表工资已审核) { CreateWaitDialog("正在生成工资表...", "请稍等"); //清空已有的工资表 PrivateSalary.ClearPrivateSalary(checkInfo.日历组, checkInfo.薪资组); PayCounter payCounter = new PayCounter(checkInfo); //如果计算成功 bool successed = payCounter.Calculate(); #if (DEBUG) //为了方便测试,在普通网使用不控制 if (MyHelper.GetLocalIp()[0].StartsWith("192.168.")) { successed = true; //保存计算时间 payCounter.审核情况表.工资计算时间 = DateTime.Now; payCounter.审核情况表.制表人 = AccessController.CurrentUser.姓名; payCounter.审核情况表.制表时间 = DateTime.Now; payCounter.审核情况表.Save(); payCounter.审核情况表.UnLock(); } #endif if (successed) { //保存工资表 foreach (SalaryCalculator cal in payCounter.员工工资计算器列表) { cal.Save(); } SetWaitDialogCaption("正在加载数据..."); LoadData(true); CloseWaitDialog(); MyHelper.WriteLog(LogType.信息, "生成工资表", checkInfo.ToString <SalaryAuditingResult>()); } else { CloseWaitDialog(); MessageBox.Show("生成工资表失败,详细原因点击确定后显示", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); //显示错误列表 ErrorDialog form = new ErrorDialog(payCounter.错误列表); form.ShowDialog(); } } else { MessageBox.Show("生成工资表失败:基础工资表未审核。", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void btn重新计算_Click(object sender, EventArgs e) { SalaryAuditingResult checkInfo = SalaryAuditingResult.GetSalaryAuditingResult((string)cb薪资组.EditValue, (string)cbb日历组.EditValue); if (checkInfo != null) { if (checkInfo.已冻结 == false) { if (MessageBox.Show("重新计算后系统自动重建抽查记录,您确定要重新计算吗?", "询问", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2, 0, false) == DialogResult.Yes) { CreateWaitDialog("正在计算工资...", "请稍等"); //清空已有的工资表 PrivateSalary.ClearPrivateSalary(checkInfo.日历组, checkInfo.薪资组); checkInfo.UndoAuditing(); PayCounter payCounter = new PayCounter(checkInfo); //如果计算成功 bool successed = payCounter.Calculate(); #if (DEBUG) //为了方便测试,在普通网使用不控制 if (MyHelper.GetLocalIp()[0].StartsWith("192.168.")) { successed = true; //保存计算时间 payCounter.审核情况表.工资计算时间 = DateTime.Now; payCounter.审核情况表.制表人 = AccessController.CurrentUser.姓名; payCounter.审核情况表.制表时间 = DateTime.Now; payCounter.审核情况表.Save(); payCounter.审核情况表.UnLock(); } #endif if (successed) { //保存工资表 foreach (SalaryCalculator cal in payCounter.员工工资计算器列表) { cal.Save(); } SetWaitDialogCaption("正在加载数据..."); LoadData(true); CloseWaitDialog(); //显示错误列表 if (payCounter.错误列表.Count > 0) { ErrorDialog form = new ErrorDialog(payCounter.错误列表); form.ShowDialog(); } MyHelper.WriteLog(LogType.信息, "重新计算工资", checkInfo.ToString <SalaryAuditingResult>()); } else { CloseWaitDialog(); MessageBox.Show("重新计算失败,详细原因点击确定后显示", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); //显示错误列表 ErrorDialog form = new ErrorDialog(payCounter.错误列表); form.ShowDialog(); } } } else { MessageBox.Show("重新计算失败:已冻结的工资表不能反审重新计算。", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("重新计算失败:数据错误,请重新生成工资表后再试。", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } }