Sfoglia il codice sorgente

短期调控保存常用名称功能

xusl 6 mesi fa
parent
commit
fc4abb70e3

+ 71 - 0
cpp-admin/src/main/java/com/cpp/web/controller/regulation/DqUsualController.java

@@ -0,0 +1,71 @@
+package com.cpp.web.controller.regulation;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.cpp.common.core.domain.R;
+import com.cpp.common.core.domain.model.LoginUser;
+import com.cpp.common.utils.SecurityUtils;
+import com.cpp.web.domain.regulation.TempShortRegulation;
+import com.cpp.web.domain.regulation.TempShortUsual;
+import com.cpp.web.domain.regulation.TempShortUsualDetail;
+import com.cpp.web.dto.DqUsualDto;
+import com.cpp.web.dto.TempShortRegulationDto;
+import com.cpp.web.service.regulation.TempShortUsualDetailService;
+import com.cpp.web.service.regulation.TempShortUsualService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * 短期调控常用策略
+ *
+ * @author whc
+ * @date 2022-03-18 15:49:14
+ */
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/dqUsualController")
+public class DqUsualController {
+    @Autowired
+    TempShortUsualService tempShortUsualService;
+    @Autowired
+    TempShortUsualDetailService tempShortUsualDetailService;
+
+    @PostMapping("/saveUsual")
+    public R saveUsual(@RequestBody DqUsualDto dqUsualDto) {
+        String usualName = dqUsualDto.getUsualName();
+        // 判断名称是否存在
+        QueryWrapper<TempShortUsual> tempShortUsualQueryWrapper = new QueryWrapper<>();
+        tempShortUsualQueryWrapper.eq("usual_name", usualName);
+        TempShortUsual tempShortUsual = tempShortUsualService.getOne(tempShortUsualQueryWrapper);
+        if (tempShortUsual!=null){
+            return R.fail("常用名称存在,请换个名称!");
+        }
+        LoginUser loginUser = SecurityUtils.getLoginUser();
+        // 保存常用名称
+        TempShortUsual tempShortUsual1 = new TempShortUsual();
+        tempShortUsual1.setUsualName(usualName);
+        tempShortUsual1.setCreateBy(loginUser.getUsername());
+        tempShortUsualService.save(tempShortUsual1);
+
+
+        List<TempShortUsualDetail> tempShortUsualDetailList = new ArrayList<>();
+        // 封装常用实体
+        List<TempShortRegulationDto> tempShortRegulationDtoList = dqUsualDto.getTempShortRegulationDtoList();
+        for (TempShortRegulationDto tempShortRegulationDto:tempShortRegulationDtoList){
+            TempShortUsualDetail tempShortUsualDetail = new TempShortUsualDetail();
+            tempShortUsualDetail.setUsualId(tempShortUsual1.getId());
+            tempShortUsualDetail.setTimePoint(tempShortRegulationDto.getTime());
+            tempShortUsualDetail.setSz(tempShortRegulationDto.getSz());
+            tempShortUsualDetail.setXs(tempShortRegulationDto.getXs());
+            tempShortUsualDetail.setCreateBy(loginUser.getUsername());
+            tempShortUsualDetailList.add(tempShortUsualDetail);
+        }
+        tempShortUsualDetailService.saveBatch(tempShortUsualDetailList);
+        return R.ok();
+    }
+}

+ 37 - 0
cpp-admin/src/main/java/com/cpp/web/domain/regulation/TempShortUsual.java

@@ -0,0 +1,37 @@
+package com.cpp.web.domain.regulation;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+
+/**
+ * 短期调控常用
+ *
+ * @author tl
+ * @date 2024-09-23 15:28:33
+ */
+@Data
+@TableName("cpp_temp_short_usual")
+@ApiModel(value = "cpp_temp_short_usual")
+public class TempShortUsual {
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "主键ID")
+    private Long id;
+
+    /**
+     * 常用策略名称
+     */
+    @ApiModelProperty(value = "常用策略名称")
+    private String usualName;
+
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @TableField(value = "create_time" , fill = FieldFill.INSERT)
+    private Date createTime = new Date();
+    /** 创建者 */
+    @TableField(value = "create_by" , fill = FieldFill.INSERT)
+    private String createBy;
+}

+ 55 - 0
cpp-admin/src/main/java/com/cpp/web/domain/regulation/TempShortUsualDetail.java

