zhuyifan

fix

...@@ -10,7 +10,6 @@ import com.infoloop.tianting.exception.ErrorCodeEnum; ...@@ -10,7 +10,6 @@ import com.infoloop.tianting.exception.ErrorCodeEnum;
10 import com.infoloop.tianting.menuservice.SingleMenuDetailRpcResponse; 10 import com.infoloop.tianting.menuservice.SingleMenuDetailRpcResponse;
11 import com.infoloop.tianting.menuservice.SingleMenuRpcResponse; 11 import com.infoloop.tianting.menuservice.SingleMenuRpcResponse;
12 import com.infoloop.tianting.model.dto.OrderDbDTO.QueryOrderByConditionDto; 12 import com.infoloop.tianting.model.dto.OrderDbDTO.QueryOrderByConditionDto;
13 -import com.infoloop.tianting.model.dto.SettlementDTO;
14 import com.infoloop.tianting.model.dto.SettlementDTO.SettlementDataByMealDto; 13 import com.infoloop.tianting.model.dto.SettlementDTO.SettlementDataByMealDto;
15 import com.infoloop.tianting.model.dto.SettlementDTO.SettlementDataDto; 14 import com.infoloop.tianting.model.dto.SettlementDTO.SettlementDataDto;
16 import com.infoloop.tianting.model.dto.SettlementDTO.SettlementMenuMealDto; 15 import com.infoloop.tianting.model.dto.SettlementDTO.SettlementMenuMealDto;
...@@ -24,13 +23,8 @@ import com.infoloop.tianting.service.client.OrderServiceRpcClient; ...@@ -24,13 +23,8 @@ import com.infoloop.tianting.service.client.OrderServiceRpcClient;
24 import com.infoloop.tianting.service.client.SkuServiceRpcClient; 23 import com.infoloop.tianting.service.client.SkuServiceRpcClient;
25 import com.infoloop.tianting.setmealscheduleservice.SingleMealRpcResponse; 24 import com.infoloop.tianting.setmealscheduleservice.SingleMealRpcResponse;
26 import com.infoloop.tianting.utils.DateUtil; 25 import com.infoloop.tianting.utils.DateUtil;
27 -import java.time.LocalDate;
28 -import java.time.LocalDateTime;
29 -import java.time.temporal.ChronoUnit;
30 -import java.util.Comparator;
31 import lombok.RequiredArgsConstructor; 26 import lombok.RequiredArgsConstructor;
32 import lombok.extern.slf4j.Slf4j; 27 import lombok.extern.slf4j.Slf4j;
33 -import org.apache.poi.hpsf.Date;
34 import org.apache.poi.ss.usermodel.Cell; 28 import org.apache.poi.ss.usermodel.Cell;
35 import org.apache.poi.ss.usermodel.Row; 29 import org.apache.poi.ss.usermodel.Row;
36 import org.apache.poi.ss.usermodel.Sheet; 30 import org.apache.poi.ss.usermodel.Sheet;
...@@ -42,11 +36,15 @@ import org.springframework.stereotype.Service; ...@@ -42,11 +36,15 @@ import org.springframework.stereotype.Service;
42 36
43 import java.io.ByteArrayOutputStream; 37 import java.io.ByteArrayOutputStream;
44 import java.io.IOException; 38 import java.io.IOException;
39 +import java.time.LocalDate;
40 +import java.time.LocalDateTime;
41 +import java.time.temporal.ChronoUnit;
45 import java.util.ArrayList; 42 import java.util.ArrayList;
46 import java.util.Comparator; 43 import java.util.Comparator;
47 import java.util.HashMap; 44 import java.util.HashMap;
48 import java.util.List; 45 import java.util.List;
49 import java.util.Map; 46 import java.util.Map;
47 +import java.util.Objects;
50 import java.util.stream.Collectors; 48 import java.util.stream.Collectors;
51 49
52 @Slf4j 50 @Slf4j
...@@ -69,7 +67,6 @@ public class SettlementServiceImpl implements SettlementService { ...@@ -69,7 +67,6 @@ public class SettlementServiceImpl implements SettlementService {
69 } 67 }
70 68
71 public ByteArrayOutputStream generateOrderSettlementExcelBySku(SettlementRequestDto settlementRequest) { 69 public ByteArrayOutputStream generateOrderSettlementExcelBySku(SettlementRequestDto settlementRequest) {
72 -
73 final var startDate = settlementRequest.getTimeStart().toLocalDate().atStartOfDay(); 70 final var startDate = settlementRequest.getTimeStart().toLocalDate().atStartOfDay();
74 final var endDate = settlementRequest.getTimeEnd().toLocalDate().plusDays(1).atStartOfDay(); 71 final var endDate = settlementRequest.getTimeEnd().toLocalDate().plusDays(1).atStartOfDay();
75 final var operatorLoginInfo = LoginContextHolder.getLoginInfo(); 72 final var operatorLoginInfo = LoginContextHolder.getLoginInfo();
...@@ -121,7 +118,7 @@ public class SettlementServiceImpl implements SettlementService { ...@@ -121,7 +118,7 @@ public class SettlementServiceImpl implements SettlementService {
121 118
122 // 找出当天所有的订单 119 // 找出当天所有的订单
123 final var curOrderList = orderList.stream() 120 final var curOrderList = orderList.stream()
124 - .filter(o -> DateUtil.formatDateOfUtc(o.getCreatedAt(), DateUtil.YYYY_MM_DD_UTC).equals(date)) 121 + .filter(o -> Objects.equals(DateUtil.formatDateOfUtc(o.getCreatedAt(), DateUtil.YYYY_MM_DD_UTC), date))
125 .collect(Collectors.toList()); 122 .collect(Collectors.toList());
126 final var curOrderIds = curOrderList.stream() 123 final var curOrderIds = curOrderList.stream()
127 .map(SingleClientCustomerOrderRpcResponse::getId) 124 .map(SingleClientCustomerOrderRpcResponse::getId)
...@@ -207,8 +204,7 @@ public class SettlementServiceImpl implements SettlementService { ...@@ -207,8 +204,7 @@ public class SettlementServiceImpl implements SettlementService {
207 .endTime(DateUtil.formatDate(settlementRequest.getTimeEnd(), DateUtil.YYYY_MM_DD)) 204 .endTime(DateUtil.formatDate(settlementRequest.getTimeEnd(), DateUtil.YYYY_MM_DD))
208 .build(); 205 .build();
209 try { 206 try {
210 - final var bytes = writeToExcelBySku(settlementDataDto); 207 + return writeToExcelBySku(settlementDataDto);
211 - return bytes;
212 } catch (IOException e) { 208 } catch (IOException e) {
213 throw BusinessException.build(ErrorCodeEnum.GENERATE_EXCEL_ERROR); 209 throw BusinessException.build(ErrorCodeEnum.GENERATE_EXCEL_ERROR);
214 } 210 }
...@@ -250,7 +246,7 @@ public class SettlementServiceImpl implements SettlementService { ...@@ -250,7 +246,7 @@ public class SettlementServiceImpl implements SettlementService {
250 for (Map.Entry<String, Map<String, List<SettlementMenuSkuDto>>> outerEntry : classifyOrders.entrySet()) { 246 for (Map.Entry<String, Map<String, List<SettlementMenuSkuDto>>> outerEntry : classifyOrders.entrySet()) {
251 String orderDate = outerEntry.getKey(); 247 String orderDate = outerEntry.getKey();
252 Map<String, List<SettlementMenuSkuDto>> innerMap = outerEntry.getValue(); 248 Map<String, List<SettlementMenuSkuDto>> innerMap = outerEntry.getValue();
253 - Integer curDateTotalRow = 0; 249 + int curDateTotalRow = 0;
254 for (Map.Entry<String, List<SettlementMenuSkuDto>> innerEntry : innerMap.entrySet()) { 250 for (Map.Entry<String, List<SettlementMenuSkuDto>> innerEntry : innerMap.entrySet()) {
255 curDateTotalRow += innerEntry.getValue().size(); 251 curDateTotalRow += innerEntry.getValue().size();
256 } 252 }
...@@ -322,8 +318,9 @@ public class SettlementServiceImpl implements SettlementService { ...@@ -322,8 +318,9 @@ public class SettlementServiceImpl implements SettlementService {
322 final var startDate = settlementRequest.getTimeStart().toLocalDate().atStartOfDay(); 318 final var startDate = settlementRequest.getTimeStart().toLocalDate().atStartOfDay();
323 final var endDate = settlementRequest.getTimeEnd().toLocalDate().plusDays(1).atStartOfDay(); 319 final var endDate = settlementRequest.getTimeEnd().toLocalDate().plusDays(1).atStartOfDay();
324 final var operatorLoginInfo = LoginContextHolder.getLoginInfo(); 320 final var operatorLoginInfo = LoginContextHolder.getLoginInfo();
321 + final int enterpriseId = LoginContextHolder.hasLogin() ? operatorLoginInfo.getEnterpriseId() : settlementRequest.getEnterpriseId();
325 final var queryOrderDto = QueryOrderByConditionDto.builder() 322 final var queryOrderDto = QueryOrderByConditionDto.builder()
326 - .enterpriseId(LoginContextHolder.hasLogin() ? operatorLoginInfo.getEnterpriseId() : settlementRequest.getEnterpriseId()) 323 + .enterpriseId(enterpriseId)
327 .shouldFilterCreatedAtTimeStart(true) 324 .shouldFilterCreatedAtTimeStart(true)
328 .createdAtTimeStart(startDate) 325 .createdAtTimeStart(startDate)
329 .shouldFilterCreatedAtTimeEnd(true) 326 .shouldFilterCreatedAtTimeEnd(true)
...@@ -347,12 +344,12 @@ public class SettlementServiceImpl implements SettlementService { ...@@ -347,12 +344,12 @@ public class SettlementServiceImpl implements SettlementService {
347 SingleClientCustomerOrderRpcResponse::getMenuId).distinct() 344 SingleClientCustomerOrderRpcResponse::getMenuId).distinct()
348 .collect(Collectors.toList()); 345 .collect(Collectors.toList());
349 final var menuList = menuServiceRpcClient 346 final var menuList = menuServiceRpcClient
350 - .getMenusByIds(operatorLoginInfo.getEnterpriseId(), menuIds) 347 + .getMenusByIds(enterpriseId, menuIds)
351 .getResponsesList(); 348 .getResponsesList();
352 final var menuDetailList = menuServiceRpcClient.queryMenuDetailsByMenuIds( 349 final var menuDetailList = menuServiceRpcClient.queryMenuDetailsByMenuIds(
353 - operatorLoginInfo.getEnterpriseId(), menuIds).getResponsesList(); 350 + enterpriseId, menuIds).getResponsesList();
354 //获取到所有的餐别 351 //获取到所有的餐别
355 - final var allMeals = mealServiceRpcClient.getAllMeals(operatorLoginInfo.getEnterpriseId()).getResponsesList(); 352 + final var allMeals = mealServiceRpcClient.getAllMeals(enterpriseId).getResponsesList();
356 353
357 Map<String, Map<String, Map<String, List<SettlementMenuMealDto>>>> classifyOrders = new HashMap<>(); 354 Map<String, Map<String, Map<String, List<SettlementMenuMealDto>>>> classifyOrders = new HashMap<>();
358 for(SingleMenuRpcResponse menu: menuList) { 355 for(SingleMenuRpcResponse menu: menuList) {
...@@ -405,7 +402,7 @@ public class SettlementServiceImpl implements SettlementService { ...@@ -405,7 +402,7 @@ public class SettlementServiceImpl implements SettlementService {
405 final var curMealDateSkuList = mealsMap.get(date); 402 final var curMealDateSkuList = mealsMap.get(date);
406 //找出当天所有的order details 403 //找出当天所有的order details
407 final var curMealDateOrderDetails = curMealOrderDetails.stream() 404 final var curMealDateOrderDetails = curMealOrderDetails.stream()
408 - .filter(o -> DateUtil.formatDateOfUtc(o.getCreatedAt(), DateUtil.YYYY_MM_DD_UTC).equals(date)) 405 + .filter(o -> Objects.equals(DateUtil.formatDateOfUtc(o.getCreatedAt(), DateUtil.YYYY_MM_DD_UTC), date))
409 .collect(Collectors.toList()); 406 .collect(Collectors.toList());
410 for(SingleClientCustomerOrderDetailRpcResponse detail: curMealDateOrderDetails) { 407 for(SingleClientCustomerOrderDetailRpcResponse detail: curMealDateOrderDetails) {
411 final var settlementOrderDetail = SettlementMenuMealDto.builder() 408 final var settlementOrderDetail = SettlementMenuMealDto.builder()
...@@ -419,7 +416,7 @@ public class SettlementServiceImpl implements SettlementService { ...@@ -419,7 +416,7 @@ public class SettlementServiceImpl implements SettlementService {
419 } 416 }
420 417
421 } 418 }
422 - final var client = inventoryServiceRpcClient.getClientById(operatorLoginInfo.getEnterpriseId(), 419 + final var client = inventoryServiceRpcClient.getClientById(enterpriseId,
423 settlementRequest.getClientId()).getClient(); 420 settlementRequest.getClientId()).getClient();
424 final var settlementDataByMealDto = SettlementDataByMealDto.builder() 421 final var settlementDataByMealDto = SettlementDataByMealDto.builder()
425 .classifyOrders(classifyOrders) 422 .classifyOrders(classifyOrders)
...@@ -428,8 +425,7 @@ public class SettlementServiceImpl implements SettlementService { ...@@ -428,8 +425,7 @@ public class SettlementServiceImpl implements SettlementService {
428 .endTime(settlementRequest.getTimeEnd()) 425 .endTime(settlementRequest.getTimeEnd())
429 .build(); 426 .build();
430 try { 427 try {
431 - final var bytes = writeToExcelByMeal(settlementDataByMealDto); 428 + return writeToExcelByMeal(settlementDataByMealDto);
432 - return bytes;
433 } catch (IOException e) { 429 } catch (IOException e) {
434 throw BusinessException.build(ErrorCodeEnum.GENERATE_EXCEL_ERROR); 430 throw BusinessException.build(ErrorCodeEnum.GENERATE_EXCEL_ERROR);
435 } 431 }
...@@ -494,10 +490,10 @@ public class SettlementServiceImpl implements SettlementService { ...@@ -494,10 +490,10 @@ public class SettlementServiceImpl implements SettlementService {
494 mealCell.setCellValue(mealName); 490 mealCell.setCellValue(mealName);
495 491
496 columnNum = 2; 492 columnNum = 2;
497 - Integer totalPrice = 0; 493 + int totalPrice = 0;
498 for (String date: dates) { 494 for (String date: dates) {
499 final var toWriteDateSkuList = skuMap.get(date); 495 final var toWriteDateSkuList = skuMap.get(date);
500 - Integer price = 0; 496 + int price = 0;
501 if(!toWriteDateSkuList.isEmpty()) { 497 if(!toWriteDateSkuList.isEmpty()) {
502 for (SettlementMenuMealDto settlementMenuMealDto: toWriteDateSkuList) { 498 for (SettlementMenuMealDto settlementMenuMealDto: toWriteDateSkuList) {
503 price += settlementMenuMealDto.getPrice() * settlementMenuMealDto.getCount(); 499 price += settlementMenuMealDto.getPrice() * settlementMenuMealDto.getCount();
......