From 0d1b8d5609a0dfe7defd79dd6cf6db151413f1d3 Mon Sep 17 00:00:00 2001
From: sgj <1442489573@qq.com>
Date: 星期四, 25 十二月 2025 17:06:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 fzzy-igdss-web/src/main/java/com/fzzy/group/manager/GroupManager.java |  181 +++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 159 insertions(+), 22 deletions(-)

diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/group/manager/GroupManager.java b/fzzy-igdss-web/src/main/java/com/fzzy/group/manager/GroupManager.java
index adfc479..5247da8 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/group/manager/GroupManager.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/group/manager/GroupManager.java
@@ -1,15 +1,17 @@
 package com.fzzy.group.manager;
 
 import com.fzzy.igds.constant.Constant;
-import com.fzzy.igds.data.ChartPie;
-import com.fzzy.igds.data.GisData;
+import com.fzzy.igds.constant.FoodVariety;
+import com.fzzy.igds.constant.RespCodeEnum;
+import com.fzzy.igds.data.*;
 import com.fzzy.igds.domain.Depot;
 import com.fzzy.igds.domain.Dept;
 import com.fzzy.igds.domain.DicArea;
-import com.fzzy.igds.service.CoreDeptService;
-import com.fzzy.igds.service.DepotService;
-import com.fzzy.igds.service.DicAreaService;
+import com.fzzy.igds.domain.InoutRecord;
+import com.fzzy.igds.service.*;
 import com.fzzy.igds.utils.ContextUtil;
+import com.fzzy.igds.utils.DateUtil;
+import com.fzzy.igds.utils.NumberUtil;
 import com.ruoyi.common.utils.StringUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
@@ -33,6 +35,10 @@
     private CoreDeptService deptService;
     @Resource
     private DepotService depotService;
+    @Resource
+    private CoreCompanyService coreCompanyService;
+    @Resource
+    private InoutRecordService inoutRecordService;
 
     /**
      * 鑾峰彇鐪佸強涓嬪睘甯傚窞闆嗗悎
@@ -114,13 +120,144 @@
         return deptService.listDept(null, companyId, null);
     }
 
+
     /**
-     * 缁熻gis鏁版嵁锛屽彧缁熻鐧诲綍浜轰笅灞炵殑鏁版嵁缁熻
+     * 澶у睆棣栭〉缁熻淇℃伅锛氫紒涓氭暟銆佸簱鍖烘暟銆佷粨搴撴暟銆佽川鎶间粨鏁般�佹暎绮強鎴愬搧绮暟銆佸垎鍝佺搴撳瓨鏁�
+     *
+     * @param param
      * @return
      */
