dy
2025-04-16 3d3477dc4a070a48e21f1625914f55a321a6c096
焊缝统计图提交
已修改4个文件
97 ■■■■ 文件已修改
aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsWeldSeam.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsWeldSeamMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsWeldSeamServiceImpl.java 56 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/resources/mapper/core/ApsWeldSeamMapper.xml 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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() {
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();
}
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);
            //用Calendar 进行日期比较判断
            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;
    }
}
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 item="item" index="index" collection="list" separator=" OR " open="and (" close=") ">
                    produce_year = #{item.produceYear} and produce_month = #{item.produceMonth}
                    </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,