From b688c3fe1ecdf645cbc8658139d29f1340acbf4e Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期二, 09 十二月 2025 15:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 fzzy-igdss-view/src/main/java/com/fzzy/igds/GrainReportPR.java |  131 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 131 insertions(+), 0 deletions(-)

diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/GrainReportPR.java b/fzzy-igdss-view/src/main/java/com/fzzy/igds/GrainReportPR.java
new file mode 100644
index 0000000..e562322
--- /dev/null
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/GrainReportPR.java
@@ -0,0 +1,131 @@
+package com.fzzy.igds;
+
+import com.bstek.dorado.annotation.DataProvider;
+import com.bstek.dorado.data.provider.Page;
+import com.fzzy.igds.constant.DepotType;
+import com.fzzy.igds.constant.FoodVariety;
+import com.fzzy.igds.data.GrainDataReport;
+import com.fzzy.igds.domain.DepotConf;
+import com.fzzy.igds.domain.Grain;
+import com.fzzy.igds.service.DepotConfService;
+import com.fzzy.igds.service.GrainService;
+import com.fzzy.igds.service.SysDeptService;
+import com.fzzy.igds.utils.ContextUtil;
+import com.fzzy.igds.utils.DateUtil;
+import com.fzzy.igds.utils.GrainDataBuilder;
+import com.ruoyi.common.core.domain.entity.SysDept;
+import org.apache.commons.lang3.time.DateFormatUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Component;
+import javax.annotation.Resource;
+import java.util.*;
+
+/**
+ * @Description 绮儏鎶ヨ〃椤甸潰鍏ュ彛
+ * @Author CZT
+ * @Date 2025/12/9 10:19
+ */
+@Component
+public class GrainReportPR {
+
+    @Resource
+    private GrainService grainService;
+    @Resource
+    private SysDeptService sysDeptService;
+    @Resource
+    private DepotConfService depotConfService;
+
+    /**
+     * grainReportPR#getQuery
+     * @return
+     */
+    @DataProvider
+    public Map<String, Object> getQuery() {
+        Map<String, Object> result = new HashMap<>();
+
+        SysDept subDept = sysDeptService.getCacheDept(null, ContextUtil.subDeptId(null));
+        result.put("title", "绮儏姹囨�昏〃");
+        if (null != subDept) {
+            result.put("title", subDept.getDeptName() + "绮儏姹囨�昏〃");
+            result.put("deptId", subDept.getDeptId());
+        }
+
+        result.put("timeDesc", "妫�娴嬫椂闂�");
+        result.put("depotNameLabel", "");
+        result.put("depotName", "");
+
+        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", DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
+
+        return result;
+    }
+
+    /**
+     * 绮儏鏁版嵁鎶ヨ〃鏁版嵁鍒嗛〉鏌ヨ锛屾煡璇㈡潯浠舵牴鎹�夋嫨鍏蜂綋鏃ユ湡鏌ヨ
+     * grainReportPR#getDataReport
+     *
+     * @param page
+     * @param param
+     */
+    @DataProvider
+    public void getDataReport(Page<GrainDataReport> page, Map<String, Object> param) {
+        com.baomidou.mybatisplus.extension.plugins.pagination.Page<Grain> corePage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page.getPageNo(), page.getPageSize());
+
+        if (null == param) {
+            param = new HashMap<>();
+        }
+        grainService.pageData(corePage, param);
+        List<Grain> records = corePage.getRecords();
+
+        // 鏄惁鍏佽閲嶅锛屽湪鎸夌収鏌愬ぉ鏌ヨ鎯呭喌锛屽彧鑾峰彇褰撳ぉ鏈�鍚庝竴鏉′俊鎭� 0= 涓嶅厑璁革紝1=鍏佽
+        String repeat = (String) param.get(("repeat"));
+        Map<String, String> tempMap = new HashMap<>();
+
+        // 璋冩暣鏁版嵁
+        int maxZ = 3;
+        int hour = 0;
+        List<GrainDataReport> dataList = new ArrayList<>();
+        GrainDataReport report;
+        DepotConf depotConf;
+        for (Grain grain : records) {
+
+            // 鍘婚櫎閲嶅
+            if (null != repeat && "0".equals(repeat)) {
+                if (null == tempMap.get(grain.getDepotId())) {
+                    tempMap.put(grain.getDepotId(), grain.getBatchId());
+                } else {
+                    continue;
+                }
+            }
+            report = new GrainDataReport();
+            BeanUtils.copyProperties(grain, report);
+
+            // 璋冩暣绫诲瀷瀛楁鏄剧ず涓枃
+            report.setDepotTypeName(DepotType.getMsg(report.getDepotType()));
+            report.setFoodVariety(FoodVariety.getMsg(report.getFoodVariety()));
+
+            if (report.getMaxZ() > maxZ) {
+                maxZ = report.getMaxZ();
+            }
+            report.setMaxZ(maxZ);
+
+            depotConf = depotConfService.getCacheDepotConfByDepotId(grain.getCompanyId(), grain.getDepotId());
+            GrainDataBuilder.updateReport(report, depotConf);
+
+            dataList.add(report);
+        }
+
+        // 閲嶆柊灏佽
+        page.setEntities(dataList);
+        page.setEntityCount(Integer.parseInt(String.valueOf(corePage.getTotal())));
+    }
+
+}

--
Gitblit v1.9.3