|
@@ -1,6 +1,8 @@
|
|
package com.qunzhixinxi.hnqz.admin.service.impl;
|
|
package com.qunzhixinxi.hnqz.admin.service.impl;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
|
+import cn.hutool.core.collection.CollectionUtil;
|
|
|
|
+import cn.hutool.core.util.ArrayUtil;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
@@ -22,7 +24,10 @@ import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
|
|
+import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.Map;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 部门任务类型配置服务
|
|
* 部门任务类型配置服务
|
|
@@ -82,6 +87,8 @@ public class WmDeptTaskTypeConfigServiceImpl extends ServiceImpl<WmDeptTaskTypeC
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
public WmDeptTaskTypeConfigDTO getDeptTaskTypeConfig(Integer deptId) {
|
|
public WmDeptTaskTypeConfigDTO getDeptTaskTypeConfig(Integer deptId) {
|
|
|
|
+ String[] enableZbdbStatusArr = {"医院拜访", "商业公司拜访", "药店拜访", "电子名片分享", "产品相册分享", "学术信息交流",
|
|
|
|
+ "受众打开产品相册", "受众阅读文章"};
|
|
// 查询出当前dept对应的任务类型(药企或药企给CSO的任务类型)
|
|
// 查询出当前dept对应的任务类型(药企或药企给CSO的任务类型)
|
|
List<SysDeptRelation> relationList = sysDeptRelationMapper.selectList(Wrappers.<SysDeptRelation>lambdaQuery()
|
|
List<SysDeptRelation> relationList = sysDeptRelationMapper.selectList(Wrappers.<SysDeptRelation>lambdaQuery()
|
|
.eq(SysDeptRelation::getDescendant, deptId));
|
|
.eq(SysDeptRelation::getDescendant, deptId));
|
|
@@ -99,18 +106,40 @@ public class WmDeptTaskTypeConfigServiceImpl extends ServiceImpl<WmDeptTaskTypeC
|
|
WmDeptTaskTypeConfig deptTaskTypeConfig = this.getOne(Wrappers.<WmDeptTaskTypeConfig>lambdaQuery()
|
|
WmDeptTaskTypeConfig deptTaskTypeConfig = this.getOne(Wrappers.<WmDeptTaskTypeConfig>lambdaQuery()
|
|
.eq(WmDeptTaskTypeConfig::getDeptId, deptId));
|
|
.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);
|
|
|
|
|
|
+ WmDeptTaskTypeConfigDTO deptTaskTypeConfigDTO = new WmDeptTaskTypeConfigDTO();
|
|
|
|
+ List<WmDeptTaskTypeConfigJsonDTO> deptTaskTypeConfigJsonDTOList = new ArrayList<>();
|
|
|
|
+ if (CollectionUtil.isNotEmpty(taskTypeList)) {
|
|
|
|
+ // 配置任务类型不为空,则进行拼接,否则设置默认未选则状态
|
|
|
|
+ deptTaskTypeConfigDTO.setId(deptTaskTypeConfig.getId());
|
|
|
|
+ deptTaskTypeConfigDTO.setDeptId(deptTaskTypeConfig.getDeptId());
|
|
|
|
+
|
|
|
|
+ Map<String, WmDeptTaskTypeConfigJsonDTO> configMap = null;
|
|
|
|
+ if (deptTaskTypeConfig != null) {
|
|
|
|
+ List<WmDeptTaskTypeConfigJsonDTO> configJsonDTOList = JSON.parseArray(deptTaskTypeConfig.getTaskTypeJson(), WmDeptTaskTypeConfigJsonDTO.class);
|
|
|
|
+ configMap = configJsonDTOList.stream()
|
|
|
|
+ .collect(Collectors.toMap(WmDeptTaskTypeConfigJsonDTO::getTaskTypeName, wmDeptTaskTypeConfigJsonDTO -> wmDeptTaskTypeConfigJsonDTO));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ for (WmTaskType taskType : taskTypeList) {
|
|
|
|
+ // 查询数据库存的复选框是否选择的配置信息
|
|
|
|
+ WmDeptTaskTypeConfigJsonDTO deptTaskTypeConfigJsonDTO = null;
|
|
|
|
+ if (configMap != null) {
|
|
|
|
+ WmDeptTaskTypeConfigJsonDTO baseConfigJson = configMap.get(taskType.getTaskTypeName());
|
|
|
|
+ deptTaskTypeConfigJsonDTO = BeanUtil.copyProperties(baseConfigJson, WmDeptTaskTypeConfigJsonDTO.class);
|
|
|
|
+ } else {
|
|
|
|
+ deptTaskTypeConfigJsonDTO = new WmDeptTaskTypeConfigJsonDTO();
|
|
|
|
+ }
|
|
|
|
+ deptTaskTypeConfigJsonDTO.setTaskTypeId(taskType.getId());
|
|
|
|
+ deptTaskTypeConfigJsonDTO.setTaskTypeName(taskType.getTaskTypeName());
|
|
|
|
+ deptTaskTypeConfigJsonDTO.setScore(taskType.getScore());
|
|
|
|
+ if (ArrayUtil.contains(enableZbdbStatusArr, taskType.getTaskTypeName())) {
|
|
|
|
+ deptTaskTypeConfigJsonDTO.setZbdbStatusEnable(true);
|
|
|
|
+ } else {
|
|
|
|
+ deptTaskTypeConfigJsonDTO.setZbdbStatusEnable(false);
|
|
|
|
+ }
|
|
|
|
+ deptTaskTypeConfigJsonDTOList.add(deptTaskTypeConfigJsonDTO);
|
|
|
|
+ }
|
|
|
|
+ deptTaskTypeConfigDTO.setConfigList(deptTaskTypeConfigJsonDTOList);
|
|
}
|
|
}
|
|
|
|
|
|
return deptTaskTypeConfigDTO;
|
|
return deptTaskTypeConfigDTO;
|