浏览代码

Merge branch 'master' of http://47.100.3.209:3000/gdc/yiliangyiyun

ccjgmwz 3 年之前
父节点
当前提交
55d3b0e841
共有 14 个文件被更改,包括 960 次插入20 次删除
  1. 11 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/WarehouseBaseInfoController.java
  2. 4 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/StockPurchaseReceiptReport.java
  3. 9 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/StockSaleReceiptReport.java
  4. 17 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/WarehouseBaseInfo.java
  5. 142 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/view/ExportVView.java
  6. 10 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/WarehouseBaseInfoMapper.java
  7. 2 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IWarehouseBaseInfoService.java
  8. 21 8
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/StockSaleReceiptReportServiceImpl.java
  9. 8 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/TranProcessInfoServiceImpl.java
  10. 5 5
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/TranTaskInfoServiceImpl.java
  11. 612 6
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseBaseInfoServiceImpl.java
  12. 5 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseInOutInfoServiceImpl.java
  13. 1 0
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/StockSaleReceiptReportMapper.xml
  14. 113 0
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/WarehouseBaseInfoMapper.xml

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

@@ -10,6 +10,7 @@ import com.yh.saas.plugin.yiliangyiyun.service.IWarehouseBaseInfoService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 import java.util.List;
 
@@ -164,5 +165,15 @@ public class WarehouseBaseInfoController {
     public List<WarehouseBaseInfo> selectResponsible(@RequestParam String compId,String personCharge){
         return warehouseBaseInfoService.selectResponsible(compId,personCharge);
     }
+    /**
+     * 导出
+     *
+     * @return
+     * @throws Exception
+     */
+    @PostMapping("/export")
+    public void export(@RequestBody WarehouseBaseInfo example, HttpServletResponse response) throws Exception {
+        warehouseBaseInfoService.export(example,response);
+    }
 }
 

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

@@ -43,6 +43,10 @@ public class StockPurchaseReceiptReport extends BaseModel<StockPurchaseReceiptRe
      * 公司id
      */
     private String compId;
+    /**
+     * 出入库记录id
+     */
+    private String warehouseRecordId;
     /**
      * 合同编号
      */

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

@@ -105,6 +105,10 @@ public class StockSaleReceiptReport extends BaseModel<StockSaleReceiptReport> {
      * 结算重量(吨)
      */
     private Float settlementWeight;
+    /**
+     * 结算单价(元/吨)
+     */
+    private Float settlementPrice;
     /**
      * 应收金额(元/吨)
      */
@@ -193,6 +197,11 @@ public class StockSaleReceiptReport extends BaseModel<StockSaleReceiptReport> {
      */
     @TableField(exist = false)
     private String poundImg;
+    /**
+     * 修改重量1修改单价2
+     */
+    @TableField(exist = false)
+    private String flag;
 
 
     @Override

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

@@ -2,6 +2,7 @@ package com.yh.saas.plugin.yiliangyiyun.entity;
 
 import com.baomidou.mybatisplus.activerecord.Model;
 import java.io.Serializable;
+import java.util.Date;
 import java.util.List;
 
 import com.baomidou.mybatisplus.annotations.TableField;
@@ -10,10 +11,12 @@ import com.baomidou.mybatisplus.annotations.TableName;
 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 lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
 
 /**
  * <p>
@@ -173,6 +176,20 @@ public class WarehouseBaseInfo extends BaseModel<WarehouseBaseInfo> {
      */
     @TableField(exist = false)
     private String goodsName;
+    /**
+     * 开始时间
+     */
+    @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
     protected Serializable pkVal() {

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

@@ -0,0 +1,142 @@
+package com.yh.saas.plugin.yiliangyiyun.entity.view;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+@Data
+public class ExportVView {
+    /**
+     * 采购公司
+     */
+    private String compName;
+    /**
+     * 收购仓库
+     */
+    private String warehouseName;
+    /**
+     * 仓位号
+     */
+    private String binNumber;
+
+    /**
+     * 开票日期
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private Date createDate;
+    /**
+     * 合同号
+     */
+    private String contractNo;
+    /**
+     * 业务编号
+     */
+    private String paymentNo;
+    /**
+     * 客户
+     */
+    private String customerName;
+    /**
+     * 供应商
+     */
+    private String supplier;
+    /**
+     * 货名
+     */
+    private String goodsName;
+    /**
+     * 类型
+     */
+    private String type;
+    /**
+     * 品级
+     */
+    private String grade;
+    /**
+     * 水分
+     */
+    private String waterContent;
+    /**
+     * 杂质
+     */
+    private String impurity;
+    /**
+     * 车牌号
+     */
+    private String carNo;
+    /**
+     * 箱号
+     */
+    private String boxNo;
+    /**
+     * 箱号2
+     */
+    private String boxNoOther;
+    /**
+     * 封号
+     */
+    private String titleNo;
+    /**
+     * 封号2
+     */
+    private String titleNoOther;
+    /**
+     * 净重单价
+     */
+    private Float netWeightPrice;
+    /**
+     * 毛重
+     */
+    private Float grossWeight;
+    /**
+     * 皮重
+     */
+    private Float tare;
+    /**
+     * 扣重
+     */
+    private Float buckleWeight;
+    /**
+     * 净重
+     */
+    private Float netWeight;
+    /**
+     * 扣单价
+     */
+    private Float unitDeduction;
+    /**
+     * 纯重单价
+     */
+    private Float pureWeightPrice;
+    /**
+     * 纯重(公斤)
+     */
+    private Float pureWeight;
+    /**
+     * 应付金额(元/吨)
+     */
+    private Float amountIngPayable;
+    /**
+     * 实付金额(元/吨)
+     */
+    private Float amountEdPayable;
+    /**
+     * 姓名
+     */
+    private String payeeName;
+    /**
+     * 银行卡号
+     */
+    private String cardNo;
+    /**
+     * 开户行
+     */
+    private String bankDeposit;
+    /**
+     * 开户支行
+     */
+    private String bankDepositBranch;
+}

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

@@ -2,7 +2,9 @@ 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 java.util.List;
 import java.util.Map;
 
 /**
@@ -28,5 +30,13 @@ public interface WarehouseBaseInfoMapper extends BaseMapper<WarehouseBaseInfo> {
      * @return
      */
     Integer getWareHouseCountByCondition(Map<String, Object> pageView);
+    /**
+     * 根据条件查询付款管理列表
+     *
+     * @param pageView
+     * @return
+     */
+    List<ExportVView> getListByCondition(Map<String, Object> pageView);
+
 
 }

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

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.service.IService;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseInOutInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.view.WarehouseView;
 
+import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 
 /**
@@ -116,4 +117,5 @@ public interface IWarehouseBaseInfoService extends IService<WarehouseBaseInfo> {
      * @return
      */
     List<WarehouseBaseInfo> selectResponsible(String compId,String personCharge);
+    void export(WarehouseBaseInfo warehouseBaseInfo, HttpServletResponse response) throws Exception;
 }

+ 21 - 8
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/StockSaleReceiptReportServiceImpl.java

@@ -154,14 +154,27 @@ public class StockSaleReceiptReportServiceImpl extends ServiceImpl<StockSaleRece
         //查询销售出库报表
         StockSaleReceiptReport stockSaleReceiptReport1 = this.selectById(stockSaleReceiptReport.getId());
         if (stockSaleReceiptReport1 != null) {
-            stockSaleReceiptReport1.setSettlementWeight(stockSaleReceiptReport.getSettlementWeight());
-            ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
-                    .eq("contract_no", stockSaleReceiptReport1.getContractNo()).eq("delete_flag", "0"));
-            stockSaleReceiptReport1.setAmountIngReceivable(stockSaleReceiptReport.getSettlementWeight()* Float.valueOf(String.valueOf(contractManagementInfo.getUnitContractPrice())));
-            stockSaleReceiptReport1.setAmountNotReceivable(stockSaleReceiptReport1.getAmountIngReceivable()-stockSaleReceiptReport1.getAmountEdReceivable());
-            //更改销售出库报表信息
-            this.updateById(stockSaleReceiptReport1);
-            return "OK";
+            //修改重量
+            if ("1".equals(stockSaleReceiptReport.getFlag())) {
+                stockSaleReceiptReport1.setSettlementWeight(stockSaleReceiptReport.getSettlementWeight());
+//            ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+//                    .eq("contract_no", stockSaleReceiptReport1.getContractNo()).eq("delete_flag", "0"));
+//            stockSaleReceiptReport1.setAmountIngReceivable(stockSaleReceiptReport.getSettlementWeight()* Float.valueOf(String.valueOf(contractManagementInfo.getUnitContractPrice())));
+                stockSaleReceiptReport1.setAmountIngReceivable(stockSaleReceiptReport.getSettlementWeight() * stockSaleReceiptReport1.getSettlementPrice());
+                stockSaleReceiptReport1.setAmountNotReceivable(stockSaleReceiptReport1.getAmountIngReceivable() - stockSaleReceiptReport1.getAmountEdReceivable());
+                //更改销售出库报表信息
+                this.updateById(stockSaleReceiptReport1);
+                return "OK";
+            }
+            //修改单价
+            else{
+                stockSaleReceiptReport1.setSettlementPrice(stockSaleReceiptReport.getSettlementPrice());
+                stockSaleReceiptReport1.setAmountIngReceivable(stockSaleReceiptReport1.getSettlementWeight() * stockSaleReceiptReport.getSettlementPrice());
+                stockSaleReceiptReport1.setAmountNotReceivable(stockSaleReceiptReport1.getAmountIngReceivable() - stockSaleReceiptReport1.getAmountEdReceivable());
+                //更改销售出库报表信息
+                this.updateById(stockSaleReceiptReport1);
+                return "OK";
+            }
         }
         return "NG";
     }

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

