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 89 List<OrderCompletionReportDO> reportDOS = list(new LambdaQueryWrapper<OrderCompletionReportDO>().in(OrderCompletionReportDO::getOrderId, orderIds));
90 90 Map<String, OrderReportAnalysisExportVo> exportVoMap = new HashMap<>();
91 91 if (CollectionUtils.isNotEmpty(reportDOS)) {
  92 + orderBaseInfoDOList = filterBaseData(orderBaseInfoDOList, reportDOS);
92 93 Map<Long, OrderCompletionReportDO> completionReportDOMap = new HashMap<>();
93 94 completionReportDOMap = reportDOS.stream().collect(Collectors.toMap(OrderCompletionReportDO::getOrderId, Function.identity(), (x, y) -> x));
94 95 for (OrderBaseInfoDO orderBaseInfoDO : orderBaseInfoDOList) {
... ... @@ -100,11 +101,9 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl&lt;OrderCompletio
100 101 }
101 102 }
102 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 109 List<OrderReportAnalysisExportVo> exportVos = exportMap2exportList(exportVoMap);
... ... @@ -198,6 +197,7 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl&lt;OrderCompletio
198 197 BigDecimal sum = new BigDecimal(0);
199 198 Map<Long, OrderCompletionReportDO> completionReportDOMap = new HashMap<>();
200 199 if (CollectionUtils.isNotEmpty(reportDOS)) {
  200 + orderBaseInfoDOList = filterBaseData(orderBaseInfoDOList, reportDOS);
201 201 completionReportDOMap = reportDOS.stream().collect(Collectors.toMap(OrderCompletionReportDO::getOrderId, Function.identity(), (x, y) -> x));
202 202 for (OrderBaseInfoDO orderBaseInfoDO : orderBaseInfoDOList) {
203 203 if (completionReportDOMap.containsKey(orderBaseInfoDO.getId())) {
... ... @@ -208,12 +208,10 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl&lt;OrderCompletio
208 208 }
209 209 }
210 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 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 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 244 * @param orderCompletionReportVO 实例对象
... ...