Parcourir la source

Merge branch 'feat-20221222-tasktypepercentlimit' into temp-pre

李学松 il y a 2 ans
Parent
commit
305602fb04
13 fichiers modifiés avec 544 ajouts et 0 suppressions
  1. 38 0
      db/v2.0/221222.sql
  2. 33 0
      hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/constant/UpmsType.java
  3. 109 0
      hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/entity/WmTaskSubmissionPercentRule.java
  4. 90 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmTaskSubmissionPercentRuleController.java
  5. 12 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmTaskTypeController.java
  6. 51 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/WmTaskTypeSubCate2.java
  7. 12 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mapper/WmTaskSubmissionPercentRuleMapper.java
  8. 20 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mapper/WmTaskTypeSubCate2Mapper.java
  9. 13 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmTaskSubmissionPercentRuleService.java
  10. 23 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmTaskTypeSubCate2Service.java
  11. 1 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDeptTaskTypeConfigServiceImpl.java
  12. 19 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTaskSubmissionPercentRuleServiceImpl.java
  13. 123 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTaskTypeSubCate2ServiceImpl.java

+ 38 - 0
db/v2.0/221222.sql

@@ -0,0 +1,38 @@
+-- 任务提交百分比限制规则表
+create table wm_task_sub_percent_rule
+(
+    rule_id     int(20) auto_increment comment '规则ID'
+        primary key,
+    dept_id     int(20)                            not null comment '企业id',
+    sub_cate    varchar(32)                        not null comment '次级分类',
+    sub_rule    json                               null comment '规则',
+    opt_flag    varchar(32)                        not null comment '操作标记',
+    create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间',
+    update_time datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间'
+)
+    comment '任务提交百分比限制规则表' charset = utf8mb4;
+
+create index idx_dept_id
+    on wm_task_sub_percent_rule (dept_id);
+
+create index idx_sub_cate
+    on wm_task_sub_percent_rule (sub_cate);
+
+
+create table wm_task_type_sub_cate2
+(
+    dtt_id      int(20) auto_increment comment '主键ID'
+        primary key,
+    type_id     int(20)                            not null comment '企业id',
+    type_name   varchar(32)                        not null comment '任务名称',
+    sub_cate    varchar(32)                        not null comment '次级分类',
+    create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间',
+    update_time datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间'
+)
+    comment '任务类型二级分类表' charset = utf8mb4;
+
+create index idx_dept_id
+    on wm_task_type_sub_cate2 (type_id);
+
+create index idx_sub_cate
+    on wm_task_type_sub_cate2 (sub_cate);

+ 33 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/constant/UpmsType.java

@@ -64,6 +64,39 @@ public final class UpmsType {
 
 	}
 
+	/**
+	 * 任务二级分类2
+	 */
+	@Getter
+	@AllArgsConstructor
+	public enum TaskSubCategory2 {
+
+//		PRODUCT_ALBUM("PRODUCT_ALBUM", TaskCategory.FORWARD, "产品相册"),
+		ACADEMIC_INFO_EXCHANGE("ACADEMIC_INFO_EXCHANGE", TaskCategory.FORWARD, "学术信息交流"),
+		CONFERENCE("CONFERENCE", TaskCategory.CONFERENCES_INTERVIEWS, "会议举办"),
+		ONE_ON_ONE_INTERVIEW("ONE_ON_ONE_INTERVIEW", TaskCategory.CONFERENCES_INTERVIEWS, "一对一专访"),
+		TRAINING("TRAINING", TaskCategory.CONFERENCES_INTERVIEWS, "培训"),
+//		BUSINESS_COMPANY_VISIT("BUSINESS_COMPANY_VISIT", TaskCategory.CUSTOMER_VISIT, "商业公司拜访"),
+//		HOSPITAL_VISIT("HOSPITAL_VISIT", TaskCategory.CUSTOMER_VISIT, "医院拜访"),
+//		PHARMACY_VISIT("PHARMACY_VISIT", TaskCategory.CUSTOMER_VISIT, "药店拜访"),
+		INVENTORY_INFO_COLLECTION("INVENTORY_INFO_COLLECTION", TaskCategory.MARKET_INFO_COLLECTION, "库存信息搜集"),
+		HOSPITAL_INFO_COLLECTION("HOSPITAL_INFO_COLLECTION", TaskCategory.MARKET_INFO_COLLECTION, "医院信息搜集"),
+		CUSTOMER_VISIT("CUSTOMER_VISIT", TaskCategory.CUSTOMER_VISIT, "客户拜访"),
+		PRODUCT_PROMOTION("PRODUCT_PROMOTION", TaskCategory.FORWARD, "产品推广"),
+		MARKET_INFO_COLLECTION("MARKET_INFO_COLLECTION", TaskCategory.MARKET_INFO_COLLECTION, "市场信息搜集"),
+		SPECIAL_SERVICE("SPECIAL_SERVICE", null, "专项服务");
+
+
+
+		@EnumValue
+		private final String type;
+
+		private final TaskCategory category;
+
+		private final String description;
+
+	}
+
 	// 企业类型
 	@Getter
 	@AllArgsConstructor