@@ -497,11 +497,13 @@ public class TranProcessInfoServiceImpl extends ServiceImpl<TranProcessInfoMappe
                                         stockSaleReceiptReport.setNetWeight(tranCarInfo.getUnloadNetWeight());
                                         stockSaleReceiptReport.setSettlementWeight(tranCarInfo.getUnloadNetWeight());
                                         if(contractManagementInfo.getUnitContractPrice()!=null) {
+                                            stockSaleReceiptReport.setSettlementPrice(Float.valueOf(String.valueOf(contractManagementInfo.getUnitContractPrice())));
                                             stockSaleReceiptReport.setAmountIngReceivable(tranCarInfo.getUnloadNetWeight() *
                                                     (Float.valueOf(String.valueOf(contractManagementInfo.getUnitContractPrice()))));
                                         }
                                         //随行就市
                                         else {
+                                            stockSaleReceiptReport.setSettlementPrice(tranCarInfo.getContractPrice());
                                             stockSaleReceiptReport.setAmountIngReceivable(tranCarInfo.getUnloadNetWeight() *tranCarInfo.getContractPrice());
                                         }
                                         stockSaleReceiptReport.setAmountEdReceivable(0.0f);
@@ -527,11 +529,13 @@ public class TranProcessInfoServiceImpl extends ServiceImpl<TranProcessInfoMappe
                                         stockSaleReceiptReport.setNetWeight(tranCarInfo.getUnloadNetWeight());
                                         stockSaleReceiptReport.setSettlementWeight(tranCarInfo.getUnloadNetWeight());
                                         if(contractManagementInfo.getUnitContractPrice()!=null) {
+                                            stockSaleReceiptReport.setSettlementPrice(Float.valueOf(String.valueOf(contractManagementInfo.getUnitContractPrice())));
                                             stockSaleReceiptReport.setAmountIngReceivable(tranCarInfo.getUnloadNetWeight() *
                                                     (Float.valueOf(String.valueOf(contractManagementInfo.getUnitContractPrice()))));
                                         }
                                         //随行就市
                                         else {
+                                            stockSaleReceiptReport.setSettlementPrice(tranCarInfo.getContractPrice());
                                             stockSaleReceiptReport.setAmountIngReceivable(tranCarInfo.getUnloadNetWeight() *tranCarInfo.getContractPrice());
                                         }
                                         stockSaleReceiptReport.setAmountEdReceivable(0.0f);
@@ -558,11 +562,13 @@ public class TranProcessInfoServiceImpl extends ServiceImpl<TranProcessInfoMappe
                                         stockSaleReceiptReport.setNetWeight(tranCarInfo.getUnloadNetWeight());
                                         stockSaleReceiptReport.setSettlementWeight(tranCarInfo.getUnloadNetWeight());
                                         if(contractManagementInfo.getUnitContractPrice()!=null) {
+                                            stockSaleReceiptReport.setSettlementPrice(Float.valueOf(String.valueOf(contractManagementInfo.getUnitContractPrice())));
                                             stockSaleReceiptReport.setAmountIngReceivable(tranCarInfo.getUnloadNetWeight() *
                                                     (Float.valueOf(String.valueOf(contractManagementInfo.getUnitContractPrice()))));
                                         }
                                         //随行就市
                                         else {
+                                            stockSaleReceiptReport.setSettlementPrice(tranCarInfo.getContractPrice());
                                             stockSaleReceiptReport.setAmountIngReceivable(tranCarInfo.getUnloadNetWeight() *tranCarInfo.getContractPrice());
                                         }
                                         stockSaleReceiptReport.setAmountEdReceivable(0.0f);
