Procházet zdrojové kódy

Merge branch 'V0.0.2' of http://10.87.10.227:4000/jzyd_yyds/soc into V0.0.2

jiawuxian před 2 roky
rodič
revize
1c2f33569a

+ 24 - 1
project_data/sql/0.0.3/soc/soc.sql

@@ -482,6 +482,14 @@ UPDATE sys_menu t SET t.menu_name = '教育培训任务下发' WHERE t.menu_name
 UPDATE sys_menu t SET t.menu_name = '教育培训任务查询' WHERE t.menu_name = '教育培训计划查询' limit 1;
 UPDATE sys_menu t SET t.menu_name = '教育培训任务导出' WHERE t.menu_name = '教育培训计划导出' limit 1;
 update sys_menu set menu_name='培训登记跟踪' where menu_name='培训任务管理' limit 1;
+ -- 培训计划菜单名称修改
+update sys_menu set menu_name ='培训登记查询' where perms='core:eduTask:list' and menu_name='查询' limit 1;
+update sys_menu set menu_name ='培训登记新增' where perms='core:eduTask:add' and menu_name='新增' limit 1;
+update sys_menu set menu_name ='培训登记编辑' where perms='core:eduTask:edit' and menu_name='编辑' limit 1;
+update sys_menu set menu_name ='培训登记删除' where perms='core:eduTask:remove' and menu_name='删除' limit 1;
+update sys_menu set menu_name ='培训登记导出' where perms='core:eduTask:export' and menu_name='导出' limit 1;
+
+-- 布撤防菜单名称修改
 update sys_menu set `menu_name`='履职情况跟踪' WHERE  `menu_name`='履职情况查询';
 update sys_menu set `menu_name`='布撤防情况跟踪',parent_id=2000 WHERE  `menu_name`='布撤防状态监管';
 -- 履职/安全检查菜单变更
@@ -533,7 +541,7 @@ UPDATE sys_menu set menu_name ='演练范本查询' WHERE menu_name ='演练库
 UPDATE sys_menu set menu_name ='演练范本编辑' WHERE menu_name ='演练库编辑';
 UPDATE sys_menu set menu_name ='演练范本详情' WHERE menu_name ='演练库详情';
 UPDATE sys_menu set menu_name ='演练范本删除' WHERE menu_name ='演练库删除';
-
+-- 演练计划
 UPDATE sys_menu set menu_name ='演练任务下发' WHERE menu_name ='演练计划管理';
 UPDATE sys_menu set menu_name ='演练任务新增' WHERE menu_name ='演练计划新增';
 UPDATE sys_menu set menu_name ='演练任务列表' WHERE menu_name ='演练计划列表';
@@ -545,6 +553,21 @@ UPDATE sys_menu set menu_name ='演练任务详情' WHERE menu_name ='演练计
 UPDATE sys_menu set menu_name ='演练登记跟踪' WHERE menu_name ='演练任务管理';
 UPDATE sys_dict_data set dict_label ='待登记' WHERE dict_label ='待演练' AND dict_type='drill_task_status';
 
+update sys_menu set menu_name='演练登记编辑' where perms ='core:drillTask:edit' and menu_name ='演练任务登记' limit 1;
+update sys_menu set menu_name='演练登记详情' where perms ='core:drillTask:query' and menu_name ='演练任务详情' limit 1;
+update sys_menu set menu_name='演练登记签名' where perms ='core:drillTask:sign' and menu_name ='演练任务签名' limit 1;
+update sys_menu set menu_name='演练登记评价' where perms ='core:drillTask:evaluate' and menu_name ='演练任务评价' limit 1;
+update sys_menu set menu_name='演练登记删除' where perms ='core:drillTask:remove' and menu_name ='演练任务删除' limit 1;
+-- 演练任务
+-- 新增演练任务删除按钮菜单及权限赋予
+delete from sys_menu where id=1721426177600598018;
+delete from sys_role_menu where menu_id=1721426177600598018;
+INSERT INTO sys_menu (id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, platform_type, icon, image_path, create_by, create_time, update_by, update_time, remark) VALUES (1721426177600598018, '演练任务删除', 2322, 5, '', null, null, 1, 0, 'F', '0', '0', 'core:drillTask:remove', '1', null, null, null, now(), null, now(), null);
+insert into sys_role_menu(role_id, menu_id)
+select r.id,m.id
+from sys_role r ,sys_menu m
+where m.menu_name ='演练任务删除' and  m.perms='core:drillTask:remove';
+
 
 -- 报警控制器
 ALTER TABLE `core_protection_log`

+ 9 - 4
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/service/impl/CoreDrillPlanServiceImpl.java

