Browse Source

利润核算

zxz 3 years ago
parent
commit
39a6a27bb7
21 changed files with 449 additions and 67 deletions
  1. 17 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/ContractExpensesInfoController.java
  2. 17 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/ContractInventoryDistributionController.java
  3. 1 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/ContractManagementInfoController.java
  4. 11 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/WarehouseBaseInfoController.java
  5. 17 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/ContractExpensesInfo.java
  6. 17 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/ContractExpensesInfoMapper.java
  7. 17 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/ContractInventoryDistributionMapper.java
  8. 2 2
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/ContractManagementInfoMapper.java
  9. 17 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/WarehouseBaseInfoMapper.java
  10. 8 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IContractExpensesInfoService.java
  11. 10 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IContractInventoryDistributionService.java
  12. 1 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IContractManagementInfoService.java
  13. 9 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IWarehouseBaseInfoService.java
  14. 42 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/ContractExpensesInfoServiceImpl.java
  15. 40 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/ContractInventoryDistributionServiceImpl.java
  16. 1 2
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/ContractManagementInfoServiceImpl.java
  17. 23 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseBaseInfoServiceImpl.java
  18. 79 1
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/ContractExpensesInfoMapper.xml
  19. 62 1
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/ContractInventoryDistributionMapper.xml
  20. 7 7
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/ContractManagementInfoMapper.xml
  21. 51 48
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/WarehouseBaseInfoMapper.xml

+ 17 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/ContractExpensesInfoController.java

@@ -1,6 +1,11 @@
 package com.yh.saas.plugin.yiliangyiyun.controller;
 package com.yh.saas.plugin.yiliangyiyun.controller;
 
 
 
 
+import com.baomidou.mybatisplus.plugins.Page;
+import com.yh.saas.plugin.yiliangyiyun.entity.ContractExpensesInfo;
+import com.yh.saas.plugin.yiliangyiyun.service.IContractExpensesInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
@@ -16,6 +21,18 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 @RestController
 @RequestMapping("/contractExpensesInfo")
 @RequestMapping("/contractExpensesInfo")
 public class ContractExpensesInfoController {
 public class ContractExpensesInfoController {
+    @Autowired
+    private IContractExpensesInfoService contractExpensesInfoService;
+    /**
+     * 合同费用列表查询
+     *
+     * @param contractExpensesInfo
+     * @return
+     */
+    @GetMapping("/selectContractExpensesInfo")
+    public Page<ContractExpensesInfo> selectContractExpensesInfo(ContractExpensesInfo contractExpensesInfo) {
+        return contractExpensesInfoService.selectContractExpensesInfo(contractExpensesInfo);
+    }
 
 
 }
 }
 
 

+ 17 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/ContractInventoryDistributionController.java

@@ -1,6 +1,11 @@
 package com.yh.saas.plugin.yiliangyiyun.controller;
 package com.yh.saas.plugin.yiliangyiyun.controller;
 
 
 
 
+import com.baomidou.mybatisplus.plugins.Page;
+import com.yh.saas.plugin.yiliangyiyun.entity.ContractInventoryDistribution;
+import com.yh.saas.plugin.yiliangyiyun.service.IContractInventoryDistributionService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
@@ -16,6 +21,17 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 @RestController
 @RequestMapping("/contractInventoryDistribution")
 @RequestMapping("/contractInventoryDistribution")
 public class ContractInventoryDistributionController {
 public class ContractInventoryDistributionController {
-
+    @Autowired
+    private IContractInventoryDistributionService contractInventoryDistributionService;
+    /**
+     * 合同库存列表查询
+     *
+     * @param contractInventoryDistribution
+     * @return
+     */
+    @GetMapping("/selectContractInventoryInfo")
+    public Page<ContractInventoryDistribution> selectContractInventoryInfo(ContractInventoryDistribution contractInventoryDistribution) {
+        return contractInventoryDistributionService.selectContractInventoryInfo(contractInventoryDistribution);
+    }
 }
 }
 
 

+ 1 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/ContractManagementInfoController.java

@@ -126,7 +126,7 @@ public class ContractManagementInfoController {
     }
     }
 
 
     /**
     /**
-     * 利润核算分页列表查询
+     * 合同利润详情列表查询
      *
      *
      * @param contractManagementInfo
      * @param contractManagementInfo
      * @return
      * @return

+ 11 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/WarehouseBaseInfoController.java

@@ -2,6 +2,7 @@ package com.yh.saas.plugin.yiliangyiyun.controller;
 
 
 
 
 
 
+import com.baomidou.mybatisplus.plugins.Page;
 import com.yh.saas.plugin.yiliangyiyun.entity.ContractManagementInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.ContractManagementInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseInOutInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseInOutInfo;
@@ -12,7 +13,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
 import java.util.List;
 import java.util.List;
 
 
 /**
 /**
@@ -231,5 +231,15 @@ public class WarehouseBaseInfoController {
         return warehouseBaseInfoService.exportPhoneOut(example,response);
         return warehouseBaseInfoService.exportPhoneOut(example,response);
     }
     }
 
 
+    /**
+     * 合同利润详情列表查询
+     *
+     * @param warehouseBaseInfo
+     * @return
+     */
+    @GetMapping("/selectBaseInfo")
+    public Page<WarehouseBaseInfo> selectBaseInfo(WarehouseBaseInfo warehouseBaseInfo) {
+        return warehouseBaseInfoService.selectBaseInfo(warehouseBaseInfo);
+    }
 }
 }
 
 