@@ -590,11 +596,13 @@ public class TranProcessInfoServiceImpl extends ServiceImpl<TranProcessInfoMappe
                                         stockSaleReceiptReport.setNetWeight(tranCarInfo.getUnloadNetWeight());
                                         stockSaleReceiptReport.setSettlementWeight(tranCarInfo.getUnloadNetWeight());
                                         if(contractManagementInfo.getUnitContractPrice()!=null) {
+                                            stockSaleReceiptReport.setSettlementPrice(Float.valueOf(String.valueOf(contractManagementInfo.getUnitContractPrice())));
                                             stockSaleReceiptReport.setAmountIngReceivable(tranCarInfo.getUnloadNetWeight() *
                                                     (Float.valueOf(String.valueOf(contractManagementInfo.getUnitContractPrice()))));
                                         }
                                         //随行就市
                                         else {
+                                            stockSaleReceiptReport.setSettlementPrice(tranCarInfo.getContractPrice());
                                             stockSaleReceiptReport.setAmountIngReceivable(tranCarInfo.getUnloadNetWeight() *tranCarInfo.getContractPrice());
                                         }
                                         stockSaleReceiptReport.setAmountEdReceivable(0.0f);

+ 5 - 5
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/TranTaskInfoServiceImpl.java

@@ -161,11 +161,11 @@ public class TranTaskInfoServiceImpl extends ServiceImpl<TranTaskInfoMapper, Tra
             this.deleteById(tranTaskInfo.getId());
             //删除运输阶段信息
             tranProcessInfoService.deleteById(tranProcessInfos.get(0).getId());
-        if (!CollectionUtils.isEmpty(tranProcessInfos)) {
-            for (TranProcessInfo tranProcessInfo : tranProcessInfos) {
-                tranProcessInfoService.deleteById(tranProcessInfo.getId());
-                }
-            }
+//        if (!CollectionUtils.isEmpty(tranProcessInfos)) {
+//            for (TranProcessInfo tranProcessInfo : tranProcessInfos) {
+//                tranProcessInfoService.deleteById(tranProcessInfo.getId());
+//                }
+//            }
         }
     }
 

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

@@ -1,11 +1,12 @@
 package com.yh.saas.plugin.yiliangyiyun.service.impl;
 
 import com.alipay.sofa.runtime.api.annotation.SofaReference;
+import com.alipay.sofa.runtime.api.annotation.SofaService;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
-import com.fasterxml.jackson.databind.BeanProperty;
 import com.winsea.svc.base.base.entity.*;
 import com.winsea.svc.base.base.service.*;
+import com.winsea.svc.base.base.util.DateUtils;
 import com.winsea.svc.base.security.entity.User;
 import com.winsea.svc.base.security.util.AuthSecurityUtils;
 import com.yh.saas.common.support.util.IdGenerator;
@@ -13,6 +14,7 @@ import com.yh.saas.common.support.util.StringUtils;
 import com.yh.saas.plugin.yiliangyiyun.constant.NumberConstant;
 import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
 import com.yh.saas.plugin.yiliangyiyun.entity.*;
+import com.yh.saas.plugin.yiliangyiyun.entity.view.ExportVView;
 import com.yh.saas.plugin.yiliangyiyun.entity.view.WarehouseView;
 import com.yh.saas.plugin.yiliangyiyun.entity.view.WarehouseNumView;
 import com.yh.saas.plugin.yiliangyiyun.exception.YException;
@@ -20,13 +22,26 @@ import com.yh.saas.plugin.yiliangyiyun.exception.YExceptionEnum;
 import com.yh.saas.plugin.yiliangyiyun.mapper.WarehouseBaseInfoMapper;
 import com.yh.saas.plugin.yiliangyiyun.service.*;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.httpclient.util.DateUtil;
+import org.apache.poi.hssf.usermodel.*;
+import org.apache.poi.ss.usermodel.IndexedColors;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.ss.util.CellRangeAddress;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
+import javax.servlet.http.HttpServletResponse;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.IOException;
+import java.net.URLDecoder;
 import java.text.DecimalFormat;
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -38,7 +53,8 @@ import java.util.stream.Collectors;
  * @author Gongdc
  * @since 2021-05-21
  */
