gongchunyi
昨天 544afa4dabaccb0248bf0b6fcfdc7b9b6c2ea9f2
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/DataAnalysisServiceImpl.java
@@ -9,6 +9,7 @@
import com.ruoyi.common.constant.InsOrderTypeConstants;
import com.ruoyi.framework.exception.ErrorException;
import com.ruoyi.inspect.dto.DataAnalysisDto;
import com.ruoyi.inspect.dto.MaterialPropTableDTO;
import com.ruoyi.inspect.dto.SampleProductRawAnalysisDto;
import com.ruoyi.inspect.mapper.DataAnalysisMapper;
import com.ruoyi.inspect.mapper.InsProductMapper;
@@ -43,7 +44,8 @@
    private InsProductMapper insProductMapper;
    /**
     * 查询原材料柱状统计
     * 查询物料属性柱状统计
     *
     * @return searchTime  时间
     * @return passRate  合格率
     * @return sum  总数
@@ -64,7 +66,8 @@
            DateTime endOfWeek = DateUtil.endOfWeek(now);
            dataAnalysisDto.setBeginDate(DateUtil.format(beginOfWeek, "yyyy-MM-dd HH:mm:ss"));
            dataAnalysisDto.setEndDate(DateUtil.format(endOfWeek, "yyyy-MM-dd HH:mm:ss"));
            return dataAnalysisMapper.getRawPassRateByBarChartByWeek(dataAnalysisDto);
            List<Map<String, Object>> maps = dataAnalysisMapper.getRawPassRateByBarChartByWeek(dataAnalysisDto);
            return maps;
        } else if (dataAnalysisDto.getDateType().equals("2")) {
            // 获取当前月的开始时间(每月1号 00:00:00)
            DateTime beginOfMonth = DateUtil.beginOfMonth(now);
@@ -72,7 +75,8 @@
            DateTime endOfMonth = DateUtil.endOfMonth(now);
            dataAnalysisDto.setBeginDate(DateUtil.format(beginOfMonth, "yyyy-MM-dd HH:mm:ss"));
            dataAnalysisDto.setEndDate(DateUtil.format(endOfMonth, "yyyy-MM-dd HH:mm:ss"));
            return dataAnalysisMapper.getRawPassRateByBarChartByDay(dataAnalysisDto);
            List<Map<String, Object>> maps = dataAnalysisMapper.getRawPassRateByBarChartByDay(dataAnalysisDto);
            return maps;
        } else if (dataAnalysisDto.getDateType().equals("3")) {
            // 获取当前年的开始时间(每年1月1日 00:00:00)
            DateTime beginOfYear = DateUtil.beginOfYear(now);
@@ -80,7 +84,8 @@
            DateTime endOfYear = DateUtil.endOfYear(now);
            dataAnalysisDto.setBeginDate(DateUtil.format(beginOfYear, "yyyy-MM-dd HH:mm:ss"));
            dataAnalysisDto.setEndDate(DateUtil.format(endOfYear, "yyyy-MM-dd HH:mm:ss"));
            return dataAnalysisMapper.getRawPassRateByBarChartByYear(dataAnalysisDto);
            List<Map<String, Object>> maps = dataAnalysisMapper.getRawPassRateByBarChartByYear(dataAnalysisDto);
            return maps;
        }
        return null;
@@ -88,9 +93,9 @@
    /**
     * 查询原材料饼状图
     *
     * @param dataAnalysisDto
     * @return
     * sum          : 总数
     * @return sum          : 总数
     * unQualified  : 不合格数量
     * qualified  : 合格数量
     * passRate  : 合格率
@@ -125,12 +130,51 @@
            dataAnalysisDto.setBeginDate(DateUtil.format(beginOfYear, "yyyy-MM-dd HH:mm:ss"));
            dataAnalysisDto.setEndDate(DateUtil.format(endOfYear, "yyyy-MM-dd HH:mm:ss"));
        }
        return dataAnalysisMapper.getRawPassRateByCake(dataAnalysisDto);
        Map<String, Object> rawPassRateByCake = dataAnalysisMapper.getRawPassRateByCake(dataAnalysisDto);
        return rawPassRateByCake;
    }
    @Override
    public List<MaterialPropTableDTO> getMaterialPropTable(DataAnalysisDto dataAnalysisDto) {
        // 格式化字段, 避免报错
        this.formatDataAnalysisDto(dataAnalysisDto);
        // 获取当前日期
        DateTime now = DateUtil.date();
        if (StrUtil.isNotBlank(dataAnalysisDto.getBeginDate()) && StrUtil.isNotBlank(dataAnalysisDto.getEndDate())) {
        } else if (dataAnalysisDto.getDateType().equals("1")) {
            // 获取本周的开始时间(周一 00:00:00)
            DateTime beginOfWeek = DateUtil.beginOfWeek(now);
            // 获取本周的结束时间(周日 23:59:59)
            DateTime endOfWeek = DateUtil.endOfWeek(now);
            dataAnalysisDto.setBeginDate(DateUtil.format(beginOfWeek, "yyyy-MM-dd HH:mm:ss"));
            dataAnalysisDto.setEndDate(DateUtil.format(endOfWeek, "yyyy-MM-dd HH:mm:ss"));
        } else if (dataAnalysisDto.getDateType().equals("2")) {
            // 获取当前月的开始时间(每月1号 00:00:00)
            DateTime beginOfMonth = DateUtil.beginOfMonth(now);
            // 获取当前月的结束时间(本月最后一天 23:59:59)
            DateTime endOfMonth = DateUtil.endOfMonth(now);
            dataAnalysisDto.setBeginDate(DateUtil.format(beginOfMonth, "yyyy-MM-dd HH:mm:ss"));
            dataAnalysisDto.setEndDate(DateUtil.format(endOfMonth, "yyyy-MM-dd HH:mm:ss"));
        } else if (dataAnalysisDto.getDateType().equals("3")) {
            // 获取当前年的开始时间(每年1月1日 00:00:00)
            DateTime beginOfYear = DateUtil.beginOfYear(now);
            // 获取当前年的结束时间(每年12月31日 23:59:59)
            DateTime endOfYear = DateUtil.endOfYear(now);
            dataAnalysisDto.setBeginDate(DateUtil.format(beginOfYear, "yyyy-MM-dd HH:mm:ss"));
            dataAnalysisDto.setEndDate(DateUtil.format(endOfYear, "yyyy-MM-dd HH:mm:ss"));
        }
        List<MaterialPropTableDTO> rawPassRateByCake = dataAnalysisMapper.getMaterialPropTable(dataAnalysisDto);
        return rawPassRateByCake;
    }
    /**
     * 查询检验项名称
     *
     * @param dataAnalysisDto
     * @return
     */
