Showing
1 changed file
with
17 additions
and
21 deletions
| ... | @@ -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(); | ... | ... |
-
Please register or login to post a comment