Bladeren bron

演练重复推优评优判断bug处理

jingyuanchao 2 jaren geleden
bovenliggende
commit
327220fc09

+ 6 - 0
project_data/sql/0.0.2/soc/soc.sql

@@ -2159,6 +2159,12 @@ alter table core_edu_training_plan
 alter table core_drill_plan
     modify plan_status int null comment '计划状态:0草稿,1使用中,2停用';
 
+-- 修改菜单名称,删除网点用户关于培训计划/演练计划的菜单权限
+update sys_menu set menu_name ='教育培训计划下发' where menu_name='下发' and perms='core:plan:publish';
+delete from sys_role_menu where role_id in (select id from sys_role  where org_type=4) and menu_id in (select id from sys_menu m where menu_name like '%培训计划%');
+delete from sys_role_menu where role_id in (select id from sys_role  where org_type=4) and menu_id in (select id from sys_menu m where menu_name like '%演练计划%');
+
+
 -- -------------------------------------------------------
 -- ----------更新数据 end  ----------------------------
 -- -------------------------------------------------------

+ 10 - 6
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/service/impl/CoreDrillTaskServiceImpl.java

@@ -865,10 +865,12 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
             SysOrg sysOrg = sysOrgList.stream().filter(org -> ObjectUtil.equal(org.getType(), OrgTypeEnum.HANG_SHE.getCode()))
                     .findFirst().orElseThrow(() -> new SystemException(ErrorMsgConstants.QUERY_ORG_DATA_ERROR));
 
-            Long count = coreDrillTaskMapper.selectCount(new LambdaQueryWrapper<CoreDrillTask>()
+            List<CoreDrillTask> coreDrillTasks = coreDrillTaskMapper.selectList(new LambdaQueryWrapper<CoreDrillTask>()
                     .eq(CoreDrillTask::getRecStatus, DrillRecStatus.REC_REGION_EXCELLENT_CASE.getCode())
-                    .likeRight(CoreDrillTask::getOrgPath, sysOrg.getPath()));
-            if (count != null && count >= Integer.parseInt(sysConfig.getConfigValue())) {
+                    .likeRight(CoreDrillTask::getOrgPath, sysOrg.getPath()).select(CoreDrillTask::getId, CoreDrillTask::getOrgId));
+            List<Long> list = coreDrillTasks.stream().map(CoreDrillTask::getId).collect(Collectors.toList());
+            //判断重复推优评优
+            if ((!list.contains(drillTask.getId())) && coreDrillTasks.size() >= Integer.parseInt(sysConfig.getConfigValue())) {
                 throw new SystemException("推荐地区优秀案例已达上限!");
             }
         }
@@ -881,10 +883,12 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
             SysOrg sysOrg = sysOrgList.stream().filter(org -> ObjectUtil.equal(org.getType(), OrgTypeEnum.BAN_SHI_CHU.getCode()))
                     .findFirst().orElseThrow(() -> new SystemException(ErrorMsgConstants.QUERY_ORG_DATA_ERROR));
 
-            Long count = coreDrillTaskMapper.selectCount(new LambdaQueryWrapper<CoreDrillTask>()
+            List<CoreDrillTask> coreDrillTasks = coreDrillTaskMapper.selectList(new LambdaQueryWrapper<CoreDrillTask>()
                     .eq(CoreDrillTask::getRecStatus, DrillRecStatus.REC_PROVINCE_EXCELLENT_CASE.getCode())
-                    .likeRight(CoreDrillTask::getOrgPath, sysOrg.getPath()));
-            if (count != null && count >= Integer.parseInt(sysConfig.getConfigValue())) {
+                    .likeRight(CoreDrillTask::getOrgPath, sysOrg.getPath()).select(CoreDrillTask::getId, CoreDrillTask::getOrgId));
+            List<Long> list = coreDrillTasks.stream().map(CoreDrillTask::getId).collect(Collectors.toList());
+            //判断重复推优评优
+            if ((!list.contains(drillTask.getId())) && coreDrillTasks.size() >= Integer.parseInt(sysConfig.getConfigValue())) {
                 throw new SystemException("推荐省级优秀案例已达上限!");
             }
         }

+ 1 - 2
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/service/impl/SysLearningMaterialsServiceImpl.java

@@ -43,8 +43,6 @@ import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import static com.xunmei.common.core.constant.Constants.TOP_ORG_PARENT_ID;
-
 /**
  * 学习资料Service业务层处理
  *
@@ -96,6 +94,7 @@ public class SysLearningMaterialsServiceImpl extends ServiceImpl<SysLearningMate
         for (SysLearningMaterialsPageVo record : page.getRecords()) {
             record.setNo(page.getRecords().indexOf(record));
         }
+        page.getRecords().sort(Comparator.comparing(SysLearningMaterialsPageVo::getCreateTime).reversed());
         return TableDataInfo.success(page);
     }