czt
2026-01-19 ac44ace07789c84c3a2612555417c58a3593a027
细节调整3
已重命名1个文件
已删除4个文件
已修改7个文件
已添加1个文件
1333 ■■■■■ 文件已修改
fzzy-igdss-view/src/main/java/com/fzzy/igds/Company.view.xml 290 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/FileUploadManage.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/Patrol.view.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContract.view.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportInDetail.view.xml 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportInDetailPR.java 139 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportInoutPR.java 209 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportOutDetail.view.xml 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportOutDetailPR.java 139 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportStore.view.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/SuperInventoryReportPR.java 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/export/ReportController.java 250 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/java/com/fzzy/common/ExportController.java 166 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/Company.view.xml
@@ -339,10 +339,10 @@
        </DataColumn>
      </DataGrid>
    </Container>
    <Dialog id="dialogMain">
      <Property name="width">70%</Property>
      <Property name="caption">收储公司信息</Property>
    <Dialog id="dialogMain" layout="regionPadding:8">
      <Property name="closeable">false</Property>
      <Property name="caption">收储公司信息</Property>
      <Property name="width">80%</Property>
      <Property name="iconClass">fa fa-tasks</Property>
      <Property name="height">90%</Property>
      <Buttons>
@@ -370,147 +370,149 @@
        </Button>
      </Buttons>
      <Children>
        <AutoForm>
          <Property name="dataSet">dsMain</Property>
          <Property name="cols">*,*,*</Property>
          <Property name="labelAlign">right</Property>
          <Property name="labelSeparator"> : </Property>
          <Property name="labelWidth">120</Property>
          <AutoFormElement layoutConstraint="colSpan:2">
            <Property name="name">dwmc</Property>
            <Property name="property">dwmc</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">id</Property>
            <Property name="property">id</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">dwdm</Property>
            <Property name="property">dwdm</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">dwlx</Property>
            <Property name="property">dwlx</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">dwzt</Property>
            <Property name="property">dwzt</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">zcrq</Property>
            <Property name="property">zcrq</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">zczb</Property>
            <Property name="property">zczb</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">zcze</Property>
            <Property name="property">zcze</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">fddbr</Property>
            <Property name="property">fddbr</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">frsfzh</Property>
            <Property name="property">frsfzh</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">frlxfs</Property>
            <Property name="property">frlxfs</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">qylxr</Property>
            <Property name="property">qylxr</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">bgdh</Property>
            <Property name="property">bgdh</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">dzyx</Property>
            <Property name="property">dzyx</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement layoutConstraint="colSpan:2">
            <Property name="name">zcdz</Property>
            <Property name="property">zcdz</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">yzbm</Property>
            <Property name="property">yzbm</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement layoutConstraint="colSpan:2">
            <Property name="name">qygfwzdz</Property>
            <Property name="property">qygfwzdz</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">czhm</Property>
            <Property name="property">czhm</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">xzqhmc</Property>
            <Property name="property">xzqhmc</Property>
            <Property name="trigger">ddFoodOrigin</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">xzqhdm</Property>
            <Property name="property">xzqhdm</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">kqs</Property>
            <Property name="property">kqs</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">jd</Property>
            <Property name="property">jd</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">wd</Property>
            <Property name="property">wd</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">updateTime</Property>
            <Property name="property">updateTime</Property>
            <Editor/>
          </AutoFormElement>
          <Link>
            <Property name="href">https://lbs.amap.com/tools/picker</Property>
            <Property name="target">_blank</Property>
            <Property name="style">
              <Property name="padding-left">150px</Property>
            </Property>
            <Property name="text">帮助:点击坐标位置拾取</Property>
          </Link>
          <AutoFormElement layoutConstraint="colSpan:2">
            <Property name="name">remark</Property>
            <Property name="property">remark</Property>
            <Editor/>
          </AutoFormElement>
        </AutoForm>
        <Container>
          <AutoForm>
            <Property name="dataSet">dsMain</Property>
            <Property name="cols">*,*,*</Property>
            <Property name="labelAlign">right</Property>
            <Property name="labelSeparator"> : </Property>
            <Property name="labelWidth">120</Property>
            <AutoFormElement layoutConstraint="colSpan:2">
              <Property name="name">dwmc</Property>
              <Property name="property">dwmc</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">id</Property>
              <Property name="property">id</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">dwdm</Property>
              <Property name="property">dwdm</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">dwlx</Property>
              <Property name="property">dwlx</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">dwzt</Property>
              <Property name="property">dwzt</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">zcrq</Property>
              <Property name="property">zcrq</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">zczb</Property>
              <Property name="property">zczb</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">zcze</Property>
              <Property name="property">zcze</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">fddbr</Property>
              <Property name="property">fddbr</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">frsfzh</Property>
              <Property name="property">frsfzh</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">frlxfs</Property>
              <Property name="property">frlxfs</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">qylxr</Property>
              <Property name="property">qylxr</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">bgdh</Property>
              <Property name="property">bgdh</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">dzyx</Property>
              <Property name="property">dzyx</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement layoutConstraint="colSpan:2">
              <Property name="name">zcdz</Property>
              <Property name="property">zcdz</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">yzbm</Property>
              <Property name="property">yzbm</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement layoutConstraint="colSpan:2">
              <Property name="name">qygfwzdz</Property>
              <Property name="property">qygfwzdz</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">czhm</Property>
              <Property name="property">czhm</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">xzqhmc</Property>
              <Property name="property">xzqhmc</Property>
              <Property name="trigger">ddFoodOrigin</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">xzqhdm</Property>
              <Property name="property">xzqhdm</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">kqs</Property>
              <Property name="property">kqs</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">jd</Property>
              <Property name="property">jd</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">wd</Property>
              <Property name="property">wd</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">updateTime</Property>
              <Property name="property">updateTime</Property>
              <Editor/>
            </AutoFormElement>
            <Link>
              <Property name="href">https://lbs.amap.com/tools/picker</Property>
              <Property name="target">_blank</Property>
              <Property name="style">
                <Property name="padding-left">150px</Property>
              </Property>
              <Property name="text">帮助:点击坐标位置拾取</Property>
            </Link>
            <AutoFormElement layoutConstraint="colSpan:2">
              <Property name="name">remark</Property>
              <Property name="property">remark</Property>
              <Editor/>
            </AutoFormElement>
          </AutoForm>
        </Container>
      </Children>
      <Tools/>
    </Dialog>
