1、假设数据库保存的流程如下:
decimal 每月工作日 = 30M; /*定义每个月的工作天数*/
decimal 病假计薪天数 = 7M; /*定义病假最高的薪天数*/
decimal 超出计薪天数 = 请假天数 - 病假计薪天数; /*计算超出计薪天数*/
decimal 应扣工资 = 0.00M; /*定义应扣工资*/
if (基本工资 > 0 && 岗位工资 > 0 && 请假天数 > 0 && 扣款率 > 0) /*如果传入的参数都不为0 */
{
if (超出计薪天数 > 0)
{
应扣工资 = (((基本工资 + 岗位工资) / 每月工作日) * 超出计薪天数) + ((((基本工资 * 扣款率) / 每月工作日) * 病假计薪天数) + ((岗位工资/每月工作日)* 请假天数));
}
else
{
应扣工资 = (((基本工资 * 扣款率) / 每月工作日) * 请假天数) + ((岗位工资 / 每月工作日)*请假天数);
}
}
return 应扣工资.ToString("0.00");
/// <summary>
/// 计算病假扣款
/// </summary>
/// <param name="BasePay">基本工资</param>
/// <param name="days">请假天数</param>