|
@@ -84,8 +84,18 @@ public class ContractProductServiceImpl extends ServiceImpl<ContractProductMappe
|
|
IWrapper<ContractProduct> wrapper = getWrapper();
|
|
IWrapper<ContractProduct> wrapper = getWrapper();
|
|
wrapper.orderByDesc("t1", ContractProduct::getCreateTime);
|
|
wrapper.orderByDesc("t1", ContractProduct::getCreateTime);
|
|
wrapper.between("t2", Contract::getStatus, FlowStatusEnum.PASS.getKey(), FlowStatusEnum.CANCELLATION.getKey() - 1);
|
|
wrapper.between("t2", Contract::getStatus, FlowStatusEnum.PASS.getKey(), FlowStatusEnum.CANCELLATION.getKey() - 1);
|
|
|
|
+ if(ObjectUtil.isNotEmpty(dto.getDataType())&&dto.getDataType()==0){//合同交接单
|
|
|
|
+ wrapper.ne("t1", ContractProduct::getExpendQuantity, BigDecimal.ZERO);
|
|
|
|
+ }
|
|
|
|
+ if(ObjectUtil.isNotEmpty(dto.getPurchaseStatus())&&dto.getPurchaseStatus()==2){//已采购
|
|
|
|
+ wrapper.eq("t1", ContractProduct::getExpendQuantity, BigDecimal.ZERO);
|
|
|
|
+ }else if(ObjectUtil.isNotEmpty(dto.getPurchaseStatus())&&dto.getPurchaseStatus()==1){//部分采购
|
|
|
|
+ wrapper.gt("t1", ContractProduct::getExpendQuantity, BigDecimal.ZERO);
|
|
|
|
+ wrapper.apply("t1.expend_quantity <t1.quantity");
|
|
|
|
+ }else if(ObjectUtil.isNotEmpty(dto.getPurchaseStatus())&&dto.getPurchaseStatus()==0){//未采购
|
|
|
|
+ wrapper.apply("t1.expend_quantity = t1.quantity");
|
|
|
|
+ }
|
|
wrapper.eq("t2",Contract::getIssue,1);
|
|
wrapper.eq("t2",Contract::getIssue,1);
|
|
- wrapper.ne("t1", ContractProduct::getExpendQuantity, BigDecimal.ZERO);
|
|
|
|
if (StringUtils.isNotEmpty(dto.getKeyword())) {
|
|
if (StringUtils.isNotEmpty(dto.getKeyword())) {
|
|
wrapper.keyword(dto.getKeyword(), new SqlField("t2.`code`"), new SqlField("t2.`user_name`"));
|
|
wrapper.keyword(dto.getKeyword(), new SqlField("t2.`code`"), new SqlField("t2.`user_name`"));
|
|
}
|
|
}
|
|
@@ -109,7 +119,7 @@ public class ContractProductServiceImpl extends ServiceImpl<ContractProductMappe
|
|
wrapper.groupBy("t1.id");
|
|
wrapper.groupBy("t1.id");
|
|
Page<ContractProductVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
|
|
Page<ContractProductVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
|
|
List<ContractProductVo> list = page.getRecords();
|
|
List<ContractProductVo> list = page.getRecords();
|
|
-
|
|
|
|
|
|
+ List<Long> idList = list.stream().map(ContractProductVo::getId).collect(Collectors.toList());
|
|
if (list.size() == 0) {
|
|
if (list.size() == 0) {
|
|
return page;
|
|
return page;
|
|
}
|
|
}
|
|
@@ -123,7 +133,10 @@ public class ContractProductServiceImpl extends ServiceImpl<ContractProductMappe
|
|
item.setProductSpec(product.getSpec());
|
|
item.setProductSpec(product.getSpec());
|
|
item.setProductCategoryId(product.getProductClassifyId());
|
|
item.setProductCategoryId(product.getProductClassifyId());
|
|
});
|
|
});
|
|
-
|
|
|
|
|
|
+ //赋值已发起采购数量
|
|
|
|
+// List<PurchaseDetailVo> purchaseDetailVoList = purchaseDetailService.getSumCountByDataResourceId(idList);
|
|
|
|
+// Map<Long,BigDecimal> pMap = purchaseDetailVoList.stream().collect(Collectors.toMap(PurchaseDetailVo::getDataResourceId,PurchaseDetailVo::getSumCount));
|
|
|
|
+// list.forEach(i -> i.setStartPurchaseCount(MapUtils.isNotEmpty(pMap)?BigDecimal.ZERO:pMap.getOrDefault(i.getId(),BigDecimal.ZERO)));
|
|
// 赋值产品分类名称
|
|
// 赋值产品分类名称
|
|
productClassifyService.attributeAssign(list, ContractProductVo::getProductCategoryId, (item, productClassify) -> {
|
|
productClassifyService.attributeAssign(list, ContractProductVo::getProductCategoryId, (item, productClassify) -> {
|
|
item.setProductCategory(productClassify.getName());
|
|
item.setProductCategory(productClassify.getName());
|