fzzy-igdss-view/src/main/java/com/fzzy/igds/FileUploadManage.java
@@ -97,4 +97,35 @@
        return newFileName;
    }
    /**
     * ä¸Šä¼ å‡ºå…¥åº“导入Excel模板
     * fileUploadManage#uploadExcel
     * @param file
     * @param parameter
     * @return
     */
    @FileResolver
    public String uploadExcel(UploadFile file, Map<String, Object> parameter) {
        String newFileName = null;
        try {
            String basePath = fileService.getFileSavePath("TEMP");
            newFileName = DateFormatUtils.format(new Date(), "yyyyMMddHHmmss");
            newFileName = "EXCEL" + "_" + newFileName;
            // æ–‡ä»¶åŽç¼€å
            String suffixName = file.getFileName().substring(file.getFileName().lastIndexOf("."));
            // åˆæˆæ–°çš„æ–‡ä»¶å
            newFileName = newFileName + suffixName;
            file.transferTo(new File(basePath + newFileName));
        } catch (IllegalStateException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return newFileName;
    }
}
fzzy-igdss-view/src/main/java/com/fzzy/igds/Patrol.view.xml
@@ -102,7 +102,7 @@
    <Container>
      <Property name="className">c-param</Property>
      <AutoForm>
        <Property name="cols">*,*,*,*,90,90,120</Property>
        <Property name="cols">*,*,280,280,90,90,120</Property>
        <Property name="dataSet">dsParam</Property>
        <Property name="labelAlign">right</Property>
        <Property name="labelWidth">100</Property>
fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContract.view.xml
@@ -182,7 +182,7 @@
      </Buttons>
      <Children>
        <Container>
          <AutoForm layoutConstraint="top ">
          <AutoForm layoutConstraint="top">
            <Property name="dataSet">dsMain</Property>
            <Property name="showHint">false</Property>
            <Property name="cols">210,*,210</Property>
fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportInDetail.view.xml
@@ -418,7 +418,8 @@
&#xD;
//默认查询查询提条件&#xD;
view.get(&quot;#dsQuery&quot;).insert({&#xD;
    deptId:deptId&#xD;
      deptId:deptId,&#xD;
      type:&quot;IN&quot;&#xD;
});&#xD;
&#xD;
query = function(){&#xD;
@@ -438,7 +439,7 @@
        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;#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;
@@ -447,12 +448,12 @@
    <Property name="packages">font-awesome,css-common</Property>
    <DataSet id="dsMain">
      <Property name="dataType">[dtMain]</Property>
      <Property name="dataProvider">reportInDetailPR#listRecord</Property>
      <Property name="dataProvider">reportInoutPR#listRecord</Property>
      <Property name="loadMode">manual</Property>
    </DataSet>
    <DataSet id="dsQuery">
      <Property name="dataType">dtQuery</Property>
      <Property name="dataProvider">reportInDetailPR#getQuery</Property>
      <Property name="dataProvider">reportInoutPR#getQueryInout</Property>
      <Property></Property>
      <Property name="loadMode">manual</Property>
    </DataSet>
@@ -515,7 +516,7 @@
    &quot;start&quot;:data.get(&quot;start&quot;),&#xD;
    &quot;end&quot;:data.get(&quot;end&quot;)&#xD;
}&#xD;
window.parent.$.table.exportExcelDorado(&quot;./export/inOutReport-excel&quot;, &quot;入库数据&quot;, param);</ClientEvent>
window.parent.$.table.exportExcelDorado(&quot;./export/inout-excel&quot;, &quot;入库数据&quot;, param);</ClientEvent>
          <Property name="caption">导出EXCEL</Property>
          <Property name="exClassName">btn-q2</Property>
          <Property name="width">140</Property>
@@ -585,7 +586,7 @@
    &quot;start&quot;:data.get(&quot;start&quot;),&#xD;
    &quot;end&quot;:data.get(&quot;end&quot;)&#xD;
}&#xD;
window.parent.$.table.exportExcelDorado(&quot;./export/inOutReport-excel&quot;, &quot;入库数据&quot;, param);</ClientEvent>
window.parent.$.table.exportExcelDorado(&quot;./export/inout-excel&quot;, &quot;入库数据&quot;, param);</ClientEvent>
          <Property name="caption">导出EXCEL</Property>
          <Property name="exClassName">btn-q2</Property>
          <Property name="width">140</Property>
fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportInDetailPR.java
ÎļþÒÑɾ³ý
fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportInoutPR.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,209 @@
package com.fzzy.igds;
import com.bstek.dorado.annotation.DataProvider;
import com.fzzy.igds.constant.Constant;
import com.fzzy.igds.data.InoutParam;
import com.fzzy.igds.data.SuperInventoryReportData;
import com.fzzy.igds.data.SuperInventoryReportParam;
import com.fzzy.igds.domain.InoutRecord;
import com.fzzy.igds.service.InoutRecordService;
import com.fzzy.igds.service.SuperInventoryReportService;
import com.fzzy.igds.service.SysDeptService;
import com.fzzy.igds.utils.ContextUtil;
import com.fzzy.igds.utils.DateUtil;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.utils.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.*;
/**
 * @Description  å‡ºå…¥åº“相关报表
 * @Author CZT
 * @Date 2025/12/29 10:32
 */