-@Service
+@SofaService
+@Slf4j
 public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoMapper, WarehouseBaseInfo> implements IWarehouseBaseInfoService {
 
     @Autowired
@@ -60,8 +76,6 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
     @Autowired
     private ISaleOrderService saleOrderService;
     @Autowired
-    private IPurchasePriceService purchasePriceService;
-    @Autowired
     private IContractGoodsInfoService contractGoodsInfoService;
     @Autowired
     private ITranCarInfoService tranCarInfoService;
@@ -73,12 +87,12 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
     private ITranTaskInfoService tranTaskInfoService;
     @Autowired
     private ITranProcessInfoService tranProcessInfoService;
-    @Autowired
-    private ICostManagementInfoService costManagementInfoService;
     @SofaReference
     private ICommonRoleResourceService roleResourceService;
     @Autowired
     private ITradeWarehouseReceiptApplService tradeWarehouseReceiptApplService;
+    @Value("${file-root-path}")
+    private String localPath;
 
     /**
      * 仓库管理页面列表
@@ -1352,4 +1366,596 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
         List<WarehouseBaseInfo> warehouseBaseInfoList=this.selectList(warehouseBaseInfoWrapper);
         return  warehouseBaseInfoList;
     }
+
+    @Override
+    public void export(WarehouseBaseInfo warehouseBaseInfo, HttpServletResponse response) throws Exception {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+
+        // 1.Excel的头部信息
+        String headerTitle = "";
+
+        // 2.创建一个webbook 对应一个Excel文件
+        HSSFWorkbook wb = new HSSFWorkbook();
+
+        // 3.在webbook中添加一个sheet,对应Excel文件中的sheet
+        HSSFSheet sheet;
+
+        sheet = wb.createSheet("付款信息");
+        headerTitle = "付款信息";
+
+        // 4.设置打印参数
+        sheet.setMargin(HSSFSheet.TopMargin, (short) 1);// 页边距(上)
+        sheet.setMargin(HSSFSheet.BottomMargin, (short) 1);// 页边距(下)
+        sheet.setMargin(HSSFSheet.LeftMargin, (short) 1);// 页边距(左)
+        sheet.setMargin(HSSFSheet.RightMargin, (short) 1);// 页边距(右)
+
+        // 不显示网格
+        sheet.setDisplayGridlines(false);
+        // 设置水平居中
+        sheet.setHorizontallyCenter(true);
+
+        /**************** 数据行样式 start ****************/
+        HSSFFont fontTitle = wb.createFont();
+        fontTitle.setFontName("宋体");
+        fontTitle.setFontHeightInPoints((short) 14);
+        // 设置字体加粗
+        fontTitle.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
+
+        HSSFFont fontComp = wb.createFont();
+        fontComp.setFontName("宋体");
+        fontComp.setFontHeightInPoints((short) 16);
+        // 设置字体加粗
+        fontComp.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
+
+        HSSFFont fontDetail = wb.createFont();
+        fontDetail.setFontName("宋体");
+        fontDetail.setFontHeightInPoints((short) 12);
+
+        // title
+        HSSFCellStyle styleTitle = wb.createCellStyle();
+        // 指定单元格居中对齐
+        styleTitle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
+        // 指定单元格垂直居中对齐
+        styleTitle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
+        // 指定单元格自动换行
+        styleTitle.setWrapText(true);
+        // 设置单元格字体
+        styleTitle.setFont(fontTitle);
+        // 右边框
+        styleTitle.setBorderRight(HSSFCellStyle.BORDER_NONE);
+        // 左边框
+        styleTitle.setBorderLeft(HSSFCellStyle.BORDER_NONE);
+        // 上边框
+        styleTitle.setBorderTop(HSSFCellStyle.BORDER_NONE);
+        // 下边框
+        styleTitle.setBorderBottom(HSSFCellStyle.BORDER_NONE);
+
+        // title
+        HSSFCellStyle styleComp = wb.createCellStyle();
+        // 指定单元格居中对齐
+        styleComp.setAlignment(HSSFCellStyle.ALIGN_CENTER);
+        // 指定单元格垂直居中对齐
+        styleComp.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
+        // 指定单元格自动换行
+        styleComp.setWrapText(true);
+        // 设置单元格字体
+        styleComp.setFont(fontComp);
+        // 右边框
+        styleComp.setBorderRight(HSSFCellStyle.BORDER_NONE);
+        // 左边框
+        styleComp.setBorderLeft(HSSFCellStyle.BORDER_NONE);
+        // 上边框
+        styleComp.setBorderTop(HSSFCellStyle.BORDER_NONE);
+        // 下边框
+        styleComp.setBorderBottom(HSSFCellStyle.BORDER_NONE);
+
+        HSSFCellStyle styleInfo = wb.createCellStyle();
+        // 指定单元格居中对齐
+        styleInfo.setAlignment(HSSFCellStyle.ALIGN_LEFT);
+        // 指定单元格垂直居中对齐
+        styleInfo.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
+        // 指定单元格自动换行
+        styleInfo.setWrapText(true);
+        // 设置单元格字体
+        styleInfo.setFont(fontDetail);
+        // 右边框
+        styleInfo.setBorderRight(HSSFCellStyle.BORDER_NONE);
+        // 左边框
+        styleInfo.setBorderLeft(HSSFCellStyle.BORDER_NONE);
+        // 上边框
+        styleInfo.setBorderTop(HSSFCellStyle.BORDER_NONE);
+        // 下边框
+        styleInfo.setBorderBottom(HSSFCellStyle.BORDER_NONE);
+
+        HSSFCellStyle styleDetail = wb.createCellStyle();
+        // 指定单元格居中对齐
+        styleDetail.setAlignment(HSSFCellStyle.ALIGN_CENTER);
+        // 指定单元格垂直居中对齐
+        styleDetail.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
+        // 指定单元格自动换行
+        styleDetail.setWrapText(true);
+        // 设置单元格字体
+        styleDetail.setFont(fontDetail);
+        // 右边框
+        styleDetail.setBorderRight(HSSFCellStyle.BORDER_THIN);
+        // 左边框
+        styleDetail.setBorderLeft(HSSFCellStyle.BORDER_THIN);
+        // 上边框
+        styleDetail.setBorderTop(HSSFCellStyle.BORDER_THIN);
+        // 下styleDetailTitle
+        styleDetail.setBorderBottom(HSSFCellStyle.BORDER_THIN);
+
+        HSSFCellStyle styleDetailYellow = wb.createCellStyle();
+        // 指定单元格居中对齐
+        styleDetailYellow.setAlignment(HSSFCellStyle.ALIGN_CENTER);
+        // 指定单元格垂直居中对齐
+        styleDetailYellow.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
+        // 指定单元格自动换行
+        styleDetailYellow.setWrapText(true);
+        // 设置单元格字体
+        styleDetailYellow.setFont(fontDetail);
+        // 右边框
+        styleDetailYellow.setBorderRight(HSSFCellStyle.BORDER_THIN);
+        // 左边框
+        styleDetailYellow.setBorderLeft(HSSFCellStyle.BORDER_THIN);
+        // 上边框
+        styleDetailYellow.setBorderTop(HSSFCellStyle.BORDER_THIN);
+        // 下styleDetailTitle
+        styleDetailYellow.setBorderBottom(HSSFCellStyle.BORDER_THIN);
+        styleDetailYellow.setFillForegroundColor(IndexedColors.YELLOW.getIndex());
+        styleDetailYellow.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
+
+
+        HSSFCellStyle styleDetailLeft = wb.createCellStyle();
+        // 指定单元格居中对齐
+        styleDetailLeft.setAlignment(HSSFCellStyle.ALIGN_LEFT);
+        // 指定单元格垂直居中对齐
+        styleDetailLeft.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
+        // 指定单元格自动换行
+        styleDetailLeft.setWrapText(true);
+        // 设置单元格字体
+        styleDetailLeft.setFont(fontDetail);
+        // 右边框
+        styleDetailLeft.setBorderRight(HSSFCellStyle.BORDER_THIN);
+        // 左边框
+        styleDetailLeft.setBorderLeft(HSSFCellStyle.BORDER_THIN);
+        // 上边框
+        styleDetailLeft.setBorderTop(HSSFCellStyle.BORDER_THIN);
+        // 下styleDetailTitle
+        styleDetailLeft.setBorderBottom(HSSFCellStyle.BORDER_THIN);
+        /**************** 数据行样式 end ****************/
+
+        // 设置列宽
+        sheet.setColumnWidth(0, 1 * 256 + 184);
+        sheet.setColumnWidth(1, 12 * 256 + 184);
+        sheet.setColumnWidth(2, 12 * 256 + 184);
+        sheet.setColumnWidth(3, 12 * 256 + 184);
+        sheet.setColumnWidth(4, 12 * 256 + 184);
+        sheet.setColumnWidth(5, 12 * 256 + 184);
+        sheet.setColumnWidth(6, 12 * 256 + 184);
+        sheet.setColumnWidth(7, 12 * 256 + 184);
+        sheet.setColumnWidth(8, 12 * 256 + 184);
+        sheet.setColumnWidth(9, 12 * 256 + 184);
+        sheet.setColumnWidth(10, 12 * 256 + 184);
+        sheet.setColumnWidth(11, 12 * 256 + 184);
+        sheet.setColumnWidth(12, 12 * 256 + 184);
+        sheet.setColumnWidth(13, 12 * 256 + 184);
+        sheet.setColumnWidth(14, 12 * 256 + 184);
+        sheet.setColumnWidth(15, 12 * 256 + 184);
+        sheet.setColumnWidth(16, 12 * 256 + 184);
+        sheet.setColumnWidth(17, 12 * 256 + 184);
+        sheet.setColumnWidth(18, 12 * 256 + 184);
+        sheet.setColumnWidth(19, 12 * 256 + 184);
+        sheet.setColumnWidth(20, 12 * 256 + 184);
+        sheet.setColumnWidth(21, 12 * 256 + 184);
+        sheet.setColumnWidth(22, 12 * 256 + 184);
+        sheet.setColumnWidth(23, 12 * 256 + 184);
+        sheet.setColumnWidth(24, 12 * 256 + 184);
+        sheet.setColumnWidth(25, 12 * 256 + 184);
+        sheet.setColumnWidth(26, 12 * 256 + 184);
+        sheet.setColumnWidth(27, 12 * 256 + 184);
+        sheet.setColumnWidth(28, 12 * 256 + 184);
+        sheet.setColumnWidth(29, 12 * 256 + 184);
+        sheet.setColumnWidth(30, 12 * 256 + 184);
+        sheet.setColumnWidth(31, 12 * 256 + 184);
+        sheet.setColumnWidth(32, 1 * 256 + 184);
+
+        // 创建单元格对象
+        HSSFCell cell = null;
+
+        // 创建打印设置对象
+        HSSFPrintSetup ps = sheet.getPrintSetup();
+        // 打印方向,true:横向,false:纵向(默认)
+        ps.setLandscape(false);
+        // // 打印质量
+        // ps.setVResolution((short) 700)
+        // 设置缩放比例
+        ps.setScale((short) 80);
+        // 纸张类型
+        ps.setPaperSize(HSSFPrintSetup.A4_PAPERSIZE);
+
+
+        int rownum = 1;
+        HSSFRow row0 = sheet.createRow((int) rownum);
+        row0.setHeightInPoints(25);
+        cell = row0.createCell(1);
+        cell.setCellStyle(styleTitle);
+        cell.setCellValue("付款信息");
+        sheet.addMergedRegion(new CellRangeAddress(rownum, rownum, (short) 1, (short) 22));
+        cell = row0.createCell(2);
+        cell.setCellStyle(styleTitle);
+        cell = row0.createCell(3);
+        cell.setCellStyle(styleTitle);
+        cell = row0.createCell(4);
+        cell.setCellStyle(styleTitle);
+        cell = row0.createCell(5);
+        cell.setCellStyle(styleTitle);
+        cell = row0.createCell(6);
+        cell.setCellStyle(styleTitle);
+        cell = row0.createCell(7);
+        cell.setCellStyle(styleTitle);
+        cell = row0.createCell(8);
+        cell.setCellStyle(styleTitle);
+        cell = row0.createCell(9);
+        cell.setCellStyle(styleTitle);
+        cell = row0.createCell(10);
+        cell.setCellStyle(styleTitle);
+        cell = row0.createCell(11);
+        cell.setCellStyle(styleTitle);
+        cell = row0.createCell(12);
+        cell.setCellStyle(styleTitle);
+        cell = row0.createCell(13);
+        cell.setCellStyle(styleTitle);
+        cell = row0.createCell(14);
+        cell.setCellStyle(styleTitle);
+        cell = row0.createCell(15);
+        cell.setCellStyle(styleTitle);
+        cell = row0.createCell(16);
+        cell.setCellStyle(styleTitle);
+        cell = row0.createCell(17);
+        cell.setCellStyle(styleTitle);
+        cell = row0.createCell(18);
+        cell.setCellStyle(styleTitle);
+        cell = row0.createCell(19);
+        cell.setCellStyle(styleTitle);
+        cell = row0.createCell(20);
+        cell.setCellStyle(styleTitle);
+        cell = row0.createCell(21);
+        cell.setCellStyle(styleTitle);
+        cell = row0.createCell(22);
+        cell.setCellStyle(styleTitle);
+        cell = row0.createCell(23);
+        cell.setCellStyle(styleTitle);
+        cell = row0.createCell(24);
+        cell.setCellStyle(styleTitle);
+        cell = row0.createCell(25);
+        cell.setCellStyle(styleTitle);
+        cell = row0.createCell(26);
+        cell.setCellStyle(styleTitle);
+        cell = row0.createCell(23);
+        cell.setCellStyle(styleTitle);
+        cell = row0.createCell(28);
+        cell.setCellStyle(styleTitle);
+        cell = row0.createCell(29);
+        cell.setCellStyle(styleTitle);
+        cell = row0.createCell(30);
+        cell.setCellStyle(styleTitle);
+        cell = row0.createCell(31);
+        cell.setCellStyle(styleTitle);
+        rownum++;
+
+        HSSFRow row1 = sheet.createRow((int) rownum);
+        row1.setHeightInPoints(30);
+        cell = row1.createCell(1);
+        cell.setCellValue("采购公司");
+        cell.setCellStyle(styleDetail);
+        cell = row1.createCell(2);
+        cell.setCellValue("收货仓库");
+        cell.setCellStyle(styleDetail);
+        cell = row1.createCell(3);
+        cell.setCellValue("仓位号");
+        cell.setCellStyle(styleDetail);
+        cell = row1.createCell(4);
+        cell.setCellValue("开票日期");
+        cell.setCellStyle(styleDetail);
+        cell = row1.createCell(5);
+        cell.setCellValue("合同编号");
+        cell.setCellStyle(styleDetail);
+        cell = row1.createCell(6);
+        cell.setCellValue("业务编号");
+        cell.setCellStyle(styleDetail);
+        cell = row1.createCell(7);
+        cell.setCellValue("客户");
+        cell.setCellStyle(styleDetail);
+        cell = row1.createCell(8);
+        cell.setCellValue("供应商");
+        cell.setCellStyle(styleDetail);
+        cell = row1.createCell(9);
+        cell.setCellValue("货名");
+        cell.setCellStyle(styleDetail);
+        cell = row1.createCell(10);
+        cell.setCellValue("类型");
+        cell.setCellStyle(styleDetail);
+        cell = row1.createCell(11);
+        cell.setCellValue("等级");
+        cell.setCellStyle(styleDetail);
+        cell = row1.createCell(12);
+        cell.setCellValue("水分");
+        cell.setCellStyle(styleDetail);
+        cell = row1.createCell(13);
+        cell.setCellValue("杂质");
+        cell.setCellStyle(styleDetail);
+        cell = row1.createCell(14);
+        cell.setCellValue("车牌号");
+        cell.setCellStyle(styleDetail);
+        cell = row1.createCell(15);
+        cell.setCellValue("箱号1");
+        cell.setCellStyle(styleDetail);
+        cell = row1.createCell(16);
+        cell.setCellValue("箱号2");
+        cell.setCellStyle(styleDetail);
+        cell = row1.createCell(17);
+        cell.setCellValue("封号1");
+        cell.setCellStyle(styleDetail);
+        cell = row1.createCell(18);
+        cell.setCellValue("封号2");
+        cell.setCellStyle(styleDetail);
+        cell = row1.createCell(19);
+        cell.setCellValue("净重单价");
+        cell.setCellStyle(styleDetail);
+        cell = row1.createCell(20);
+        cell.setCellValue("毛重");
+        cell.setCellStyle(styleDetail);
+        cell = row1.createCell(21);
+        cell.setCellValue("皮重");
+        cell.setCellStyle(styleDetail);
+        cell = row1.createCell(22);
+        cell.setCellValue("扣重");
+        cell.setCellStyle(styleDetail);
+        cell = row1.createCell(23);
+        cell.setCellValue("净重");
+        cell.setCellStyle(styleDetail);
+        cell = row1.createCell(24);
+        cell.setCellValue("扣单价");
+        cell.setCellStyle(styleDetail);
+        cell = row1.createCell(25);
+        cell.setCellValue("纯重单价");
+        cell.setCellStyle(styleDetail);
+        cell = row1.createCell(26);
+        cell.setCellValue("纯重");
+        cell.setCellStyle(styleDetail);
+        cell = row1.createCell(27);
+        cell.setCellValue("合计应付");
+        cell.setCellStyle(styleDetail);
+        cell = row1.createCell(28);
+        cell.setCellValue("实付金额");
+        cell.setCellStyle(styleDetail);
+        cell = row1.createCell(29);
+        cell.setCellValue("姓名");
+        cell.setCellStyle(styleDetail);
+        cell = row1.createCell(30);
+        cell.setCellValue("卡号");
+        cell.setCellStyle(styleDetail);
+        cell = row1.createCell(31);
+        cell.setCellValue("开户支行");
+        cell.setCellStyle(styleDetail);
+
+
+        rownum++;
+        DecimalFormat decimalFormat=new DecimalFormat(".00");
+        Map<String, Object> pageView = new HashMap<>();
+        //  公司ID
+        pageView.put("compId", AuthSecurityUtils.getCurrentUserInfo().getCompId());
+        pageView.put("startDate", warehouseBaseInfo.getStartDate());
+        pageView.put("endDate", warehouseBaseInfo.getEndDate());
+        pageView.put("warehouseName", warehouseBaseInfo.getWarehouseName());
+        // 查询服务商总数
+        List<ExportVView> dataList = baseMapper.getListByCondition(pageView);
+        // 详情信息
+        if (!CollectionUtils.isEmpty(dataList)) {
+            for (int i = 0; i < dataList.size(); i++) {
+                ExportVView exportVView = dataList.get(i);
+                HSSFRow rowx = sheet.createRow((int) rownum);
+                rowx.setHeightInPoints(20);
+                cell = rowx.createCell(1);
+                cell.setCellValue(exportVView.getCompName());
+                cell.setCellStyle(styleDetail);
+                cell = rowx.createCell(2);
+                cell.setCellValue(editString(exportVView.getWarehouseName()));
+                cell.setCellStyle(styleDetail);
+                cell = rowx.createCell(3);
+                cell.setCellValue(editString(exportVView.getBinNumber()));
+                cell.setCellStyle(styleDetail);
+                cell = rowx.createCell(4);
+                String date = addDateOneDay(exportVView.getCreateDate());
+                cell.setCellValue(date);
+                cell.setCellStyle(styleDetail);
+                cell = rowx.createCell(5);
+                cell.setCellValue(editString(exportVView.getContractNo()));
+                cell.setCellStyle(styleDetail);
+                cell = rowx.createCell(6);
+                cell.setCellValue(editString(exportVView.getPaymentNo()));
+                cell.setCellStyle(styleDetail);
+                cell = rowx.createCell(7);
+                cell.setCellValue(editString(exportVView.getCustomerName()));
+                cell.setCellStyle(styleDetail);
+                cell = rowx.createCell(8);
+                cell.setCellValue(editString(exportVView.getSupplier()));
+                cell.setCellStyle(styleDetail);
+                cell = rowx.createCell(9);
+                cell.setCellValue(editString(exportVView.getGoodsName()));
+                cell.setCellStyle(styleDetail);
+                cell = rowx.createCell(10);
+                cell.setCellValue(editString(exportVView.getType()));
+                cell.setCellStyle(styleDetail);
+                cell = rowx.createCell(11);
+                cell.setCellValue(editString(exportVView.getGrade()));
+                cell.setCellStyle(styleDetail);
+                cell = rowx.createCell(12);
+                cell.setCellValue(editString(exportVView.getWaterContent()));
+                cell.setCellStyle(styleDetail);
+                cell = rowx.createCell(13);
+                cell.setCellValue(editString(exportVView.getImpurity()));
+                cell.setCellStyle(styleDetail);
+                cell = rowx.createCell(14);
+                cell.setCellValue(editString(exportVView.getCarNo()));
+                cell.setCellStyle(styleDetail);
+                cell = rowx.createCell(15);
+                cell.setCellValue(editString(exportVView.getBoxNo()));
+                cell.setCellStyle(styleDetail);
+                cell = rowx.createCell(16);
+                cell.setCellValue(editString(exportVView.getBoxNoOther()));
+                cell.setCellStyle(styleDetail);
+                cell = rowx.createCell(17);
+                cell.setCellValue(editString(exportVView.getTitleNo()));
+                cell.setCellStyle(styleDetail);
+                cell = rowx.createCell(18);
+                cell.setCellValue(editString(exportVView.getTitleNoOther()));
+                cell.setCellStyle(styleDetail);
+                cell = rowx.createCell(19);
+                cell.setCellValue(new Formatter().format("%.3f", editFloat(exportVView.getNetWeightPrice())).toString());
+                cell.setCellStyle(styleDetail);
+                cell = rowx.createCell(20);
+                cell.setCellValue(editFloat(exportVView.getGrossWeight()));
+                cell.setCellStyle(styleDetail);
+                cell = rowx.createCell(21);
+                cell.setCellValue(editFloat(exportVView.getTare()));
+                cell.setCellStyle(styleDetail);
+                cell = rowx.createCell(22);
+                cell.setCellValue(editFloat(exportVView.getBuckleWeight()));
+                cell.setCellStyle(styleDetail);
+                cell = rowx.createCell(23);
+                cell.setCellValue(editFloat(exportVView.getNetWeight()));
+                cell.setCellStyle(styleDetail);
+                cell = rowx.createCell(24);
+                cell.setCellValue(editFloat(exportVView.getUnitDeduction()));
+                cell.setCellStyle(styleDetail);
+                cell = rowx.createCell(25);
+                cell.setCellValue(new Formatter().format("%.3f", editFloat(exportVView.getPureWeightPrice())).toString());
+                cell.setCellStyle(styleDetail);
+                cell = rowx.createCell(26);
+                cell.setCellValue(editFloat(exportVView.getPureWeight()));
+                cell.setCellStyle(styleDetail);
+                cell = rowx.createCell(27);
+                cell.setCellValue(new Formatter().format("%.2f", editFloat(exportVView.getAmountIngPayable())).toString());
+                cell.setCellStyle(styleDetail);
+                cell = rowx.createCell(28);
+                cell.setCellValue(new Formatter().format("%.2f", editFloat(exportVView.getAmountEdPayable())).toString());
+                cell.setCellStyle(styleDetail);
+                cell = rowx.createCell(29);
+                cell.setCellValue(editString(exportVView.getCustomerName()));
+                cell.setCellStyle(styleDetail);
+                cell = rowx.createCell(30);
+                cell.setCellValue(editString(exportVView.getCardNo()));
+                cell.setCellStyle(styleDetail);
+                cell = rowx.createCell(31);
+                cell.setCellValue(editString(exportVView.getBankDeposit() + "-" +exportVView.getBankDepositBranch()));
+                cell.setCellStyle(styleDetail);
+
+                rownum++;
+            }
+
+        }
+
+
+        String path = null;
+        String tempPath = null;
+        String excelPath = null;
+
+        try {
+
+            // 取得绝对路径
+            tempPath = URLDecoder.decode((localPath), "utf-8");
+
+            // EXCEL路径
+            excelPath = "/web/temp/pay/" + DateUtil.formatDate(new Date(), DateUtils.DATE_FMT_YYYYMMDD_NS) + '/'
+                    + UUID.randomUUID().toString().replaceAll("-", "");
+
+            path = tempPath + excelPath + '/' + "合同信息"
+                    + ".xls";
+
+        } catch (Exception e) {
+            log.debug(e.getMessage());
+        }
+        // 下载
+        download(path, response, wb);
+
+    }
+
+
+    private String addDateOneDay(Date date) {
+        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        sdf.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
+        return sdf.format(date);
+    }
+
+    /**
+     * 判断浮点数
+     *
+     * @param example
+     * @return
+     */
+    private Float editFloat(Float example) {
+        Float exampleOne = example != null ? example : 0f;
+        return exampleOne;
+    }
+
+    /**
+     * 判断字符串
+     *
+     * @param example
+     * @return
+     */
+    private String editString(String example) {
+        String exampleOne = example != null ? example : "";
+        return exampleOne;
+    }
+
+    /**
+     * 下载
+     *
+     * @param path
+     * @param response
+     */
+    private void download(String path, HttpServletResponse response, Workbook wb) {
+
+        try {
+
+            // path是指欲下载的文件的路径。
+            File file = new File(path);
+            // 取得文件名。
+            String fileName = file.getName();
+            // 给文件名编码
+            fileName = new String(fileName.getBytes("GBK"), "ISO-8859-1");
+
+            response.setContentType("application/vnd.ms-excel");
+            response.addHeader("Content-Disposition", "attachment;filename=" + fileName);
+
+            // 定义byte输出流
+            ByteArrayOutputStream out = new ByteArrayOutputStream();
+
+            // 写导出文件
+            wb.write(out);
+
+            // 取得模板文件中的数据
+            byte[] result = out.toByteArray();
+
+            // 设置输出数据类型
+            response.setContentType("application/vnd.ms-excel");
+            // 设置输出数据长度
+            response.setContentLength(result.length);
+
+            // 设置文件名称
+            response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
+            // 将文件流输出到画面
+            response.getOutputStream().write(result);
+
+            out.flush();
+            out.close();
+
+        } catch (IOException ex) {
+            log.debug(ex.getMessage());
+        }
+
+    }
 }

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