@@ -151,6 +195,7 @@
    /**
     * 查询原材料项检分析
     *
     * @param dataAnalysisDto
     * @return
     */
@@ -202,6 +247,7 @@
    /**
     * 查询检测项分析列表
     *
     * @param dataAnalysisDto
     * @return
     */
@@ -214,6 +260,7 @@
    /**
     * 查询项检分析合格率
     *
     * @param dataAnalysisDto
     * @return
     */
@@ -386,6 +433,7 @@
    /**
     * 查询本月与上月合格率对比
     *
     * @param dataAnalysisDto
     * @return
     */
@@ -396,6 +444,7 @@
    /**
     * 查询检验项类型饼图
     *
     * @param dataAnalysisDto
     * @return
     */
@@ -406,6 +455,7 @@
    /**
     * 计算返回数据
     *
     * @param lastValues
     * @return
     */
@@ -473,6 +523,7 @@
    /**
     * 计算极差
     *
     * @param lastValues
     * @return
     */
@@ -509,6 +560,7 @@
    /**
     * 计算平均值
     *
     * @param values
     * @return
     */
@@ -531,6 +583,7 @@
    /**
     * 计算标准偏差
     *
     * @return
     */
    private static BigDecimal computeStandardDeviation(List<String> lastValues) {
@@ -588,6 +641,7 @@
    /**
     * *****格式化字段****
     *
     * @param dataAnalysisDto
     */
    private void formatDataAnalysisDto(DataAnalysisDto dataAnalysisDto) {