From d63a5e1ee9f5237765e2314bb68977ef73379462 Mon Sep 17 00:00:00 2001
From: weiyuhua <weiyuhua@itianyi.com>
Date: Wed, 16 Oct 2024 09:19:32 +0800
Subject: [PATCH] =?UTF-8?q?--=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../controller/ConfigSaveController.java      |  24 ++-
 .../controller/PowerDisplayController.java    |   6 +
 .../system/mapper/PowerDisplayMapper.java     |   6 +
 .../system/model/power/PowerSourceModel.java  |  36 ++++
 .../model/power/dto/PowerDisplayDto.java      | 171 +++++++++++++++++-
 .../system/service/PowerDisplayService.java   |   3 +
 .../impl/ImportExpenseSourceServiceImpl.java  |   7 +-
 .../service/impl/PowerDisplayServiceImpl.java | 146 ++++++++++++++-
 .../mapper/system/PowerDisplayMapper.xml      |  13 +-
 .../resources/mapper/system/SalaryMapper.xml  |   2 +-
 10 files changed, 402 insertions(+), 12 deletions(-)
 create mode 100644 ruoyi-wages/src/main/java/com/ruoyi/system/model/power/PowerSourceModel.java

diff --git a/ruoyi-wages/src/main/java/com/ruoyi/system/controller/ConfigSaveController.java b/ruoyi-wages/src/main/java/com/ruoyi/system/controller/ConfigSaveController.java
index 512a445..e619988 100644
--- a/ruoyi-wages/src/main/java/com/ruoyi/system/controller/ConfigSaveController.java
+++ b/ruoyi-wages/src/main/java/com/ruoyi/system/controller/ConfigSaveController.java
@@ -18,7 +18,7 @@ public class ConfigSaveController {
     @PostMapping("/test/save")
     public void save() {
         Map<String,Object> map = new HashMap<>();
-        map.put("org","项目,部门名称");
+        /*map.put("org","项目,部门名称");
         map.put("personCount","人数");
         map.put("salary","应付工资");
         map.put("medicalSubsidy","应付工资2(医疗补贴)");
@@ -40,7 +40,27 @@ public class ConfigSaveController {
         map.put("longAccountInsurance","长户险");
         map.put("honorMoney","荣誉金");
         map.put("warmSubsidy","取暖补贴");
-        map.put("heatPreventSubsidy","防暑降温,降温防暑费");
+        map.put("heatPreventSubsidy","防暑降温,降温防暑费");*/
+        map.put("classificationName","用电单位");
+        map.put("powerTotal","电量(kwh)");
+        map.put("powerTip","");
+        map.put("powerPeak","");
+        map.put("powerFlat","");
+        map.put("powerValley","");
+        map.put("electricityTotal","含税电费总额(元)");
+        map.put("electricityTip","");
+        map.put("electricityPeak","");
+        map.put("electricityFlat","");
+        map.put("electricityValley","");
+        map.put("electricityPriceTip","");
+        map.put("electricityPricePeak","");
+        map.put("electricityPriceFlat","");
+        map.put("electricityPriceValley","");
+        map.put("levelOneClassification","");
+        map.put("levelTwoClassification","");
+        map.put("levelThreeClassification","");
+        map.put("basicElectricityTariff","");
+
         map.forEach((k,v)-> salaryMapper.insertMap(k,v));
 
     }
diff --git a/ruoyi-wages/src/main/java/com/ruoyi/system/controller/PowerDisplayController.java b/ruoyi-wages/src/main/java/com/ruoyi/system/controller/PowerDisplayController.java
index 691fa4f..6958486 100644
--- a/ruoyi-wages/src/main/java/com/ruoyi/system/controller/PowerDisplayController.java
+++ b/ruoyi-wages/src/main/java/com/ruoyi/system/controller/PowerDisplayController.java
@@ -32,4 +32,10 @@ public class PowerDisplayController {
         powerDisplayService.peek(powerDisplayDtoList);
         return new AjaxResult(200, "成功");
     }
+
+
+    @PostMapping("/save")
+    public AjaxResult save(@RequestBody List<NewRuleRequestModel> powerDisplayDtoList) {
+        return powerDisplayService.save(powerDisplayDtoList);
+    }
 }
