whycxzp
2021-05-17 0acc33a0bd5316a1413b4d4bc7ae5dd93022f386
更新数据管理-历史记录接口
4个文件已修改
6个文件已添加
376 ■■■■■ 已修改文件
src/main/java/com/whyc/controller/AFEInverterController.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/ExperimentController.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/dto/ExperimentConditionDTO.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/ExperimentMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/AFEInverterState.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/Experiment.java 194 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/AFEInverterService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/CentralMonitorSysSTService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/ExperimentService.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/ExperimentMapper.xml 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/AFEInverterController.java
@@ -18,6 +18,20 @@
import java.util.List;
import java.util.Map;
/**
 * 特别注意:
 * 通讯协议中:
 * 有功功率单位为0.1kW
 * 输出电流单位为0.1A
 *
 * web页面端:
 * 有功功率单位为kW
 * 输出电流单位为A
 *
 * 故:
 * 查询时,需要将这两个字段结果,*0.1
 * TODO
 */
@RestController
@RequestMapping("afeInverter")
@Api(tags = "afe变频器-逆变器的数据信息")
src/main/java/com/whyc/controller/ExperimentController.java
New file
@@ -0,0 +1,30 @@
package com.whyc.controller;
import com.github.pagehelper.PageInfo;
import com.whyc.dto.ExperimentConditionDTO;
import com.whyc.dto.Response;
import com.whyc.pojo.Experiment;
import com.whyc.service.ExperimentService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("experiment")
@Api(tags = "试验")
public class ExperimentController {
    @Autowired
    private ExperimentService service;
    @PostMapping("page")
    @ApiOperation(value = "查询分页-根据条件筛选")
    public Response<PageInfo<Experiment>> getPage(@RequestParam Integer pageNum,
                                                  @RequestParam Integer pageSize,
                                                  @RequestBody ExperimentConditionDTO condition){
        return service.getPage(pageNum,pageSize,condition);
    }
}
src/main/java/com/whyc/dto/ExperimentConditionDTO.java
New file
@@ -0,0 +1,45 @@
package com.whyc.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
@ApiModel
public class ExperimentConditionDTO implements Serializable {
    @ApiModelProperty("试验类型")
    private String type;
    @ApiModelProperty("开始时间-最早时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai")
    private Date startTime1;
    @ApiModelProperty("开始时间-最晚时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai")
    private Date startTime2;
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public Date getStartTime1() {
        return startTime1;
    }
    public void setStartTime1(Date startTime1) {
        this.startTime1 = startTime1;
    }
    public Date getStartTime2() {
        return startTime2;
    }
    public void setStartTime2(Date startTime2) {
        this.startTime2 = startTime2;
    }
}
src/main/java/com/whyc/mapper/ExperimentMapper.java
New file
@@ -0,0 +1,11 @@
package com.whyc.mapper;
import com.whyc.dto.ExperimentConditionDTO;
import com.whyc.pojo.Experiment;
import java.util.List;
public interface ExperimentMapper extends CustomMapper<Experiment>{
    List<Experiment> getPage(ExperimentConditionDTO condition);
}
src/main/java/com/whyc/pojo/AFEInverterState.java
@@ -1,5 +1,6 @@
package com.whyc.pojo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
src/main/java/com/whyc/pojo/Experiment.java
New file
@@ -0,0 +1,194 @@
package com.whyc.pojo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.ibatis.type.Alias;
import java.util.Date;
@Alias("Experiment")
@ApiModel
@TableName(schema = "`db_3.5mw_web`" , value = "`tb_experiment`")
public class Experiment {
    @ApiModelProperty("试验编号")
    private String id;
    @ApiModelProperty("试验名称")
    private String name;
    @ApiModelProperty("试验类型:九大试验")
    private String type;
    @ApiModelProperty("对应的项目")
    private Integer projectId;
    @ApiModelProperty("被测设备SN")
    private String deviceSn;
    @ApiModelProperty("被测设备id")
    private String deviceId;
    @ApiModelProperty("额定功率,单位KW")
    private Float ratedPower;
    @ApiModelProperty("额定电压,单位V")
    private Float ratedVol;
    @ApiModelProperty("齿轮转速比")
    private String gearSpeedRatio;
    @ApiModelProperty("启动时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai")
    private Date startTime;
    @ApiModelProperty("计划结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai")
    private Date planEndTime;
    @ApiModelProperty("实际结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai")
    private Date actualEndTime;
    /**单位:分钟*/
    @ApiModelProperty("试验时长")
    @TableField(exist = false)
    private String duration;
    @ApiModelProperty("负责人")
    private Integer userId;
    @ApiModelProperty("负责人姓名")
    @TableField(exist = false)
    private  String username;
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai")
    private Date createTime;
    @ApiModelProperty("状态:0-取消,1-进行中,2-完成")
    private Integer status;
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public Integer getProjectId() {
        return projectId;
    }
    public void setProjectId(Integer projectId) {
        this.projectId = projectId;
    }
    public String getDeviceSn() {
        return deviceSn;
    }
    public void setDeviceSn(String deviceSn) {
        this.deviceSn = deviceSn;
    }
    public String getDeviceId() {
        return deviceId;
    }
    public void setDeviceId(String deviceId) {
        this.deviceId = deviceId;
    }
    public Float getRatedPower() {
        return ratedPower;
    }
    public void setRatedPower(Float ratedPower) {
        this.ratedPower = ratedPower;
    }
    public Float getRatedVol() {
        return ratedVol;
    }
    public void setRatedVol(Float ratedVol) {
        this.ratedVol = ratedVol;
    }
    public String getGearSpeedRatio() {
        return gearSpeedRatio;
    }
    public void setGearSpeedRatio(String gearSpeedRatio) {
        this.gearSpeedRatio = gearSpeedRatio;
    }
    public Date getStartTime() {
        return startTime;
    }
    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }
    public Date getPlanEndTime() {
        return planEndTime;
    }
    public void setPlanEndTime(Date planEndTime) {
        this.planEndTime = planEndTime;
    }
    public Date getActualEndTime() {
        return actualEndTime;
    }
    public void setActualEndTime(Date actualEndTime) {
        this.actualEndTime = actualEndTime;
    }
    public String getDuration() {
        return duration;
    }
    public void setDuration(String duration) {
        this.duration = duration;
    }
    public Integer getUserId() {
        return userId;
    }
    public void setUserId(Integer userId) {
        this.userId = userId;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public Integer getStatus() {
        return status;
    }
    public void setStatus(Integer status) {
        this.status = status;
    }
}
src/main/java/com/whyc/service/AFEInverterService.java
@@ -47,18 +47,34 @@
        return new Response<AFEInverterState>().set(1,afeInverterState);
    }
    /**
     * 有功功率单位为0.1kW
     * 输出电流单位为0.1A
     * @return
     */
    public Response<Map<String, List>> getField() {
        Map<String,List> fieldMap = new HashMap();
        List<String> fieldNames = new LinkedList();
        fieldNames.add("电机转速");
        fieldNames.add("输出有功功率");
        fieldNames.add("输出电流");
        fieldNames.add("输出电压");
        fieldNames.add("模块温度");
        List<String> fieldValues = new LinkedList();
        fieldValues.add("motor_speed");
        fieldValues.add("output_power");
        fieldValues.add("output_curr");
        fieldValues.add("output_vol");
        fieldValues.add("model_tmp");
        List<String> unit = new LinkedList();
        unit.add("RPM");
        unit.add("kW");
        unit.add("A");
        unit.add("V");
        unit.add("℃");
        fieldMap.put("fieldNames",fieldNames);
        fieldMap.put("fieldValues",fieldValues);
        return new Response<Map<String,List>>().set(1,fieldMap);
src/main/java/com/whyc/service/CentralMonitorSysSTService.java
@@ -55,6 +55,12 @@
        fieldValues.add("curr_b");
        fieldValues.add("vol_b");
        //List<String> unit = new LinkedList();
        //unit.add("A");
        //unit.add("V");
        //unit.add("A");
        //unit.add("V");
        fieldMap.put("fieldNames",fieldNames);
        fieldMap.put("fieldValues",fieldValues);
        return new Response<Map<String,List>>().set(1,fieldMap);
src/main/java/com/whyc/service/ExperimentService.java
New file
@@ -0,0 +1,36 @@
package com.whyc.service;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.whyc.dto.ExperimentConditionDTO;
import com.whyc.dto.Response;
import com.whyc.mapper.ExperimentMapper;
import com.whyc.pojo.Experiment;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service
public class ExperimentService {
    @Resource
    private ExperimentMapper mapper;
    public Response<PageInfo<Experiment>> getPage(Integer pageNum, Integer pageSize, ExperimentConditionDTO condition) {
        PageHelper.startPage(pageNum,pageSize);
        List<Experiment> experimentList = mapper.getPage(condition);
        //查询结果的duration是分钟,转换为 x时x分格式
        experimentList.stream().forEach(experiment -> {
            int duration = Integer.parseInt(experiment.getDuration());
            //获取时
            int hour = duration/60;
            //获取分
            int minute = duration%60;
            experiment.setDuration(hour+"小时"+minute+"分");
        });
        PageInfo<Experiment> pageInfo = new PageInfo<>(experimentList);
        return new Response<PageInfo<Experiment>>().set(1,pageInfo);
    }
}
src/main/resources/mapper/ExperimentMapper.xml
New file
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.whyc.mapper.ExperimentMapper" >
    <select id="getPage" resultType="com.whyc.pojo.Experiment">
        select
            e.start_time,
            e.actual_end_time,
            TIMESTAMPDIFF(MINUTE,e.start_time,e.actual_end_time) as duration,
            e.name,
            e.type,
            u.name as username
        from
            tb_experiment e,
            tb_user u
        where e.user_id = u.id
        and type = #{type}
        <if test="startTime1 !=null">
            and start_time between #{startTime1} and #{startTime2}
        </if>
        and status = 2
    </select>
</mapper>