@@ -653,6 +653,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                             StockPurchaseReceiptReport stockPurchaseReceiptReport = new StockPurchaseReceiptReport();
                             stockPurchaseReceiptReport.setId(IdGenerator.generateUUID());
                             stockPurchaseReceiptReport.setCompId(warehouseBaseInfo.getCompId());
+                            stockPurchaseReceiptReport.setWarehouseRecordId(warehouseInOutInfo.getId());
                             stockPurchaseReceiptReport.setContractNo(warehouseInOutInfo.getContractNo());
                             stockPurchaseReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
                             stockPurchaseReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
@@ -725,6 +726,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                                     StockPurchaseReceiptReport stockPurchaseReceiptReport = new StockPurchaseReceiptReport();
                                     stockPurchaseReceiptReport.setId(IdGenerator.generateUUID());
                                     stockPurchaseReceiptReport.setCompId(warehouseBaseInfo.getCompId());
+                                    stockPurchaseReceiptReport.setWarehouseRecordId(warehouseInOutInfo.getId());
                                     stockPurchaseReceiptReport.setContractNo(warehouseBaseInfo1.getWarehouseName());
                                     stockPurchaseReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
                                     stockPurchaseReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
@@ -787,6 +789,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                             stockSaleReceiptReport.setGrossWeight(warehouseInOutInfo.getGrossWeight());
                             stockSaleReceiptReport.setTare(warehouseInOutInfo.getTare());
                             stockSaleReceiptReport.setNetWeight(-warehouseInOutInfo.getNetWeight());
