Эх сурвалжийг харах

feat: 任务类型分类排序

shc 10 сар өмнө
parent
commit
600c4d0b40

+ 21 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/manager/SysImplementPlanManager.java

@@ -6,6 +6,7 @@ import cn.hutool.core.lang.tree.Tree;
 import cn.hutool.core.lang.tree.TreeNode;
 import cn.hutool.core.lang.tree.TreeUtil;
 import cn.hutool.core.map.MapUtil;
+import cn.hutool.core.text.CharSequenceUtil;
 import cn.hutool.core.util.ArrayUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -32,6 +33,7 @@ import com.qunzhixinxi.hnqz.admin.service.SysRoleService;
 import com.qunzhixinxi.hnqz.admin.service.WmDaDrugEntDrugtableService;
 import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskTypeService;
+import com.qunzhixinxi.hnqz.common.core.constant.CommonConstants;
 import com.qunzhixinxi.hnqz.common.core.exception.BizException;
 import com.qunzhixinxi.hnqz.common.security.service.HnqzUser;
 import lombok.AllArgsConstructor;
@@ -429,11 +431,29 @@ public class SysImplementPlanManager {
         SysImplPlanDetails details = implPlanDetailsService.getById(detailsId);
         Map<String, Object> detailsMap;
         if (details != null) {
+
+            // 获取任务类型
+            Map<String, WmTaskType> collect = taskTypeService.list(Wrappers.<WmTaskType>lambdaQuery().le(WmTaskType::getId, "100")
+                            .eq(WmTaskType::getDelFlag, CommonConstants.STATUS_NORMAL)
+                            .eq(WmTaskType::getEnableFlag, CommonConstants.STATUS_NORMAL)).stream()
+                    .collect(Collectors.toMap(WmTaskType::getTaskTypeName, Function.identity()));
             detailsMap = BeanUtil.beanToMap(details);
 
             List<SysImplPlanDetailsItem> items = implPlanDetailsItemService.listDetailItems(details.getDetailsId());
 
-            detailsMap.put("items", CollUtil.isNotEmpty(items) ? items : Collections.emptyList());
+            List<Map<String, Object>> itemResult = items.stream().filter(item -> CharSequenceUtil.isNotBlank(item.getTaskTypeName())).map(item -> {
+                Map<String, Object> itemMap = BeanUtil.beanToMap(item);
+                String taskTypeName = item.getTaskTypeName();
+                WmTaskType taskType = collect.get(taskTypeName);
+                if (taskType != null) {
+                    itemMap.put("baseId", taskType.getBaseId());
+                    itemMap.put("parentId", taskType.getParentId());
+                }
+                return itemMap;
+            }).filter(i -> Objects.nonNull(i.get("parentId"))).sorted(Comparator.comparing(i -> (String) i.get("parentId"))).collect(Collectors.toList());
+
+
+            detailsMap.put("items", CollUtil.isNotEmpty(itemResult) ? itemResult : Collections.emptyList());
 
 
         } else {