@@ -474,7 +474,7 @@ public class TaskServiceImpl implements ITaskService {
}
@Override
public SdmResponse countByStatus ( SpdmTaskLis tReq req ) {
public SdmResponse countByStatus ( SpdmTaskCoun tReq req ) {
String tenantId = ThreadLocalContext . getCompany ( ) ;
// String jobNumber = ThreadLocalContext.getCommonHeader().getJobNumber();
Long userId = ThreadLocalContext . getUserId ( ) ;
@@ -485,10 +485,12 @@ public class TaskServiceImpl implements ITaskService {
// 0: 我执行的 1: 我关注的 2: 所有 3: 我分发的
Integer type = req . getType ( ) ;
List < SpdmTaskVo > allTaskList = mapper . getTaskList ( tenantId , req ) ;
SpdmTaskListReq qry = new SpdmTaskListReq ( ) ;
BeanUtils . copyProperties ( req , qry ) ;
List < SpdmTaskVo > allTaskList = mapper . getTaskList ( tenantId , qry ) ;
// 今明任务
req . setTodayTmrTasks ( ProjectConstants . TODAY_TMR_TASKS ) ;
List < SpdmTaskVo > todayTmrTaskList = mapper . getTaskList ( tenantId , req ) ;
List < SpdmTaskVo > todayTmrTaskList = mapper . getTaskList ( tenantId , qry ) ;
if ( CollectionUtils . isEmpty ( allTaskList ) ) {
log . error ( " 根据tenantId: {},未查询到任务 " , tenantId ) ;
return SdmResponse . success ( new ArrayList < > ( ) ) ;
@@ -530,64 +532,58 @@ public class TaskServiceImpl implements ITaskService {
// 根据负责人信息过滤任务
taskList = taskList . stream ( ) . filter ( task - > realTaskIdList . contains ( task . getUuid ( ) ) ) . toList ( ) ;
countTask ( taskList , todayTmrTaskList , taskCountResp ) ;
if ( type = = 0 ) {
// 仿真执行人是当前用户
if ( CollectionUtils . isNotEmpty ( taskMemberVoList ) ) {
SdmResponse < CIDUserResp > cidUserResp = sysUserFeignClient . queryUserDetail ( UserQueryReq . builder ( ) . userId ( userId ) . build ( ) ) ;
if ( ObjectUtils . isEmpty ( cidUserResp . getData ( ) ) ) {
log . error ( " 根据jobNumber: {},未查询到用户 " , userId ) ;
return SdmResponse . success ( new ArrayList < > ( ) ) ;
}
taskMemberVoList = taskMemberVoList . stream ( ) . filter ( taskMember - > MemberTypeEnum . EXECUTOR . getCode ( ) . equals ( taskMember . getType ( ) ) & & userId . equals ( taskMember . getUserId ( ) ) ) . toList ( ) ;
if ( CollectionUtils . isEmpty ( taskMemberVoList ) ) {
log . error ( " 任务列表中未查询到仿真执行人 " ) ;
return SdmResponse . success ( new ArrayList < > ( ) ) ;
}
List < String > myTaskIdList = taskMemberVoList . stream ( ) . map ( SpdmTaskMemberVo : : getTaskId ) . toList ( ) ;
taskList = taskList . stream ( ) . filter ( task - > myTaskIdList . contains ( task . getUuid ( ) ) ) . toList ( ) ;
countTask ( taskList , todayTmrTaskList , taskCountResp ) ;
}
} else if ( type = = 3 ) {
// 仿真负责人是当前用户
if ( CollectionUtils . isNotEmpty ( taskMemberVoList ) ) {
SdmResponse < CIDUserResp > cidUserResp = sysUserFeignClient . queryUserDetail ( UserQueryReq . builder ( ) . userId ( userId ) . build ( ) ) ;
if ( ObjectUtils . isEmpty ( cidUserResp . getData ( ) ) ) {
log . error ( " 根据jobNumber: {},未查询到用户 " , userId ) ;
return SdmResponse . success ( new ArrayList < > ( ) ) ;
}
taskMemberVoList = taskMemberVoList . stream ( ) . filter ( taskMember - > MemberTypeEnum . PRINCIPAL . getCode ( ) . equals ( taskMember . getType ( ) ) & & userId . equals ( taskMember . getUserId ( ) ) ) . toList ( ) ;
if ( CollectionUtils . isEmpty ( taskMemberVoList ) ) {
log . error ( " 任务列表中未查询到仿真负责人 " ) ;
return SdmResponse . success ( new ArrayList < > ( ) ) ;
}
List < String > myTaskIdList = taskMemberVoList . stream ( ) . map ( SpdmTaskMemberVo : : getTaskId ) . toList ( ) ;
taskList = taskList . stream ( ) . filter ( task - > myTaskIdList . contains ( task . getUuid ( ) ) ) . toList ( ) ;
countTask ( taskList , todayTmrTaskList , taskCountResp ) ;
}
if ( type = = 2 ) {
// 所有任务
countTask ( taskList , todayTmrTaskList , taskCountResp ) ;
} else {
// 我分发的、我执行的、我关注的 需要查询当前登陆人信息
SdmResponse < CIDUserResp > cidUserResp = sysUserFeignClient . queryUserDetail ( UserQueryReq . builder ( ) . userId ( userId ) . build ( ) ) ;
if ( ObjectUtils . isEmpty ( cidUserResp . getData ( ) ) ) {
log . error ( " 根据jobNumber: {},未查询到用户 " , userId ) ;
return SdmResponse . success ( new ArrayList < > ( ) ) ;
}
CIDUserResp cidUser = cidUserResp . getData ( ) ;
List < SpdmTaskAttentionMemberVo > taskAttentionMemberVoList = mapper . getAttentionMemberList ( taskIdList ) ;
if ( CollectionUtils . isEmpty ( taskAttention MemberVoList ) ) {
log . error ( " 未查询到关注人 " ) ;
return SdmResponse . success ( new ArrayList < > ( ) ) ;
if ( type = = 0 ) {
// 仿真执行人是当前用户
if ( CollectionUtils . isNot Empty ( taskMemberVoList ) ) {
taskMemberVoList = taskMemberVoList . stream ( ) . filter ( taskMember - > MemberTypeEnum . EXECUTOR . getCode ( ) . equals ( taskMember . getType ( ) ) & & userId . equals ( taskMember . getUserId ( ) ) ) . toList ( ) ;
if ( CollectionUtils . isEmpty ( taskMemberVoList ) ) {
log . error ( " 任务列表中未查询到仿真执行人 " ) ;
return SdmResponse . success ( new ArrayList < > ( ) ) ;
}
List < String > myTaskIdList = taskMemberVoList . stream ( ) . map ( SpdmTaskMemberVo : : getTaskId ) . toList ( ) ;
taskList = taskList . stream ( ) . filter ( task - > myTaskIdList . contains ( task . getUuid ( ) ) ) . toList ( ) ;
countTask ( taskList , todayTmrTaskList , taskCountResp ) ;
}
} else if ( type = = 3 ) {
// 仿真负责人是当前用户
if ( CollectionUtils . isNotEmpty ( taskMemberVoList ) ) {
taskMemberVoList = taskMemberVoList . stream ( ) . filter ( taskMember - > MemberTypeEnum . PRINCIPAL . getCode ( ) . equals ( taskMember . getType ( ) ) & & userId . equals ( taskMember . getUserId ( ) ) ) . toList ( ) ;
if ( CollectionUtils . isEmpty ( taskMemberVoList ) ) {
log . error ( " 任务列表中未查询到仿真负责人 " ) ;
return SdmResponse . success ( new ArrayList < > ( ) ) ;
}
List < String > myTaskIdList = taskMemberVoList . stream ( ) . map ( SpdmTaskMemberVo : : getTaskId ) . toList ( ) ;
taskList = taskList . stream ( ) . filter ( task - > myTaskIdList . contains ( task . getUuid ( ) ) ) . toList ( ) ;
countTask ( taskList , todayTmrTaskList , taskCountResp ) ;
}
} else {
CIDUserResp cidUser = cidUserResp . getData ( ) ;
List < SpdmTaskAttentionMemberVo > taskAttentionMemberVoList = mapper . getAttentionMemberList ( taskIdList ) ;
if ( CollectionUtils . isEmpty ( taskAttentionMemberVoList ) ) {
log . error ( " 未查询到关注人 " ) ;
return SdmResponse . success ( new ArrayList < > ( ) ) ;
}
// 当前用户的主键id
Long curUserId = cidUser . getUserId ( ) ;
taskAttentionMemberVoList = taskAttentionMemberVoList . stream ( ) . filter ( member - > curUserId . equals ( member . getUserId ( ) ) ) . toList ( ) ;
if ( CollectionUtils . isEmpty ( taskAttentionMemberVoList ) ) {
log . error ( " 任务列表中未查询到仿真执行人3 " ) ;
return SdmResponse . success ( new ArrayList < > ( ) ) ;
}
List < String > myTaskIdList = taskAttentionMemberVoList . stream ( ) . map ( SpdmTaskAttentionMemberVo : : getTaskId ) . toList ( ) ;
taskList = taskList . stream ( ) . filter ( task - > myTaskIdList . contains ( task . getUuid ( ) ) ) . toList ( ) ;
countTask ( taskList , todayTmrTaskList , taskCountResp ) ;
}
// 当前用户的主键id
Long curUserId = cidUser . getUserId ( ) ;
taskAttentionMemberVoList = taskAttentionMemberVoList . stream ( ) . filter ( member - > curUserId . equals ( member . getUserId ( ) ) ) . toList ( ) ;
if ( CollectionUtils . isEmpty ( taskAttentionMemberVoList ) ) {
log . error ( " 任务列表中未查询到仿真执行人3 " ) ;
return SdmResponse . success ( new ArrayList < > ( ) ) ;
}
List < String > myTaskIdList = taskAttentionMemberVoList . stream ( ) . map ( SpdmTaskAttentionMemberVo : : getTaskId ) . toList ( ) ;
taskList = taskList . stream ( ) . filter ( task - > myTaskIdList . contains ( task . getUuid ( ) ) ) . toList ( ) ;
countTask ( taskList , todayTmrTaskList , taskCountResp ) ;
}
return SdmResponse . success ( taskCountResp ) ;
}