+                            stockSaleReceiptReport.setSettlementPrice(Float.valueOf(String.valueOf(contractManagementInfo.getUnitContractPrice())));
                             stockSaleReceiptReport.setReturnDate(warehouseInOutInfo.getInOutDate());
                             stockSaleReceiptReport.setAmountIngReceivable(-warehouseInOutInfo.getNetWeight() * Float.valueOf(String.valueOf(contractManagementInfo.getUnitContractPrice())));
                             stockSaleReceiptReport.setSettlementWeight(-warehouseInOutInfo.getNetWeight());
@@ -1016,7 +1019,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                             stockSaleReceiptReport.setNetWeight(warehouseInOutInfo.getNetWeight());
                             stockSaleReceiptReport.setDeliveryDate(warehouseInOutInfo.getInOutDate());
                             stockSaleReceiptReport.setSettlementWeight(warehouseInOutInfo.getNetWeight());
-
+                            stockSaleReceiptReport.setSettlementPrice(Float.valueOf(String.valueOf(contractManagementInfo.getUnitContractPrice())));
                             stockSaleReceiptReport.setAmountIngReceivable(warehouseInOutInfo.getNetWeight() *
                                     (Float.valueOf(String.valueOf(contractManagementInfo.getUnitContractPrice()))));
                             stockSaleReceiptReport.setAmountEdReceivable(0.0f);
