Commit 543beff0 authored by caotao's avatar caotao

1.户用光伏数据日报表接口开发。

parent a1299823
......@@ -12,6 +12,12 @@ public class TdHYGFInverterDayGenerate implements Serializable {
* 创建时间
*/
private Long createdTime;
/**
* 创建时间
*/
private String createdTimeStr;
/**
* 第三方场站id
*/
......
package com.yeejoin.amos.boot.module.hygf.biz.controller;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.yeejoin.amos.boot.module.hygf.api.entity.TdHYGFInverterDayGenerate;
import org.apache.commons.io.IOUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -9,6 +10,7 @@ import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import org.springframework.core.io.Resource;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
......@@ -21,7 +23,9 @@ import com.yeejoin.amos.boot.module.hygf.biz.service.impl.JpInverterServiceImpl;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
......@@ -47,170 +51,173 @@ import static com.alibaba.fastjson.JSON.parseArray;
@RequestMapping(value = "/jp-inverter")
public class JpInverterController extends BaseController {
@Autowired
JpInverterServiceImpl jpInverterServiceImpl;
@Autowired
JpPersonStationMapper pPersonStationMapper;
@Value("classpath:/json/paramsTree.json")
private Resource paramsTree;
/**
* 新增户用光伏监盘逆变器表
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增户用光伏监盘逆变器表", notes = "新增户用光伏监盘逆变器表")
public ResponseModel<JpInverterDto> save(@RequestBody JpInverterDto model) {
model = jpInverterServiceImpl.createWithModel(model);
return ResponseHelper.buildResponse(model);
}
/**
* 根据sequenceNbr更新
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新户用光伏监盘逆变器表", notes = "根据sequenceNbr更新户用光伏监盘逆变器表")
public ResponseModel<JpInverterDto> updateBySequenceNbrJpInverter(@RequestBody JpInverterDto model,
@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(jpInverterServiceImpl.updateWithModel(model));
}
/**
* 根据sequenceNbr删除
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除户用光伏监盘逆变器表", notes = "根据sequenceNbr删除户用光伏监盘逆变器表")
public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request,
@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
return ResponseHelper.buildResponse(jpInverterServiceImpl.removeById(sequenceNbr));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个户用光伏监盘逆变器表", notes = "根据sequenceNbr查询单个户用光伏监盘逆变器表")
public ResponseModel<JpInverterDto> selectOne(@PathVariable Long sequenceNbr) {
JpInverterDto jpInverter= jpInverterServiceImpl.queryBySeq(sequenceNbr);
jpInverter.setDayPowerGeneration(jpInverter.getDayPowerGeneration()!=null?jpInverter.getDayPowerGeneration()/1000:0);
jpInverter.setMonthPowerGeneration(jpInverter.getMonthPowerGeneration()!=null?jpInverter.getMonthPowerGeneration()/1000:0);
jpInverter.setYearPowerGeneration(jpInverter.getYearPowerGeneration()!=null?jpInverter.getYearPowerGeneration()/1000:0);
jpInverter.setTotalPowerGeneration(jpInverter.getTotalPowerGeneration()!=null?jpInverter.getTotalPowerGeneration()/1000:0);
@Autowired
JpInverterServiceImpl jpInverterServiceImpl;
@Autowired
JpPersonStationMapper pPersonStationMapper;
@Value("classpath:/json/paramsTree.json")
private Resource paramsTree;
/**
* 新增户用光伏监盘逆变器表
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增户用光伏监盘逆变器表", notes = "新增户用光伏监盘逆变器表")
public ResponseModel<JpInverterDto> save(@RequestBody JpInverterDto model) {
model = jpInverterServiceImpl.createWithModel(model);
return ResponseHelper.buildResponse(model);
}
/**
* 根据sequenceNbr更新
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新户用光伏监盘逆变器表", notes = "根据sequenceNbr更新户用光伏监盘逆变器表")
public ResponseModel<JpInverterDto> updateBySequenceNbrJpInverter(@RequestBody JpInverterDto model,
@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(jpInverterServiceImpl.updateWithModel(model));
}
/**
* 根据sequenceNbr删除
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除户用光伏监盘逆变器表", notes = "根据sequenceNbr删除户用光伏监盘逆变器表")
public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request,
@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
return ResponseHelper.buildResponse(jpInverterServiceImpl.removeById(sequenceNbr));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个户用光伏监盘逆变器表", notes = "根据sequenceNbr查询单个户用光伏监盘逆变器表")
public ResponseModel<JpInverterDto> selectOne(@PathVariable Long sequenceNbr) {
JpInverterDto jpInverter = jpInverterServiceImpl.queryBySeq(sequenceNbr);
jpInverter.setDayPowerGeneration(jpInverter.getDayPowerGeneration() != null ? jpInverter.getDayPowerGeneration() / 1000 : 0);
jpInverter.setMonthPowerGeneration(jpInverter.getMonthPowerGeneration() != null ? jpInverter.getMonthPowerGeneration() / 1000 : 0);
jpInverter.setYearPowerGeneration(jpInverter.getYearPowerGeneration() != null ? jpInverter.getYearPowerGeneration() / 1000 : 0);
jpInverter.setTotalPowerGeneration(jpInverter.getTotalPowerGeneration() != null ? jpInverter.getTotalPowerGeneration() / 1000 : 0);
return ResponseHelper.buildResponse(jpInverter);
}
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET", value = "户用光伏监盘逆变器表分页查询", notes = "户用光伏监盘逆变器表分页查询")
public ResponseModel<Page<JpInverterDto>> queryForPage(@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size, JpInverterDto jpInverterDto) {
List<JpPersonStation> pPersonStation =null;
if(jpInverterDto.getName()!=null&&!"".equals(jpInverterDto.getName())){
LambdaQueryWrapper<JpPersonStation> qug1=new LambdaQueryWrapper<>();
qug1.like(JpPersonStation::getStationName,jpInverterDto.getName());
pPersonStation=pPersonStationMapper.selectList(qug1);
}else{
}
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET", value = "户用光伏监盘逆变器表分页查询", notes = "户用光伏监盘逆变器表分页查询")
public ResponseModel<Page<JpInverterDto>> queryForPage(@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size, JpInverterDto jpInverterDto) {
List<JpPersonStation> pPersonStation = null;
if (jpInverterDto.getName() != null && !"".equals(jpInverterDto.getName())) {
LambdaQueryWrapper<JpPersonStation> qug1 = new LambdaQueryWrapper<>();
qug1.like(JpPersonStation::getStationName, jpInverterDto.getName());
pPersonStation = pPersonStationMapper.selectList(qug1);
} else {
LambdaQueryWrapper<JpPersonStation> qug = new LambdaQueryWrapper<>();
qug.eq(JpPersonStation::getPersonId, getUserInfo().getUserId());
pPersonStation = pPersonStationMapper.selectList(qug);
pPersonStation = pPersonStationMapper.selectList(qug);
}
if (!pPersonStation.isEmpty()) {
Page<JpInverterDto> page = new Page<JpInverterDto>();
page.setCurrent(current);
page.setSize(size);
List<String> ids = pPersonStation.stream().map(i -> i.getStationId()).collect(Collectors.toList());
jpInverterDto.setStationIds(ids);
return ResponseHelper.buildResponse(jpInverterServiceImpl.queryForJpInverterPage(page, jpInverterDto));
} else {
return ResponseHelper.buildResponse(new Page<JpInverterDto>());
}
}
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "户用光伏监盘逆变器表列表全部数据查询", notes = "户用光伏监盘逆变器表列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<JpInverterDto>> selectForList() {
return ResponseHelper.buildResponse(jpInverterServiceImpl.queryForJpInverterList());
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/queryForDataPage")
@ApiOperation(httpMethod = "GET", value = "户用光伏监盘采集器表分页查询", notes = "户用光伏监盘采集器表分页查询")
public ResponseModel<Page<JpInverterDto>> queryForDataPage(@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size, JpInverterDto jpInverterDto) {
Page<JpInverterDto> page = new Page<JpInverterDto>();
page.setCurrent(current);
page.setSize(size);
page.setTotal(jpInverterServiceImpl.selectPageDataTota(jpInverterDto));
page.setRecords(jpInverterServiceImpl.selectPageData(jpInverterDto, (current - 1) * size, size));
return ResponseHelper.buildResponse(page);
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping(value = "/selectParamTree")
@ApiOperation(httpMethod = "GET", value = "逆变器图标 选择参数树", notes = "逆变器图标 选择参数树")
public ResponseModel<List<Map>> selectParamTree() {
String json = null;
try {
json = IOUtils.toString(paramsTree.getInputStream(), java.lang.String.valueOf(StandardCharsets.UTF_8));
} catch (IOException e) {
e.printStackTrace();
}
List<Map> list = parseArray(json, Map.class);
return ResponseHelper.buildResponse(list);
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping(value = "/jpInverterTrend")
@ApiOperation(httpMethod = "GET", value = "逆变器图标 折线图", notes = "逆变器图标 折线图")
public void jpInverterTrend(List<String> treeParams, String type, String time, String snCode, String thirdStationId) {
if (CollectionUtils.isNotEmpty(treeParams)) {
if (!pPersonStation.isEmpty()) {
Page<JpInverterDto> page = new Page<JpInverterDto>();
page.setCurrent(current);
page.setSize(size);
List<String> ids = pPersonStation.stream().map(i -> i.getStationId()).collect(Collectors.toList());
jpInverterDto.setStationIds(ids);
return ResponseHelper.buildResponse(jpInverterServiceImpl.queryForJpInverterPage(page, jpInverterDto));
} else {
return ResponseHelper.buildResponse(new Page<JpInverterDto>());
}
}
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "户用光伏监盘逆变器表列表全部数据查询", notes = "户用光伏监盘逆变器表列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<JpInverterDto>> selectForList() {
return ResponseHelper.buildResponse(jpInverterServiceImpl.queryForJpInverterList());
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/queryForDataPage")
@ApiOperation(httpMethod = "GET", value = "户用光伏监盘采集器表分页查询", notes = "户用光伏监盘采集器表分页查询")
public ResponseModel<Page<JpInverterDto>> queryForDataPage(@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size, JpInverterDto jpInverterDto) {
Page<JpInverterDto> page = new Page<JpInverterDto>();
page.setCurrent(current);
page.setSize(size);
page.setTotal(jpInverterServiceImpl.selectPageDataTota(jpInverterDto));
page.setRecords(jpInverterServiceImpl.selectPageData(jpInverterDto,(current-1)*size,size));
return ResponseHelper.buildResponse(page);
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "/selectParamTree")
@ApiOperation(httpMethod = "GET", value = "逆变器图标 选择参数树", notes = "逆变器图标 选择参数树")
public ResponseModel<List<Map>> selectParamTree() {
String json = null;
try {
json = IOUtils.toString(paramsTree.getInputStream(), java.lang.String.valueOf(StandardCharsets.UTF_8));
} catch (IOException e) {
e.printStackTrace();
}
List<Map> list = parseArray(json, Map.class);
return ResponseHelper.buildResponse(list);
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "/jpInverterTrend")
@ApiOperation(httpMethod = "GET", value = "逆变器图标 折线图", notes = "逆变器图标 折线图")
public void jpInverterTrend (List<String> treeParams,String type,String time ,String snCode,String thirdStationId ){
if (CollectionUtils.isNotEmpty(treeParams)){
jpInverterServiceImpl.selectDayTrend(treeParams,time,snCode,thirdStationId);
}
// jpInverterServiceImpl.
}
jpInverterServiceImpl.selectDayTrend(treeParams, time, snCode, thirdStationId);
}
// jpInverterServiceImpl.
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping(value = "/jpInverterDayReport")
@ApiOperation(httpMethod = "GET", value = "逆变器日报表", notes = "逆变器日报表")
public ResponseModel<Page<TdHYGFInverterDayGenerate>> jpInverterDayReport(@RequestParam(value = "current") int current, @RequestParam(value = "size") int size, String time, @RequestParam(required = false) List<String> snCodes) {
return ResponseHelper.buildResponse(jpInverterServiceImpl.jpInverterDayReport(current,size,time,snCodes));
}
}
package com.yeejoin.amos.boot.module.hygf.biz.service.impl;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yeejoin.amos.boot.module.hygf.api.config.UserLimits;
import com.yeejoin.amos.boot.module.hygf.api.entity.TdHYGFInverterDayGenerate;
import com.yeejoin.amos.boot.module.hygf.api.tdenginemapper.TdHYGFInverterDayGenerateMapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
......@@ -24,60 +33,84 @@ import com.yeejoin.amos.boot.module.hygf.api.service.IJpInverterService;
*/
@Service
public class JpInverterServiceImpl extends BaseService<JpInverterDto, JpInverter, JpInverterMapper>
implements IJpInverterService {
/**
* 分页查询
*/
public Page<JpInverterDto> queryForJpInverterPage(Page<JpInverterDto> page, JpInverterDto jpInverterDto) {
Page<JpInverter> entiryPage = new Page<>(page.getCurrent(), page.getSize());
LambdaQueryWrapper<JpInverter> wrapper = new LambdaQueryWrapper<>();
if (jpInverterDto.getState() != null) {
wrapper.eq(JpInverter::getState, jpInverterDto.getState());
}
if(StringUtils.isNotEmpty(jpInverterDto.getSnCode())) {
wrapper.like(JpInverter::getSnCode, jpInverterDto.getSnCode());
}
if (!jpInverterDto.getStationIds().isEmpty()) {
wrapper.in(JpInverter::getThirdStationId, jpInverterDto.getStationIds());
}
wrapper.orderByDesc(JpInverter::getUpdateTime);
entiryPage = (Page<JpInverter>) this.page(entiryPage, wrapper);
if (!ValidationUtil.isEmpty(entiryPage.getRecords())) {
page.setTotal(entiryPage.getTotal());
page.setPages(entiryPage.getPages());
page.setCurrent(entiryPage.getCurrent());
page.setSize(entiryPage.getSize());
if (!ValidationUtil.isEmpty(entiryPage.getRecords()))
page.setRecords(Bean.toModels(entiryPage.getRecords(), this.getModelClass()));
}
return page;
}
/**
* 列表查询 示例
*/
public List<JpInverterDto> queryForJpInverterList() {
return this.queryForList("", false);
}
@UserLimits
implements IJpInverterService {
@Autowired
TdHYGFInverterDayGenerateMapper tdHYGFInverterDayGenerateMapper;
/**
* 分页查询
*/
public Page<JpInverterDto> queryForJpInverterPage(Page<JpInverterDto> page, JpInverterDto jpInverterDto) {
Page<JpInverter> entiryPage = new Page<>(page.getCurrent(), page.getSize());
LambdaQueryWrapper<JpInverter> wrapper = new LambdaQueryWrapper<>();
if (jpInverterDto.getState() != null) {
wrapper.eq(JpInverter::getState, jpInverterDto.getState());
}
if (StringUtils.isNotEmpty(jpInverterDto.getSnCode())) {
wrapper.like(JpInverter::getSnCode, jpInverterDto.getSnCode());
}
if (!jpInverterDto.getStationIds().isEmpty()) {
wrapper.in(JpInverter::getThirdStationId, jpInverterDto.getStationIds());
}
wrapper.orderByDesc(JpInverter::getUpdateTime);
entiryPage = (Page<JpInverter>) this.page(entiryPage, wrapper);
if (!ValidationUtil.isEmpty(entiryPage.getRecords())) {
page.setTotal(entiryPage.getTotal());
page.setPages(entiryPage.getPages());
page.setCurrent(entiryPage.getCurrent());
page.setSize(entiryPage.getSize());
if (!ValidationUtil.isEmpty(entiryPage.getRecords()))
page.setRecords(Bean.toModels(entiryPage.getRecords(), this.getModelClass()));
}
return page;
}
/**
* 列表查询 示例
*/
public List<JpInverterDto> queryForJpInverterList() {
return this.queryForList("", false);
}
@UserLimits
public List<JpInverterDto> selectPageData(JpInverterDto jpInverterDto, int current, int size) {
return this.getBaseMapper().selectPageData(jpInverterDto,current,size);
}
@UserLimits
public long selectPageDataTota(JpInverterDto jpInverterDto) {
return this.getBaseMapper().selectPageDataTotal(jpInverterDto);
}
public void selectDayTrend(List<String> treeParams, String time, String snCode, String thirdStationId) {
}
return this.getBaseMapper().selectPageData(jpInverterDto, current, size);
}
@UserLimits
public long selectPageDataTota(JpInverterDto jpInverterDto) {
return this.getBaseMapper().selectPageDataTotal(jpInverterDto);
}
public void selectDayTrend(List<String> treeParams, String time, String snCode, String thirdStationId) {
}
public Page<TdHYGFInverterDayGenerate> jpInverterDayReport(int current, int size, String time, List<String> sncodes) {
Page<TdHYGFInverterDayGenerate> tdHYGFInverterDayGeneratePage = new Page<>();
Date date = DateUtil.parse(time, "yyyy-MM-dd");
String startTime = DateUtil.format(date, "yyyy-MM-dd") + "00:00:00";
String endTime = DateUtil.format(date, "yyyy-MM-dd") + "23:59:59";
QueryWrapper queryWrapper = new QueryWrapper<TdHYGFInverterDayGenerate>()
.ge("created_time", startTime)
.le("created_time", endTime);
if (CollectionUtil.isNotEmpty(sncodes)) {
queryWrapper.in("sn_code", sncodes);
}
queryWrapper.orderByDesc("created_time");
List<TdHYGFInverterDayGenerate> tdHYGFInverterDayGenerates = tdHYGFInverterDayGenerateMapper.selectList(queryWrapper);
tdHYGFInverterDayGeneratePage.setTotal(tdHYGFInverterDayGenerates.size());
tdHYGFInverterDayGeneratePage.setSize(size);
tdHYGFInverterDayGeneratePage.setCurrent(current);
tdHYGFInverterDayGenerates=tdHYGFInverterDayGenerates.subList((current-1)*size,current*size>tdHYGFInverterDayGenerates.size()?tdHYGFInverterDayGenerates.size():current*size);
tdHYGFInverterDayGenerates.forEach(tdHYGFInverterDayGenerate -> {
Date date1=new Date(tdHYGFInverterDayGenerate.getCreatedTime());
tdHYGFInverterDayGenerate.setCreatedTimeStr(DateUtil.format(date1, DatePattern.NORM_DATETIME_PATTERN));
});
tdHYGFInverterDayGeneratePage.setRecords(tdHYGFInverterDayGenerates);
return tdHYGFInverterDayGeneratePage;
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment