123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- package com.jiayue.biz.controller;
- import cn.hutool.core.io.FileUtil;
- import cn.hutool.core.util.StrUtil;
- import com.jiayue.biz.domain.FanTower;
- import com.jiayue.biz.domain.StationInfo;
- import com.jiayue.biz.dto.StationInfoDto;
- import com.jiayue.biz.service.ElectricStationService;
- import com.jiayue.biz.service.StationInfoService;
- import com.jiayue.biz.util.CommonUtil;
- import com.jiayue.common.core.controller.BaseController;
- import com.jiayue.common.core.domain.AjaxResult;
- import lombok.AllArgsConstructor;
- import lombok.extern.slf4j.Slf4j;
- import org.apache.commons.io.FileUtils;
- import org.springframework.web.bind.annotation.*;
- import org.springframework.web.multipart.MultipartFile;
- import java.io.File;
- import java.io.IOException;
- import java.nio.charset.StandardCharsets;
- import java.util.ArrayList;
- import java.util.List;
- @RestController
- @RequestMapping("/dataQuery/electricStation")
- @AllArgsConstructor
- @Slf4j
- public class ElectricStationController extends BaseController {
- private final ElectricStationService electricStationService;
- private final StationInfoService stationInfoService;
- @GetMapping("/selectElectricStation")
- public AjaxResult selectElectricStation() {
- return AjaxResult.success(stationInfoService.selectStationInfoDto());
- }
- @DeleteMapping
- public AjaxResult delElectricStation(@RequestBody StationInfoDto stationInfoDto) {
- stationInfoService.delStationInfo(stationInfoDto);
- return AjaxResult.success("200");
- }
- @PutMapping
- public AjaxResult updateElectricStation(@RequestBody StationInfoDto stationInfoDto) {
- stationInfoService.updateStationInfo(stationInfoDto);
- return AjaxResult.success("200");
- }
- @PostMapping
- public AjaxResult saveElectricStation(@RequestBody StationInfoDto stationInfoDto) {
- stationInfoService.saveStationInfo(stationInfoDto);
- return AjaxResult.success("200");
- }
- /**
- * 更新场站风机坐标数据
- *
- * @param file
- * @param projectNo
- * @return
- */
- @PostMapping("/fantowerFile")
- public AjaxResult uploadProjectFile(@RequestParam("file") MultipartFile file, @RequestParam("stationId") String stationId) {
- try {
- // 得到上传文件后缀
- String originalName = file.getOriginalFilename();
- String fileUrl = CommonUtil.getRealPath() + File.separator + "fantowerFile" + File.separator;
- // 复制文件
- File targetFile = new File(fileUrl, originalName);
- if (targetFile.exists()) {
- FileUtils.delete(targetFile);
- }
- FileUtils.writeByteArrayToFile(targetFile, file.getBytes());
- log.info("坐标文件上传成功:{} ,更新记录信息", fileUrl + originalName);
- //读取上传文件的内容
- List<String> fileStrList = FileUtil.readLines(targetFile, StandardCharsets.UTF_8);
- if (null == fileStrList || fileStrList.isEmpty()) {
- return success("读取文件内容为空");
- }
- String stationCode = fileStrList.get(0).split("\t")[1];
- if (!stationId.equals(stationCode)) {
- return error("读取文件内容不正确,填写的场站ID:" + stationCode + ",与选择的场站编号不符合");
- }
- StationInfo stationInfo = stationInfoService.getOneStationInfoByCode(stationCode);
- //风机型号
- String fjTypeStr = fileStrList.get(1);
- if (fjTypeStr.startsWith("fengji")) {
- log.info("上传文件风机型号信息:{}", fjTypeStr);
- String fjType = fjTypeStr.split("\t")[1];
- log.info("上传文件风机型号:{}", fjType);
- List<FanTower> fanTowerList = new ArrayList<>();
- for (int i = 2; i < fileStrList.size(); i++) {
- String fjStr = fileStrList.get(i);
- if (StrUtil.isNotBlank(fjStr)) {
- if (fjStr.startsWith("fengji")) {
- fjType = fjStr.split("\t")[1];
- continue;
- }
- String[] fjStrArr = fjStr.split("\t");
- FanTower fanTower = new FanTower();
- fanTower.setId(fjStrArr[0]);
- fanTower.setFanModel(fjType);
- fanTower.setFanName(fjStrArr[1]);
- fanTower.setLongitudeFan(fjStrArr[2].trim());
- fanTower.setLatitudeFan(fjStrArr[3].trim());
- fanTowerList.add(fanTower);
- }
- }
- stationInfo.setFanTowerList(fanTowerList);
- } else {
- return success("读取文件内容不正确,未填写风机型号信息");
- }
- stationInfoService.saveStation(stationInfo);
- log.info("根据上传文件内容更新项目信息完成");
- } catch (IOException e) {
- logger.error("保存文件到服务器(本地)失败", e);
- }
- return success("文件上传成功");
- }
- }
|