+ 17 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/ContractExpensesInfo.java

@@ -4,13 +4,16 @@ import java.util.Date;
 import java.io.Serializable;
 import java.io.Serializable;
 
 
 
 
+import com.baomidou.mybatisplus.annotations.TableField;
 import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.baomidou.mybatisplus.enums.IdType;
 import com.baomidou.mybatisplus.enums.IdType;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.yh.saas.common.support.entity.BaseModel;
 import com.yh.saas.common.support.entity.BaseModel;
 import lombok.Data;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -101,6 +104,20 @@ public class ContractExpensesInfo extends BaseModel<ContractExpensesInfo> {
      * 费用类型(1合同费用3库点费用)
      * 费用类型(1合同费用3库点费用)
      */
      */
     private String costType;
     private String costType;
+    /**
+     * 开始时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @TableField(exist = false)
+    private Date startDate;
+    /**
+     * 结束时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @TableField(exist = false)
+    private Date endDate;
     @Override
     @Override
     protected Serializable pkVal() {
     protected Serializable pkVal() {
         return this.id;
         return this.id;

+ 17 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/ContractExpensesInfoMapper.java

@@ -3,6 +3,9 @@ package com.yh.saas.plugin.yiliangyiyun.mapper;
 import com.yh.saas.plugin.yiliangyiyun.entity.ContractExpensesInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.ContractExpensesInfo;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 
 
+import java.util.List;
+import java.util.Map;
+
 /**
 /**
  * <p>
  * <p>
  * 合同费用 Mapper 接口
  * 合同费用 Mapper 接口
@@ -12,5 +15,19 @@ import com.baomidou.mybatisplus.mapper.BaseMapper;
  * @since 2022-05-24
  * @since 2022-05-24
  */
  */
 public interface ContractExpensesInfoMapper extends BaseMapper<ContractExpensesInfo> {
 public interface ContractExpensesInfoMapper extends BaseMapper<ContractExpensesInfo> {
+    /**
+     * 根据条件查询合同/库点费用分布总数
+     *
+     * @param pageView
+     * @return
+     */
+    Integer getContractExpensesCountByCondition(Map<String, Object> pageView);
 
 
+    /**
+     * 根据条件查询合同/库点费用列表
+     *
+     * @param pageView
+     * @return
+     */
+    List<ContractExpensesInfo> getContractExpensesListByCondition(Map<String, Object> pageView);
 }
 }

+ 17 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/ContractInventoryDistributionMapper.java

@@ -3,6 +3,9 @@ package com.yh.saas.plugin.yiliangyiyun.mapper;
 import com.yh.saas.plugin.yiliangyiyun.entity.ContractInventoryDistribution;
 import com.yh.saas.plugin.yiliangyiyun.entity.ContractInventoryDistribution;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 
 
+import java.util.List;
+import java.util.Map;
+
 /**
 /**
  * <p>
  * <p>
  * 记录合同库存分布详情 Mapper 接口
  * 记录合同库存分布详情 Mapper 接口
@@ -12,5 +15,19 @@ import com.baomidou.mybatisplus.mapper.BaseMapper;
  * @since 2022-05-24
  * @since 2022-05-24
  */
  */
 public interface ContractInventoryDistributionMapper extends BaseMapper<ContractInventoryDistribution> {
 public interface ContractInventoryDistributionMapper extends BaseMapper<ContractInventoryDistribution> {
+    /**
+     * 根据条件查询合同/收购库存分布总数
+     *
+     * @param pageView
+     * @return
+     */
+    Integer getContractInventoryCountByCondition(Map<String, Object> pageView);
 
 
+    /**
+     * 根据条件查询合同/收购库存分布列表
+     *
+     * @param pageView
+     * @return
+     */
+    List<ContractInventoryDistribution> getContractInventoryListByCondition(Map<String, Object> pageView);
 }
 }

+ 2 - 2
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/ContractManagementInfoMapper.java

@@ -36,7 +36,7 @@ public interface ContractManagementInfoMapper extends BaseMapper<ContractManagem
     Double selectSumBuy(String compId);
     Double selectSumBuy(String compId);
 
 
     /**
     /**
-     * 根据条件查询利润核算
+     * 根据条件查询合同利润详情
      *
      *
      * @param pageView
      * @param pageView
      * @return
      * @return
@@ -44,7 +44,7 @@ public interface ContractManagementInfoMapper extends BaseMapper<ContractManagem
     Integer getContractCountByCondition(Map<String, Object> pageView);
     Integer getContractCountByCondition(Map<String, Object> pageView);
 
 
     /**
     /**
-     * 根据条件查询利润核算信息列表
+     * 根据条件查询合同利润详情信息列表
      *
      *
      * @param pageView
      * @param pageView
      * @return
      * @return

+ 17 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/WarehouseBaseInfoMapper.java

@@ -1,5 +1,6 @@
 package com.yh.saas.plugin.yiliangyiyun.mapper;
 package com.yh.saas.plugin.yiliangyiyun.mapper;
 
 
+import com.yh.saas.plugin.yiliangyiyun.entity.ContractManagementInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.TranCarInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.TranCarInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
@@ -77,4 +78,20 @@ public interface WarehouseBaseInfoMapper extends BaseMapper<WarehouseBaseInfo> {
     Integer getTemWareHouseCountByCondition(Map<String, Object> pageView);
     Integer getTemWareHouseCountByCondition(Map<String, Object> pageView);
 
 
     List<TranCarInfo> getTranCarInfo(Map<String, Object> pageView);
     List<TranCarInfo> getTranCarInfo(Map<String, Object> pageView);
+
+    /**
+     * 根据条件查询库点利润详情
+     *
+     * @param pageView
+     * @return
+     */
+    Integer getBaseCountByCondition(Map<String, Object> pageView);
+
+    /**
+     * 根据条件查询库点利润详情信息列表
+     *
+     * @param pageView
+     * @return
+     */
+    List<WarehouseBaseInfo> getBaseListByCondition(Map<String, Object> pageView);
 }
 }

