Przeglądaj źródła

计算工资
病假,事假金额 调整

leiy 1 rok temu
rodzic
commit
f41a1dba96

+ 7 - 13
OASystem/OASystem.Api/OAMethodLib/PayrollComputation.cs

@@ -208,8 +208,6 @@ namespace OASystem.API.OAMethodLib
                         List<CheckInDataInfo> checkInData2 = new List<CheckInDataInfo>();
                         checkInData2 = checkInDatas.Where(it => it.exception_type.Equals("未打卡")).ToList();
                         
-
-
                         #region 迟到 早退 旷工
 
                         int user_cd_zt_num = 0; //早退/迟到 次数 10分钟内 2次以内不记处罚 三次及以上50一次
@@ -296,7 +294,7 @@ namespace OASystem.API.OAMethodLib
                                         day_deduction = ConvertToDecimal(day_miner_unit * 6); //3小时
                                         meal_deduction += 10.00M;  //餐补扣款
                                         absenteeism_deduction += day_deduction; //矿工半日
-                                        beLate_belate_ex.Reason = thisDtStr + " 上午(09:00)缺卡/未打卡视为午旷工(3小时)";
+                                        beLate_belate_ex.Reason = thisDtStr + " 上午(09:00)缺卡/未打卡视为午旷工(3小时)";
                                     }
                                     else
                                     {
@@ -578,8 +576,6 @@ namespace OASystem.API.OAMethodLib
                                                 startTime1 = date_Range.new_begin_dt.ToString("HH:mm:ss");
                                                 endTime1 = date_Range.new_end_dt.ToString("HH:mm:ss");
                                             }
-
-                                            
                                         }
                                         else if (date_Range.type == "hour")
                                         {
@@ -1247,12 +1243,12 @@ namespace OASystem.API.OAMethodLib
                     break;
                 case 2: //2事假
                     // 事假日薪 *计算方式:日平均工资 = 当月应发工资 /当月应出勤天数。 
-                    decimal personalkLeave_dailywage_halfhour =  personalkLeave_dailywage_day / halfHour; //事假单位 0.5小时
+                    decimal personalkLeave_dailywage_halfhour =  personalkLeave_dailywage_day / 7.50M; //事假单位 0.5小时
 
                     if (date_Range_type == "halfday")
                     {
-                        mealDeduction = 10; //餐补扣款 
-                        typeDeduction = ConvertToDecimal(personalkLeave_dailywage_day);
+                        mealDeduction = 10.00M * Math.Ceiling(duration); //餐补扣款 
+                        typeDeduction = ConvertToDecimal(personalkLeave_dailywage_day * duration);
                     }
                     else if (date_Range_type == "hour")
                     {
@@ -1300,12 +1296,12 @@ namespace OASystem.API.OAMethodLib
                 case 3: //3病假
                     // 病假日薪 *计算方式:日平均工资 = 成都市最低工资标准的80% /当月应出勤天数。 短期病假=当月15天内 
 
-                    decimal chengDuMinimumWage_halrHour = _chengDuMinimumWage / work_days / halfHour;
-                    decimal sickLeave_dailywage_halfhour_deduction1 = (personalkLeave_dailywage_day / halfHour) - chengDuMinimumWage_halrHour; //病假单位 0.5小时 扣款金额
+                    decimal chengDuMinimumWage_halrHour = _chengDuMinimumWage / work_days / 7.50M;
+                    decimal sickLeave_dailywage_halfhour_deduction1 = (personalkLeave_dailywage_day / 7.50M) - chengDuMinimumWage_halrHour; //病假单位 0.5小时 扣款金额
 
                     if (date_Range_type == "halfday")
                     {
-                        mealDeduction = 10; //餐补扣款 
+                        mealDeduction = 10.00M * duration; //餐补扣款 
                         typeDeduction = ConvertToDecimal( sickLeave_dailywage_halfhour_deduction1 * halfHour);
                     }
                     else if (date_Range_type == "hour")
@@ -1344,9 +1340,7 @@ namespace OASystem.API.OAMethodLib
                                 int lastHours = (Convert.ToDateTime(endTime) - Convert.ToDateTime("09:00")).Hours;
                                 if (lastHours >= 3)
                                 {
-
                                     mealDeduction += 10; //餐补扣款
-
                                 }
                             }
                         }