数据分析 左测下拉数据预测项不可点击
接口 获得影响因素结果列表
接口 获得影响因素结果列表
影响因素表添加组合唯一索引
| | |
| | | `is_enable` tinyint DEFAULT NULL COMMENT '是否启用(0禁用 1启用)', |
| | | `create_time` datetime DEFAULT NULL, |
| | | PRIMARY KEY (`id`), |
| | | UNIQUE KEY `output_id_pattern_unique` (`output_id`,`pattern`), |
| | | KEY `output_id` (`output_id`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='预测项影响因素配置表'; |
| | | |
| | |
| | | `factor_output_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '因素预测项id', |
| | | `deviation_value` double DEFAULT NULL COMMENT '偏差值', |
| | | PRIMARY KEY (`id`), |
| | | KEY `config_id` (`config_id`), |
| | | KEY `item_id` (`factor_output_id`), |
| | | UNIQUE KEY `config_id_factor_output_id_unique` (`config_id`,`factor_output_id`), |
| | | CONSTRAINT `t_mm_predict_influence_factor_ibfk_1` FOREIGN KEY (`config_id`) REFERENCES `t_mm_predict_influence_factor_config` (`id`) ON DELETE CASCADE |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='预测项影响因素关联表'; |
| | | |
| | |
| | | PredictItemTreeDTO chd = new PredictItemTreeDTO(); |
| | | chd.setLabel(item1.getItemName()); |
| | | chd.setId(item1.getId()); |
| | | chd.setDisabled(true); |
| | | List<PredictItemTreeDTO> chd1 = new ArrayList<>(); |
| | | List<MmItemOutputEntity> outList = mmItemOutputService.getByItemid(item1.getId()); |
| | | if (!CollectionUtils.isEmpty(outList)) { |
| | |
| | | import com.iailab.module.model.mcs.pre.service.MmPredictInfluenceFactorService; |
| | | import com.iailab.module.model.mcs.pre.vo.*; |
| | | import io.swagger.v3.oas.annotations.Operation; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import static com.iailab.framework.common.pojo.CommonResult.success; |
| | | |
| | |
| | | PageResult<MmPredictInfluenceFactorResultVO> pageResult = influenceFactorResultService.page(params); |
| | | return success(pageResult); |
| | | } |
| | | |
| | | |
| | | @PostMapping("/getResultList") |
| | | @Operation(summary = "获得影响因素结果列表") |
| | | public CommonResult<Map<String,List<MmPredictInfluenceFactorResultVO>>> getResultList(@RequestBody MmPredictInfluenceFactorResultListReqVO params) { |
| | | if (CollectionUtils.isEmpty(params.getOutIds())) { |
| | | return success(new HashMap<>()); |
| | | } |
| | | Map<String,List<MmPredictInfluenceFactorResultVO>> list = influenceFactorResultService.getResultList(params); |
| | | return success(list); |
| | | } |
| | | |
| | | @GetMapping("/getListByOutId") |
| | | @Operation(summary = "通过outId获得影响因素列表") |
| | | public CommonResult<List<MmPredictInfluenceFactorVO>> getListByOutId(String outId) { |
| | | if (StringUtils.isBlank(outId)) { |
| | | return success(new ArrayList<>()); |
| | | } |
| | | List<MmPredictInfluenceFactorVO> list = influenceFactorService.getListByOutId(outId); |
| | | return success(list); |
| | | } |
| | | } |
| | |
| | | import org.apache.ibatis.annotations.Delete; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.apache.ibatis.annotations.Select; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | void deleteInfluenceFactor(String configId); |
| | | |
| | | List<MmPredictInfluenceFactorHandleVO> selectList(@Param("params") Map<String, Object> params); |
| | | |
| | | @Select("SELECT t1.pattern,t2.factor_output_id,t3.result_name factor_output_name FROM t_mm_predict_influence_factor_config t1 LEFT JOIN t_mm_predict_influence_factor t2 ON t1.id = t2.config_id LEFT JOIN t_mm_item_output t3 ON t2.factor_output_id = t3.id WHERE t1.is_enable = 1 AND t1.output_id = #{outId}") |
| | | List<MmPredictInfluenceFactorVO> getListByOutId(String outId); |
| | | } |
| | |
| | | import com.iailab.framework.mybatis.core.mapper.BaseMapperX; |
| | | import com.iailab.framework.tenant.core.db.dynamic.TenantDS; |
| | | import com.iailab.module.model.mcs.pre.entity.MmPredictInfluenceFactorResultEntity; |
| | | import com.iailab.module.model.mcs.pre.vo.MmPredictInfluenceFactorResultListReqVO; |
| | | import com.iailab.module.model.mcs.pre.vo.MmPredictInfluenceFactorResultVO; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | import java.util.Collection; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | @Mapper |
| | | public interface MmPredictInfluenceFactorResultDao extends BaseMapperX<MmPredictInfluenceFactorResultEntity> { |
| | | void insertOrUpdate(List<MmPredictInfluenceFactorResultEntity> list); |
| | | |
| | | List<MmPredictInfluenceFactorResultVO> getResultList(MmPredictInfluenceFactorResultListReqVO params); |
| | | } |
| | |
| | | |
| | | import com.iailab.framework.common.pojo.PageResult; |
| | | import com.iailab.framework.common.service.BaseService; |
| | | import com.iailab.module.model.mcs.pre.entity.MmPredictInfluenceFactorConfigEntity; |
| | | import com.iailab.module.model.mcs.pre.entity.MmPredictInfluenceFactorResultEntity; |
| | | import com.iailab.module.model.mcs.pre.vo.MmPredictInfluenceFactorConfigVO; |
| | | import com.iailab.module.model.mcs.pre.vo.MmPredictInfluenceFactorPageReqVO; |
| | | import com.iailab.module.model.mcs.pre.vo.MmPredictInfluenceFactorResultListReqVO; |
| | | import com.iailab.module.model.mcs.pre.vo.MmPredictInfluenceFactorResultPageReqVO; |
| | | import com.iailab.module.model.mcs.pre.vo.MmPredictInfluenceFactorResultVO; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @description: |
| | |
| | | PageResult<MmPredictInfluenceFactorResultVO> page(MmPredictInfluenceFactorResultPageReqVO params); |
| | | |
| | | void insert(List<MmPredictInfluenceFactorResultEntity> resultList); |
| | | |
| | | Map<String,List<MmPredictInfluenceFactorResultVO>> getResultList(MmPredictInfluenceFactorResultListReqVO params); |
| | | } |
| | |
| | | import com.iailab.framework.common.service.BaseService; |
| | | import com.iailab.module.model.api.mcs.dto.MmPredictInfluenceFactorHandleReqVO; |
| | | import com.iailab.module.model.mcs.pre.entity.MmPredictInfluenceFactorConfigEntity; |
| | | import com.iailab.module.model.mcs.pre.vo.MmPredictInfluenceFactorConfigVO; |
| | | import com.iailab.module.model.mcs.pre.vo.MmPredictInfluenceFactorPageReqVO; |
| | | import com.iailab.module.model.mcs.pre.vo.MmPredictInfluenceFactorResultPageReqVO; |
| | | import com.iailab.module.model.mcs.pre.vo.MmPredictInfluenceFactorResultVO; |
| | | import com.iailab.module.model.mcs.pre.vo.*; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @description: |
| | |
| | | void delete(String id); |
| | | |
| | | void influenceFactorHandle(MmPredictInfluenceFactorHandleReqVO reqVO); |
| | | |
| | | List<MmPredictInfluenceFactorVO> getListByOutId(String outId); |
| | | } |
| | |
| | | package com.iailab.module.model.mcs.pre.service.impl; |
| | | |
| | | import cn.hutool.core.bean.BeanUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.iailab.framework.common.pojo.PageResult; |
| | | import com.iailab.framework.common.pojo.SortingField; |
| | | import com.iailab.framework.common.service.impl.BaseServiceImpl; |
| | |
| | | import com.iailab.module.model.mcs.pre.dao.MmPredictInfluenceFactorResultDao; |
| | | import com.iailab.module.model.mcs.pre.entity.MmPredictInfluenceFactorResultEntity; |
| | | import com.iailab.module.model.mcs.pre.service.MmPredictInfluenceFactorResultService; |
| | | import com.iailab.module.model.mcs.pre.vo.MmPredictInfluenceFactorConfigVO; |
| | | import com.iailab.module.model.mcs.pre.vo.MmPredictInfluenceFactorResultListReqVO; |
| | | import com.iailab.module.model.mcs.pre.vo.MmPredictInfluenceFactorResultPageReqVO; |
| | | import com.iailab.module.model.mcs.pre.vo.MmPredictInfluenceFactorResultVO; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.checkerframework.checker.units.qual.C; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.sql.Array; |
| | | import java.util.ArrayList; |
| | | import java.util.Collection; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Slf4j |
| | | @Service |
| | |
| | | public void insert(List<MmPredictInfluenceFactorResultEntity> resultList) { |
| | | baseDao.insertOrUpdate(resultList); |
| | | } |
| | | |
| | | @Override |
| | | public Map<String,List<MmPredictInfluenceFactorResultVO>> getResultList(MmPredictInfluenceFactorResultListReqVO params) { |
| | | List<MmPredictInfluenceFactorResultVO> list = baseDao.getResultList(params); |
| | | Map<String, List<MmPredictInfluenceFactorResultVO>> result = list.stream().collect(Collectors.groupingBy(MmPredictInfluenceFactorResultVO::getOutputId)); |
| | | return result; |
| | | } |
| | | } |
| | |
| | | import com.iailab.module.model.mcs.pre.service.MmItemResultJsonService; |
| | | import com.iailab.module.model.mcs.pre.service.MmPredictInfluenceFactorResultService; |
| | | import com.iailab.module.model.mcs.pre.service.MmPredictInfluenceFactorService; |
| | | import com.iailab.module.model.mcs.pre.vo.*; |
| | | import com.iailab.module.model.mcs.pre.vo.MmPredictInfluenceFactorConfigVO; |
| | | import com.iailab.module.model.mcs.pre.vo.MmPredictInfluenceFactorHandleVO; |
| | | import com.iailab.module.model.mcs.pre.vo.MmPredictInfluenceFactorPageReqVO; |
| | | import com.iailab.module.model.mcs.pre.vo.MmPredictInfluenceFactorVO; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.*; |
| | | import java.util.function.BinaryOperator; |
| | | import java.util.function.Function; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Slf4j |
| | |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public List<MmPredictInfluenceFactorVO> getListByOutId(String outId) { |
| | | List<MmPredictInfluenceFactorVO> list = baseDao.getListByOutId(outId); |
| | | return list; |
| | | } |
| | | |
| | | private Double influenceFactorAccuracyCalculate(MmPredictInfluenceFactorHandleVO influenceFactor, HashMap<String, Double> values, Date influenceTime) { |
| | | if (values.containsKey(influenceFactor.getFactorOutputId())) { |
| | | return values.get(influenceFactor.getFactorOutputId()); |
对比新文件 |
| | |
| | | package com.iailab.module.model.mcs.pre.vo; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.iailab.framework.common.pojo.PageParam; |
| | | import io.swagger.v3.oas.annotations.media.Schema; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.ToString; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @description: |
| | | * @author: dzd |
| | | * @date: 2025/4/18 10:45 |
| | | **/ |
| | | @Schema(description = "预测影响因素结果列表 - Request VO") |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = true) |
| | | @ToString(callSuper = true) |
| | | public class MmPredictInfluenceFactorResultListReqVO extends PageParam { |
| | | |
| | | @Schema(description = "输出ID列表") |
| | | private List<String> outIds; |
| | | |
| | | @Schema(description = "开始时间") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private Date startTime; |
| | | |
| | | @Schema(description = "结束时间") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private Date endTime; |
| | | } |
| | |
| | | public class MmPredictInfluenceFactorResultVO implements Serializable { |
| | | private static final long serialVersionUID = 1L; |
| | | /** |
| | | * 预测项id |
| | | */ |
| | | private String outputId; |
| | | /** |
| | | * 因素id |
| | | */ |
| | | private String factorId; |
| | |
| | | * 影响值 |
| | | */ |
| | | private Double value; |
| | | |
| | | /** |
| | | * 因素预测项名称 |
| | | */ |
| | | private String factorOutputName; |
| | | |
| | | /** |
| | | * 统计方式 |
| | | */ |
| | | private String pattern; |
| | | } |
| | |
| | | * 偏差值 |
| | | */ |
| | | private Double deviationValue; |
| | | |
| | | /** |
| | | * 统计方式 |
| | | */ |
| | | private String pattern; |
| | | } |
| | |
| | | ON DUPLICATE KEY UPDATE |
| | | value = VALUES(value); |
| | | </insert> |
| | | <select id="getResultList" resultType="com.iailab.module.model.mcs.pre.vo.MmPredictInfluenceFactorResultVO" |
| | | parameterType="com.iailab.module.model.mcs.pre.vo.MmPredictInfluenceFactorResultListReqVO"> |
| | | SELECT |
| | | t1.output_id, |
| | | t1.pattern, |
| | | t3.result_name factor_output_name, |
| | | t4.time, |
| | | t4.value |
| | | FROM |
| | | t_mm_predict_influence_factor_config t1 |
| | | LEFT JOIN t_mm_predict_influence_factor t2 ON t1.id = t2.config_id |
| | | LEFT JOIN t_mm_item_output t3 ON t2.factor_output_id = t3.id |
| | | LEFT JOIN t_mm_predict_influence_factor_result t4 ON t4.factor_id = t2.id |
| | | WHERE |
| | | t1.is_enable = 1 |
| | | and t1.output_id IN |
| | | <foreach collection="outIds" item="item" open="(" close=")" separator=","> |
| | | #{item} |
| | | </foreach> |
| | | <if test="startTime != null"> |
| | | AND t4.time >= #{startTime} |
| | | </if> |
| | | <if test="endTime != null"> |
| | | AND t4.time <= #{endTime} |
| | | </if> |
| | | </select> |
| | | </mapper> |