|
@@ -34,7 +34,10 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
-import java.util.*;
|
|
|
|
|
|
+import java.util.Collections;
|
|
|
|
+import java.util.Date;
|
|
|
|
+import java.util.List;
|
|
|
|
+import java.util.Map;
|
|
import java.util.function.Function;
|
|
import java.util.function.Function;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@@ -68,7 +71,7 @@ public class IssueBillServiceImpl implements IssueBillService {
|
|
wrapper.orderByDesc("oi", OrderInfo::getWlnCreateTime);
|
|
wrapper.orderByDesc("oi", OrderInfo::getWlnCreateTime);
|
|
|
|
|
|
wrapper.eq("oi", OrderInfo::getSource, 1);
|
|
wrapper.eq("oi", OrderInfo::getSource, 1);
|
|
- wrapper.eq("oi", OrderInfo::getStatus, OrderStatusEnum.COMPLETION_PRODUCTION.getKey());
|
|
|
|
|
|
+ wrapper.eq("oi", OrderInfo::getStatus, OrderStatusEnum.IN_PRODUCTION.getKey());
|
|
|
|
|
|
wrapper.like("oi", OrderInfo::getCode, dto.getCode());
|
|
wrapper.like("oi", OrderInfo::getCode, dto.getCode());
|
|
wrapper.eq("oi", OrderInfo::getDepartmentId, dto.getDepartmentId());
|
|
wrapper.eq("oi", OrderInfo::getDepartmentId, dto.getDepartmentId());
|
|
@@ -77,6 +80,8 @@ public class IssueBillServiceImpl implements IssueBillService {
|
|
wrapper.ge("ab", OrderInfo::getDeliveryTime, dto.getBeginTime());
|
|
wrapper.ge("ab", OrderInfo::getDeliveryTime, dto.getBeginTime());
|
|
wrapper.le("ab", OrderInfo::getDeliveryTime, dto.getEndTime());
|
|
wrapper.le("ab", OrderInfo::getDeliveryTime, dto.getEndTime());
|
|
|
|
|
|
|
|
+ wrapper.isNull("oi.master_order_id");
|
|
|
|
+
|
|
if (dto.getPrintStatus() != null) {
|
|
if (dto.getPrintStatus() != null) {
|
|
if (dto.getPrintStatus() == 1) {
|
|
if (dto.getPrintStatus() == 1) {
|
|
wrapper.isNotNull("oi.wln_print_time");
|
|
wrapper.isNotNull("oi.wln_print_time");
|
|
@@ -220,15 +225,15 @@ public class IssueBillServiceImpl implements IssueBillService {
|
|
List<OrderEncasement> tempOrderEncasementList = orderEncasementService.list(q -> q.eq(OrderEncasement::getOrderId, id));
|
|
List<OrderEncasement> tempOrderEncasementList = orderEncasementService.list(q -> q.eq(OrderEncasement::getOrderId, id));
|
|
if (tempOrderEncasementList.size() == 0) {
|
|
if (tempOrderEncasementList.size() == 0) {
|
|
result.setOrderEncasementList(Collections.emptyList());
|
|
result.setOrderEncasementList(Collections.emptyList());
|
|
|
|
+ return result;
|
|
}
|
|
}
|
|
|
|
|
|
List<OrderEncasementVo> orderEncasementList = BeanUtil.copyToList(tempOrderEncasementList, OrderEncasementVo.class);
|
|
List<OrderEncasementVo> orderEncasementList = BeanUtil.copyToList(tempOrderEncasementList, OrderEncasementVo.class);
|
|
Map<Long, OrderEncasementVo> orderEncasementVoMap = orderEncasementList.stream().collect(Collectors.toMap(BaseIdPo::getId, Function.identity()));
|
|
Map<Long, OrderEncasementVo> orderEncasementVoMap = orderEncasementList.stream().collect(Collectors.toMap(BaseIdPo::getId, Function.identity()));
|
|
- Set<Long> orderEncasementIdList = orderEncasementVoMap.keySet();
|
|
|
|
|
|
|
|
// 查询包裹规格sku列表
|
|
// 查询包裹规格sku列表
|
|
List<OrderEncasementDetail> tempOrderEncasementDetailList = orderEncasementDetailService.list(
|
|
List<OrderEncasementDetail> tempOrderEncasementDetailList = orderEncasementDetailService.list(
|
|
- q -> q.in(OrderEncasementDetail::getOrderEncasementId, orderEncasementIdList));
|
|
|
|
|
|
+ q -> q.in(OrderEncasementDetail::getOrderEncasementId, orderEncasementVoMap.keySet()));
|
|
List<OrderEncasementDetailVo> orderEncasementDetailList = BeanUtil.copyToList(tempOrderEncasementDetailList, OrderEncasementDetailVo.class);
|
|
List<OrderEncasementDetailVo> orderEncasementDetailList = BeanUtil.copyToList(tempOrderEncasementDetailList, OrderEncasementDetailVo.class);
|
|
|
|
|
|
// 设置包裹规格sku品号、品名
|
|
// 设置包裹规格sku品号、品名
|
|
@@ -246,8 +251,7 @@ public class IssueBillServiceImpl implements IssueBillService {
|
|
Map<Long, List<OrderEncasementDetailVo>> collect = orderEncasementDetailList.stream()
|
|
Map<Long, List<OrderEncasementDetailVo>> collect = orderEncasementDetailList.stream()
|
|
.collect(Collectors.groupingBy(OrderEncasementDetail::getOrderSkuId));
|
|
.collect(Collectors.groupingBy(OrderEncasementDetail::getOrderSkuId));
|
|
for (AssemblyDetailVo.SkuInfo skuInfo : skuInfoList) {
|
|
for (AssemblyDetailVo.SkuInfo skuInfo : skuInfoList) {
|
|
- List<OrderEncasementDetailVo> tempList = collect.getOrDefault(skuInfo.getOrderSkuId(), Collections.emptyList());
|
|
|
|
- tempList.forEach(item -> {
|
|
|
|
|
|
+ collect.getOrDefault(skuInfo.getOrderSkuId(), Collections.emptyList()).forEach(item -> {
|
|
OrderEncasementVo orderEncasementVo = orderEncasementVoMap.get(item.getOrderEncasementId());
|
|
OrderEncasementVo orderEncasementVo = orderEncasementVoMap.get(item.getOrderEncasementId());
|
|
BigDecimal quantity = item.getQuantity().multiply(new BigDecimal(orderEncasementVo.getTotal()));
|
|
BigDecimal quantity = item.getQuantity().multiply(new BigDecimal(orderEncasementVo.getTotal()));
|
|
skuInfo.setSurplusQuantity(skuInfo.getSurplusQuantity().subtract(quantity));
|
|
skuInfo.setSurplusQuantity(skuInfo.getSurplusQuantity().subtract(quantity));
|