+ 8 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IContractExpensesInfoService.java

@@ -1,5 +1,6 @@
 package com.yh.saas.plugin.yiliangyiyun.service;
 package com.yh.saas.plugin.yiliangyiyun.service;
 
 
+import com.baomidou.mybatisplus.plugins.Page;
 import com.yh.saas.plugin.yiliangyiyun.entity.ContractExpensesInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.ContractExpensesInfo;
 import com.baomidou.mybatisplus.service.IService;
 import com.baomidou.mybatisplus.service.IService;
 
 
@@ -12,5 +13,11 @@ import com.baomidou.mybatisplus.service.IService;
  * @since 2022-05-24
  * @since 2022-05-24
  */
  */
 public interface IContractExpensesInfoService extends IService<ContractExpensesInfo> {
 public interface IContractExpensesInfoService extends IService<ContractExpensesInfo> {
-
+    /**
+     * 合同费用列表查询
+     *
+     * @param contractExpensesInfo
+     * @return
+     */
+    Page<ContractExpensesInfo> selectContractExpensesInfo(ContractExpensesInfo contractExpensesInfo);
 }
 }

+ 10 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IContractInventoryDistributionService.java

@@ -1,5 +1,6 @@
 package com.yh.saas.plugin.yiliangyiyun.service;
 package com.yh.saas.plugin.yiliangyiyun.service;
 
 
+import com.baomidou.mybatisplus.plugins.Page;
 import com.yh.saas.plugin.yiliangyiyun.entity.ContractInventoryDistribution;
 import com.yh.saas.plugin.yiliangyiyun.entity.ContractInventoryDistribution;
 import com.baomidou.mybatisplus.service.IService;
 import com.baomidou.mybatisplus.service.IService;
 
 
@@ -13,4 +14,13 @@ import com.baomidou.mybatisplus.service.IService;
  */
  */
 public interface IContractInventoryDistributionService extends IService<ContractInventoryDistribution> {
 public interface IContractInventoryDistributionService extends IService<ContractInventoryDistribution> {
 
 
+
+    /**
+     * 合同库存列表查询
+     *
+     * @param contractInventoryDistribution
+     * @return
+     */
+    Page<ContractInventoryDistribution> selectContractInventoryInfo(ContractInventoryDistribution contractInventoryDistribution);
+
 }
 }

+ 1 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IContractManagementInfoService.java

@@ -91,7 +91,7 @@ public interface IContractManagementInfoService extends IService<ContractManagem
     Double selectSumBuy(String compId);
     Double selectSumBuy(String compId);
 
 
     /**
     /**
-     * 利润核算分页列表查询
+     * 合同利润详情列表查询
      *
      *
      * @param contractManagementInfo
      * @param contractManagementInfo
      * @return
      * @return

+ 9 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IWarehouseBaseInfoService.java

@@ -1,5 +1,6 @@
 package com.yh.saas.plugin.yiliangyiyun.service;
 package com.yh.saas.plugin.yiliangyiyun.service;
 
 
+import com.baomidou.mybatisplus.plugins.Page;
 import com.yh.saas.plugin.yiliangyiyun.entity.ContractManagementInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.ContractManagementInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo;
 import com.baomidou.mybatisplus.service.IService;
 import com.baomidou.mybatisplus.service.IService;
@@ -142,4 +143,12 @@ public interface IWarehouseBaseInfoService extends IService<WarehouseBaseInfo> {
     String exportPhoneOut(WarehouseBaseInfo warehouseBaseInfo, HttpServletResponse response) throws Exception;
     String exportPhoneOut(WarehouseBaseInfo warehouseBaseInfo, HttpServletResponse response) throws Exception;
 
 
     Integer getTemWareHouseCountByCondition(Map<String, Object> pageView);
     Integer getTemWareHouseCountByCondition(Map<String, Object> pageView);
+
+    /**
+     * 库点利润详情列表查询
+     *
+     * @param warehouseBaseInfo
+     * @return
+     */
+    Page<WarehouseBaseInfo> selectBaseInfo(WarehouseBaseInfo warehouseBaseInfo);
 }
 }