@Component
public class ReportInoutPR {
    @Resource
    private InoutRecordService inoutReportService;
    @Resource
    private SysDeptService sysDeptService;
    @Resource
    private SuperInventoryReportService superInventoryReportService;
    /**
     * reportInoutPR#getQueryInout
     *
     * @param
     * @return
     */
    @DataProvider
    public Map<String, Object> getQueryInout(InoutParam param) {
        Map<String, Object> result = new HashMap<String, Object>();
        //获取参数中报表类型
        String type = param.getType();
        //获取参数中分库编码
        String deptId = param.getDeptId();
        result.put("deptId", deptId);
        //获取分库编码对应的分库名称
        String deptName = "";
        SysDept subDept = sysDeptService.getCacheDept(null, ContextUtil.subDeptId(null));
        if (null != subDept) {
            deptName = subDept.getDeptName();
        }
        String title = "汇总表";
        if ("IN".equals(type)) {
            title= deptName + "入库明细汇总";
        }
        if ("OUT".equals(type)) {
            title= deptName + "出库明细汇总";
        }
        if ("STORE".equals(type)) {
            title= deptName + "库存汇总表";
        }
        result.put("end", new Date());
        Date start = DateUtil.getNewByDay(new Date(), -30);
        result.put("start", start);
        result.put("timeDesc",
                DateFormatUtils.format(start, "yyyy-MM-dd") + "   è‡³   "
                        + DateFormatUtils.format(new Date(), "yyyy-MM-dd"));
        result.put("createUser", ContextUtil.getLoginUserName());
        result.put("createTime", new Date());
        result.put("title", title);
        return result;
    }
    /**
     * reportInoutPR#getQuery æ ¹æ®æŠ¥è¡¨ç±»åž‹ï¼ŒèŽ·å–é»˜è®¤æŸ¥è¯¢ä¿¡æ¯ï¼Œæ¯”å¦‚è¡¨å¤´ä¿¡æ¯ç­‰
     *
     * @param
     * @return
     */
    @DataProvider
    public Map<String, Object> getQueryStore(SuperInventoryReportParam param) {
        Map<String, Object> result = new HashMap<String, Object>();
        //获取参数中分库编码
        String deptId = param.getDeptId();
        result.put("deptId", deptId);
        //获取分库编码对应的分库名称
        String deptName = "";
        SysDept subDept = sysDeptService.getCacheDept(null, ContextUtil.subDeptId(null));
        if (null != subDept) {
            deptName = subDept.getDeptName();
        }
        String title = deptName + "库存汇总表";
        result.put("end", new Date());
        Date start = DateUtil.getNewByDay(new Date(), -30);
        result.put("start", start);
        result.put("timeDesc",
                DateFormatUtils.format(start, "yyyy-MM-dd") + "   è‡³   "
                        + DateFormatUtils.format(new Date(), "yyyy-MM-dd"));
        result.put("createUser", ContextUtil.getLoginUserName());
        result.put("createTime", new Date());
        result.put("title", title);
        return result;
    }
    /**
     * å‡ºå…¥åº“汇总表
     * reportInoutPR#listRecord æŠ¥è¡¨æ•°æ®ï¼ŒåªèŽ·å–å·²ç»å®Œæˆçš„ï¼Œå¹¶ä¸”éžå¼‚å¸¸æ•°æ®å’Œåˆ é™¤æ•°æ®
     *
     * @param param
     * @return
     */
    @DataProvider
    public List<InoutRecord> listRecord(InoutParam param) {
        if (null == param) {
            param = new InoutParam();
        }
        //查询入库数据
        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);
        //收储公司查询处理
        if(StringUtils.isNotEmpty(param.getDeptId()) && StringUtils.isNotEmpty(param.getCompanyId())){
            String substring = param.getDeptId().substring(0, (param.getDeptId().length() - 3));
            if (!substring.equals(param.getCompanyId())){
                return new ArrayList<InoutRecord>();
            }
        }
        if(StringUtils.isEmpty(param.getDeptId())){
            param.setDeptId(param.getCompanyId());
        }
        param.setCompanyId(null);
        inoutReportService.listPageInout(corePage, param);
        //获取查询到得list数据
        List<InoutRecord> result = corePage.getRecords();
        if (null == result || result.isEmpty()) {
            return result;
        }
        // æ·»åŠ ç»Ÿè®¡ä¿¡æ¯
        double emptyWeightSum = 0.0, fullWeightSum = 0.0, deCheck = 0.0, addCheck = 0.0, deWetSum = 0.0, deImpuritySum = 0.0, deHandleSum = 0.0, deOtherSum = 0.0, deSumSum = 0.0, netWeightSum = 0.0, settleWeightSum = 0.0;
        int index = 1;
        List<InoutRecord> list = new ArrayList<>();
        for (InoutRecord record : result) {
            if(StringUtils.isNotBlank(record.getDeptId())){
                record.setCompanyId(record.getDeptId().substring(0,(record.getDeptId().length()-3)));
            }
            list.add(record);
            record.setRemarks(String.valueOf(index));
            emptyWeightSum += record.getEmptyWeight();
            fullWeightSum += record.getFullWeight();
            deOtherSum += record.getDeOther();
            netWeightSum += record.getNetWeight();
            settleWeightSum += record.getSettleWeight();
            index++;
        }
        InoutRecord sum = new InoutRecord();
        sum.setId("合计");
        sum.setEmptyWeight(emptyWeightSum);
        sum.setFullWeight(fullWeightSum);
        sum.setDeOther(deOtherSum);
        sum.setNetWeight(netWeightSum);
        sum.setSettleWeight(settleWeightSum);
        if (sum.getNoticeId() == null) sum.setNoticeId("");
        if (sum.getDepotId() == null) sum.setDepotId("");
        if (sum.getProgress() == null) sum.setProgress("");
        if (sum.getUserName() == null) sum.setUserName("");
        if (sum.getPlateNum() == null) sum.setPlateNum("");
        if (sum.getFoodVariety() == null) sum.setFoodVariety("");
        list.add(sum);
        return list;
    }
    /**
     * reportInoutPR#getStoreData
     *
     * @param param
     */
    @DataProvider
    public List<SuperInventoryReportData> getStoreData(SuperInventoryReportParam param) {
        if (null == param) {
            param = new SuperInventoryReportParam();
        }
        return superInventoryReportService.listSuperInventoryReportData(param);
    }
}
fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportOutDetail.view.xml
@@ -417,7 +417,8 @@
&#xD;
//默认查询查询提条件&#xD;
view.get(&quot;#dsQuery&quot;).insert({&#xD;
    deptId:deptId&#xD;
      deptId:deptId,&#xD;
      type:&quot;OUT&quot;&#xD;
});&#xD;
&#xD;
query = function(){&#xD;
@@ -433,7 +434,7 @@
        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;#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;
@@ -442,12 +443,12 @@
    <Property name="packages">font-awesome,css-common</Property>
    <DataSet id="dsMain">
      <Property name="dataType">[dtMain]</Property>
      <Property name="dataProvider">reportOutDetailPR#listRecord</Property>
      <Property name="dataProvider">reportInoutPR#listRecord</Property>
      <Property name="loadMode">manual</Property>
    </DataSet>
    <DataSet id="dsQuery">
      <Property name="dataType">dtQuery</Property>
      <Property name="dataProvider">reportOutDetailPR#getQuery</Property>
      <Property name="dataProvider">reportInoutPR#getQueryInout</Property>
      <Property></Property>
      <Property name="loadMode">manual</Property>
    </DataSet>
@@ -509,7 +510,7 @@
    &quot;start&quot;:data.get(&quot;start&quot;),&#xD;
    &quot;end&quot;:data.get(&quot;end&quot;)&#xD;
}&#xD;
window.parent.$.table.exportExcelDorado(&quot;./export/inOutReport-excel&quot;, &quot;出库数据&quot;, param);</ClientEvent>
window.parent.$.table.exportExcelDorado(&quot;./export/inout-excel&quot;, &quot;出库数据&quot;, param);</ClientEvent>
          <Property name="caption">导出EXCEL</Property>
          <Property name="exClassName">btn-q2</Property>
          <Property name="width">140</Property>
