|
@@ -30,11 +30,15 @@ import com.fjhx.victoriatourist.entity.deliver.vo.DeliverGoodsDetailsVo;
|
|
|
import com.fjhx.victoriatourist.entity.deliver.vo.DeliverGoodsVo;
|
|
|
import com.fjhx.victoriatourist.entity.logistics.po.LogisticsDetails;
|
|
|
import com.fjhx.victoriatourist.entity.logistics.po.LogisticsInfos;
|
|
|
+import com.fjhx.victoriatourist.entity.purchase.po.PurchaseBack;
|
|
|
+import com.fjhx.victoriatourist.entity.purchase.po.PurchaseBackDetails;
|
|
|
import com.fjhx.victoriatourist.mapper.deliver.DeliverGoodsMapper;
|
|
|
import com.fjhx.victoriatourist.service.deliver.DeliverGoodsDetailsService;
|
|
|
import com.fjhx.victoriatourist.service.deliver.DeliverGoodsService;
|
|
|
import com.fjhx.victoriatourist.service.logistics.LogisticsDetailsService;
|
|
|
import com.fjhx.victoriatourist.service.logistics.LogisticsInfosService;
|
|
|
+import com.fjhx.victoriatourist.service.purchase.PurchaseBackDetailsService;
|
|
|
+import com.fjhx.victoriatourist.service.purchase.PurchaseBackService;
|
|
|
import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -75,6 +79,10 @@ public class DeliverGoodsServiceImpl extends ServiceImpl<DeliverGoodsMapper, Del
|
|
|
private SupplierInfoService supplierInfoService;
|
|
|
@Autowired
|
|
|
private ArrivalDetailService arrivalDetailService;
|
|
|
+ @Autowired
|
|
|
+ private PurchaseBackDetailsService purchaseBackDetailsService;
|
|
|
+ @Autowired
|
|
|
+ private PurchaseBackService purchaseBackService;
|
|
|
|
|
|
@Override
|
|
|
public Page<DeliverGoodsVo> getPage(DeliverGoodsSelectDto dto) {
|
|
@@ -217,13 +225,15 @@ public class DeliverGoodsServiceImpl extends ServiceImpl<DeliverGoodsMapper, Del
|
|
|
Map<Long, QualityDetail> qualityDetailsMap = qualityInfoByPurchaseId.stream().collect(Collectors.toMap(QualityDetail::getBussinessId, Function.identity()));
|
|
|
for (PurchaseDetailVo purchaseDetailVo : purchaseDetailVoList) {
|
|
|
QualityDetail qualityDetails = qualityDetailsMap.get(purchaseDetailVo.getBussinessId());
|
|
|
- if(ObjectUtil.isEmpty(qualityDetails)){
|
|
|
+ if (ObjectUtil.isEmpty(qualityDetails)) {
|
|
|
purchaseDetailVo.setQualifiedCount(BigDecimal.ZERO);
|
|
|
purchaseDetailVo.setNoQualifiedCount(BigDecimal.ZERO);
|
|
|
+ purchaseDetailVo.setQualityQuantity(BigDecimal.ZERO);
|
|
|
continue;
|
|
|
}
|
|
|
purchaseDetailVo.setQualifiedCount(qualityDetails.getQualifiedCount());
|
|
|
purchaseDetailVo.setNoQualifiedCount(qualityDetails.getNoQualifiedCount());
|
|
|
+ purchaseDetailVo.setQualityQuantity(qualityDetails.getQualifiedCount().add(qualityDetails.getNoQualifiedCount()));
|
|
|
}
|
|
|
}
|
|
|
//赋值发货信息
|
|
@@ -234,7 +244,7 @@ public class DeliverGoodsServiceImpl extends ServiceImpl<DeliverGoodsMapper, Del
|
|
|
Map<Long, List<DeliverGoodsDetailsVo>> collect = list.stream().collect(Collectors.groupingBy(DeliverGoodsDetailsVo::getPurchaseDetailId));
|
|
|
for (PurchaseDetailVo purchaseDetailVo : purchaseDetailVoList) {
|
|
|
List<DeliverGoodsDetailsVo> list1 = collect.get(purchaseDetailVo.getId());
|
|
|
- if(ObjectUtil.isEmpty(list1)){
|
|
|
+ if (ObjectUtil.isEmpty(list1)) {
|
|
|
purchaseDetailVo.setDeliverGoodsQuantity(BigDecimal.ZERO);
|
|
|
continue;
|
|
|
}
|
|
@@ -243,7 +253,7 @@ public class DeliverGoodsServiceImpl extends ServiceImpl<DeliverGoodsMapper, Del
|
|
|
.map(DeliverGoodsDetailsVo::getDeliverGoodsQuantity)
|
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
purchaseDetailVo.setDeliverGoodsQuantity(dgdCount);
|
|
|
- purchaseDetailVo.setDeliverGoodsDetailList(Collections.singletonList(list1));
|
|
|
+ purchaseDetailVo.setDeliverGoodsDetailList(list1);
|
|
|
}
|
|
|
}
|
|
|
//赋值到货信息
|
|
@@ -256,7 +266,7 @@ public class DeliverGoodsServiceImpl extends ServiceImpl<DeliverGoodsMapper, Del
|
|
|
Map<Long, String> dgdMap = list.stream().collect(Collectors.toMap(DeliverGoodsDetailsVo::getId, DeliverGoodsDetailsVo::getLogisticsCode));
|
|
|
for (PurchaseDetailVo purchaseDetailVo : purchaseDetailVoList) {
|
|
|
List<ArrivalDetailVo> list1 = collect.get(purchaseDetailVo.getBussinessId());
|
|
|
- if(ObjectUtil.isEmpty(list1)){
|
|
|
+ if (ObjectUtil.isEmpty(list1)) {
|
|
|
purchaseDetailVo.setArrivalQuantity(BigDecimal.ZERO);
|
|
|
continue;
|
|
|
}
|
|
@@ -274,6 +284,27 @@ public class DeliverGoodsServiceImpl extends ServiceImpl<DeliverGoodsMapper, Del
|
|
|
purchaseDetailVo.setArrivalDetailList(list1);
|
|
|
}
|
|
|
}
|
|
|
+ //赋值退货信息
|
|
|
+ List<PurchaseBack> list1 = purchaseBackService.list(q -> q.eq(PurchaseBack::getPurchaseId, purchaseId));
|
|
|
+ if (ObjectUtil.isNotEmpty(list1)) {
|
|
|
+ List<Long> ids = list1.stream().map(PurchaseBack::getId).collect(Collectors.toList());
|
|
|
+ Map<Long, List<PurchaseBackDetails>> longListMap = purchaseBackDetailsService.mapKGroup(PurchaseBackDetails::getPurchaseDetailsId, q -> q.in(PurchaseBackDetails::getPurchaseBackId, ids));
|
|
|
+
|
|
|
+ for (PurchaseDetailVo purchaseDetailVo : purchaseDetailVoList) {
|
|
|
+ List<PurchaseBackDetails> purchaseBackDetails = longListMap.get(purchaseDetailVo.getId());
|
|
|
+
|
|
|
+ if (ObjectUtil.isEmpty(purchaseBackDetails)) {
|
|
|
+ purchaseDetailVo.setPurchaseBackQuantity(BigDecimal.ZERO);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ //退货数量求和
|
|
|
+ BigDecimal backCount = purchaseBackDetails.stream()
|
|
|
+ .map(PurchaseBackDetails::getQuantity)
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ purchaseDetailVo.setPurchaseBackQuantity(backCount);
|
|
|
+ purchaseDetailVo.setPurchaseBackDetailsList(purchaseBackDetails);
|
|
|
+ }
|
|
|
+ }
|
|
|
result.setPurchaseDetailVoList(purchaseDetailVoList);
|
|
|
return result;
|
|
|
}
|