+ 42 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/ContractExpensesInfoServiceImpl.java

@@ -1,11 +1,18 @@
 package com.yh.saas.plugin.yiliangyiyun.service.impl;
 package com.yh.saas.plugin.yiliangyiyun.service.impl;
 
 
+import com.baomidou.mybatisplus.plugins.Page;
+import com.google.common.collect.Lists;
+import com.winsea.svc.base.security.util.AuthSecurityUtils;
 import com.yh.saas.plugin.yiliangyiyun.entity.ContractExpensesInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.ContractExpensesInfo;
 import com.yh.saas.plugin.yiliangyiyun.mapper.ContractExpensesInfoMapper;
 import com.yh.saas.plugin.yiliangyiyun.mapper.ContractExpensesInfoMapper;
 import com.yh.saas.plugin.yiliangyiyun.service.IContractExpensesInfoService;
 import com.yh.saas.plugin.yiliangyiyun.service.IContractExpensesInfoService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
 /**
  * <p>
  * <p>
  * 合同费用 服务实现类
  * 合同费用 服务实现类
@@ -17,4 +24,39 @@ import org.springframework.stereotype.Service;
 @Service
 @Service
 public class ContractExpensesInfoServiceImpl extends ServiceImpl<ContractExpensesInfoMapper, ContractExpensesInfo> implements IContractExpensesInfoService {
 public class ContractExpensesInfoServiceImpl extends ServiceImpl<ContractExpensesInfoMapper, ContractExpensesInfo> implements IContractExpensesInfoService {
 
 
+    /**
+     * 合同/库点费用列表查询
+     * @param contractExpensesInfo
+     * @return
+     */
+    @Override
+    public Page<ContractExpensesInfo> selectContractExpensesInfo(ContractExpensesInfo contractExpensesInfo) {
+        Map<String, Object> pageView = new HashMap<>();
+        pageView.put("startRecord", (contractExpensesInfo.getCurrentPage() - 1)
+                * contractExpensesInfo.getPageSize());
+        //  公司ID
+        pageView.put("compId", AuthSecurityUtils.getCurrentUserInfo().getCompId());
+        //合同费用
+        if("1".equals(contractExpensesInfo.getCostType())){
+            pageView.put("contractNo", contractExpensesInfo.getContractNo());
+        }
+        //库点费用
+        else{
+            pageView.put("warehouseName",contractExpensesInfo.getWarehouseName());
+            pageView.put("startDate", contractExpensesInfo.getStartDate());
+            pageView.put("endDate", contractExpensesInfo.getEndDate());
+        }
+        pageView.put("pageSize", contractExpensesInfo.getPageSize());
+        pageView.put("currentPage", contractExpensesInfo.getCurrentPage());
+        // 查询服务商总数
+        Integer dataCount = baseMapper.getContractExpensesCountByCondition(pageView);
+        List<ContractExpensesInfo> dataList = baseMapper.getContractExpensesListByCondition(pageView);
+
+        Page<ContractExpensesInfo> page = new Page<>();
+        page.setRecords(dataList == null ? Lists.newArrayList() : dataList);
+        page.setTotal(dataCount == null ? 0 : dataCount);
+        page.setCurrent(contractExpensesInfo.getCurrentPage());
+        page.setSize(contractExpensesInfo.getPageSize());
+        return page;
+    }
 }
 }

+ 40 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/ContractInventoryDistributionServiceImpl.java

@@ -1,11 +1,18 @@
 package com.yh.saas.plugin.yiliangyiyun.service.impl;
 package com.yh.saas.plugin.yiliangyiyun.service.impl;
 
 
