Просмотр исходного кода

feat: 批量审批任务-查询任务类型配置

lixuesong 3 лет назад
Родитель
Сommit
19f62c17ab

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

@@ -36,8 +36,4 @@ public class WmDeptTaskTypeConfigDTO {
 	@NotEmpty(groups = {BaseEntity.Create.class, BaseEntity.Update.class})
 	private List<WmDeptTaskTypeConfigJsonDTO> configList;
 
-	/**
-	 * 任务类型列表
-	 */
-	private List<WmTaskType> taskTypeList;
 }

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

@@ -27,27 +27,44 @@ public class WmDeptTaskTypeConfigJsonDTO {
 	@NotBlank(groups = {BaseEntity.Create.class, BaseEntity.Update.class})
 	private String taskTypeName;
 
+	/**
+	 * 任务积分
+	 */
+	private Integer score;
+
 	/**
 	 * 是否限定任务
 	 */
 	@NotNull(groups = {BaseEntity.Create.class, BaseEntity.Update.class})
-	private Boolean qualifiedTask;
+	private Boolean qualifiedTask = false;
+
+	/**
+	 * 是否勾选兼职学术信息沟通专员状态
+	 */
+	@NotNull(groups = {BaseEntity.Create.class, BaseEntity.Update.class})
+	private Boolean zbdbStatusSelect = false;
+
+	/**
+	 * 是否启用兼职学术信息沟通专员状态
+	 */
+	@NotNull(groups = {BaseEntity.Create.class, BaseEntity.Update.class})
+	private Boolean zbdbStatusEnable;
 
 	/**
-	 * 是否勾选兼职学术信息沟通专员状态(-1-禁用,0-未勾选,1-已勾选)
+	 * 是否勾选全职学术信息沟通专员状态
 	 */
 	@NotNull(groups = {BaseEntity.Create.class, BaseEntity.Update.class})
-	private Integer zbdbStatus;
+	private Boolean yydbStatusSelect = false;
 
 	/**
-	 * 是否勾选全职学术信息沟通专员状态(-1-禁用,0-未勾选,1-已勾选)
+	 * 是否启用全职学术信息沟通专员状态
 	 */
 	@NotNull(groups = {BaseEntity.Create.class, BaseEntity.Update.class})
-	private Integer yydbStatus;
+	private Boolean yydbStatusEnable;
 
 	/**
 	 * 是否关联下级
 	 */
 	@NotNull(groups = {BaseEntity.Create.class, BaseEntity.Update.class})
-	private Boolean associateLower;
+	private Boolean associateLower = false;
 }

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

@@ -1,6 +1,8 @@
 package com.qunzhixinxi.hnqz.admin.service.impl;
 
 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.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -22,7 +24,10 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDateTime;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * 部门任务类型配置服务
@@ -82,6 +87,8 @@ public class WmDeptTaskTypeConfigServiceImpl extends ServiceImpl<WmDeptTaskTypeC
 	 */
 	@Override
 	public WmDeptTaskTypeConfigDTO getDeptTaskTypeConfig(Integer deptId) {
+		String[] enableZbdbStatusArr = {"医院拜访", "商业公司拜访", "药店拜访", "电子名片分享", "产品相册分享", "学术信息交流",
+				"受众打开产品相册", "受众阅读文章"};
 		// 查询出当前dept对应的任务类型(药企或药企给CSO的任务类型)
 		List<SysDeptRelation> relationList = sysDeptRelationMapper.selectList(Wrappers.<SysDeptRelation>lambdaQuery()
 				.eq(SysDeptRelation::getDescendant, deptId));
@@ -99,18 +106,40 @@ public class WmDeptTaskTypeConfigServiceImpl extends ServiceImpl<WmDeptTaskTypeC
 		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);
+		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;