ソースを参照

范本库增加演练类型代码提交

jingyuanchao 1 年間 前
コミット
e4a8e97abf

+ 26 - 3
project_data/sql/0.0.3/soc/soc.sql

@@ -409,7 +409,8 @@ ALTER TABLE  core_safetycheck_rule MODIFY COLUMN update_time datetime NULL COMME
 ALTER TABLE  core_safetycheck_rule MODIFY COLUMN create_by varchar(255) CHARACTER SET utf8mb4;
 -- 修改演练任务表状态字段释义
 alter table core_drill_task  modify status int default 0 null comment '任务状态:0:待登记,5:待提交,1:待签名,2待评价,3:已完成,4:已逾期';
-
+alter table core_drill_dictionary modify drill_type varchar(12) null comment '演练项目,字典表关联取值';
+alter table core_drill_dictionary modify drill_type_name varchar(32) null comment '演练项目名称';
 
 DELIMITER ??
 DROP PROCEDURE IF EXISTS schema_change ??
@@ -540,6 +541,21 @@ DROP PROCEDURE IF EXISTS schema_change ??
     END IF;
 
 
+
+    -- 演练范本库表增加演练类型字段
+    IF NOT EXISTS(SELECT *
+                  FROM information_schema.columns
+                  WHERE table_schema = DATABASE()
+                    AND table_name = 'core_drill_dictionary'
+                    AND column_name = 'drill_category') THEN
+        alter table core_drill_dictionary
+            add drill_category int null comment '演练类型,字典表取值' after drill_type_name;
+
+        alter table core_drill_dictionary
+            add drill_category_name varchar(125) null comment '演练类型名称' after drill_category;
+    END IF;
+
+
     END ??
 DELIMITER;
 CALL schema_change ();
@@ -645,14 +661,21 @@ 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';
-
+-- 修改字典名称
+update sys_dict_type  SET dict_name = '预案演练项目' WHERE dict_name = '预案演练类型' and dict_type='core_drill_type' limit 1;
+-- 新增演练类型字典
+delete  from sys_dict_type where dict_type='core_drill_category';
+delete  from sys_dict_data where dict_type='core_drill_category';
+INSERT INTO sys_dict_type (dict_name, dict_type, status, create_by, create_time, update_by, update_time, remark) VALUES ('预案演练类型', 'core_drill_category', '0', null, now(), null, now(), null);
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES (10, '季度应急预案', '1', 'core_drill_category', null, 'default', 'N', '0',  null, now(), null, now(), null);
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES (20, '消防应急预案', '2', 'core_drill_category', null, 'default', 'N', '0',  null, now(), null, now(), null);
 
 -- 报警控制器
 ALTER TABLE `core_protection_log`
 MODIFY COLUMN `status_updator_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '上报人姓名' AFTER `status_updator_id`;
 -- 修改安全指数机构分数表机构path字段长度
 alter table core_safe_month_score modify org_path varchar(225) null comment '机构path';
-DELETE FROM sys_menu WHERE id IN(01719287834364436482,01719288533101928450,01719892877586239490,01720000571298115585);
+DELETE FROM sys_menu WHERE id IN(01719287834364436482,01719288533101928450,01719892877586239490,01720000571298115585,1722135552494403586);
 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 (01719287834364436482, '统计报表', 0, 1, 'reportForms', NULL, NULL, 1, 0, 'M', '0', '0', 'core:send:list', '1', 'chart', NULL, '超级管理员', '2023-09-21 10:37:52', '超级管理员', '2023-09-22 09:42:43', '');
 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`)

+ 8 - 5
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/constant/DictConstants.java

@@ -1,10 +1,6 @@
 package com.xunmei.common.core.constant;
 
 
-import cn.hutool.core.util.ObjectUtil;
-
-import java.util.List;
-
 /**
  * @author jingyuanchao
  * @date 2023/9/8 18:33
@@ -242,10 +238,17 @@ public class DictConstants {
     public static final String REALITY_ORG_TYPE = "reality_org_type";
 
     /**
-     * 预案演练类型
+     * 预案演练项目
      */
     public static final String CORE_DRILL_TYPE = "core_drill_type";