-    public GisData getGisData() {
+    public PageResponse<GroupIndexData> getGroupIndexData(IgdsBaseParam param) {
 
-        GisData gisData = new GisData();
+        GroupIndexData indexData = new GroupIndexData();
+
+        //浼佷笟鏁�
+        Integer companyNum = coreCompanyService.getCompanyNum(param.getCompanyId());
+        indexData.setCompanyNum(companyNum);
+
+        //搴撳尯鏁�
+        List<Dept> deptList = deptService.listDept(null, param.getCompanyId(), null);
+        if (null != deptList) {
+            indexData.setDeptNum(deptList.size());
+        }
+
+        ///浠撳簱鏁板強璐ㄦ娂浠撳簱鏁�
+        List<Depot> depotList = depotService.getCacheDepotList(param.getCompanyId());
+        if (null != depotList) {
+            Double foodSum = 0.0;
+            Double packFoodSum = 0.0;
+            indexData.setDepotNum(depotList.size());
+
+            //鐢ㄤ簬缁熻鍒嗗搧绉嶅簱瀛�
+            LinkedHashMap<String, Double> varietyMap = new LinkedHashMap<>();
+            for (Depot depot : depotList) {
+                if(StringUtils.isNotBlank(depot.getPledgeBank())){
+                    indexData.setDepotBankNum(indexData.getDepotBankNum() + 1);
+                }
+                if(null == depot.getStorageReal()){
+                    depot.setStorageReal(0.0);
+                }
+                if(StringUtils.isNotBlank(depot.getStoreType()) && "2".equals(depot.getStoreType())){
+                    packFoodSum += depot.getStorageReal()/1000;
+                }else {
+                    foodSum += depot.getStorageReal()/1000;
+                }
+
+                if(depot.getStorageReal() > 0){
+                    if(StringUtils.isBlank(depot.getFoodVariety())){
+                        //璁剧疆涓哄叾浠栧搧绫�
+                        depot.setFoodVariety("9999000");
+                    }
+
+                    varietyMap.putIfAbsent(depot.getFoodVariety(), 0.000);
+                    varietyMap.put(depot.getFoodVariety(), varietyMap.get(depot.getFoodVariety()) + NumberUtil.keepPrecision(depot.getStorageReal()/1000, 3));
+                }
+            }
+
+            for (String mapKey : varietyMap.keySet()) {
+                if (varietyMap.get(mapKey) <= 0) {
+                    continue;
+                }
+                indexData.getXaxis().add(FoodVariety.getMsg(mapKey));
+                indexData.getSeriesData().add(new DecimalFormat("0.000").format(varietyMap.get(mapKey)));
+            }
+            indexData.setFoodSum(new DecimalFormat("0.000").format(foodSum));
+            indexData.setPackFoodSum(new DecimalFormat("0.000").format(packFoodSum));
+        }
+
+        return new PageResponse<>(RespCodeEnum.CODE_0000, indexData);
+    }
+
+    /**
+     * 澶у睆棣栭〉-搴撳尯淇℃伅缁熻
+     * @param param
+     * @return
+     */
+    public PageResponse<List<GroupDeptData>> indexDeptList(IgdsBaseParam param) {
+
+        List<GroupDeptData> list = new ArrayList<>();
+        GroupDeptData deptData;
+        List<Dept> deptList = deptService.getDeptData();
+        if (null != deptList && !deptList.isEmpty()) {
+            List<Depot> depotList;
+            for (Dept dept : deptList) {
+                deptData = new GroupDeptData();
+                deptData.setDeptName(dept.getKqmc());
+                deptData.setCode(dept.getXzqhdm());
+                deptData.setCounty(dept.getXzqhmc());
+                deptData.setJd(dept.getJd());
+                deptData.setWd(dept.getWd());
+
+                //缁熻浠撳簱鏁�
+                depotList = depotService.getCacheDepotList(dept.getCompanyId(), dept.getId());
+                if (null != depotList && !depotList.isEmpty()) {
+                    for (Depot depot : depotList) {
+                        deptData.setDepotNumber(deptData.getDepotNumber() + 1);
+
+                        if(StringUtils.isNotBlank(depot.getPledgeBank())){
+                            deptData.setDepotBankNumber(deptData.getDepotBankNumber() + 1);
+                        }
+
+                        if(null == depot.getStorageReal()){
+                            depot.setStorageReal(0.0);
+                        }
+                        deptData.setStorageNum(deptData.getStorageNum() + depot.getStorageReal()/1000);
+                    }
+                }
+
+                //缁熻鍑哄叆搴撴暟閲�
+                InoutParam inoutParam = new InoutParam();
+                inoutParam.setDeptId(dept.getId());
+                inoutParam.setCompanyId(param.getCompanyId());
+                inoutParam.setStart(DateUtil.getCurZero(new Date()));
+                inoutParam.setEnd(DateUtil.getNextZero(new Date()));
+                List<InoutRecord> inoutRecords = inoutRecordService.listInout(inoutParam);
+                if (null != inoutRecords && !inoutRecords.isEmpty()) {
+                    for (InoutRecord inoutRecord : inoutRecords) {
+                        if (Constant.TYPE_IN.equals(inoutRecord.getType())) {
+                            deptData.setInNum(deptData.getInNum() + 1);
+                        }
+                        if (Constant.TYPE_OUT.equals(inoutRecord.getType())){
+                            deptData.setOutNum(deptData.getOutNum() + 1);
+
+                        }
+                    }
+                }
+                list.add(deptData);
+            }
+        }
+
+        return new PageResponse<>(RespCodeEnum.CODE_0000, list);
+    }
+
+    /**
+     * 缁熻gis鏁版嵁锛屽彧缁熻鐧诲綍浜轰笅灞炵殑鏁版嵁缁熻
+     *
+     * @return
+     */
+    public GroupGisData getGisData() {
+
+        GroupGisData groupGisData = new GroupGisData();
 
         //鏌ヨ浼婄妬涓嬪睘鍖哄幙
         //鍖哄幙
@@ -138,7 +275,7 @@
         List<Dept> deptList = deptService.getDeptData();
         if (null != deptList && !deptList.isEmpty()) {
             //搴撳尯鎬绘暟
-            gisData.setDeptNum(deptList.size());
+            groupGisData.setDeptNum(deptList.size());
             for (Dept dept : deptList) {
                 if (StringUtils.isBlank(dept.getXzqhdm()) || null == valuePieChart.get(dept.getXzqhdm())) {
                     if(null == valuePieChart.get("999999")){
@@ -151,33 +288,33 @@
             }
         }
 
-        if(gisData.getDeptNum() > 0){
+        if(groupGisData.getDeptNum() > 0){
             for (String mapKey : valuePieChart.keySet()) {
-                gisData.getDeptList().add(new ChartPie(valuePieChart.get(mapKey) + "", namePieChart.get(mapKey), new DecimalFormat("0.0").format((double)valuePieChart.get(mapKey) / gisData.getDeptNum() * 100)));
+                groupGisData.getDeptList().add(new ChartPie(valuePieChart.get(mapKey) + "", namePieChart.get(mapKey), new DecimalFormat("0.0").format((double)valuePieChart.get(mapKey) / groupGisData.getDeptNum() * 100)));
             }
         }
 
         //缁熻閲嶉噺
-        List<Depot> depotLisst = depotService.getData(ContextUtil.getCompanyId(), ContextUtil.subDeptId(null), false);
-        if (null != depotLisst && !depotLisst.isEmpty()) {
-            for (Depot depot : depotLisst) {
+        List<Depot> depotList = depotService.getData(ContextUtil.getCompanyId(), ContextUtil.subDeptId(null), false);
+        if (null != depotList && !depotList.isEmpty()) {
+            for (Depot depot : depotList) {
                 if(null == depot.getStorageReal()){
                     depot.setStorageReal(0.0);
                 }
-                gisData.setSum(gisData.getSum() + depot.getStorageReal());
+                groupGisData.setSum(groupGisData.getSum() + depot.getStorageReal());
                 if(StringUtils.isNotBlank(depot.getPledgeBank())){
-                    gisData.setBankSum(gisData.getBankSum() + depot.getStorageReal());
+                    groupGisData.setBankSum(groupGisData.getBankSum() + depot.getStorageReal());
                 }else{
-                    gisData.setNormalSum(gisData.getNormalSum() + depot.getStorageReal());
+                    groupGisData.setNormalSum(groupGisData.getNormalSum() + depot.getStorageReal());
                 }
             }
         }
-        if(gisData.getSum() > 0){
-            gisData.setSumPer(new DecimalFormat("0.00").format(gisData.getSum() / gisData.getSum() * 100L));
-            gisData.setBankSumPer(new DecimalFormat("0.00").format(gisData.getBankSum() / gisData.getSum() * 100L));
-            gisData.setNormalSumPer(new DecimalFormat("0.00").format(gisData.getNormalSum() / gisData.getSum() * 100L));
+        if(groupGisData.getSum() > 0){
+            groupGisData.setSumPer(new DecimalFormat("0.00").format(groupGisData.getSum() / groupGisData.getSum() * 100L));
+            groupGisData.setBankSumPer(new DecimalFormat("0.00").format(groupGisData.getBankSum() / groupGisData.getSum() * 100L));
+            groupGisData.setNormalSumPer(new DecimalFormat("0.00").format(groupGisData.getNormalSum() / groupGisData.getSum() * 100L));
         }
 
-        return gisData;
+        return groupGisData;
     }
 }

--
Gitblit v1.9.3