diff --git a/ruoyi-wages/src/main/java/com/ruoyi/system/mapper/PowerDisplayMapper.java b/ruoyi-wages/src/main/java/com/ruoyi/system/mapper/PowerDisplayMapper.java
index d6a138a..9058fa2 100644
--- a/ruoyi-wages/src/main/java/com/ruoyi/system/mapper/PowerDisplayMapper.java
+++ b/ruoyi-wages/src/main/java/com/ruoyi/system/mapper/PowerDisplayMapper.java
@@ -1,8 +1,10 @@
 package com.ruoyi.system.mapper;
 
+import com.ruoyi.system.model.power.PowerSourceModel;
 import com.ruoyi.system.model.power.dao.PowerClassificationQueryDao;
 import com.ruoyi.system.model.power.dao.PowerControlDao;
 import com.ruoyi.system.model.power.dto.PowerDisplayDto;
+import com.ruoyi.system.model.salary.ConfigModel;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -24,4 +26,8 @@ public interface PowerDisplayMapper {
     List<PowerDisplayDto> selOfMid(@Param("id") String mindId, @Param("date") String date);
 
     void update(List<PowerDisplayDto> collect);
+
+    List<ConfigModel> seletPowerConfig();
+
+    List<PowerSourceModel> selectSource(@Param("number") String number);
 }
diff --git a/ruoyi-wages/src/main/java/com/ruoyi/system/model/power/PowerSourceModel.java b/ruoyi-wages/src/main/java/com/ruoyi/system/model/power/PowerSourceModel.java
new file mode 100644
index 0000000..9d948ff
--- /dev/null
+++ b/ruoyi-wages/src/main/java/com/ruoyi/system/model/power/PowerSourceModel.java
@@ -0,0 +1,36 @@
+package com.ruoyi.system.model.power;
+
+import java.io.Serializable;
+
+public class PowerSourceModel implements Serializable {
+
+    private String levelOneClassification;
+
+    private String classificationName;
+
+    private String mindId;
+
+    public String getLevelOneClassification() {
+        return levelOneClassification;
+    }
+
+    public void setLevelOneClassification(String levelOneClassification) {
+        this.levelOneClassification = levelOneClassification;
+    }
+
+    public String getClassificationName() {
+        return classificationName;
+    }
+
+    public void setClassificationName(String classificationName) {
+        this.classificationName = classificationName;
+    }
+
+    public String getMindId() {
+        return mindId;
+    }
+
+    public void setMindId(String mindId) {
+        this.mindId = mindId;
+    }
+}
diff --git a/ruoyi-wages/src/main/java/com/ruoyi/system/model/power/dto/PowerDisplayDto.java b/ruoyi-wages/src/main/java/com/ruoyi/system/model/power/dto/PowerDisplayDto.java
index 1eec5d5..c03eea7 100644
--- a/ruoyi-wages/src/main/java/com/ruoyi/system/model/power/dto/PowerDisplayDto.java
+++ b/ruoyi-wages/src/main/java/com/ruoyi/system/model/power/dto/PowerDisplayDto.java
@@ -1,12 +1,11 @@
 package com.ruoyi.system.model.power.dto;
 
-import lombok.Data;
 
 /**
  * 2024/7/30
  * 电力展示保存
  */