@@ -0,0 +1,55 @@
+package com.cpp.web.domain.regulation;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.Digits;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 短期调控常用
+ *
+ * @author tl
+ * @date 2024-09-23 15:28:33
+ */
+@Data
+@TableName("cpp_temp_short_usual_detail")
+@ApiModel(value = "cpp_temp_short_usual_detail")
+public class TempShortUsualDetail {
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "主键ID")
+    private Long id;
+    /**
+     * 常用名称主键Id
+     */
+    private Long usualId;
+    /**
+     * 时间点位
+     */
+    @ApiModelProperty(value = "时间点位")
+    private String timePoint;
+    /**
+     * 数值
+     */
+    @ApiModelProperty(value = "数值")
+    @Digits(integer = 10, fraction = 2)
+    private BigDecimal sz = new BigDecimal(-99);
+    /**
+     * 系数
+     */
+    @ApiModelProperty(value = "系数")
+    @Digits(integer = 10, fraction = 2)
+    private BigDecimal xs = new BigDecimal(-99);
+
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @TableField(value = "create_time" , fill = FieldFill.INSERT)
+    private Date createTime = new Date();
+    /** 创建者 */
+    @TableField(value = "create_by" , fill = FieldFill.INSERT)
+    private String createBy;
+}

+ 17 - 0
cpp-admin/src/main/java/com/cpp/web/mapper/regulation/TempShortUsualDetailMapper.java

@@ -0,0 +1,17 @@
+package com.cpp.web.mapper.regulation;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cpp.web.domain.regulation.TempShortUsualDetail;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 短期调控常用策略mapper
+ *
+ * @author xsl
+ * @date 2022-05-11 09:47:21
+ */
+@Mapper
+public interface TempShortUsualDetailMapper extends BaseMapper<TempShortUsualDetail> {
+
+}

+ 17 - 0
cpp-admin/src/main/java/com/cpp/web/mapper/regulation/TempShortUsualMapper.java

@@ -0,0 +1,17 @@
+package com.cpp.web.mapper.regulation;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cpp.web.domain.regulation.TempShortUsual;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 短期调控常用策略mapper
+ *
+ * @author xsl
+ * @date 2022-05-11 09:47:21
+ */
+@Mapper
+public interface TempShortUsualMapper extends BaseMapper<TempShortUsual> {
+
+}

+ 14 - 0
cpp-admin/src/main/java/com/cpp/web/service/regulation/TempShortUsualDetailService.java

@@ -0,0 +1,14 @@
+package com.cpp.web.service.regulation;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.cpp.web.domain.regulation.TempShortUsualDetail;
+
+/**
+ * cpp_electric_field
+ *
+ * @author tl
+ * @date 2024-09-23 15:28:33
+ */
+public interface TempShortUsualDetailService extends IService<TempShortUsualDetail> {
+
+}

+ 14 - 0
cpp-admin/src/main/java/com/cpp/web/service/regulation/TempShortUsualService.java

@@ -0,0 +1,14 @@
+package com.cpp.web.service.regulation;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.cpp.web.domain.regulation.TempShortUsual;
+
+/**
+ * cpp_electric_field
+ *
+ * @author tl
+ * @date 2024-09-23 15:28:33
+ */
+public interface TempShortUsualService extends IService<TempShortUsual> {
+
+}

+ 21 - 0
cpp-admin/src/main/java/com/cpp/web/service/regulation/impl/TempShortUsualDetailServiceImpl.java

@@ -0,0 +1,21 @@
+package com.cpp.web.service.regulation.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.cpp.web.domain.regulation.TempShortUsualDetail;
+import com.cpp.web.mapper.regulation.TempShortUsualDetailMapper;
+import com.cpp.web.service.regulation.TempShortUsualDetailService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+
+/**
+ * cpp_electric_field
+ *
+ * @author tl
+ * @date 2024-09-23 15:28:33
+ */
+@Service
+@RequiredArgsConstructor
+public class TempShortUsualDetailServiceImpl extends ServiceImpl<TempShortUsualDetailMapper, TempShortUsualDetail> implements TempShortUsualDetailService {
+
+}

+ 21 - 0
cpp-admin/src/main/java/com/cpp/web/service/regulation/impl/TempShortUsualServiceImpl.java

