|
@@ -439,120 +439,6 @@ namespace OASystem.API.OAMethodLib
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- #region 外出打卡 计算旷工迟到
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- #endregion
|
|
|
-
|
|
|
#endregion
|
|
|
|
|
|
#region 假勤/补卡次数 审批
|
|
@@ -629,8 +515,18 @@ namespace OASystem.API.OAMethodLib
|
|
|
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";
|
|
|
- startTime1 = "09:00:00";
|
|
|
- endTime1 = "18:00:00";
|
|
|
+ if (new_duration == 1)
|
|
|
+ {
|
|
|
+ startTime1 = "09:00:00";
|
|
|
+ endTime1 = "18:00:00";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ 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")
|
|
|
{
|
|
@@ -779,40 +675,86 @@ namespace OASystem.API.OAMethodLib
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- foreach (var item in checkInData2)
|
|
|
+
|
|
|
+ List<Sp_Detail> sp_goout_details = new List<Sp_Detail>();
|
|
|
+ sp_goout_details = await _qiYeWeChatApiService.GetApprovalDetailsAsync(startDt, endDt, acctid, 2, 4);
|
|
|
+ if (sp_goout_details.Count > 0)
|
|
|
{
|
|
|
- decimal bukaPrice = 0.00M;
|
|
|
-
|
|
|
- if (user_probationary_bk_decimal == 0)
|
|
|
+
|
|
|
+ List<string> goOutDts = new List<string>();
|
|
|
+ foreach (var goOutItem in sp_goout_details)
|
|
|
{
|
|
|
- if (bukaNum <= 2) bukaPrice = 0.00M;
|
|
|
- else if (bukaNum <= 4 && bukaNum > 2) bukaPrice = 10.00M;
|
|
|
- else bukaPrice = 50.00M;
|
|
|
+ Apply_data? apply_data = goOutItem.apply_data;
|
|
|
+ if (apply_data != null)
|
|
|
+ {
|
|
|
+ List<ContentsItem> contents = apply_data.contents;
|
|
|
+ ContentsItem content_Vacation = contents.Where(it => it.control == "Attendance").FirstOrDefault();
|
|
|
+ ContentsItem content_Textarea = contents.Where(it => it.control == "Textarea").FirstOrDefault();
|
|
|
|
|
|
+ if (content_Vacation != null)
|
|
|
+ {
|
|
|
+ var attendance = content_Vacation.value.attendance;
|
|
|
+
|
|
|
+ DateTime goOutDt = attendance.date_range.new_begin_dt;
|
|
|
+ DateTime goOutDtJudge = Convert.ToDateTime(goOutDt.ToString("yyyy-MM-dd"));
|
|
|
+
|
|
|
+ if (startDt >= goOutDtJudge || goOutDtJudge > endDt)
|
|
|
+ {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ goOutDts.Add(goOutDt.ToString("yyyy-MM-dd"));
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
- else
|
|
|
+
|
|
|
+
|
|
|
+ List<CheckInDataInfo> filtratePrefix_checkInData = new List<CheckInDataInfo>();
|
|
|
+ if (goOutDts.Count > 0)
|
|
|
{
|
|
|
- if (bukaNum <= 2) bukaPrice = 10.00M;
|
|
|
- else bukaPrice = 50.00M;
|
|
|
+ foreach (var goOutDtItem in goOutDts)
|
|
|
+ {
|
|
|
+ List<CheckInDataInfo> filtrate_checkInData = new List<CheckInDataInfo>();
|
|
|
+ filtrate_checkInData = checkInData2.Where(it => it.checkin_time_dt.ToString("yyyy-MM-dd").Equals(goOutDtItem)).ToList();
|
|
|
+ if (filtrate_checkInData.Count > 0)
|
|
|
+ {
|
|
|
+ filtratePrefix_checkInData.AddRange(filtrate_checkInData);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
- Ex_Item ex_reissueCard = new Ex_Item()
|
|
|
+
|
|
|
+ foreach (var item in filtratePrefix_checkInData)
|
|
|
{
|
|
|
- SubTypeId = 7,
|
|
|
- SubType = "打卡补卡",
|
|
|
- StartTimeDt = Convert.ToDateTime(item.checkin_time_dt.ToString("yyyy-MM-dd HH:mm:ss")),
|
|
|
- Deduction = bukaPrice,
|
|
|
- Reason = "[打卡记录]抓取到的未打卡数据!",
|
|
|
- Unit = string.Empty
|
|
|
- };
|
|
|
- unprinted_deduction += bukaPrice;
|
|
|
- ex_reissuecard_Items.Add(ex_reissueCard);
|
|
|
- bukaNum++;
|
|
|
- }
|
|
|
+ decimal bukaPrice = 0.00M;
|
|
|
+
|
|
|
+ if (user_probationary_bk_decimal == 0)
|
|
|
+ {
|
|
|
+ if (bukaNum <= 2) bukaPrice = 0.00M;
|
|
|
+ else if (bukaNum <= 4 && bukaNum > 2) bukaPrice = 10.00M;
|
|
|
+ else bukaPrice = 50.00M;
|
|
|
+
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if (bukaNum <= 2) bukaPrice = 10.00M;
|
|
|
+ else bukaPrice = 50.00M;
|
|
|
+ }
|
|
|
|
|
|
+ Ex_Item ex_reissueCard = new Ex_Item()
|
|
|
+ {
|
|
|
+ SubTypeId = 7,
|
|
|
+ SubType = "打卡补卡",
|
|
|
+ StartTimeDt = Convert.ToDateTime(item.checkin_time_dt.ToString("yyyy-MM-dd HH:mm:ss")),
|
|
|
+ Deduction = bukaPrice,
|
|
|
+ Reason = "[打卡记录]抓取到的未打卡数据!",
|
|
|
+ Unit = string.Empty
|
|
|
+ };
|
|
|
+ unprinted_deduction += bukaPrice;
|
|
|
+ ex_reissuecard_Items.Add(ex_reissueCard);
|
|
|
+ bukaNum++;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if (ex_reissuecard_Items.Count > 0)
|