+import com.baomidou.mybatisplus.plugins.Page;
+import com.google.common.collect.Lists;
+import com.winsea.svc.base.security.util.AuthSecurityUtils;
 import com.yh.saas.plugin.yiliangyiyun.entity.ContractInventoryDistribution;
 import com.yh.saas.plugin.yiliangyiyun.entity.ContractInventoryDistribution;
 import com.yh.saas.plugin.yiliangyiyun.mapper.ContractInventoryDistributionMapper;
 import com.yh.saas.plugin.yiliangyiyun.mapper.ContractInventoryDistributionMapper;
 import com.yh.saas.plugin.yiliangyiyun.service.IContractInventoryDistributionService;
 import com.yh.saas.plugin.yiliangyiyun.service.IContractInventoryDistributionService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
 /**
  * <p>
  * <p>
  * 记录合同库存分布详情 服务实现类
  * 记录合同库存分布详情 服务实现类
@@ -17,4 +24,37 @@ import org.springframework.stereotype.Service;
 @Service
 @Service
 public class ContractInventoryDistributionServiceImpl extends ServiceImpl<ContractInventoryDistributionMapper, ContractInventoryDistribution> implements IContractInventoryDistributionService {
 public class ContractInventoryDistributionServiceImpl extends ServiceImpl<ContractInventoryDistributionMapper, ContractInventoryDistribution> implements IContractInventoryDistributionService {
 
 
+    /**
+     * 合同/收购库存分布列表查询
+     * @param contractInventoryDistribution
+     * @return
+     */
+    @Override
+    public Page<ContractInventoryDistribution> selectContractInventoryInfo(ContractInventoryDistribution contractInventoryDistribution) {
+        Map<String, Object> pageView = new HashMap<>();
+        pageView.put("startRecord", (contractInventoryDistribution.getCurrentPage() - 1)
+                * contractInventoryDistribution.getPageSize());
+        //  公司ID
+        pageView.put("compId", AuthSecurityUtils.getCurrentUserInfo().getCompId());
+        //合同库存
+        if("1".equals(contractInventoryDistribution.getInventoryType())){
+            pageView.put("contract_no", contractInventoryDistribution.getContractNo());
+        }
+        //收购库存
+        else{
+            pageView.put("warehouse", contractInventoryDistribution.getWarehouse());
+        }
+        pageView.put("pageSize", contractInventoryDistribution.getPageSize());
+        pageView.put("currentPage", contractInventoryDistribution.getCurrentPage());
+        // 查询服务商总数
+        Integer dataCount = baseMapper.getContractInventoryCountByCondition(pageView);
+        List<ContractInventoryDistribution> dataList = baseMapper.getContractInventoryListByCondition(pageView);
+
+        Page<ContractInventoryDistribution> page = new Page<>();
+        page.setRecords(dataList == null ? Lists.newArrayList() : dataList);
+        page.setTotal(dataCount == null ? 0 : dataCount);
+        page.setCurrent(contractInventoryDistribution.getCurrentPage());
+        page.setSize(contractInventoryDistribution.getPageSize());
+        return page;
+    }
 }
 }

+ 1 - 2
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/ContractManagementInfoServiceImpl.java

@@ -15,7 +15,6 @@ import com.yh.saas.plugin.yiliangyiyun.entity.*;
 import com.yh.saas.plugin.yiliangyiyun.exception.YException;
 import com.yh.saas.plugin.yiliangyiyun.exception.YException;
 import com.yh.saas.plugin.yiliangyiyun.exception.YExceptionEnum;
 import com.yh.saas.plugin.yiliangyiyun.exception.YExceptionEnum;
 import com.yh.saas.plugin.yiliangyiyun.mapper.ContractManagementInfoMapper;
 import com.yh.saas.plugin.yiliangyiyun.mapper.ContractManagementInfoMapper;
-import com.yh.saas.plugin.yiliangyiyun.mapper.WarehouseBaseInfoMapper;
 import com.yh.saas.plugin.yiliangyiyun.service.*;
 import com.yh.saas.plugin.yiliangyiyun.service.*;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
 import com.winsea.svc.base.security.util.AuthSecurityUtils;
 import com.winsea.svc.base.security.util.AuthSecurityUtils;
@@ -2261,7 +2260,7 @@ public class ContractManagementInfoServiceImpl extends ServiceImpl<ContractManag
     }
     }
 
 
     /**
     /**
-     * 利润核算分页列表查询
+     * 合同利润详情列表查询
      * @param contractManagementInfo
      * @param contractManagementInfo
      * @return
      * @return
      */
      */

+ 23 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseBaseInfoServiceImpl.java

@@ -8,6 +8,7 @@ import com.aliyun.oss.model.PutObjectRequest;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.baomidou.mybatisplus.plugins.Page;
+import com.google.common.collect.Lists;
 import com.winsea.svc.base.base.entity.*;
 import com.winsea.svc.base.base.entity.*;
 import com.winsea.svc.base.base.service.*;
 import com.winsea.svc.base.base.service.*;
 import com.winsea.svc.base.base.util.DateUtils;
 import com.winsea.svc.base.base.util.DateUtils;
@@ -5522,7 +5523,28 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
      * @return
      * @return
      */
      */
     public Page<WarehouseBaseInfo> selectBaseInfo(WarehouseBaseInfo warehouseBaseInfo) {
     public Page<WarehouseBaseInfo> selectBaseInfo(WarehouseBaseInfo warehouseBaseInfo) {
-        return null;
+
+        Map<String, Object> pageView = new HashMap<>();
+        pageView.put("startRecord", (warehouseBaseInfo.getCurrentPage() - 1)
+                * warehouseBaseInfo.getPageSize());
+        //  公司ID
+        pageView.put("compId", AuthSecurityUtils.getCurrentUserInfo().getCompId());
+        pageView.put("warehouseName", warehouseBaseInfo.getWarehouseName());
+        pageView.put("startDate", warehouseBaseInfo.getStartDate());
+        pageView.put("endDate", warehouseBaseInfo.getEndDate());
+        pageView.put("pageSize", warehouseBaseInfo.getPageSize());
+        pageView.put("currentPage", warehouseBaseInfo.getCurrentPage());
+        // 查询服务商总数
+        Integer dataCount = baseMapper.getBaseCountByCondition(pageView);
+        List<WarehouseBaseInfo> dataList = baseMapper.getBaseListByCondition(pageView);
+
+
+        Page<WarehouseBaseInfo> page = new Page<>();
+        page.setRecords(dataList == null ? Lists.newArrayList() : dataList);
+        page.setTotal(dataCount == null ? 0 : dataCount);
+        page.setCurrent(warehouseBaseInfo.getCurrentPage());
+        page.setSize(warehouseBaseInfo.getPageSize());
+        return page;
     }
     }
 
 
 }
 }

