Commit 44e397b3c8705788de0ca51add0a0260aaa54a16

Authored by 谢茂盛
1 parent 0f4ba695

feat: 问题修复项

1、设计师权重导出
2、订单列表多选
src/main/java/com/order/erp/domain/vo/OrderReportStatExportVo.java
@@ -32,17 +32,17 @@ public class OrderReportStatExportVo implements Serializable { @@ -32,17 +32,17 @@ public class OrderReportStatExportVo implements Serializable {
32 * 想法来源占比 32 * 想法来源占比
33 */ 33 */
34 @ExcelField(title = "想法来源占比", order = 2) 34 @ExcelField(title = "想法来源占比", order = 2)
35 - private Double ideaSourceRate; 35 + private String ideaSourceRate;
36 36
37 /** 37 /**
38 * 手工初型1占比 38 * 手工初型1占比
39 */ 39 */
40 @ExcelField(title = "手工初型1占比", order = 3) 40 @ExcelField(title = "手工初型1占比", order = 3)
41 - private Double manualPreform1Rate; 41 + private String manualPreform1Rate;
42 42
43 /** 43 /**
44 * 手工初型2占比 44 * 手工初型2占比
45 */ 45 */
46 @ExcelField(title = "手工初型2占比", order = 4) 46 @ExcelField(title = "手工初型2占比", order = 4)
47 - private Double manualPreform2Rate; 47 + private String manualPreform2Rate;
48 } 48 }
src/main/java/com/order/erp/service/admin/impl/AdminUserServiceImpl.java
@@ -248,7 +248,11 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser @@ -248,7 +248,11 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
248 AdminUserDO adminUserDo = BeanUtil.copyProperties(adminUserVO, AdminUserDO.class); 248 AdminUserDO adminUserDo = BeanUtil.copyProperties(adminUserVO, AdminUserDO.class);
249 adminUserDo.setUserName(adminUserDo.getNickName()); 249 adminUserDo.setUserName(adminUserDo.getNickName());
250 updateById(adminUserDo); 250 updateById(adminUserDo);
251 - 251 + if (Objects.nonNull(adminUserVO.getRoleId())) {
  252 + Set<Long> roleIds = new HashSet<>();
  253 + roleIds.add(adminUserVO.getRoleId());
  254 + authRole(AdminAuthUserVO.builder().userId(adminUserDo.getId()).roleIds(roleIds).build());
  255 + }
252 return ServerResult.success(); 256 return ServerResult.success();
253 } 257 }
254 258
src/main/java/com/order/erp/service/order/impl/OrderCompletionReportServiceImpl.java
@@ -18,6 +18,7 @@ import com.order.erp.domain.vo.OrderReportStatExportVo; @@ -18,6 +18,7 @@ import com.order.erp.domain.vo.OrderReportStatExportVo;
18 import com.order.erp.domain.vo.order.OrderBaseInfoQueryVO; 18 import com.order.erp.domain.vo.order.OrderBaseInfoQueryVO;
19 import com.order.erp.domain.vo.order.OrderCompletionReportQueryVO; 19 import com.order.erp.domain.vo.order.OrderCompletionReportQueryVO;
20 import com.order.erp.domain.vo.order.OrderCompletionReportVO; 20 import com.order.erp.domain.vo.order.OrderCompletionReportVO;
  21 +import com.order.erp.domain.vo.order.OrderReportResultVO;