@@ -1110,6 +1113,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                             StockPurchaseReceiptReport stockPurchaseReceiptReport = new StockPurchaseReceiptReport();
                             stockPurchaseReceiptReport.setId(IdGenerator.generateUUID());
                             stockPurchaseReceiptReport.setCompId(warehouseBaseInfo.getCompId());
+                            stockPurchaseReceiptReport.setWarehouseRecordId(warehouseInOutInfo.getId());
                             stockPurchaseReceiptReport.setContractNo(contractManagementInfo.getContractNo());
                             stockPurchaseReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
                             stockPurchaseReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());

+ 1 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/StockSaleReceiptReportMapper.xml

@@ -63,6 +63,7 @@
         gross_weight as grossWeight,
         tare as tare,
         settlement_weight AS settlementWeight,
+        settlement_price AS settlementPrice,
         amount_ing_receivable as amountIngReceivable,
         amount_ed_receivable as amountEdReceivable,
         amount_not_receivable as amountNotReceivable,

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

@@ -20,4 +20,117 @@
           w.comp_id = #{compId}
           and w.warehouse_type="1"
     </select>
+    <!-- 获得导出列表 -->
+    <select id="getListByCondition" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.view.ExportVView">
+        SELECT
+        c.comp_name as compName,
+        a.warehouse_name as warehouseName,
+        '' as binNumber,
+        a.create_date as createDate,
+        a.contract_no as contractNo,
+        a.payment_no as paymentNo,
+        a.customer_name as customerName,
+        i.supplier as supplier,
+        a.goods_name as goodsName,
+        a.type as type,
+        q.grade as grade,
+        q.water_content as waterContent,
+        q.impurity as impurity,
+        a.car_no as carNo,
+        q.box_no as boxNo,
+        q.box_no_other as boxNoOther,
+        q.title_no as titleNo,
+        q.title_no_other as titleNoOther,
+        a.tidal_grain_price as netWeightPrice,
+        a.gross_weight/1000 as grossWeight,
+        a.tare/1000 as tare,
+        a.weight_deduction/1000 as buckleWeight,
+        a.net_weight/1000 as netWeight,
+        a.unit_deduction as unitDeduction,
+        a.solid_grain_price as pureWeightPrice,
+        a.pure_weight as pureWeight,
+        a.amount_ing_payable as amountIngPayable,
+        a.amount_ed_payable as amountEdPayable,
+        i.payee_name as payeeName,
+        i.bank_card as cardNo,
+        i.bank_deposit as bankDeposit,
+        i.bank_deposit_branch as bankDepositBranch
+        FROM payment_management a
+        left join quality_inspection_management q on q.relation_id = a.relation_id and q.comp_id = a.comp_id and q.delete_flag = 0
+        left join weighing_management w on w.relation_id = a.relation_id and w.comp_id = a.comp_id and w.delete_flag = 0
+        left join common_company c on c.comp_id = a.comp_id and c.delete_flag = 0
+        left join identity_authentication_info i on i.customer_name = a.customer_name
+        and i.customer_phone = a.customer_phone and i.customer_type_flag = 1 and i.delete_flag = 0 and i.cover = 0
+        left join common_company_identity cci on  cci.com_id = a.comp_id  and cci.delete_flag = 0
+        WHERE a.delete_flag = '0'
+        and cci.identity_id = i.id
+        AND a.comp_id = #{compId}
+        AND a.management_type = '1'
+        <if test="warehouseName != null and warehouseName != ''">
+            AND a.warehouse_name= #{warehouseName}
+        </if>
+        <if test="startDate != null">
+            AND (DATE_FORMAT(a.create_date,"%Y%m%d") &gt;=
+            DATE_FORMAT(#{startDate},"%Y%m%d"))
+        </if>
+        <if test="endDate != null">
+            AND (DATE_FORMAT(a.create_date,"%Y%m%d") &lt;=
+            DATE_FORMAT(#{endDate},"%Y%m%d"))
+        </if>
+        UNION ALL
+        SELECT
+        m.buyer as compName,
+        s.warehouse_name as warehouseName,
+        w.bin_number as binNumber,
+        s.create_date as createDate,
+        s.contract_no as contractNo,
+        '' as paymentNo,
+        m.seller as customerName,
+        '' as supplier,
+        g.goods_name as goodsName,
+        case when g.goods_name = '玉米(潮粮)' then '潮粮' else '干粮' end as type,
+        g.grade as grade,
+        g.water_content as waterContent,
+        g.impurity as impurity,
+        s.car_no as carNo,
+        w.box_no as boxNo,
+        w.box_no_other as boxNoOther,
+        w.title_no as titleNo,
+        w.title_no_other as titleNoOther,
+        m.unit_contract_price as netWeightPrice,
+        s.gross_weight as grossWeight,
+        s.tare as tare,
+        s.deduction_weight as buckleWeight,
+        s.net_weight as netWeight,
+        '' as unitDeduction,
+        '' as pureWeightPrice,
+        w.pure_weight as pureWeight,
+        s.amount_ing_payable as amountIngPayable,
+        s.amount_ed_payable as amountEdPayable,
+        i.payee_name as payeeName,
+        i.bank_card as cardNo,
+        i.bank_deposit as bankDeposit,
+        i.bank_deposit_branch as bankDepositBranch
+        FROM stock_purchase_receipt_report s
+        left join warehouse_in_out_info w on w.id = s.warehouse_record_id and w.delete_flag = 0
+        left join common_company c on c.comp_id = s.comp_id and c.delete_flag = 0
+        left join contract_management_info m on m.comp_id = s.comp_id and m.contract_no = s.contract_no and  c.delete_flag = 0
+        left join contract_goods_info g on m.id=g.contract_id and  g.delete_flag = 0
+        left join customer_info i on (i.comp_name = m.seller and customer_type='企业客户') or (i.customer_name = m.seller and customer_type='个人客户')
+        and i.customer_phone = m.seller_phone and i.delete_flag = 0
+        WHERE s.delete_flag = '0'
+        AND s.comp_id = #{compId}
+        <if test="warehouseName != null and warehouseName != ''">
+            AND s.warehouse_name= #{warehouseName}
+        </if>
+        <if test="startDate != null">
+            AND (DATE_FORMAT(s.create_date,"%Y%m%d") &gt;=
+            DATE_FORMAT(#{startDate},"%Y%m%d"))
+        </if>
+        <if test="endDate != null">
+            AND (DATE_FORMAT(s.create_date,"%Y%m%d") &lt;=
+            DATE_FORMAT(#{endDate},"%Y%m%d"))
+        </if>
+    </select>
 </mapper>