huangfuli 3 éve
szülő
commit
27a12788e0
12 módosított fájl, 410 hozzáadás és 15 törlés
  1. 18 0
      winsea-haixin-platform-backend/src/main/java/com/yh/saas/platform/controller/StaffController.java
  2. 25 3
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/WarehouseBaseInfoController.java
  3. 11 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/WarehouseInOutInfoController.java
  4. 12 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/WarehouseBaseInfo.java
  5. 16 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/view/WarehouseNumView.java
  6. 44 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/view/WarehouseView.java
  7. 23 2
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/WarehouseBaseInfoMapper.java
  8. 17 2
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IWarehouseBaseInfoService.java
  9. 10 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IWarehouseInOutInfoService.java
  10. 63 6
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseBaseInfoServiceImpl.java
  11. 17 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseInOutInfoServiceImpl.java
  12. 154 0
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/WarehouseBaseInfoMapper.xml

+ 18 - 0
winsea-haixin-platform-backend/src/main/java/com/yh/saas/platform/controller/StaffController.java

@@ -65,6 +65,10 @@ public class StaffController {
 
 	@Autowired
 	private IWarehouseBaseInfoService warehouseBaseInfoService;
+	@Autowired
+	private ICommonStaffService commonStaffService;
+	@Autowired
+	private ICommonStaffRoleService commonStaffRoleService;
 	/**
 	 * 获取当前登录用户信息
 	 *
@@ -127,6 +131,20 @@ public class StaffController {
 		return staffService.selectList(new EntityWrapper<CommonStaff>().eq("comp_id", compId));
 	}
 
+	/**
+	 * 根据公司id获得仓储部负责人
+	 * @param compId
+	 * @return
+	 */
+	@GetMapping("/query/getPost")
+	public List<CommonStaff> getPost(String compId){
+		List<CommonStaffRole> staffRole = commonStaffRoleService.selectList(new EntityWrapper<CommonStaffRole>().eq("role_id","2e9d0b8540204f7abcc8e5594d44ea1a"));
+		List<CommonStaff> commonStaff=commonStaffService.selectList(new EntityWrapper<CommonStaff>().eq("staff_id",staffRole.get(0).getStaffId()).eq("comp_Id",compId));
+			return commonStaff;
+	}
+
+
+
 	/**
 	 * 根据公司ID和库点id获得有权限的人员集合
 	 *

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

@@ -5,6 +5,7 @@ package com.yh.saas.plugin.yiliangyiyun.controller;
 import com.yh.saas.plugin.yiliangyiyun.entity.ContractManagementInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseInOutInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.view.WarehouseNumView;
 import com.yh.saas.plugin.yiliangyiyun.entity.view.WarehouseView;
 import com.yh.saas.plugin.yiliangyiyun.service.IWarehouseBaseInfoService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -90,10 +91,32 @@ public class WarehouseBaseInfoController {
      * @return
      */
     @GetMapping("/selectWarehouseViewinfo")
-    public List<WarehouseView> selectWarehouseViewinfo(String compId,String warehouseName,String warehouseType){
+    public WarehouseBaseInfo selectWarehouseViewinfo(String compId,String warehouseName,String warehouseType){
         return warehouseBaseInfoService.selectWarehouseViewinfo(compId,warehouseName,warehouseType);
     }
 
+    /**
+     * 今日储量明细
+     *
+     * @param compId
+     * @return
+     */
+    @GetMapping("/reservesDetails")
+    public List<WarehouseNumView> reservesDetails(String compId){
+        return warehouseBaseInfoService.reservesDetails(compId);
+    }
+
+    /**
+     * 全部仓库
+     *
+     * @param compId
+     * @return
+     */
+    @GetMapping("/allWarehouse")
+    public List<WarehouseView> allWarehouse(String compId,String warehouseName,String goodsName){
+        return warehouseBaseInfoService.allWarehouse(compId,warehouseName,goodsName);
+    }
+
     /**
      * 更改显示状态
      */
@@ -187,8 +210,6 @@ public class WarehouseBaseInfoController {
     }
 
 
-
-
     /**
      * 导出入库
      *
@@ -209,5 +230,6 @@ public class WarehouseBaseInfoController {
     public String exportPhoneOut(@RequestBody WarehouseBaseInfo example, HttpServletResponse response) throws Exception {
         return warehouseBaseInfoService.exportPhoneOut(example,response);
     }
+
 }
 

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

@@ -188,5 +188,16 @@ public class WarehouseInOutInfoController {
     public Integer count(@RequestParam String positionId,String inOutFlag) {
         return warehouseInOutInfoService.count(positionId,inOutFlag);
     }
+
+
+    /**
+     * 修改入库量
+     * @param warehouseInOutInfo
+     * @return
+     */
+    @PostMapping("/updateStockQuantity")
+    public String updateStockQuantity(@RequestBody WarehouseInOutInfo warehouseInOutInfo) {
+        return warehouseInOutInfoService.updateStockQuantity(warehouseInOutInfo);
+    }
 }
 

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

@@ -13,6 +13,8 @@ import com.baomidou.mybatisplus.annotations.Version;
 import com.baomidou.mybatisplus.enums.IdType;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.yh.saas.common.support.entity.BaseModel;
+import com.yh.saas.plugin.yiliangyiyun.entity.view.WarehouseNumView;
+import com.yh.saas.plugin.yiliangyiyun.entity.view.WarehouseView;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -44,6 +46,16 @@ public class WarehouseBaseInfo extends BaseModel<WarehouseBaseInfo> {
      */
     @TableField(exist = false)
     private List<WarehousePositionStorageInfo> goodsNameInfos;
+    /**
+     * 仓库列表
+     */
+    @TableField(exist = false)
+    private List<WarehouseView> warehouseViewList;
+    /**
+     * 仓库储量列表
+     */
+    @TableField(exist = false)
+    private List<WarehouseNumView> warehouseNumViewList;
     /**
      * 主键
      */

+ 16 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/view/WarehouseNumView.java

@@ -24,4 +24,20 @@ public class WarehouseNumView {
      * 应余量
      */
     private String storage;
+    /**
+     * 库内储量
+     */
+    private Float stockNum;
+    /**
+     * 移库在途
+     */
+    private Float moveNum;
+    /**
+     * 采购在途
+     */
+    private Float purchaseNum;
+    /**
+     * 销售在途
+     */
+    private Float saleNum;
 }

+ 44 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/view/WarehouseView.java

@@ -1,6 +1,5 @@
 package com.yh.saas.plugin.yiliangyiyun.entity.view;
 
-import com.baomidou.mybatisplus.annotations.TableField;
 import lombok.Data;
 
 import java.util.Date;
@@ -24,6 +23,14 @@ public class WarehouseView {
      * 仓位编号
      */
     private String binNumber;
+    /**
+     * 品种
+     */
+    private String goodsName;
+    /**
+     * 临时库最大入库量
+     */
+    private String maxInStorage;
     /**
      * 入库量
      */
@@ -72,6 +79,42 @@ public class WarehouseView {
      * 待完成数(出库)
      */
     private int outNumber;
+    /**
+     * 负责人
+     */
+    private String personCharge;
+    /**
+     * 负责人电话
+     */
+    private String personPhone;
+    /**
+     * 其他负责人
+     */
+    private String otherPersonCharge;
+    /**
+     * 其他负责人电话
+     */
+    private String otherPersonPhone;
+    /**
+     * 仓库所在地省
+     */
+    private String warehousePrivate;
+    /**
+     * 仓库所在地市
+     */
+    private String warehouseCity;
+    /**
+     * 仓库所在地区
+     */
+    private String warehouseArea;
+    /**
+     * 详细地址
+     */
+    private String detailedAddress;
+    /**
+     * 仓库定位
+     */
+    private String warehousePositioning;
 
     /**
      * 是否允许手动编辑

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

@@ -3,6 +3,8 @@ package com.yh.saas.plugin.yiliangyiyun.mapper;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.yh.saas.plugin.yiliangyiyun.entity.view.ExportVView;
+import com.yh.saas.plugin.yiliangyiyun.entity.view.WarehouseNumView;
+import com.yh.saas.plugin.yiliangyiyun.entity.view.WarehouseView;
 
 import java.util.List;
 import java.util.Map;
@@ -44,7 +46,26 @@ public interface WarehouseBaseInfoMapper extends BaseMapper<WarehouseBaseInfo> {
      * @return
      */
     List<ExportVView> getListByConditionOut(Map<String, Object> pageView);
-
-
+    /**
+     * 今日储量明细
+     *
+     * @param pageView
+     * @return
+     */
+    List<WarehouseNumView> getReservesDetailsListByCondition(Map<String, Object> pageView);
+    /**
+     * 储量柱形图
+     *
+     * @param pageView
+     * @return
+     */
+    List<WarehouseNumView> getReservesWarehouseListByCondition(Map<String, Object> pageView);
+    /**
+     * 全部仓库
+     *
+     * @param pageView
+     * @return
+     */
+    List<WarehouseView> getAllWarehouseListByCondition(Map<String, Object> pageView);
 
 }

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

@@ -4,6 +4,7 @@ import com.yh.saas.plugin.yiliangyiyun.entity.ContractManagementInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo;
 import com.baomidou.mybatisplus.service.IService;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseInOutInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.view.WarehouseNumView;
 import com.yh.saas.plugin.yiliangyiyun.entity.view.WarehouseView;
 
 import javax.servlet.http.HttpServletResponse;
@@ -55,7 +56,21 @@ public interface IWarehouseBaseInfoService extends IService<WarehouseBaseInfo> {
      * @param compId
      * @return
      */
-    List<WarehouseView> selectWarehouseViewinfo(String compId,String warehouseName,String warehouseType);
+    WarehouseBaseInfo selectWarehouseViewinfo(String compId,String warehouseName,String warehouseType);
+
+    /**
+     * 今日储量明细
+     * @param compId
+     * @return
+     */
+    List<WarehouseNumView> reservesDetails(String compId);
+
+    /**
+     * 全部仓库
+     * @param compId
+     * @return
+     */
+    List<WarehouseView> allWarehouse(String compId,String warehouseName,String goodsName);
 
     /**
      * 更改显示状态
@@ -121,8 +136,8 @@ public interface IWarehouseBaseInfoService extends IService<WarehouseBaseInfo> {
     void exportOut(WarehouseBaseInfo warehouseBaseInfo, HttpServletResponse response) throws Exception;
 
 
-
     String exportphone(WarehouseBaseInfo warehouseBaseInfo, HttpServletResponse response) throws Exception;
 
     String exportPhoneOut(WarehouseBaseInfo warehouseBaseInfo, HttpServletResponse response) throws Exception;
+
 }

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

@@ -118,5 +118,15 @@ public interface IWarehouseInOutInfoService extends IService<WarehouseInOutInfo>
     String selectCompId(String contractNo);
 
     void tesk(WarehouseInOutInfo warehouseInOutInfo,String flag);
+
     Integer selectCountCompany(String compId,String type);
+
+
+    /**
+     * 修改入库量
+     * @param warehouseInOutInfo
+     * @return
+     */
+    String updateStockQuantity(WarehouseInOutInfo warehouseInOutInfo);
+
 }

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

@@ -38,7 +38,6 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.mock.web.MockMultipartFile;
-import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.multipart.MultipartFile;
@@ -112,6 +111,37 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
     @Autowired
     private OSSClient ossClient;
 
+
+    /**
+     * 全部仓库
+     * @param compId
+     * @return
+     */
+    @Override
+    public List<WarehouseView> allWarehouse(String compId,String warehouseName,String goodsName) {
+        Map<String, Object> pageView = new HashMap<>();
+        //  公司ID
+        pageView.put("compId", compId);
+        pageView.put("warehouseName", warehouseName);
+        pageView.put("goodsName", goodsName);
+        List<WarehouseView> dataList = baseMapper.getAllWarehouseListByCondition(pageView);
+        return dataList;
+    }
+
+    /**
+     * 今日储量明细
+     * @param compId
+     * @return
+     */
+    @Override
+    public List<WarehouseNumView> reservesDetails(String compId) {
+        Map<String, Object> pageView = new HashMap<>();
+        //  公司ID
+        pageView.put("compId", compId);
+        List<WarehouseNumView> dataList = baseMapper.getReservesDetailsListByCondition(pageView);
+        return dataList;
+    }
+
     /**
      * 仓库管理页面列表
      *
@@ -120,9 +150,11 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public List<WarehouseView> selectWarehouseViewinfo(String compId, String warehouseName, String warehouseType) {
-        if (compId == null || compId.isEmpty()) {
-            compId = AuthSecurityUtils.getStaffById(AuthSecurityUtils.getCurrentUserId()).getCompId();
+    public WarehouseBaseInfo selectWarehouseViewinfo(String compId, String warehouseName, String warehouseType) {
+        WarehouseBaseInfo warehouseBaseInfos = new WarehouseBaseInfo();
+        if(compId == null || compId.isEmpty()){
+            compId=AuthSecurityUtils.getStaffById(AuthSecurityUtils.getCurrentUserId()).getCompId();
+
         }
         String personCharge = AuthSecurityUtils.getStaffById(AuthSecurityUtils.getCurrentUserId()).getStaffMobilePhone();
 
@@ -165,6 +197,14 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
                             warehouseView.setBinNumber(warehousePositionInfo.getBinNumber());
                             warehouseView.setCapacity(String.valueOf(warehousePositionInfo.getMaxStorage()));
                             warehouseView.setRemark(warehousePositionInfo.getRemark());
+                            warehouseView.setWarehousePrivate(warehouseBaseInfo.getWarehousePrivate());
+                            warehouseView.setWarehouseCity(warehouseBaseInfo.getWarehouseCity());
+                            warehouseView.setWarehouseArea(warehouseBaseInfo.getWarehouseArea());
+                            warehouseView.setDetailedAddress(warehouseBaseInfo.getDetailedAddress());
+                            warehouseView.setPersonCharge(warehouseBaseInfo.getPersonCharge());
+                            warehouseView.setPersonPhone(warehouseBaseInfo.getPersonPhone());
+                            warehouseView.setOtherPersonCharge(warehouseBaseInfo.getOtherPersonCharge());
+                            warehouseView.setWarehousePositioning(warehouseBaseInfo.getWarehousePositioning());
                             // 定义待完成数量
                             int count = 0;
                             // 定义应余量
@@ -184,7 +224,6 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
                                     List<WarehouseInOutInfo> warehouseInOutInfoAllList = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
                                             .eq("position_id", warehousePositionInfo.getId()).eq("in_out_flag", "2").eq("delete_flag", "0")
                                             .eq("status_flag", "3").eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey()));
-
                                     if (!CollectionUtils.isEmpty(warehouseInOutInfoAllList)) {
                                         Double netWeight = 0d;
                                         for (WarehouseInOutInfo warehouse : warehouseInOutInfoAllList) {
@@ -279,7 +318,14 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
                     warehouseView.setClearStatusFlag(warehouseBaseInfo.getClearStatusFlag());
                     warehouseView.setWarehouseName(warehouseBaseInfo.getWarehouseName());
                     warehouseView.setUpdateDate(warehouseBaseInfo.getUpdateDate());
+                    warehouseView.setPersonCharge(warehouseBaseInfo.getPersonCharge());
+                    warehouseView.setPersonPhone(warehouseBaseInfo.getPersonPhone());
+                    warehouseView.setOtherPersonCharge(warehouseBaseInfo.getOtherPersonCharge());
+                    warehouseView.setWarehousePositioning(warehouseBaseInfo.getWarehousePositioning());
                     warehouseView.setAddress(warehouseBaseInfo.getWarehousePrivate() + warehouseBaseInfo.getWarehouseCity() + warehouseBaseInfo.getWarehouseArea() + warehouseBaseInfo.getDetailedAddress());
+                    ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                        .eq("contract_no",warehouseBaseInfo.getWarehouseName()).eq("delete_flag","0"));
+                    warehouseView.setMaxInStorage(String.valueOf(contractManagementInfo.getWeight()+(contractManagementInfo.getWeight()*contractManagementInfo.getOverShort()/100)+50));
                     // 定义待完成数量
                     int count = 0;
                     //定义入库
@@ -368,9 +414,20 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
                 }
             }
         }
-        return warehouseViews;
+
+        //仓库储量柱形图
+        Map<String, Object> pageView = new HashMap<>();
+        //  公司ID
+        pageView.put("compId", compId);
+        pageView.put("warehouseName", warehouseName);
+        List<WarehouseNumView> dataList = baseMapper.getReservesWarehouseListByCondition(pageView);
+
+        warehouseBaseInfos.setWarehouseViewList(warehouseViews);
+        warehouseBaseInfos.setWarehouseNumViewList(dataList);
+        return warehouseBaseInfos;
     }
 
+
     private List<String> getResourceIdList() {
         User currentUser = AuthSecurityUtils.getCurrentUserInfo();
         // 当前登录人主要角色

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

@@ -2100,13 +2100,29 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
 
     }
 
+
     @Override
     public Integer selectCountCompany(String compId,String type) {
         Map<String, Object> pageView = new HashMap<>();
         pageView.put("compId", compId);
         //  仓库ID
         pageView.put("type", type);
-        return  baseMapper.selectCountCompany(pageView);
+        return baseMapper.selectCountCompany(pageView);
+    }
+
+    /**
+     * 修改入库量
+     * @param warehouseInOutInfo
+     * @return
+     */
+    @Override
+    public String updateStockQuantity(WarehouseInOutInfo warehouseInOutInfo){
+        WarehouseInOutInfo warehouseInOutInfos = this.selectOne(new EntityWrapper<WarehouseInOutInfo>()
+                .eq("base_id",warehouseInOutInfo.getBaseId()).eq("in_out_type","采购入库"));
+        warehouseInOutInfos.setNetWeight(warehouseInOutInfo.getNetWeight());
+        this.updateById(warehouseInOutInfos);
+        return "ok";
+
     }
 
 }

+ 154 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/WarehouseBaseInfoMapper.xml

@@ -423,4 +423,158 @@
             DATE_FORMAT(#{endDate},"%Y%m%d"))
         </if>
     </select>
+
+    <!-- 获得今日储量明细列表 -->
+    <select id="getReservesDetailsListByCondition" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.view.WarehouseNumView">
+        SELECT
+        wpsi.goods_name as goodsName,
+        sum( wpsi.`storage` ) as stockNum,
+        (
+        SELECT
+        sum( tci.load_net_weight )
+        FROM
+        tran_task_info tti
+        LEFT JOIN tran_car_info tci ON tci.info_id = tti.id
+        AND tci.delete_flag = 0
+        WHERE
+        tti.task_type = '移库'
+        AND tti.goods_name = wpsi.goods_name
+        AND tti.delete_flag = 0
+        AND tci.status_flag = 3
+        )as moveNum/* 移库在途数量,已发出未反馈 */,
+        (
+        SELECT
+        SUM(ROUND((cpi.mildew_grain - tt.total)/cmi.unit_contract_price ,3))
+        FROM
+        (
+        SELECT
+        cmi.contract_no,
+        cgi.goods_name,
+        sum( sprr.amount_not_payable ) AS total
+        FROM
+        contract_management_info cmi
+        LEFT JOIN contract_goods_info cgi ON cgi.contract_id = cmi.id
+        AND cgi.delete_flag = 0
+        LEFT JOIN stock_purchase_receipt_report sprr ON sprr.contract_no = cmi.contract_no
+        AND sprr.delete_flag = 0
+        WHERE
+        cmi.contract_type = 2
+        AND cmi.delete_flag = 0
+        AND sprr.amount_not_payable IS NOT NULL
+        GROUP BY
+        cmi.contract_no,
+        cgi.goods_name
+        ) tt
+        LEFT JOIN contract_management_info cmi ON cmi.contract_no = tt.contract_no
+        AND cmi.delete_flag = 0
+        LEFT JOIN contract_process_info cpi ON cpi.contract_id = cmi.id
+        AND cpi.delete_flag = 0
+        WHERE
+        tt.goods_name = wpsi.goods_name
+        AND tt.total &lt; cpi.mildew_grain
+        ) as purchaseNum/* 采购在途数量,合同已付减应付除以单价得到吨数 */,
+        (
+        SELECT
+        sum( tci.load_net_weight )
+        FROM
+        tran_task_info tti
+        LEFT JOIN tran_car_info tci ON tci.info_id = tti.id
+        AND tci.delete_flag = 0
+        WHERE
+        tti.task_type = '销售出库'
+
+        AND tti.goods_name = wpsi.goods_name
+        AND tti.delete_flag = 0
+        AND tci.status_flag = 3
+        )  as saleNum
+        FROM
+        warehouse_base_info wbi
+        LEFT JOIN warehouse_position_info wpi ON wpi.base_id = wbi.id
+        LEFT JOIN warehouse_position_storage_info wpsi ON wpsi.position_id = wpi.id
+        WHERE
+        1 = 1
+        <if test="compId != null and compId != ''">
+            AND wbi.comp_id= #{compId}
+        </if>
+        AND wpsi.id IS NOT NULL
+        GROUP BY
+        wpsi.goods_name_key;
+    </select>
+
+    <!-- 获得储量柱形图 -->
+    <select id="getReservesWarehouseListByCondition" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.view.WarehouseNumView">
+        SELECT
+        wpsi.goods_name as goodsName,
+        sum( wpsi.storage ) as stockNum
+        FROM
+        warehouse_base_info wbi
+        LEFT JOIN warehouse_position_info wpi ON wpi.base_id = wbi.id
+        LEFT JOIN warehouse_position_storage_info wpsi ON wpsi.position_id = wpi.id
+        WHERE
+        wpsi.id IS NOT NULL
+        <if test="compId != null and compId != ''">
+            AND wbi.comp_id= #{compId}
+        </if>
+        <if test="warehouseName != null and warehouseName != ''">
+            AND wbi.warehouse_name= #{warehouseName}
+        </if>
+        GROUP BY
+        wpsi.goods_name_key;
+    </select>
+
+    <select id="getAllWarehouseListByCondition" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.view.WarehouseView">
+        SELECT
+		wbi.warehouse_name as warehouseName,
+        wpi.bin_number as binNumber,
+        wpi.id as binNumberId,
+        wpi.max_storage as capacity,
+
+				(SELECT
+				sum(wioi.net_weight)
+				FROM
+				warehouse_in_out_info wioi
+				WHERE
+				wioi.in_out_flag = '2'
+				AND wioi.delete_flag=0
+				AND wioi.status_flag=3
+				and wioi.position_id=wpi.id
+				and wioi.goods_name=wpsi.goods_name
+				)as inNetWeight,/*入库量*/
+
+				(SELECT
+				sum(wioi.net_weight)
+				FROM
+				warehouse_in_out_info wioi
+				WHERE
+				wioi.in_out_flag = '1'
+				AND wioi.delete_flag=0
+				AND wioi.status_flag=3
+				and wioi.position_id=wpi.id
+				and wioi.goods_name=wpsi.goods_name
+				)as outNetWeight,/*出库量*/
+
+        wpsi.storage as storage,
+		wpsi.goods_name as goodsName
+
+		FROM
+		warehouse_base_info wbi
+        LEFT JOIN warehouse_position_info wpi ON wpi.base_id = wbi.id
+        LEFT JOIN warehouse_position_storage_info wpsi ON wpsi.position_id = wpi.id
+        WHERE
+        wbi.comp_id= #{compId}
+        AND wbi.warehouse_type='1'
+        <if test="warehouseName != null and warehouseName != ''">
+            AND wbi.warehouse_name= #{warehouseName}
+        </if>
+        <if test="goodsName != null and goodsName != ''">
+            AND wpsi.goods_name= #{goodsName}
+        </if>
+        GROUP BY
+        wpi.id,wpsi.goods_name_key
+		order by wbi.common_warehouse_no,wpi.bin_number
+    </select>
+
 </mapper>