+    /**
+     * 预案演练推荐状态
+     */
     public static final String DRILL_TASK_REC_STATUS = "drill_task_rec_status";
+    /**
+     * 预案演练类型
+     */
+    public static final String CORE_DRILL_CATEGORY = "core_drill_category";
 
 
 

+ 14 - 20
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/drill/domain/CoreDrillDictionary.java

@@ -1,15 +1,12 @@
 package com.xunmei.common.core.domain.drill.domain;
 
 import com.baomidou.mybatisplus.annotation.*;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
-
+import com.xunmei.common.core.web.domain.BaseEntity;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
-import com.xunmei.common.core.web.domain.BaseEntity;
 
 /**
  * 预案演练库对象 core_drill_dictionary
@@ -43,15 +40,24 @@ public class CoreDrillDictionary extends BaseEntity {
     private String orgPath;
 
     @TableField("drill_type")
-    @ApiModelProperty(value = "演练类型,字典表关联取值")
+    @ApiModelProperty(value = "演练项目,字典表关联取值")
     private String drillType;
 
     @TableField("drill_type_name")
-    @ApiModelProperty(value = "演练类型名称")
+    @ApiModelProperty(value = "演练项目名称")
     private String drillTypeName;
 
-    @TableField("drill_projects")
-    @ApiModelProperty(value = "演练项目")
+
+    @TableField("drill_category")
+    @ApiModelProperty(value = "演练类型,字典表关联取值")
+    private String drillCategory;
+
+    @TableField("drill_category_name")
+    @ApiModelProperty(value = "演练类型名称")
+    private String drillCategoryName;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "解决方案")
     private String drillProjects;
 
     @TableField("default_cause")
@@ -63,16 +69,4 @@ public class CoreDrillDictionary extends BaseEntity {
     @TableField(value = "deleted")
     private int deleted;
 
-
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
-                .append("id", getId())
-                .append("drillType", getDrillType())
-                .append("drillTypeName", getDrillTypeName())
-                .append("drillProjects", getDrillProjects())
-                .append("defaultCause", getDefaultCause())
-                .append("deleted", getDeleted())
-                .toString();
-    }
 }

+ 5 - 3
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/drill/dto/CoreDrillDictionaryInsertDto.java

@@ -1,6 +1,5 @@
 package com.xunmei.common.core.domain.drill.dto;
 
-import com.baomidou.mybatisplus.annotation.TableField;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -18,11 +17,14 @@ public class CoreDrillDictionaryInsertDto {
     @ApiModelProperty(value = "机构")
     private Long orgId;
 
+    @NotNull(message = "演练项目不能为空")
+    @ApiModelProperty(value = "演练项目,字典表关联取值")
+    private String drillType;
+
     @NotNull(message = "演练类型不能为空")
     @ApiModelProperty(value = "演练类型,字典表关联取值")
-    private String drillType;
+    private String drillCategory;
 
-    @NotEmpty(message = "解决方案不能为空")
     @ApiModelProperty(value = "解决方案")
     private String drillProjects;
 

+ 4 - 1
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/drill/dto/CoreDrillDictionaryPageDto.java

@@ -24,9 +24,12 @@ public class CoreDrillDictionaryPageDto extends PageRequest {
     @JsonSerialize(using = ToStringSerializer.class)
     private Long id;
 
-    @ApiModelProperty(value = "演练类型,字典表关联取值")
+    @ApiModelProperty(value = "演练项目,字典表关联取值")
     private String drillType;
 
+    @ApiModelProperty(value = "演练类型,字典表关联取值")
+    private String drillCategory;
+
     @ApiModelProperty(value = "演练场景")
     private String drillProjects;
 

+ 9 - 5
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/drill/vo/CoreDrillDictionaryDetailVo.java

@@ -3,8 +3,6 @@ package com.xunmei.common.core.domain.drill.vo;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import javax.validation.constraints.NotNull;
-
 /**
  * @author jingyuanchao
  * @date 2023/9/8 19:41
@@ -12,15 +10,21 @@ import javax.validation.constraints.NotNull;
 @Data
 public class CoreDrillDictionaryDetailVo {
     private Integer id;
-    @NotNull(message = "演练类型不能为空")
     @ApiModelProperty(value = "演练类型,字典表关联取值")
     private String drillType;
+
     @ApiModelProperty(value = "演练类型名称,字典表关联取值")
     private String drillTypeName;
-    @NotNull(message = "演练项目不能为空")
+
     @ApiModelProperty(value = "演练项目")
     private String drillProjects;
-    @NotNull(message = "预设案由不能为空")
+
     @ApiModelProperty(value = "预设案由")
     private String defaultCause;
+
+    @ApiModelProperty(value = "演练类型,字典表关联取值")
+    private String drillCategory;
+
+    @ApiModelProperty(value = "演练类型名称")
+    private String drillCategoryName;
 }

+ 6 - 7
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/drill/vo/CoreDrillDictionaryPageVo.java

@@ -1,8 +1,5 @@
 package com.xunmei.common.core.domain.drill.vo;
 
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModelProperty;
@@ -31,14 +28,16 @@ public class CoreDrillDictionaryPageVo {
     @ApiModelProperty(value = "演练类型名称")
     private String drillTypeName;
 
+    @ApiModelProperty(value = "演练类型,字典表关联取值")
+    private String drillCategory;
+
+    @ApiModelProperty(value = "演练类型名称")
+    private String drillCategoryName;
+
     @ApiModelProperty(value = "演练项目")
     private String drillProjects;
 
     @ApiModelProperty(value = "预设案由")
     private String defaultCause;
 
-    @ApiModelProperty(value = "删除标志", notes = "0:未删除,1:已删除")
-    @TableLogic(value = "0", delval = "1")
-    @TableField(value = "deleted")
-    private int deleted;
 }

+ 1 - 1
soc-common/soc-common-security/src/main/java/com/xunmei/common/security/utils/DictUtils.java

@@ -76,7 +76,7 @@ public class DictUtils {
         final List<SysDictData> statusTextList = DictUtils.getDictCache(status);
         if (ObjectUtil.isNotEmpty(statusTextList) && ObjectUtil.isNotNull(statusNum)) {
             Optional<SysDictData> optional = statusTextList.stream()
-                    .filter(dict -> ObjectUtil.equal(dict.getDictValue(), String.valueOf(statusNum)))
+                    .filter(dict -> ObjectUtil.equal(String.valueOf(dict.getDictValue()), String.valueOf(statusNum)))
                     .findFirst();
             if (optional.isPresent()) {
                 return optional.get().getDictLabel();

+ 16 - 8
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/service/impl/CoreDrillDictionaryServiceImpl.java

@@ -1,6 +1,7 @@
 package com.xunmei.core.drill.service.impl;
 
 import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.nacos.shaded.io.grpc.netty.shaded.io.netty.util.internal.StringUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -64,7 +65,13 @@ public class CoreDrillDictionaryServiceImpl extends ServiceImpl<CoreDrillDiction
                 page = coreDrillDictionaryMapper.selectPageData4(request.getPageRequest(), request);
             }
         }
-
+        page.getRecords()
+                .forEach(coreDrillDictionaryPageVo -> {
+                    if (StringUtil.isNullOrEmpty(coreDrillDictionaryPageVo.getDrillCategory())) {
+                        return;
+                    }
+                    coreDrillDictionaryPageVo.setDrillCategoryName(DictUtils.getDictLabel(DictConstants.CORE_DRILL_CATEGORY, Integer.parseInt(coreDrillDictionaryPageVo.getDrillCategory())));
+                });
 
         //抓换为TableDataInfo适配前端
         return TableDataInfo.build(page);
@@ -113,8 +120,10 @@ public class CoreDrillDictionaryServiceImpl extends ServiceImpl<CoreDrillDiction
      */
     @Override
     public CoreDrillDictionaryDetailVo selectCoreDrillDictionaryById(Long id) {
-        return coreDrillDictionaryMapper.selectDetailData(id);
+        CoreDrillDictionaryDetailVo coreDrillDictionaryDetailVo = coreDrillDictionaryMapper.selectDetailData(id);
+        coreDrillDictionaryDetailVo.setDrillCategoryName(DictUtils.getDictLabel(DictConstants.CORE_DRILL_CATEGORY, Integer.parseInt(coreDrillDictionaryDetailVo.getDrillCategory())));
 
+        return coreDrillDictionaryDetailVo;
     }
 
     /**
@@ -132,6 +141,8 @@ public class CoreDrillDictionaryServiceImpl extends ServiceImpl<CoreDrillDiction
         if (null != drillTypeDictList && ObjectUtil.isNotEmpty(drillTypeDictList)) {
             drillTypeDictList.stream().filter(dict -> ObjectUtil.equal(dict.getDictValue(), request.getDrillType())).findFirst().ifPresent(dict -> dictionary.setDrillTypeName(dict.getDictLabel()));
         }
+
+        dictionary.setDrillCategoryName(DictUtils.getDictLabel(DictConstants.CORE_DRILL_CATEGORY, Integer.parseInt(request.getDrillCategory())));
         SysOrg sysOrg = getOrg(SecurityUtils.getLoginUser().getOrgId());
         dictionary.setOrgName(sysOrg.getShortName());
         dictionary.setOrgPath(sysOrg.getPath());
@@ -186,12 +197,7 @@ public class CoreDrillDictionaryServiceImpl extends ServiceImpl<CoreDrillDiction
         List<CoreDrillDictionary> selectList = coreDrillDictionaryMapper.selectList(new LambdaQueryWrapper<CoreDrillDictionary>()
                 .eq(CoreDrillDictionary::getDeleted, 0)
                 // .likeRight(CoreDrillDictionary::getOrgPath, path)
-                .eq(ObjectUtil.isNotNull(dictValue), CoreDrillDictionary::getDrillType, dictValue)
-                .select(CoreDrillDictionary::getId
-                        , CoreDrillDictionary::getDrillTypeName
-                        , CoreDrillDictionary::getDrillType
-                        , CoreDrillDictionary::getDrillProjects
-                        , CoreDrillDictionary::getDefaultCause));
+                .eq(ObjectUtil.isNotNull(dictValue), CoreDrillDictionary::getDrillType, dictValue));
         return selectList.stream().map(coreDrillDictionary -> {
             CoreDrillDictionaryDetailVo detailVo = new CoreDrillDictionaryDetailVo();
             detailVo.setId(coreDrillDictionary.getId());
@@ -199,6 +205,8 @@ public class CoreDrillDictionaryServiceImpl extends ServiceImpl<CoreDrillDiction
             detailVo.setDrillTypeName(coreDrillDictionary.getDrillTypeName());
             detailVo.setDrillProjects(coreDrillDictionary.getDrillTypeName());
             detailVo.setDefaultCause(coreDrillDictionary.getDefaultCause());
+            detailVo.setDrillCategory(coreDrillDictionary.getDrillCategory());
+            detailVo.setDrillCategoryName(coreDrillDictionary.getDrillCategoryName());
             return detailVo;
         }).collect(Collectors.toList());
     }

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

@@ -22,11 +22,12 @@ import com.xunmei.common.core.domain.drill.vo.*;
 import com.xunmei.common.core.domain.panel.dto.PanelListDto;
 import com.xunmei.common.core.domain.panel.enums.PanelTypeEnums;
 import com.xunmei.common.core.domain.panel.vo.PanelListVo;
+import com.xunmei.common.core.domain.registerbook.domain.CoreRegisterBookPdf;
 import com.xunmei.common.core.domain.worktime.domain.SysWorkTime;
 import com.xunmei.common.core.domain.worktime.dto.WorkTimeDto;
 import com.xunmei.common.core.enums.CycleCommonEnum;
-import com.xunmei.common.core.enums.RegisterBookType;
 import com.xunmei.common.core.enums.OrgTypeEnum;
+import com.xunmei.common.core.enums.RegisterBookType;
 import com.xunmei.common.core.enums.drill.*;
 import com.xunmei.common.core.enums.edu.EduTrainingPlanCycleEnum;
 import com.xunmei.common.core.exception.SystemException;
@@ -40,8 +41,8 @@ import com.xunmei.core.drill.mapper.CoreDrillTaskMapper;
 import com.xunmei.core.drill.mapper.CoreDrillTaskToRoleMapper;
 import com.xunmei.core.drill.mapper.CoreDrillTaskToUserMapper;
 import com.xunmei.core.drill.service.ICoreDrillTaskService;
-import com.xunmei.core.drill.service.ICoreDrillTaskToRoleService;
 import com.xunmei.core.drill.service.ICoreDrillTaskToUserService;
+import com.xunmei.core.registerbook.service.ICoreRegisterBookPdfService;
 import com.xunmei.core.thread.ThreadPoolConfig;
 import com.xunmei.system.api.*;
 import com.xunmei.system.api.domain.SysConfig;
@@ -90,7 +91,7 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
     @Autowired
     private RemoteRoleService roleService;
     @Autowired
-    private ICoreDrillTaskToRoleService coreDrillTaskToRoleService;
+    private ICoreRegisterBookPdfService registerBookPdfService;
     @Autowired
     private CoreDrillTaskToRoleMapper taskToRoleMapper;
     @Autowired
@@ -619,6 +620,19 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
             updateWrapper.eq(CoreDrillTask::getId, id);
             updateWrapper.set(CoreDrillTask::getPdfUrl, pdfUrl);
             this.update(updateWrapper);
+
+            CoreRegisterBookPdf registerBookPdf = new CoreRegisterBookPdf();
+            registerBookPdf.setId(IdWorker.getId());
+            registerBookPdf.setRegisterBookType(RegisterBookType.SAFETY_DRILL.getNum());
+            registerBookPdf.setDate(new Date());
+            registerBookPdf.setOrgId(task.getOrgId());
+            registerBookPdf.setOrgName(task.getOrgName());
+            registerBookPdf.setOrgPath(sysOrg.getPath());
+            registerBookPdf.setFileUrl(pdfUrl);
+            registerBookPdf.setFileName(StringUtils.substringAfterLast(pdfUrl, "/"));
+            registerBookPdfService.save(registerBookPdf);
+
+
         }, threadPoolTaskExecutor);
 
         return AjaxResult.success("正在生成pdf,请稍后刷新页面查看!");

+ 16 - 21
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/service/impl/CoreEduTrainingTaskServiceImpl.java

@@ -25,11 +25,13 @@ import com.xunmei.common.core.domain.edu.vo.*;
 import com.xunmei.common.core.domain.panel.dto.PanelListDto;
 import com.xunmei.common.core.domain.panel.enums.PanelTypeEnums;
 import com.xunmei.common.core.domain.panel.vo.PanelListVo;
+import com.xunmei.common.core.domain.registerbook.domain.CoreRegisterBookPdf;
+import com.xunmei.common.core.domain.worktime.domain.SysWorkTime;
 import com.xunmei.common.core.domain.worktime.dto.WorkTimeDto;
 import com.xunmei.common.core.enums.CycleCommonEnum;
-import com.xunmei.common.core.enums.edu.EduTrainingPlanCycleEnum;
 import com.xunmei.common.core.enums.RegisterBookType;
 import com.xunmei.common.core.enums.edu.EduTrainingDoStatus;
+import com.xunmei.common.core.enums.edu.EduTrainingPlanCycleEnum;
 import com.xunmei.common.core.enums.edu.EduTrainingPlanStatus;
 import com.xunmei.common.core.event.WorkTimeChangeEvent;
 import com.xunmei.common.core.exception.SystemException;
@@ -42,8 +44,8 @@ import com.xunmei.core.edu.mapper.CoreEduTrainingTaskMapper;
 import com.xunmei.core.edu.mapper.CoreEduTrainingTaskToRoleMapper;
 import com.xunmei.core.edu.mapper.CoreEduTrainingTaskToUserMapper;
 import com.xunmei.core.edu.service.ICoreEduTrainingTaskService;
-import com.xunmei.core.edu.service.ICoreEduTrainingTaskToRoleService;
 import com.xunmei.core.edu.service.ICoreEduTrainingTaskToUserService;
+import com.xunmei.core.registerbook.service.ICoreRegisterBookPdfService;
 import com.xunmei.core.thread.ThreadPoolConfig;
 import com.xunmei.system.api.RemoteFileService;
 import com.xunmei.system.api.RemoteOrgService;
@@ -51,7 +53,6 @@ import com.xunmei.system.api.RemoteRoleService;
 import com.xunmei.system.api.RemoteWorkTimeService;
 import com.xunmei.system.api.domain.SysOrg;
 import com.xunmei.system.api.domain.SysUser;
-import com.xunmei.common.core.domain.worktime.domain.SysWorkTime;
 import com.xunmei.system.api.function.RemoteCallHandlerExecutor;
 import io.netty.util.internal.StringUtil;
 import lombok.extern.slf4j.Slf4j;
@@ -99,7 +100,7 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
     @Autowired
     private RemoteRoleService roleService;
     @Autowired
-    private ICoreEduTrainingTaskToRoleService coreEduTrainingTaskToRoleService;
+    private ICoreRegisterBookPdfService registerBookPdfService;
     @Autowired
     private CoreEduTrainingTaskToRoleMapper taskToRoleMapper;
     @Autowired
@@ -682,25 +683,19 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
             updateWrapper.eq(CoreEduTrainingTask::getId, id);
             updateWrapper.set(CoreEduTrainingTask::getPdfUrl, pdfUrl);
             this.update(updateWrapper);
+
+            CoreRegisterBookPdf registerBookPdf = new CoreRegisterBookPdf();
+            registerBookPdf.setId(IdWorker.getId());
+            registerBookPdf.setRegisterBookType(RegisterBookType.EDUCATION_TRAINING.getNum());
+            registerBookPdf.setDate(new Date());
+            registerBookPdf.setOrgId(task.getOrgId());
+            registerBookPdf.setOrgName(task.getOrgName());
+            registerBookPdf.setOrgPath(sysOrg.getPath());
+            registerBookPdf.setFileUrl(pdfUrl);
+            registerBookPdf.setFileName(StringUtils.substringAfterLast(pdfUrl, "/"));
+            registerBookPdfService.save(registerBookPdf);
         }, threadPoolTaskExecutor);
 
-       /* //新方式生成pdf
-        try {
-            String url = createEduPdfByNewType(data, dest);
-            //此处set以后 jpa框架自动保存入库
-            edu.setPdfUrl(url);
-
-            final RegisterBookPdf bookPdf = new RegisterBookPdf();
-            bookPdf.setId(IDHelper.id());
-            bookPdf.setRegisterBookType(ExportPdfType.EDUCATION_TRAINING);
-            bookPdf.setDate(new Date());
-            bookPdf.setOrgId(edu.getOrgId());
-            bookPdf.setPdfUrl(url);
-            registerBookPdfMapper.insert(bookPdf);
-            return url;
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }*/
         return AjaxResult.success("正在生成pdf,请稍后刷新页面查看!");
     }
 

+ 3 - 0
soc-modules/soc-modules-core/src/main/resources/mapper/drill/CoreDrillDictionaryMapper.xml

@@ -135,6 +135,9 @@
         <if test="request.drillProjects != null">
             and d.drill_projects like concat('%',#{request.drillProjects},'%')
         </if>
+        <if test="request.drillCategory != null">
+            and d.drill_category =#{request.drillCategory}
+        </if>
         <if test="request.drillType != null">
             and d.drill_type=#{request.drillType}
         </if>