+ 109 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/entity/WmTaskSubmissionPercentRule.java

@@ -0,0 +1,109 @@
+package com.qunzhixinxi.hnqz.admin.api.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
+import com.qunzhixinxi.hnqz.admin.api.constant.UpmsType;
+import com.qunzhixinxi.hnqz.common.core.constant.enums.CommonFlag;
+import lombok.Data;
+import lombok.ToString;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 任务提交百分比规则
+ *
+ * @author lixuesong
+ * @version 1.0.0
+ * @date 2022-12-22 14:43
+ */
+@Data
+@ToString
+@TableName(value = "wm_task_sub_percent_rule", autoResultMap = true)
+public class WmTaskSubmissionPercentRule extends Model<WmTaskSubmissionPercentRule> {
+
+	private static final long serialVersionUID = -2370239048359430285L;
+
+	/**
+	 * 提交规则id
+	 */
+	@TableId(value = "rule_id", type = IdType.AUTO)
+	private Integer ruleId;
+
+	/**
+	 * 企业id
+	 */
+	@NotNull(message = "deptId不能为空")
+	private Integer deptId;
+
+	/**
+	 * 二级分类
+	 */
+	@NotNull(message = "subCategory不能为空")
+	@TableField(value = "sub_cate")
+	private UpmsType.TaskSubCategory subCategory;
+
+	/**
+	 * 任务规则
+	 */
+	@Valid
+	@NotNull(message = "rule不能为空")
+	@TableField(value = "sub_rule", typeHandler = FastjsonTypeHandler.class)
+	private PercentRule rule;
+
+	/**
+	 * 可操作标记
+	 */
+	private CommonFlag.OptFlag optFlag;
+
+	/**
+	 * 创建时间
+	 */
+	private LocalDateTime createTime;
+
+	/**
+	 * 创建时间
+	 */
+	private LocalDateTime updateTime;
+
+
+	/**
+	 * 提交规则实体
+	 */
+	@Data
+	@ToString
+	public static class PercentRule implements Serializable {
+
+		private static final long serialVersionUID = -6254889506697833544L;
+
+		/**
+		 * 任务类型列表
+		 */
+		@NotEmpty(message = "taskTypeIds不能为空")
+		private String[] taskTypeIds;
+
+		/**
+		 * 积分包值:积分包值大于这个值的包,才限制这个规则
+		 */
+		@NotNull(message = "startScore不能为空")
+		private Integer startScore;
+
+		/**
+		 * 百分比:达到要求的积分包,上述所选的任务总完成积分值不得大于积分包值*百分比
+		 */
+		@NotBlank(message = "limitPercent不能为空")
+		private String limitPercent;
+	}
+
+
+}

+ 90 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmTaskSubmissionPercentRuleController.java

@@ -0,0 +1,90 @@
+package com.qunzhixinxi.hnqz.admin.controller;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSubmissionPercentRule;
+import com.qunzhixinxi.hnqz.admin.service.WmTaskSubmissionPercentRuleService;
+import com.qunzhixinxi.hnqz.common.core.constant.enums.CommonFlag;
+import com.qunzhixinxi.hnqz.common.core.util.R;
+import lombok.AllArgsConstructor;
+import org.springframework.http.MediaType;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 任务提交百分比规则
+ *
+ * @author snows
+ * @date 2022/12/22 15:41
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping(value = "/task/percent/rule", produces = MediaType.APPLICATION_JSON_VALUE)
+public class WmTaskSubmissionPercentRuleController {
+
+	private final WmTaskSubmissionPercentRuleService wmTaskSubmissionPercentRuleService;
+
+	/**
+	 * 获取企业的限制规则
+	 *
+	 * @param deptId
+	 * @return
+	 */
+	@GetMapping
+	public R<List<WmTaskSubmissionPercentRule>> listDeptRules(@RequestParam(value = "deptId") Integer deptId) {
+		return R.ok(wmTaskSubmissionPercentRuleService.list(Wrappers.<WmTaskSubmissionPercentRule>lambdaQuery()
+				.eq(WmTaskSubmissionPercentRule::getDeptId, deptId)
+				.eq(WmTaskSubmissionPercentRule::getOptFlag, CommonFlag.OptFlag.OK)));
+	}
+
+	/**
+	 * 保存
+	 *
+	 * @param rule
+	 * @return
+	 */
+	@PostMapping
+	public R<Boolean> save(@Validated @RequestBody WmTaskSubmissionPercentRule rule) {
+		// 默认正常
+		rule.setOptFlag(CommonFlag.OptFlag.OK);
+
+		return R.ok(wmTaskSubmissionPercentRuleService.save(rule));
+	}
+
+	/**
+	 * 更新
+	 *
+	 * @param rule
+	 * @return
+	 */
+	@PutMapping
+	public R<Boolean> update(@RequestBody WmTaskSubmissionPercentRule rule) {
+		if (rule.getRuleId() == null) {
+			return R.failed("ruleId不能为空");
+		}
+
+		WmTaskSubmissionPercentRule updateRule = new WmTaskSubmissionPercentRule();
+		updateRule.setRuleId(rule.getRuleId());
+		updateRule.setRule(rule.getRule());
+
+		return R.ok(wmTaskSubmissionPercentRuleService.updateById(rule));
+	}
+
+	/**
+	 * 删除规则(逻辑删除)
+	 *
+	 * @param ruleId
+	 * @return
+	 */
+	@DeleteMapping("/{ruleId}")
+	public R<Boolean> delete(@PathVariable("ruleId") Integer ruleId) {
+
+		WmTaskSubmissionPercentRule rule = new WmTaskSubmissionPercentRule();
+		rule.setRuleId(ruleId);
+		rule.setOptFlag(CommonFlag.OptFlag.DELETED);
+
+		return R.ok(wmTaskSubmissionPercentRuleService.updateById(rule));
+	}
+
+}

+ 12 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmTaskTypeController.java

@@ -61,6 +61,7 @@ public class WmTaskTypeController {
 	private final WmDaAgentService wmDaAgentService;
 	private final WmTaskTypeEntRefService wmTaskTypeEntRefService;
 	private final WmDeptTaskTypeConfigService wmDeptTaskTypeConfigService;
+	private final WmTaskTypeSubCate2Service wmTaskTypeSubCate2Service;
 
 	/**
 	 * 分页查询
@@ -367,4 +368,15 @@ public class WmTaskTypeController {
 		List<Map<String, Object>> list = wmDeptTaskTypeConfigService.listConfigedTaskTypeTree(taskTypeName);
 		return R.ok(list);
 	}
+
+	/**
+	 * 根据企业id查询分类的任务类型
+	 *
+	 * @param deptId
+	 * @return
+	 */
+	@GetMapping("/list-category-task-type")
+	public R<?> listTaskTypeTree(@RequestParam("deptId") Integer deptId) {
+		return R.ok(wmTaskTypeSubCate2Service.listTaskTypeTree(deptId));
+	}
 }

+ 51 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/WmTaskTypeSubCate2.java

@@ -0,0 +1,51 @@
+package com.qunzhixinxi.hnqz.admin.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 任务类型二级分类表
+ * @TableName wm_task_type_sub_cate2
+ */
+@TableName(value ="wm_task_type_sub_cate2")
+@Data
+public class WmTaskTypeSubCate2 implements Serializable {
+
+	private static final long serialVersionUID = 6741894674905816850L;
+
+	/**
+     * 主键ID
+     */
+    @TableId(type = IdType.AUTO)
+    private Integer dttId;
+
+    /**
+     * 企业id
+     */
+    private Integer typeId;
+
+    /**
+     * 任务名称
+     */
+    private String typeName;
+
+    /**
+     * 次级分类
+     */
+    private String subCate;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 修改时间
+     */
+    private Date updateTime;
+
+}

+ 12 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mapper/WmTaskSubmissionPercentRuleMapper.java

@@ -0,0 +1,12 @@
+package com.qunzhixinxi.hnqz.admin.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSubmissionPercentRule;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ *
+ */
+@Mapper
+public interface WmTaskSubmissionPercentRuleMapper extends BaseMapper<WmTaskSubmissionPercentRule> {
+}

+ 20 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mapper/WmTaskTypeSubCate2Mapper.java

