26 changed files with 1256 additions and 9 deletions
@ -0,0 +1,61 @@ |
|||
package com.xr.device_car.modules.analysis.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.IdType; |
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import com.baomidou.mybatisplus.annotation.TableId; |
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import java.io.Serializable; |
|||
import java.time.LocalDateTime; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* 导出表配置 |
|||
* @TableName sn_export |
|||
*/ |
|||
@TableName(value ="sn_export") |
|||
@Data |
|||
public class SnExport implements Serializable { |
|||
/** |
|||
* 主键ID |
|||
*/ |
|||
@TableId(type = IdType.AUTO) |
|||
private Integer id; |
|||
|
|||
/** |
|||
* 标题 |
|||
*/ |
|||
private String title; |
|||
|
|||
/** |
|||
* 导出表名称 |
|||
*/ |
|||
private String exportName; |
|||
|
|||
/** |
|||
* 创建时间 |
|||
*/ |
|||
private LocalDateTime createAt; |
|||
|
|||
/** |
|||
* 修改时间 |
|||
*/ |
|||
private LocalDateTime updateAt; |
|||
|
|||
/** |
|||
* 默认0正常,1删除 |
|||
*/ |
|||
private Integer deletedFlag; |
|||
|
|||
/** |
|||
* 标题ID |
|||
*/ |
|||
private Integer titleId; |
|||
|
|||
/** |
|||
* 排序 |
|||
*/ |
|||
private Integer orderNum; |
|||
|
|||
@TableField(exist = false) |
|||
private static final long serialVersionUID = 1L; |
|||
} |
|||
@ -0,0 +1,130 @@ |
|||
package com.xr.device_car.modules.analysis.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.IdType; |
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import com.baomidou.mybatisplus.annotation.TableId; |
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import java.io.Serializable; |
|||
import java.time.LocalDateTime; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* |
|||
* @TableName sn_meter_history |
|||
*/ |
|||
@TableName(value ="sn_meter_history") |
|||
@Data |
|||
public class SnMeterHistory implements Serializable { |
|||
/** |
|||
* 主键id |
|||
*/ |
|||
private Integer id; |
|||
|
|||
/** |
|||
* 表计id |
|||
*/ |
|||
private Integer meterId; |
|||
|
|||
/** |
|||
* 设备类型 |
|||
*/ |
|||
private String deviceType; |
|||
|
|||
/** |
|||
* 表计类型配置编号 |
|||
*/ |
|||
private Integer meterType; |
|||
|
|||
/** |
|||
* 表计类型名称 |
|||
*/ |
|||
private String meterTypeId; |
|||
|
|||
/** |
|||
* 建模模型Id |
|||
*/ |
|||
private String meterCode; |
|||
|
|||
/** |
|||
* 安装位置 |
|||
*/ |
|||
private String meterPosition; |
|||
|
|||
/** |
|||
* 变电站名称 |
|||
*/ |
|||
private String standName; |
|||
|
|||
/** |
|||
* 所属站 |
|||
*/ |
|||
private Integer stationId; |
|||
|
|||
/** |
|||
* 电压等级(1安全电压2低压3高压4超高压5特高压) |
|||
*/ |
|||
private String voltageClass; |
|||
|
|||
/** |
|||
* 识别间隔 |
|||
*/ |
|||
private String room; |
|||
|
|||
/** |
|||
* 回路名称 |
|||
*/ |
|||
private String loopName; |
|||
|
|||
/** |
|||
* 相别 |
|||
*/ |
|||
private String mutually; |
|||
|
|||
/** |
|||
* 0读取异常 1正常 2越线告警 |
|||
*/ |
|||
private Integer status; |
|||
|
|||
/** |
|||
* 读数时间 |
|||
*/ |
|||
private LocalDateTime recognitionTime; |
|||
|
|||
/** |
|||
* 表计照片 |
|||
*/ |
|||
private String url; |
|||
|
|||
/** |
|||
* 告警最小值 |
|||
*/ |
|||
private Double max; |
|||
|
|||
/** |
|||
* 告警最大值 |
|||
*/ |
|||
private Double min; |
|||
|
|||
/** |
|||
* 读数值 |
|||
*/ |
|||
private String reading2; |
|||
|
|||
/** |
|||
* 读数值 |
|||
*/ |
|||
private String readingValue; |
|||
|
|||
/** |
|||
* 报警确认值0默认 1已经确认 |
|||
*/ |
|||
private Integer alarmConfirm; |
|||
|
|||
/** |
|||
* 读数单位 |
|||
*/ |
|||
private String unit; |
|||
|
|||
@TableField(exist = false) |
|||
private static final long serialVersionUID = 1L; |
|||
} |
|||
@ -0,0 +1,130 @@ |
|||
package com.xr.device_car.modules.analysis.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.IdType; |
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import com.baomidou.mybatisplus.annotation.TableId; |
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import java.io.Serializable; |
|||
import java.time.LocalDateTime; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* |
|||
* @TableName sn_meter_show |
|||
*/ |
|||
@TableName(value ="sn_meter_show") |
|||
@Data |
|||
public class SnMeterShow implements Serializable { |
|||
/** |
|||
* 主键id |
|||
*/ |
|||
private Integer id; |
|||
|
|||
/** |
|||
* 表计id |
|||
*/ |
|||
private Integer meterId; |
|||
|
|||
/** |
|||
* 设备类型 |
|||
*/ |
|||
private String deviceType; |
|||
|
|||
/** |
|||
* 表计类型配置编号 |
|||
*/ |
|||
private Integer meterType; |
|||
|
|||
/** |
|||
* 表计类型名称 |
|||
*/ |
|||
private String meterTypeId; |
|||
|
|||
/** |
|||
* 建模模型Id |
|||
*/ |
|||
private String meterCode; |
|||
|
|||
/** |
|||
* 安装位置 |
|||
*/ |
|||
private String meterPosition; |
|||
|
|||
/** |
|||
* 变电站名称 |
|||
*/ |
|||
private String standName; |
|||
|
|||
/** |
|||
* 所属站 |
|||
*/ |
|||
private Integer stationId; |
|||
|
|||
/** |
|||
* 电压等级(1安全电压2低压3高压4超高压5特高压) |
|||
*/ |
|||
private String voltageClass; |
|||
|
|||
/** |
|||
* 识别间隔 |
|||
*/ |
|||
private String room; |
|||
|
|||
/** |
|||
* 回路名称 |
|||
*/ |
|||
private String loopName; |
|||
|
|||
/** |
|||
* 相别 |
|||
*/ |
|||
private String mutually; |
|||
|
|||
/** |
|||
* 0读取异常 1正常 2越线告警 |
|||
*/ |
|||
private Integer status; |
|||
|
|||
/** |
|||
* 读数时间 |
|||
*/ |
|||
private LocalDateTime recognitionTime; |
|||
|
|||
/** |
|||
* 表计照片 |
|||
*/ |
|||
private String url; |
|||
|
|||
/** |
|||
* 告警最小值 |
|||
*/ |
|||
private Double max; |
|||
|
|||
/** |
|||
* 告警最大值 |
|||
*/ |
|||
private Double min; |
|||
|
|||
/** |
|||
* 读数值 |
|||
*/ |
|||
private String reading2; |
|||
|
|||
/** |
|||
* 读数值 |
|||
*/ |
|||
private String readingValue; |
|||
|
|||
/** |
|||
* 报警确认值0默认 1已经确认 |
|||
*/ |
|||
private Integer alarmConfirm; |
|||
|
|||
/** |
|||
* 读数单位 |
|||
*/ |
|||
private String unit; |
|||
|
|||
@TableField(exist = false) |
|||
private static final long serialVersionUID = 1L; |
|||
} |
|||
@ -0,0 +1,35 @@ |
|||
package com.xr.device_car.modules.analysis.entity; |
|||
|
|||
import lombok.Data; |
|||
|
|||
@Data |
|||
public class XlsExport1 { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
private String reading1 = "*"; |
|||
private String reading2 = "*"; |
|||
private String reading3 = "*"; |
|||
private String reading4 = "*"; |
|||
private String reading5 = "*"; |
|||
private String reading6 = "*"; |
|||
private String reading7 = "*"; |
|||
private String reading8 = "*"; |
|||
private String reading9 = "*"; |
|||
private String reading10 = "*"; |
|||
private String reading11 = "*"; |
|||
private String reading12 = "*"; |
|||
private String reading13 = "*"; |
|||
private String reading14 = "*"; |
|||
private String reading15 = "*"; |
|||
private String reading16 = "*"; |
|||
private String reading17 = "*"; |
|||
private String reading18 = "*"; |
|||
private String reading19 = "*"; |
|||
private String reading20 = "*"; |
|||
private String reading21 = "*"; |
|||
private String reading22 = "*"; |
|||
private String reading23 = "*"; |
|||
private String reading24 = "*"; |
|||
private String reading25 = "*"; |
|||
private String reading26 = "*"; |
|||
} |
|||
@ -0,0 +1,20 @@ |
|||
package com.xr.device_car.modules.analysis.mapper; |
|||
|
|||
import com.xr.device_car.modules.analysis.entity.SnExport; |
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
/** |
|||
* @author 范亚杰 |
|||
* @description 针对表【sn_export(导出表配置)】的数据库操作Mapper |
|||
* @createDate 2024-07-30 17:03:43 |
|||
* @Entity com.xr.device_car.modules.analysis.entity.SnExport |
|||
*/ |
|||
@Mapper |
|||
public interface SnExportMapper extends BaseMapper<SnExport> { |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
@ -0,0 +1,20 @@ |
|||
package com.xr.device_car.modules.analysis.mapper; |
|||
|
|||
import com.xr.device_car.modules.analysis.entity.SnMeterHistory; |
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
/** |
|||
* @author 范亚杰 |
|||
* @description 针对表【sn_meter_history】的数据库操作Mapper |
|||
* @createDate 2024-07-30 13:31:51 |
|||
* @Entity com.xr.device_car.modules.analysis.entity.SnMeterHistory |
|||
*/ |
|||
@Mapper |
|||
public interface SnMeterHistoryMapper extends BaseMapper<SnMeterHistory> { |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
@ -0,0 +1,20 @@ |
|||
package com.xr.device_car.modules.analysis.mapper; |
|||
|
|||
import com.xr.device_car.modules.analysis.entity.SnMeterShow; |
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
/** |
|||
* @author 范亚杰 |
|||
* @description 针对表【sn_meter_show】的数据库操作Mapper |
|||
* @createDate 2024-07-30 15:14:34 |
|||
* @Entity com.xr.device_car.modules.analysis.entity.SnMeterShow |
|||
*/ |
|||
@Mapper |
|||
public interface SnMeterShowMapper extends BaseMapper<SnMeterShow> { |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
@ -0,0 +1,17 @@ |
|||
package com.xr.device_car.modules.analysis.service; |
|||
|
|||
import com.xr.device_car.modules.analysis.entity.SnExport; |
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @author 范亚杰 |
|||
* @description 针对表【sn_export(导出表配置)】的数据库操作Service |
|||
* @createDate 2024-07-30 17:03:43 |
|||
*/ |
|||
public interface SnExportService extends IService<SnExport> { |
|||
|
|||
List<SnExport> getListByName(SnExport param); |
|||
|
|||
} |
|||
@ -0,0 +1,18 @@ |
|||
package com.xr.device_car.modules.analysis.service; |
|||
|
|||
import com.xr.device_car.modules.analysis.entity.SnMeterHistory; |
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
|
|||
import java.util.Date; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @author 范亚杰 |
|||
* @description 针对表【sn_meter_history】的数据库操作Service |
|||
* @createDate 2024-07-30 13:31:51 |
|||
*/ |
|||
public interface SnMeterHistoryService extends IService<SnMeterHistory> { |
|||
List<SnMeterHistory> getListByRoomIds(List<Integer> circuitIds, Date checkDate); |
|||
|
|||
List<SnMeterHistory> getListByCircuitIds(List<Integer> circuitIds, Date checkDate, SnMeterHistory param); |
|||
} |
|||
@ -0,0 +1,20 @@ |
|||
package com.xr.device_car.modules.analysis.service; |
|||
|
|||
import com.xr.device_car.modules.analysis.entity.SnMeterShow; |
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
|
|||
import java.util.Date; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @author 范亚杰 |
|||
* @description 针对表【sn_meter_show】的数据库操作Service |
|||
* @createDate 2024-07-30 15:14:34 |
|||
*/ |
|||
public interface SnMeterShowService extends IService<SnMeterShow> { |
|||
|
|||
List<SnMeterShow> getListByCircuitIds(List<String> loopName, Date checkDate); |
|||
|
|||
List<SnMeterShow> getListByCircuitIds(List<String> loopName, Date checkDate, SnMeterShow param); |
|||
|
|||
} |
|||
@ -0,0 +1,45 @@ |
|||
package com.xr.device_car.modules.analysis.service.impl; |
|||
|
|||
import com.baomidou.dynamic.datasource.annotation.DS; |
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import com.xr.device_car.modules.analysis.entity.SnExport; |
|||
import com.xr.device_car.modules.analysis.service.SnExportService; |
|||
import com.xr.device_car.modules.analysis.mapper.SnExportMapper; |
|||
import org.apache.commons.lang3.StringUtils; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @author 范亚杰 |
|||
* @description 针对表【sn_export(导出表配置)】的数据库操作Service实现 |
|||
* @createDate 2024-07-30 17:03:43 |
|||
*/ |
|||
@Service |
|||
@DS("db2") |
|||
public class SnExportServiceImpl extends ServiceImpl<SnExportMapper, SnExport> |
|||
implements SnExportService{ |
|||
|
|||
@Override |
|||
public List<SnExport> getListByName(SnExport param) { |
|||
QueryWrapper<SnExport> queryWrapper = new QueryWrapper<>(); |
|||
queryWrapper.lambda() |
|||
// 标题/ID
|
|||
.eq(StringUtils.isNotEmpty(param.getTitle()), SnExport::getTitle, param.getTitle()) |
|||
// 导出表名称
|
|||
.eq(StringUtils.isNotEmpty(param.getExportName()), SnExport::getExportName, param.getExportName()) |
|||
// 创建时间
|
|||
.eq(param.getCreateAt() != null, SnExport::getCreateAt, param.getCreateAt()) |
|||
// 修改时间
|
|||
.eq(param.getUpdateAt() != null, SnExport::getUpdateAt, param.getUpdateAt()) |
|||
.orderByAsc(SnExport::getOrderNum) |
|||
; |
|||
return list(queryWrapper); |
|||
} |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
@ -0,0 +1,48 @@ |
|||
package com.xr.device_car.modules.analysis.service.impl; |
|||
|
|||
import com.baomidou.dynamic.datasource.annotation.DS; |
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import com.xr.device_car.modules.analysis.entity.SnMeterHistory; |
|||
import com.xr.device_car.modules.analysis.service.SnMeterHistoryService; |
|||
import com.xr.device_car.modules.analysis.mapper.SnMeterHistoryMapper; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.Date; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @author 范亚杰 |
|||
* @description 针对表【sn_meter_history】的数据库操作Service实现 |
|||
* @createDate 2024-07-30 13:31:51 |
|||
*/ |
|||
@Service |
|||
@DS("db2") |
|||
public class SnMeterHistoryServiceImpl extends ServiceImpl<SnMeterHistoryMapper, SnMeterHistory> |
|||
implements SnMeterHistoryService{ |
|||
|
|||
@Override |
|||
public List<SnMeterHistory> getListByRoomIds(List<Integer> roomIds, Date checkDate) { |
|||
QueryWrapper<SnMeterHistory> queryWrapper = new QueryWrapper<>(); |
|||
// String idsStr = "ORDER BY FIELD (id,"+ String.join(",", circuitIds.stream().map(Object::toString).collect(Collectors.toList()))+")";
|
|||
queryWrapper.lambda().in(SnMeterHistory::getMeterId, roomIds) |
|||
.ge(checkDate !=null, SnMeterHistory::getRecognitionTime, checkDate); |
|||
// .le(checkDate !=null, SnMeterHistory::getRecognitionTime, DateUtils.addDateDays(checkDate,1));
|
|||
return list(queryWrapper); |
|||
} |
|||
|
|||
@Override |
|||
public List<SnMeterHistory> getListByCircuitIds(List<Integer> circuitIds, Date checkDate, SnMeterHistory param) { |
|||
QueryWrapper<SnMeterHistory> queryWrapper = new QueryWrapper<>(); |
|||
queryWrapper.lambda().in(SnMeterHistory::getDeviceType, circuitIds) |
|||
.eq(param.getDeviceType()!=null, SnMeterHistory::getDeviceType, param.getDeviceType()) |
|||
.ge(checkDate !=null, SnMeterHistory::getRecognitionTime, checkDate); |
|||
// .le(checkDate !=null, SnMeterHistory::getRecognitionTime, DateUtils.addDateDays(checkDate,1));
|
|||
return list(queryWrapper); |
|||
} |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
@ -0,0 +1,44 @@ |
|||
package com.xr.device_car.modules.analysis.service.impl; |
|||
|
|||
import com.baomidou.dynamic.datasource.annotation.DS; |
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import com.xr.device_car.config.utils.DateUtils; |
|||
import com.xr.device_car.modules.analysis.entity.SnMeterShow; |
|||
import com.xr.device_car.modules.analysis.service.SnMeterShowService; |
|||
import com.xr.device_car.modules.analysis.mapper.SnMeterShowMapper; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.Date; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @author 范亚杰 |
|||
* @description 针对表【sn_meter_show】的数据库操作Service实现 |
|||
* @createDate 2024-07-30 15:14:34 |
|||
*/ |
|||
@Service |
|||
@DS("db2") |
|||
public class SnMeterShowServiceImpl extends ServiceImpl<SnMeterShowMapper, SnMeterShow> |
|||
implements SnMeterShowService{ |
|||
|
|||
@Override |
|||
public List<SnMeterShow> getListByCircuitIds(List<String> loopName, Date checkDate) { |
|||
return getListByCircuitIds( loopName, checkDate, new SnMeterShow()); |
|||
} |
|||
|
|||
@Override |
|||
public List<SnMeterShow> getListByCircuitIds(List<String> loopName, Date checkDate, SnMeterShow param) { |
|||
QueryWrapper<SnMeterShow> queryWrapper = new QueryWrapper<>(); |
|||
queryWrapper.lambda().in(SnMeterShow::getLoopName, loopName) |
|||
.eq(param.getDeviceType()!=null, SnMeterShow::getDeviceType, param.getDeviceType()) |
|||
.ge(checkDate !=null, SnMeterShow::getRecognitionTime, checkDate) |
|||
.le(checkDate !=null, SnMeterShow::getRecognitionTime, DateUtils.addDateDays(checkDate,1)); |
|||
return list(queryWrapper); |
|||
} |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
@ -0,0 +1,75 @@ |
|||
package com.xr.device_car.modules.largescreen; |
|||
|
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|||
import com.xr.device_car.config.common.Result; |
|||
import com.xr.device_car.config.utils.StaticPropUtil; |
|||
import com.xr.device_car.config.utils.StringUtils; |
|||
import com.xr.device_car.modules.analysis.entity.SnMeterHistory; |
|||
import com.xr.device_car.modules.analysis.entity.SnMeterHistory; |
|||
import com.xr.device_car.modules.analysis.service.SnMeterHistoryService; |
|||
import com.xr.device_car.modules.analysis.service.SnMeterHistoryService; |
|||
import lombok.RequiredArgsConstructor; |
|||
import org.springframework.web.bind.annotation.PostMapping; |
|||
import org.springframework.web.bind.annotation.RequestBody; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
import javax.validation.Valid; |
|||
import java.util.List; |
|||
|
|||
@RestController |
|||
@RequestMapping("/models/sn-meter-history") |
|||
@RequiredArgsConstructor |
|||
public class SnMeterHistoryController { |
|||
|
|||
private final SnMeterHistoryService snMeterHistoryService; |
|||
|
|||
@PostMapping(value = "/list") |
|||
public Result<List<SnMeterHistory>> info(@Valid @RequestBody SnMeterHistory param) { |
|||
param.setStationId(StaticPropUtil.stationId); |
|||
QueryWrapper<SnMeterHistory> query=new QueryWrapper<>(); |
|||
query.lambda() |
|||
// 表计ID
|
|||
.eq(param.getMeterId() != null, SnMeterHistory::getMeterId, param.getMeterId()) |
|||
// 设备类型
|
|||
.eq(StringUtils.isNotEmpty(param.getDeviceType()), SnMeterHistory::getDeviceType, param.getDeviceType()) |
|||
// 表计类型id
|
|||
.eq(param.getMeterTypeId() != null, SnMeterHistory::getMeterTypeId, param.getMeterTypeId()) |
|||
// 1油温表2油位表3有载档位4SF6密度表5开关动作计数器6避雷器泄漏电流表7压力表8水位表
|
|||
.eq(StringUtils.isNotEmpty(param.getMeterType()), SnMeterHistory::getMeterType, param.getMeterType()) |
|||
// 表计编号
|
|||
.eq(StringUtils.isNotEmpty(param.getMeterCode()), SnMeterHistory::getMeterCode, param.getMeterCode()) |
|||
// 表计安装位置
|
|||
.eq(StringUtils.isNotEmpty(param.getMeterPosition()), SnMeterHistory::getMeterPosition, param.getMeterPosition()) |
|||
// 站点名称
|
|||
.eq(StringUtils.isNotEmpty(param.getStandName()), SnMeterHistory::getStandName, param.getStandName()) |
|||
// 站点ID
|
|||
.eq(StringUtils.isNotEmpty(param.getStationId()), SnMeterHistory::getStationId, param.getStationId()) |
|||
// 电压等级(kv)
|
|||
.eq(StringUtils.isNotEmpty(param.getVoltageClass()), SnMeterHistory::getVoltageClass, param.getVoltageClass()) |
|||
// 房间
|
|||
.eq(StringUtils.isNotEmpty(param.getRoom()), SnMeterHistory::getRoom, param.getRoom()) |
|||
// 回路名称
|
|||
.eq(StringUtils.isNotEmpty(param.getLoopName()), SnMeterHistory::getLoopName, param.getLoopName()) |
|||
// 相别
|
|||
.eq(StringUtils.isNotEmpty(param.getMutually()), SnMeterHistory::getMutually, param.getMutually()) |
|||
// 0读取异常 1正常 2越线告警
|
|||
.eq(param.getStatus() != null, SnMeterHistory::getStatus, param.getStatus()) |
|||
// 识别时间
|
|||
.eq(param.getRecognitionTime() != null, SnMeterHistory::getRecognitionTime, param.getRecognitionTime()) |
|||
// 图片地址
|
|||
.eq(StringUtils.isNotEmpty(param.getUrl()), SnMeterHistory::getUrl, param.getUrl()) |
|||
// 阈值最小值
|
|||
.eq(StringUtils.isNotEmpty(param.getMax()), SnMeterHistory::getMax, param.getMax()) |
|||
// 阈值最大值
|
|||
.eq(StringUtils.isNotEmpty(param.getMin()), SnMeterHistory::getMin, param.getMin()) |
|||
// 读数值2
|
|||
.eq(StringUtils.isNotEmpty(param.getReading2()), SnMeterHistory::getReading2, param.getReading2()) |
|||
// 读数值
|
|||
.eq(param.getAlarmConfirm() != null, SnMeterHistory::getAlarmConfirm, param.getAlarmConfirm()); |
|||
List<SnMeterHistory> data = snMeterHistoryService.list(query); |
|||
return Result.OK(data); |
|||
} |
|||
|
|||
} |
|||
@ -0,0 +1,73 @@ |
|||
package com.xr.device_car.modules.largescreen; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|||
import com.xr.device_car.config.common.Result; |
|||
import com.xr.device_car.config.utils.StaticPropUtil; |
|||
import com.xr.device_car.config.utils.StringUtils; |
|||
import com.xr.device_car.modules.analysis.entity.SnMeterShow; |
|||
import com.xr.device_car.modules.analysis.entity.SnMeterShow; |
|||
import com.xr.device_car.modules.analysis.service.SnMeterShowService; |
|||
import lombok.RequiredArgsConstructor; |
|||
import org.springframework.web.bind.annotation.PostMapping; |
|||
import org.springframework.web.bind.annotation.RequestBody; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
import javax.validation.Valid; |
|||
import java.util.List; |
|||
|
|||
@RestController |
|||
@RequestMapping("/models/sn-meter-show") |
|||
@RequiredArgsConstructor |
|||
public class SnMeterShowController { |
|||
|
|||
private final SnMeterShowService snMeterShowService; |
|||
|
|||
@PostMapping(value = "/list") |
|||
public Result<List<SnMeterShow>> info(@Valid @RequestBody SnMeterShow param) { |
|||
param.setStationId(StaticPropUtil.stationId); |
|||
QueryWrapper<SnMeterShow> query=new QueryWrapper<>(); |
|||
query.lambda() |
|||
// 表计ID
|
|||
.eq(param.getMeterId() != null, SnMeterShow::getMeterId, param.getMeterId()) |
|||
// 设备类型
|
|||
.eq(StringUtils.isNotEmpty(param.getDeviceType()), SnMeterShow::getDeviceType, param.getDeviceType()) |
|||
// 表计类型id
|
|||
.eq(param.getMeterTypeId() != null, SnMeterShow::getMeterTypeId, param.getMeterTypeId()) |
|||
// 1油温表2油位表3有载档位4SF6密度表5开关动作计数器6避雷器泄漏电流表7压力表8水位表
|
|||
.eq(StringUtils.isNotEmpty(param.getMeterType()), SnMeterShow::getMeterType, param.getMeterType()) |
|||
// 表计编号
|
|||
.eq(StringUtils.isNotEmpty(param.getMeterCode()), SnMeterShow::getMeterCode, param.getMeterCode()) |
|||
// 表计安装位置
|
|||
.eq(StringUtils.isNotEmpty(param.getMeterPosition()), SnMeterShow::getMeterPosition, param.getMeterPosition()) |
|||
// 站点名称
|
|||
.eq(StringUtils.isNotEmpty(param.getStandName()), SnMeterShow::getStandName, param.getStandName()) |
|||
// 站点ID
|
|||
.eq(StringUtils.isNotEmpty(param.getStationId()), SnMeterShow::getStationId, param.getStationId()) |
|||
// 电压等级(kv)
|
|||
.eq(StringUtils.isNotEmpty(param.getVoltageClass()), SnMeterShow::getVoltageClass, param.getVoltageClass()) |
|||
// 房间
|
|||
.eq(StringUtils.isNotEmpty(param.getRoom()), SnMeterShow::getRoom, param.getRoom()) |
|||
// 回路名称
|
|||
.eq(StringUtils.isNotEmpty(param.getLoopName()), SnMeterShow::getLoopName, param.getLoopName()) |
|||
// 相别
|
|||
.eq(StringUtils.isNotEmpty(param.getMutually()), SnMeterShow::getMutually, param.getMutually()) |
|||
// 0读取异常 1正常 2越线告警
|
|||
.eq(param.getStatus() != null, SnMeterShow::getStatus, param.getStatus()) |
|||
// 识别时间
|
|||
.eq(param.getRecognitionTime() != null, SnMeterShow::getRecognitionTime, param.getRecognitionTime()) |
|||
// 图片地址
|
|||
.eq(StringUtils.isNotEmpty(param.getUrl()), SnMeterShow::getUrl, param.getUrl()) |
|||
// 阈值最小值
|
|||
.eq(StringUtils.isNotEmpty(param.getMax()), SnMeterShow::getMax, param.getMax()) |
|||
// 阈值最大值
|
|||
.eq(StringUtils.isNotEmpty(param.getMin()), SnMeterShow::getMin, param.getMin()) |
|||
// 读数值2
|
|||
.eq(StringUtils.isNotEmpty(param.getReading2()), SnMeterShow::getReading2, param.getReading2()) |
|||
// 读数值
|
|||
.eq(param.getAlarmConfirm() != null, SnMeterShow::getAlarmConfirm, param.getAlarmConfirm()); |
|||
List<SnMeterShow> data = snMeterShowService.list(query); |
|||
return Result.OK(data); |
|||
} |
|||
|
|||
} |
|||
@ -0,0 +1,417 @@ |
|||
package com.xr.device_car.modules.largescreen; |
|||
|
|||
import com.alibaba.excel.util.StringUtils; |
|||
import com.xr.device_car.modules.analysis.entity.SnExport; |
|||
import com.xr.device_car.modules.analysis.entity.SnMeterHistory; |
|||
import com.xr.device_car.modules.analysis.entity.XlsExport1; |
|||
import com.xr.device_car.modules.analysis.service.SnExportService; |
|||
import com.xr.device_car.modules.analysis.service.SnMeterHistoryService; |
|||
import com.xr.device_car.modules.analysis.service.SnMeterShowService; |
|||
import lombok.RequiredArgsConstructor; |
|||
import org.springframework.web.bind.annotation.GetMapping; |
|||
import org.springframework.web.bind.annotation.PathVariable; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
import javax.servlet.http.HttpServletResponse; |
|||
import java.io.UnsupportedEncodingException; |
|||
import java.net.URLEncoder; |
|||
import java.util.ArrayList; |
|||
import java.util.Date; |
|||
import java.util.HashMap; |
|||
import java.util.List; |
|||
|
|||
|
|||
@RestController |
|||
@RequestMapping("/models/xls") |
|||
@RequiredArgsConstructor |
|||
public class XlsDataController { |
|||
|
|||
private final SnMeterHistoryService snMeterHistoryService; |
|||
|
|||
private final SnMeterShowService snMeterShowService; |
|||
|
|||
private final SnExportService snExportService; |
|||
|
|||
@GetMapping(value = "/export3/{date}") |
|||
public void export3(@PathVariable(required = false) String date, HttpServletResponse response) { |
|||
this.hisExport(date,response); |
|||
} |
|||
|
|||
private void hisExport( String date, HttpServletResponse response) { |
|||
String fileName = "数字化表计全面巡视作业卡"; |
|||
getResponseHeader(response, fileName, date); |
|||
List<Integer> roomIds = getTitleId(fileName+"-s1"); |
|||
Date checkDate = new Date(); |
|||
if(StringUtils.isNotBlank(date)) { |
|||
//checkDate = DateUtils.stringToDate(date, DATE_PATTERN);
|
|||
} |
|||
List<SnMeterHistory> showList = snMeterHistoryService.getListByRoomIds(roomIds,checkDate); |
|||
HashMap<Integer, XlsExport1> tmp1 = new HashMap<>(); |
|||
//油温表 1 油位表 2 档位表 3
|
|||
showList.forEach(r->{ |
|||
if( !tmp1.containsKey(r.getMeterId()) ) { |
|||
tmp1.put(r.getMeterId(),new XlsExport1()); |
|||
} |
|||
if ( r.getMeterTypeId().equals(1) && r.getMeterPosition().equals("本体") ) { |
|||
tmp1.get(r.getMeterId()).setReading1("本体油温表:"+r.getReadingValue()); |
|||
} else if ( r.getMeterTypeId().equals(1) && r.getMeterPosition().equals("本体南侧") ) { |
|||
tmp1.get(r.getMeterId()).setReading1("本体南侧油温表1:"+r.getReadingValue()); |
|||
} else if( r.getMeterTypeId().equals(1) && r.getMeterPosition().equals("本体北侧") ){ |
|||
tmp1.get(r.getMeterId()).setReading2("本体北侧油温表2:"+r.getReadingValue()); |
|||
}else if( r.getMeterTypeId().equals(2) && r.getMeterPosition().equals("本体") ){ |
|||
tmp1.get(r.getMeterId()).setReading3("本体油位:"+r.getReadingValue()); |
|||
}else if( r.getMeterTypeId().equals(2) && r.getMeterPosition().equals("有载") ){ |
|||
tmp1.get(r.getMeterId()).setReading4("有载油位:"+r.getReadingValue()); |
|||
}else if( r.getMeterTypeId().equals(3) && r.getMeterPosition().equals("有载") ){ |
|||
tmp1.get(r.getMeterId()).setReading5("有载档位:"+r.getReadingValue()); |
|||
} |
|||
}); |
|||
|
|||
List<XlsExport1> sheet1List = new ArrayList<>(); |
|||
roomIds.forEach (r->{ |
|||
sheet1List.add(tmp1.get(r)); |
|||
}); |
|||
|
|||
//组合电器(GIS)1
|
|||
List<Integer> distinctionId = getTitleId(fileName+"-s2"); |
|||
SnMeterHistory p = new SnMeterHistory(); |
|||
p.setDeviceType("组合电器"); |
|||
showList = snMeterHistoryService.getListByCircuitIds(distinctionId,checkDate,p); |
|||
HashMap<Integer,XlsExport1> tmp2 = new HashMap<>(); |
|||
showList.forEach(r->{ |
|||
// //林上2B79/1号主变
|
|||
// if(r.getCircuitId().equals(2) || r.getCircuitId().equals(9)){
|
|||
// r.setCircuitId(1900);
|
|||
// }
|
|||
// //康上2B80/2号主变
|
|||
// if(r.getCircuitId().equals(10) || r.getCircuitId().equals(6)){
|
|||
// r.setCircuitId(1700);
|
|||
// }
|
|||
// if( !tmp2.containsKey(r.getCircuitId()) ) {
|
|||
// tmp2.put(r.getCircuitId(),new XlsExport1());
|
|||
// }
|
|||
//
|
|||
// if ( r.getMeterPosition().equals("通管气室") && r.getDistinctionId().equals(1) && StringUtils.isNotBlank(r.getReadingValue()) ) {
|
|||
// tmp2.get(r.getCircuitId()).setReading1("A相:"+r.getReadingValue());
|
|||
// } else if ( r.getMeterPosition().equals("通管气室") && r.getDistinctionId().equals(2) ) {
|
|||
// tmp2.get(r.getCircuitId()).setReading2("B相:"+r.getReadingValue());
|
|||
// } else if ( r.getMeterPosition().equals("通管气室") && r.getDistinctionId().equals(3) ) {
|
|||
// tmp2.get(r.getCircuitId()).setReading3("C相:"+r.getReadingValue());
|
|||
// }else if( r.getMeterPosition().equals("GIS室通管气室") && r.getDistinctionId().equals(1) ){
|
|||
// tmp2.get(r.getCircuitId()).setReading4("A相:"+r.getReadingValue());
|
|||
// }else if( r.getMeterPosition().equals("GIS室通管气室") && r.getDistinctionId().equals(2) ){
|
|||
// tmp2.get(r.getCircuitId()).setReading5("B相:"+r.getReadingValue());
|
|||
// }else if( r.getMeterPosition().equals("GIS室通管气室") && r.getDistinctionId().equals(3) ){
|
|||
// tmp2.get(r.getCircuitId()).setReading6("C相:"+r.getReadingValue());
|
|||
// }else if( r.getMeterPosition().equals("开关气室") && r.getDistinctionId().equals(1) ){
|
|||
// tmp2.get(r.getCircuitId()).setReading7("A相:"+r.getReadingValue());
|
|||
// }else if( r.getMeterPosition().equals("开关气室") && r.getDistinctionId().equals(2) ){
|
|||
// tmp2.get(r.getCircuitId()).setReading8("B相:"+r.getReadingValue());
|
|||
// }else if( r.getMeterPosition().equals("开关气室") && r.getDistinctionId().equals(3) ){
|
|||
// tmp2.get(r.getCircuitId()).setReading9("C相:"+r.getReadingValue());
|
|||
// }else if( r.getMeterPosition().equals("开关变压器侧流变气室") ){
|
|||
// tmp2.get(r.getCircuitId()).setReading10(r.getReadingValue());
|
|||
// }else if( r.getMeterPosition().equals("开关线路侧流变气室") ){
|
|||
// tmp2.get(r.getCircuitId()).setReading11(r.getReadingValue());
|
|||
// }else if( r.getMeterPosition().equals("避雷器气室")){
|
|||
// tmp2.get(r.getCircuitId()).setReading12(r.getReadingValue());
|
|||
// }else if( r.getMeterPosition().equals("过渡气室")){
|
|||
// tmp2.get(r.getCircuitId()).setReading13(r.getReadingValue());
|
|||
// }else if( r.getMeterPosition().equals("压变气室")){
|
|||
// tmp2.get(r.getCircuitId()).setReading14(r.getReadingValue());
|
|||
// }else if( r.getMeterPosition().equals("线路电缆端筒体气室")){
|
|||
// tmp2.get(r.getCircuitId()).setReading15(r.getReadingValue());
|
|||
// }else if( r.getMeterPosition().equals("母刀气室")){
|
|||
// tmp2.get(r.getCircuitId()).setReading16(r.getReadingValue());
|
|||
// }else if( r.getMeterPosition().equals("变刀气室")){
|
|||
// tmp2.get(r.getCircuitId()).setReading17(r.getReadingValue());
|
|||
// }else if( r.getMeterPosition().equals("开关") && r.getDistinctionId().equals(1) ){
|
|||
// tmp2.get(r.getCircuitId()).setReading18("A相:"+r.getReadingValue());
|
|||
// }else if( r.getMeterPosition().equals("开关") && r.getDistinctionId().equals(2) ){
|
|||
// tmp2.get(r.getCircuitId()).setReading19("B相:"+r.getReadingValue());
|
|||
// }else if( r.getMeterPosition().equals("开关") && r.getDistinctionId().equals(3) ){
|
|||
// tmp2.get(r.getCircuitId()).setReading20("C相:"+r.getReadingValue());
|
|||
// }else if( r.getMeterPosition().equals("避雷器") && r.getDistinctionId().equals(1) ){
|
|||
// tmp2.get(r.getCircuitId()).setReading21("A相:"+r.getReadingValue());
|
|||
// tmp2.get(r.getCircuitId()).setReading24("A相:"+r.getReading2());
|
|||
// }else if( r.getMeterPosition().equals("避雷器") && r.getDistinctionId().equals(2) ){
|
|||
// tmp2.get(r.getCircuitId()).setReading22("B相:"+r.getReadingValue());
|
|||
// tmp2.get(r.getCircuitId()).setReading25("B相:"+r.getReading2());
|
|||
// }else if( r.getMeterPosition().equals("避雷器") && r.getDistinctionId().equals(3) ){
|
|||
// tmp2.get(r.getCircuitId()).setReading23("C相:"+r.getReadingValue());
|
|||
// tmp2.get(r.getCircuitId()).setReading26("C相:"+r.getReading2());
|
|||
// }
|
|||
}); |
|||
List<XlsExport1> sheet2List = new ArrayList<>(); |
|||
|
|||
distinctionId.forEach (r->{ |
|||
if(r.equals(2) || r.equals(6)){ |
|||
return; |
|||
} |
|||
//林上2B79/1号主变
|
|||
if(r.equals(2) || r.equals(9)){ |
|||
r=1900; |
|||
}else if(r.equals(10) || r.equals(6)){ |
|||
r=1700; |
|||
} |
|||
sheet2List.add(tmp2.get(r)); |
|||
}); |
|||
|
|||
//
|
|||
List<Integer> s3 = getTitleId(fileName+"-s3"); |
|||
showList = snMeterHistoryService.getListByCircuitIds(s3,checkDate, p); |
|||
HashMap<Integer,XlsExport1> tmp3 = new HashMap<>(); |
|||
showList.forEach(r->{ |
|||
// if( !tmp3.containsKey(r.getCircuitId()) ) {
|
|||
// tmp3.put(r.getCircuitId(),new XlsExport1());
|
|||
// }
|
|||
// if ( r.getMeterPosition().equals("开关气室") ) {
|
|||
// tmp3.get(r.getCircuitId()).setReading1(r.getReadingValue());
|
|||
// } else if ( r.getMeterPosition().equals("开关线路侧流变") ) {
|
|||
// tmp3.get(r.getCircuitId()).setReading2(r.getReadingValue());
|
|||
// }else if ( r.getMeterPosition().equals("母刀气室") ) {
|
|||
// tmp3.get(r.getCircuitId()).setReading3(r.getReadingValue());
|
|||
// }else if ( r.getMeterPosition().equals("线刀气室") ) {
|
|||
// tmp3.get(r.getCircuitId()).setReading4(r.getReadingValue());
|
|||
// }else if ( r.getMeterPosition().equals("开关") ) {
|
|||
// tmp3.get(r.getCircuitId()).setReading5(r.getReadingValue());
|
|||
// }else if ( r.getMeterPosition().equals("一母刀气室") ) {
|
|||
// tmp3.get(r.getCircuitId()).setReading6(r.getReadingValue());
|
|||
// }else if ( r.getMeterPosition().equals("一母侧流变气室") ) {
|
|||
// tmp3.get(r.getCircuitId()).setReading7(r.getReadingValue());
|
|||
// }else if ( r.getMeterPosition().equals("二母刀气室") ) {
|
|||
// tmp3.get(r.getCircuitId()).setReading8(r.getReadingValue());
|
|||
// }else if ( r.getMeterPosition().equals("二母侧流变气室") ) {
|
|||
// tmp3.get(r.getCircuitId()).setReading9(r.getReadingValue());
|
|||
// }else if ( r.getMeterPosition().equals("三母刀气室") ) {
|
|||
// tmp3.get(r.getCircuitId()).setReading10(r.getReadingValue());
|
|||
// }else if ( r.getMeterPosition().equals("三母侧流变气室") ) {
|
|||
// tmp3.get(r.getCircuitId()).setReading11(r.getReadingValue());
|
|||
// }else if ( r.getMeterPosition().equals("三母扩展气室") ) {
|
|||
// tmp3.get(r.getCircuitId()).setReading12(r.getReadingValue());
|
|||
// }
|
|||
}); |
|||
List<XlsExport1> sheet3List = new ArrayList<>(); |
|||
s3.forEach (r->{ |
|||
sheet3List.add(tmp3.get(r)); |
|||
}); |
|||
|
|||
//
|
|||
List<Integer> s41 = getTitleId(fileName+"-s41"); |
|||
//showList = snMeterHistoryService.getListByCircuitIds(s41,checkDate);
|
|||
XlsExport1 sheet41List = new XlsExport1(); |
|||
//动作计数器 5 //58 //59 //60 //61
|
|||
showList.forEach(r->{ |
|||
// if ( r.getDistinctionId().equals(1) && r.getCircuitId().equals(58) ) {
|
|||
// if(StringUtils.isNotBlank(r.getReadingValue())){
|
|||
// sheet41List.setReading1("A相:"+r.getReadingValue());
|
|||
// }
|
|||
// if(StringUtils.isNotBlank(r.getReading2())) {
|
|||
// sheet41List.setReading13("A相:" + r.getReading2());
|
|||
// }
|
|||
// } else if ( r.getDistinctionId().equals(2) && r.getCircuitId().equals(58) ) {
|
|||
// if(StringUtils.isNotBlank(r.getReadingValue())) {
|
|||
// sheet41List.setReading2("B相:"+r.getReadingValue());
|
|||
// }
|
|||
// if(StringUtils.isNotBlank(r.getReading2())) {
|
|||
// sheet41List.setReading14("B相:"+r.getReading2());
|
|||
// }
|
|||
// } else if ( r.getDistinctionId().equals(3) && r.getCircuitId().equals(58) ) {
|
|||
// if(StringUtils.isNotBlank(r.getReadingValue())) {
|
|||
// sheet41List.setReading3("C相:"+r.getReadingValue());
|
|||
// }
|
|||
// if(StringUtils.isNotBlank(r.getReading2())) {
|
|||
// sheet41List.setReading15("C相:"+r.getReading2());
|
|||
// }
|
|||
// }else if ( r.getDistinctionId().equals(1) && r.getCircuitId().equals(59) ) {
|
|||
// if(StringUtils.isNotBlank(r.getReadingValue())) {
|
|||
// sheet41List.setReading4("A相:"+r.getReadingValue());
|
|||
// }
|
|||
// if(StringUtils.isNotBlank(r.getReading2())) {
|
|||
// sheet41List.setReading16("A相:"+r.getReading2());
|
|||
// }
|
|||
// } else if ( r.getDistinctionId().equals(2) && r.getCircuitId().equals(59) ) {
|
|||
// if(StringUtils.isNotBlank(r.getReadingValue())) {
|
|||
// sheet41List.setReading5("B相:"+r.getReadingValue());
|
|||
// }
|
|||
// if(StringUtils.isNotBlank(r.getReading2())) {
|
|||
// sheet41List.setReading17("B相:"+r.getReading2());
|
|||
// }
|
|||
// } else if ( r.getDistinctionId().equals(3) && r.getCircuitId().equals(59) ) {
|
|||
// if(StringUtils.isNotBlank(r.getReadingValue())) {
|
|||
// sheet41List.setReading6("C相:"+r.getReadingValue());
|
|||
// }
|
|||
// if(StringUtils.isNotBlank(r.getReading2())) {
|
|||
// sheet41List.setReading18("C相:"+r.getReading2());
|
|||
// }
|
|||
// }else if ( r.getDistinctionId().equals(1) && r.getCircuitId().equals(60) ) {
|
|||
// if(StringUtils.isNotBlank(r.getReadingValue())) {
|
|||
// sheet41List.setReading7("A相:"+r.getReadingValue());
|
|||
// }
|
|||
// if(StringUtils.isNotBlank(r.getReading2())) {
|
|||
// sheet41List.setReading19("A相:"+r.getReading2());
|
|||
// }
|
|||
// } else if ( r.getDistinctionId().equals(2) && r.getCircuitId().equals(60) ) {
|
|||
// if(StringUtils.isNotBlank(r.getReadingValue())) {
|
|||
// sheet41List.setReading8("B相:"+r.getReadingValue());
|
|||
// }
|
|||
// if(StringUtils.isNotBlank(r.getReading2())) {
|
|||
// sheet41List.setReading20("B相:"+r.getReading2());
|
|||
// }
|
|||
// } else if ( r.getDistinctionId().equals(3) && r.getCircuitId().equals(60) ) {
|
|||
// if(StringUtils.isNotBlank(r.getReadingValue())) {
|
|||
// sheet41List.setReading9("C相:"+r.getReadingValue());
|
|||
// }
|
|||
// if(StringUtils.isNotBlank(r.getReading2())) {
|
|||
// sheet41List.setReading21("C相:"+r.getReading2());
|
|||
// }
|
|||
// } else if ( r.getDistinctionId().equals(2) && r.getCircuitId().equals(61) ) {
|
|||
// if(StringUtils.isNotBlank(r.getReadingValue())) {
|
|||
// sheet41List.setReading10("A相:"+r.getReadingValue());
|
|||
// }
|
|||
// if(StringUtils.isNotBlank(r.getReading2())) {
|
|||
// sheet41List.setReading22("A相:"+r.getReading2());
|
|||
// }
|
|||
// } else if ( r.getDistinctionId().equals(3) && r.getCircuitId().equals(61) ) {
|
|||
// if(StringUtils.isNotBlank(r.getReadingValue())) {
|
|||
// sheet41List.setReading11("B相:"+r.getReadingValue());
|
|||
// }
|
|||
// if(StringUtils.isNotBlank(r.getReading2())) {
|
|||
// sheet41List.setReading23("B相:"+r.getReading2());
|
|||
// }
|
|||
// }else if ( r.getDistinctionId().equals(1) && r.getCircuitId().equals(61) ) {
|
|||
// if(StringUtils.isNotBlank(r.getReadingValue())) {
|
|||
// sheet41List.setReading12("C相:"+r.getReadingValue());
|
|||
// }
|
|||
// if(StringUtils.isNotBlank(r.getReading2())) {
|
|||
// sheet41List.setReading24("C相:"+r.getReading2());
|
|||
// }
|
|||
// }
|
|||
}); |
|||
|
|||
//回路+相别+设备类型
|
|||
// SnExport param = new SnExport();
|
|||
// param.setExportName(fileName+"-s4");
|
|||
// List<SnExport> exporList = snExportService.getListByName(param);
|
|||
// List<Integer> circuitIds = new ArrayList<>();
|
|||
// HashMap<String,String> readMap = new HashMap<>();
|
|||
// exporList.forEach(r->{
|
|||
// readMap.put(r.getTitleId().toString(),r.getOrderNum().toString());
|
|||
// circuitIds.add(r.getTitleId());
|
|||
// });
|
|||
//
|
|||
// showList = snMeterHistoryService.getListByCircuitIds(circuitIds,checkDate);
|
|||
// //动作计数器 5 泄漏电流表 6
|
|||
// showList.forEach(r->{
|
|||
// String mk = r.getCircuitId().toString();
|
|||
// if( readMap.containsKey(mk)){
|
|||
// readMap.put("readmap"+ readMap.get(mk),r.getReadingValue());
|
|||
// }
|
|||
// });
|
|||
// XlsExport3 readMapBean = new XlsExport3();
|
|||
// try {
|
|||
// BeanUtils.copyProperties(readMapBean,readMap);
|
|||
// } catch (Exception e) {
|
|||
// e.printStackTrace();
|
|||
// }
|
|||
//
|
|||
// //----
|
|||
// List<Integer> s5 = getTitleId(fileName+"-s5");
|
|||
// showList = snMeterHistoryService.getListByCircuitIds(s5,checkDate);
|
|||
// HashMap<Integer,XlsExport1> tmp6 = new HashMap<>();
|
|||
// showList.forEach(r->{
|
|||
// if( !tmp6.containsKey(r.getCircuitId()) ) {
|
|||
// tmp6.put(r.getCircuitId(),new XlsExport1());
|
|||
// }
|
|||
// //动作计数器 5 泄漏电流表 6
|
|||
// if ( r.getMeterTypeId().equals(6) && r.getDistinctionId().equals(1) ) {
|
|||
// if(StringUtils.isNotBlank(r.getReadingValue())){
|
|||
// tmp6.get(r.getCircuitId()).setReading1("A相:"+r.getReadingValue());
|
|||
// }
|
|||
// if(StringUtils.isNotBlank(r.getReading2())) {
|
|||
// tmp6.get(r.getCircuitId()).setReading4("A相:" + r.getReading2());
|
|||
// }
|
|||
// } else if ( r.getMeterTypeId().equals(6) && r.getDistinctionId().equals(2) ) {
|
|||
// if(StringUtils.isNotBlank(r.getReadingValue())) {
|
|||
// tmp6.get(r.getCircuitId()).setReading2("B相:" + r.getReadingValue());
|
|||
// }
|
|||
// if(StringUtils.isNotBlank(r.getReading2())) {
|
|||
// tmp6.get(r.getCircuitId()).setReading5("B相:" + r.getReading2());
|
|||
// }
|
|||
// }else if ( r.getMeterTypeId().equals(6) && r.getDistinctionId().equals(3) ) {
|
|||
// if(StringUtils.isNotBlank(r.getReadingValue())) {
|
|||
// tmp6.get(r.getCircuitId()).setReading3("C相:" + r.getReadingValue());
|
|||
// }
|
|||
// if(StringUtils.isNotBlank(r.getReading2())) {
|
|||
// tmp6.get(r.getCircuitId()).setReading6("C相:" + r.getReading2());
|
|||
// }
|
|||
// }
|
|||
// });
|
|||
// List<XlsExport1> sheet5List = new ArrayList<>();
|
|||
// s5.forEach (r->{
|
|||
// sheet5List.add(tmp6.get(r));
|
|||
// });
|
|||
//
|
|||
// try {
|
|||
// String templateFileName = this.templateFileName + "file/XlsExport3.xls";
|
|||
// // 如果有多个list 模板上必须有{前缀.} 这里的前缀就是 data1,然后多个list必须用 FillWrapper包裹
|
|||
// // 方案1 根据对象填充
|
|||
// try ( ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).withTemplate(templateFileName).build() ) {
|
|||
// FillConfig fillConfig = FillConfig.builder().direction(WriteDirectionEnum.HORIZONTAL).build();
|
|||
//
|
|||
// WriteSheet sheet1 = EasyExcel.writerSheet("变压器").build();
|
|||
// excelWriter.fill(new FillWrapper("data1", sheet1List), fillConfig,sheet1);
|
|||
//
|
|||
// WriteSheet sheet2 = EasyExcel.writerSheet("组合电器(GIS)1").build();
|
|||
// excelWriter.fill(new FillWrapper("data2", sheet2List), fillConfig,sheet2);
|
|||
//
|
|||
// WriteSheet sheet3 = EasyExcel.writerSheet("组合电器(GIS)2").build();
|
|||
// excelWriter.fill(new FillWrapper("data3", sheet3List), fillConfig,sheet3);
|
|||
//
|
|||
// WriteSheet sheet4 = EasyExcel.writerSheet("开关柜").build();
|
|||
// excelWriter.fill(readMapBean, sheet4);
|
|||
// excelWriter.fill(sheet41List, sheet4);
|
|||
//
|
|||
// WriteSheet sheet5 = EasyExcel.writerSheet("敞开式避雷器").build();
|
|||
// excelWriter.fill(new FillWrapper("data6", sheet5List), fillConfig,sheet5);
|
|||
//
|
|||
// excelWriter.finish();
|
|||
// }
|
|||
// } catch (IOException e) {
|
|||
// throw new RuntimeException(e);
|
|||
// }
|
|||
} |
|||
|
|||
private HttpServletResponse getResponseHeader(HttpServletResponse response, String fileName, String date){ |
|||
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); |
|||
response.setCharacterEncoding("utf-8"); |
|||
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + encodeStr(fileName+"-"+date) + ".xlsx"); |
|||
return response; |
|||
} |
|||
|
|||
private List<Integer> getTitleId(String fileName){ |
|||
SnExport param = new SnExport(); |
|||
param.setExportName(fileName); |
|||
List<SnExport> exporList = snExportService.getListByName(param); |
|||
List<Integer> ids = new ArrayList<>(); |
|||
exporList.forEach(r->{ |
|||
ids.add(r.getTitleId()); |
|||
}); |
|||
return ids; |
|||
} |
|||
|
|||
/** |
|||
* 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系 |
|||
* @param str |
|||
* @return |
|||
*/ |
|||
private String encodeStr(String str){ |
|||
try { |
|||
return URLEncoder.encode(str, "UTF-8").replaceAll("\\+", "%20"); |
|||
} catch (UnsupportedEncodingException e) { |
|||
throw new RuntimeException(e); |
|||
} |
|||
} |
|||
|
|||
} |
|||
Binary file not shown.
Loading…
Reference in new issue