21 import com.order.erp.mapper.order.OrderCompletionReportMapper; 22 import com.order.erp.mapper.order.OrderCompletionReportMapper;
22 import com.order.erp.service.order.OrderBaseInfoService; 23 import com.order.erp.service.order.OrderBaseInfoService;
23 import com.order.erp.service.order.OrderCompletionReportService; 24 import com.order.erp.service.order.OrderCompletionReportService;
@@ -89,7 +90,9 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl&lt;OrderCompletio @@ -89,7 +90,9 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl&lt;OrderCompletio
89 List<OrderCompletionReportDO> reportDOS = list(new LambdaQueryWrapper<OrderCompletionReportDO>().in(OrderCompletionReportDO::getOrderId, orderIds)); 90 List<OrderCompletionReportDO> reportDOS = list(new LambdaQueryWrapper<OrderCompletionReportDO>().in(OrderCompletionReportDO::getOrderId, orderIds));
90 Map<String, OrderReportAnalysisExportVo> exportVoMap = new HashMap<>(); 91 Map<String, OrderReportAnalysisExportVo> exportVoMap = new HashMap<>();
91 if (CollectionUtils.isNotEmpty(reportDOS)) { 92 if (CollectionUtils.isNotEmpty(reportDOS)) {
92 - orderBaseInfoDOList = filterBaseData(orderBaseInfoDOList, reportDOS); 93 + OrderReportResultVO reportResultVO = filterBaseData(orderBaseInfoDOList, reportDOS);
  94 + orderBaseInfoDOList = reportResultVO.getOrderBaseInfoDOList();
  95 + reportDOS = reportResultVO.getReportDOS();
93 Map<Long, OrderCompletionReportDO> completionReportDOMap = new HashMap<>(); 96 Map<Long, OrderCompletionReportDO> completionReportDOMap = new HashMap<>();
94 completionReportDOMap = reportDOS.stream().collect(Collectors.toMap(OrderCompletionReportDO::getOrderId, Function.identity(), (x, y) -> x)); 97 completionReportDOMap = reportDOS.stream().collect(Collectors.toMap(OrderCompletionReportDO::getOrderId, Function.identity(), (x, y) -> x));
95 for (OrderBaseInfoDO orderBaseInfoDO : orderBaseInfoDOList) { 98 for (OrderBaseInfoDO orderBaseInfoDO : orderBaseInfoDOList) {
@@ -101,9 +104,8 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl&lt;OrderCompletio @@ -101,9 +104,8 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl&lt;OrderCompletio
101 } 104 }
102 } 105 }
103 for (OrderCompletionReportDO reportDO : reportDOS) { 106 for (OrderCompletionReportDO reportDO : reportDOS) {
104 - handlerExportMap(0, reportDO, exportVoMap);  
105 - handlerExportMap(1, reportDO, exportVoMap);  
106 - handlerExportMap(2, reportDO, exportVoMap); 107 + handlerExportMap(reportDO, exportVoMap);
  108 +
107 } 109 }
108 } 110 }
109 List<OrderReportAnalysisExportVo> exportVos = exportMap2exportList(exportVoMap); 111 List<OrderReportAnalysisExportVo> exportVos = exportMap2exportList(exportVoMap);
@@ -111,9 +113,9 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl&lt;OrderCompletio @@ -111,9 +113,9 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl&lt;OrderCompletio
111 List<OrderReportStatExportVo> statExportVos = exportVos.stream().map(x -> { 113 List<OrderReportStatExportVo> statExportVos = exportVos.stream().map(x -> {
112 OrderReportStatExportVo statExportVo = new OrderReportStatExportVo(); 114 OrderReportStatExportVo statExportVo = new OrderReportStatExportVo();
113 statExportVo.setDesigner(x.getDesigner()); 115 statExportVo.setDesigner(x.getDesigner());
114 - statExportVo.setIdeaSourceRate(x.getIdeaSourceRate().divide(new BigDecimal(innerNoSet.size()), Constant.SIX, RoundingMode.HALF_UP).doubleValue());  
115 - statExportVo.setManualPreform1Rate(x.getManualPreform1Rate().divide(new BigDecimal(innerNoSet.size()), Constant.SIX, RoundingMode.HALF_UP).doubleValue());  
116 - statExportVo.setManualPreform2Rate(x.getManualPreform2Rate().divide(new BigDecimal(innerNoSet.size()), Constant.SIX, RoundingMode.HALF_UP).doubleValue()); 116 + statExportVo.setIdeaSourceRate(x.getIdeaSourceRate().divide(new BigDecimal(innerNoSet.size()), Constant.SIX, RoundingMode.HALF_UP).toString());
  117 + statExportVo.setManualPreform1Rate(x.getManualPreform1Rate().divide(new BigDecimal(innerNoSet.size()), Constant.SIX, RoundingMode.HALF_UP).toString());
  118 + statExportVo.setManualPreform2Rate(x.getManualPreform2Rate().divide(new BigDecimal(innerNoSet.size()), Constant.SIX, RoundingMode.HALF_UP).toString());
117 return statExportVo; 119 return statExportVo;
118 }).collect(Collectors.toList()); 120 }).collect(Collectors.toList());
119 ExcelUtils.getInstance().exportObjects2Excel(statExportVos, OrderReportStatExportVo.class, response.getOutputStream()); 121 ExcelUtils.getInstance().exportObjects2Excel(statExportVos, OrderReportStatExportVo.class, response.getOutputStream());
@@ -145,42 +147,40 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl&lt;OrderCompletio @@ -145,42 +147,40 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl&lt;OrderCompletio
145 * @param reportDO 147 * @param reportDO
146 * @param exportVoMap 148 * @param exportVoMap
147 */ 149 */
148 - private void handlerExportMap(Integer type, OrderCompletionReportDO reportDO, Map<String, OrderReportAnalysisExportVo> exportVoMap) {  
149 -  
150 - String key = null;  
151 - if (type == 0) {  
152 - key = reportDO.getIdeaSource(); 150 + private void handlerExportMap(OrderCompletionReportDO reportDO, Map<String, OrderReportAnalysisExportVo> exportVoMap) {
153 151
  152 + String ideaSource = reportDO.getIdeaSource();
  153 + String manualPreform1 = reportDO.getManualPreform1();
  154 + String manualPreform2 = reportDO.getManualPreform2();
  155 + OrderReportAnalysisExportVo ideaSource4exportVo = exportVoMap.get(ideaSource);
  156 + if (Objects.isNull(ideaSource4exportVo)) {
  157 + ideaSource4exportVo = new OrderReportAnalysisExportVo();
  158 + ideaSource4exportVo.setIdeaSourceRate(new BigDecimal(0));
  159 + ideaSource4exportVo.setManualPreform1Rate(new BigDecimal(0));
  160 + ideaSource4exportVo.setManualPreform2Rate(new BigDecimal(0));
154 } 161 }
155 - if (type == 1) {  
156 - key = reportDO.getManualPreform1();  
157 - }  
158 - if (type == 2) {  
159 - key = reportDO.getManualPreform2();  
160 - }  
161 - OrderReportAnalysisExportVo exportVo = exportVoMap.get(key);  
162 - if (Objects.isNull(exportVo)) {  
163 - exportVo = new OrderReportAnalysisExportVo();  
164 - }  
165 - if (Objects.isNull(exportVo.getIdeaSourceRate())) {  
166 - exportVo.setIdeaSourceRate(new BigDecimal(0));  
167 - }  
168 - if (Objects.isNull(exportVo.getManualPreform1Rate())) {  
169 - exportVo.setManualPreform1Rate(new BigDecimal(0));  
170 - }  
171 - if (Objects.isNull(exportVo.getManualPreform2Rate())) {  
172 - exportVo.setManualPreform2Rate(new BigDecimal(0));  
173 - }  
174 - if (key.equals(reportDO.getIdeaSource())) {  
175 - exportVo.setIdeaSourceRate(new BigDecimal(Objects.nonNull(reportDO.getIdeaSourceRate()) ? reportDO.getIdeaSourceRate() : 0).add(exportVo.getIdeaSourceRate()));  
176 - }  
177 - if (key.equals(reportDO.getManualPreform1())) {  
178 - exportVo.setManualPreform1Rate(new BigDecimal(Objects.nonNull(reportDO.getManualPreform1Rate()) ? reportDO.getManualPreform1Rate() : 0).add(exportVo.getManualPreform1Rate())); 162 + ideaSource4exportVo.setIdeaSourceRate(new BigDecimal(Objects.nonNull(reportDO.getIdeaSourceRate()) ? reportDO.getIdeaSourceRate() : 0).add(ideaSource4exportVo.getIdeaSourceRate()));
  163 + exportVoMap.put(ideaSource, ideaSource4exportVo);
  164 +
  165 + OrderReportAnalysisExportVo manualPreform14exportVo = exportVoMap.get(manualPreform1);
  166 + if (Objects.isNull(manualPreform14exportVo)) {
  167 + manualPreform14exportVo = new OrderReportAnalysisExportVo();
  168 + manualPreform14exportVo.setIdeaSourceRate(new BigDecimal(0));
  169 + manualPreform14exportVo.setManualPreform1Rate(new BigDecimal(0));
  170 + manualPreform14exportVo.setManualPreform2Rate(new BigDecimal(0));
179 } 171 }
180 - if (key.equals(reportDO.getManualPreform2())) {  
181 - exportVo.setManualPreform2Rate(new BigDecimal(Objects.nonNull(reportDO.getManualPreform2Rate()) ? reportDO.getManualPreform2Rate() : 0).add(exportVo.getManualPreform2Rate())); 172 + manualPreform14exportVo.setManualPreform1Rate(new BigDecimal(Objects.nonNull(reportDO.getManualPreform1Rate()) ? reportDO.getManualPreform1Rate() : 0).add(manualPreform14exportVo.getManualPreform1Rate()));
  173 + exportVoMap.put(manualPreform1, manualPreform14exportVo);
  174 +
  175 + OrderReportAnalysisExportVo manualPreform24exportVo = exportVoMap.get(manualPreform2);
  176 + if (Objects.isNull(manualPreform24exportVo)) {
  177 + manualPreform24exportVo = new OrderReportAnalysisExportVo();
  178 + manualPreform24exportVo.setIdeaSourceRate(new BigDecimal(0));
  179 + manualPreform24exportVo.setManualPreform1Rate(new BigDecimal(0));
  180 + manualPreform24exportVo.setManualPreform2Rate(new BigDecimal(0));
182 } 181 }
183 - exportVoMap.put(key, exportVo); 182 + manualPreform24exportVo.setManualPreform2Rate(new BigDecimal(Objects.nonNull(reportDO.getManualPreform2Rate()) ? reportDO.getManualPreform2Rate() : 0).add(manualPreform24exportVo.getManualPreform2Rate()));
  183 + exportVoMap.put(manualPreform2, manualPreform24exportVo);
184 } 184 }
185 185
186 @Override 186 @Override
@@ -197,7 +197,9 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl&lt;OrderCompletio @@ -197,7 +197,9 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl&lt;OrderCompletio
197 BigDecimal sum = new BigDecimal(0); 197 BigDecimal sum = new BigDecimal(0);
198 Map<Long, OrderCompletionReportDO> completionReportDOMap = new HashMap<>(); 198 Map<Long, OrderCompletionReportDO> completionReportDOMap = new HashMap<>();
199 if (CollectionUtils.isNotEmpty(reportDOS)) { 199 if (CollectionUtils.isNotEmpty(reportDOS)) {
200 - orderBaseInfoDOList = filterBaseData(orderBaseInfoDOList, reportDOS); 200 + OrderReportResultVO reportResultVO = filterBaseData(orderBaseInfoDOList, reportDOS);
  201 + orderBaseInfoDOList = reportResultVO.getOrderBaseInfoDOList();
  202 + reportDOS = reportResultVO.getReportDOS();
201 completionReportDOMap = reportDOS.stream().collect(Collectors.toMap(OrderCompletionReportDO::getOrderId, Function.identity(), (x, y) -> x)); 203 completionReportDOMap = reportDOS.stream().collect(Collectors.toMap(OrderCompletionReportDO::getOrderId, Function.identity(), (x, y) -> x));
202 for (OrderBaseInfoDO orderBaseInfoDO : orderBaseInfoDOList) { 204 for (OrderBaseInfoDO orderBaseInfoDO : orderBaseInfoDOList) {
203 if (completionReportDOMap.containsKey(orderBaseInfoDO.getId())) { 205 if (completionReportDOMap.containsKey(orderBaseInfoDO.getId())) {
@@ -214,7 +216,7 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl&lt;OrderCompletio @@ -214,7 +216,7 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl&lt;OrderCompletio
214 sum = sum.add(new BigDecimal(ideaSourceRate)).add(new BigDecimal(manualPreform1Rate)).add(new BigDecimal(manualPreform2Rate)); 216 sum = sum.add(new BigDecimal(ideaSourceRate)).add(new BigDecimal(manualPreform1Rate)).add(new BigDecimal(manualPreform2Rate));
215 } 217 }
216 } 218 }
217 - resultVo.setRate(sum.divide(new BigDecimal(innerNoSet.size()), Constant.SIX, RoundingMode.HALF_UP).doubleValue()); 219 + resultVo.setRate(Double.parseDouble(sum.divide(new BigDecimal(innerNoSet.size()), Constant.SIX, RoundingMode.HALF_UP).toString()));
218 } 220 }
219 return ServerResult.success(resultVo); 221 return ServerResult.success(resultVo);
220 } 222 }
@@ -224,17 +226,25 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl&lt;OrderCompletio @@ -224,17 +226,25 @@ public class OrderCompletionReportServiceImpl extends ServiceImpl&lt;OrderCompletio
224 * @param reportDOS 226 * @param reportDOS
225 * @return 227 * @return
226 */ 228 */
227 - private List<OrderBaseInfoDO> filterBaseData(List<OrderBaseInfoDO> orderBaseInfoDOList, List<OrderCompletionReportDO> reportDOS) {  
228 - List<OrderBaseInfoDO> result = new ArrayList<>(); 229 + private OrderReportResultVO filterBaseData(List<OrderBaseInfoDO> orderBaseInfoDOList, List<OrderCompletionReportDO> reportDOS) {
  230 + OrderReportResultVO result = new OrderReportResultVO();
  231 + List<OrderBaseInfoDO> result4orderBase = new ArrayList<>();
  232 + List<OrderCompletionReportDO> result4report = new ArrayList<>();
229 if (CollectionUtils.isEmpty(orderBaseInfoDOList)) { 233 if (CollectionUtils.isEmpty(orderBaseInfoDOList)) {
230 return result; 234 return result;
231 } 235 }
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 + Map<String, Long> innerOrderIdMap = new HashMap<>();
  237 + Map<Long, OrderCompletionReportDO> reportDOMap = reportDOS.stream().collect(Collectors.toMap(OrderCompletionReportDO::getOrderId, Function.identity(), (x, y) -> x));
  238 + for (OrderBaseInfoDO infoDO : orderBaseInfoDOList) {
  239 + if (reportDOMap.containsKey(infoDO.getId())) {
  240 + innerOrderIdMap.put(infoDO.getInnerNo(), infoDO.getId());
236 } 241 }
237 } 242 }
  243 + List<Long> orderIds = new ArrayList<>(innerOrderIdMap.values());
  244 + result4orderBase = orderBaseInfoDOList.stream().filter(x -> orderIds.contains(x.getId())).collect(Collectors.toList());
  245 + result4report = reportDOS.stream().filter(x -> orderIds.contains(x.getOrderId())).collect(Collectors.toList());
  246 + result.setOrderBaseInfoDOList(result4orderBase);
  247 + result.setReportDOS(result4report);
