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