|
|
@@ -210,7 +210,7 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
plan.setPlanStatus(DrillPlanStatus.DRAFT.getCode());
|
|
|
plan.setStandard(0);
|
|
|
plan.setIssue(0);
|
|
|
- //省联社或者办事处创建的计划才存在下发
|
|
|
+ //省联社或者办事处行社创建的计划才存在下发
|
|
|
if (checkOrgType(org.getType())) {
|
|
|
plan.setStandard(1);
|
|
|
plan.setIssue(0);
|
|
|
@@ -218,7 +218,7 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
plan.setBeIssue(0);
|
|
|
int insert = coreDrillPlanMapper.insert(plan);
|
|
|
|
|
|
- //如果不是省联社或者办事处,状态启用,并且是无周期或者立即生效
|
|
|
+ //如果不是省联社或者办事处行社,状态启用,并且是无周期或者立即生效
|
|
|
if ((!checkOrgType(org.getType())) && ObjectUtil.equal(DrillPlanStatus.USING.getCode(), plan.getPlanStatus()) && (ObjectUtil.equal(DrillPlanCycleEnum.NONE.getCode(), plan.getPlanCycle()) || ObjectUtil.equal(1, plan.getBuildTaskNow()))) {
|
|
|
final CoreDrillPlanDataVo detailPlanData = this.getCoreDrillPlanDataVo(plan.getId());
|
|
|
coreDrillTaskService.createTaskForNow(detailPlanData, plan.getPlanStartDate(), plan.getPlanEndDate());
|
|
|
@@ -232,7 +232,7 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
throw new RuntimeException("当前用户所在机构类型无法确认!");
|
|
|
}
|
|
|
//如果是省联社或者办事处则返回1,其他机构类型返回0
|
|
|
- return ObjectUtil.equal(orgType, OrgTypeEnum.SHEGN_LIAN_SHE.getCode()) || ObjectUtil.equal(orgType, OrgTypeEnum.BAN_SHI_CHU.getCode());
|
|
|
+ return ObjectUtil.equal(orgType, OrgTypeEnum.SHEGN_LIAN_SHE.getCode()) || ObjectUtil.equal(orgType, OrgTypeEnum.BAN_SHI_CHU.getCode()) || ObjectUtil.equal(orgType, OrgTypeEnum.HANG_SHE.getCode());
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -453,18 +453,24 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
if (ObjectUtil.equal(plan.getIssue(), 1)) {
|
|
|
throw new SystemException("计划已完成发布!");
|
|
|
}
|
|
|
- // 下发 按钮显示逻辑:仅省联社安全保卫管理人员进入且由省联社管理安全保卫人员创建的计划才显示
|
|
|
- //todo 判断当前人的角色信息
|
|
|
- List<CoreDrillPlan> list = buildPlanData(plan, new ArrayList<>(), true);
|
|
|
+ List<CoreDrillPlan> planList = lambdaQuery().eq(CoreDrillPlan::getParentId, planId).select(CoreDrillPlan::getId).list();
|
|
|
+ if (planList.isEmpty()) {
|
|
|
+ planList = buildPlanData(plan, new ArrayList<>(), true);
|
|
|
+ } else {
|
|
|
+ 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());
|
|
|
+ }
|
|
|
//下发后修改为使用中
|
|
|
plan.setPlanStatus(DrillPlanStatus.USING.getCode());
|
|
|
plan.setIssue(1);
|
|
|
this.updateById(plan);
|
|
|
//事务提交后执行
|
|
|
+ List<CoreDrillPlan> finalPlanList = planList;
|
|
|
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() {
|
|
|
@Override
|
|
|
public void afterCommit() {
|
|
|
- for (CoreDrillPlan drillPlan : list) {
|
|
|
+ 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())))) {
|