|
|
@@ -2900,8 +2900,7 @@ OPTION (MAXRECURSION 0); -- 允许无限递归 ";
|
|
|
return Ok(jw);
|
|
|
}
|
|
|
|
|
|
- //获取企微外出申请信息
|
|
|
- var approval_data = await _qiYeWeChatApiService.GetApprovalInfoUpdateAsync(start, end, newCursor: "", size: 100, filters: new List<IQiYeWeChatApiService.FilterCondition>(){
|
|
|
+ var filters = new List<IQiYeWeChatApiService.FilterCondition>(){
|
|
|
new
|
|
|
IQiYeWeChatApiService.FilterCondition{
|
|
|
key = "creator",
|
|
|
@@ -2915,15 +2914,17 @@ OPTION (MAXRECURSION 0); -- 允许无限递归 ";
|
|
|
key="sp_status",
|
|
|
value="2"
|
|
|
}
|
|
|
- });
|
|
|
+ };
|
|
|
+
|
|
|
+ //获取企微外出申请信息
|
|
|
+ var approval_data = await _qiYeWeChatApiService.GetApprovalInfoUpdateAsync(start, end, newCursor: "", size: 100, filters: filters);
|
|
|
if (approval_data.errcode != 0)
|
|
|
{
|
|
|
jw.Msg = "获取企微外出申请信息失败!" + approval_data.errmsg;
|
|
|
return Ok(jw);
|
|
|
}
|
|
|
|
|
|
- //获取企微出差申请信息
|
|
|
- var approval_data_waichu = await _qiYeWeChatApiService.GetApprovalInfoUpdateAsync(start, end, newCursor: "", size: 100, filters: new List<IQiYeWeChatApiService.FilterCondition>(){
|
|
|
+ var chucai_filters = new List<IQiYeWeChatApiService.FilterCondition>(){
|
|
|
new
|
|
|
IQiYeWeChatApiService.FilterCondition{
|
|
|
key = "creator",
|
|
|
@@ -2937,7 +2938,10 @@ OPTION (MAXRECURSION 0); -- 允许无限递归 ";
|
|
|
key="sp_status",
|
|
|
value="2"
|
|
|
}
|
|
|
- });
|
|
|
+ };
|
|
|
+
|
|
|
+ //获取企微出差申请信息
|
|
|
+ var approval_data_waichu = await _qiYeWeChatApiService.GetApprovalInfoUpdateAsync(start, end, newCursor: "", size: 100, filters: chucai_filters);
|
|
|
if (approval_data_waichu.errcode != 0)
|
|
|
{
|
|
|
jw.Msg = "获取企微出差申请信息失败!" + approval_data_waichu.errmsg;
|
|
|
@@ -3004,7 +3008,7 @@ OPTION (MAXRECURSION 0); -- 允许无限递归 ";
|
|
|
return Ok(jw);
|
|
|
}
|
|
|
|
|
|
- var kaoqinResp = await GetKaoqinAnalysisAsync(user_entity, start, end, jw, "Ai分析用户考勤", detailViews);
|
|
|
+ var kaoqinResp = await GetKaoqinAnalysisAsync(user_entity, start, end, jw, "Ai分析用户考勤");
|
|
|
if (string.IsNullOrEmpty(kaoqinResp))
|
|
|
{
|
|
|
return Ok(jw);
|
|
|
@@ -3281,7 +3285,7 @@ OPTION (MAXRECURSION 0); -- 允许无限递归 ";
|
|
|
/// <param name="errorMessagePrefix">错误消息前缀(用于区分不同的分析类型)</param>
|
|
|
/// <param name="ApprovalDetailList">审批详情列表</param>
|
|
|
/// <returns>考勤分析结果,失败时返回null</returns>
|
|
|
- private async Task<string> GetKaoqinAnalysisAsync(Sys_Users user_entity, DateTime start, DateTime end, JsonView jw, string errorMessagePrefix = "Ai分析用户绩效", List<ApprovalDetailView> ApprovalDetailList = null)
|
|
|
+ private async Task<string> GetKaoqinAnalysisAsync(Sys_Users user_entity, DateTime start, DateTime end, JsonView jw, string errorMessagePrefix = "Ai分析用户绩效")
|
|
|
{
|
|
|
List<string> useridlist = new List<string> { user_entity.QiyeChatUserId };
|
|
|
var checkin_data = await _qiYeWeChatApiService.GetCheckinDataAsync(useridlist, 1, start, end);
|
|
|
@@ -3291,56 +3295,80 @@ OPTION (MAXRECURSION 0); -- 允许无限递归 ";
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
+ List<ApprovalDetailView> ApprovalDetailList = new List<ApprovalDetailView>();
|
|
|
+
|
|
|
//添加外出申请信息
|
|
|
- if (ApprovalDetailList == null || ApprovalDetailList.Count == 0)
|
|
|
+ if (true)
|
|
|
{
|
|
|
- ApprovalDetailList = new List<ApprovalDetailView>();
|
|
|
+ var filters = new List<IQiYeWeChatApiService.FilterCondition>(){
|
|
|
+ new
|
|
|
+ IQiYeWeChatApiService.FilterCondition{
|
|
|
+ key = "creator",
|
|
|
+ value = user_entity.QiyeChatUserId
|
|
|
+ },
|
|
|
+ new IQiYeWeChatApiService.FilterCondition{
|
|
|
+ key="record_type",
|
|
|
+ value="4"
|
|
|
+ },
|
|
|
+ new IQiYeWeChatApiService.FilterCondition{
|
|
|
+ key="sp_status",
|
|
|
+ value="2"
|
|
|
+ }
|
|
|
+ };
|
|
|
|
|
|
//获取企微外出申请信息
|
|
|
- var approval_data = await _qiYeWeChatApiService.GetApprovalInfoUpdateAsync(start, end, newCursor: "", size: 100, filters: new List<IQiYeWeChatApiService.FilterCondition>(){
|
|
|
- new IQiYeWeChatApiService.FilterCondition{
|
|
|
- key = "creator",
|
|
|
- value = user_entity.QiyeChatUserId
|
|
|
- },
|
|
|
- new IQiYeWeChatApiService.FilterCondition{
|
|
|
- key="record_type",
|
|
|
- value="4"
|
|
|
- },
|
|
|
- new IQiYeWeChatApiService.FilterCondition{
|
|
|
- key="sp_status",
|
|
|
- value="2"
|
|
|
- }
|
|
|
- });
|
|
|
+ var approval_data = await _qiYeWeChatApiService.GetApprovalInfoUpdateAsync(start, end, newCursor: "", size: 100, filters: filters);
|
|
|
if (approval_data.errcode != 0)
|
|
|
{
|
|
|
jw.Msg = "获取企微外出申请信息失败!" + approval_data.errmsg;
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
+ //获取上月企微外出申请信息
|
|
|
+ var approval_data_upMonth = await _qiYeWeChatApiService.GetApprovalInfoUpdateAsync(start.AddMonths(-1), start, newCursor: "", size: 100, filters: filters);
|
|
|
+ if (approval_data_upMonth.errcode != 0)
|
|
|
+ {
|
|
|
+ jw.Msg = "获取企微上月外出申请信息失败!" + approval_data_upMonth.errmsg;
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ var chucai_filters = new List<IQiYeWeChatApiService.FilterCondition>(){
|
|
|
+ new
|
|
|
+ IQiYeWeChatApiService.FilterCondition{
|
|
|
+ key = "creator",
|
|
|
+ value = user_entity.QiyeChatUserId
|
|
|
+ },
|
|
|
+ new IQiYeWeChatApiService.FilterCondition{
|
|
|
+ key="record_type",
|
|
|
+ value="3"
|
|
|
+ },
|
|
|
+ new IQiYeWeChatApiService.FilterCondition{
|
|
|
+ key="sp_status",
|
|
|
+ value="2"
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
//获取企微出差申请信息
|
|
|
- var approval_data_waichu = await _qiYeWeChatApiService.GetApprovalInfoUpdateAsync(start, end, newCursor: "", size: 100, filters: new List<IQiYeWeChatApiService.FilterCondition>(){
|
|
|
- new
|
|
|
- IQiYeWeChatApiService.FilterCondition{
|
|
|
- key = "creator",
|
|
|
- value = user_entity.QiyeChatUserId
|
|
|
- },
|
|
|
- new IQiYeWeChatApiService.FilterCondition{
|
|
|
- key="record_type",
|
|
|
- value="3"
|
|
|
- },
|
|
|
- new IQiYeWeChatApiService.FilterCondition{
|
|
|
- key="sp_status",
|
|
|
- value="2"
|
|
|
- }
|
|
|
- });
|
|
|
+ var approval_data_waichu = await _qiYeWeChatApiService.GetApprovalInfoUpdateAsync(start, end, newCursor: "", size: 100, filters: chucai_filters);
|
|
|
if (approval_data_waichu.errcode != 0)
|
|
|
{
|
|
|
jw.Msg = "获取企微出差申请信息失败!" + approval_data_waichu.errmsg;
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
+ //获取上月企微出差申请信息
|
|
|
+ var approval_data_waichu_upMonth = await _qiYeWeChatApiService.GetApprovalInfoUpdateAsync(start.AddMonths(-1), start, newCursor: "", size: 100, filters: chucai_filters);
|
|
|
+ if (approval_data_waichu_upMonth.errcode != 0)
|
|
|
+ {
|
|
|
+ jw.Msg = "获取企微出差申请信息失败!" + approval_data_waichu_upMonth.errmsg;
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
//合并外出出差
|
|
|
approval_data.sp_no_list.AddRange(approval_data_waichu.sp_no_list);
|
|
|
+ approval_data_upMonth.sp_no_list.AddRange(approval_data_waichu_upMonth.sp_no_list);
|
|
|
+ approval_data.sp_no_list.AddRange(approval_data_upMonth.sp_no_list);
|
|
|
+ approval_data.sp_no_list = approval_data.sp_no_list.Distinct().ToList();
|
|
|
|
|
|
foreach (var item in approval_data.sp_no_list)
|
|
|
{
|