@@ -577,7 +578,7 @@
    &quot;start&quot;:data.get(&quot;start&quot;),&#xD;
    &quot;end&quot;:data.get(&quot;end&quot;)&#xD;
}&#xD;
window.parent.$.table.exportExcelDorado(&quot;./export/inOutReport-excel&quot;, &quot;出库数据&quot;, param);</ClientEvent>
window.parent.$.table.exportExcelDorado(&quot;./export/inout-excel&quot;, &quot;出库数据&quot;, param);</ClientEvent>
          <Property name="caption">导出EXCEL</Property>
          <Property name="exClassName">btn-q2</Property>
          <Property name="width">140</Property>
fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportOutDetailPR.java
ÎļþÒÑɾ³ý
fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportStore.view.xml
ÎļþÃû´Ó fzzy-igdss-view/src/main/java/com/fzzy/igds/SuperInventoryReport.view.xml ÐÞ¸Ä
@@ -135,14 +135,14 @@
    <Property name="packages">font-awesome,css-common</Property>
    <DataSet id="dsMain">
      <Property name="dataType">[dtMain]</Property>
      <Property name="dataProvider">superInventoryReportPR#getReportData</Property>
      <Property name="dataProvider">reportInoutPR#getStoreData</Property>
      <Property name="loadMode">manual</Property>
    </DataSet>
    <DataSet id="dsQuery">
      <Property name="dataType">dtQuery</Property>
      <Property></Property>
      <Property name="loadMode">manual</Property>
      <Property name="dataProvider">superInventoryReportPR#getQuery</Property>
      <Property name="dataProvider">reportInoutPR#getQueryStore</Property>
    </DataSet>
    <DataSet id="dsDeptList">
      <Property name="dataProvider">deptPR#getDeptByUserType</Property>
