|
|
@@ -294,16 +294,19 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
// 判断标准计划能否修改:存在下发的计划生成了任务且任务存在已执行
|
|
|
Integer standardPlanHasDone = coreDrillTaskMapper.checkHasTaskIsDoneByPlanParentId(planId);
|
|
|
if (ObjectUtil.equal(standardPlanHasDone, 1)) {
|
|
|
+ SysOrg sysOrg = RemoteCallHandlerExecutor.executeRemoteCall(() ->
|
|
|
+ orgService.selectOrgById(SecurityUtils.getLoginUser().getOrgId(), SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
|
|
|
//验证修改的字段是否符合要求
|
|
|
String errorMsg = "有任务已执行或已过期,仅允许修改计划名称!";
|
|
|
- validatePlanForStandard(request, plan, errorMsg);
|
|
|
+ validatePlanForStandard(request, plan, errorMsg, sysOrg.getType());
|
|
|
doUpdatePlan(plan, request);
|
|
|
coreDrillPlanMapper.updatePlanName(plan.getId(), plan.getPlanName());
|
|
|
coreDrillTaskMapper.updateTaskNameByParentPlanId(planId, plan.getPlanName(), range.getStartTime(), range.getEndTime());
|
|
|
} else {
|
|
|
doUpdatePlan(plan, request);
|
|
|
delAllByParentPlanId(plan.getId());
|
|
|
- List<CoreDrillPlan> planList = buildPlanData(plan, null, false); TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() {
|
|
|
+ List<CoreDrillPlan> planList = buildPlanData(plan, null, false);
|
|
|
+ TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() {
|
|
|
@Override
|
|
|
public void afterCommit() {
|
|
|
for (CoreDrillPlan drillPlan : planList) {
|
|
|
@@ -327,7 +330,8 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
|
|
|
}
|
|
|
|
|
|
- private void populateProperties(CoreDrillPlan source, CoreDrillPlan target) {
|
|
|
+ @Override
|
|
|
+ public void populateProperties(CoreDrillPlan source, CoreDrillPlan target) {
|
|
|
target.setPlanName(source.getPlanName());
|
|
|
target.setPlanCycle(source.getPlanCycle());
|
|
|
target.setExecTimes(source.getExecTimes());
|
|
|
@@ -369,8 +373,15 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
throw new RuntimeException("执行次数不能小于基准计划执行次数!");
|
|
|
}
|
|
|
if (ObjectUtil.notEqual(plan.getId(), plan.getParentId())) {
|
|
|
- String errorMsg = "子计划仅允许修改培训次数!";
|
|
|
- validatePlanForStandard(request, plan, errorMsg);
|
|
|
+ String errorMsg = null;
|
|
|
+ SysOrg sysOrg = RemoteCallHandlerExecutor.executeRemoteCall(() ->
|
|
|
+ orgService.selectOrgById(SecurityUtils.getLoginUser().getOrgId(), SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
|
|
|
+ if (ObjectUtil.equal(sysOrg.getType(), OrgTypeEnum.SHEGN_LIAN_SHE.getCode())) {
|
|
|
+ errorMsg = "当前用户身份仅允许修改子计划的计划名称和演练次数!!";
|
|
|
+ } else {
|
|
|
+ errorMsg = "当前用户身份仅允许修改子计划的演练次数!";
|
|
|
+ }
|
|
|
+ validatePlanForStandard(request, plan, errorMsg, sysOrg.getType());
|
|
|
}
|
|
|
doUpdatePlan(plan, request);
|
|
|
final long done = coreDrillTaskMapper.selectCount(new LambdaQueryWrapper<CoreDrillTask>()
|
|
|
@@ -418,7 +429,7 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
}
|
|
|
|
|
|
|
|
|
- private void validatePlanForStandard(CoreDrillPlanUpdateDto request, CoreDrillPlan plan, String errorMsg) {
|
|
|
+ private void validatePlanForStandard(CoreDrillPlanUpdateDto request, CoreDrillPlan plan, String errorMsg, Integer type) {
|
|
|
validateFieldForStandard(request.getPlanCycle(), plan.getPlanCycle(), errorMsg);
|
|
|
validateFieldForStandard(request.getExecOrgType(), plan.getExecOrgType(), errorMsg);
|
|
|
List<Long> execOrgIdList = coreDrillPlanToExecOrgMapper.selectOrgIdByPlanId(plan.getId());
|
|
|
@@ -426,9 +437,10 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
validateFieldForStandard(request.getRemark(), plan.getRemark(), errorMsg);
|
|
|
validateFileListForStandard(request.getFileList(), JSON.parseArray(plan.getFileList(), String.class), errorMsg);
|
|
|
|
|
|
- //标准计划可以修改名称
|
|
|
- //validateFieldForStandard(request.getPlanName(), plan.getPlanName(), errorMsg);
|
|
|
-
|
|
|
+ if (OrgTypeEnum.HANG_SHE.equals(OrgTypeEnum.getOrgTypeEnum(type))) {
|
|
|
+ //标准计划可以修改名称,行社不允许修改名称
|
|
|
+ validateFieldForStandard(request.getPlanName(), plan.getPlanName(), errorMsg);
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
|