sgj
2025-12-30 8aa63aa8217650db291358b5a3ea939ce6bb484f
出入库修改提交
已添加4个文件
已修改5个文件
459 ■■■■■ 文件已修改
fzzy-igdss-core/src/main/java/com/fzzy/igds/data/InoutRecordDetailInExport.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/igds/data/InoutRecordDetailOutExport.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/igds/data/InoutRecordInExport.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/igds/data/InoutRecordOutExport.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportInDetail.view.xml 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportInDetailPR.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportOutDetail.view.xml 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportOutDetailPR.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/export/ReportController.java 176 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/igds/data/InoutRecordDetailInExport.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,45 @@
package com.fzzy.igds.data;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
 * å‡ºåº“明细报表、入库明细报表导出实体类
 *
 * @author sgj
 * @date 2025/12/30
 */
@Data
public class InoutRecordDetailInExport implements Serializable {
    @Excel(name = "收储公司",sort = 1)
    private String companyId; //收储公司
    @Excel(name = "库区名称",sort = 2)
    private String deptId;
    @Excel(name = "单据号",sort = 3)
    private String id;
    @Excel(name = "车牌号",sort = 4)
    private String plateNum;
    @Excel(name = "仓库",sort = 5)
    private String depotId;
    @Excel(name = "粮食品种",sort = 6)
    private String foodVariety;
    @Excel(name = "结算重量",sort = 7)
    private Double settleWeight = 0.0;
    @Excel(name = "入库重量",sort = 8)
    private Double recordWeight = 0.0;
    @Excel(name = "离库时间",sort = 9,dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date completeTime;
}
fzzy-igdss-core/src/main/java/com/fzzy/igds/data/InoutRecordDetailOutExport.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,45 @@
package com.fzzy.igds.data;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
 * å‡ºåº“明细报表、入库明细报表导出实体类
 *
 * @author sgj
 * @date 2025/12/30
 */
@Data
public class InoutRecordDetailOutExport implements Serializable {
    @Excel(name = "收储公司",sort = 1)
    private String companyId; //收储公司
    @Excel(name = "库区名称",sort = 2)
    private String deptId;
    @Excel(name = "单据号",sort = 3)
    private String id;
    @Excel(name = "车牌号",sort = 4)
    private String plateNum;
    @Excel(name = "仓库",sort = 5)
    private String depotId;
    @Excel(name = "粮食品种",sort = 6)
    private String foodVariety;
    @Excel(name = "结算重量",sort = 7)
    private Double settleWeight = 0.0;
    @Excel(name = "出库重量",sort = 8)
    private Double recordWeight = 0.0;
    @Excel(name = "离库时间",sort = 9,dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date completeTime;
}
fzzy-igdss-core/src/main/java/com/fzzy/igds/data/InoutRecordInExport.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,52 @@
package com.fzzy.igds.data;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
 * å‡ºåº“报表、入库报表导出实体类
 *
 * @author sgj
 * @date 2025/12/30
 */
@Data
public class InoutRecordInExport implements Serializable {
    @Excel(name = "单据号",sort = 1)
    private String id;
    @Excel(name = "车牌号",sort = 2)
    private String plateNum;
    @Excel(name = "仓库",sort = 3)
    private String depotId;
    @Excel(name = "粮食品种",sort = 4)
    private String foodVariety;
    @Excel(name = "毛重",sort = 5)
    private Double fullWeight = 0.0;
    @Excel(name = "皮重",sort = 6)
    private Double emptyWeight = 0.0;
    @Excel(name = "净重",sort = 7)
    private Double netWeight = 0.0;
    @Excel(name = "扣重",sort = 8)
    private Double deOther = 0.0;
    @Excel(name = "结算重量",sort = 9)
    private Double settleWeight = 0.0;
    @Excel(name = "入库重量",sort = 10)
    private Double recordWeight = 0.0;
    @Excel(name = "离库时间",sort = 11,dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date completeTime;
}
fzzy-igdss-core/src/main/java/com/fzzy/igds/data/InoutRecordOutExport.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,52 @@
package com.fzzy.igds.data;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
 * å‡ºåº“报表、入库报表导出实体类
 *
 * @author sgj
 * @date 2025/12/30
 */
@Data
public class InoutRecordOutExport implements Serializable {
    @Excel(name = "单据号",sort = 1)
    private String id;
    @Excel(name = "车牌号",sort = 2)
    private String plateNum;
    @Excel(name = "仓库",sort = 3)
    private String depotId;
    @Excel(name = "粮食品种",sort = 4)
    private String foodVariety;
    @Excel(name = "毛重",sort = 5)
    private Double fullWeight = 0.0;
    @Excel(name = "皮重",sort = 6)
    private Double emptyWeight = 0.0;
    @Excel(name = "净重",sort = 7)
    private Double netWeight = 0.0;
    @Excel(name = "扣重",sort = 8)
    private Double deOther = 0.0;
    @Excel(name = "结算重量",sort = 9)
    private Double settleWeight = 0.0;
    @Excel(name = "出库重量",sort = 10)
    private Double recordWeight = 0.0;
    @Excel(name = "离库时间",sort = 11,dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date completeTime;
}
fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportInDetail.view.xml
@@ -418,7 +418,25 @@
    var data = view.get("#dsQuery.data");
    view.get("#dsQuery").set("parameter",data).flushAsync();
};
query();</ClientEvent>
query();&#xD;
&#xD;
&#xD;
&#xD;
&#xD;
//追踪&#xD;
showImg = function(){&#xD;
    &#xD;
    var select = view.get(&quot;#dataGridMain2&quot;).get(&quot;selection&quot;);&#xD;
    if(select){&#xD;
        var user = encodeURIComponent(select.get(&quot;userName&quot;));&#xD;
        var plateNum = encodeURIComponent(select.get(&quot;plateNum&quot;));&#xD;
    &#xD;
        view.get(&quot;#iFrameImg&quot;).set(&quot;path&quot;, &quot;./basic/inout/inout-img?id=&quot; + select.get(&quot;id&quot;)+&quot;&amp;plateNum=&quot;+plateNum+&quot;&amp;user=&quot;+user);&#xD;
        view.get(&quot;#dialogImg&quot;).show();&#xD;
    }else{&#xD;
        $notify(&quot;请选择数据……&quot;);&#xD;
    }&#xD;
};</ClientEvent>
    <Property name="packages">font-awesome,css-common</Property>
    <DataSet id="dsMain">
      <Property name="dataType">[dtMain]</Property>
@@ -539,7 +557,7 @@
        <Button layoutConstraint="left">
          <ClientEvent name="onClick">var data = view.get(&quot;#dsQuery.data&quot;);&#xD;
var param = {&#xD;
    &quot;type&quot;:&quot;IN&quot;,&#xD;
    &quot;type&quot;:&quot;IN_DETAIL&quot;,&#xD;
    &quot;deptId&quot;:data.get(&quot;deptId&quot;),&#xD;
    &quot;companyId&quot;:data.get(&quot;companyId&quot;),&#xD;
    &quot;start&quot;:data.get(&quot;start&quot;),&#xD;
@@ -698,6 +716,7 @@
    arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
    //arg.processDefault = false;&#xD;
}</ClientEvent>
        <ClientEvent name="onDataRowClick">view.get(&quot;#dataGridMain2&quot;).set(&quot;selection&quot;,arg.data);</ClientEvent>
        <Property name="dataSet">dsMain</Property>
        <Property name="readOnly">true</Property>
        <Property name="highlightCurrentRow">false</Property>
@@ -705,6 +724,8 @@
        <Property name="hideMode">display</Property>
        <Property name="headerRowHeight">30</Property>
        <Property name="rowHeight">50</Property>
        <Property name="selectionMode">singleRow</Property>
        <RowSelectorColumn/>
        <RowNumColumn>
          <Property name="caption">序号</Property>
        </RowNumColumn>
@@ -764,7 +785,10 @@
          <Property name="width">150</Property>
        </DataColumn>
        <DataColumn>
          <ClientEvent name="onRenderCell">//arg.dom.innerHTML = &quot;&lt;a href='javascript:;' onClick='detail()' class='a-btn1'>查看详情&lt;/a>&quot;;</ClientEvent>
          <ClientEvent name="onRenderCell"> var txt = arg.data.getText(&quot;id&quot;);&#xD;
 if(!txt || txt == '合计') return true;&#xD;
 &#xD;
arg.dom.innerHTML = &quot;&lt;a href='javascript:;'  onClick='showImg()' class='a-btn1'>过程追溯&lt;/a>&quot;;</ClientEvent>
          <Property name="width">160</Property>
          <Property name="caption">操作</Property>
          <Property name="align">center</Property>
@@ -782,5 +806,18 @@
        </DataPilot>
      </ToolBar>
    </Container>
    <Dialog id="dialogImg">
      <Property name="width">55%</Property>
      <Property name="height">95%</Property>
      <Property name="iconClass">fa fa-tasks</Property>
      <Property name="caption">流程追溯展示</Property>
      <Buttons/>
      <Children>
        <IFrame id="iFrameImg">
          <Property name="width">100%</Property>
        </IFrame>
      </Children>
      <Tools/>
    </Dialog>
  </View>
</ViewConfig>
fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportInDetailPR.java
@@ -74,6 +74,8 @@
        }
        //查询入库数据
        param.setType(Constant.TYPE_IN);
        param.setProgress(Constant.PROGRESS_RECORD);
        param.setRecordStatus(Constant.RECORD_STATUS_NORMAL);
        //多参数分页查询
        com.baomidou.mybatisplus.extension.plugins.pagination.Page<InoutRecord> corePage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(0, 10000);
        //收储公司查询处理
fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportOutDetail.view.xml
@@ -185,7 +185,7 @@
        <Property></Property>
        <Property name="label">装卸仓库</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;depotPR#getAllCache&quot;).getResult()}</Property>
          <Property name="mapValues">${dorado.getDataProvider(&quot;depotPR#getData&quot;).getResult()}</Property>
          <Property name="keyProperty">id</Property>
          <Property name="valueProperty">name</Property>
        </Property>
@@ -320,7 +320,7 @@
        <Property></Property>
        <Property name="label">装卸仓库</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;depotPR#getAllCache&quot;).getResult()}</Property>
          <Property name="mapValues">${dorado.getDataProvider(&quot;depotPR#getData&quot;).getResult()}</Property>
          <Property name="keyProperty">id</Property>
          <Property name="valueProperty">name</Property>
        </Property>
@@ -417,7 +417,21 @@
    var data = view.get(&quot;#dsQuery.data&quot;);&#xD;
    view.get(&quot;#dsQuery&quot;).set(&quot;parameter&quot;,data).flushAsync();&#xD;
};&#xD;
query();</ClientEvent>
query();&#xD;
&#xD;
showImg = function(){&#xD;
    &#xD;
    var select = view.get(&quot;#dataGridMain2&quot;).get(&quot;selection&quot;);&#xD;
    if(select){&#xD;
        var user = encodeURIComponent(select.get(&quot;userName&quot;));&#xD;
        var plateNum = encodeURIComponent(select.get(&quot;plateNum&quot;));&#xD;
    &#xD;
        view.get(&quot;#iFrameImg&quot;).set(&quot;path&quot;, &quot;./basic/inout/inout-img?id=&quot; + select.get(&quot;id&quot;)+&quot;&amp;plateNum=&quot;+plateNum+&quot;&amp;user=&quot;+user);&#xD;
        view.get(&quot;#dialogImg&quot;).show();&#xD;
    }else{&#xD;
        $notify(&quot;请选择数据……&quot;);&#xD;
    }&#xD;
};</ClientEvent>
    <Property name="packages">font-awesome,css-common</Property>
    <DataSet id="dsMain">
      <Property name="dataType">[dtMain]</Property>
@@ -536,7 +550,7 @@
        <Button layoutConstraint="left">
          <ClientEvent name="onClick">var data = view.get(&quot;#dsQuery.data&quot;);&#xD;
var param = {&#xD;
    &quot;type&quot;:&quot;OUT&quot;,&#xD;
    &quot;type&quot;:&quot;OUT_DETAIL&quot;,&#xD;
    &quot;deptId&quot;:data.get(&quot;deptId&quot;),&#xD;
    &quot;companyId&quot;:data.get(&quot;companyId&quot;),&#xD;
    &quot;start&quot;:data.get(&quot;start&quot;),&#xD;
@@ -695,6 +709,7 @@
    arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
    //arg.processDefault = false;&#xD;
}</ClientEvent>
        <ClientEvent name="onDataRowClick">view.get(&quot;#dataGridMain2&quot;).set(&quot;selection&quot;,arg.data);</ClientEvent>
        <Property name="dataSet">dsMain</Property>
        <Property name="readOnly">true</Property>
        <Property name="highlightCurrentRow">false</Property>
@@ -702,6 +717,8 @@
        <Property name="hideMode">display</Property>
        <Property name="headerRowHeight">30</Property>
        <Property name="rowHeight">50</Property>
        <Property name="selectionMode">singleRow</Property>
        <RowSelectorColumn/>
        <RowNumColumn>
          <Property name="caption">序号</Property>
        </RowNumColumn>
@@ -761,7 +778,9 @@
          <Property name="width">150</Property>
        </DataColumn>
        <DataColumn>
          <ClientEvent name="onRenderCell">//arg.dom.innerHTML = &quot;&lt;a href='javascript:;' onClick='detail()' class='a-btn1'>查看详情&lt;/a>&quot;;</ClientEvent>
          <ClientEvent name="onRenderCell"> var txt = arg.data.getText(&quot;id&quot;);&#xD;
 if(!txt || txt == '合计') return true;&#xD;
arg.dom.innerHTML = &quot;&lt;a href='javascript:;'  onClick='showImg()' class='a-btn1'>过程追溯&lt;/a>&quot;;</ClientEvent>
          <Property name="width">160</Property>
          <Property name="caption">操作</Property>
          <Property name="align">center</Property>
@@ -779,5 +798,18 @@
        </DataPilot>
      </ToolBar>
    </Container>
    <Dialog id="dialogImg">
      <Property name="width">55%</Property>
      <Property name="height">95%</Property>
      <Property name="iconClass">fa fa-tasks</Property>
      <Property name="caption">流程追溯展示</Property>
      <Buttons/>
      <Children>
        <IFrame id="iFrameImg">
          <Property name="width">100%</Property>
        </IFrame>
      </Children>
      <Tools/>
    </Dialog>
  </View>
</ViewConfig>
fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportOutDetailPR.java
@@ -74,6 +74,8 @@
        }
        //查询出库数据
        param.setType(Constant.TYPE_OUT);
        param.setProgress(Constant.PROGRESS_RECORD);
        param.setRecordStatus(Constant.RECORD_STATUS_NORMAL);
        //多参数分页查询
        com.baomidou.mybatisplus.extension.plugins.pagination.Page<InoutRecord> corePage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(0, 10000);
        //收储公司查询处理
fzzy-igdss-view/src/main/java/com/fzzy/igds/export/ReportController.java
@@ -1,12 +1,8 @@
package com.fzzy.igds.export;
import com.fzzy.igds.ReportInDetailPR;
import com.fzzy.igds.ReportOutDetailPR;
import com.fzzy.igds.SuperInventoryReportPR;
import com.fzzy.igds.data.InoutParam;
import com.fzzy.igds.data.SuperInventoryReportData;
import com.fzzy.igds.data.SuperInventoryReportParam;
import com.fzzy.igds.*;
import com.fzzy.igds.data.*;
import com.fzzy.igds.domain.Company;
import com.fzzy.igds.domain.Depot;
import com.fzzy.igds.domain.Dept;
@@ -15,6 +11,7 @@
import com.fzzy.igds.utils.ContextUtil;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import org.springframework.beans.factory.annotation.Autowired;
@@ -24,9 +21,10 @@
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors;
/**
@@ -42,35 +40,37 @@
    @Resource
    private InoutRecordService inoutReportService;
    @Resource
    private SysDeptService sysDeptService;
    @Resource
    private CoreDeptService coreDeptService;
    @Resource
    private DepotService depotService;
    @Resource
    private CoreCompanyService coreCompanyService;
    @Autowired
    private ReportInDetailPR reportInDetailPR;
    @Autowired
    private ReportOutDetailPR reportOutDetailPR;
    @Autowired
    private SuperInventoryReportPR superInventoryReportPR;
    @Autowired
    private CompanyPR companyPR;
    @Autowired
    private DeptPR deptPR;
    @Autowired
    private DepotPR depotPR;
    @Autowired
    private DicPR dicPR;
    /**
     * å‡ºå…¥åº“报表导出
     *
     * @return
     */
    @RequestMapping("/inOutReport-excel")
@@ -80,32 +80,152 @@
        String sheetName = "报表数据";
        //查询数据
        List<InoutRecord> list = new ArrayList<>();
        if (StringUtils.isNotEmpty(param.getType()) && "IN".equals(param.getType())) {
            sheetName = "入库报表数据";
            list = reportInDetailPR.listRecord(param);
        }
        if (StringUtils.isNotEmpty(param.getType()) && "OUT".equals(param.getType())) {
            sheetName = "出库报表数据";
            list = reportOutDetailPR.listRecord(param);
        }
        //获取分库编码对应的分库名称
        String deptName = "";
        SysDept subDept = sysDeptService.getCacheDept(null, ContextUtil.subDeptId(null));
        if (null != subDept) {
            deptName = subDept.getDeptName();
        }
        //创建收储公司ID到名称的映射
        Map<String, String> companyMap = Optional.ofNullable(companyPR.getData())
                .orElse(new ArrayList<>())
                .stream()
                .collect(Collectors.toMap(Company::getId, Company::getDwmc, (key1, key2) -> key2));
        //创建所在库区ID到名称的映射
        Map<String, String> deptMap = Optional.ofNullable(deptPR.getAllData())
                .orElse(new ArrayList<>())
                .stream()
                .collect(Collectors.toMap(Dept::getId, Dept::getKqmc, (key1, key2) -> key2));
        // åˆ›å»ºä»“库ID到名称的映射
        Map<String, String> depotMap = Optional.ofNullable(depotPR.getData(null))
                .orElse(new ArrayList<>())
                .stream()
                .collect(Collectors.toMap(Depot::getId, Depot::getName, (key1, key2) -> key2));
        //创建粮食品种ID到名称的映射
        Map<String, String> foodVarietyMap = Optional.ofNullable(dicPR.sysDictData("FOOD_VARIETY_"))
                .orElse(new ArrayList<>())
                .stream()
                .collect(Collectors.toMap(SysDictData::getDictValue, SysDictData::getDictLabel, (key1, key2) -> key2));
        //导出
        ExcelUtil<InoutRecord> util = new ExcelUtil<InoutRecord>(InoutRecord.class);
        return util.exportExcel(list, sheetName, deptName);
        //组装实际导出数据
        if (StringUtils.isNotEmpty(param.getType()) && "IN".equals(param.getType())) {
            sheetName = "入库报表数据";
            list = reportInDetailPR.listRecord(param);
            List<InoutRecordInExport> exportList = new ArrayList<>();
            for (InoutRecord record : list) {
                InoutRecordInExport export = new InoutRecordInExport();
                export.setId(record.getId());
                export.setPlateNum(record.getPlateNum());
                // å°†ä»“库ID映射为仓库名称
                String depotNameValue = depotMap.get(record.getDepotId());
                export.setDepotId(depotNameValue != null ? depotNameValue : "");
                //粮食品种映射
                String foodVarietyNameValue = foodVarietyMap.get(record.getFoodVariety());
                export.setFoodVariety(foodVarietyNameValue != null ? foodVarietyNameValue : "");
                export.setFullWeight(record.getFullWeight());
                export.setEmptyWeight(record.getEmptyWeight());
                export.setNetWeight(record.getNetWeight());
                export.setSettleWeight(record.getSettleWeight());
                export.setRecordWeight(record.getRecordWeight());
                export.setCompleteTime(record.getCompleteTime());
                export.setDeOther(record.getDeOther());
                exportList.add(export);
            }
            ExcelUtil<InoutRecordInExport> util = new ExcelUtil<InoutRecordInExport>(InoutRecordInExport.class);
            return util.exportExcel(exportList, sheetName, deptName);
        }
        if (StringUtils.isNotEmpty(param.getType()) && "OUT".equals(param.getType())) {
            sheetName = "出库报表数据";
            list = reportOutDetailPR.listRecord(param);
            List<InoutRecordOutExport> exportList = new ArrayList<>();
            for (InoutRecord record : list) {
                InoutRecordOutExport export = new InoutRecordOutExport();
                export.setId(record.getId());
                export.setPlateNum(record.getPlateNum());
                // å°†ä»“库ID映射为仓库名称
                String depotNameValue = depotMap.get(record.getDepotId());
                export.setDepotId(depotNameValue != null ? depotNameValue : "");
                //粮食品种映射
                String foodVarietyNameValue = foodVarietyMap.get(record.getFoodVariety());
                export.setFoodVariety(foodVarietyNameValue != null ? foodVarietyNameValue : "");
                export.setFullWeight(record.getFullWeight());
                export.setEmptyWeight(record.getEmptyWeight());
                export.setNetWeight(record.getNetWeight());
                export.setSettleWeight(record.getSettleWeight());
                export.setRecordWeight(record.getRecordWeight());
                export.setCompleteTime(record.getCompleteTime());
                export.setDeOther(record.getDeOther());
                exportList.add(export);
            }
            ExcelUtil<InoutRecordOutExport> util = new ExcelUtil<InoutRecordOutExport>(InoutRecordOutExport.class);
            return util.exportExcel(exportList, sheetName, deptName);
        }
        if (StringUtils.isNotEmpty(param.getType()) && "IN_DETAIL".equals(param.getType())) {
            sheetName = "入库明细报表数据";
            list = reportInDetailPR.listRecord(param);
            List<InoutRecordDetailInExport> exportList = new ArrayList<>();
            for (InoutRecord record : list) {
                InoutRecordDetailInExport export = new InoutRecordDetailInExport();
                //收储公司映射
                String companyNameValue = companyMap.get(record.getCompanyId());
                export.setCompanyId(companyNameValue != null ? companyNameValue : "");
                //库区映射
                String deptNameValue = deptMap.get(record.getDeptId());
                export.setDeptId(deptNameValue != null ? deptNameValue : "");
                export.setId(record.getId());
                export.setPlateNum(record.getPlateNum());
                // å°†ä»“库ID映射为仓库名称
                String depotNameValue = depotMap.get(record.getDepotId());
                export.setDepotId(depotNameValue != null ? depotNameValue : "");
                //粮食品种映射
                String foodVarietyNameValue = foodVarietyMap.get(record.getFoodVariety());
                export.setFoodVariety(foodVarietyNameValue != null ? foodVarietyNameValue : "");
                export.setSettleWeight(record.getSettleWeight());
                export.setRecordWeight(record.getRecordWeight());
                export.setCompleteTime(record.getCompleteTime());
                exportList.add(export);
            }
            ExcelUtil<InoutRecordDetailInExport> util = new ExcelUtil<InoutRecordDetailInExport>(InoutRecordDetailInExport.class);
            return util.exportExcel(exportList, sheetName, deptName);
        }
        if (StringUtils.isNotEmpty(param.getType()) && "OUT_DETAIL".equals(param.getType())) {
            sheetName = "出库明细报表数据";
            list = reportOutDetailPR.listRecord(param);
            List<InoutRecordDetailOutExport> exportList = new ArrayList<>();
            for (InoutRecord record : list) {
                InoutRecordDetailOutExport export = new InoutRecordDetailOutExport();
                //收储公司映射
                String companyNameValue = companyMap.get(record.getCompanyId());
                export.setCompanyId(companyNameValue != null ? companyNameValue : "");
                //库区映射
                String deptNameValue = deptMap.get(record.getDeptId());
                export.setDeptId(deptNameValue != null ? deptNameValue : "");
                export.setId(record.getId());
                export.setPlateNum(record.getPlateNum());
                // å°†ä»“库ID映射为仓库名称
                String depotNameValue = depotMap.get(record.getDepotId());
                export.setDepotId(depotNameValue != null ? depotNameValue : "");
                //粮食品种映射
                String foodVarietyNameValue = foodVarietyMap.get(record.getFoodVariety());
                export.setFoodVariety(foodVarietyNameValue != null ? foodVarietyNameValue : "");
                export.setSettleWeight(record.getSettleWeight());
                export.setRecordWeight(record.getRecordWeight());
                export.setCompleteTime(record.getCompleteTime());
                exportList.add(export);
            }
            ExcelUtil<InoutRecordDetailOutExport> util = new ExcelUtil<InoutRecordDetailOutExport>(InoutRecordDetailOutExport.class);
            return util.exportExcel(exportList, sheetName, deptName);
        }
        return AjaxResult.error("参数错误");
    }
    /**
     * åº“存报表导出
     *
     * @return
     */
    @RequestMapping("/superInventoryReport-excel")