From 83a348d85de2c04183211b0f464f82c33a77deea Mon Sep 17 00:00:00 2001
From: dy <dingyang@lnfxkj.tech>
Date: 星期三, 16 四月 2025 17:27:57 +0800
Subject: [PATCH] 焊缝统计表提交
---
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsWeldSeamMapper.java | 4 +
aps-modules/aps-core/src/main/resources/mapper/core/ApsWeldSeamMapper.xml | 36 ++++++++++++
aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsWeldSeam.java | 36 ++++++++++--
aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsWeldSeamController.java | 10 +++
aps-modules/aps-core/src/main/java/com/aps/core/service/IApsWeldSeamService.java | 2
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsWeldSeamServiceImpl.java | 67 ++++++++++++++++++++++
6 files changed, 148 insertions(+), 7 deletions(-)
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsWeldSeamController.java b/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsWeldSeamController.java
index 50e8760..ccaa95c 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsWeldSeamController.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsWeldSeamController.java
@@ -170,4 +170,14 @@
public AjaxResult confirmWeldSeam(@RequestBody ApsWeldSeamTemp apsWeldSeamTemp) {
return toAjax(apsWeldSeamService.confirmWeldSeam(apsWeldSeamTemp));
}
+
+ /**
+ * 鏌ヨ鐒婄紳鍥捐〃
+ */
+ @RequiresPermissions("weldSeam:weldSeam:weldSeamEchartsList")
+ @GetMapping("/weldSeamEchartsList")
+ public AjaxResult weldSeamEchartsList(ApsWeldSeam apsWeldSeam) {
+ List<List<String>> list = apsWeldSeamService.weldSeamEchartsList(apsWeldSeam);
+ return AjaxResult.success(list);
+ }
}
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 d828866..8ab9545 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,6 +1,8 @@
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;
import org.apache.commons.lang3.builder.ToStringStyle;
@@ -97,15 +99,17 @@
@Excel(name = "鎬荤剨缂�")
private Long totalWeldSeam;
-
-
-
-
-
-
/** 宸ュ巶 */
// @Excel(name = "宸ュ巶")
private String plant;
+
+ /** 缁熻鐢熶骇骞翠唤 */
+ @Excel(name = "鐢熶骇骞翠唤List")
+ private List<Long> produceYears;
+
+ /** 缁熻鐢熶骇鏈堜唤 */
+ @Excel(name = "鐢熶骇鏈堜唤List")
+ private List<Long> produceMonths;
public void setId(String id)
{
@@ -317,6 +321,26 @@
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() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
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 11e6cb0..53f1360 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
@@ -1,6 +1,8 @@
package com.aps.core.mapper;
import java.util.List;
+import java.util.Map;
+
import com.aps.core.domain.ApsWeldSeam;
import com.aps.core.domain.ApsWeldSeamStatistics;
import com.aps.core.domain.ApsWeldSeamTemp;
@@ -71,4 +73,6 @@
public int deleteApsWeldSeamByIds(String[] ids);
List<ApsWeldSeamStatistics> weldSeamStat(List<ApsWeldSeamTemp> apsWeldSeamTemps);
+
+ List<Map> weldSeamEcharts(ApsWeldSeam apsWeldSeam);
}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsWeldSeamService.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsWeldSeamService.java
index 0b590cc..6d2c8d0 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsWeldSeamService.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsWeldSeamService.java
@@ -61,4 +61,6 @@
public int deleteApsWeldSeamById(String id);
int confirmWeldSeam(ApsWeldSeamTemp apsWeldSeamTemp);
+
+ List<List<String>> weldSeamEchartsList(ApsWeldSeam apsWeldSeam);
}
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 417fdf7..b6217a2 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,7 +17,8 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
/**
* 鐒婄紳Service涓氬姟灞傚鐞�
@@ -224,4 +225,68 @@
}*/
return 1;
}
+
+ @Override
+ public List<List<String>> weldSeamEchartsList(ApsWeldSeam apsWeldSeam) {
+
+ 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<Map> mapList =apsWeldSeamMapper.weldSeamEcharts(apsWeldSeam);
+ Set monthSet=mapList.stream().map(e->e.get("produce_month").toString()).collect(Collectors.toSet());
+ List monthList = new ArrayList(monthSet);
+ Collections.sort(monthList);
+
+ List<List<String>> echartsList = new ArrayList<>();
+
+ Set<String> titleSet = new HashSet<>();
+ List<String> title = new ArrayList<>(titleSet);
+ title.add("product");
+ mapList.forEach(item->{
+ StringBuilder sb = new StringBuilder();
+ sb.append(item.get("production_base"));
+ sb.append("-");
+ sb.append(item.get("work_order_name"));
+ sb.append("-");
+ sb.append(item.get("classification_name"));
+ title.add(sb.toString());
+
+ });
+ echartsList.add(title);
+ System.out.println(monthList);
+ monthList.forEach(month->{
+ List<String> table = new ArrayList<>();
+ table.add(month+"鏈�");
+ for (int i=1;i<title.size();i++){
+ for(int j=0;j<mapList.size();j++){
+ Map value =mapList.get(j);
+ StringBuilder sb = new StringBuilder();
+ sb.append(value.get("production_base"));
+ sb.append("-");
+ sb.append(value.get("work_order_name"));
+ sb.append("-");
+ sb.append(value.get("classification_name"));
+ if(sb.toString().equals(title.get(i))){//鍒楁槑
+ table.add(value.get("total_weld_seam").toString());
+ }
+ }
+ }
+ echartsList.add(table);
+ });
+ return echartsList;
+ }
}
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 453ae4d..a291648 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
@@ -163,4 +163,40 @@
FROM aps_weld_seam
GROUP BY produce_year, produce_month, production_base, work_order_type, classification
</select>
+
+ <select id="weldSeamEcharts" parameterType="java.util.List" resultType="map">
+
+ SELECT
+ seam.produce_year,
+ seam.produce_month,
+ seam.production_base,
+ workOrderType.dict_label AS work_order_name,
+ classification.dict_label AS classification_name,
+ SUM ( seam.total_weld_seam ) AS total_weld_seam
+ FROM
+ aps_weld_seam seam
+ LEFT JOIN sys_dict_data workOrderType ON seam.work_order_type = workOrderType.dict_value
+ AND workOrderType.dict_type = 'aps_weld_work_order_type'
+ LEFT JOIN sys_dict_data classification ON seam.classification = classification.dict_value
+ AND classification.dict_type = 'aps_weld_classification'
+ <where>
+ <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>
+ </where>
+ GROUP BY
+ seam.produce_year,
+ seam.produce_month,
+ seam.production_base,
+ workOrderType.dict_label,
+ classification.dict_label
+
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.3