Parcourir la source

批量审批任务类型-配置部分

lixuesong il y a 3 ans
Parent
commit
9037325737

+ 13 - 0
db/v2.0/1202.sql

@@ -0,0 +1,13 @@
+-- 新增 部门任务类型配置
+CREATE TABLE `wm_dept_task_type_config`
+(
+    `id`             int NOT NULL AUTO_INCREMENT,
+    `dept_id`        int NOT NULL COMMENT '组织机构ID',
+    `task_type_json` varchar(512) DEFAULT NULL COMMENT '任务类型配置',
+    `create_time`    datetime     DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
+    `create_user`    int          DEFAULT NULL COMMENT '创建人',
+    `update_time`    datetime     DEFAULT NULL COMMENT '更新时间',
+    `update_user`    int          DEFAULT NULL COMMENT '更新人',
+    PRIMARY KEY (`id`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='部门任务类型配置';

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

@@ -430,4 +430,16 @@ public class SysDeptController {
 	public R convertToName() {
 		return R.ok(sysDeptService.convertToName());
 	}
+
+	/**
+	 * 分页查询药企和CSO代理商
+	 *
+	 * @param page
+	 * @param deptName
+	 * @return
+	 */
+	@GetMapping("/list-ent-and-agent")
+	public R<?> listEntAndAgent(Page page, String deptName) {
+		return R.ok(sysDeptService.listEntAndAgent(page, deptName));
+	}
 }

+ 55 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmDeptTaskTypeConfigController.java

@@ -0,0 +1,55 @@
+package com.qunzhixinxi.hnqz.admin.controller;
+
+import com.qunzhixinxi.hnqz.admin.entity.dto.WmDeptTaskTypeConfigDTO;
+import com.qunzhixinxi.hnqz.admin.service.WmDeptTaskTypeConfigService;
+import com.qunzhixinxi.hnqz.common.core.util.R;
+import com.qunzhixinxi.hnqz.common.log.annotation.SysLog;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 部门任务类型配置控制层
+ *
+ * @author lixuesong
+ * @date 2021年12月03日 11:03
+ */
+@Slf4j
+@RestController
+@AllArgsConstructor
+@RequestMapping("/dept-task-type-config")
+public class WmDeptTaskTypeConfigController {
+
+	private WmDeptTaskTypeConfigService wmDeptTaskTypeConfigService;
+
+	/**
+	 * 保存任务类型配置
+	 *
+	 * @param wmDeptTaskTypeConfigDTO
+	 * @return
+	 */
+	@SysLog("保存任务类型配置")
+	@PostMapping("/save")
+	public R<?> saveDeptTaskTypeConfig(@Validated @RequestBody WmDeptTaskTypeConfigDTO wmDeptTaskTypeConfigDTO) {
+		wmDeptTaskTypeConfigService.saveDeptTaskTypeConfig(wmDeptTaskTypeConfigDTO);
+		return R.ok();
+	}
+
+	/**
+	 * 查询任务类型配置
+	 *
+	 * @param deptId
+	 * @return
+	 */
+	@GetMapping("/{deptId}")
+	public R<WmDeptTaskTypeConfigDTO> getDeptTaskTypeConfig(@PathVariable("deptId") Integer deptId) {
+		return R.ok(wmDeptTaskTypeConfigService.getDeptTaskTypeConfig(deptId));
+	}
+
+}

+ 57 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/WmDeptTaskTypeConfig.java

@@ -0,0 +1,57 @@
+package com.qunzhixinxi.hnqz.admin.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.time.LocalDateTime;
+
+/**
+ * 部门任务类型配置实体
+ *
+ * @author lixuesong
+ * @date 2021年12月02日 18:56
+ */
+@Data
+@TableName("wm_dept_task_type_config")
+@EqualsAndHashCode(callSuper = true)
+public class WmDeptTaskTypeConfig extends Model<WmDeptTaskTypeConfig> {
+
+	/**
+	 * 主键id
+	 */
+	@TableId
+	private Integer id;
+
+	/**
+	 * 部门id
+	 */
+	private Integer deptId;
+
+	/**
+	 * 任务类型配置
+	 */
+	private String taskTypeJson;
+
+	/**
+	 * 创建时间
+	 */
+	private LocalDateTime createTime;
+
+	/**
+	 * 创建人
+	 */
+	private Integer createUser;
+
+	/**
+	 * 更新时间
+	 */
+	private LocalDateTime updateTime;
+
+	/**
+	 * 更新人
+	 */
+	private Integer updateUser;
+}

+ 78 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/base/HnqzPage.java

@@ -0,0 +1,78 @@
+package com.qunzhixinxi.hnqz.admin.entity.base;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * {@code HnqzPage}
+ * <p>
+ * 分页结果
+ *
+ * @author Hengchen.Sun
+ * @version 1.0.0
+ * @date 2021/11/11 16:46
+ */
+@Data
+public final class HnqzPage<T> implements Serializable {
+
+    private static final long serialVersionUID = 4263748953110453274L;
+
+    public HnqzPage(Page<T> page) {
+        this.records = page.getRecords();
+        this.total = page.getTotal();
+        this.current = page.getCurrent();
+        this.size = page.getSize();
+        this.pages = page.getPages();
+        this.hasNext = page.hasNext();
+        this.hasPrevious = page.hasPrevious();
+    }
+
+    /**
+     * 记录
+     */
+    private final List<T> records;
+
+    /**
+     * 记录总数
+     */
+    private final Long total;
+
+    /**
+     * 分页记录数
+     */
+    private final Long size;
+
+    /**
+     * 是否是最后一页
+     */
+    private final Boolean hasNext;
+
+    /**
+     * 是否是第一页
+     */
+    private final Boolean hasPrevious;
+
+    /**
+     * 当前页
+     */
+    private final Long current;
+
+    /**
+     * 总共多少页
+     */
+    private final Long pages;
+
+    /**
+     * 静态方法 封装page
+     *
+     * @param page 分页结果
+     * @param <T>  记录类型
+     * @return gulop page
+     */
+    public static <T> HnqzPage<T> of(Page<T> page) {
+        return new HnqzPage<>(page);
+    }
+}

+ 43 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/dto/WmDeptTaskTypeConfigDTO.java

@@ -0,0 +1,43 @@
+package com.qunzhixinxi.hnqz.admin.entity.dto;
+
+import com.qunzhixinxi.hnqz.admin.entity.WmTaskType;
+import com.qunzhixinxi.hnqz.admin.entity.base.BaseEntity;
+import lombok.Data;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * 部门任务类型配置DTO
+ *
+ * @author lixuesong
+ * @date 2021年12月03日 10:28
+ */
+@Data
+public class WmDeptTaskTypeConfigDTO {
+
+	/**
+	 * 主键id
+	 */
+	private Integer id;
+
+	/**
+	 * 部门id
+	 */
+	@NotNull(groups = {BaseEntity.Create.class, BaseEntity.Update.class})
+	private Integer deptId;
+
+	/**
+	 * 任务配置列表
+	 */
+	@Valid
+	@NotEmpty(groups = {BaseEntity.Create.class, BaseEntity.Update.class})
+	private List<WmDeptTaskTypeConfigJsonDTO> configList;
+
+	/**
+	 * 任务类型列表
+	 */
+	private List<WmTaskType> taskTypeList;
+}

+ 53 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/dto/WmDeptTaskTypeConfigJsonDTO.java

@@ -0,0 +1,53 @@
+package com.qunzhixinxi.hnqz.admin.entity.dto;
+
+import com.qunzhixinxi.hnqz.admin.entity.base.BaseEntity;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * 部门任务类型配置json DTO
+ *
+ * @author lixuesong
+ * @date 2021年12月03日 10:33
+ */
+@Data
+public class WmDeptTaskTypeConfigJsonDTO {
+
+	/**
+	 * 任务类型id
+	 */
+	@NotBlank(groups = {BaseEntity.Create.class, BaseEntity.Update.class})
+	private String taskTypeId;
+
+	/**
+	 * 任务类型名称
+	 */
+	@NotBlank(groups = {BaseEntity.Create.class, BaseEntity.Update.class})
+	private String taskTypeName;
+
+	/**
+	 * 是否限定任务
+	 */
+	@NotNull(groups = {BaseEntity.Create.class, BaseEntity.Update.class})
+	private Boolean qualifiedTask;
+
+	/**
+	 * 是否勾选兼职学术信息沟通专员状态(-1-禁用,0-未勾选,1-已勾选)
+	 */
+	@NotNull(groups = {BaseEntity.Create.class, BaseEntity.Update.class})
+	private Integer zbdbStatus;
+
+	/**
+	 * 是否勾选全职学术信息沟通专员状态(-1-禁用,0-未勾选,1-已勾选)
+	 */
+	@NotNull(groups = {BaseEntity.Create.class, BaseEntity.Update.class})
+	private Integer yydbStatus;
+
+	/**
+	 * 是否关联下级
+	 */
+	@NotNull(groups = {BaseEntity.Create.class, BaseEntity.Update.class})
+	private Boolean associateLower;
+}

+ 23 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/enums/DeptLevelEnum.java

@@ -0,0 +1,23 @@
+package com.qunzhixinxi.hnqz.admin.enums;
+
+/**
+ * 部门级别
+ *
+ * @author lixuesong
+ * @date 2021年12月03日 14:13
+ */
+public enum DeptLevelEnum {
+
+	// 1-要易业务管理平台,2-药企,3-一级CSO,4-二级CSO,5-CRO
+	ADMIN(1), ENT(2), CSO_L1(3), CSO_L2(4), CRO(5);
+
+	private Integer val;
+
+	DeptLevelEnum(Integer val) {
+		this.val = val;
+	}
+
+	public Integer getVal() {
+		return val;
+	}
+}

+ 15 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mapper/WmDeptTaskTypeConfigMapper.java

@@ -0,0 +1,15 @@
+package com.qunzhixinxi.hnqz.admin.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qunzhixinxi.hnqz.admin.entity.WmDeptTaskTypeConfig;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 部门任务类型配置Mapper
+ *
+ * @author lixuesong
+ * @date 2021年12月03日 10:10
+ */
+@Mapper
+public interface WmDeptTaskTypeConfigMapper extends BaseMapper<WmDeptTaskTypeConfig> {
+}

+ 10 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/SysDeptService.java

@@ -19,6 +19,7 @@
 
 package com.qunzhixinxi.hnqz.admin.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qunzhixinxi.hnqz.admin.api.dto.DeptTree;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
@@ -100,4 +101,13 @@ public interface SysDeptService extends IService<SysDept> {
 	List convertToName();
 
 	List getChildDept(SysDept sysDept);
+
+	/**
+	 * 分页查询药企和CSO代理商
+	 *
+	 * @param page 分页参数
+	 * @param deptName 部门名称
+	 * @return
+	 */
+	Map<String, Object> listEntAndAgent(Page page, String deptName);
 }

+ 29 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmDeptTaskTypeConfigService.java

@@ -0,0 +1,29 @@
+package com.qunzhixinxi.hnqz.admin.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.qunzhixinxi.hnqz.admin.entity.WmDeptTaskTypeConfig;
+import com.qunzhixinxi.hnqz.admin.entity.dto.WmDeptTaskTypeConfigDTO;
+
+/**
+ * 部门任务类型配置服务
+ *
+ * @author lixuesong
+ * @date 2021年12月03日 10:13
+ */
+public interface WmDeptTaskTypeConfigService extends IService<WmDeptTaskTypeConfig> {
+
+	/**
+	 * 保存任务类型配置
+	 *
+	 * @param wmDeptTaskTypeConfigDTO
+	 */
+	void saveDeptTaskTypeConfig(WmDeptTaskTypeConfigDTO wmDeptTaskTypeConfigDTO);
+
+	/**
+	 * 查询任务类型配置
+	 *
+	 * @param deptId
+	 * @return
+	 */
+	WmDeptTaskTypeConfigDTO getDeptTaskTypeConfig(Integer deptId);
+}

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

@@ -19,13 +19,20 @@
 
 package com.qunzhixinxi.hnqz.admin.service.impl;
 
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
+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.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qunzhixinxi.hnqz.admin.api.dto.DeptTree;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysDeptRelation;
 import com.qunzhixinxi.hnqz.admin.api.vo.TreeUtil;
+import com.qunzhixinxi.hnqz.admin.entity.base.HnqzPage;
+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.SysDeptRelationMapper;
 import com.qunzhixinxi.hnqz.admin.mapper.WmRelationMapper;
@@ -34,6 +41,7 @@ import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
 import com.qunzhixinxi.hnqz.common.data.datascope.DataScope;
 import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
 import lombok.AllArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -452,4 +460,52 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
 		return deptMapper.selectEntCodeByLevelId(levelId, level);
 	}
 
+	/**
+	 * 分页查询药企和CSO代理商
+	 *
+	 * @param page 分页参数
+	 * @param deptName 部门名称
+	 * @return
+	 */
+	@Override
+	public Map<String, Object> listEntAndAgent(Page page, String deptName) {
+		// 药企
+		LambdaQueryWrapper<SysDept> entWrapper = Wrappers.lambdaQuery();
+		entWrapper.eq(SysDept::getDelFlag, DelEnum.NOT_DEL.val());
+		entWrapper.eq(SysDept::getLevel, DeptLevelEnum.ENT.getVal());
+		if (StringUtils.isNotBlank(deptName)) {
+			entWrapper.like(SysDept::getName, deptName);
+		}
+		Page<SysDept> entPage = this.page(page, entWrapper);
+		List<Map<String, Object>> entMapList = entPage.getRecords().stream().map(sysDept -> {
+			Map<String, Object> deptMap = MapUtil.newHashMap(2);
+			deptMap.put("deptId", sysDept.getDeptId());
+			deptMap.put("name", sysDept.getName());
+			return deptMap;
+		}).collect(Collectors.toList());
+		Page<Map<String, Object>> entHnqzPage = BeanUtil.copyProperties(entPage, Page.class);
+		entHnqzPage.setRecords(entMapList);
+
+		// CSO
+		LambdaQueryWrapper<SysDept> csoWrapper = Wrappers.lambdaQuery();
+		csoWrapper.eq(SysDept::getDelFlag, DelEnum.NOT_DEL.val());
+		csoWrapper.eq(SysDept::getLevel, DeptLevelEnum.CSO_L1.getVal());
+		if (StringUtils.isNotBlank(deptName)) {
+			csoWrapper.like(SysDept::getName, deptName);
+		}
+		Page<SysDept> csoPage = this.page(page, csoWrapper);
+		List<Map<String, Object>> csoMapList = csoPage.getRecords().stream().map(sysDept -> {
+			Map<String, Object> deptMap = MapUtil.newHashMap(2);
+			deptMap.put("deptId", sysDept.getDeptId());
+			deptMap.put("name", sysDept.getName());
+			return deptMap;
+		}).collect(Collectors.toList());
+		Page<Map<String, Object>> csoHnqzPage = BeanUtil.copyProperties(entPage, Page.class);
+		csoHnqzPage.setRecords(csoMapList);
+
+		Map<String, Object> resultMap = MapUtil.newHashMap(2);
+		resultMap.put("entPage", new HnqzPage<>(entHnqzPage));
+		resultMap.put("csoPage", new HnqzPage<>(csoHnqzPage));
+		return resultMap;
+	}
 }

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

