|
@@ -1,6 +1,7 @@
|
|
|
package com.qunzhixinxi.hnqz.admin.manager;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
+import cn.hutool.core.bean.copier.CopyOptions;
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.lang.tree.Tree;
|
|
|
import cn.hutool.core.lang.tree.TreeNode;
|
|
@@ -26,6 +27,7 @@ import com.qunzhixinxi.hnqz.admin.api.entity.SysImplementPlan;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysPlanPkg;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmScorePackage;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskType;
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.model.excel.PlanInfoExportModel;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.vo.SysImplementPlanVO;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysEnterpriseAreaService;
|
|
@@ -132,17 +134,7 @@ public class SysImplementPlanManager {
|
|
|
}
|
|
|
|
|
|
|
|
|
- /**
|
|
|
- * 获取计划分页
|
|
|
- *
|
|
|
- * @param query 查询条件
|
|
|
- * @param operator 操作人
|
|
|
- * @return 分页结果
|
|
|
- */
|
|
|
- public Page<?> pagePlans(SysImplementPlanDTO.OnPage query, HnqzUser operator) {
|
|
|
-
|
|
|
- int entLevel = roleService.getEntLevel();
|
|
|
-
|
|
|
+ private Page<SysImplementPlan> toBasePage(int entLevel, SysImplementPlanDTO.OnPage query, HnqzUser operator) {
|
|
|
|
|
|
// 获取根目录分页
|
|
|
Page<SysImplementPlan> page = this.getPage(operator, entLevel, query.getCurrent(), query.getSize(), query.getPlanName(),
|
|
@@ -174,6 +166,11 @@ public class SysImplementPlanManager {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<TreeNode<Integer>> toTreeNode(List<SysImplementPlan> records) {
|
|
|
+
|
|
|
// 获取承接人ID
|
|
|
Set<Integer> consigneeIds = records.stream().mapToInt(SysImplementPlan::getConsigneeId).boxed().collect(Collectors.toSet());
|
|
|
|
|
@@ -188,9 +185,31 @@ public class SysImplementPlanManager {
|
|
|
|
|
|
|
|
|
// 封装返回结果
|
|
|
- Page<Tree<Integer>> newPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal());
|
|
|
- List<TreeNode<Integer>> toPages = getToPages(records, consigneeMap, skuMap);
|
|
|
+ return getToPages(records, consigneeMap, skuMap);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取计划分页
|
|
|
+ *
|
|
|
+ * @param query 查询条件
|
|
|
+ * @param operator 操作人
|
|
|
+ * @return 分页结果
|
|
|
+ */
|
|
|
+ public Page<?> pagePlans(SysImplementPlanDTO.OnPage query, HnqzUser operator) {
|
|
|
+
|
|
|
+ int entLevel = roleService.getEntLevel();
|
|
|
+
|
|
|
+ Page<SysImplementPlan> page = toBasePage(entLevel, query, operator);
|
|
|
+
|
|
|
+ List<SysImplementPlan> records = page.getRecords();
|
|
|
+ if (CollUtil.isEmpty(records)) {
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+ List<TreeNode<Integer>> toPages = toTreeNode(records);
|
|
|
|
|
|
+ // 封装返回结果
|
|
|
+ Page<Tree<Integer>> newPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal());
|
|
|
List<Tree<Integer>> builds = new ArrayList<>();
|
|
|
// 事业部 || 区域 || 平台
|
|
|
if (entLevel == 0 || entLevel == 1 || entLevel == -1) {
|
|
@@ -212,6 +231,8 @@ public class SysImplementPlanManager {
|
|
|
return newPage;
|
|
|
}
|
|
|
|
|
|
+ xxx
|
|
|
+
|
|
|
private List<TreeNode<Integer>> getToPages(List<SysImplementPlan> records, Map<Integer, SysDept> consigneeMap, Map<Integer, Map<String, String>> skuMap) {
|
|
|
return records.stream().map(record -> {
|
|
|
SysImplementPlanVO.ToPage p = BeanUtil.copyProperties(record, SysImplementPlanVO.ToPage.class);
|
|
@@ -299,7 +320,7 @@ public class SysImplementPlanManager {
|
|
|
|
|
|
Set<Long> visibleEntIds = new HashSet<>();
|
|
|
// 订单查询
|
|
|
- if (Objects.nonNull(consigneeId)){
|
|
|
+ if (Objects.nonNull(consigneeId)) {
|
|
|
visibleEntIds.add(Long.valueOf(consigneeId));
|
|
|
}
|
|
|
// 先定区域内的信息
|
|
@@ -883,4 +904,59 @@ public class SysImplementPlanManager {
|
|
|
|
|
|
return errorlist;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ public List<PlanInfoExportModel> exportPlan(SysImplementPlanDTO.OnPage query, HnqzUser operator) {
|
|
|
+
|
|
|
+
|
|
|
+ int entLevel = roleService.getEntLevel();
|
|
|
+
|
|
|
+ Page<SysImplementPlan> page = toBasePage(entLevel, query, operator);
|
|
|
+
|
|
|
+ List<SysImplementPlan> records = page.getRecords();
|
|
|
+
|
|
|
+ if (CollUtil.isEmpty(records)) {
|
|
|
+ throw new BizException("未查询到数据");
|
|
|
+ }
|
|
|
+
|
|
|
+ List<TreeNode<Integer>> toPages = toTreeNode(records);
|
|
|
+
|
|
|
+
|
|
|
+ List<PlanInfoExportModel> collect = toPages.stream().map(item -> {
|
|
|
+
|
|
|
+ PlanInfoExportModel model = new PlanInfoExportModel();
|
|
|
+ model.setPlanName((String) item.getName());
|
|
|
+
|
|
|
+ Map<String, Object> extra = item.getExtra();
|
|
|
+
|
|
|
+ SysImplementPlanVO.ToPage toPage = BeanUtil.mapToBean(extra, SysImplementPlanVO.ToPage.class, true, CopyOptions.create());
|
|
|
+
|
|
|
+ Map<String, Object> skuInfo = toPage.getSkuInfo();
|
|
|
+ model.setSkuName(skuInfo.get("skuName").toString());
|
|
|
+ Map<String, Object> consignee = toPage.getConsigneeInfo();
|
|
|
+ model.setConsignee(consignee.get("consigneeName").toString());
|
|
|
+
|
|
|
+ UpmsType.ImplementPlanType planType = toPage.getPlanType();
|
|
|
+ model.setPlanType(planType.getDesc());
|
|
|
+ model.setPlanScore(toPage.getPlanScore().toString());
|
|
|
+
|
|
|
+ LocalDate planIssue = toPage.getPlanIssue();
|
|
|
+
|
|
|
+ model.setYear(String.valueOf(planIssue.getYear()));
|
|
|
+
|
|
|
+ String qtr;
|
|
|
+ if (UpmsType.ImplementPlanType.QRT.equals(planType)) {
|
|
|
+ int monthValue = planIssue.getMonthValue();
|
|
|
+ qtr = String.valueOf((monthValue + 2) / 3);
|
|
|
+ } else {
|
|
|
+ qtr = "";
|
|
|
+ }
|
|
|
+ model.setQuarter(qtr);
|
|
|
+
|
|
|
+ return model;
|
|
|
+
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+
|
|
|
+ return collect;
|
|
|
+ }
|
|
|
}
|