-@Data
+
 public class PowerDisplayDto {
     // 年月
     private String dateColumn;
@@ -50,4 +49,172 @@ public class PowerDisplayDto {
     private String levelThreeClassification;
     // 基本电费
     private String basicElectricityTariff;
+
+    public String getDateColumn() {
+        return dateColumn;
+    }
+
+    public void setDateColumn(String dateColumn) {
+        this.dateColumn = dateColumn;
+    }
+
+    public String getMindId() {
+        return mindId;
+    }
+
+    public void setMindId(String mindId) {
+        this.mindId = mindId;
+    }
+
+    public String getClassificationName() {
+        return classificationName;
+    }
+
+    public void setClassificationName(String classificationName) {
+        this.classificationName = classificationName;
+    }
+
+    public String getPowerTotal() {
+        return powerTotal;
+    }
+
+    public void setPowerTotal(String powerTotal) {
+        this.powerTotal = powerTotal;
+    }
+
+    public String getPowerTip() {
+        return powerTip;
+    }
+
+    public void setPowerTip(String powerTip) {
+        this.powerTip = powerTip;
+    }
+
+    public String getPowerPeak() {
+        return powerPeak;
+    }
+
+    public void setPowerPeak(String powerPeak) {
+        this.powerPeak = powerPeak;
+    }
+
+    public String getPowerFlat() {
+        return powerFlat;
+    }
+
+    public void setPowerFlat(String powerFlat) {
+        this.powerFlat = powerFlat;
+    }
+
+    public String getPowerValley() {
+        return powerValley;
+    }
+
+    public void setPowerValley(String powerValley) {
+        this.powerValley = powerValley;
+    }
+
+    public String getElectricityTotal() {
+        return electricityTotal;
+    }
+
+    public void setElectricityTotal(String electricityTotal) {
+        this.electricityTotal = electricityTotal;
+    }
+
+    public String getElectricityTip() {
+        return electricityTip;
+    }
+
+    public void setElectricityTip(String electricityTip) {
+        this.electricityTip = electricityTip;
+    }
+
+    public String getElectricityPeak() {
+        return electricityPeak;
+    }
+
+    public void setElectricityPeak(String electricityPeak) {
+        this.electricityPeak = electricityPeak;
+    }
+
+    public String getElectricityFlat() {
+        return electricityFlat;
+    }
+
+    public void setElectricityFlat(String electricityFlat) {
+        this.electricityFlat = electricityFlat;
+    }
+
+    public String getElectricityValley() {
+        return electricityValley;
+    }
+
+    public void setElectricityValley(String electricityValley) {
+        this.electricityValley = electricityValley;
+    }
+
+    public String getElectricityPriceTip() {
+        return electricityPriceTip;
+    }
+
+    public void setElectricityPriceTip(String electricityPriceTip) {
+        this.electricityPriceTip = electricityPriceTip;
+    }
+
+    public String getElectricityPricePeak() {
+        return electricityPricePeak;
+    }
+
+    public void setElectricityPricePeak(String electricityPricePeak) {
+        this.electricityPricePeak = electricityPricePeak;
+    }
+
+    public String getElectricityPriceFlat() {
+        return electricityPriceFlat;
+    }
+
+    public void setElectricityPriceFlat(String electricityPriceFlat) {
+        this.electricityPriceFlat = electricityPriceFlat;
+    }
+
+    public String getElectricityPriceValley() {
+        return electricityPriceValley;
+    }
+
+    public void setElectricityPriceValley(String electricityPriceValley) {
+        this.electricityPriceValley = electricityPriceValley;
+    }
+
+    public String getLevelOneClassification() {
+        return levelOneClassification;
+    }
+
+    public void setLevelOneClassification(String levelOneClassification) {
+        this.levelOneClassification = levelOneClassification;
+    }
+
+    public String getLevelTwoClassification() {
+        return levelTwoClassification;
+    }
+
+    public void setLevelTwoClassification(String levelTwoClassification) {
+        this.levelTwoClassification = levelTwoClassification;
+    }
+
+    public String getLevelThreeClassification() {
+        return levelThreeClassification;
+    }
+
+    public void setLevelThreeClassification(String levelThreeClassification) {
+        this.levelThreeClassification = levelThreeClassification;
+    }
+
+    public String getBasicElectricityTariff() {
+        return basicElectricityTariff;
+    }
+
+    public void setBasicElectricityTariff(String basicElectricityTariff) {
+        this.basicElectricityTariff = basicElectricityTariff;
+    }
 }
diff --git a/ruoyi-wages/src/main/java/com/ruoyi/system/service/PowerDisplayService.java b/ruoyi-wages/src/main/java/com/ruoyi/system/service/PowerDisplayService.java
index 5995e08..173f985 100644
--- a/ruoyi-wages/src/main/java/com/ruoyi/system/service/PowerDisplayService.java
+++ b/ruoyi-wages/src/main/java/com/ruoyi/system/service/PowerDisplayService.java
@@ -1,5 +1,6 @@
 package com.ruoyi.system.service;
 
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.system.model.newrule.NewRuleRequestModel;
 
 import java.util.List;
@@ -9,4 +10,6 @@ import java.util.List;
  */
 public interface PowerDisplayService {
     void peek(List<NewRuleRequestModel> powerDisplayDtoList);
+
+    AjaxResult save(List<NewRuleRequestModel> powerDisplayDtoList);
 }
diff --git a/ruoyi-wages/src/main/java/com/ruoyi/system/service/impl/ImportExpenseSourceServiceImpl.java b/ruoyi-wages/src/main/java/com/ruoyi/system/service/impl/ImportExpenseSourceServiceImpl.java
index f56d7e9..9d3210a 100644
--- a/ruoyi-wages/src/main/java/com/ruoyi/system/service/impl/ImportExpenseSourceServiceImpl.java
+++ b/ruoyi-wages/src/main/java/com/ruoyi/system/service/impl/ImportExpenseSourceServiceImpl.java
@@ -8,6 +8,7 @@ import com.ruoyi.system.model.power.PowerImportSourceModel;
 import com.ruoyi.system.model.salary.SalaryExpenseSourceModel;
 import com.ruoyi.system.service.ImportExpenseSourceService;
 import lombok.SneakyThrows;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -34,7 +35,11 @@ public class ImportExpenseSourceServiceImpl implements ImportExpenseSourceServic
     @Override
     @SneakyThrows
     public AjaxResult save(MultipartFile multipartFile) {
-        List<PowerImportSourceModel> powerImportSourceModelList = EasyExcelFactory.read(multipartFile.getInputStream(), PowerImportSourceModel.class, new ExcelListener<>()).sheet("Sheet1").headRowNumber(1).doReadSync();
+        List<PowerImportSourceModel> powerImportSourceModelList = EasyExcelFactory.read(multipartFile.getInputStream(), PowerImportSourceModel.class, new ExcelListener<>()).sheet("Sheet2").headRowNumber(1).doReadSync();
+        powerImportSourceModelList.forEach(v->{
+            v.setClassificationName(v.getClassificationName().replaceAll(StringUtils.SPACE,StringUtils.EMPTY));
+            v.setLevelOneClassification(v.getLevelOneClassification().replaceAll(StringUtils.SPACE,StringUtils.EMPTY));
+        });
         importExpenseSourceMapper.saveSource(powerImportSourceModelList);
         return AjaxResult.success();
     }
diff --git a/ruoyi-wages/src/main/java/com/ruoyi/system/service/impl/PowerDisplayServiceImpl.java b/ruoyi-wages/src/main/java/com/ruoyi/system/service/impl/PowerDisplayServiceImpl.java
index 0ec0297..53d5e53 100644
--- a/ruoyi-wages/src/main/java/com/ruoyi/system/service/impl/PowerDisplayServiceImpl.java
+++ b/ruoyi-wages/src/main/java/com/ruoyi/system/service/impl/PowerDisplayServiceImpl.java
@@ -1,22 +1,28 @@
 package com.ruoyi.system.service.impl;
 
-import  com.ruoyi.common.core.domain.entity.SysUser;
+
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.utils.SecurityUtils;
+
 import com.ruoyi.system.mapper.PowerDisplayMapper;
 import com.ruoyi.system.model.newrule.NewRuleRequestModel;
+import com.ruoyi.system.model.power.PowerSourceModel;
 import com.ruoyi.system.model.power.dao.PowerClassificationQueryDao;
 import com.ruoyi.system.model.power.dao.PowerControlDao;
 import com.ruoyi.system.model.power.dto.PowerDisplayDto;
+import com.ruoyi.system.model.salary.ConfigModel;
 import com.ruoyi.system.service.PowerDisplayService;
 import com.ruoyi.system.service.impl.saveOnTheLargeScreenPower.*;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.ReflectionUtils;
 import redis.clients.jedis.Jedis;
 
+import java.lang.reflect.Field;
 import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Optional;
+import java.util.*;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.stream.Collectors;
 
@@ -205,6 +211,7 @@ public class PowerDisplayServiceImpl implements PowerDisplayService {
         }
     }
 