238 return result; 248 return result;
239 } 249 }
240 250
src/main/resources/application-local.yml
@@ -59,7 +59,7 @@ spring: @@ -59,7 +59,7 @@ spring:
59 testOnReturn: true 59 testOnReturn: true
60 password: 123456 60 password: 123456
61 time-between-eviction-runs-millis: 1000 61 time-between-eviction-runs-millis: 1000
62 - url: jdbc:mysql://39.108.227.113:3307/order-erp?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&useSSL=false&autoReconnect=true&failOverReadOnly=false&maxReconnects=10&allowMultiQueries=true&useAffectedRows=true&autoReconnectForPools=true 62 + url: jdbc:mysql://39.108.227.113:3307/order-erp1?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&useSSL=false&autoReconnect=true&failOverReadOnly=false&maxReconnects=10&allowMultiQueries=true&useAffectedRows=true&autoReconnectForPools=true
63 username: root 63 username: root
64 redis: 64 redis:
65 database: 0 65 database: 0
src/main/resources/application.yml
@@ -3,4 +3,4 @@ server: @@ -3,4 +3,4 @@ server:
3 3
4 spring: 4 spring:
5 profiles: 5 profiles:
6 - active: local  
7 \ No newline at end of file 6 \ No newline at end of file
  7 + active: prod
8 \ No newline at end of file 8 \ No newline at end of file