Răsfoiți Sursa

采购交接单

caozj 2 ani în urmă
părinte
comite
f3ebc06104

+ 10 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/contract/dto/ContractProductSelectDto.java

@@ -40,4 +40,14 @@ public class ContractProductSelectDto extends BaseSelectDto {
      * 是否到账 1是 0否过滤
      */
     private Integer isReceived;
+
+    /**
+     * 数据类型
+     */
+    private Integer dataType;
+
+    /**
+     * 采购状态
+     */
+    private Integer purchaseStatus;
 }

+ 16 - 3
hx-sale/src/main/java/com/fjhx/sale/service/contract/impl/ContractProductServiceImpl.java

@@ -84,8 +84,18 @@ public class ContractProductServiceImpl extends ServiceImpl<ContractProductMappe
         IWrapper<ContractProduct> wrapper = getWrapper();
         wrapper.orderByDesc("t1", ContractProduct::getCreateTime);
         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.ne("t1", ContractProduct::getExpendQuantity, BigDecimal.ZERO);
         if (StringUtils.isNotEmpty(dto.getKeyword())) {
             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");
         Page<ContractProductVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         List<ContractProductVo> list = page.getRecords();
-
+        List<Long> idList = list.stream().map(ContractProductVo::getId).collect(Collectors.toList());
         if (list.size() == 0) {
             return page;
         }
@@ -123,7 +133,10 @@ public class ContractProductServiceImpl extends ServiceImpl<ContractProductMappe
             item.setProductSpec(product.getSpec());
             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) -> {
             item.setProductCategory(productClassify.getName());