@@ -200,7 +200,7 @@
    &quot;start&quot;:data.get(&quot;start&quot;),&#xD;
    &quot;end&quot;:data.get(&quot;end&quot;)&#xD;
}&#xD;
window.parent.$.table.exportExcelDorado(&quot;./export/superInventoryReport-excel&quot;, &quot;库存数据&quot;, param);</ClientEvent>
window.parent.$.table.exportExcelDorado(&quot;./export/storage-excel&quot;, &quot;库存数据&quot;, param);</ClientEvent>
          <Property name="caption">导出EXCEL</Property>
          <Property name="exClassName">btn-q2</Property>
          <Property name="width">140</Property>
fzzy-igdss-view/src/main/java/com/fzzy/igds/SuperInventoryReportPR.java
ÎļþÒÑɾ³ý
fzzy-igdss-view/src/main/java/com/fzzy/igds/export/ReportController.java
ÎļþÒÑɾ³ý
fzzy-igdss-web/src/main/java/com/fzzy/common/ExportController.java
@@ -1,13 +1,12 @@
package com.fzzy.common;
import com.fzzy.common.manager.ExportManager;
import com.fzzy.igds.ReportInDetailPR;
import com.fzzy.igds.ReportOutDetailPR;
import com.fzzy.igds.SuperInventoryReportPR;
import com.fzzy.igds.data.ExportWordParam;
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.constant.FoodVariety;
import com.fzzy.igds.data.*;
import com.fzzy.igds.domain.Company;
import com.fzzy.igds.domain.Depot;
import com.fzzy.igds.domain.Dept;
import com.fzzy.igds.domain.InoutRecord;
import com.fzzy.igds.service.SysDeptService;
import com.fzzy.igds.utils.ContextUtil;
@@ -24,6 +23,9 @@
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors;
/**
 * @Description  æ•°æ®å¯¼å‡ºå…¥å£
@@ -45,6 +47,12 @@
    private ReportOutDetailPR reportOutDetailPR;
    @Resource
    private SuperInventoryReportPR superInventoryReportPR;
    @Resource
    private CompanyPR companyPR;
    @Resource
    private DeptPR deptPR;
    @Resource
    private DepotPR depotPR;
    /**
     * å¯¼å‡ºword并下载
@@ -90,31 +98,145 @@
    @RequestMapping("/inout-excel")
    @ResponseBody
    public AjaxResult inOutExcel(InoutParam param) {
        //设置标题
//设置标题
        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));
        //导出
        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 = FoodVariety.getMsg(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 = FoodVariety.getMsg(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 = FoodVariety.getMsg(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 = FoodVariety.getMsg(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("参数错误");
    }
    /**