@@ -0,0 +1,20 @@
+package com.qunzhixinxi.hnqz.admin.mapper;
+
+import com.qunzhixinxi.hnqz.admin.entity.WmTaskTypeSubCate2;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @author snows
+* @description 针对表【wm_dept_task_type(任务类型二级分类表)】的数据库操作Mapper
+* @createDate 2022-12-22 23:57:19
+* @Entity com.qunzhixinxi.hnqz.admin.entity.WmDeptTaskType
+*/
+@Mapper
+public interface WmTaskTypeSubCate2Mapper extends BaseMapper<WmTaskTypeSubCate2> {
+
+}
+
+
+
+

+ 13 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmTaskSubmissionPercentRuleService.java

@@ -0,0 +1,13 @@
+package com.qunzhixinxi.hnqz.admin.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSubmissionPercentRule;
+
+/**
+ * 任务提交百分比规则
+ *
+ * @author snows
+ * @date 2022/12/22 15:32
+ */
+public interface WmTaskSubmissionPercentRuleService extends IService<WmTaskSubmissionPercentRule> {
+}

+ 23 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmTaskTypeSubCate2Service.java

@@ -0,0 +1,23 @@
+package com.qunzhixinxi.hnqz.admin.service;
+
+import com.qunzhixinxi.hnqz.admin.entity.WmTaskTypeSubCate2;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+* @author snows
+* @description 针对表【wm_dept_task_type(任务类型二级分类表)】的数据库操作Service
+* @createDate 2022-12-22 23:57:19
+*/
+public interface WmTaskTypeSubCate2Service extends IService<WmTaskTypeSubCate2> {
+
+	/**
+	 * 根据企业id查询任务类型树
+	 *
+	 * @param deptId
+	 * @return
+	 */
+	List<Map<String, Object>> listTaskTypeTree(Integer deptId);
+}

+ 1 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDeptTaskTypeConfigServiceImpl.java

@@ -89,6 +89,7 @@ public class WmDeptTaskTypeConfigServiceImpl extends ServiceImpl<WmDeptTaskTypeC
 	 */
 	private static Map<String, List<String>> BASE_TASK_TYPE_MAP = new LinkedHashMap<>();
 
