|
|
@@ -116,7 +116,7 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
if (ObjectUtil.equal(record.getCreateOrgId(), orgId)) {
|
|
|
record.setCreateByTopOrg(1);
|
|
|
}
|
|
|
- record.setCategoryText(DictUtils.getDictLabel(DictConstants.CORE_DRILL_CATEGORY,record.getCategory()));
|
|
|
+ record.setCategoryText(DictUtils.getDictLabel(DictConstants.CORE_DRILL_CATEGORY, record.getCategory()));
|
|
|
/*String roleNameList = coreDrillPlanToRoleMapper.selectRoleNameByPlanId(record.getId()).stream().map(CoreDrillPlanRoleVo::getRoleName).collect(Collectors.joining(","));
|
|
|
record.setPlanRoleNameList(roleNameList);
|
|
|
request.setId(record.getId());
|
|
|
@@ -152,7 +152,7 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
final List<CoreDrillPlanToExecOrg> execOrgList = coreDrillPlanToExecOrgMapper.selectByMap(MapUtil.of("plan_id", id));
|
|
|
final List<Long> execOrgIdList = execOrgList.stream().map(CoreDrillPlanToExecOrg::getOrgId).collect(Collectors.toList());
|
|
|
vo.setPlanExecOrgIdList(ObjectUtil.isEmpty(execOrgIdList) ? null : execOrgIdList);
|
|
|
- vo.setCategoryText(DictUtils.getDictLabel(DictConstants.CORE_DRILL_CATEGORY,vo.getCategory()));
|
|
|
+ vo.setCategoryText(DictUtils.getDictLabel(DictConstants.CORE_DRILL_CATEGORY, vo.getCategory()));
|
|
|
/*final List<CoreDrillPlanToRole> planToRoles = coreDrillPlanToRoleMapper.selectByMap(MapUtil.of("plan_id", id));
|
|
|
final List<Long> execRoleIdList = planToRoles.stream().map(CoreDrillPlanToRole::getRoleId).collect(Collectors.toList());
|
|
|
vo.setPlanRoleId(ObjectUtil.isEmpty(execRoleIdList) ? null : execRoleIdList);*/
|
|
|
@@ -221,36 +221,19 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
plan.setStandard(1);
|
|
|
plan.setIssue(0);
|
|
|
}
|
|
|
- //如果是省联社或者办事处,不需要下发
|
|
|
- if (checkNeedPublish(org.getType())) {
|
|
|
- plan.setStandard(2);
|
|
|
- plan.setPlanStatus(EduTrainingPlanStatus.USING.getCode());
|
|
|
- }
|
|
|
plan.setBeIssue(0);
|
|
|
- int insert = coreDrillPlanMapper.insert(plan);
|
|
|
-
|
|
|
- //如果不是省联社或者办事处行社,状态启用,并且是无周期或者立即生效
|
|
|
- if (checkCanBuildTaskNow(org.getType(), plan)) {
|
|
|
- final CoreDrillPlanDataVo detailPlanData = this.getCoreDrillPlanDataVo(plan.getId());
|
|
|
- coreDrillTaskService.createTaskForNow(detailPlanData, plan.getPlanStartDate(), plan.getPlanEndDate());
|
|
|
- }
|
|
|
-
|
|
|
- return insert;
|
|
|
+ return coreDrillPlanMapper.insert(plan);
|
|
|
}
|
|
|
|
|
|
- public Boolean checkCanBuildTaskNow(Integer orgType, CoreDrillPlan plan) {
|
|
|
- //创建机构是否是省联社或者办事处及行社? 如果是则需要下发,不能立即创建任务
|
|
|
- boolean orgFlag = !checkOrgType(orgType);
|
|
|
+ public Boolean checkCanBuildTaskNow(CoreDrillPlan plan) {
|
|
|
//使用中,如果不是使用中状态不能立即生成任务
|
|
|
boolean statusFlag = ObjectUtil.equal(DrillPlanStatus.USING.getCode(), plan.getPlanStatus());
|
|
|
//无周期?有周期的不能立即生成任务
|
|
|
boolean cycleFlag = ObjectUtil.equal(DrillPlanCycleEnum.NONE.getCode(), plan.getPlanCycle());
|
|
|
//是否需要立即生效 不是则不能立即生成任务
|
|
|
boolean buildFlag = ObjectUtil.equal(1, plan.getBuildTaskNow());
|
|
|
- //是否需要下发:如果需要下发,不能立即生成任务
|
|
|
- boolean publishFlag = checkNeedPublish(orgType);
|
|
|
|
|
|
- return (orgFlag && statusFlag && (cycleFlag || buildFlag))||publishFlag;
|
|
|
+ return statusFlag && (cycleFlag || buildFlag);
|
|
|
|
|
|
|
|
|
}
|
|
|
@@ -349,8 +332,7 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
for (CoreDrillPlan drillPlan : finalPlanList) {
|
|
|
CompletableFuture.runAsync(() -> {
|
|
|
//如果不是省联社或者办事处,状态启用,并且是无周期或者立即生效
|
|
|
- if ((ObjectUtil.equal(EduTrainingPlanStatus.USING.getCode(), plan.getPlanStatus())
|
|
|
- && (ObjectUtil.equal(DrillPlanCycleEnum.NONE.getCode(), plan.getPlanCycle()) || ObjectUtil.equal(1, plan.getBuildTaskNow())))) {
|
|
|
+ if (checkCanBuildTaskNow(plan)) {
|
|
|
CoreDrillPlanDataVo detailPlanData = getCoreDrillPlanDataVo(drillPlan.getId());
|
|
|
coreDrillTaskService.createTaskForNow(detailPlanData, plan.getPlanStartDate(), plan.getPlanEndDate());
|
|
|
}
|
|
|
@@ -437,8 +419,7 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
public void afterCommit() {
|
|
|
CompletableFuture.runAsync(() -> {
|
|
|
//如果不是省联社或者办事处,状态启用,并且是无周期或者立即生效
|
|
|
- if ((ObjectUtil.equal(EduTrainingPlanStatus.USING.getCode(), plan.getPlanStatus())
|
|
|
- && (ObjectUtil.equal(EduTrainingPlanCycleEnum.NONE.getCode(), plan.getPlanCycle()) || ObjectUtil.equal(1, plan.getBuildTaskNow())))) {
|
|
|
+ if (checkCanBuildTaskNow(plan)) {
|
|
|
final CoreDrillPlanDataVo detailPlanData = getCoreDrillPlanDataVo(plan.getId());
|
|
|
coreDrillTaskService.createTaskForNow(detailPlanData, plan.getPlanStartDate(), plan.getPlanEndDate());
|
|
|
}
|
|
|
@@ -472,7 +453,7 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
validateListForStandard(execOrgIdList, request.getPlanExecOrgIdList(), errorMsg);
|
|
|
validateFieldForStandard(request.getRemark(), plan.getRemark(), errorMsg);
|
|
|
validateFileListForStandard(request.getFileList(), JSON.parseArray(plan.getFileList(), String.class), errorMsg);
|
|
|
- if (plan.getPlanCycle().equals(EduTrainingPlanCycleEnum.NONE.getCode())){
|
|
|
+ if (plan.getPlanCycle().equals(EduTrainingPlanCycleEnum.NONE.getCode())) {
|
|
|
validateFieldForStandard(request.getStartDate(), plan.getPlanStartDate(), errorMsg);
|
|
|
validateFieldForStandard(request.getEndDate(), plan.getPlanEndDate(), errorMsg);
|
|
|
}
|
|
|
@@ -600,11 +581,11 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
List<CoreDrillPlan> planList = lambdaQuery()
|
|
|
.eq(CoreDrillPlan::getParentId, planId)
|
|
|
.select(CoreDrillPlan::getId).list();
|
|
|
- boolean isPublishAgain=false;
|
|
|
+ boolean isPublishAgain = false;
|
|
|
if (planList.isEmpty()) {
|
|
|
planList = buildPlanData(plan, new ArrayList<>(), true);
|
|
|
} else {
|
|
|
- isPublishAgain=true;
|
|
|
+ isPublishAgain = true;
|
|
|
planList.forEach(plan1 -> plan1.setPlanStatus(EduTrainingPlanStatus.USING.getCode()));
|
|
|
List<Long> collect = planList.stream().map(CoreDrillPlan::getId).collect(Collectors.toList());
|
|
|
coreDrillPlanMapper.updatePlanStatusByIdList(collect, EduTrainingPlanStatus.USING.getCode());
|
|
|
@@ -613,7 +594,7 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
plan.setPlanStatus(DrillPlanStatus.USING.getCode());
|
|
|
plan.setIssue(1);
|
|
|
this.updateById(plan);
|
|
|
- if (isPublishAgain){
|
|
|
+ if (isPublishAgain) {
|
|
|
//说明是计划是二次下发,下个周期生效,此处临时set为0,不保存入库,
|
|
|
plan.setBuildTaskNow(0);
|
|
|
}
|
|
|
@@ -625,7 +606,7 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
for (CoreDrillPlan drillPlan : finalPlanList) {
|
|
|
CompletableFuture.runAsync(() -> {
|
|
|
//如果不是省联社或者办事处,状态启用,并且是无周期或者立即生效
|
|
|
- if ((ObjectUtil.equal(DrillPlanStatus.USING.getCode(), plan.getPlanStatus()) && (ObjectUtil.equal(DrillPlanCycleEnum.NONE.getCode(), plan.getPlanCycle()) || ObjectUtil.equal(1, plan.getBuildTaskNow())))) {
|
|
|
+ if (checkCanBuildTaskNow(plan)) {
|
|
|
final CoreDrillPlanDataVo detailPlanData = getCoreDrillPlanDataVo(drillPlan.getId());
|
|
|
coreDrillTaskService.createTaskForNow(detailPlanData, plan.getPlanStartDate(), plan.getPlanEndDate());
|
|
|
}
|
|
|
@@ -647,8 +628,8 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
//无周期计划撤回,不管任务状态,删除所有任务,撤回后计划停用
|
|
|
//有周期计划撤回,如果没有任务已完成,删除所有任务,撤回后计划停用
|
|
|
Integer isExecute = coreDrillTaskMapper.selectCount(new LambdaQueryWrapper<CoreDrillTask>()
|
|
|
- .in(CoreDrillTask::getPlanId, list)
|
|
|
- .eq(CoreDrillTask::getStatus,DrillDoStatus.DONE.getCode()))
|
|
|
+ .in(CoreDrillTask::getPlanId, list)
|
|
|
+ .eq(CoreDrillTask::getStatus, DrillDoStatus.DONE.getCode()))
|
|
|
.intValue();
|
|
|
if (ObjectUtil.equal(isExecute, 0) || EduTrainingPlanCycleEnum.NONE.getCode().equals(plan.getPlanCycle())) {
|
|
|
coreDrillTaskService.delByStartTimeAndEndTimeAndPlanIdList(list, null, null);
|