package com.njcn.jbsyncdata.controller; import cn.hutool.core.util.StrUtil; import com.alibaba.excel.EasyExcel; import com.njcn.jbsyncdata.pojo.DisPhotovoltaic10Excel; import com.njcn.jbsyncdata.pojo.DisPhotovoltaic380Excel; import com.njcn.jbsyncdata.pojo.ExcelData; import com.njcn.jbsyncdata.service.DisPhotovoltaicService; import com.njcn.jbsyncdata.service.IBusinessService; import com.njcn.jbsyncdata.util.StreamUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.stream.Collectors; /** * @author wr * @description * @date 2023/9/26 15:28 */ @RestController @Slf4j @Api(tags = "冀北数据管理") @RequestMapping("/dataImport") @RequiredArgsConstructor public class DisPhotovoltaicController { private final IBusinessService businessService; private final DisPhotovoltaicService disPhotovoltaicService; @ApiOperation(value = "获取10kv分布式光伏接入情况") @PostMapping("/import10") public void importTakeOrder(MultipartFile file) throws Exception { List list = EasyExcel.read(file.getInputStream()) .head(ExcelData.class) .headRowNumber(2) .sheet(2).doReadSync(); //排重 list = list.stream() .filter(t -> StrUtil.isNotBlank(t.getGenerationUserID())) .filter(StreamUtil.distinctByKey(ExcelData::getGenerationUserID)) .collect(Collectors.toList()); businessService.testInterfaceByUserId(list); System.out.println(); } @ApiOperation(value = "获取380kv分布式光伏接入情况") @PostMapping("/import380") public void import380(MultipartFile file) throws Exception { List list = EasyExcel.read(file.getInputStream()) .head(ExcelData.class) .headRowNumber(2) .sheet(3).doReadSync(); //排重 list = list.stream() .filter(t -> StrUtil.isNotBlank(t.getGenerationUserID())) .filter(StreamUtil.distinctByKey(ExcelData::getGenerationUserID)) .collect(Collectors.toList()); businessService.testInterfaceByUserId(list); System.out.println(); } @ApiOperation(value = "导入10kv分布式光伏接入情况", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE) @PostMapping("/import10KV") public void import10(MultipartFile file, HttpServletResponse response) throws Exception { List list = EasyExcel.read(file.getInputStream()) .head(DisPhotovoltaic10Excel.class) .headRowNumber(2) .sheet(2).doReadSync(); list = list.stream() .filter(t -> StrUtil.isNotBlank(t.getGenerationUserID())) .filter(t -> StrUtil.isNotBlank(t.getStageID())) .filter(StreamUtil.distinctByKey(DisPhotovoltaic10Excel::getGenerationUserID)) .collect(Collectors.toList()); disPhotovoltaicService.SavaPmsPowerGenerationUser10KV(list, response); } @ApiOperation(value = "导入380kv分布式光伏接入情况", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE) @PostMapping("/import380KV") public void import380KV(MultipartFile file, HttpServletResponse response) throws Exception { List list = EasyExcel.read(file.getInputStream()) .head(DisPhotovoltaic380Excel.class) .headRowNumber(1) .sheet(0).doReadSync(); list = list.stream() .filter(t -> StrUtil.isNotBlank(t.getGenerationUserID())) .filter(t -> StrUtil.isNotBlank(t.getStageID())) .filter(StreamUtil.distinctByKey(DisPhotovoltaic380Excel::getGenerationUserID)) .collect(Collectors.toList()); disPhotovoltaicService.SavaPmsPowerGenerationUser380KV(list, response); System.out.println(); } }