Commit b249845c9f9a2f69c71095b1848eece91e24ea1d
1 parent
9eeb9d1e
feat: 问题修复项
1、设计师权重导出 2、订单列表多选
Showing
2 changed files
with
56 additions
and
11 deletions
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<OrderCompletio | @@ -89,6 +89,7 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl<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<OrderCompletio | @@ -100,11 +101,9 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl<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<OrderCompletio | @@ -198,6 +197,7 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl<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<OrderCompletio | @@ -208,12 +208,10 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl<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<OrderCompletio | @@ -222,6 +220,25 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl<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 实例对象 |