+
     /**
      * 011701电价的处理方法
      *
@@ -255,4 +262,133 @@ public class PowerDisplayServiceImpl implements PowerDisplayService {
             }
         }
     }
+
+    @Override
+    public AjaxResult save(List<NewRuleRequestModel> powerDisplayDtoList) {
+        if (!CollectionUtils.isEmpty(powerDisplayDtoList)) {
+            String mineid = powerDisplayDtoList.get(0).getMineid();
+            if (StringUtils.equals("011702", mineid)) {
+                saveLJTPowerData(powerDisplayDtoList);
+            }
+            if (StringUtils.equals("011701", mineid)) {
+                saveFGZPowerData(powerDisplayDtoList);
+            }
+        } else {
+            return AjaxResult.error();
+        }
+        return AjaxResult.success();
+    }
+
+    /**
+     * 范各庄
+     *
+     * @param powerDisplayDtoList
+     */
+    private void saveFGZPowerData(List<NewRuleRequestModel> powerDisplayDtoList) {
+
+        ReplaceBlank(powerDisplayDtoList);
+        List<PowerDisplayDto> displayDtoList = getPowerDisplayDtoList(powerDisplayDtoList);
+
+    }
+
+    /**
+     * 吕家坨
+     *
+     * @param powerDisplayDtoList
+     */
+    private void saveLJTPowerData(List<NewRuleRequestModel> powerDisplayDtoList) {
+        ReplaceBlank(powerDisplayDtoList);
+        List<PowerDisplayDto> displayDtoList = getPowerDisplayDtoList(powerDisplayDtoList);
+        disposeParamter(displayDtoList);
+        Map<String, List<PowerDisplayDto>> map = displayDtoList.stream().collect(Collectors.groupingBy(PowerDisplayDto::getClassificationName));
+        List<PowerDisplayDto> finalList = new ArrayList<>();
+        map.forEach((k, v) -> {
+            PowerDisplayDto pd = megreData(v);
+            finalList.add(pd);
+        });
+        List<PowerDisplayDto> collect = finalList.stream().filter(v -> !StringUtils.contains(v.getClassificationName(), "合计")).collect(Collectors.toList());
+        List<PowerSourceModel> powerSourceModelList = powerDisplayMapper.selectSource("011702");
+        collect = collect.stream().filter(v -> powerSourceModelList.stream().noneMatch(powerSourceModel -> StringUtils.equals(v.getClassificationName(), powerSourceModel.getLevelOneClassification()))).collect(Collectors.toList());
+        collect.forEach(v->{
+            for (PowerSourceModel powerSourceModel : powerSourceModelList) {
+                if (StringUtils.equals(v.getClassificationName(),powerSourceModel.getClassificationName())){
+                    v.setLevelOneClassification(powerSourceModel.getLevelOneClassification());
+                }
+            }
+        });
+        powerDisplayMapper.insert(collect);
+    }
+
+    private PowerDisplayDto megreData(List<PowerDisplayDto> powerDisplayDtoList) {
+        return powerDisplayDtoList.stream().collect(Collectors.collectingAndThen(Collectors.toMap(data -> data.getMindId() + data.getClassificationName() + data.getDateColumn(), data -> data, (existingData, newData) -> {
+            existingData.setPowerTotal(StringUtils.isEmpty(existingData.getPowerTotal()) ? newData.getPowerTotal() : existingData.getPowerTotal());
+            existingData.setPowerTip(StringUtils.isEmpty(existingData.getPowerTip()) ? newData.getPowerTip() : existingData.getPowerTip());
+            existingData.setPowerPeak(StringUtils.isEmpty(existingData.getPowerPeak()) ? newData.getPowerPeak() : existingData.getPowerPeak());
+            existingData.setPowerFlat(StringUtils.isEmpty(existingData.getPowerFlat()) ? newData.getPowerFlat() : existingData.getPowerFlat());
+            existingData.setPowerValley(StringUtils.isEmpty(existingData.getPowerValley()) ? newData.getPowerValley() : existingData.getPowerValley());
+            existingData.setElectricityTotal(StringUtils.isEmpty(existingData.getElectricityTotal()) ? newData.getElectricityTotal() : existingData.getElectricityTotal());
+            existingData.setElectricityTip(StringUtils.isEmpty(existingData.getElectricityTip()) ? newData.getElectricityTip() : existingData.getElectricityTip());
+            existingData.setElectricityPeak(StringUtils.isEmpty(existingData.getElectricityPeak()) ? newData.getElectricityPeak() : existingData.getElectricityPeak());
+            existingData.setElectricityFlat(StringUtils.isEmpty(existingData.getElectricityFlat()) ? newData.getElectricityFlat() : existingData.getElectricityFlat());
+            existingData.setElectricityValley(StringUtils.isEmpty(existingData.getElectricityValley()) ? newData.getElectricityValley() : existingData.getElectricityValley());
+            existingData.setElectricityPriceTip(StringUtils.isEmpty(existingData.getElectricityPriceTip()) ? newData.getElectricityPriceTip() : existingData.getElectricityPriceTip());
+            existingData.setElectricityPricePeak(StringUtils.isEmpty(existingData.getElectricityPricePeak()) ? newData.getElectricityPricePeak() : existingData.getElectricityPricePeak());
+            existingData.setElectricityPriceFlat(StringUtils.isEmpty(existingData.getElectricityPriceFlat()) ? newData.getElectricityPriceFlat() : existingData.getElectricityPriceFlat());
+            existingData.setElectricityPriceValley(StringUtils.isEmpty(existingData.getElectricityPriceValley()) ? newData.getElectricityPriceValley() : existingData.getElectricityPriceValley());
+            existingData.setLevelOneClassification(StringUtils.isEmpty(existingData.getLevelOneClassification()) ? newData.getLevelOneClassification() : existingData.getLevelOneClassification());
+            existingData.setLevelTwoClassification(StringUtils.isEmpty(existingData.getLevelTwoClassification()) ? newData.getLevelTwoClassification() : existingData.getLevelTwoClassification());
+            existingData.setLevelThreeClassification(StringUtils.isEmpty(existingData.getLevelThreeClassification()) ? newData.getLevelThreeClassification() : existingData.getLevelThreeClassification());
+            existingData.setBasicElectricityTariff(StringUtils.isEmpty(existingData.getBasicElectricityTariff()) ? newData.getBasicElectricityTariff() : existingData.getBasicElectricityTariff());
+            return existingData;
+        }), map -> map.values().iterator().next()));
+    }
+
+
+    private List<PowerDisplayDto> getPowerDisplayDtoList(List<NewRuleRequestModel> powerDisplayDtoList) {
+        List<PowerDisplayDto> displayDtoList = new ArrayList<>();
+        List<ConfigModel> configModelList = powerDisplayMapper.seletPowerConfig();
+        Map<String, List<NewRuleRequestModel>> map = powerDisplayDtoList.stream().collect(Collectors.groupingBy(NewRuleRequestModel::getRow));
+        map.forEach((k, v) -> {
+            PowerDisplayDto powerDisplayDto = new PowerDisplayDto();
+            for (NewRuleRequestModel newRuleRequestModel : v) {
+                for (ConfigModel configModel : configModelList) {
+                    if (StringUtils.contains(newRuleRequestModel.getColoumn(), configModel.getColName())) {
+                        Field field;
+                        try {
+                            field = PowerDisplayDto.class.getDeclaredField(configModel.getKeyName());
+                            ReflectionUtils.makeAccessible(field);
+                            ReflectionUtils.setField(field, powerDisplayDto, newRuleRequestModel.getValue());
+                        } catch (NoSuchFieldException e) {
+                            throw new RuntimeException(e);
+                        }
+                    }
+                }
+                powerDisplayDto.setClassificationName(k);
+                powerDisplayDto.setDateColumn(newRuleRequestModel.getWageMonth());
+                powerDisplayDto.setMindId(newRuleRequestModel.getMineid());
+            }
+            displayDtoList.add(powerDisplayDto);
+        });
+        return displayDtoList;
+
+    }
+
+
+    private void ReplaceBlank(List<NewRuleRequestModel> powerDisplayDtoList) {
+        powerDisplayDtoList.forEach(v -> {
+            v.setRow(v.getRow().replaceAll(StringUtils.SPACE, StringUtils.EMPTY));
+            v.setValue(v.getValue().replaceAll(StringUtils.SPACE, StringUtils.EMPTY));
+            v.setColoumn(v.getColoumn().replaceAll(StringUtils.SPACE, StringUtils.EMPTY));
+        });
+    }
+
+    private void disposeParamter(List<PowerDisplayDto> displayDtoList) {
+        for (PowerDisplayDto powerDisplayDto : displayDtoList) {
+            if (org.apache.commons.lang3.StringUtils.contains(powerDisplayDto.getClassificationName(), "其中")) {
+                powerDisplayDto.setClassificationName(powerDisplayDto.getClassificationName().replaceAll("其中:", StringUtils.EMPTY));
+            }
+            powerDisplayDto.setClassificationName(powerDisplayDto.getClassificationName().replaceAll("[^\\u4e00-\\u9fa5]", StringUtils.EMPTY));
+        }
+    }
+
 }
