Selaa lähdekoodia

采购交接单问题处理

yzc 1 vuosi sitten
vanhempi
commit
8ea59e331c

+ 15 - 5
hx-sale/src/main/java/com/fjhx/sale/controller/contract/ContractProductController.java

@@ -1,13 +1,13 @@
 package com.fjhx.sale.controller.contract;
 
-import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.fjhx.sale.entity.contract.vo.ContractProductVo;
-import com.fjhx.sale.entity.contract.dto.ContractProductSelectDto;
 import com.fjhx.sale.entity.contract.dto.ContractProductDto;
-import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.sale.entity.contract.dto.ContractProductSelectDto;
+import com.fjhx.sale.entity.contract.vo.ContractProductVo;
 import com.fjhx.sale.service.contract.ContractProductService;
+import com.ruoyi.common.core.domain.BaseSelectDto;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
@@ -34,13 +34,23 @@ public class ContractProductController {
     public Page<ContractProductVo> page(@RequestBody ContractProductSelectDto dto) {
         return contractProductService.getPage(dto);
     }
+
+    /**
+     * 采购交接单-产品分页
+     */
+    @PostMapping("/page1")
+    public Page<ContractProductVo> page1(@RequestBody ContractProductSelectDto dto) {
+        return contractProductService.getPage1(dto);
+    }
+
     /**
      * 根据合同ID和客户ID查询未包装的产品
      */
     @GetMapping("/getNoPackContractProductById")
-    public List<ContractProductVo> getNoPackContractProductById(@RequestParam("customerId")String customerId, @RequestParam("contractIds")String contractIds) {
+    public List<ContractProductVo> getNoPackContractProductById(@RequestParam("customerId") String customerId, @RequestParam("contractIds") String contractIds) {
         return contractProductService.getNoPackContractProductById(customerId, contractIds);
     }
+
     /**
      * 外销合同-产品ID集合查询产品
      */

+ 9 - 4
hx-sale/src/main/java/com/fjhx/sale/service/contract/ContractProductService.java

@@ -1,11 +1,11 @@
 package com.fjhx.sale.service.contract;
 
-import com.fjhx.sale.entity.contract.po.ContractProduct;
-import com.ruoyi.common.core.service.BaseService;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.fjhx.sale.entity.contract.vo.ContractProductVo;
-import com.fjhx.sale.entity.contract.dto.ContractProductSelectDto;
 import com.fjhx.sale.entity.contract.dto.ContractProductDto;
+import com.fjhx.sale.entity.contract.dto.ContractProductSelectDto;
+import com.fjhx.sale.entity.contract.po.ContractProduct;
+import com.fjhx.sale.entity.contract.vo.ContractProductVo;
+import com.ruoyi.common.core.service.BaseService;
 
 import java.util.List;
 
@@ -26,6 +26,11 @@ public interface ContractProductService extends BaseService<ContractProduct> {
     Page<ContractProductVo> getPage(ContractProductSelectDto dto);
 
     /**
+     * 采购交接单 分页
+     */
+    Page<ContractProductVo> getPage1(ContractProductSelectDto dto);
+
+    /**
      * 外销合同-根据多个明细ID集合查询合同产品
      */
     List<ContractProductVo> getListDetail(List<Long> ids);

+ 31 - 4
hx-sale/src/main/java/com/fjhx/sale/service/contract/impl/ContractProductServiceImpl.java

@@ -82,15 +82,42 @@ public class ContractProductServiceImpl extends ServiceImpl<ContractProductMappe
     @Override
     public Page<ContractProductVo> getPage(ContractProductSelectDto dto) {
         IWrapper<ContractProduct> wrapper = getWrapper();
+        //过滤待处理数量为0的数据
+        wrapper.ne("t1", ContractProduct::getExpendQuantity, 0);
+        //是否到账过滤
+        if (ObjectUtil.isNotEmpty(dto.getIsReceived())) {
+            if (1 == dto.getIsReceived()) {
+                wrapper.isNotNull("co.id");
+            } else {
+                wrapper.isNull("co.id");
+            }
+        }
+        return commPage(wrapper, dto);
+    }
+
+    /**
+     * 采购交接单
+     */
+    @Override
+    public Page<ContractProductVo> getPage1(ContractProductSelectDto dto) {
+        IWrapper<ContractProduct> wrapper = getWrapper();
+        //过滤 已到账 或 预付比例==0 的数据
+        wrapper.and(q -> q.isNotNull("co.id").or().eq("t2.advance_ratio", 0));
+        return commPage(wrapper, dto);
+    }
+
+    /**
+     * 公共代码抽取
+     */
+    public Page<ContractProductVo> commPage(IWrapper<ContractProduct> wrapper, ContractProductSelectDto dto) {
         wrapper.orderByDesc("t1", ContractProduct::getCreateTime);
-        wrapper.ne("t1",ContractProduct::getExpendQuantity,0);
         wrapper.between("t2", Contract::getStatus, FlowStatusEnum.PASS.getKey(), FlowStatusEnum.CANCELLATION.getKey() - 1);
-        if(ObjectUtil.isNotEmpty(dto.getDataType())&&dto.getDataType()==0){//合同交接单
+        if (ObjectUtil.isNotEmpty(dto.getDataType()) && dto.getDataType() == 0) {//合同交接单
             wrapper.ne("t1", ContractProduct::getExpendQuantity, BigDecimal.ZERO);
         }
-        if(ObjectUtil.isNotEmpty(dto.getPurchaseStatus())&&dto.getPurchaseStatus()==2){//已采购
+        if (ObjectUtil.isNotEmpty(dto.getPurchaseStatus()) && dto.getPurchaseStatus() == 2) {//已采购
             wrapper.eq("t1", ContractProduct::getExpendQuantity, BigDecimal.ZERO);
-        }else if(ObjectUtil.isNotEmpty(dto.getPurchaseStatus())&&dto.getPurchaseStatus()==1){//部分采购
+        } 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){//未采购