+ 79 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/ContractExpensesInfoMapper.xml

@@ -1,5 +1,83 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.yh.saas.plugin.yiliangyiyun.mapper.ContractExpensesInfoMapper">
 <mapper namespace="com.yh.saas.plugin.yiliangyiyun.mapper.ContractExpensesInfoMapper">
-
+    <!--获得合同费用列表总数-->
+    <select id="getContractExpensesCountByCondition" parameterType="Map" resultType="java.lang.Integer">
+        SELECT
+        COUNT(ce.id)
+        FROM contract_expenses_info ce
+        LEFT JOIN contract_management_info cm on ce.contract_id = cm.id
+        WHERE
+        ce.comp_id = #{compId}
+        AND ce.delete_flag = '0'
+        <if test="costType = '1'">
+            <if test="contractNo != null and contractNo != ''">
+                AND ce.contract_no = #{contractNo}
+            </if>
+        </if>
+        <if test="costType = '3'">
+            <if test="warehouseName != null and warehouseName != ''">
+                AND ce.warehouse_name = #{warehouseName}
+            </if>
+            <if test="startDate != null">
+                AND (DATE_FORMAT(ce.pay_deadline,"%Y%m%d") &gt;=
+                DATE_FORMAT(#{startDate},"%Y%m%d"))
+            </if>
+            <if test="endDate != null">
+                AND (DATE_FORMAT(ce.pay_deadline,"%Y%m%d") &lt;=
+                DATE_FORMAT(#{endDate},"%Y%m%d"))
+            </if>
+        </if>
+    </select>
+    <!--合同费用列表查询-->
+    <select id="getContractExpensesListByCondition" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.ContractExpensesInfo">
+        SELECT
+        ce.id,
+        ce.comp_id as compId,
+        ce.contract_id as contractId,
+        ce.contract_no as contractNo,
+        ce.warehouseName,
+        ce.warehouse_id as warehouseId,
+        ce.expenses_type as expensesType,
+        ce.expenses_name as expensesName,
+        ce.expenses_price as expensesPrice,
+        ce.person_name as personName,
+        ce.pay_deadline as payDeadline,
+        ce.food_expenditure as foodExpenditure,
+        ce.grain_income as grainIncome,
+        ce.expense_income as expenseIncome,
+        ce.expenses_pay as expensesPay,
+        ce.current_profit as currentProfit,
+        cm.seller,
+        cm.buyer,
+        cm.contract_type as contractType,
+        cm.agreement_type as agreementType
+        FROM contract_expenses_info ce
+        LEFT JOIN contract_management_info cm on ce.contract_id = cm.id
+        WHERE
+        ce.comp_id = #{compId}
+        AND ce.delete_flag = '0'
+        <if test="costType = '1'">
+            <if test="contractNo != null and contractNo != ''">
+                AND ce.contract_no = #{contractNo}
+            </if>
+        </if>
+        <if test="costType = '3'">
+            <if test="warehouseName != null and warehouseName != ''">
+                AND ce.warehouse_name = #{warehouseName}
+            </if>
+            <if test="startDate != null">
+                AND (DATE_FORMAT(ce.pay_deadline,"%Y%m%d") &gt;=
+                DATE_FORMAT(#{startDate},"%Y%m%d"))
+            </if>
+            <if test="endDate != null">
+                AND (DATE_FORMAT(ce.pay_deadline,"%Y%m%d") &lt;=
+                DATE_FORMAT(#{endDate},"%Y%m%d"))
+            </if>
+        </if>
+        <if test="currentPage != null and currentPage != ''">
+            LIMIT ${startRecord}, ${pageSize}
+        </if>
+    </select>
 </mapper>
 </mapper>

+ 62 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/ContractInventoryDistributionMapper.xml

@@ -1,5 +1,66 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.yh.saas.plugin.yiliangyiyun.mapper.ContractInventoryDistributionMapper">
 <mapper namespace="com.yh.saas.plugin.yiliangyiyun.mapper.ContractInventoryDistributionMapper">
-
+    <!--获得合同库存列表总数-->
+    <select id="getContractInventoryCountByCondition" parameterType="Map" resultType="java.lang.Integer">
+        SELECT
+        COUNT(ci.id)
+        FROM contract_inventory_distribution ci
+        LEFT JOIN contract_management_info cm on ci.contract_id = cm.id
+        WHERE
+        ci.comp_id = #{compId}
+        AND ci.delete_flag = '0'
+        <if test="inventoryType = '1'">
+            <if test="contractNo != null and contractNo != ''">
+                AND ci.contract_no = #{contractNo}
+            </if>
+        </if>
+        <if test="inventoryType = '3'">
+            <if test="warehouse != null and warehouse != ''">
+                AND ci.warehouse = #{warehouse}
+            </if>
+        </if>
+    </select>
+    <!--合同库存分布列表查询-->
+    <select id="getContractInventoryListByCondition" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.ContractInventoryDistribution">
+        SELECT
+        ci.id,
+        ci.comp_id as compId,
+        ci.contract_id as contractId,
+        ci.contract_no as contractNo,
+        ci.warehouse,
+        ci.warehouse_id as warehouseId,
+        ci.in_storage as inStorage,
+        ci.sale_storage as saleStorage,
+        ci.remove_storage as removeStorage,
+        ci.locus_warehouse as locusWarehouse,
+        ci.goods_name as goodsName,
+        ci.weight,
+        ci.loss,
+        ci.surplus,
+        ci.inventory,
+        cm.seller,
+        cm.buyer,
+        cm.contract_type as contractType,
+        cm.agreement_type as agreementType
+        FROM contract_inventory_distribution ci
+        LEFT JOIN contract_management_info cm on ci.contract_id = cm.id
+        WHERE
+        ci.comp_id = #{compId}
+        AND ci.delete_flag = '0'
+        <if test="inventoryType = '1'">
+            <if test="contractNo != null and contractNo != ''">
+                AND ci.contract_no = #{contractNo}
+            </if>
+        </if>
+        <if test="inventoryType = '3'">
+            <if test="warehouse != null and warehouse != ''">
+                AND ci.warehouse = #{warehouse}
+            </if>
+        </if>
+        <if test="currentPage != null and currentPage != ''">
+            LIMIT ${startRecord}, ${pageSize}
+        </if>
+    </select>
 </mapper>
 </mapper>

+ 7 - 7
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/ContractManagementInfoMapper.xml

@@ -241,13 +241,13 @@
         a.contract_no
         a.contract_no
         ) b
         ) b
     </select>
     </select>
-    <!--获得利润核算列表总数-->
+    <!--获得合同利润详情列表总数-->
     <select id="getContractCountByCondition" parameterType="Map" resultType="java.lang.Integer">
     <select id="getContractCountByCondition" parameterType="Map" resultType="java.lang.Integer">
         SELECT
         SELECT
         COUNT(m.id)
         COUNT(m.id)
         FROM contract_management_info m
         FROM contract_management_info m
-        LEFT JOIN warehouse_in_out_info wi on m.contract_no = wi.contract_no
---         LEFT JOIN warehouse_position_info wp on wi.id = wp.base_id
+        LEFT JOIN contract_cost_info c on m.id = c.contract_id
+        LEFT JOIN contract_inventory_distribution ci on m.id = ci.contract_id
         WHERE
         WHERE
         m.comp_id = #{compId}
         m.comp_id = #{compId}
         AND m.delete_flag = '0'
         AND m.delete_flag = '0'
@@ -303,7 +303,7 @@
             OR lower( m.seller) like lower(CONCAT('%',#{searchKeyWord},'%')))
             OR lower( m.seller) like lower(CONCAT('%',#{searchKeyWord},'%')))
         </if>
         </if>
     </select>
     </select>
-    <!--利润核算列表查询-->
+    <!--合同利润详情列表查询-->
     <select id="getContractListByCondition" parameterType="Map"
     <select id="getContractListByCondition" parameterType="Map"
             resultType="com.yh.saas.plugin.yiliangyiyun.entity.ContractManagementInfo">
             resultType="com.yh.saas.plugin.yiliangyiyun.entity.ContractManagementInfo">
         SELECT
         SELECT
@@ -315,12 +315,12 @@
         m.buyer,
         m.buyer,
         m.signing_date,
         m.signing_date,
         m.status,
         m.status,
-        wi.warehouse_name as warehouseName,
-        wi.net_weight as netWeight,
+        ci.inventory as inventory,
         m.approve_status as approveStatus,
         m.approve_status as approveStatus,
         m.agreement_type as agreementType
         m.agreement_type as agreementType
         FROM contract_management_info m
         FROM contract_management_info m
-        LEFT JOIN warehouse_in_out_info wi on m.contract_no = wi.contract_no
+        LEFT JOIN contract_cost_info c on m.id = c.contract_id
+        LEFT JOIN contract_inventory_distribution ci on m.id = ci.contract_id
         WHERE
         WHERE
         m.comp_id = #{compId}
         m.comp_id = #{compId}
         AND m.delete_flag = '0'
         AND m.delete_flag = '0'

+ 51 - 48
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/WarehouseBaseInfoMapper.xml

@@ -672,52 +672,55 @@
         ORDER BY
         ORDER BY
         wbi.update_date;
         wbi.update_date;
     </select>
     </select>
-<!--    &lt;!&ndash;获得库点利润详情列表总数&ndash;&gt;-->
-<!--    <select id="getBaseCountByCondition" parameterType="Map" resultType="java.lang.Integer">-->
-<!--        SELECT-->
-<!--        COUNT(w.id)-->
-<!--        FROM warehouse_base_info w-->
-<!--        LEFT JOIN contract_expenses_info c on w.id = c.base_id-->
-<!--        WHERE-->
-<!--        w.comp_id = #{compId}-->
-<!--        <if test="startDate != null">-->
-<!--            AND (DATE_FORMAT(c.pay_deadline,"%Y%m%d") &gt;=-->
-<!--            DATE_FORMAT(#{startDate},"%Y%m%d"))-->
-<!--        </if>-->
-<!--        <if test="endDate != null">-->
-<!--            AND (DATE_FORMAT(c.pay_deadline,"%Y%m%d") &lt;=-->
-<!--            DATE_FORMAT(#{endDate},"%Y%m%d"))-->
-<!--        </if>-->
-<!--        <if test="searchKeyWord != null and searchKeyWord != ''">-->
-<!--            AND (lower(w.warehouse_name) like lower(CONCAT('%',#{searchKeyWord},'%'))-->
-<!--        </if>-->
-<!--    </select>-->
-<!--    &lt;!&ndash;库点利润详情列表查询&ndash;&gt;-->
-<!--    <select id="getBaseListByCondition" parameterType="Map"-->
-<!--            resultType="com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo">-->
-<!--        SELECT-->
-<!--        w.id,-->
-<!--        w.comp_id as compId,-->
-<!--        w.warehouse_name as warehouseName,-->
-<!--        c.pay_deadline as payDeadline,-->
-<!--        FROM warehouse_base_info w-->
-<!--        LEFT JOIN contract_expenses_info c on w.id = c.base_id-->
-<!--        WHERE-->
-<!--        w.comp_id = #{compId}-->
-<!--        <if test="startDate != null">-->
-<!--            AND (DATE_FORMAT(c.pay_deadline,"%Y%m%d") &gt;=-->
-<!--            DATE_FORMAT(#{startDate},"%Y%m%d"))-->
-<!--        </if>-->
-<!--        <if test="endDate != null">-->
-<!--            AND (DATE_FORMAT(c.pay_deadline,"%Y%m%d") &lt;=-->
-<!--            DATE_FORMAT(#{endDate},"%Y%m%d"))-->
-<!--        </if>-->
-<!--        <if test="searchKeyWord != null and searchKeyWord != ''">-->
-<!--            AND (lower(w.warehouse_name) like lower(CONCAT('%',#{searchKeyWord},'%'))-->
-<!--        </if>-->
-<!--        ORDER BY m.signing_date DESC-->
-<!--        <if test="currentPage != null and currentPage != ''">-->
-<!--            LIMIT ${startRecord}, ${pageSize}-->
-<!--        </if>-->
-<!--    </select>-->
+    <!--获得库点利润详情列表总数-->
+    <select id="getBaseCountByCondition" parameterType="Map" resultType="java.lang.Integer">
+        SELECT
+        COUNT(w.id)
+        FROM warehouse_base_info w
+        LEFT JOIN contract_expenses_info c on w.id = c.base_id
+        LEFT JOIN cost_management_info cm on w.id = cm.base_id
+        WHERE
+        w.comp_id = #{compId}
+        <if test="startDate != null">
+            AND (DATE_FORMAT(c.pay_deadline,"%Y%m%d") &gt;=
+            DATE_FORMAT(#{startDate},"%Y%m%d"))
+        </if>
+        <if test="endDate != null">
+            AND (DATE_FORMAT(c.pay_deadline,"%Y%m%d") &lt;=
+            DATE_FORMAT(#{endDate},"%Y%m%d"))
+        </if>
+        <if test="searchKeyWord != null and searchKeyWord != ''">
+            AND (lower(w.warehouse_name) like lower(CONCAT('%',#{searchKeyWord},'%'))
+        </if>
+    </select>
+    <!--库点利润详情列表查询-->
+    <select id="getBaseListByCondition" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo">
+        SELECT
+        w.id,
+        w.comp_id as compId,
+        w.warehouse_name as warehouseName,
+        c.pay_deadline as payDeadline,
+        cm.cost
+        FROM warehouse_base_info w
+        LEFT JOIN contract_expenses_info c on w.id = c.base_id
+        LEFT JOIN cost_management_info cm on w.id = cm.base_id
+        WHERE
+        w.comp_id = #{compId}
+        <if test="startDate != null">
+            AND (DATE_FORMAT(c.pay_deadline,"%Y%m%d") &gt;=
+            DATE_FORMAT(#{startDate},"%Y%m%d"))
+        </if>
+        <if test="endDate != null">
+            AND (DATE_FORMAT(c.pay_deadline,"%Y%m%d") &lt;=
+            DATE_FORMAT(#{endDate},"%Y%m%d"))
+        </if>
+        <if test="searchKeyWord != null and searchKeyWord != ''">
+            AND (lower(w.warehouse_name) like lower(CONCAT('%',#{searchKeyWord},'%'))
+        </if>
+        ORDER BY m.signing_date DESC
+        <if test="currentPage != null and currentPage != ''">
+            LIMIT ${startRecord}, ${pageSize}
+        </if>
+    </select>
 </mapper>
 </mapper>