+	// TODO 由表wm_dept_task_type 替换进行维护
 	static {
 		List<String> meetingList = new ArrayList<String>() {{
 			add("医院科室推广会");

+ 19 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTaskSubmissionPercentRuleServiceImpl.java

@@ -0,0 +1,19 @@
+package com.qunzhixinxi.hnqz.admin.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSubmissionPercentRule;
+import com.qunzhixinxi.hnqz.admin.mapper.WmTaskSubmissionPercentRuleMapper;
+import com.qunzhixinxi.hnqz.admin.service.WmTaskSubmissionPercentRuleService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 任务提交百分比规则
+ *
+ * @author snows
+ * @date 2022/12/22 15:35
+ */
+@Service
+public class WmTaskSubmissionPercentRuleServiceImpl
+		extends ServiceImpl<WmTaskSubmissionPercentRuleMapper, WmTaskSubmissionPercentRule>
+		implements WmTaskSubmissionPercentRuleService {
+}

+ 123 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTaskTypeSubCate2ServiceImpl.java

@@ -0,0 +1,123 @@
+package com.qunzhixinxi.hnqz.admin.service.impl;
+
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.map.MapUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qunzhixinxi.hnqz.admin.api.constant.UpmsType;
+import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
+import com.qunzhixinxi.hnqz.admin.entity.WmDaAgent;
+import com.qunzhixinxi.hnqz.admin.entity.WmDaDrugEnt;
+import com.qunzhixinxi.hnqz.admin.entity.WmTaskTypeSubCate2;
+import com.qunzhixinxi.hnqz.admin.entity.WmTaskType;
+import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
+import com.qunzhixinxi.hnqz.admin.enums.DeptLevelEnum;
+import com.qunzhixinxi.hnqz.admin.mapper.SysDeptMapper;
+import com.qunzhixinxi.hnqz.admin.mapper.WmDaAgentMapper;
+import com.qunzhixinxi.hnqz.admin.mapper.WmDaDrugEntMapper;
+import com.qunzhixinxi.hnqz.admin.mapper.WmTaskTypeSubCate2Mapper;
+import com.qunzhixinxi.hnqz.admin.service.WmTaskTypeSubCate2Service;
+import com.qunzhixinxi.hnqz.admin.service.WmTaskTypeService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+* @author snows
+* @description 针对表【wm_dept_task_type(任务类型二级分类表)】的数据库操作Service实现
+* @createDate 2022-12-22 23:57:19
+*/
+@Service
+@AllArgsConstructor
+public class WmTaskTypeSubCate2ServiceImpl extends ServiceImpl<WmTaskTypeSubCate2Mapper, WmTaskTypeSubCate2>
+    implements WmTaskTypeSubCate2Service {
+
+	private final SysDeptMapper sysDeptMapper;
+
+	private final WmDaDrugEntMapper wmDaDrugEntMapper;
+
+	private final WmDaAgentMapper wmDaAgentMapper;
+
+	private final WmTaskTypeService wmTaskTypeService;
+
+	/**
+	 * 根据企业id查询任务类型树
+	 *
+	 * @param deptId
+	 * @return
+	 */
+	@Override
+	public List<Map<String, Object>> listTaskTypeTree(Integer deptId) {
+
+		String durgentId = null;
+		SysDept dept = sysDeptMapper.selectById(deptId);
+		if (DeptLevelEnum.ENT.getVal().equals(dept.getLevel())) {
+			WmDaDrugEnt wmDaDrugEnt = wmDaDrugEntMapper.selectOne(Wrappers.<WmDaDrugEnt>lambdaQuery()
+					.eq(WmDaDrugEnt::getDeptId, deptId)
+					.eq(WmDaDrugEnt::getDelFlag, DelEnum.NOT_DEL.val()));
+			durgentId = wmDaDrugEnt.getId();
+		} else {
+			WmDaAgent wmDaAgent = wmDaAgentMapper.selectOne(Wrappers.<WmDaAgent>lambdaQuery()
+					.eq(WmDaAgent::getDeptId, deptId)
+					.eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.val()));
+			durgentId = wmDaAgent.getId();
+		}
+		// 查询企业对应的任务类型
+		LambdaQueryWrapper<WmTaskType> taskTypeWrapper = Wrappers.lambdaQuery();
+		taskTypeWrapper.eq(WmTaskType::getDeptId, deptId);
+		taskTypeWrapper.eq(WmTaskType::getRuleId, durgentId);
+		taskTypeWrapper.eq(WmTaskType::getTaskEntId, durgentId);
+		List<WmTaskType> taskTypeList = wmTaskTypeService.list(taskTypeWrapper);
+
+		// 查询基础任务类型
+		List<WmTaskType> baseTaskTypeList = wmTaskTypeService.list(Wrappers.<WmTaskType>lambdaQuery()
+				.eq(WmTaskType::getTaskTypeLevel, "1")
+				.eq(WmTaskType::getDelFlag, DelEnum.NOT_DEL.val()));
+		Map<String, String> baseTaskTypeMap = baseTaskTypeList.stream()
+				.collect(Collectors.toMap(WmTaskType::getTaskTypeName, WmTaskType::getId));
+
+		// 查询任务类型分类表
+		List<WmTaskTypeSubCate2> list = this.list();
+		// key-任务类型父类型, value-任务类型名称列表
+		Map<String, List<String>> listMap = list.stream()
+				.collect(
+						Collectors.groupingBy(
+								WmTaskTypeSubCate2::getSubCate, Collectors.mapping(WmTaskTypeSubCate2::getTypeName, Collectors.toList())
+						)
+				);
+
+		List<Map<String, Object>> resultList = new ArrayList<>();
+		if (CollectionUtil.isNotEmpty(taskTypeList)) {
+			// 根据任务类型分类表,给企业任务类型分类
+			listMap.forEach((key, val) -> {
+				List<Map<String, String>> childTypeList = taskTypeList.stream()
+						.filter(wmTaskType -> val.contains(wmTaskType.getTaskTypeName())).map(wmTaskType -> {
+							Map<String, String> typeMap = new HashMap<>();
+							typeMap.put("taskTypeName", wmTaskType.getTaskTypeName());
+							typeMap.put("taskTypeId", baseTaskTypeMap.get(wmTaskType.getTaskTypeName()));
+							return typeMap;
+						})
+						.collect(Collectors.toList());
+				if (CollectionUtil.isNotEmpty(childTypeList)) {
+					Map<String, Object> taskTypeMap = MapUtil.newHashMap(2);
+					taskTypeMap.put("category", key);
+					taskTypeMap.put("categoryName", UpmsType.TaskSubCategory2.valueOf(key).getDescription());
+					taskTypeMap.put("children", childTypeList);
+					resultList.add(taskTypeMap);
+				}
+			});
+		}
+
+		return resultList;
+	}
+}
+
+
+
+