@@ -0,0 +1,21 @@
+package com.cpp.web.service.regulation.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.cpp.web.domain.regulation.TempShortUsual;
+import com.cpp.web.mapper.regulation.TempShortUsualMapper;
+import com.cpp.web.service.regulation.TempShortUsualService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+
+/**
+ * cpp_electric_field
+ *
+ * @author tl
+ * @date 2024-09-23 15:28:33
+ */
+@Service
+@RequiredArgsConstructor
+public class TempShortUsualServiceImpl extends ServiceImpl<TempShortUsualMapper, TempShortUsual> implements TempShortUsualService {
+
+}

+ 75 - 6
cpp-ui/src/views/regulation/dqRegulation/index.vue

@@ -36,11 +36,10 @@
         <div class="divDescribeBtn">
           <div class="dark-el-input dark-el-button">
             <el-button type="primary" size="small" style="margin-left: 5px">一键应用</el-button>
-            <el-button type="primary" size="small" style="margin-left: 5px">设为常用</el-button>
+            <el-button type="primary" size="small" style="margin-left: 5px" @click="usualSet">设为常用</el-button>
           </div>
         </div>
 
-
         <div class="divTable">
           <el-table
             :data="tableData"
@@ -104,7 +103,29 @@
       </el-col>
     </el-row>
 
+    <el-dialog :visible.sync="usualOpen" :close-on-click-modal="false" width="450px" height="600px">
+      <div class="dark-el-input dark-el-button">
+        <el-form ref="usualForm" :model="usualForm" width="430px" label-width="130px">
+          <el-row class="mb4">
+            <el-col :span="24">
+              <el-form-item label="常用名称" prop="name">
+                <el-input style="width: 100%" v-model="usualForm.usualName" maxlength="50" popper-class="cpp-popper"/>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row class="mb4">
+            <el-col>
+              <div style="color: #fff">保存常用名可以在一键应用中找到历史调控策略。</div>
+            </el-col>
 
+          </el-row>
+        </el-form>
+        <div slot="footer" class="dialog-footer">
+          <el-button type="primary" @click="commitUsual">确 定</el-button>
+          <el-button @click="cancelUsual">取 消</el-button>
+        </div>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -116,9 +137,13 @@ export default {
   name: 'inverterinfo',
   data() {
     return {
-      expireDateOption:{
-        disabledDate(time){
-          return time.getTime()<Date.now()
+      usualOpen: false,
+      usualForm: {
+        usualName: undefined
+      },
+      expireDateOption: {
+        disabledDate(time) {
+          return time.getTime() < Date.now()
         }
       },
       loading: false,
@@ -323,6 +348,51 @@ export default {
   },
   computed: {},
   methods: {
+    // 点击设为常用按钮触发
+    usualSet(){
+      this.usualOpen = true
+    },
+    // 设为常用弹出框保存按钮
+    commitUsual(){
+      if (this.tableData==undefined||this.tableData.length==0){
+        this.$message.warning("请查询列表才可以设为常用!")
+        return
+      }
+      if (this.usualForm.usualName==null || this.usualForm.usualName=='' || this.usualForm.usualName==undefined){
+        this.$message.warning("请输入常用名称!")
+        return
+      }
+      else{
+        let tempUsualName = this.usualForm.usualName.trim()
+        if (tempUsualName==''){
+          this.$message.warning("请输入常用名称!")
+          return
+        }
+        // 提交名称及系数配置
+        const param = {
+          "tempShortRegulationDtoList":this.tableData,
+          "usualName":tempUsualName
+        }
+        this.$axios.post('/dqUsualController/saveUsual', param).then((res) => {
+          this.$message.success('常用策略保存成功!')
+          this.usualOpen = false
+          this.resetUsual()
+        }).catch((error) => {
+        })
+      }
+    },
+    // 表单重置
+    resetUsual() {
+      this.usualForm = {
+        usualName: undefined,
+      },
+        this.resetForm("usualForm");
+    },
+    // 取消按钮
+    cancelUsual() {
+      this.usualOpen = false;
+      this.resetUsual();
+    },
     // 调控列表提交
     tkCommit() {
       if (this.tableData.length == 0) {
@@ -345,7 +415,6 @@ export default {
       })
 
 
-
     },
 
     //通过表格内系数或固定值修改  生成曲线以及最终预测结果