Просмотр исходного кода

人工录入页面---全省概述信息录入,缺少修改方法

zy 2 лет назад
Родитель
Сommit
62b547d3f4

+ 31 - 0
neim-biz/src/main/java/com/jiayue/biz/controller/ManualEntryController.java

@@ -0,0 +1,31 @@
+package com.jiayue.biz.controller;
+
+import com.jiayue.biz.service.ManualEntryService;
+import com.jiayue.common.core.controller.BaseController;
+import com.jiayue.common.core.domain.AjaxResult;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 人工录入Controller
+ * @date 2023-05-9
+ */
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/manualEntry")
+public class ManualEntryController extends BaseController {
+    private final ManualEntryService manualEntryService;
+    /*获取光伏站下拉框,风场站的下拉框*/
+    @GetMapping("/stationInfo")
+    public AjaxResult hauFuInfo() {
+        return AjaxResult.success(manualEntryService.getStationInfo());
+    }
+    //获取华电以及全省资源概况
+    @GetMapping("/getProvincialEnergyStations")
+    public AjaxResult getProvincialEnergyStations() {
+        return AjaxResult.success(manualEntryService.getProvincialEnergyStations());
+    }
+}

+ 25 - 0
neim-biz/src/main/java/com/jiayue/biz/service/ManualEntryService.java

@@ -0,0 +1,25 @@
+package com.jiayue.biz.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.biz.domain.ProvincialEnergyStations;
+import com.jiayue.biz.domain.WindTowerDataParentTable;
+import com.jiayue.biz.dto.ProjectEvolveDto;
+import com.jiayue.biz.dto.SelectLabForVal;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 人工录入Service接口
+ *
+ * @author L.ym
+ * @date 2022-05-11
+ */
+public interface ManualEntryService extends IService<WindTowerDataParentTable> {
+    /*获取光伏站下拉框,风场站的下拉框*/
+    Map<String,List<Map<String,String>>> getStationInfo();
+    //获取华电以及全省资源概况
+    ProvincialEnergyStations getProvincialEnergyStations();
+}

+ 83 - 0
neim-biz/src/main/java/com/jiayue/biz/service/impl/ManualEntryServiceImpl.java

@@ -0,0 +1,83 @@
+package com.jiayue.biz.service.impl;
+
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.db.Entity;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.biz.domain.*;
+import com.jiayue.biz.dto.EquipmentDto;
+import com.jiayue.biz.dto.ProjectEvolveDto;
+import com.jiayue.biz.dto.ProjectInfoDto;
+import com.jiayue.biz.dto.SelectLabForVal;
+import com.jiayue.biz.eunms.WindDirectionEnum;
+import com.jiayue.biz.mapper.WindTowerDataParentTableMapper;
+import com.jiayue.biz.service.*;
+import com.jiayue.biz.util.CalculationUtil;
+import com.jiayue.biz.util.DateTimeUtil;
+import com.jiayue.common.utils.DateUtil;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.sql.Timestamp;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * 首页Service业务层处理
+ *
+ * @author L.ym
+ * @date 2022-05-11
+ */
+@Service
+@AllArgsConstructor
+public class ManualEntryServiceImpl extends ServiceImpl<WindTowerDataParentTableMapper, WindTowerDataParentTable> implements ManualEntryService {
+
+    private final StationInfoService stationInfoService;
+    private final ProjectInfoService projectInfoService;
+    private final ProvincialEnergyStationsService provincialEnergyStationsService;
+    /*
+     * 获取光伏站下拉框,风场站的下拉框
+    */
+    public Map<String,List<Map<String,String>>> getStationInfo(){
+        Map<String,List<Map<String,String>>> map = new HashMap<>();
+        // 风场站list
+        List<Map<String,String>> fList =new ArrayList();
+        // 光场站 list
+        List<Map<String,String>> gList =new ArrayList();
+        try {
+            List<StationInfo> stationInfos = stationInfoService.selectStationInfo();
+            for(StationInfo stationInfo : stationInfos){
+                Map<String,String> tempMap = new HashMap<>();
+                if(stationInfo.getStationBasicInfo().getStationType().equals("风")){
+                    tempMap.put("value",stationInfo.getStationBasicInfo().getStationName());
+                    fList.add(tempMap);
+                }else{
+                    String name =stationInfo.getStationBasicInfo().getStationName();
+                    tempMap.put("value",name.substring(0,name.length()-2));
+                    gList.add(tempMap);
+                }
+            }
+            map.put("fOption",fList);
+            map.put("gOption",gList);
+        }catch (Exception e){
+            log.error(e.getMessage());
+        }
+        return map;
+    }
+
+    //获取华电以及全省资源概况
+    public ProvincialEnergyStations getProvincialEnergyStations() {
+        return provincialEnergyStationsService.getProvincialEnergyStations();
+    }
+    /**
+     *获取项目信息
+     *
+     * */
+    public List<ProjectInfo> getProjectInfo(){
+        return projectInfoService.getProjectInfoList();
+    }
+}

