|
@@ -3,6 +3,7 @@ package com.fjhx.service.quality.impl;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.fjhx.base.BaseSelectDto;
|
|
|
import com.fjhx.entity.logistics.LogisticsCompany;
|
|
|
import com.fjhx.entity.logistics.LogisticsInfo;
|
|
|
import com.fjhx.entity.product.ProductInfo;
|
|
@@ -113,43 +114,44 @@ public class QualityInfoServiceImpl extends ServiceImpl<QualityInfoMapper, Quali
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
- //根据质检记录id获取质检信息
|
|
|
+ //根据质检记录信息id获取质检信息
|
|
|
@Override
|
|
|
- public QualityInfoEx getDetailsInfo(GetDetailsListDto dto) {
|
|
|
- QualityRecords qualityRecords = qualityRecordsService.getById(dto.getQualityInfoId());
|
|
|
- QualityDetails qualityDetails = qualityDetailsService.getById(qualityRecords.getQualityDetailsId());
|
|
|
- QualityInfo qualityInfo = qualityInfoService.getById(qualityDetails.getQualityInfoId());
|
|
|
-
|
|
|
-// QualityInfo qualityInfo = qualityInfoService.getById(dto.getQualityInfoId());
|
|
|
- QualityInfoEx qualityInfoEx = BeanUtil.copyProperties(qualityInfo, QualityInfoEx.class);
|
|
|
-
|
|
|
-// List<QualityDetails> list = qualityDetailsService.list(q -> q.eq(QualityDetails::getQualityInfoId, dto.getQualityInfoId()));
|
|
|
-
|
|
|
-// List<QualityDetailsVo> result = BeanUtil.copyToList(list, QualityDetailsVo.class);
|
|
|
-
|
|
|
-// productInfoService.attributeAssign(result, QualityDetails::getProductInfoId, (item, product) -> {
|
|
|
-// item.setProductCode(product.getCode());
|
|
|
-// item.setProductName(product.getName());
|
|
|
-// });
|
|
|
-
|
|
|
- ProductInfo productInfo = productInfoService.getById(qualityDetails.getProductInfoId());
|
|
|
-
|
|
|
- List<QualityDetailsVo> qualityDetailsVoList = new ArrayList<>();
|
|
|
- QualityDetailsVo qualityDetailsVo = new QualityDetailsVo();
|
|
|
- qualityDetailsVo.setProductCode(productInfo.getCode());
|
|
|
- qualityDetailsVo.setProductName(productInfo.getName());
|
|
|
- qualityDetailsVo.setTotalQuantity(qualityRecords.getTotalQuantity());
|
|
|
- qualityDetailsVo.setQualifiedQuantity(qualityRecords.getQualifiedQuantity());
|
|
|
- qualityDetailsVo.setDisqualificationQuantity(qualityRecords.getDisqualificationQuantity());
|
|
|
- qualityDetailsVoList.add(qualityDetailsVo);
|
|
|
-
|
|
|
- qualityInfoEx.setQualityDetailsList(qualityDetailsVoList);
|
|
|
- LogisticsInfo logisticsInfo = logisticsInfoService.getById(qualityInfoEx.getLogisticsInfoId());
|
|
|
+ public QualityInfoEx getDetailsInfo(BaseSelectDto dto) {
|
|
|
+ //获取质检记录明细
|
|
|
+ List<QualityRecords> list = qualityRecordsService.list(q -> q.eq(QualityRecords::getQualityRecordsInfoId, dto.getId()));
|
|
|
+ //根据质检明细id获取产品信息并分组
|
|
|
+ List<Long> qualityDetailsIds = list.stream().map(QualityRecords::getQualityDetailsId).collect(Collectors.toList());
|
|
|
+ List<QualityDetails> qualityDetailsList = qualityDetailsService.listByIds(qualityDetailsIds);
|
|
|
+ List<QualityDetailsVo> qualityDetailsVoList = BeanUtil.copyToList(qualityDetailsList, QualityDetailsVo.class);
|
|
|
+ productInfoService.attributeAssign(qualityDetailsVoList, QualityDetailsVo::getProductInfoId, (item, product) -> {
|
|
|
+ item.setProductCode(product.getCode());
|
|
|
+ item.setProductName(product.getName());
|
|
|
+ });
|
|
|
+ Map<Long, QualityDetailsVo> qualityDetailsVoMap = qualityDetailsVoList.stream().collect(Collectors.groupingBy(QualityDetailsVo::getId,
|
|
|
+ Collectors.collectingAndThen(Collectors.toList(), value -> value.get(0))));
|
|
|
+ //给记录赋值产品信息
|
|
|
+ List<QualityRecordsVo> qualityRecordsVos = BeanUtil.copyToList(list, QualityRecordsVo.class);
|
|
|
+ for (QualityRecordsVo qualityRecords :qualityRecordsVos){
|
|
|
+ QualityDetailsVo qualityDetailsVo = qualityDetailsVoMap.get(qualityRecords.getQualityDetailsId());
|
|
|
+ if(ObjectUtil.isNotEmpty(qualityDetailsVo)){
|
|
|
+ qualityRecords.setProductCode(qualityDetailsVo.getProductCode());
|
|
|
+ qualityRecords.setProductName(qualityDetailsVo.getProductName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //输出
|
|
|
+ QualityInfoEx qualityInfoEx = new QualityInfoEx();
|
|
|
+ //赋值质检记录信息
|
|
|
+ qualityInfoEx.setQualityRecordsVoList(qualityRecordsVos);
|
|
|
+ //获取物流信息
|
|
|
+ Long qualityInfoId = qualityDetailsList.get(0).getQualityInfoId();
|
|
|
+ QualityInfo byId = qualityInfoService.getById(qualityInfoId);
|
|
|
+ LogisticsInfo logisticsInfo = logisticsInfoService.getById(byId.getLogisticsInfoId());
|
|
|
LogisticsCompany logisticsCompany = logisticsCompanyService.getOne(q -> q.eq(LogisticsCompany::getCode, logisticsInfo.getLogisticsCompanyCode()));
|
|
|
logisticsInfo.setLogisticsCompanyName(logisticsCompany.getName());
|
|
|
qualityInfoEx.setLogisticsInfo(logisticsInfo);
|
|
|
+ //获取采购信息
|
|
|
Purchase purchase = purchaseService.getById(logisticsInfo.getBusinessId());
|
|
|
- if(ObjectUtil.isNotEmpty(purchase)){
|
|
|
+ if (ObjectUtil.isNotEmpty(purchase)) {
|
|
|
Supplier supplier = supplierService.getById(purchase.getSupplierId());
|
|
|
purchase.setSupplierName(supplier.getName());
|
|
|
qualityInfoEx.setPurchase(purchase);
|
|
@@ -178,7 +180,7 @@ public class QualityInfoServiceImpl extends ServiceImpl<QualityInfoMapper, Quali
|
|
|
logisticsInfo.setLogisticsCompanyName(logisticsCompany.getName());
|
|
|
qualityInfoEx.setLogisticsInfo(logisticsInfo);
|
|
|
Purchase purchase = purchaseService.getById(logisticsInfo.getBusinessId());
|
|
|
- if(ObjectUtil.isNotEmpty(purchase)){
|
|
|
+ if (ObjectUtil.isNotEmpty(purchase)) {
|
|
|
Supplier supplier = supplierService.getById(purchase.getSupplierId());
|
|
|
purchase.setSupplierName(supplier.getName());
|
|
|
qualityInfoEx.setPurchase(purchase);
|