|
|
@@ -29,6 +29,7 @@ import com.xunmei.common.core.domain.drill.vo.CoreDrillPlanDataVo;
|
|
|
import com.xunmei.common.core.domain.drill.vo.CoreDrillPlanDetailVo;
|
|
|
import com.xunmei.common.core.domain.drill.vo.CoreDrillPlanPageVo;
|
|
|
import com.xunmei.common.core.domain.drill.vo.CoreDrillPlanRoleVo;
|
|
|
+import com.xunmei.common.core.domain.edu.domain.CoreEduTrainingPlan;
|
|
|
import com.xunmei.common.core.domain.reminder.domain.CoreReminderSchedule;
|
|
|
import com.xunmei.common.core.domain.reminder.vo.CoreReminderConfigurationFullVo;
|
|
|
import com.xunmei.common.core.enums.BusinessPlanType;
|
|
|
@@ -39,6 +40,7 @@ import com.xunmei.common.core.enums.drill.DrillPlanCycleEnum;
|
|
|
import com.xunmei.common.core.enums.drill.DrillPlanStatus;
|
|
|
import com.xunmei.common.core.enums.edu.EduTrainingDoStatus;
|
|
|
import com.xunmei.common.core.enums.edu.EduTrainingPlanCycleEnum;
|
|
|
+import com.xunmei.common.core.enums.edu.EduTrainingPlanStatus;
|
|
|
import com.xunmei.common.core.exception.ServiceException;
|
|
|
import com.xunmei.common.core.thread.ThreadPoolConfig;
|
|
|
import com.xunmei.common.core.util.BeanHelper;
|
|
|
@@ -695,29 +697,101 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
final List<CoreDrillPlan> sLsPlanList = getPlanList(orgId, 1, 1);
|
|
|
return sLsPlanList.stream().map(x -> new IdName<>(x.getId().toString(), x.getPlanName())).collect(toList());
|
|
|
case 2:
|
|
|
- //办事处
|
|
|
- SysOrg topOrg = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectTopOrg(SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
|
|
|
- final List<CoreDrillPlan> lsPlanList = getPlanList(topOrg.getId(), 1, 1);
|
|
|
+ //办事处查询 办事处自己下发、以及省联社下发且在该办事处下有参与机构的任务
|
|
|
+ //1、由办事处机构获取到省联社机构,并获取到计划数据
|
|
|
+ //2、由办事处计划获取到下辖行社机构,并获取到由省联社下发到行社的计划数据
|
|
|
+ //3、对比第一步和第二步的计划,两种相同的任务名称交集才是该办事处需要看到的省联社下发计划
|
|
|
+ //4、办事处自己下发的任务
|
|
|
+
|
|
|
+// SysOrg topOrg = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectTopOrg(SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
|
|
|
+// final List<CoreDrillPlan> lsPlanList = getPlanList(topOrg.getId(), 1, 1);
|
|
|
+
|
|
|
+ //1、由办事处机构获取到省联社机构,并获取到计划数据
|
|
|
+ List<SysOrgVO> parentOrgList= RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.getSelfAndAllParentOrgs(orgId), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
|
|
|
+ SysOrgVO slsOrgVo = parentOrgList.stream().filter(x -> ObjectUtil.equal(x.getType(), 1)).findFirst().orElse(null);
|
|
|
+ List<CoreDrillPlan> lsPlanList =new ArrayList<>();
|
|
|
+ if(ObjectUtil.isNotNull(slsOrgVo))
|
|
|
+ {
|
|
|
+ lsPlanList = getPlanList(slsOrgVo.getId(), 1, 1);
|
|
|
+ }
|
|
|
+ //2、由办事处计划获取到下辖行社机构,并获取到由省联社下发到行社的计划数据
|
|
|
+ List<SysOrg> hsOrgList= RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectChildHs(orgId,SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
|
|
|
+ List<CoreDrillPlan> bscHsPlanList = getPlanList(hsOrgList.stream().map(x->x.getId()).collect(toList()), 0,0);
|
|
|
+ //3、对比第一步和第二步的计划,两种相同的任务名称交集才是该办事处需要看到的省联社下发计划
|
|
|
+ lsPlanList=lsPlanList.stream().filter(ls->bscHsPlanList.stream().anyMatch(hs->ls.getPlanName().equals(hs.getPlanName()))).collect(toList());
|
|
|
+
|
|
|
+ //4、办事处自己下发的任务
|
|
|
final List<CoreDrillPlan> bscPlanList = getPlanList(orgId, 1, 1);
|
|
|
return Stream.of(lsPlanList, bscPlanList).flatMap(Collection::stream).map(x -> new IdName<>(x.getId().toString(), x.getPlanName())).collect(toList());
|
|
|
case 3:
|
|
|
//行社
|
|
|
- final List<CoreDrillPlan> hsPlanList = getPlanList(orgId, 0, 0);
|
|
|
+ final List<CoreDrillPlan> hsPlanList = getPlanList(orgId, null, null);
|
|
|
return hsPlanList.stream().map(x -> new IdName<>(x.getId().toString(), x.getPlanName())).collect(toList());
|
|
|
+ case 4:
|
|
|
+ //网点
|
|
|
+ List<SysOrgVO> parentOrgList1= RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.getSelfAndAllParentOrgs(orgId), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
|
|
|
+ SysOrgVO hsOrgVo = parentOrgList1.stream().filter(x -> ObjectUtil.equal(x.getType(), 3)).findFirst().orElse(null);
|
|
|
+ Long tempOrgId=orgId;
|
|
|
+ if(ObjectUtil.isNotNull(hsOrgVo))
|
|
|
+ {
|
|
|
+ tempOrgId=hsOrgVo.getId();
|
|
|
+ }
|
|
|
+ final List<CoreDrillPlan> wdhsPlanList = getPlanList(tempOrgId, null, null);
|
|
|
+ return wdhsPlanList.stream().map(x -> new IdName<>(x.getId().toString(), x.getPlanName())).collect(Collectors.toList());
|
|
|
default:
|
|
|
return new ArrayList<>();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private List<CoreDrillPlan> getPlanList(Long orgId, Integer standard, Integer issue) {
|
|
|
- return coreDrillPlanMapper.selectList(new LambdaQueryWrapper<CoreDrillPlan>()
|
|
|
- .eq(CoreDrillPlan::getBelongOrgId, orgId)
|
|
|
- .eq(CoreDrillPlan::getStandard, standard)
|
|
|
- .eq(CoreDrillPlan::getIssue, issue)
|
|
|
+ LambdaQueryWrapper<CoreDrillPlan> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(CoreDrillPlan::getBelongOrgId, orgId)
|
|
|
.eq(CoreDrillPlan::getDeleted, 0)
|
|
|
- .eq(CoreDrillPlan::getPlanStatus, DrillPlanStatus.USING.getCode())
|
|
|
- .select(CoreDrillPlan::getId, CoreDrillPlan::getPlanName)
|
|
|
- );
|
|
|
+ .eq(CoreDrillPlan::getPlanStatus, EduTrainingPlanStatus.USING.getCode());
|
|
|
+ if(ObjectUtil.isNotNull(standard))
|
|
|
+ {
|
|
|
+ queryWrapper.eq(CoreDrillPlan::getStandard, standard);
|
|
|
+ }
|
|
|
+ if(ObjectUtil.isNotNull(issue))
|
|
|
+ {
|
|
|
+ queryWrapper.eq(CoreDrillPlan::getIssue, issue);
|
|
|
+ }
|
|
|
+ return coreDrillPlanMapper.selectList(queryWrapper.select(CoreDrillPlan::getId, CoreDrillPlan::getPlanName));
|
|
|
+
|
|
|
+// return coreDrillPlanMapper.selectList(new LambdaQueryWrapper<CoreDrillPlan>()
|
|
|
+// .eq(CoreDrillPlan::getBelongOrgId, orgId)
|
|
|
+// .eq(CoreDrillPlan::getStandard, standard)
|
|
|
+// .eq(CoreDrillPlan::getIssue, issue)
|
|
|
+// .eq(CoreDrillPlan::getDeleted, 0)
|
|
|
+// .eq(CoreDrillPlan::getPlanStatus, DrillPlanStatus.USING.getCode())
|
|
|
+// .select(CoreDrillPlan::getId, CoreDrillPlan::getPlanName)
|
|
|
+// );
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<CoreDrillPlan> getPlanList(List<Long> orgIds, Integer standard, Integer issue) {
|
|
|
+
|
|
|
+ LambdaQueryWrapper<CoreDrillPlan> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.in(CoreDrillPlan::getBelongOrgId, orgIds)
|
|
|
+ .eq(CoreDrillPlan::getDeleted, 0)
|
|
|
+ .eq(CoreDrillPlan::getPlanStatus, EduTrainingPlanStatus.USING.getCode());
|
|
|
+ if(ObjectUtil.isNotNull(standard))
|
|
|
+ {
|
|
|
+ queryWrapper.eq(CoreDrillPlan::getStandard, standard);
|
|
|
+ }
|
|
|
+ if(ObjectUtil.isNotNull(issue))
|
|
|
+ {
|
|
|
+ queryWrapper.eq(CoreDrillPlan::getIssue, issue);
|
|
|
+ }
|
|
|
+ return coreDrillPlanMapper.selectList(queryWrapper.select(CoreDrillPlan::getId, CoreDrillPlan::getPlanName));
|
|
|
+
|
|
|
+// return coreDrillPlanMapper.selectList(new LambdaQueryWrapper<CoreDrillPlan>()
|
|
|
+// .in(CoreDrillPlan::getBelongOrgId, orgIds)
|
|
|
+// .eq(CoreDrillPlan::getStandard, standard)
|
|
|
+// .eq(CoreDrillPlan::getIssue, issue)
|
|
|
+// .eq(CoreDrillPlan::getDeleted, 0)
|
|
|
+// .eq(CoreDrillPlan::getPlanStatus, DrillPlanStatus.USING.getCode())
|
|
|
+// .select(CoreDrillPlan::getId, CoreDrillPlan::getPlanName)
|
|
|
+// );
|
|
|
}
|
|
|
|
|
|
private List<CoreDrillPlan> buildPlanData(CoreDrillPlan plan, int status) {
|