Commit 9eeb9d1e23fd18158b9947e3a0b7cea8e8dd648f
1 parent
070465c7
feat: 问题修复项
1、设计师权重导出 2、订单列表多选
Showing
4 changed files
with
101 additions
and
44 deletions
src/main/java/com/order/erp/domain/vo/OrderReportStatExportVo.java
0 → 100644
1 | +package com.order.erp.domain.vo; | ||
2 | + | ||
3 | +import com.order.erp.common.excel4j.annotation.ExcelField; | ||
4 | +import lombok.AllArgsConstructor; | ||
5 | +import lombok.Data; | ||
6 | +import lombok.NoArgsConstructor; | ||
7 | +import lombok.ToString; | ||
8 | + | ||
9 | +import java.io.Serializable; | ||
10 | +import java.math.BigDecimal; | ||
11 | + | ||
12 | +/** | ||
13 | + * @author zhongnanhuang | ||
14 | + * @version 1.0 | ||
15 | + * @project order-erp | ||
16 | + * @description 利润分析传参 | ||
17 | + * @date 2023/10/30 10:19:26 | ||
18 | + */ | ||
19 | +@Data | ||
20 | +@AllArgsConstructor | ||
21 | +@NoArgsConstructor | ||
22 | +@ToString | ||
23 | +public class OrderReportStatExportVo implements Serializable { | ||
24 | + | ||
25 | + /** | ||
26 | + * 设计师 | ||
27 | + */ | ||
28 | + @ExcelField(title = "设计师", order = 1) | ||
29 | + private String designer; | ||
30 | + | ||
31 | + /** | ||
32 | + * 想法来源占比 | ||
33 | + */ | ||
34 | + @ExcelField(title = "想法来源占比", order = 2) | ||
35 | + private Double ideaSourceRate; | ||
36 | + | ||
37 | + /** | ||
38 | + * 手工初型1占比 | ||
39 | + */ | ||
40 | + @ExcelField(title = "手工初型1占比", order = 3) | ||
41 | + private Double manualPreform1Rate; | ||
42 | + | ||
43 | + /** | ||
44 | + * 手工初型2占比 | ||
45 | + */ | ||
46 | + @ExcelField(title = "手工初型2占比", order = 4) | ||
47 | + private Double manualPreform2Rate; | ||
48 | +} |
src/main/java/com/order/erp/domain/vo/order/OrderBaseInfoQueryVO.java
@@ -43,7 +43,7 @@ public class OrderBaseInfoQueryVO extends BasePageVO implements Serializable { | @@ -43,7 +43,7 @@ public class OrderBaseInfoQueryVO extends BasePageVO implements Serializable { | ||
43 | /** | 43 | /** |
44 | * 单据状态 | 44 | * 单据状态 |
45 | */ | 45 | */ |
46 | - private String orderStatus; | 46 | + private List<String> orderStatus; |
47 | 47 | ||
48 | /** | 48 | /** |
49 | * 提交人名称 | 49 | * 提交人名称 |
@@ -56,14 +56,14 @@ public class OrderBaseInfoQueryVO extends BasePageVO implements Serializable { | @@ -56,14 +56,14 @@ public class OrderBaseInfoQueryVO extends BasePageVO implements Serializable { | ||
56 | private String commitUserPhone; | 56 | private String commitUserPhone; |
57 | 57 | ||
58 | /** | 58 | /** |
59 | - * 客户编码 | 59 | + * 项目号 |
60 | */ | 60 | */ |
61 | - private String customerCode; | 61 | + private List<String> projectNo; |
62 | 62 | ||
63 | /** | 63 | /** |
64 | - * 项目号 | 64 | + * 客户编码集合 |
65 | */ | 65 | */ |
66 | - private List<String> projectNo; | 66 | + private List<String> customerCode; |
67 | 67 | ||
68 | /** | 68 | /** |
69 | * 内部编号 | 69 | * 内部编号 |
@@ -73,7 +73,7 @@ public class OrderBaseInfoQueryVO extends BasePageVO implements Serializable { | @@ -73,7 +73,7 @@ public class OrderBaseInfoQueryVO extends BasePageVO implements Serializable { | ||
73 | /** | 73 | /** |
74 | * 生产科 | 74 | * 生产科 |
75 | */ | 75 | */ |
76 | - private String productionDepartment; | 76 | + private List<String> productionDepartment; |
77 | 77 | ||
78 | /** | 78 | /** |
79 | * 生成科拖货开始时间 | 79 | * 生成科拖货开始时间 |
@@ -108,7 +108,7 @@ public class OrderBaseInfoQueryVO extends BasePageVO implements Serializable { | @@ -108,7 +108,7 @@ public class OrderBaseInfoQueryVO extends BasePageVO implements Serializable { | ||
108 | /** | 108 | /** |
109 | * 想法来源 | 109 | * 想法来源 |
110 | */ | 110 | */ |
111 | - private String ideaSource; | 111 | + private List<String> ideaSource; |
112 | 112 | ||
113 | /** | 113 | /** |
114 | * 想法来源占比 | 114 | * 想法来源占比 |
@@ -123,7 +123,7 @@ public class OrderBaseInfoQueryVO extends BasePageVO implements Serializable { | @@ -123,7 +123,7 @@ public class OrderBaseInfoQueryVO extends BasePageVO implements Serializable { | ||
123 | /** | 123 | /** |
124 | * 手工初型1 | 124 | * 手工初型1 |
125 | */ | 125 | */ |
126 | - private String manualPreform1; | 126 | + private List<String> manualPreform1; |
127 | 127 | ||
128 | /** | 128 | /** |
129 | * 手工初型1占比 | 129 | * 手工初型1占比 |
@@ -133,7 +133,7 @@ public class OrderBaseInfoQueryVO extends BasePageVO implements Serializable { | @@ -133,7 +133,7 @@ public class OrderBaseInfoQueryVO extends BasePageVO implements Serializable { | ||
133 | /** | 133 | /** |
134 | * 手工初型2 | 134 | * 手工初型2 |
135 | */ | 135 | */ |
136 | - private String manualPreform2; | 136 | + private List<String> manualPreform2; |
137 | 137 | ||
138 | /** | 138 | /** |
139 | * 手工初型2占比 | 139 | * 手工初型2占比 |
@@ -143,7 +143,7 @@ public class OrderBaseInfoQueryVO extends BasePageVO implements Serializable { | @@ -143,7 +143,7 @@ public class OrderBaseInfoQueryVO extends BasePageVO implements Serializable { | ||
143 | /** | 143 | /** |
144 | * pp样品确认意见 | 144 | * pp样品确认意见 |
145 | */ | 145 | */ |
146 | - private String ppConfirmResult; | 146 | + private List<String> ppConfirmResult; |
147 | 147 | ||
148 | /** | 148 | /** |
149 | * 自测通过开始时间 | 149 | * 自测通过开始时间 |
@@ -158,12 +158,12 @@ public class OrderBaseInfoQueryVO extends BasePageVO implements Serializable { | @@ -158,12 +158,12 @@ public class OrderBaseInfoQueryVO extends BasePageVO implements Serializable { | ||
158 | /** | 158 | /** |
159 | * 中期验货结果PASS / FAIL | 159 | * 中期验货结果PASS / FAIL |
160 | */ | 160 | */ |
161 | - private String midCheckResult; | 161 | + private List<String> midCheckResult; |
162 | 162 | ||
163 | /** | 163 | /** |
164 | * 尾期验货结果PASS / FAIL | 164 | * 尾期验货结果PASS / FAIL |
165 | */ | 165 | */ |
166 | - private String endCheckResult; | 166 | + private List<String> endCheckResult; |
167 | 167 | ||
168 | /** | 168 | /** |
169 | * 选择的字段 | 169 | * 选择的字段 |
src/main/java/com/order/erp/service/order/impl/OrderBaseInfoServiceImpl.java
@@ -1266,12 +1266,12 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O | @@ -1266,12 +1266,12 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O | ||
1266 | } else { | 1266 | } else { |
1267 | orderIds.add(-1L); | 1267 | orderIds.add(-1L); |
1268 | } | 1268 | } |
1269 | - } else if (StringUtils.isNotBlank(queryVO.getIdeaSource()) || StringUtils.isNotBlank(queryVO.getManualPreform1()) || StringUtils.isNotBlank(queryVO.getManualPreform2())) { | 1269 | + } else if (CollectionUtils.isNotEmpty(queryVO.getIdeaSource()) || CollectionUtils.isNotEmpty(queryVO.getManualPreform1()) || CollectionUtils.isNotEmpty(queryVO.getManualPreform2())) { |
1270 | List<OrderCompletionReportDO> reportDOS = reportService.list(new LambdaQueryWrapper<OrderCompletionReportDO>() | 1270 | List<OrderCompletionReportDO> reportDOS = reportService.list(new LambdaQueryWrapper<OrderCompletionReportDO>() |
1271 | .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN) | 1271 | .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN) |
1272 | - .eq(StringUtils.isNotBlank(queryVO.getIdeaSource()), OrderCompletionReportDO::getIdeaSource, queryVO.getIdeaSource()) | ||
1273 | - .eq(StringUtils.isNotBlank(queryVO.getManualPreform2()), OrderCompletionReportDO::getManualPreform2, queryVO.getManualPreform2()) | ||
1274 | - .eq(StringUtils.isNotBlank(queryVO.getManualPreform1()), OrderCompletionReportDO::getManualPreform1, queryVO.getManualPreform1())); | 1272 | + .in(CollectionUtils.isNotEmpty(queryVO.getIdeaSource()), OrderCompletionReportDO::getIdeaSource, queryVO.getIdeaSource()) |
1273 | + .in(CollectionUtils.isNotEmpty(queryVO.getManualPreform2()), OrderCompletionReportDO::getManualPreform2, queryVO.getManualPreform2()) | ||
1274 | + .in(CollectionUtils.isNotEmpty(queryVO.getManualPreform1()), OrderCompletionReportDO::getManualPreform1, queryVO.getManualPreform1())); | ||
1275 | if (CollectionUtils.isNotEmpty(reportDOS)) { | 1275 | if (CollectionUtils.isNotEmpty(reportDOS)) { |
1276 | Set<Long> reportOrderIds = reportDOS.stream().map(OrderCompletionReportDO::getOrderId).collect(Collectors.toSet()); | 1276 | Set<Long> reportOrderIds = reportDOS.stream().map(OrderCompletionReportDO::getOrderId).collect(Collectors.toSet()); |
1277 | if (CollectionUtils.isNotEmpty(orderIds)) { | 1277 | if (CollectionUtils.isNotEmpty(orderIds)) { |
@@ -1289,10 +1289,10 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O | @@ -1289,10 +1289,10 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O | ||
1289 | } | 1289 | } |
1290 | } | 1290 | } |
1291 | 1291 | ||
1292 | - if (StringUtils.isNotBlank(queryVO.getPpConfirmResult()) || StringUtils.isNotBlank(queryVO.getSelfTestPassStartTime()) || StringUtils.isNotBlank(queryVO.getSelfTestPassEndTime())) { | 1292 | + if (CollectionUtils.isNotEmpty(queryVO.getPpConfirmResult()) || StringUtils.isNotBlank(queryVO.getSelfTestPassStartTime()) || StringUtils.isNotBlank(queryVO.getSelfTestPassEndTime())) { |
1293 | List<OrderTrackStageDO> trackStageDOS = trackStageService.list(new LambdaQueryWrapper<OrderTrackStageDO>() | 1293 | List<OrderTrackStageDO> trackStageDOS = trackStageService.list(new LambdaQueryWrapper<OrderTrackStageDO>() |
1294 | .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN) | 1294 | .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN) |
1295 | - .eq(StringUtils.isNotBlank(queryVO.getPpConfirmResult()), OrderTrackStageDO::getPpConfirmResult, queryVO.getPpConfirmResult()) | 1295 | + .in(CollectionUtils.isNotEmpty(queryVO.getPpConfirmResult()), OrderTrackStageDO::getPpConfirmResult, queryVO.getPpConfirmResult()) |
1296 | .ge(StringUtils.isNotBlank(queryVO.getSelfTestPassStartTime()), OrderTrackStageDO::getSelfTestPassTime, queryVO.getSelfTestPassStartTime()) | 1296 | .ge(StringUtils.isNotBlank(queryVO.getSelfTestPassStartTime()), OrderTrackStageDO::getSelfTestPassTime, queryVO.getSelfTestPassStartTime()) |
1297 | .le(StringUtils.isNotBlank(queryVO.getSelfTestPassEndTime()), OrderTrackStageDO::getSelfTestPassTime, queryVO.getSelfTestPassEndTime()) | 1297 | .le(StringUtils.isNotBlank(queryVO.getSelfTestPassEndTime()), OrderTrackStageDO::getSelfTestPassTime, queryVO.getSelfTestPassEndTime()) |
1298 | ); | 1298 | ); |
@@ -1313,11 +1313,11 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O | @@ -1313,11 +1313,11 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O | ||
1313 | } | 1313 | } |
1314 | } | 1314 | } |
1315 | 1315 | ||
1316 | - if (StringUtils.isNotBlank(queryVO.getMidCheckResult()) || StringUtils.isNotBlank(queryVO.getEndCheckResult())) { | 1316 | + if (CollectionUtils.isNotEmpty(queryVO.getMidCheckResult()) || CollectionUtils.isNotEmpty(queryVO.getEndCheckResult())) { |
1317 | List<OrderInspectionStageDO> inspectionStageDOS = inspectionStageService.list(new LambdaQueryWrapper<OrderInspectionStageDO>() | 1317 | List<OrderInspectionStageDO> inspectionStageDOS = inspectionStageService.list(new LambdaQueryWrapper<OrderInspectionStageDO>() |
1318 | .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN) | 1318 | .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN) |
1319 | - .eq(StringUtils.isNotBlank(queryVO.getMidCheckResult()), OrderInspectionStageDO::getMidCheckResult, queryVO.getMidCheckResult()) | ||
1320 | - .eq(StringUtils.isNotBlank(queryVO.getEndCheckResult()), OrderInspectionStageDO::getEndCheckResult, queryVO.getEndCheckResult()) | 1319 | + .in(CollectionUtils.isNotEmpty(queryVO.getMidCheckResult()), OrderInspectionStageDO::getMidCheckResult, queryVO.getMidCheckResult()) |
1320 | + .in(CollectionUtils.isNotEmpty(queryVO.getEndCheckResult()), OrderInspectionStageDO::getEndCheckResult, queryVO.getEndCheckResult()) | ||
1321 | ); | 1321 | ); |
1322 | if (CollectionUtils.isNotEmpty(inspectionStageDOS)) { | 1322 | if (CollectionUtils.isNotEmpty(inspectionStageDOS)) { |
1323 | Set<Long> inspectOrderIds = inspectionStageDOS.stream().map(OrderInspectionStageDO::getOrderId).collect(Collectors.toSet()); | 1323 | Set<Long> inspectOrderIds = inspectionStageDOS.stream().map(OrderInspectionStageDO::getOrderId).collect(Collectors.toSet()); |
@@ -1359,15 +1359,14 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O | @@ -1359,15 +1359,14 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O | ||
1359 | 1359 | ||
1360 | return new LambdaQueryWrapper<OrderBaseInfoDO>() | 1360 | return new LambdaQueryWrapper<OrderBaseInfoDO>() |
1361 | .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN) | 1361 | .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN) |
1362 | - .eq(StringUtils.isNotBlank(queryVO.getCustomerCode()), OrderBaseInfoDO::getCustomerCode, queryVO.getCustomerCode()) | 1362 | + .in(CollectionUtils.isNotEmpty(queryVO.getCustomerCode()), OrderBaseInfoDO::getCustomerCode, queryVO.getCustomerCode()) |
1363 | .eq(StringUtils.isNotBlank(queryVO.getCommitUserName()), OrderBaseInfoDO::getCreateBy, queryVO.getCommitUserName()) | 1363 | .eq(StringUtils.isNotBlank(queryVO.getCommitUserName()), OrderBaseInfoDO::getCreateBy, queryVO.getCommitUserName()) |
1364 | .ge(StringUtils.isNotBlank(queryVO.getCreateStartTime()), OrderBaseInfoDO::getCreateTime, queryVO.getCreateStartTime()) | 1364 | .ge(StringUtils.isNotBlank(queryVO.getCreateStartTime()), OrderBaseInfoDO::getCreateTime, queryVO.getCreateStartTime()) |
1365 | .le(StringUtils.isNotBlank(queryVO.getCreateEndTime()), OrderBaseInfoDO::getCreateTime, queryVO.getCreateEndTime()) | 1365 | .le(StringUtils.isNotBlank(queryVO.getCreateEndTime()), OrderBaseInfoDO::getCreateTime, queryVO.getCreateEndTime()) |
1366 | - .eq(StringUtils.isNotBlank(queryVO.getOrderStatus()), OrderBaseInfoDO::getOrderStatus, queryVO.getOrderStatus()) | ||
1367 | - .eq(StringUtils.isNotBlank(queryVO.getCustomerCode()), OrderBaseInfoDO::getCustomerCode, queryVO.getCustomerCode()) | 1366 | + .in(CollectionUtils.isNotEmpty(queryVO.getOrderStatus()), OrderBaseInfoDO::getOrderStatus, queryVO.getOrderStatus()) |
1368 | .in(CollectionUtils.isNotEmpty(queryVO.getProjectNo()), OrderBaseInfoDO::getProjectNo, queryVO.getProjectNo()) | 1367 | .in(CollectionUtils.isNotEmpty(queryVO.getProjectNo()), OrderBaseInfoDO::getProjectNo, queryVO.getProjectNo()) |
1369 | .in(CollectionUtils.isNotEmpty(queryVO.getInnerNo()), OrderBaseInfoDO::getInnerNo, queryVO.getInnerNo()) | 1368 | .in(CollectionUtils.isNotEmpty(queryVO.getInnerNo()), OrderBaseInfoDO::getInnerNo, queryVO.getInnerNo()) |
1370 | - .eq(StringUtils.isNotBlank(queryVO.getProductionDepartment()), OrderBaseInfoDO::getProductionDepartment, queryVO.getProductionDepartment()) | 1369 | + .in(CollectionUtils.isNotEmpty(queryVO.getProductionDepartment()), OrderBaseInfoDO::getProductionDepartment, queryVO.getProductionDepartment()) |
1371 | .eq(StringUtils.isNotBlank(queryVO.getCreateBy()), OrderBaseInfoDO::getCreateBy, queryVO.getCreateBy()) | 1370 | .eq(StringUtils.isNotBlank(queryVO.getCreateBy()), OrderBaseInfoDO::getCreateBy, queryVO.getCreateBy()) |
1372 | .eq(StringUtils.isNotBlank(queryVO.getBusinessPerson()), OrderBaseInfoDO::getBusinessPerson, queryVO.getBusinessPerson()) | 1371 | .eq(StringUtils.isNotBlank(queryVO.getBusinessPerson()), OrderBaseInfoDO::getBusinessPerson, queryVO.getBusinessPerson()) |
1373 | .ge(StringUtils.isNotBlank(queryVO.getProductionDepartmentConsignStartTime()), OrderBaseInfoDO::getProductionDepartmentConsignTime, queryVO.getProductionDepartmentConsignStartTime()) | 1372 | .ge(StringUtils.isNotBlank(queryVO.getProductionDepartmentConsignStartTime()), OrderBaseInfoDO::getProductionDepartmentConsignTime, queryVO.getProductionDepartmentConsignStartTime()) |
src/main/java/com/order/erp/service/order/impl/OrderCompletionReportServiceImpl.java
@@ -14,6 +14,7 @@ import com.order.erp.domain.dto.order.OrderBaseInfoDO; | @@ -14,6 +14,7 @@ import com.order.erp.domain.dto.order.OrderBaseInfoDO; | ||
14 | import com.order.erp.domain.dto.order.OrderCompletionReportDO; | 14 | import com.order.erp.domain.dto.order.OrderCompletionReportDO; |
15 | import com.order.erp.domain.vo.OrderReportAnalysisExportVo; | 15 | import com.order.erp.domain.vo.OrderReportAnalysisExportVo; |
16 | import com.order.erp.domain.vo.OrderReportAnalysisResultVo; | 16 | import com.order.erp.domain.vo.OrderReportAnalysisResultVo; |
17 | +import com.order.erp.domain.vo.OrderReportStatExportVo; | ||
17 | import com.order.erp.domain.vo.order.OrderBaseInfoQueryVO; | 18 | import com.order.erp.domain.vo.order.OrderBaseInfoQueryVO; |
18 | import com.order.erp.domain.vo.order.OrderCompletionReportQueryVO; | 19 | import com.order.erp.domain.vo.order.OrderCompletionReportQueryVO; |
19 | import com.order.erp.domain.vo.order.OrderCompletionReportVO; | 20 | import com.order.erp.domain.vo.order.OrderCompletionReportVO; |
@@ -82,23 +83,24 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl<OrderCompletio | @@ -82,23 +83,24 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl<OrderCompletio | ||
82 | LambdaQueryWrapper<OrderBaseInfoDO> queryWrapper = orderBaseInfoService.buildQueryByParam(queryVO); | 83 | LambdaQueryWrapper<OrderBaseInfoDO> queryWrapper = orderBaseInfoService.buildQueryByParam(queryVO); |
83 | List<OrderBaseInfoDO> orderBaseInfoDOList = orderBaseInfoService.list(queryWrapper); | 84 | List<OrderBaseInfoDO> orderBaseInfoDOList = orderBaseInfoService.list(queryWrapper); |
84 | if (CollectionUtils.isNotEmpty(orderBaseInfoDOList)) { | 85 | if (CollectionUtils.isNotEmpty(orderBaseInfoDOList)) { |
86 | + Map<Long, OrderBaseInfoDO> orderBaseInfoDOMap = new HashMap<>(); | ||
85 | Set<Long> orderIds = orderBaseInfoDOList.stream().map(OrderBaseInfoDO::getId).collect(Collectors.toSet()); | 87 | Set<Long> orderIds = orderBaseInfoDOList.stream().map(OrderBaseInfoDO::getId).collect(Collectors.toSet()); |
88 | + Set<String> innerNoSet = new HashSet<>(); | ||
86 | List<OrderCompletionReportDO> reportDOS = list(new LambdaQueryWrapper<OrderCompletionReportDO>().in(OrderCompletionReportDO::getOrderId, orderIds)); | 89 | List<OrderCompletionReportDO> reportDOS = list(new LambdaQueryWrapper<OrderCompletionReportDO>().in(OrderCompletionReportDO::getOrderId, orderIds)); |
87 | Map<String, OrderReportAnalysisExportVo> exportVoMap = new HashMap<>(); | 90 | Map<String, OrderReportAnalysisExportVo> exportVoMap = new HashMap<>(); |
88 | if (CollectionUtils.isNotEmpty(reportDOS)) { | 91 | if (CollectionUtils.isNotEmpty(reportDOS)) { |
89 | - for (OrderCompletionReportDO reportDO : reportDOS) { | ||
90 | - if (exportVoMap.containsKey(reportDO.getIdeaSource())) { | ||
91 | - handlerExportMap(0, reportDO, exportVoMap); | ||
92 | - } | ||
93 | - if (exportVoMap.containsKey(reportDO.getManualPreform1())) { | ||
94 | - handlerExportMap(1, reportDO, exportVoMap); | ||
95 | - } | ||
96 | - if (exportVoMap.containsKey(reportDO.getManualPreform2())) { | ||
97 | - handlerExportMap(2, reportDO, exportVoMap); | 92 | + Map<Long, OrderCompletionReportDO> completionReportDOMap = new HashMap<>(); |
93 | + completionReportDOMap = reportDOS.stream().collect(Collectors.toMap(OrderCompletionReportDO::getOrderId, Function.identity(), (x, y) -> x)); | ||
94 | + for (OrderBaseInfoDO orderBaseInfoDO : orderBaseInfoDOList) { | ||
95 | + if (completionReportDOMap.containsKey(orderBaseInfoDO.getId())) { | ||
96 | + if (!innerNoSet.contains(orderBaseInfoDO.getInnerNo())) { | ||
97 | + orderBaseInfoDOMap.put(orderBaseInfoDO.getId(), orderBaseInfoDO); | ||
98 | + } | ||
99 | + innerNoSet.add(orderBaseInfoDO.getInnerNo()); | ||
98 | } | 100 | } |
99 | - if (!exportVoMap.containsKey(reportDO.getIdeaSource()) | ||
100 | - && !exportVoMap.containsKey(reportDO.getManualPreform1()) | ||
101 | - && !exportVoMap.containsKey(reportDO.getManualPreform2())) { | 101 | + } |
102 | + for (OrderCompletionReportDO reportDO : reportDOS) { | ||
103 | + if (orderBaseInfoDOMap.containsKey(reportDO.getOrderId())) { | ||
102 | handlerExportMap(0, reportDO, exportVoMap); | 104 | handlerExportMap(0, reportDO, exportVoMap); |
103 | handlerExportMap(1, reportDO, exportVoMap); | 105 | handlerExportMap(1, reportDO, exportVoMap); |
104 | handlerExportMap(2, reportDO, exportVoMap); | 106 | handlerExportMap(2, reportDO, exportVoMap); |
@@ -107,7 +109,15 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl<OrderCompletio | @@ -107,7 +109,15 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl<OrderCompletio | ||
107 | } | 109 | } |
108 | List<OrderReportAnalysisExportVo> exportVos = exportMap2exportList(exportVoMap); | 110 | List<OrderReportAnalysisExportVo> exportVos = exportMap2exportList(exportVoMap); |
109 | if (CollectionUtils.isNotEmpty(exportVos)) { | 111 | if (CollectionUtils.isNotEmpty(exportVos)) { |
110 | - ExcelUtils.getInstance().exportObjects2Excel(exportVos, OrderReportAnalysisExportVo.class, response.getOutputStream()); | 112 | + List<OrderReportStatExportVo> statExportVos = exportVos.stream().map(x -> { |
113 | + OrderReportStatExportVo statExportVo = new OrderReportStatExportVo(); | ||
114 | + statExportVo.setDesigner(x.getDesigner()); | ||
115 | + statExportVo.setIdeaSourceRate(x.getIdeaSourceRate().divide(new BigDecimal(innerNoSet.size()), Constant.SIX, RoundingMode.HALF_UP).doubleValue()); | ||
116 | + statExportVo.setManualPreform1Rate(x.getManualPreform1Rate().divide(new BigDecimal(innerNoSet.size()), Constant.SIX, RoundingMode.HALF_UP).doubleValue()); | ||
117 | + statExportVo.setManualPreform2Rate(x.getManualPreform2Rate().divide(new BigDecimal(innerNoSet.size()), Constant.SIX, RoundingMode.HALF_UP).doubleValue()); | ||
118 | + return statExportVo; | ||
119 | + }).collect(Collectors.toList()); | ||
120 | + ExcelUtils.getInstance().exportObjects2Excel(statExportVos, OrderReportStatExportVo.class, response.getOutputStream()); | ||
111 | } | 121 | } |
112 | } | 122 | } |
113 | 123 | ||
@@ -162,14 +172,14 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl<OrderCompletio | @@ -162,14 +172,14 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl<OrderCompletio | ||
162 | if (Objects.isNull(exportVo.getManualPreform2Rate())) { | 172 | if (Objects.isNull(exportVo.getManualPreform2Rate())) { |
163 | exportVo.setManualPreform2Rate(new BigDecimal(0)); | 173 | exportVo.setManualPreform2Rate(new BigDecimal(0)); |
164 | } | 174 | } |
165 | - if (Objects.nonNull(reportDO.getIdeaSourceRate())) { | ||
166 | - exportVo.setIdeaSourceRate(new BigDecimal(reportDO.getIdeaSourceRate()).add(exportVo.getIdeaSourceRate())); | 175 | + if (key.equals(reportDO.getIdeaSource())) { |
176 | + exportVo.setIdeaSourceRate(new BigDecimal(Objects.nonNull(reportDO.getIdeaSourceRate()) ? reportDO.getIdeaSourceRate() : 0).add(exportVo.getIdeaSourceRate())); | ||
167 | } | 177 | } |
168 | - if (Objects.nonNull(reportDO.getManualPreform1Rate())) { | ||
169 | - exportVo.setManualPreform1Rate(new BigDecimal(reportDO.getManualPreform1Rate()).add(exportVo.getManualPreform1Rate())); | 178 | + if (key.equals(reportDO.getManualPreform1())) { |
179 | + exportVo.setManualPreform1Rate(new BigDecimal(Objects.nonNull(reportDO.getManualPreform1Rate()) ? reportDO.getManualPreform1Rate() : 0).add(exportVo.getManualPreform1Rate())); | ||
170 | } | 180 | } |
171 | - if (Objects.nonNull(reportDO.getManualPreform2Rate())) { | ||
172 | - exportVo.setManualPreform2Rate(new BigDecimal(reportDO.getManualPreform2Rate()).add(exportVo.getManualPreform2Rate())); | 181 | + if (key.equals(reportDO.getManualPreform2())) { |
182 | + exportVo.setManualPreform2Rate(new BigDecimal(Objects.nonNull(reportDO.getManualPreform2Rate()) ? reportDO.getManualPreform2Rate() : 0).add(exportVo.getManualPreform2Rate())); | ||
173 | } | 183 | } |
174 | exportVoMap.put(key, exportVo); | 184 | exportVoMap.put(key, exportVo); |
175 | } | 185 | } |