wangyingyang

fix

...@@ -12,7 +12,6 @@ import com.infoloop.tianting.exception.ErrorCodeEnum; ...@@ -12,7 +12,6 @@ import com.infoloop.tianting.exception.ErrorCodeEnum;
12 import com.infoloop.tianting.menuservice.SingleMenuDetailRpcResponse; 12 import com.infoloop.tianting.menuservice.SingleMenuDetailRpcResponse;
13 import com.infoloop.tianting.menuservice.SingleMenuRpcResponse; 13 import com.infoloop.tianting.menuservice.SingleMenuRpcResponse;
14 import com.infoloop.tianting.model.dto.OrderDbDTO.QueryOrderByConditionDto; 14 import com.infoloop.tianting.model.dto.OrderDbDTO.QueryOrderByConditionDto;
15 -import com.infoloop.tianting.model.dto.SettlementDTO;
16 import com.infoloop.tianting.model.dto.SettlementDTO.SettlementDataByMealDto; 15 import com.infoloop.tianting.model.dto.SettlementDTO.SettlementDataByMealDto;
17 import com.infoloop.tianting.model.dto.SettlementDTO.SettlementDataDto; 16 import com.infoloop.tianting.model.dto.SettlementDTO.SettlementDataDto;
18 import com.infoloop.tianting.model.dto.SettlementDTO.SettlementMenuMealDto; 17 import com.infoloop.tianting.model.dto.SettlementDTO.SettlementMenuMealDto;
...@@ -26,13 +25,8 @@ import com.infoloop.tianting.service.client.OrderServiceRpcClient; ...@@ -26,13 +25,8 @@ import com.infoloop.tianting.service.client.OrderServiceRpcClient;
26 import com.infoloop.tianting.service.client.SkuServiceRpcClient; 25 import com.infoloop.tianting.service.client.SkuServiceRpcClient;
27 import com.infoloop.tianting.setmealscheduleservice.SingleMealRpcResponse; 26 import com.infoloop.tianting.setmealscheduleservice.SingleMealRpcResponse;
28 import com.infoloop.tianting.utils.DateUtil; 27 import com.infoloop.tianting.utils.DateUtil;
29 -import java.time.LocalDate;
30 -import java.time.LocalDateTime;
31 -import java.time.temporal.ChronoUnit;
32 -import java.util.Comparator;
33 import lombok.RequiredArgsConstructor; 28 import lombok.RequiredArgsConstructor;
34 import lombok.extern.slf4j.Slf4j; 29 import lombok.extern.slf4j.Slf4j;
35 -import org.apache.poi.hpsf.Date;
36 import org.apache.poi.ss.usermodel.Cell; 30 import org.apache.poi.ss.usermodel.Cell;
37 import org.apache.poi.ss.usermodel.Row; 31 import org.apache.poi.ss.usermodel.Row;
38 import org.apache.poi.ss.usermodel.Sheet; 32 import org.apache.poi.ss.usermodel.Sheet;
...@@ -44,11 +38,15 @@ import org.springframework.stereotype.Service; ...@@ -44,11 +38,15 @@ import org.springframework.stereotype.Service;
44 38
45 import java.io.ByteArrayOutputStream; 39 import java.io.ByteArrayOutputStream;
46 import java.io.IOException; 40 import java.io.IOException;
41 +import java.time.LocalDate;
42 +import java.time.LocalDateTime;
43 +import java.time.temporal.ChronoUnit;
47 import java.util.ArrayList; 44 import java.util.ArrayList;
48 import java.util.Comparator; 45 import java.util.Comparator;
49 import java.util.HashMap; 46 import java.util.HashMap;
50 import java.util.List; 47 import java.util.List;
51 import java.util.Map; 48 import java.util.Map;
49 +import java.util.Objects;
52 import java.util.stream.Collectors; 50 import java.util.stream.Collectors;
53 51
54 @Slf4j 52 @Slf4j
...@@ -71,7 +69,6 @@ public class SettlementServiceImpl implements SettlementService { ...@@ -71,7 +69,6 @@ public class SettlementServiceImpl implements SettlementService {
71 } 69 }
72 70
73 public ByteArrayOutputStream generateOrderSettlementExcelBySku(SettlementRequestDto settlementRequest) { 71 public ByteArrayOutputStream generateOrderSettlementExcelBySku(SettlementRequestDto settlementRequest) {
74 -
75 final var startDate = settlementRequest.getTimeStart().plusHours(8).toLocalDate().atStartOfDay(); 72 final var startDate = settlementRequest.getTimeStart().plusHours(8).toLocalDate().atStartOfDay();
76 final var endDate = settlementRequest.getTimeEnd().plusHours(8).toLocalDate().plusDays(1).atStartOfDay(); 73 final var endDate = settlementRequest.getTimeEnd().plusHours(8).toLocalDate().plusDays(1).atStartOfDay();
77 final var operatorLoginInfo = LoginContextHolder.getLoginInfo(); 74 final var operatorLoginInfo = LoginContextHolder.getLoginInfo();
...@@ -124,7 +121,7 @@ public class SettlementServiceImpl implements SettlementService { ...@@ -124,7 +121,7 @@ public class SettlementServiceImpl implements SettlementService {
124 121
125 // 找出当天所有的订单 122 // 找出当天所有的订单
126 final var curOrderList = orderList.stream() 123 final var curOrderList = orderList.stream()
127 - .filter(o -> DateUtil.formatDateOfUtc(o.getCreatedAt(), DateUtil.YYYY_MM_DD_UTC).equals(date)) 124 + .filter(o -> Objects.equals(DateUtil.formatDateOfUtc(o.getCreatedAt(), DateUtil.YYYY_MM_DD_UTC), date))
128 .collect(Collectors.toList()); 125 .collect(Collectors.toList());
129 final var curOrderIds = curOrderList.stream() 126 final var curOrderIds = curOrderList.stream()
130 .map(SingleClientCustomerOrderRpcResponse::getId) 127 .map(SingleClientCustomerOrderRpcResponse::getId)
...@@ -216,8 +213,7 @@ public class SettlementServiceImpl implements SettlementService { ...@@ -216,8 +213,7 @@ public class SettlementServiceImpl implements SettlementService {
216 .build(); 213 .build();
217 214
218 try { 215 try {
219 - final var bytes = writeToExcelBySku(settlementDataDto); 216 + return writeToExcelBySku(settlementDataDto);
220 - return bytes;
221 } catch (IOException e) { 217 } catch (IOException e) {
222 throw BusinessException.build(ErrorCodeEnum.GENERATE_EXCEL_ERROR); 218 throw BusinessException.build(ErrorCodeEnum.GENERATE_EXCEL_ERROR);
223 } 219 }
...@@ -259,7 +255,7 @@ public class SettlementServiceImpl implements SettlementService { ...@@ -259,7 +255,7 @@ public class SettlementServiceImpl implements SettlementService {
259 for (Map.Entry<String, Map<String, List<SettlementMenuSkuDto>>> outerEntry : classifyOrders.entrySet()) { 255 for (Map.Entry<String, Map<String, List<SettlementMenuSkuDto>>> outerEntry : classifyOrders.entrySet()) {
260 String orderDate = outerEntry.getKey(); 256 String orderDate = outerEntry.getKey();
261 Map<String, List<SettlementMenuSkuDto>> innerMap = outerEntry.getValue(); 257 Map<String, List<SettlementMenuSkuDto>> innerMap = outerEntry.getValue();
262 - Integer curDateTotalRow = 0; 258 + int curDateTotalRow = 0;
263 for (Map.Entry<String, List<SettlementMenuSkuDto>> innerEntry : innerMap.entrySet()) { 259 for (Map.Entry<String, List<SettlementMenuSkuDto>> innerEntry : innerMap.entrySet()) {
264 curDateTotalRow += innerEntry.getValue().size(); 260 curDateTotalRow += innerEntry.getValue().size();
265 } 261 }
...@@ -331,8 +327,9 @@ public class SettlementServiceImpl implements SettlementService { ...@@ -331,8 +327,9 @@ public class SettlementServiceImpl implements SettlementService {
331 final var startDate = settlementRequest.getTimeStart().plusHours(8).toLocalDate().atStartOfDay(); 327 final var startDate = settlementRequest.getTimeStart().plusHours(8).toLocalDate().atStartOfDay();
332 final var endDate = settlementRequest.getTimeEnd().plusHours(8).toLocalDate().plusDays(1).atStartOfDay(); 328 final var endDate = settlementRequest.getTimeEnd().plusHours(8).toLocalDate().plusDays(1).atStartOfDay();
333 final var operatorLoginInfo = LoginContextHolder.getLoginInfo(); 329 final var operatorLoginInfo = LoginContextHolder.getLoginInfo();
330 + final int enterpriseId = LoginContextHolder.hasLogin() ? operatorLoginInfo.getEnterpriseId() : settlementRequest.getEnterpriseId();
334 final var queryOrderDto = QueryOrderByConditionDto.builder() 331 final var queryOrderDto = QueryOrderByConditionDto.builder()
335 - .enterpriseId(LoginContextHolder.hasLogin() ? operatorLoginInfo.getEnterpriseId() : settlementRequest.getEnterpriseId()) 332 + .enterpriseId(enterpriseId)
336 .shouldFilterCreatedAtTimeStart(true) 333 .shouldFilterCreatedAtTimeStart(true)
337 .createdAtTimeStart(startDate) 334 .createdAtTimeStart(startDate)
338 .shouldFilterCreatedAtTimeEnd(true) 335 .shouldFilterCreatedAtTimeEnd(true)
...@@ -356,12 +353,12 @@ public class SettlementServiceImpl implements SettlementService { ...@@ -356,12 +353,12 @@ public class SettlementServiceImpl implements SettlementService {
356 SingleClientCustomerOrderRpcResponse::getMenuId).distinct() 353 SingleClientCustomerOrderRpcResponse::getMenuId).distinct()
357 .collect(Collectors.toList()); 354 .collect(Collectors.toList());
358 final var menuList = menuServiceRpcClient 355 final var menuList = menuServiceRpcClient
359 - .getMenusByIds(operatorLoginInfo.getEnterpriseId(), menuIds) 356 + .getMenusByIds(enterpriseId, menuIds)
360 .getResponsesList(); 357 .getResponsesList();
361 final var menuDetailList = menuServiceRpcClient.queryMenuDetailsByMenuIds( 358 final var menuDetailList = menuServiceRpcClient.queryMenuDetailsByMenuIds(
362 - operatorLoginInfo.getEnterpriseId(), menuIds).getResponsesList(); 359 + enterpriseId, menuIds).getResponsesList();
363 //获取到所有的餐别 360 //获取到所有的餐别
364 - final var allMeals = mealServiceRpcClient.getAllMeals(operatorLoginInfo.getEnterpriseId()).getResponsesList(); 361 + final var allMeals = mealServiceRpcClient.getAllMeals(enterpriseId).getResponsesList();
365 362
366 Map<String, Map<String, Map<String, List<SettlementMenuMealDto>>>> classifyOrders = new HashMap<>(); 363 Map<String, Map<String, Map<String, List<SettlementMenuMealDto>>>> classifyOrders = new HashMap<>();
367 for(SingleMenuRpcResponse menu: menuList) { 364 for(SingleMenuRpcResponse menu: menuList) {
...@@ -414,7 +411,7 @@ public class SettlementServiceImpl implements SettlementService { ...@@ -414,7 +411,7 @@ public class SettlementServiceImpl implements SettlementService {
414 final var curMealDateSkuList = mealsMap.get(date); 411 final var curMealDateSkuList = mealsMap.get(date);
415 //找出当天所有的order details 412 //找出当天所有的order details
416 final var curMealDateOrderDetails = curMealOrderDetails.stream() 413 final var curMealDateOrderDetails = curMealOrderDetails.stream()
417 - .filter(o -> DateUtil.formatDateOfUtc(o.getCreatedAt(), DateUtil.YYYY_MM_DD_UTC).equals(date)) 414 + .filter(o -> Objects.equals(DateUtil.formatDateOfUtc(o.getCreatedAt(), DateUtil.YYYY_MM_DD_UTC), date))
418 .collect(Collectors.toList()); 415 .collect(Collectors.toList());
419 for(SingleClientCustomerOrderDetailRpcResponse detail: curMealDateOrderDetails) { 416 for(SingleClientCustomerOrderDetailRpcResponse detail: curMealDateOrderDetails) {
420 final var settlementOrderDetail = SettlementMenuMealDto.builder() 417 final var settlementOrderDetail = SettlementMenuMealDto.builder()
...@@ -428,7 +425,7 @@ public class SettlementServiceImpl implements SettlementService { ...@@ -428,7 +425,7 @@ public class SettlementServiceImpl implements SettlementService {
428 } 425 }
429 426
430 } 427 }
431 - final var client = inventoryServiceRpcClient.getClientById(operatorLoginInfo.getEnterpriseId(), 428 + final var client = inventoryServiceRpcClient.getClientById(enterpriseId,
432 settlementRequest.getClientId()).getClient(); 429 settlementRequest.getClientId()).getClient();
433 final var settlementDataByMealDto = SettlementDataByMealDto.builder() 430 final var settlementDataByMealDto = SettlementDataByMealDto.builder()
434 .classifyOrders(classifyOrders) 431 .classifyOrders(classifyOrders)
...@@ -437,8 +434,7 @@ public class SettlementServiceImpl implements SettlementService { ...@@ -437,8 +434,7 @@ public class SettlementServiceImpl implements SettlementService {
437 .endTime(settlementRequest.getTimeEnd().plusHours(8)) 434 .endTime(settlementRequest.getTimeEnd().plusHours(8))
438 .build(); 435 .build();
439 try { 436 try {
440 - final var bytes = writeToExcelByMeal(settlementDataByMealDto); 437 + return writeToExcelByMeal(settlementDataByMealDto);
441 - return bytes;
442 } catch (IOException e) { 438 } catch (IOException e) {
443 throw BusinessException.build(ErrorCodeEnum.GENERATE_EXCEL_ERROR); 439 throw BusinessException.build(ErrorCodeEnum.GENERATE_EXCEL_ERROR);
444 } 440 }
...@@ -503,10 +499,10 @@ public class SettlementServiceImpl implements SettlementService { ...@@ -503,10 +499,10 @@ public class SettlementServiceImpl implements SettlementService {
503 mealCell.setCellValue(mealName); 499 mealCell.setCellValue(mealName);
504 500
505 columnNum = 2; 501 columnNum = 2;
506 - Integer totalPrice = 0; 502 + int totalPrice = 0;
507 for (String date: dates) { 503 for (String date: dates) {
508 final var toWriteDateSkuList = skuMap.get(date); 504 final var toWriteDateSkuList = skuMap.get(date);
509 - Integer price = 0; 505 + int price = 0;
510 if(!toWriteDateSkuList.isEmpty()) { 506 if(!toWriteDateSkuList.isEmpty()) {
511 for (SettlementMenuMealDto settlementMenuMealDto: toWriteDateSkuList) { 507 for (SettlementMenuMealDto settlementMenuMealDto: toWriteDateSkuList) {
512 price += settlementMenuMealDto.getPrice() * settlementMenuMealDto.getCount(); 508 price += settlementMenuMealDto.getPrice() * settlementMenuMealDto.getCount();
......