Commit b249845c9f9a2f69c71095b1848eece91e24ea1d

Authored by 谢茂盛
1 parent 9eeb9d1e

feat: 问题修复项

1、设计师权重导出
2、订单列表多选
src/main/java/com/order/erp/domain/vo/order/OrderReportResultVO.java 0 → 100644
  1 +package com.order.erp.domain.vo.order;
  2 +
  3 +import com.order.erp.domain.dto.order.OrderBaseInfoDO;
  4 +import com.order.erp.domain.dto.order.OrderCompletionReportDO;
  5 +import lombok.*;
  6 +import lombok.experimental.SuperBuilder;
  7 +
  8 +import java.io.Serializable;
  9 +import java.util.List;
  10 +
  11 +/**
  12 + * 订单基础信息表(OrderBaseInfo)实体类
  13 + *
  14 + * @author makejava
  15 + * @since 2023-09-08 15:26:43
  16 + */
  17 +@Data
  18 +@AllArgsConstructor
  19 +@ToString
  20 +@NoArgsConstructor
  21 +@EqualsAndHashCode(callSuper = false)
  22 +@SuperBuilder
  23 +public class OrderReportResultVO implements Serializable {
  24 +
  25 + private List<OrderBaseInfoDO> orderBaseInfoDOList;
  26 +
  27 + private List<OrderCompletionReportDO> reportDOS;
  28 +}
src/main/java/com/order/erp/service/order/impl/OrderCompletionReportServiceImpl.java
@@ -89,6 +89,7 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl&lt;OrderCompletio @@ -89,6 +89,7 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl&lt;OrderCompletio
89 List<OrderCompletionReportDO> reportDOS = list(new LambdaQueryWrapper<OrderCompletionReportDO>().in(OrderCompletionReportDO::getOrderId, orderIds)); 89 List<OrderCompletionReportDO> reportDOS = list(new LambdaQueryWrapper<OrderCompletionReportDO>().in(OrderCompletionReportDO::getOrderId, orderIds));
90 Map<String, OrderReportAnalysisExportVo> exportVoMap = new HashMap<>(); 90 Map<String, OrderReportAnalysisExportVo> exportVoMap = new HashMap<>();
91 if (CollectionUtils.isNotEmpty(reportDOS)) { 91 if (CollectionUtils.isNotEmpty(reportDOS)) {
  92 + orderBaseInfoDOList = filterBaseData(orderBaseInfoDOList, reportDOS);
92 Map<Long, OrderCompletionReportDO> completionReportDOMap = new HashMap<>(); 93 Map<Long, OrderCompletionReportDO> completionReportDOMap = new HashMap<>();
93 completionReportDOMap = reportDOS.stream().collect(Collectors.toMap(OrderCompletionReportDO::getOrderId, Function.identity(), (x, y) -> x)); 94 completionReportDOMap = reportDOS.stream().collect(Collectors.toMap(OrderCompletionReportDO::getOrderId, Function.identity(), (x, y) -> x));
94 for (OrderBaseInfoDO orderBaseInfoDO : orderBaseInfoDOList) { 95 for (OrderBaseInfoDO orderBaseInfoDO : orderBaseInfoDOList) {
@@ -100,11 +101,9 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl&lt;OrderCompletio @@ -100,11 +101,9 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl&lt;OrderCompletio
100 } 101 }
101 } 102 }
102 for (OrderCompletionReportDO reportDO : reportDOS) { 103 for (OrderCompletionReportDO reportDO : reportDOS) {
103 - if (orderBaseInfoDOMap.containsKey(reportDO.getOrderId())) {  
104 - handlerExportMap(0, reportDO, exportVoMap);  
105 - handlerExportMap(1, reportDO, exportVoMap);  
106 - handlerExportMap(2, reportDO, exportVoMap);  
107 - } 104 + handlerExportMap(0, reportDO, exportVoMap);
  105 + handlerExportMap(1, reportDO, exportVoMap);
  106 + handlerExportMap(2, reportDO, exportVoMap);
108 } 107 }
109 } 108 }
110 List<OrderReportAnalysisExportVo> exportVos = exportMap2exportList(exportVoMap); 109 List<OrderReportAnalysisExportVo> exportVos = exportMap2exportList(exportVoMap);
@@ -198,6 +197,7 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl&lt;OrderCompletio @@ -198,6 +197,7 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl&lt;OrderCompletio
198 BigDecimal sum = new BigDecimal(0); 197 BigDecimal sum = new BigDecimal(0);
199 Map<Long, OrderCompletionReportDO> completionReportDOMap = new HashMap<>(); 198 Map<Long, OrderCompletionReportDO> completionReportDOMap = new HashMap<>();
200 if (CollectionUtils.isNotEmpty(reportDOS)) { 199 if (CollectionUtils.isNotEmpty(reportDOS)) {
  200 + orderBaseInfoDOList = filterBaseData(orderBaseInfoDOList, reportDOS);
201 completionReportDOMap = reportDOS.stream().collect(Collectors.toMap(OrderCompletionReportDO::getOrderId, Function.identity(), (x, y) -> x)); 201 completionReportDOMap = reportDOS.stream().collect(Collectors.toMap(OrderCompletionReportDO::getOrderId, Function.identity(), (x, y) -> x));
202 for (OrderBaseInfoDO orderBaseInfoDO : orderBaseInfoDOList) { 202 for (OrderBaseInfoDO orderBaseInfoDO : orderBaseInfoDOList) {
203 if (completionReportDOMap.containsKey(orderBaseInfoDO.getId())) { 203 if (completionReportDOMap.containsKey(orderBaseInfoDO.getId())) {
@@ -208,12 +208,10 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl&lt;OrderCompletio @@ -208,12 +208,10 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl&lt;OrderCompletio
208 } 208 }
209 } 209 }
210 for (OrderCompletionReportDO reportDO : reportDOS) { 210 for (OrderCompletionReportDO reportDO : reportDOS) {
211 - if (orderBaseInfoDOMap.containsKey(reportDO.getOrderId())) {  
212 - Double ideaSourceRate = queryVO.getDesigner().equals(reportDO.getIdeaSource()) && Objects.nonNull(reportDO.getIdeaSourceRate()) ? reportDO.getIdeaSourceRate() : 0;  
213 - Double manualPreform1Rate = queryVO.getDesigner().equals(reportDO.getManualPreform1()) && Objects.nonNull(reportDO.getManualPreform1Rate()) ? reportDO.getManualPreform1Rate() : 0;  
214 - Double manualPreform2Rate = queryVO.getDesigner().equals(reportDO.getManualPreform2()) && Objects.nonNull(reportDO.getManualPreform2Rate()) ? reportDO.getManualPreform2Rate() : 0;  
215 - sum = sum.add(new BigDecimal(ideaSourceRate)).add(new BigDecimal(manualPreform1Rate)).add(new BigDecimal(manualPreform2Rate));  
216 - } 211 + Double ideaSourceRate = queryVO.getDesigner().equals(reportDO.getIdeaSource()) && Objects.nonNull(reportDO.getIdeaSourceRate()) ? reportDO.getIdeaSourceRate() : 0;
  212 + Double manualPreform1Rate = queryVO.getDesigner().equals(reportDO.getManualPreform1()) && Objects.nonNull(reportDO.getManualPreform1Rate()) ? reportDO.getManualPreform1Rate() : 0;
  213 + Double manualPreform2Rate = queryVO.getDesigner().equals(reportDO.getManualPreform2()) && Objects.nonNull(reportDO.getManualPreform2Rate()) ? reportDO.getManualPreform2Rate() : 0;
  214 + sum = sum.add(new BigDecimal(ideaSourceRate)).add(new BigDecimal(manualPreform1Rate)).add(new BigDecimal(manualPreform2Rate));
217 } 215 }
218 } 216 }
219 resultVo.setRate(sum.divide(new BigDecimal(innerNoSet.size()), Constant.SIX, RoundingMode.HALF_UP).doubleValue()); 217 resultVo.setRate(sum.divide(new BigDecimal(innerNoSet.size()), Constant.SIX, RoundingMode.HALF_UP).doubleValue());
@@ -222,6 +220,25 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl&lt;OrderCompletio @@ -222,6 +220,25 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl&lt;OrderCompletio
222 } 220 }
223 221
224 /** 222 /**
  223 + * @param orderBaseInfoDOList
  224 + * @param reportDOS
  225 + * @return
  226 + */
  227 + private List<OrderBaseInfoDO> filterBaseData(List<OrderBaseInfoDO> orderBaseInfoDOList, List<OrderCompletionReportDO> reportDOS) {
  228 + List<OrderBaseInfoDO> result = new ArrayList<>();
  229 + if (CollectionUtils.isEmpty(orderBaseInfoDOList)) {
  230 + return result;
  231 + }
  232 + Map<Long, OrderBaseInfoDO> map = orderBaseInfoDOList.stream().collect(Collectors.toMap(OrderBaseInfoDO::getId, Function.identity(), (x, y) -> x));
  233 + for (OrderCompletionReportDO reportDO : reportDOS) {
  234 + if (map.containsKey(reportDO.getOrderId())) {
  235 + result.add(map.get(reportDO.getOrderId()));
  236 + }
  237 + }
  238 + return result;
  239 + }
  240 +
  241 + /**
225 * 新增数据 242 * 新增数据
226 * 243 *
227 * @param orderCompletionReportVO 实例对象 244 * @param orderCompletionReportVO 实例对象