@@ -0,0 +1,118 @@
+package com.qunzhixinxi.hnqz.admin.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qunzhixinxi.hnqz.admin.api.entity.SysDeptRelation;
+import com.qunzhixinxi.hnqz.admin.entity.WmDaDrugEnt;
+import com.qunzhixinxi.hnqz.admin.entity.WmDeptTaskTypeConfig;
+import com.qunzhixinxi.hnqz.admin.entity.WmTaskType;
+import com.qunzhixinxi.hnqz.admin.entity.dto.WmDeptTaskTypeConfigDTO;
+import com.qunzhixinxi.hnqz.admin.entity.dto.WmDeptTaskTypeConfigJsonDTO;
+import com.qunzhixinxi.hnqz.admin.enums.EnableEnum;
+import com.qunzhixinxi.hnqz.admin.mapper.SysDeptRelationMapper;
+import com.qunzhixinxi.hnqz.admin.mapper.WmDaDrugEntMapper;
+import com.qunzhixinxi.hnqz.admin.mapper.WmDeptTaskTypeConfigMapper;
+import com.qunzhixinxi.hnqz.admin.service.WmDeptTaskTypeConfigService;
+import com.qunzhixinxi.hnqz.admin.service.WmTaskTypeService;
+import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * 部门任务类型配置服务
+ *
+ * @author lixuesong
+ * @date 2021年12月03日 10:14
+ */
+@Slf4j
+@AllArgsConstructor
+@Service
+public class WmDeptTaskTypeConfigServiceImpl extends ServiceImpl<WmDeptTaskTypeConfigMapper, WmDeptTaskTypeConfig> implements WmDeptTaskTypeConfigService {
+
+	private final WmTaskTypeService wmTaskTypeService;
+
+	private final SysDeptRelationMapper sysDeptRelationMapper;
+
+	private final WmDaDrugEntMapper wmDaDrugEntMapper;
+
+	/**
+	 * 保存任务类型配置
+	 *
+	 * @param wmDeptTaskTypeConfigDTO
+	 */
+	@Override
+	public void saveDeptTaskTypeConfig(WmDeptTaskTypeConfigDTO wmDeptTaskTypeConfigDTO) {
+		// 判断是否已存在
+		int count = this.count(Wrappers.<WmDeptTaskTypeConfig>lambdaQuery()
+				.eq(WmDeptTaskTypeConfig::getDeptId, wmDeptTaskTypeConfigDTO.getDeptId()));
+		if (count <= 0) {
+			// 新增
+			WmDeptTaskTypeConfig deptTaskTypeConfig = new WmDeptTaskTypeConfig();
+			deptTaskTypeConfig.setDeptId(wmDeptTaskTypeConfigDTO.getDeptId());
+			deptTaskTypeConfig.setTaskTypeJson(JSON.toJSONString(wmDeptTaskTypeConfigDTO.getConfigList()));
+			deptTaskTypeConfig.setCreateTime(LocalDateTime.now());
+			deptTaskTypeConfig.setCreateUser(SecurityUtils.getUser().getId());
+			this.save(deptTaskTypeConfig);
+		} else {
+			// 更新
+			WmDeptTaskTypeConfig deptTaskTypeConfig = new WmDeptTaskTypeConfig();
+			deptTaskTypeConfig.setDeptId(wmDeptTaskTypeConfigDTO.getDeptId());
+			deptTaskTypeConfig.setTaskTypeJson(JSON.toJSONString(wmDeptTaskTypeConfigDTO.getConfigList()));
+			deptTaskTypeConfig.setUpdateTime(LocalDateTime.now());
+			deptTaskTypeConfig.setUpdateUser(SecurityUtils.getUser().getId());
+			this.update(Wrappers.<WmDeptTaskTypeConfig>lambdaUpdate()
+					.eq(WmDeptTaskTypeConfig::getDeptId, deptTaskTypeConfig.getDeptId())
+					.set(WmDeptTaskTypeConfig::getTaskTypeJson, JSON.toJSONString(wmDeptTaskTypeConfigDTO.getConfigList()))
+					.set(WmDeptTaskTypeConfig::getUpdateTime, LocalDateTime.now())
+					.set(WmDeptTaskTypeConfig::getUpdateUser, SecurityUtils.getUser().getId()));
+		}
+	}
+
+	/**
+	 * 查询任务类型配置
+	 *
+	 * @param deptId
+	 * @return
+	 */
+	@Override
+	public WmDeptTaskTypeConfigDTO getDeptTaskTypeConfig(Integer deptId) {
+		// 查询出当前dept对应的任务类型(药企或药企给CSO的任务类型)
+		List<SysDeptRelation> relationList = sysDeptRelationMapper.selectList(Wrappers.<SysDeptRelation>lambdaQuery()
+				.eq(SysDeptRelation::getDescendant, deptId));
+		SysDeptRelation deptRelation = relationList.stream()
+				.filter(sysDeptRelation -> !sysDeptRelation.getAncestor().equals(1))
+				.findFirst()
+				.get();
+		WmDaDrugEnt wmDaDrugEnt = wmDaDrugEntMapper.selectOne(Wrappers.<WmDaDrugEnt>lambdaQuery()
+				.eq(WmDaDrugEnt::getDeptId, deptRelation.getAncestor())
+				.eq(WmDaDrugEnt::getEnableFlag, EnableEnum.ENABLE.val()));
+		List<WmTaskType> taskTypeList = wmTaskTypeService.list(Wrappers.<WmTaskType>lambdaQuery()
+				.eq(WmTaskType::getDeptId, deptId)
+				.eq(WmTaskType::getDurgentId, wmDaDrugEnt.getId()));
+
+		WmDeptTaskTypeConfig deptTaskTypeConfig = this.getOne(Wrappers.<WmDeptTaskTypeConfig>lambdaQuery()
+				.eq(WmDeptTaskTypeConfig::getDeptId, deptId));
+
+		WmDeptTaskTypeConfigDTO deptTaskTypeConfigDTO = null;
+		if (deptTaskTypeConfig != null) {
+			// 配置任务类型不为空,同时返回配置和任务类型列表
+			deptTaskTypeConfigDTO = BeanUtil.copyProperties(deptTaskTypeConfig, WmDeptTaskTypeConfigDTO.class);
+			List<WmDeptTaskTypeConfigJsonDTO> configJsonDTOList = JSON.parseArray(deptTaskTypeConfig.getTaskTypeJson(), WmDeptTaskTypeConfigJsonDTO.class);
+			deptTaskTypeConfigDTO.setConfigList(configJsonDTOList);
+			// 任务类型
+			deptTaskTypeConfigDTO.setTaskTypeList(taskTypeList);
+		} else {
+			// 配置任务类型为空,只返回任务类型列表
+			deptTaskTypeConfigDTO = new WmDeptTaskTypeConfigDTO();
+			deptTaskTypeConfigDTO.setTaskTypeList(taskTypeList);
+		}
+
+		return deptTaskTypeConfigDTO;
+	}
+}