@@ -86,12 +86,9 @@ public class TaskServiceImpl implements ITaskService {
log . error ( " 公司和工号都不能为空 " ) ;
return SdmResponse . failed ( " 公司和工号都不能为空 " ) ;
}
// 0: 我执行的 1: 我关注的 2: 所有
// 0: 我执行的 1: 我关注的 2: 所有 3: 我分发的
Integer type = req . getType ( ) ;
if ( type ! = 0 & & type ! = 1 & & type ! = 2 ) {
log . error ( " type必须为0或1或2 " ) ;
return SdmResponse . failed ( " 公司和工号都不能为空 " ) ;
}
if ( StringUtils . isNotBlank ( req . getExeStatus ( ) ) ) {
req . setExeStatusList ( Arrays . stream ( req . getExeStatus ( ) . split ( " , " ) ) . toList ( ) ) ;
}
@@ -246,12 +243,10 @@ public class TaskServiceImpl implements ITaskService {
}
// task.setPMemberList(eachMemberList.stream().filter(member -> MemberTypeEnum.PRINCIPAL.getCode().equals(member.getType())).toList());
// task.setEMemberList(eachMemberList.stream().filter(member -> MemberTypeEnum.EXECUTOR.getCode().equals(member.getType())).toList());
List < Long > pUserIdList = eachMemberList . stream ( ) . filter ( member - > MemberTypeEnum . PRINCIPAL . getCode ( ) . equals ( member . getType ( ) ) ) . map ( SpdmTaskMemberVo : : getUserId ) . distinct ( ) . toList ( ) ;
// 由于我分发的、我执行的、我关注的、所有任务,都需要展示仿真负责人,故将负责人抽成方法调用
setPMemberList ( task , eachMemberList ) ;
// 只有所有任务需要展示仿真执行人
List < Long > eUserIdList = eachMemberList . stream ( ) . filter ( member - > MemberTypeEnum . EXECUTOR . getCode ( ) . equals ( member . getType ( ) ) ) . map ( SpdmTaskMemberVo : : getUserId ) . distinct ( ) . toList ( ) ;
if ( CollectionUtils . isNotEmpty ( pUserIdList ) ) {
SdmResponse < List < CIDUserResp > > cidUserResp = sysUserFeignClient . listUserByIds ( UserQueryReq . builder ( ) . userIds ( pUserIdList ) . build ( ) ) ;
task . setPMemberList ( cidUserResp . getData ( ) ) ;
}
if ( CollectionUtils . isNotEmpty ( eUserIdList ) ) {
SdmResponse < List < CIDUserResp > > cidUserResp = sysUserFeignClient . listUserByIds ( UserQueryReq . builder ( ) . userIds ( eUserIdList ) . build ( ) ) ;
task . setEMemberList ( cidUserResp . getData ( ) ) ;
@@ -304,6 +299,30 @@ public class TaskServiceImpl implements ITaskService {
}
List < String > myTaskIdList = taskMemberVoList . stream ( ) . map ( SpdmTaskMemberVo : : getTaskId ) . toList ( ) ;
taskList = taskList . stream ( ) . filter ( task - > myTaskIdList . contains ( task . getUuid ( ) ) ) . toList ( ) ;
for ( SpdmTaskVo task : taskList ) {
setPMemberList ( task , taskMemberVoList ) ;
}
}
} 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 ( ) ;
for ( SpdmTaskVo task : taskList ) {
setPMemberList ( task , taskMemberVoList ) ;
}
}
} else {
SdmResponse < CIDUserResp > cidUserResp = sysUserFeignClient . queryUserDetail ( UserQueryReq . builder ( ) . userId ( userId ) . build ( ) ) ;
@@ -327,6 +346,9 @@ public class TaskServiceImpl implements ITaskService {
List < String > myTaskIdList = taskAttentionMemberVoList . stream ( ) . map ( SpdmTaskAttentionMemberVo : : getTaskId ) . toList ( ) ;
taskList = taskList . stream ( ) . filter ( task - > myTaskIdList . contains ( task . getUuid ( ) ) ) . toList ( ) ;
for ( SpdmTaskVo task : taskList ) {
setPMemberList ( task , taskMemberVoList ) ;
}
}
if ( CollectionUtils . isEmpty ( taskList ) ) {
log . error ( " taskList为空 " ) ;
@@ -442,6 +464,15 @@ public class TaskServiceImpl implements ITaskService {
return SdmResponse . success ( jsonObject ) ;
}
private void setPMemberList ( SpdmTaskVo task , List < SpdmTaskMemberVo > eachMemberList ) {
// 由于我分发的、我执行的、我关注的、所有任务,都需要展示仿真负责人,故将负责人抽成方法调用
List < Long > pUserIdList = eachMemberList . stream ( ) . filter ( member - > MemberTypeEnum . PRINCIPAL . getCode ( ) . equals ( member . getType ( ) ) ) . map ( SpdmTaskMemberVo : : getUserId ) . distinct ( ) . toList ( ) ;
if ( CollectionUtils . isNotEmpty ( pUserIdList ) ) {
SdmResponse < List < CIDUserResp > > cidUserResp = sysUserFeignClient . listUserByIds ( UserQueryReq . builder ( ) . userIds ( pUserIdList ) . build ( ) ) ;
task . setPMemberList ( cidUserResp . getData ( ) ) ;
}
}
@Override
public SdmResponse countByStatus ( SpdmTaskListReq req ) {
String tenantId = ThreadLocalContext . getCompany ( ) ;
@@ -451,12 +482,8 @@ public class TaskServiceImpl implements ITaskService {
log . error ( " 公司和工号都不能为空 " ) ;
return SdmResponse . failed ( " 公司和工号都不能为空 " ) ;
}
// 0: 我执行的 1: 我关注的 2: 所有
// 0: 我执行的 1: 我关注的 2: 所有 3: 我分发的
Integer type = req . getType ( ) ;
if ( type ! = 0 & & type ! = 1 & & type ! = 2 ) {
log . error ( " type必须为0或1或2 " ) ;
return SdmResponse . failed ( " 公司和工号都不能为空 " ) ;
}
List < SpdmTaskVo > allTaskList = mapper . getTaskList ( tenantId , req ) ;
// 今明任务
@@ -513,16 +540,26 @@ public class TaskServiceImpl implements ITaskService {
log . error ( " 根据jobNumber: {},未查询到用户 " , userId ) ;
return SdmResponse . success ( new ArrayList < > ( ) ) ;
}
CIDUserResp cidUs er = cidUserResp . getData ( ) ;
taskMemberVoList = taskMemberVoList . stream ( ) . filter ( taskMember - > MemberTypeEnum . EXECUTOR . getCode ( ) . equals ( taskMember . getType ( ) ) ) . toList ( ) ;
taskMemberVoList = taskMemberVoList . stream ( ) . filter ( taskMemb er - > MemberTypeEnum . EXECUTOR . getCode ( ) . equals ( taskMember . getType ( ) ) & & userId . equals ( taskMember . getUserId ( ) ) ) . toList ( ) ;
if ( CollectionUtils . isEmpty ( taskMemberVoList ) ) {
log . error ( " 任务列表中未查询到仿真执行人1 " ) ;
log . error ( " 任务列表中未查询到仿真执行人 " ) ;
return SdmResponse . success ( new ArrayList < > ( ) ) ;
}
Long curUserId = cidUser . getUserId ( ) ;
taskMemberVo List = taskMemberVo List . stream ( ) . filter ( member - > curUserId . equals ( member . getUserI d ( ) ) ) . toList ( ) ;
List < String > myTaskIdList = taskMemberVoList . stream ( ) . map ( SpdmTaskMemberVo : : getTaskId ) . toList ( ) ;
taskList = taskList . stream ( ) . filter ( task - > myTaskIdList . contains ( task . getUui d ( ) ) ) . 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 ( " 任务列表中未查询到仿真执行人2 " ) ;
log . error ( " 任务列表中未查询到仿真负责人 " ) ;
return SdmResponse . success ( new ArrayList < > ( ) ) ;
}
List < String > myTaskIdList = taskMemberVoList . stream ( ) . map ( SpdmTaskMemberVo : : getTaskId ) . toList ( ) ;