From 3d3477dc4a070a48e21f1625914f55a321a6c096 Mon Sep 17 00:00:00 2001
From: dy <dingyang@lnfxkj.tech>
Date: 星期三, 16 四月 2025 19:37:48 +0800
Subject: [PATCH] 焊缝统计图提交
---
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsWeldSeamMapper.java | 2
aps-modules/aps-core/src/main/resources/mapper/core/ApsWeldSeamMapper.xml | 13 +-----
aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsWeldSeam.java | 28 --------------
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsWeldSeamServiceImpl.java | 56 +++++++++++++++++++++------
4 files changed, 47 insertions(+), 52 deletions(-)
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsWeldSeam.java b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsWeldSeam.java
index 8ab9545..e32a1ab 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsWeldSeam.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsWeldSeam.java
@@ -1,7 +1,6 @@
package com.aps.core.domain;
import java.util.Date;
-import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
@@ -102,14 +101,6 @@
/** 宸ュ巶 */
// @Excel(name = "宸ュ巶")
private String plant;
-
- /** 缁熻鐢熶骇骞翠唤 */
- @Excel(name = "鐢熶骇骞翠唤List")
- private List<Long> produceYears;
-
- /** 缁熻鐢熶骇鏈堜唤 */
- @Excel(name = "鐢熶骇鏈堜唤List")
- private List<Long> produceMonths;
public void setId(String id)
{
@@ -321,25 +312,6 @@
return plant;
}
- public void setProduceYears(List<Long> produceYears)
- {
- this.produceYears = produceYears;
- }
-
- public List<Long> getProduceYears()
- {
- return produceYears;
- }
-
- public void setProduceMonths(List<Long> produceMonths)
- {
- this.produceMonths = produceMonths;
- }
-
- public List<Long> getProduceMonths()
- {
- return produceMonths;
- }
@Override
public String toString() {
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsWeldSeamMapper.java b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsWeldSeamMapper.java
index deb54db..9859ae7 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsWeldSeamMapper.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsWeldSeamMapper.java
@@ -74,6 +74,6 @@
List<ApsWeldSeamStatistics> weldSeamStat(List<ApsWeldSeamTemp> apsWeldSeamTemps);
- List<Map> weldSeamEcharts(ApsWeldSeam apsWeldSeam);
+ List<Map> weldSeamEcharts(List<ApsWeldSeam> apsWeldSeams);
int removeLastBatch();
}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsWeldSeamServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsWeldSeamServiceImpl.java
index 397dcd5..55d336c 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsWeldSeamServiceImpl.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsWeldSeamServiceImpl.java
@@ -17,6 +17,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -230,24 +231,22 @@
@Override
public List<List<String>> weldSeamEchartsList(ApsWeldSeam apsWeldSeam) {
+ List<ApsWeldSeam> queryDataList = new ArrayList<>();
Map<String, Object> params = apsWeldSeam.getParams();
if(ObjectUtils.isNotEmpty(params)){
String startDay = params.get("startDay").toString();
String endDay = params.get("endDay").toString();
- List<Long> produceYears = new ArrayList<>();
- List<Long> produceMonths = new ArrayList<>();
- String startQueryYear = startDay.substring(0,4);
- String endQueryYear = endDay.substring(0,4);
- String startQueryDay = startDay.substring(6,7);
- String endQueryDay = endDay.substring(6,7);
- produceYears.add(Long.valueOf(startQueryYear));
- produceYears.add(Long.valueOf(endQueryYear));
- produceMonths.add(Long.valueOf(startQueryDay));
- produceMonths.add(Long.valueOf(endQueryDay));
- apsWeldSeam.setProduceYears(produceYears);
- apsWeldSeam.setProduceMonths(produceMonths);
+ List<String> dateList = getMonthBetweenDate(startDay,endDay);
+ dateList.forEach(item->{
+ ApsWeldSeam weldSeam = new ApsWeldSeam();
+ String queryYear = item.substring(0,4);
+ String queryMonth = item.substring(6,7);
+ weldSeam.setProduceYear(Long.valueOf(queryYear));
+ weldSeam.setProduceMonth(Long.valueOf(queryMonth));
+ queryDataList.add(weldSeam);
+ });
}
- List<Map> mapList =apsWeldSeamMapper.weldSeamEcharts(apsWeldSeam);
+ List<Map> mapList =apsWeldSeamMapper.weldSeamEcharts(queryDataList);
Set monthSet=mapList.stream().map(e->e.get("produce_month").toString()).collect(Collectors.toSet());
List monthList = new ArrayList(monthSet);
Collections.sort(monthList);
@@ -289,4 +288,35 @@
});
return echartsList;
}
+
+ public static List<String> getMonthBetweenDate(String startTime, String endTime) {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
+ // 澹版槑淇濆瓨鏃ユ湡闆嗗悎
+ List<String> list = new ArrayList<>();
+ try {
+ // 杞寲鎴愭棩鏈熺被鍨�
+ Date startDate = sdf.parse(startTime);
+ Date endDate = sdf.parse(endTime);
+
+ //鐢–alendar 杩涜鏃ユ湡姣旇緝鍒ゆ柇
+ Calendar calendar = Calendar.getInstance();
+ while (startDate.getTime() <= endDate.getTime()) {
+
+ // 鎶婃棩鏈熸坊鍔犲埌闆嗗悎
+ list.add(sdf.format(startDate));
+
+ // 璁剧疆鏃ユ湡
+ calendar.setTime(startDate);
+
+ //鎶婃湀鏁板鍔� 1
+ calendar.add(Calendar.MONTH, 1);
+
+ // 鑾峰彇澧炲姞鍚庣殑鏃ユ湡
+ startDate = calendar.getTime();
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return list;
+ }
}
diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsWeldSeamMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsWeldSeamMapper.xml
index dfd139d..5770b88 100644
--- a/aps-modules/aps-core/src/main/resources/mapper/core/ApsWeldSeamMapper.xml
+++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsWeldSeamMapper.xml
@@ -184,16 +184,9 @@
AND classification.dict_type = 'aps_weld_classification'
<where>
seam.del_flag = '0'
- <if test="produceYears != null "> and produce_year in
- <foreach item="produceYear" collection="produceYears" open="(" separator="," close=")">
- #{produceYear}
- </foreach>
- </if>
- <if test="produceMonths != null "> and produce_month in
- <foreach item="produceMonth" collection="produceMonths" open="(" separator="," close=")">
- #{produceMonth}
- </foreach>
- </if>
+ <foreach item="item" index="index" collection="list" separator=" OR " open="and (" close=") ">
+ produce_year = #{item.produceYear} and produce_month = #{item.produceMonth}
+ </foreach>
</where>
GROUP BY
seam.produce_year,
--
Gitblit v1.9.3