|
@@ -214,20 +214,30 @@ namespace OASystem.API.OAMethodLib
|
|
|
string leave_endtime = date_Range.new_end_dt.ToString("HH:mm");
|
|
|
|
|
|
string typeName = string.Empty;
|
|
|
+ string unit = string.Empty;
|
|
|
int leaveTypeId = leaveType;
|
|
|
var leaveTypeData = vacationLeaveTypes.Where(it => it.id == leaveTypeId).FirstOrDefault();
|
|
|
|
|
|
if (leaveTypeData != null) { typeName = leaveTypeData.name; }
|
|
|
- //计算请假类型扣款金额
|
|
|
|
|
|
+
|
|
|
+ string startTime = string.Empty;
|
|
|
+ string endTime = string.Empty;
|
|
|
+ //计算请假类型扣款金额
|
|
|
decimal new_duration = 0.00M;
|
|
|
if (date_Range.type == "halfday")
|
|
|
{
|
|
|
new_duration = Convert.ToDecimal(date_Range.new_duration) / 86400M;
|
|
|
+ unit = "天";
|
|
|
+ startTime = date_Range.new_begin_dt.ToString("yyyy-MM-dd") + " 09:00";
|
|
|
+ endTime = date_Range.new_begin_dt.ToString("yyyy-MM-dd") + " 18:00";
|
|
|
}
|
|
|
else if (date_Range.type == "hour")
|
|
|
{
|
|
|
new_duration = Convert.ToDecimal(date_Range.new_duration) / 3600M;
|
|
|
+ unit = "小时";
|
|
|
+ startTime = date_Range.new_begin_dt.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
+ endTime = date_Range.new_end_dt.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
}
|
|
|
decimal leave_meals = 0.00M;
|
|
|
|
|
@@ -251,16 +261,16 @@ namespace OASystem.API.OAMethodLib
|
|
|
#endregion
|
|
|
|
|
|
meal_deduction += leave_meals;
|
|
|
- string startEndTiime = startEndTiime = date_Range.new_begin_dt.ToString("yyyy-MM-dd HH:mm") + " - " +
|
|
|
- date_Range.new_end_dt.ToString("yyyy-MM-dd HH:mm");
|
|
|
+
|
|
|
|
|
|
Ex_Item ex_Item = new Ex_Item()
|
|
|
{
|
|
|
SubTypeId = leaveType,
|
|
|
SubType = typeName,
|
|
|
- StartTimeDt = Convert.ToDateTime(date_Range.new_begin_dt.ToString("yyyy-MM-dd HH:mm:ss")),
|
|
|
- EndTimeDt = Convert.ToDateTime(date_Range.new_end_dt.ToString("yyyy-MM-dd HH:mm:ss")),
|
|
|
+ StartTimeDt = Convert.ToDateTime(startTime),
|
|
|
+ EndTimeDt = Convert.ToDateTime(endTime),
|
|
|
Duration = new_duration,
|
|
|
+ Unit = unit,
|
|
|
Deduction = thisTypeDeduction,
|
|
|
//Reason = apply_data.reason,
|
|
|
Apply_time_dt = Convert.ToDateTime(sp_item.apply_time_dt.ToString("yyyy-MM-dd HH:mm:ss")),
|
|
@@ -313,7 +323,7 @@ namespace OASystem.API.OAMethodLib
|
|
|
StartTimeDt = Convert.ToDateTime(punch_correction1.time_dt.ToString("yyyy-MM-dd HH:mm:ss")), //未打卡时间
|
|
|
Deduction = bukaPrice,
|
|
|
Reason = punch_correction2.text,
|
|
|
- unit = string.Empty
|
|
|
+ Unit = string.Empty
|
|
|
};
|
|
|
unprinted_deduction += bukaPrice;
|
|
|
ex_reissuecard_Items.Add(ex_reissueCard);
|
|
@@ -401,7 +411,7 @@ namespace OASystem.API.OAMethodLib
|
|
|
{
|
|
|
foreach (var exception_info in roots_ex.exception_infos)
|
|
|
{
|
|
|
- decimal timelength = (Convert.ToDecimal(exception_info.duration) / 3600.00M) * 60.00M; //时长 分钟
|
|
|
+ decimal timelength = ConvertToDecimal( (Convert.ToDecimal(exception_info.duration) / 3600.00M) * 60.00M); //时长 分钟
|
|
|
|
|
|
if (timelength == 9) timelength = 7.50M;
|
|
|
|
|
@@ -425,8 +435,8 @@ namespace OASystem.API.OAMethodLib
|
|
|
SubTypeId = 4,
|
|
|
SubType = "旷工",
|
|
|
Duration = timelength,
|
|
|
- StartTimeDt = Convert.ToDateTime(roots_ex.base_info.dateDt.ToString("yyyy-MM-dd")),
|
|
|
- unit = "分钟",
|
|
|
+ StartTimeDt = Convert.ToDateTime(roots_ex.base_info.dateDt.ToString("yyyy-MM-dd HH:mm:ss")),
|
|
|
+ Unit = "分钟",
|
|
|
};
|
|
|
|
|
|
|
|
@@ -443,8 +453,12 @@ namespace OASystem.API.OAMethodLib
|
|
|
if (reissueCardNum >= 3)
|
|
|
{
|
|
|
day_deduction = 50.00M;
|
|
|
- beLate_deduction += day_deduction; //迟到扣款 总额
|
|
|
}
|
|
|
+ else
|
|
|
+ {
|
|
|
+ day_deduction = 10.00M;
|
|
|
+ }
|
|
|
+ beLate_deduction += day_deduction; //迟到扣款 总额
|
|
|
}
|
|
|
else if (timelength >= 10 && timelength <= 60)
|
|
|
{
|
|
@@ -527,18 +541,32 @@ namespace OASystem.API.OAMethodLib
|
|
|
{
|
|
|
DateTime thisDt1 = Convert.ToDateTime(thisDtStr + " 12:00");
|
|
|
|
|
|
+ //ex_ItemInfos
|
|
|
+
|
|
|
+ Ex_Item zt_jq = new Ex_Item();
|
|
|
+ zt_jq = ex_ItemInfos.Where(it => it.StartTimeDt.ToString("yyyy-MM-dd") == thisDtStr).FirstOrDefault();
|
|
|
+
|
|
|
if (thisDt <= thisDt1) //旷工 下午
|
|
|
{
|
|
|
+ if (zt_jq != null) if (zt_jq.EndTimeDt == Convert.ToDateTime(thisDtStr + " 18:00")) continue; //排除已有假期的缺卡
|
|
|
+
|
|
|
day_deduction = day_miner_unit * 9; //4.5小时
|
|
|
meal_deduction += 10.00M;
|
|
|
absenteeism_deduction += day_deduction; //矿工半日
|
|
|
beLate_belate_ex.Reason = thisDtStr + " 下午(18:00)缺卡/未打卡视为下午旷工(4.5小时)";
|
|
|
+
|
|
|
+ beLate_belate_ex.Deduction = day_deduction;
|
|
|
+ ex_reissuecard_Items.Add(beLate_belate_ex);
|
|
|
}
|
|
|
else if (thisDt >= thisDt1) //旷工下午
|
|
|
{
|
|
|
+ if (zt_jq != null) if (zt_jq.EndTimeDt == Convert.ToDateTime(thisDtStr + " 09:00")) continue; //排除已有假期的缺卡
|
|
|
day_deduction = day_miner_unit * 6; //3小时
|
|
|
absenteeism_deduction += day_deduction; //矿工半日
|
|
|
beLate_belate_ex.Reason = thisDtStr + " 上午(09:00)缺卡/未打卡视为上午旷工(3小时)";
|
|
|
+
|
|
|
+ beLate_belate_ex.Deduction = day_deduction;
|
|
|
+ ex_reissuecard_Items.Add(beLate_belate_ex);
|
|
|
}
|
|
|
else //矿工一日
|
|
|
{
|
|
@@ -547,10 +575,11 @@ namespace OASystem.API.OAMethodLib
|
|
|
meal_deduction += 10.00M;
|
|
|
absenteeism_deduction += day_deduction;
|
|
|
beLate_belate_ex.Reason = thisDtStr + " 上午(09:00)-下午(18:00) 缺卡/未打视为旷工一天(7.5小时)";
|
|
|
+
|
|
|
+ beLate_belate_ex.Deduction = day_deduction;
|
|
|
+ ex_reissuecard_Items.Add(beLate_belate_ex);
|
|
|
}
|
|
|
|
|
|
- beLate_belate_ex.Deduction = day_deduction;
|
|
|
- ex_reissuecard_Items.Add(beLate_belate_ex);
|
|
|
|
|
|
}
|
|
|
}
|
|
@@ -659,7 +688,6 @@ namespace OASystem.API.OAMethodLib
|
|
|
return Convert.ToDecimal(number.ToString("0.00"));
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/// <summary>
|
|
|
/// 获取请假类型
|
|
|
/// </summary>
|
|
@@ -862,7 +890,6 @@ namespace OASystem.API.OAMethodLib
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/// <summary>
|
|
|
/// 计算类型费用
|
|
|
/// </summary>
|