Jelajahi Sumber

项目数量分析

sunhh 2 tahun lalu
induk
melakukan
d6f533e606

+ 19 - 0
purchase-system/src/main/java/com/ozs/pm/mapper/PmDemandMapper.java

@@ -227,4 +227,23 @@ public interface PmDemandMapper extends BaseMapper<PmDemand> {
      * @return
      */
     Map<String, String> purchaseProjectDistribution(PmDemandReqVo pmDemandReqVo);
+
+    /**
+     * 项目数量分析--年
+     * @param pmDemandReqVo
+     * @return
+     */
+    List<Map<String, String>> purchaseProjectNumberAnalysisYear(PmDemandReqVo pmDemandReqVo);
+    /**
+     * 项目数量分析--季度
+     * @param pmDemandReqVo
+     * @return
+     */
+    List<Map<String, String>> purchaseProjectNumberAnalysisQuarter(PmDemandReqVo pmDemandReqVo);
+    /**
+     * 项目数量分析--月份
+     * @param pmDemandReqVo
+     * @return
+     */
+    List<Map<String, String>> purchaseProjectNumberAnalysisMonth(PmDemandReqVo pmDemandReqVo);
 }

+ 41 - 3
purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandServiceImpl.java

@@ -1813,15 +1813,53 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
             Calendar calendar = Calendar.getInstance();
             int year = calendar.get(Calendar.YEAR);
             // 获取统计数据
-
+            // 获取项目统计
+            List<Map<String, String>> listMap = pmDemandMapper.purchaseProjectNumberAnalysisYear(pmDemandReqVo);
+            mapReturn.addAll(listMap);
+            for (int i = minYear; i <= year; i++) {
+                for (Map<String, String> map : listMap) {
+                    if (i != Integer.valueOf(map.get("yy"))) {
+                        Map<String, String> map1 = new HashMap<>();
+                        map1.put("yy", i + "");
+                        map1.put("countNum", 0 + "");
+                        mapReturn.add(map1);
+                    }
+                }
+            }
         } else if ("2".equals(pmDemandReqVo.getTimeType())) {
             // 当前年份季度统计
             // 获取统计数据
-
+            List<Map<String, String>> listMap = pmDemandMapper.purchaseProjectNumberAnalysisQuarter(pmDemandReqVo);
+            mapReturn.addAll(listMap);
+            for (int i = 1; i <= 4; i++) {
+                for (Map<String, String> map : listMap) {
+                    int ii = Integer.parseInt(String.valueOf(map.get("yy")));
+                    map.put("yy", ii + "");
+                    if (i != ii) {
+                        Map<String, String> map1 = new HashMap<>();
+                        map1.put("yy", i + "");
+                        map1.put("countNum", 0 + "");
+                        mapReturn.add(map1);
+                    }
+                }
+            }
         } else if ("3".equals(pmDemandReqVo.getTimeType())) {
             // 当前年份月份统计
             // 获取统计数据
-
+            List<Map<String, String>> listMap = pmDemandMapper.purchaseProjectNumberAnalysisMonth(pmDemandReqVo);
+            mapReturn.addAll(listMap);
+            for (int i = 1; i <= 12; i++) {
+                for (Map<String, String> map : listMap) {
+                    int ii = Integer.parseInt(String.valueOf(map.get("yy")));
+                    map.put("yy", ii + "");
+                    if (i != ii) {
+                        Map<String, String> map1 = new HashMap<>();
+                        map1.put("yy", i + "");
+                        map1.put("countNum", 0 + "");
+                        mapReturn.add(map1);
+                    }
+                }
+            }
         }
         return mapReturn;
     }

+ 23 - 0
purchase-system/src/main/resources/mapper/pm/PmDemandMapper.xml

@@ -303,4 +303,27 @@
             #{item}
         </foreach>
     </select>
+
+    <select id="purchaseProjectNumberAnalysisYear" parameterType="com.ozs.pm.doman.vo.requestVo.PmDemandReqVo"
+            resultType="java.util.Map">
+        select count(demand_id) countNum, year(plan_demand_sub_time) yy
+        from pm_demand
+        group by year (plan_demand_sub_time)
+    </select>
+
+    <select id="purchaseProjectNumberAnalysisQuarter" parameterType="com.ozs.pm.doman.vo.requestVo.PmDemandReqVo"
+            resultType="java.util.Map">
+        select count(demand_id) countNum, quarter(plan_demand_sub_time) yy
+        from pm_demand
+        where year (plan_demand_sub_time) = year(NOW())
+        group by concat(Year (plan_demand_sub_time), quarter(plan_demand_sub_time))
+    </select>
+
+    <select id="purchaseProjectNumberAnalysisMonth" parameterType="com.ozs.pm.doman.vo.requestVo.PmDemandReqVo"
+            resultType="java.util.Map">
+        select count(demand_id) countNum, date_format(plan_demand_sub_time, '%m') yy
+        from pm_demand
+        where year(plan_demand_sub_time) = year(NOW())
+        group by date_format(plan_demand_sub_time, '%y%m')
+    </select>
 </mapper>