@@ -567,9 +567,11 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
         List<CoreDrillPlan> planList = lambdaQuery()
                 .eq(CoreDrillPlan::getParentId, planId)
                 .select(CoreDrillPlan::getId).list();
+        boolean isPublishAgain=false;
         if (planList.isEmpty()) {
             planList = buildPlanData(plan, new ArrayList<>(), true);
         } else {
+            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());
@@ -578,7 +580,7 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
         plan.setPlanStatus(DrillPlanStatus.USING.getCode());
         plan.setIssue(1);
         this.updateById(plan);
-        if (ObjectUtil.isNotEmpty(planList)){
+        if (isPublishAgain){
             //说明是计划是二次下发,下个周期生效,此处临时set为0,不保存入库,
             plan.setBuildTaskNow(0);
         }
@@ -610,9 +612,12 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
         List<Long> list = coreDrillPlanMapper.selectIdByParentId(planId);
 
         //无周期计划撤回,不管任务状态,删除所有任务,撤回后计划停用
-        //有周期计划撤回,如果没有任务已执行,删除所有任务,撤回后计划停用
-        Integer isExecute = coreDrillTaskMapper.checkHasTaskIsDone(list);
-        if (ObjectUtil.equal(isExecute, null) || EduTrainingPlanCycleEnum.NONE.getCode().equals(plan.getPlanCycle())) {
+        //有周期计划撤回,如果没有任务已完成,删除所有任务,撤回后计划停用
+        Integer isExecute = coreDrillTaskMapper.selectCount(new LambdaQueryWrapper<CoreDrillTask>()
+                .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);
         }
         coreDrillPlanMapper.updatePlanStatusByIdOrParentId(planId, EduTrainingPlanStatus.DELETED.getCode());

+ 9 - 4
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/service/impl/CoreEduTrainingPlanServiceImpl.java

@@ -614,9 +614,11 @@ public class CoreEduTrainingPlanServiceImpl extends ServiceImpl<CoreEduTrainingP
         List<CoreEduTrainingPlan> planList = lambdaQuery()
                 .eq(CoreEduTrainingPlan::getParentId, planId)
                 .select(CoreEduTrainingPlan::getId).list();
+        boolean isPublishAgain = false;
         if (planList.isEmpty()) {
             planList = buildPlanData(plan, new ArrayList<>(), true);
         } else {
+            isPublishAgain = true;
             planList.forEach(plan1 -> plan1.setPlanStatus(EduTrainingPlanStatus.USING.getCode()));
             List<Long> collect = planList.stream().map(CoreEduTrainingPlan::getId).collect(Collectors.toList());
             coreEduTrainingPlanMapper.updatePlanStatusByIdList(collect, EduTrainingPlanStatus.USING.getCode());
@@ -625,7 +627,7 @@ public class CoreEduTrainingPlanServiceImpl extends ServiceImpl<CoreEduTrainingP
         plan.setPlanStatus(EduTrainingPlanStatus.USING.getCode());
         plan.setIssue(1);
         this.updateById(plan);
-        if (ObjectUtil.isNotEmpty(planList)){
+        if (isPublishAgain) {
             //说明是计划是二次下发,下个周期生效,此处临时set为0,不保存入库,
             plan.setBuildTaskNow(0);
         }
@@ -732,9 +734,12 @@ public class CoreEduTrainingPlanServiceImpl extends ServiceImpl<CoreEduTrainingP
         List<Long> list = coreEduTrainingPlanMapper.selectIdByParentId(planId);
 
         //无周期计划撤回,不管任务状态,删除所有任务,撤回后计划停用
-        //有周期计划撤回,如果没有任务已执行,删除所有任务,撤回后计划停用
-        Integer isExecute = coreEduTrainingTaskMapper.checkHasTaskIsDone(list);
-        if (ObjectUtil.equal(isExecute, null) || EduTrainingPlanCycleEnum.NONE.getCode().equals(plan.getPlanCycle())) {
+        //有周期计划撤回,如果没有任务已完成,删除所有任务,撤回后计划停用
+        Integer isExecute = coreEduTrainingTaskMapper.selectCount(new LambdaQueryWrapper<CoreEduTrainingTask>()
+                        .in(CoreEduTrainingTask::getPlanId, list)
+                        .eq(CoreEduTrainingTask::getStatus, EduTrainingDoStatus.DONE.getCode()))
+                        .intValue();
+        if (ObjectUtil.equal(isExecute, 0) || EduTrainingPlanCycleEnum.NONE.getCode().equals(plan.getPlanCycle())) {
             coreEduTrainingTaskService.delByStartTimeAndEndTimeAndPlanIdList(list, null, null);
         }