فهرست منبع

feat: 积分限制企业单独配置-顺序根据字典排列

李学松 2 سال پیش
والد
کامیت
2088a31c0e

+ 22 - 2
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTaskSubmissionRuleServiceImpl.java

@@ -4,7 +4,10 @@ import cn.hutool.core.collection.CollUtil;
 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.SysDictItem;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSubmissionRule;
+import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
+import com.qunzhixinxi.hnqz.admin.mapper.SysDictItemMapper;
 import com.qunzhixinxi.hnqz.admin.mapper.WmTaskSubmissionRuleMapper;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskSubmissionRuleService;
 import com.qunzhixinxi.hnqz.common.core.constant.CommonConstants;
@@ -15,6 +18,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -31,6 +35,7 @@ import java.util.stream.Collectors;
 @AllArgsConstructor
 public class WmTaskSubmissionRuleServiceImpl extends ServiceImpl<WmTaskSubmissionRuleMapper, WmTaskSubmissionRule> implements WmTaskSubmissionRuleService {
 
+	private final SysDictItemMapper sysDictItemMapper;
 
 	/**
 	 * 获取部门限制信息
@@ -41,9 +46,24 @@ public class WmTaskSubmissionRuleServiceImpl extends ServiceImpl<WmTaskSubmissio
 	@Override
 	public Map<UpmsType.TaskCategory, List<WmTaskSubmissionRule>> listDeptTaskSubmissionRules(Integer deptId) {
 
-		List<WmTaskSubmissionRule> rules = this.list(Wrappers.<WmTaskSubmissionRule>lambdaQuery().eq(WmTaskSubmissionRule::getDeptId, deptId));
+		Map<UpmsType.TaskCategory, List<WmTaskSubmissionRule>> result = new LinkedHashMap<>();
+		List<WmTaskSubmissionRule> rules = this.list(Wrappers.<WmTaskSubmissionRule>lambdaQuery()
+				.eq(WmTaskSubmissionRule::getDeptId, deptId));
 
-		return rules.stream().collect(Collectors.groupingBy(rule -> rule.getSubCategory().getCategory()));
+		Map<UpmsType.TaskCategory, List<WmTaskSubmissionRule>> taskCategoryListMap = rules.stream()
+				.collect(Collectors.groupingBy(rule -> rule.getSubCategory().getCategory()));
+
+		// 结果根据字典顺序排列
+		List<SysDictItem> taskCategorys = sysDictItemMapper.selectList(Wrappers.<SysDictItem>lambdaQuery()
+				.eq(SysDictItem::getType, "task_category")
+				.eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.val()));
+
+		taskCategorys.forEach(taskCate -> {
+			UpmsType.TaskCategory taskCategory = Enum.valueOf(UpmsType.TaskCategory.class, taskCate.getValue());
+			result.put(taskCategory, taskCategoryListMap.get(taskCategory));
+		});
+
+		return result;
 	}
 
 	/**