|
@@ -4,6 +4,7 @@ using OASystem.Domain.Entities.PersonnelModule;
|
|
|
using OASystem.Domain.ViewModels.PersonnelModule;
|
|
|
using OASystem.Domain.ViewModels.QiYeWeChat;
|
|
|
using OASystem.Infrastructure.Repositories.Groups;
|
|
|
+using TencentCloud.Ocr.V20181119.Models;
|
|
|
|
|
|
namespace OASystem.API.OAMethodLib
|
|
|
{
|
|
@@ -53,18 +54,23 @@ namespace OASystem.API.OAMethodLib
|
|
|
|
|
|
List<Data> checkInDatas = checkIn.datas;
|
|
|
|
|
|
- List<Sp_Info> sp_Infos = new List<Sp_Info>();
|
|
|
- sp_Infos = await _qiYeWeChatApiService.GetApprovalDatasAsync(startDt, endDt); //时间段内所有 审批数据
|
|
|
-
|
|
|
- if (sp_Infos.Count <= 0)
|
|
|
+ //请假
|
|
|
+ List<Sp_Detail> sp_leave_details = new List<Sp_Detail>();
|
|
|
+ sp_leave_details = await _qiYeWeChatApiService.GetApprovalDetailsAsync(startDt, endDt, 2, 1); //时间段内所有 已同意的 请假 审批数据
|
|
|
+ if (sp_leave_details.Count <= 0)
|
|
|
{
|
|
|
- string errMsg = startDt + " - " + endDt + "审批数据获取失败!";
|
|
|
+ string errMsg = startDt + " - " + endDt + "请假 审批数据获取失败!";
|
|
|
return _result;
|
|
|
}
|
|
|
|
|
|
- // 筛选 时间段内(请假时间,补卡时间) /审批类型(打卡补卡,请假)/审核通过的数据
|
|
|
- List<Sp_Info> sp_leave_InfosData = sp_Infos.Where(it => it.sp_status == 2 && it.spname == "请假" && it.leave.start_time_dt >= startDt && it.leave.start_time_dt <= endDt).ToList(); //请假
|
|
|
- List<Sp_Info> sp_reissuecard_InfosData = sp_Infos.Where(it => it.sp_status == 2 && it.spname == "打卡补卡" && it.comm.FillingDt >= startDt && it.comm.FillingDt <= endDt).ToList(); //补卡
|
|
|
+ //打卡补卡
|
|
|
+ List<Sp_Detail> sp_reissuecard_details = new List<Sp_Detail>();
|
|
|
+ sp_reissuecard_details = await _qiYeWeChatApiService.GetApprovalDetailsAsync(startDt, endDt, 2, 2); //时间段内所有 已同意的 打卡补卡 审批数据
|
|
|
+ if (sp_reissuecard_details.Count <= 0)
|
|
|
+ {
|
|
|
+ string errMsg = startDt + " - " + endDt + "打卡补卡 审批数据获取失败!";
|
|
|
+ return _result;
|
|
|
+ }
|
|
|
|
|
|
foreach (var pm_wsInfo in pm_WageSheetDattaSources)
|
|
|
{
|
|
@@ -95,6 +101,7 @@ namespace OASystem.API.OAMethodLib
|
|
|
|
|
|
//打卡数据
|
|
|
Data? checkInData = checkInDatas.Where(it => it.base_info.name == itemName).FirstOrDefault();
|
|
|
+
|
|
|
if (checkInData == null) { continue; }
|
|
|
string acctid = checkInData.base_info.acctid; //用户Id
|
|
|
|
|
@@ -161,176 +168,186 @@ namespace OASystem.API.OAMethodLib
|
|
|
|
|
|
#region 请假类型金额/餐补 处理
|
|
|
|
|
|
- List<Sp_Info> sp_leave_item_infosData = sp_leave_InfosData.Where(it => it.spname == "请假" && it.apply_name == itemName).ToList();
|
|
|
+ List<Sp_Detail> sp_leave_item_infosData = sp_leave_details.Where(it => it.applyer.userid == acctid).ToList();
|
|
|
|
|
|
List<Ex_Items> ex_Items = new List<Ex_Items>();//假勤 And 打卡备注集合
|
|
|
Ex_Items ex_Items_jq = new Ex_Items() { Type = "假勤" }; //假勤
|
|
|
List<Ex_Item> ex_ItemInfos = new List<Ex_Item>();
|
|
|
|
|
|
- foreach (Sp_Info sp_item in sp_leave_item_infosData)
|
|
|
+ foreach (Sp_Detail sp_item in sp_leave_item_infosData)
|
|
|
{
|
|
|
- Leave? sp_leave = sp_item.leave;
|
|
|
- if (sp_leave != null)
|
|
|
+ Apply_data? apply_data = sp_item.apply_data;
|
|
|
+ if (apply_data != null)
|
|
|
{
|
|
|
+ List<ContentsItem> contents = apply_data.contents;
|
|
|
+ ContentsItem content_Vacation = contents.Where(it => it.control== "Vacation").FirstOrDefault(); //请假类型
|
|
|
+ ContentsItem content_Textarea = contents.Where(it => it.control == "Textarea").FirstOrDefault(); //多行文本
|
|
|
|
|
|
- //请假时长
|
|
|
- double leaveLength = (sp_leave.end_time_dt - sp_leave.start_time_dt).TotalHours;
|
|
|
-
|
|
|
- string typeName = string.Empty;
|
|
|
- //leave_type 1年假;2事假;3病假;4调休假;5婚假;6产假;7陪产假;8其他
|
|
|
- switch (sp_leave.leave_type)
|
|
|
+ if (content_Vacation != null)
|
|
|
{
|
|
|
- case 1: //年假
|
|
|
- typeName = "年假";
|
|
|
- if (sp_leave.timeunit == 0) //半天
|
|
|
- {
|
|
|
- meal_deduction += 10;
|
|
|
- }
|
|
|
- else if (sp_leave.timeunit == 1) //小时
|
|
|
- {
|
|
|
- if (sp_leave.duration >= 3 && sp_leave.duration <= 7.5) //7.5小时 一天
|
|
|
- {
|
|
|
- meal_deduction += 10;
|
|
|
- }
|
|
|
- else if (sp_leave.duration > 7.5)
|
|
|
- {
|
|
|
- decimal daysPrice = Convert.ToDecimal(sp_leave.duration / 7.5 * 10);
|
|
|
- meal_deduction += daysPrice;
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case 2: //事假 需调整
|
|
|
- typeName = "事假";
|
|
|
- if (sp_leave.timeunit == 0) //半天
|
|
|
- {
|
|
|
- meal_deduction += 10;
|
|
|
- personalLeaveTotal += dailyWage / 2;
|
|
|
- }
|
|
|
- else if (sp_leave.timeunit == 1) //小时
|
|
|
- {
|
|
|
- if (sp_leave.duration >= 3 && sp_leave.duration <= 7.5) //7.5小时 一天
|
|
|
- {
|
|
|
- meal_deduction += 10;
|
|
|
- }
|
|
|
- else if (sp_leave.duration > 7.5)
|
|
|
- {
|
|
|
- decimal daysPrice = Convert.ToDecimal(sp_leave.duration / 7.5 * 10);
|
|
|
- meal_deduction += daysPrice;
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case 3: //病假 需调整
|
|
|
- typeName = "病假";
|
|
|
- if (sp_leave.timeunit == 0) //半天
|
|
|
- {
|
|
|
- meal_deduction += 10;
|
|
|
- sickLeaveTotal += sickLeave_deduction / 2;
|
|
|
- }
|
|
|
- else if (sp_leave.timeunit == 1) //小时
|
|
|
- {
|
|
|
- if (sp_leave.duration >= 3 && sp_leave.duration <= 7.5) //7.5小时 一天
|
|
|
- {
|
|
|
- meal_deduction += 10;
|
|
|
- }
|
|
|
- else if (sp_leave.duration > 7.5)
|
|
|
- {
|
|
|
- decimal daysPrice = Convert.ToDecimal(sp_leave.duration / 7.5 * 10);
|
|
|
- meal_deduction += daysPrice;
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case 4: //调休假
|
|
|
- typeName = "调休假";
|
|
|
- if (sp_leave.timeunit == 0) //半天
|
|
|
- {
|
|
|
- meal_deduction += 10;
|
|
|
- }
|
|
|
- else if (sp_leave.timeunit == 1) //小时
|
|
|
- {
|
|
|
- if (sp_leave.duration >= 3 && sp_leave.duration <= 7.5) //7.5小时 一天
|
|
|
- {
|
|
|
- meal_deduction += 10;
|
|
|
- }
|
|
|
- else if (sp_leave.duration > 7.5)
|
|
|
- {
|
|
|
- decimal daysPrice = Convert.ToDecimal(sp_leave.duration / 7.5 * 10);
|
|
|
- meal_deduction += daysPrice;
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case 5: //婚假
|
|
|
- typeName = "婚假";
|
|
|
- if (sp_leave.timeunit == 0) //半天
|
|
|
- {
|
|
|
- meal_deduction += 10;
|
|
|
- }
|
|
|
- else if (sp_leave.timeunit == 1) //小时
|
|
|
- {
|
|
|
- if (sp_leave.duration >= 3 && sp_leave.duration <= 7.5) //7.5小时 一天
|
|
|
- {
|
|
|
- meal_deduction += 10;
|
|
|
- }
|
|
|
- else if (sp_leave.duration > 7.5)
|
|
|
- {
|
|
|
- decimal daysPrice = Convert.ToDecimal(sp_leave.duration / 7.5 * 10);
|
|
|
- meal_deduction += daysPrice;
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case 6: //产假
|
|
|
- typeName = "产假";
|
|
|
- if (sp_leave.timeunit == 0) //半天
|
|
|
- {
|
|
|
- meal_deduction += 10;
|
|
|
- }
|
|
|
- else if (sp_leave.timeunit == 1) //小时
|
|
|
- {
|
|
|
- if (sp_leave.duration >= 3 && sp_leave.duration <= 7.5) //7.5小时 一天
|
|
|
- {
|
|
|
- meal_deduction += 10;
|
|
|
- }
|
|
|
- else if (sp_leave.duration > 7.5)
|
|
|
- {
|
|
|
- decimal daysPrice = Convert.ToDecimal(sp_leave.duration / 7.5 * 10);
|
|
|
- meal_deduction += daysPrice;
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case 7: //陪产假
|
|
|
- typeName = "陪产假";
|
|
|
- if (sp_leave.timeunit == 0) //半天
|
|
|
- {
|
|
|
- meal_deduction += 10;
|
|
|
- }
|
|
|
- else if (sp_leave.timeunit == 1) //小时
|
|
|
- {
|
|
|
- if (sp_leave.duration >= 3 && sp_leave.duration <= 7.5) //7.5小时 一天
|
|
|
- {
|
|
|
- meal_deduction += 10;
|
|
|
- }
|
|
|
- else if (sp_leave.duration > 7.5)
|
|
|
- {
|
|
|
- decimal daysPrice = Convert.ToDecimal(sp_leave.duration / 7.5 * 10);
|
|
|
- meal_deduction += daysPrice;
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
+ Vacation vacation = content_Vacation.value.vacation;
|
|
|
+ Attendance attendance = vacation.attendance; //假勤组件
|
|
|
+ Selector selector = vacation.selector; //请假类型
|
|
|
}
|
|
|
|
|
|
- Ex_Item ex_Item = new Ex_Item()
|
|
|
- {
|
|
|
- SubTypeId = sp_leave.leave_type,
|
|
|
- SubType = typeName,
|
|
|
- Start_time_dt = sp_leave.start_time_dt,
|
|
|
- End_time_dt = sp_leave.end_time_dt,
|
|
|
- Duration = sp_leave.duration,
|
|
|
- Reason = sp_leave.reason,
|
|
|
- Apply_time_dt = sp_item.apply_time_dt,
|
|
|
- Approval_name = sp_item.approval_name,
|
|
|
- };
|
|
|
- ex_ItemInfos.Add(ex_Item);
|
|
|
+ //请假时长
|
|
|
+ //double leaveLength = (sp_leave.end_time_dt - sp_leave.start_time_dt).TotalHours;
|
|
|
+
|
|
|
+ //string typeName = string.Empty;
|
|
|
+ ////leave_type 1年假;2事假;3病假;4调休假;5婚假;6产假;7陪产假;8其他
|
|
|
+ //switch (sp_leave.leave_type)
|
|
|
+ //{
|
|
|
+ // case 1: //年假
|
|
|
+ // typeName = "年假";
|
|
|
+ // if (sp_leave.timeunit == 0) //半天
|
|
|
+ // {
|
|
|
+ // meal_deduction += 10;
|
|
|
+ // }
|
|
|
+ // else if (sp_leave.timeunit == 1) //小时
|
|
|
+ // {
|
|
|
+ // if (sp_leave.duration >= 3 && sp_leave.duration <= 7.5) //7.5小时 一天
|
|
|
+ // {
|
|
|
+ // meal_deduction += 10;
|
|
|
+ // }
|
|
|
+ // else if (sp_leave.duration > 7.5)
|
|
|
+ // {
|
|
|
+ // decimal daysPrice = Convert.ToDecimal(sp_leave.duration / 7.5 * 10);
|
|
|
+ // meal_deduction += daysPrice;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // break;
|
|
|
+ // case 2: //事假 需调整
|
|
|
+ // typeName = "事假";
|
|
|
+ // if (sp_leave.timeunit == 0) //半天
|
|
|
+ // {
|
|
|
+ // meal_deduction += 10;
|
|
|
+ // personalLeaveTotal += dailyWage / 2;
|
|
|
+ // }
|
|
|
+ // else if (sp_leave.timeunit == 1) //小时
|
|
|
+ // {
|
|
|
+ // if (sp_leave.duration >= 3 && sp_leave.duration <= 7.5) //7.5小时 一天
|
|
|
+ // {
|
|
|
+ // meal_deduction += 10;
|
|
|
+ // }
|
|
|
+ // else if (sp_leave.duration > 7.5)
|
|
|
+ // {
|
|
|
+ // decimal daysPrice = Convert.ToDecimal(sp_leave.duration / 7.5 * 10);
|
|
|
+ // meal_deduction += daysPrice;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // break;
|
|
|
+ // case 3: //病假 需调整
|
|
|
+ // typeName = "病假";
|
|
|
+ // if (sp_leave.timeunit == 0) //半天
|
|
|
+ // {
|
|
|
+ // meal_deduction += 10;
|
|
|
+ // sickLeaveTotal += sickLeave_deduction / 2;
|
|
|
+ // }
|
|
|
+ // else if (sp_leave.timeunit == 1) //小时
|
|
|
+ // {
|
|
|
+ // if (sp_leave.duration >= 3 && sp_leave.duration <= 7.5) //7.5小时 一天
|
|
|
+ // {
|
|
|
+ // meal_deduction += 10;
|
|
|
+ // }
|
|
|
+ // else if (sp_leave.duration > 7.5)
|
|
|
+ // {
|
|
|
+ // decimal daysPrice = Convert.ToDecimal(sp_leave.duration / 7.5 * 10);
|
|
|
+ // meal_deduction += daysPrice;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // break;
|
|
|
+ // case 4: //调休假
|
|
|
+ // typeName = "调休假";
|
|
|
+ // if (sp_leave.timeunit == 0) //半天
|
|
|
+ // {
|
|
|
+ // meal_deduction += 10;
|
|
|
+ // }
|
|
|
+ // else if (sp_leave.timeunit == 1) //小时
|
|
|
+ // {
|
|
|
+ // if (sp_leave.duration >= 3 && sp_leave.duration <= 7.5) //7.5小时 一天
|
|
|
+ // {
|
|
|
+ // meal_deduction += 10;
|
|
|
+ // }
|
|
|
+ // else if (sp_leave.duration > 7.5)
|
|
|
+ // {
|
|
|
+ // decimal daysPrice = Convert.ToDecimal(sp_leave.duration / 7.5 * 10);
|
|
|
+ // meal_deduction += daysPrice;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // break;
|
|
|
+ // case 5: //婚假
|
|
|
+ // typeName = "婚假";
|
|
|
+ // if (sp_leave.timeunit == 0) //半天
|
|
|
+ // {
|
|
|
+ // meal_deduction += 10;
|
|
|
+ // }
|
|
|
+ // else if (sp_leave.timeunit == 1) //小时
|
|
|
+ // {
|
|
|
+ // if (sp_leave.duration >= 3 && sp_leave.duration <= 7.5) //7.5小时 一天
|
|
|
+ // {
|
|
|
+ // meal_deduction += 10;
|
|
|
+ // }
|
|
|
+ // else if (sp_leave.duration > 7.5)
|
|
|
+ // {
|
|
|
+ // decimal daysPrice = Convert.ToDecimal(sp_leave.duration / 7.5 * 10);
|
|
|
+ // meal_deduction += daysPrice;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // break;
|
|
|
+ // case 6: //产假
|
|
|
+ // typeName = "产假";
|
|
|
+ // if (sp_leave.timeunit == 0) //半天
|
|
|
+ // {
|
|
|
+ // meal_deduction += 10;
|
|
|
+ // }
|
|
|
+ // else if (sp_leave.timeunit == 1) //小时
|
|
|
+ // {
|
|
|
+ // if (sp_leave.duration >= 3 && sp_leave.duration <= 7.5) //7.5小时 一天
|
|
|
+ // {
|
|
|
+ // meal_deduction += 10;
|
|
|
+ // }
|
|
|
+ // else if (sp_leave.duration > 7.5)
|
|
|
+ // {
|
|
|
+ // decimal daysPrice = Convert.ToDecimal(sp_leave.duration / 7.5 * 10);
|
|
|
+ // meal_deduction += daysPrice;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // break;
|
|
|
+ // case 7: //陪产假
|
|
|
+ // typeName = "陪产假";
|
|
|
+ // if (sp_leave.timeunit == 0) //半天
|
|
|
+ // {
|
|
|
+ // meal_deduction += 10;
|
|
|
+ // }
|
|
|
+ // else if (sp_leave.timeunit == 1) //小时
|
|
|
+ // {
|
|
|
+ // if (sp_leave.duration >= 3 && sp_leave.duration <= 7.5) //7.5小时 一天
|
|
|
+ // {
|
|
|
+ // meal_deduction += 10;
|
|
|
+ // }
|
|
|
+ // else if (sp_leave.duration > 7.5)
|
|
|
+ // {
|
|
|
+ // decimal daysPrice = Convert.ToDecimal(sp_leave.duration / 7.5 * 10);
|
|
|
+ // meal_deduction += daysPrice;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // break;
|
|
|
+ // default:
|
|
|
+ // break;
|
|
|
+ //}
|
|
|
+
|
|
|
+ //Ex_Item ex_Item = new Ex_Item()
|
|
|
+ //{
|
|
|
+ // SubTypeId = sp_leave.leave_type,
|
|
|
+ // SubType = typeName,
|
|
|
+ // Start_time_dt = sp_leave.start_time_dt,
|
|
|
+ // End_time_dt = sp_leave.end_time_dt,
|
|
|
+ // Duration = sp_leave.duration,
|
|
|
+ // Reason = sp_leave.reason,
|
|
|
+ // Apply_time_dt = sp_item.apply_time_dt,
|
|
|
+ // Approval_name = sp_item.approval_name,
|
|
|
+ //};
|
|
|
+ //ex_ItemInfos.Add(ex_Item);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -361,7 +378,7 @@ namespace OASystem.API.OAMethodLib
|
|
|
Ex_Items ex_Items_dk = new Ex_Items() { Type = "打卡" }; //打卡
|
|
|
//List<Ex_Item> ex_reissuecard_Items = new List<Ex_Item>();
|
|
|
List<dynamic> ex_reissuecard_Items = new List<dynamic>();
|
|
|
- List<Sp_Info> sp_reissuecard_item_InfosData = sp_reissuecard_InfosData.Where(it => it.apply_name == itemName).ToList();
|
|
|
+ List<Sp_Detail> sp_reissuecard_item_InfosData = sp_reissuecard_details.Where(it => it.applyer.userid == acctid).ToList();
|
|
|
|
|
|
#region 打卡异常处理 统计 1-迟到;2-早退;3-缺卡;4-旷工;5-地点异常;6-设备异常;
|
|
|
|
|
@@ -386,123 +403,123 @@ namespace OASystem.API.OAMethodLib
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- foreach (Sp_Info sp_reissuecard_item in sp_reissuecard_item_InfosData)
|
|
|
- {
|
|
|
- DateTime apply_time_dt = sp_reissuecard_item.apply_time_dt; //申请时间
|
|
|
- List<string>? approval_name = sp_reissuecard_item.approval_name; //审核人
|
|
|
-
|
|
|
- Comm sp_comm = sp_reissuecard_item.comm;
|
|
|
- if (sp_comm != null)
|
|
|
- {
|
|
|
- if (sp_comm.applydata != null)
|
|
|
- {
|
|
|
- List<ApplyInfo> applyInfos = sp_comm.applydata;
|
|
|
- if (applyInfos.Count > 0)
|
|
|
- {
|
|
|
- //Ex_Item ex_reissuecard_Item = new Ex_Item();
|
|
|
- dynamic ex_reissuecard_Item = null;
|
|
|
- string text = applyInfos.Where(it => it.type == "text").FirstOrDefault().value.ToString(); //异常状态
|
|
|
- DateTime? datehour = applyInfos.Where(it => it.type == "datehour").FirstOrDefault().valueDt;//补卡时间
|
|
|
- string textarea = applyInfos.Where(it => it.type == "textarea").FirstOrDefault().value.ToString();//补卡事由
|
|
|
- if (text.Contains("未打卡"))
|
|
|
- {
|
|
|
- ex_reissuecard_Item = new
|
|
|
- {
|
|
|
- SubTypeId = 0,
|
|
|
- SubType = "未打卡",
|
|
|
- title = text,
|
|
|
- datehour = datehour == null ? "" : Convert.ToDateTime(datehour).ToString("yyyy-MM-dd HH:mm:ss"),
|
|
|
- textarea = textarea,
|
|
|
- apply_time_dt = apply_time_dt,
|
|
|
- approval_name = approval_name
|
|
|
- };
|
|
|
- }
|
|
|
- else if (text.Contains("迟到"))
|
|
|
- {
|
|
|
- ex_reissuecard_Item = new
|
|
|
- {
|
|
|
- SubTypeId = 1,
|
|
|
- SubType = "迟到",
|
|
|
- title = text,
|
|
|
- datehour = datehour == null ? "" : Convert.ToDateTime(datehour).ToString("yyyy-MM-dd HH:mm:ss"),
|
|
|
- textarea = textarea,
|
|
|
- apply_time_dt = apply_time_dt,
|
|
|
- approval_name = approval_name
|
|
|
- };
|
|
|
- }
|
|
|
- else if (text.Contains("早退"))
|
|
|
- {
|
|
|
- ex_reissuecard_Item = new
|
|
|
- {
|
|
|
- SubTypeId = 2,
|
|
|
- SubType = "早退",
|
|
|
- title = text,
|
|
|
- datehour = datehour == null ? "" : Convert.ToDateTime(datehour).ToString("yyyy-MM-dd HH:mm:ss"),
|
|
|
- textarea = textarea,
|
|
|
- apply_time_dt = apply_time_dt,
|
|
|
- approval_name = approval_name
|
|
|
- };
|
|
|
- }
|
|
|
- else if (text.Contains("缺卡"))
|
|
|
- {
|
|
|
- ex_reissuecard_Item = new
|
|
|
- {
|
|
|
- SubTypeId = 3,
|
|
|
- SubType = "缺卡",
|
|
|
- title = text,
|
|
|
- datehour = datehour == null ? "" : Convert.ToDateTime(datehour).ToString("yyyy-MM-dd HH:mm:ss"),
|
|
|
- textarea = textarea,
|
|
|
- apply_time_dt = apply_time_dt,
|
|
|
- approval_name = approval_name
|
|
|
- };
|
|
|
- }
|
|
|
- else if (text.Contains("旷工"))
|
|
|
- {
|
|
|
- ex_reissuecard_Item = new
|
|
|
- {
|
|
|
- SubTypeId = 4,
|
|
|
- SubType = "旷工",
|
|
|
- title = text,
|
|
|
- datehour = datehour == null ? "" : Convert.ToDateTime(datehour).ToString("yyyy-MM-dd HH:mm:ss"),
|
|
|
- textarea = textarea,
|
|
|
- apply_time_dt = apply_time_dt,
|
|
|
- approval_name = approval_name
|
|
|
- };
|
|
|
- }
|
|
|
- else if (text.Contains("地点异常"))
|
|
|
- {
|
|
|
- ex_reissuecard_Item = new
|
|
|
- {
|
|
|
- SubTypeId = 5,
|
|
|
- SubType = "地点异常",
|
|
|
- title = text,
|
|
|
- datehour = datehour == null ? "" : Convert.ToDateTime(datehour).ToString("yyyy-MM-dd HH:mm:ss"),
|
|
|
- textarea = textarea,
|
|
|
- apply_time_dt = apply_time_dt,
|
|
|
- approval_name = approval_name
|
|
|
- };
|
|
|
- }
|
|
|
- else if (text.Contains("设备异常"))
|
|
|
- {
|
|
|
- ex_reissuecard_Item = new
|
|
|
- {
|
|
|
- SubTypeId = 6,
|
|
|
- SubType = "设备异常",
|
|
|
- title = text,
|
|
|
- datehour = datehour == null ? "" : Convert.ToDateTime(datehour).ToString("yyyy-MM-dd HH:mm:ss"),
|
|
|
- textarea = textarea,
|
|
|
- apply_time_dt = apply_time_dt,
|
|
|
- approval_name = approval_name
|
|
|
- };
|
|
|
- }
|
|
|
- if (ex_reissuecard_Item != null)
|
|
|
- {
|
|
|
- ex_reissuecard_Items.Add(ex_reissuecard_Item);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ //foreach (Sp_Info sp_reissuecard_item in sp_reissuecard_item_InfosData)
|
|
|
+ //{
|
|
|
+ // DateTime apply_time_dt = sp_reissuecard_item.apply_time_dt; //申请时间
|
|
|
+ // List<string>? approval_name = sp_reissuecard_item.approval_name; //审核人
|
|
|
+
|
|
|
+ // Comm sp_comm = sp_reissuecard_item.comm;
|
|
|
+ // if (sp_comm != null)
|
|
|
+ // {
|
|
|
+ // if (sp_comm.applydata != null)
|
|
|
+ // {
|
|
|
+ // List<ApplyInfo> applyInfos = sp_comm.applydata;
|
|
|
+ // if (applyInfos.Count > 0)
|
|
|
+ // {
|
|
|
+ // //Ex_Item ex_reissuecard_Item = new Ex_Item();
|
|
|
+ // dynamic ex_reissuecard_Item = null;
|
|
|
+ // string text = applyInfos.Where(it => it.type == "text").FirstOrDefault().value.ToString(); //异常状态
|
|
|
+ // DateTime? datehour = applyInfos.Where(it => it.type == "datehour").FirstOrDefault().valueDt;//补卡时间
|
|
|
+ // string textarea = applyInfos.Where(it => it.type == "textarea").FirstOrDefault().value.ToString();//补卡事由
|
|
|
+ // if (text.Contains("未打卡"))
|
|
|
+ // {
|
|
|
+ // ex_reissuecard_Item = new
|
|
|
+ // {
|
|
|
+ // SubTypeId = 0,
|
|
|
+ // SubType = "未打卡",
|
|
|
+ // title = text,
|
|
|
+ // datehour = datehour == null ? "" : Convert.ToDateTime(datehour).ToString("yyyy-MM-dd HH:mm:ss"),
|
|
|
+ // textarea = textarea,
|
|
|
+ // apply_time_dt = apply_time_dt,
|
|
|
+ // approval_name = approval_name
|
|
|
+ // };
|
|
|
+ // }
|
|
|
+ // else if (text.Contains("迟到"))
|
|
|
+ // {
|
|
|
+ // ex_reissuecard_Item = new
|
|
|
+ // {
|
|
|
+ // SubTypeId = 1,
|
|
|
+ // SubType = "迟到",
|
|
|
+ // title = text,
|
|
|
+ // datehour = datehour == null ? "" : Convert.ToDateTime(datehour).ToString("yyyy-MM-dd HH:mm:ss"),
|
|
|
+ // textarea = textarea,
|
|
|
+ // apply_time_dt = apply_time_dt,
|
|
|
+ // approval_name = approval_name
|
|
|
+ // };
|
|
|
+ // }
|
|
|
+ // else if (text.Contains("早退"))
|
|
|
+ // {
|
|
|
+ // ex_reissuecard_Item = new
|
|
|
+ // {
|
|
|
+ // SubTypeId = 2,
|
|
|
+ // SubType = "早退",
|
|
|
+ // title = text,
|
|
|
+ // datehour = datehour == null ? "" : Convert.ToDateTime(datehour).ToString("yyyy-MM-dd HH:mm:ss"),
|
|
|
+ // textarea = textarea,
|
|
|
+ // apply_time_dt = apply_time_dt,
|
|
|
+ // approval_name = approval_name
|
|
|
+ // };
|
|
|
+ // }
|
|
|
+ // else if (text.Contains("缺卡"))
|
|
|
+ // {
|
|
|
+ // ex_reissuecard_Item = new
|
|
|
+ // {
|
|
|
+ // SubTypeId = 3,
|
|
|
+ // SubType = "缺卡",
|
|
|
+ // title = text,
|
|
|
+ // datehour = datehour == null ? "" : Convert.ToDateTime(datehour).ToString("yyyy-MM-dd HH:mm:ss"),
|
|
|
+ // textarea = textarea,
|
|
|
+ // apply_time_dt = apply_time_dt,
|
|
|
+ // approval_name = approval_name
|
|
|
+ // };
|
|
|
+ // }
|
|
|
+ // else if (text.Contains("旷工"))
|
|
|
+ // {
|
|
|
+ // ex_reissuecard_Item = new
|
|
|
+ // {
|
|
|
+ // SubTypeId = 4,
|
|
|
+ // SubType = "旷工",
|
|
|
+ // title = text,
|
|
|
+ // datehour = datehour == null ? "" : Convert.ToDateTime(datehour).ToString("yyyy-MM-dd HH:mm:ss"),
|
|
|
+ // textarea = textarea,
|
|
|
+ // apply_time_dt = apply_time_dt,
|
|
|
+ // approval_name = approval_name
|
|
|
+ // };
|
|
|
+ // }
|
|
|
+ // else if (text.Contains("地点异常"))
|
|
|
+ // {
|
|
|
+ // ex_reissuecard_Item = new
|
|
|
+ // {
|
|
|
+ // SubTypeId = 5,
|
|
|
+ // SubType = "地点异常",
|
|
|
+ // title = text,
|
|
|
+ // datehour = datehour == null ? "" : Convert.ToDateTime(datehour).ToString("yyyy-MM-dd HH:mm:ss"),
|
|
|
+ // textarea = textarea,
|
|
|
+ // apply_time_dt = apply_time_dt,
|
|
|
+ // approval_name = approval_name
|
|
|
+ // };
|
|
|
+ // }
|
|
|
+ // else if (text.Contains("设备异常"))
|
|
|
+ // {
|
|
|
+ // ex_reissuecard_Item = new
|
|
|
+ // {
|
|
|
+ // SubTypeId = 6,
|
|
|
+ // SubType = "设备异常",
|
|
|
+ // title = text,
|
|
|
+ // datehour = datehour == null ? "" : Convert.ToDateTime(datehour).ToString("yyyy-MM-dd HH:mm:ss"),
|
|
|
+ // textarea = textarea,
|
|
|
+ // apply_time_dt = apply_time_dt,
|
|
|
+ // approval_name = approval_name
|
|
|
+ // };
|
|
|
+ // }
|
|
|
+ // if (ex_reissuecard_Item != null)
|
|
|
+ // {
|
|
|
+ // ex_reissuecard_Items.Add(ex_reissuecard_Item);
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ //}
|
|
|
|
|
|
if (ex_reissuecard_Items.Count > 0)
|
|
|
{
|