+ 17 - 0
neim-ui/src/api/biz/manualEntry/provincialInfoEntry.js

@@ -0,0 +1,17 @@
+import request from '@/utils/request'
+
+/*获取光伏站下拉框,风场站的下拉框*/
+export function getStationInfo() {
+  return request({
+    url: '/manualEntry/stationInfo',
+    method: 'get'
+  })
+}
+
+//获取华电以及全省资源概况
+export function getProvincialEnergyStations() {
+  return request({
+    url: '/manualEntry/getProvincialEnergyStations',
+    method: 'get'
+  })
+}

+ 194 - 0
neim-ui/src/views/manualEntry/provincialInfoEntry/index.vue

@@ -0,0 +1,194 @@
+<template>
+  <div>
+    <!--    <el-button size="medium" type="primary" icon="el-icon-edit">编辑</el-button>-->
+    <el-card class="box-card">
+      <div slot="header" class="clearfix">
+        <span>全省基础信息录入</span>
+      </div>
+      <div class="formDiv">
+        <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+          <fieldset>
+            <legend>黑龙江省总体信息</legend>
+            <el-row class="row-bg el-row-two" justify="space-between">
+              <el-col :span="24">
+                <el-form-item label="黑龙江省风光资源概况:" prop="resourcesOverview" label-width="200px">
+                  <el-input type="textarea" :rows="2" v-model="form.resourcesOverview"></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row class="row-bg el-row-two" justify="space-between">
+              <el-col :span="12">
+                <el-form-item label="风场站个数:" label-width="150px" prop="provinceInfofnum">
+                  <el-input v-model="form.provinceInfofnum" :maxlength="16" placeholder="必填项" style="width: 100%"/>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="等效小时数:" label-width="150px" prop="provinceInfofhours">
+                  <el-input v-model="form.provinceInfofhours" :maxlength="11" placeholder="必填项" style="width: 100%"/>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row class="row-bg el-row-two" justify="space-between">
+              <el-col :span="12">
+                <el-form-item label="光伏站个数:" label-width="150px" prop="provinceInfognum">
+                  <el-input v-model="form.provinceInfognum" :maxlength="16" placeholder="必填项" style="width: 100%"/>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="等效小时数:" label-width="150px" prop="provinceInfoghours">
+                  <el-input v-model="form.provinceInfoghours" :maxlength="11" placeholder="必填项" style="width: 100%"/>
+                </el-form-item>
+              </el-col>
+            </el-row>
+          </fieldset>
+          <fieldset>
+            <legend>华电新能源信息</legend>
+            <el-row class="row-bg el-row-two" justify="space-between">
+              <el-col :span="12">
+                <el-form-item label="风场站个数:" label-width="150px" prop="hdInfofnum">
+                  <el-input v-model="form.hdInfofnum" :maxlength="16" placeholder="必填项" style="width: 100%"/>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="光伏站个数:" label-width="150px" prop="hdInfognum">
+                  <el-input v-model="form.hdInfognum" :maxlength="16" placeholder="必填项" style="width: 100%"/>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row class="row-bg el-row-two" justify="space-between">
+              <el-col :span="12">
+                <el-form-item label="风场站:" label-width="150px" prop="hdInfofename">
+                  <el-select v-model="form.hdInfofename" placeholder="请选择" style="width: 100%">
+                    <el-option
+                      v-for="item in fOoptions"
+                      :key="item.value"
+                      :label="item.value"
+                      :value="item.value">
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="风平均等效小时数:" label-width="150px" prop="hdInfofhours">
+                  <el-input v-model="form.hdInfofhours" :maxlength="11" placeholder="必填项" style="width: 100%"/>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row class="row-bg el-row-two" justify="space-between">
+              <el-col :span="12">
+                <el-form-item label="光伏站:" label-width="150px" prop="hdInfogename">
+                  <el-select v-model="form.hdInfogename" placeholder="请选择" style="width: 100%">
+                    <el-option
+                      v-for="item in gOptions"
+                      :key="item.value"
+                      :label="item.value"
+                      :value="item.value">
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="光平均等效小时数:" label-width="150px" prop="hdInfoghours">
+                  <el-input v-model="form.hdInfoghours" :maxlength="11" placeholder="必填项" style="width: 100%"/>
+                </el-form-item>
+              </el-col>
+            </el-row>
+          </fieldset>
+          <el-form-item style="text-align: center; margin-top: 1%;">
+            <el-button type="primary" @click="save">保存</el-button>
+          </el-form-item>
+        </el-form>
+      </div>
+
+    </el-card>
+  </div>
+</template>
+
+<script>
+import {getStationInfo, getProvincialEnergyStations} from "@/api/biz/manualEntry/provincialInfoEntry";
+
+export default {
+  // 全省总体信息录入页面
+  name: "index",
+  data() {
+    const reg = /^\d+(\.\d{1,6})?$/
+    const checkFnum = (rule, value, callback) => {
+      console.log(rule)
+      if (!value) {
+        callback(new Error('不能为空'))
+      }
+      if (reg.test(value) == false) {
+        callback(new Error('只能输入正数数字或带小数点6位以内的数字'));
+      }
+      callback()
+
+    }
+    return {
+      fOoptions: [],
+      gOptions: [],
+      form: {},
+      rules: {
+        resourcesOverview: [{required: true, message: '请填写', trigger: 'blur'}],
+        hdInfofename: [{required: true, message: '请选择风场站', trigger: 'change'}],
+        hdInfogename: [{required: true, message: '请选择光伏站', trigger: 'change'}],
+        provinceInfofnum: [{required: true, validator: checkFnum, trigger: 'change'}],
+        provinceInfofhours: [{required: true, validator: checkFnum, trigger: 'change'}],
+        provinceInfognum: [{required: true, validator: checkFnum, trigger: 'change'}],
+        provinceInfoghours: [{required: true, validator: checkFnum, trigger: 'change'}],
+        hdInfofnum: [{required: true, validator: checkFnum, trigger: 'change'}],
+        hdInfofhours: [{required: true, validator: checkFnum, trigger: 'change'}],
+        hdInfognum: [{required: true, validator: checkFnum, trigger: 'change'}],
+        hdInfoghours: [{required: true, validator: checkFnum, trigger: 'change'}],
+
+      }
+    }
+  },
+  mounted() {
+    this.getStationOption()
+    this.getProvincialEnergyStationsInfo()
+  },
+  methods: {
+    getStationOption() {
+      getStationInfo().then(res => {
+        this.fOoptions = res.data.fOption
+        this.gOptions = res.data.gOption
+      }).catch(err => {
+        console.log(err)
+      })
+    },
+    getProvincialEnergyStationsInfo() {
+      getProvincialEnergyStations().then(res => {
+        let data = res.data
+        console.log(data.hdInfo)
+        this.form = {
+          resourcesOverview: data.resourcesOverview,
+          provinceInfofnum:data.provinceInfo.fnum,
+          provinceInfofhours:data.provinceInfo.fhours.slice(0, -1),
+          provinceInfognum:data.provinceInfo.gnum,
+          provinceInfoghours:data.provinceInfo.ghours.slice(0, -1),
+          hdInfofnum:data.hdInfo.fnum,
+          hdInfofename:data.hdInfo.fename,
+          hdInfofhours:data.hdInfo.fhours.slice(0, -1),
+          hdInfognum:data.hdInfo.gnum,
+          hdInfogename:data.hdInfo.gename,
+          hdInfoghours:data.hdInfo.ghours.slice(0, -1),
+        }
+        console.log(this.form)
+      }).catch(err => {
+        console.log(err)
+      })
+    },
+    //保存
+    save() {
+      console.log(this.form)
+    }
+  }
+}
+</script>
+
+<style scoped>
+.formDiv {
+  width: 90%;
+  margin: 0 auto;
+}
+</style>