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