diff --git a/ruoyi-wages/src/main/resources/mapper/system/PowerDisplayMapper.xml b/ruoyi-wages/src/main/resources/mapper/system/PowerDisplayMapper.xml
index 240b8e7..2594cc6 100644
--- a/ruoyi-wages/src/main/resources/mapper/system/PowerDisplayMapper.xml
+++ b/ruoyi-wages/src/main/resources/mapper/system/PowerDisplayMapper.xml
@@ -95,9 +95,20 @@
         where mind_id = #{id}
     </select>
     <select id="selOfMid" resultType="com.ruoyi.system.model.power.dto.PowerDisplayDto">
-        select a.level_one_classification   levelOneClassification, a.classification_name        classificationName
+        select a.level_one_classification levelOneClassification, a.classification_name classificationName
         from power_large_screen_display a
         where mind_id = #{id}
           and date_column = #{date}
     </select>
+    <select id="seletPowerConfig" resultType="com.ruoyi.system.model.salary.ConfigModel">
+        select key_name as keyName, col_name as colName
+        from power_col_config
+        where col_name !=''
+    </select>
+    <select id="selectSource" resultType="com.ruoyi.system.model.power.PowerSourceModel">
+        select level_one_classification as levelOneClassification,
+               classification_name      as classificationName
+        from power_classification_query
+        where mind_id = #{number}
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/ruoyi-wages/src/main/resources/mapper/system/SalaryMapper.xml b/ruoyi-wages/src/main/resources/mapper/system/SalaryMapper.xml
index 4ea6e60..7390327 100644
--- a/ruoyi-wages/src/main/resources/mapper/system/SalaryMapper.xml
+++ b/ruoyi-wages/src/main/resources/mapper/system/SalaryMapper.xml
@@ -200,7 +200,7 @@
         and salary_date = #{salaryDate}
     </update>
     <insert id="insertMap">
-        INSERT INTO salary_col_config (key_name, col_name)
+        INSERT INTO power_col_config (key_name, col_name)
         values (#{k}, #{v})
     </insert>
     <select id="getConfig" resultType="com.ruoyi.system.model.salary.ConfigModel">
-- 
2.26.2