|
@@ -27,9 +27,12 @@ import com.fjhx.purchase.entity.pay.vo.PayDetailVo;
|
|
|
import com.fjhx.purchase.entity.pay.vo.PayVo;
|
|
|
import com.fjhx.purchase.entity.purchase.bo.PurchaseDocumentaryBo;
|
|
|
import com.fjhx.purchase.entity.purchase.enums.PurchaseStatusEnum;
|
|
|
+import com.fjhx.purchase.entity.subscribe.po.SubscribeDetail;
|
|
|
import com.fjhx.purchase.service.invoice.InvoiceDetailsService;
|
|
|
import com.fjhx.purchase.service.pay.PayDetailService;
|
|
|
import com.fjhx.purchase.service.pay.PayService;
|
|
|
+import com.fjhx.purchase.service.subscribe.SubscribeDetailService;
|
|
|
+import com.fjhx.sale.entity.contract.po.ContractProduct;
|
|
|
import com.fjhx.sale.entity.pack.po.PackDetail;
|
|
|
import com.fjhx.sale.entity.pack.po.PackDetailProduct;
|
|
|
import com.fjhx.sale.entity.pack.vo.PackDetailProductVo;
|
|
@@ -39,10 +42,13 @@ import com.fjhx.sale.entity.purchase.po.*;
|
|
|
import com.fjhx.sale.entity.purchase.vo.EhsdPurchaseDocumentaryVo;
|
|
|
import com.fjhx.sale.entity.purchase.vo.EhsdPurchaseProductVo;
|
|
|
import com.fjhx.sale.entity.purchase.vo.EhsdPurchaseVo;
|
|
|
+import com.fjhx.sale.entity.sample.po.SampleProduct;
|
|
|
import com.fjhx.sale.mapper.purchase.EhsdPurchaseMapper;
|
|
|
+import com.fjhx.sale.service.contract.ContractProductService;
|
|
|
import com.fjhx.sale.service.pack.PackDetailProductService;
|
|
|
import com.fjhx.sale.service.pack.PackDetailService;
|
|
|
import com.fjhx.sale.service.purchase.*;
|
|
|
+import com.fjhx.sale.service.sample.SampleProductService;
|
|
|
import com.fjhx.supply.entity.supplier.po.SupplierInfo;
|
|
|
import com.fjhx.supply.service.supplier.SupplierInfoService;
|
|
|
import com.ruoyi.common.core.domain.BaseSelectDto;
|
|
@@ -104,6 +110,12 @@ public class EhsdPurchaseServiceImpl extends ServiceImpl<EhsdPurchaseMapper, Ehs
|
|
|
private EhsdPurchaseProductMountingsService ehsdPurchaseProductMountingsService;
|
|
|
@Autowired
|
|
|
private InvoiceDetailsService invoiceDetailsService;
|
|
|
+ @Autowired
|
|
|
+ private ContractProductService contractProductService;
|
|
|
+ @Autowired
|
|
|
+ private SampleProductService sampleProductService;
|
|
|
+ @Autowired
|
|
|
+ private SubscribeDetailService subscribeDetailService;
|
|
|
|
|
|
/**
|
|
|
* 分页
|
|
@@ -129,7 +141,7 @@ public class EhsdPurchaseServiceImpl extends ServiceImpl<EhsdPurchaseMapper, Ehs
|
|
|
wrapper.ne(EhsdPurchase::getStatus, FlowStatusEnum1.UPDATE.getKey());
|
|
|
|
|
|
//不显示 在审批中 但是 有历史合同id的数据
|
|
|
- wrapper.not(q->q
|
|
|
+ wrapper.not(q -> q
|
|
|
.eq(EhsdPurchase::getStatus, FlowStatusEnum1.UNDER_REVIEW.getKey())
|
|
|
.isNotNull("t1.old_purchase_id")
|
|
|
);
|
|
@@ -209,6 +221,44 @@ public class EhsdPurchaseServiceImpl extends ServiceImpl<EhsdPurchaseMapper, Ehs
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ //赋值产品待采购数量信息
|
|
|
+ if (ObjectUtils.isNotEmpty(ehsdPurchaseProductList)) {
|
|
|
+ //申购来源
|
|
|
+ List<EhsdPurchaseProductVo> subscribeSource = ehsdPurchaseProductVos.stream().filter(item -> Objects.equals(item.getDataResource(),0)).collect(Collectors.toList());
|
|
|
+ if (ObjectUtils.isNotEmpty(subscribeSource)) {
|
|
|
+ List<Long> subscribeDetailSourceIds = subscribeSource.stream().map(EhsdPurchaseProductVo::getDataResourceId).distinct().collect(Collectors.toList());
|
|
|
+ Map<Long, SubscribeDetail> contractProductMap = subscribeDetailService.mapKEntity(SubscribeDetail::getId, q -> q.in(SubscribeDetail::getId, subscribeDetailSourceIds));
|
|
|
+ for (EhsdPurchaseProductVo ehsdPurchaseProductVo : subscribeSource) {
|
|
|
+ SubscribeDetail subscribeDetail = contractProductMap.get(ehsdPurchaseProductVo.getDataResourceId());
|
|
|
+ BigDecimal count = subscribeDetail.getCount();
|
|
|
+ //获取已采购数量
|
|
|
+ List<EhsdPurchaseProduct> ehsdPurchaseProductList1 = ehsdPurchaseProductService.list(q -> q.eq(EhsdPurchaseProduct::getDataResource, 0).eq(EhsdPurchaseProduct::getSubscribeDetailId, subscribeDetail.getId()));
|
|
|
+ BigDecimal add = ObjectUtils.isEmpty(ehsdPurchaseProductList1) ? BigDecimal.ZERO : ehsdPurchaseProductList1.stream().map(EhsdPurchaseProduct::getQuantity).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ ehsdPurchaseProductVo.setExpendQuantity(count.subtract(add));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //合同来源
|
|
|
+ List<EhsdPurchaseProductVo> contractSource = ehsdPurchaseProductVos.stream().filter(item -> Objects.equals(item.getDataResource(),1)).collect(Collectors.toList());
|
|
|
+ if (ObjectUtils.isNotEmpty(contractSource)) {
|
|
|
+ List<Long> contractSourceIds = contractSource.stream().map(EhsdPurchaseProductVo::getDataResourceId).distinct().collect(Collectors.toList());
|
|
|
+ Map<Long, ContractProduct> contractProductMap = contractProductService.mapKEntity(ContractProduct::getId, q -> q.in(ContractProduct::getId, contractSourceIds));
|
|
|
+ for (EhsdPurchaseProductVo ehsdPurchaseProductVo : contractSource) {
|
|
|
+ ContractProduct stringObjectMap = contractProductMap.get(ehsdPurchaseProductVo.getDataResourceId());
|
|
|
+ ehsdPurchaseProductVo.setExpendQuantity(stringObjectMap.getExpendQuantity());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //样品单来源
|
|
|
+ List<EhsdPurchaseProductVo> sampleSource = ehsdPurchaseProductVos.stream().filter(item -> Objects.equals(item.getDataResource(),2)).collect(Collectors.toList());
|
|
|
+ if (ObjectUtils.isNotEmpty(sampleSource)) {
|
|
|
+ List<Long> sampleSourceIds = sampleSource.stream().map(EhsdPurchaseProductVo::getDataResourceId).distinct().collect(Collectors.toList());
|
|
|
+ Map<Long, SampleProduct> sampleProductMap = sampleProductService.mapKEntity(SampleProduct::getId, q -> q.in(SampleProduct::getId, sampleSourceIds));
|
|
|
+ for (EhsdPurchaseProductVo ehsdPurchaseProductVo : sampleSource) {
|
|
|
+ SampleProduct stringObjectMap = sampleProductMap.get(ehsdPurchaseProductVo.getDataResourceId());
|
|
|
+ ehsdPurchaseProductVo.setExpendQuantity(stringObjectMap.getExpendQuantity());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//赋值产品信息
|
|
|
productInfoService.attributeAssign(ehsdPurchaseProductVos, EhsdPurchaseProductVo::getProductId, (item, product) -> {
|
|
|
item.setDefinition(product.getDefinition());
|
|
@@ -244,6 +294,7 @@ public class EhsdPurchaseServiceImpl extends ServiceImpl<EhsdPurchaseMapper, Ehs
|
|
|
|
|
|
/**
|
|
|
* 详情
|
|
|
+ *
|
|
|
* @param id
|
|
|
* @return
|
|
|
*/
|
|
@@ -306,7 +357,7 @@ public class EhsdPurchaseServiceImpl extends ServiceImpl<EhsdPurchaseMapper, Ehs
|
|
|
DynamicDataSourceContextHolder.push(SourceConstant.BASE);
|
|
|
FlowExample flowExample = flowExampleService.getOne(Wrappers.<FlowExample>query().lambda().eq(FlowExample::getBusinessId, id));
|
|
|
// 赋值流程id
|
|
|
- if(ObjectUtil.isNotEmpty(flowExample)) {
|
|
|
+ if (ObjectUtil.isNotEmpty(flowExample)) {
|
|
|
result.setFlowExampleId(flowExample.getId());
|
|
|
}
|
|
|
|
|
@@ -392,8 +443,8 @@ public class EhsdPurchaseServiceImpl extends ServiceImpl<EhsdPurchaseMapper, Ehs
|
|
|
* 采购id修改
|
|
|
*/
|
|
|
@Override
|
|
|
- public boolean updatePurchaseId(Long id, long newId, Long userId) {
|
|
|
- return baseMapper.updatePurchaseId(id, newId, userId);
|
|
|
+ public boolean updatePurchaseId(Long id, Long newId, Long userId, Long oldPurchaseId) {
|
|
|
+ return baseMapper.updatePurchaseId(id, newId, userId, oldPurchaseId);
|
|
|
}
|
|
|
|
|
|
}
|