wangyingyang

fix

......@@ -12,7 +12,6 @@ import com.infoloop.tianting.exception.ErrorCodeEnum;
import com.infoloop.tianting.menuservice.SingleMenuDetailRpcResponse;
import com.infoloop.tianting.menuservice.SingleMenuRpcResponse;
import com.infoloop.tianting.model.dto.OrderDbDTO.QueryOrderByConditionDto;
import com.infoloop.tianting.model.dto.SettlementDTO;
import com.infoloop.tianting.model.dto.SettlementDTO.SettlementDataByMealDto;
import com.infoloop.tianting.model.dto.SettlementDTO.SettlementDataDto;
import com.infoloop.tianting.model.dto.SettlementDTO.SettlementMenuMealDto;
......@@ -26,13 +25,8 @@ import com.infoloop.tianting.service.client.OrderServiceRpcClient;
import com.infoloop.tianting.service.client.SkuServiceRpcClient;
import com.infoloop.tianting.setmealscheduleservice.SingleMealRpcResponse;
import com.infoloop.tianting.utils.DateUtil;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
import java.util.Comparator;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.hpsf.Date;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
......@@ -44,11 +38,15 @@ import org.springframework.stereotype.Service;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
@Slf4j
......@@ -71,7 +69,6 @@ public class SettlementServiceImpl implements SettlementService {
}
public ByteArrayOutputStream generateOrderSettlementExcelBySku(SettlementRequestDto settlementRequest) {
final var startDate = settlementRequest.getTimeStart().plusHours(8).toLocalDate().atStartOfDay();
final var endDate = settlementRequest.getTimeEnd().plusHours(8).toLocalDate().plusDays(1).atStartOfDay();
final var operatorLoginInfo = LoginContextHolder.getLoginInfo();
......@@ -124,7 +121,7 @@ public class SettlementServiceImpl implements SettlementService {
// 找出当天所有的订单
final var curOrderList = orderList.stream()
.filter(o -> DateUtil.formatDateOfUtc(o.getCreatedAt(), DateUtil.YYYY_MM_DD_UTC).equals(date))
.filter(o -> Objects.equals(DateUtil.formatDateOfUtc(o.getCreatedAt(), DateUtil.YYYY_MM_DD_UTC), date))
.collect(Collectors.toList());
final var curOrderIds = curOrderList.stream()
.map(SingleClientCustomerOrderRpcResponse::getId)
......@@ -216,8 +213,7 @@ public class SettlementServiceImpl implements SettlementService {
.build();
try {
final var bytes = writeToExcelBySku(settlementDataDto);
return bytes;
return writeToExcelBySku(settlementDataDto);
} catch (IOException e) {
throw BusinessException.build(ErrorCodeEnum.GENERATE_EXCEL_ERROR);
}
......@@ -259,7 +255,7 @@ public class SettlementServiceImpl implements SettlementService {
for (Map.Entry<String, Map<String, List<SettlementMenuSkuDto>>> outerEntry : classifyOrders.entrySet()) {
String orderDate = outerEntry.getKey();
Map<String, List<SettlementMenuSkuDto>> innerMap = outerEntry.getValue();
Integer curDateTotalRow = 0;
int curDateTotalRow = 0;
for (Map.Entry<String, List<SettlementMenuSkuDto>> innerEntry : innerMap.entrySet()) {
curDateTotalRow += innerEntry.getValue().size();
}
......@@ -331,8 +327,9 @@ public class SettlementServiceImpl implements SettlementService {
final var startDate = settlementRequest.getTimeStart().plusHours(8).toLocalDate().atStartOfDay();
final var endDate = settlementRequest.getTimeEnd().plusHours(8).toLocalDate().plusDays(1).atStartOfDay();
final var operatorLoginInfo = LoginContextHolder.getLoginInfo();
final int enterpriseId = LoginContextHolder.hasLogin() ? operatorLoginInfo.getEnterpriseId() : settlementRequest.getEnterpriseId();
final var queryOrderDto = QueryOrderByConditionDto.builder()
.enterpriseId(LoginContextHolder.hasLogin() ? operatorLoginInfo.getEnterpriseId() : settlementRequest.getEnterpriseId())
.enterpriseId(enterpriseId)
.shouldFilterCreatedAtTimeStart(true)
.createdAtTimeStart(startDate)
.shouldFilterCreatedAtTimeEnd(true)
......@@ -356,12 +353,12 @@ public class SettlementServiceImpl implements SettlementService {
SingleClientCustomerOrderRpcResponse::getMenuId).distinct()
.collect(Collectors.toList());
final var menuList = menuServiceRpcClient
.getMenusByIds(operatorLoginInfo.getEnterpriseId(), menuIds)
.getMenusByIds(enterpriseId, menuIds)
.getResponsesList();
final var menuDetailList = menuServiceRpcClient.queryMenuDetailsByMenuIds(
operatorLoginInfo.getEnterpriseId(), menuIds).getResponsesList();
enterpriseId, menuIds).getResponsesList();
//获取到所有的餐别
final var allMeals = mealServiceRpcClient.getAllMeals(operatorLoginInfo.getEnterpriseId()).getResponsesList();
final var allMeals = mealServiceRpcClient.getAllMeals(enterpriseId).getResponsesList();
Map<String, Map<String, Map<String, List<SettlementMenuMealDto>>>> classifyOrders = new HashMap<>();
for(SingleMenuRpcResponse menu: menuList) {
......@@ -414,7 +411,7 @@ public class SettlementServiceImpl implements SettlementService {
final var curMealDateSkuList = mealsMap.get(date);
//找出当天所有的order details
final var curMealDateOrderDetails = curMealOrderDetails.stream()
.filter(o -> DateUtil.formatDateOfUtc(o.getCreatedAt(), DateUtil.YYYY_MM_DD_UTC).equals(date))
.filter(o -> Objects.equals(DateUtil.formatDateOfUtc(o.getCreatedAt(), DateUtil.YYYY_MM_DD_UTC), date))
.collect(Collectors.toList());
for(SingleClientCustomerOrderDetailRpcResponse detail: curMealDateOrderDetails) {
final var settlementOrderDetail = SettlementMenuMealDto.builder()
......@@ -428,7 +425,7 @@ public class SettlementServiceImpl implements SettlementService {
}
}
final var client = inventoryServiceRpcClient.getClientById(operatorLoginInfo.getEnterpriseId(),
final var client = inventoryServiceRpcClient.getClientById(enterpriseId,
settlementRequest.getClientId()).getClient();
final var settlementDataByMealDto = SettlementDataByMealDto.builder()
.classifyOrders(classifyOrders)
......@@ -437,8 +434,7 @@ public class SettlementServiceImpl implements SettlementService {
.endTime(settlementRequest.getTimeEnd().plusHours(8))
.build();
try {
final var bytes = writeToExcelByMeal(settlementDataByMealDto);
return bytes;
return writeToExcelByMeal(settlementDataByMealDto);
} catch (IOException e) {
throw BusinessException.build(ErrorCodeEnum.GENERATE_EXCEL_ERROR);
}
......@@ -503,10 +499,10 @@ public class SettlementServiceImpl implements SettlementService {
mealCell.setCellValue(mealName);
columnNum = 2;
Integer totalPrice = 0;
int totalPrice = 0;
for (String date: dates) {
final var toWriteDateSkuList = skuMap.get(date);
Integer price = 0;
int price = 0;
if(!toWriteDateSkuList.isEmpty()) {
for (SettlementMenuMealDto settlementMenuMealDto: toWriteDateSkuList) {
price += settlementMenuMealDto.getPrice() * settlementMenuMealDto.getCount();
......