Commit 1157954b authored by Fuzy's avatar Fuzy

修正

parent 48302b1e
......@@ -75,6 +75,11 @@
<artifactId>easyexcel</artifactId>
<version>3.3.1</version>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.8.0</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
......@@ -56,5 +56,9 @@ public class ActSuppliesMaterialDetails {
//备用字段
private String spare;
private String generalLevel;
private String generalTwoLevel;
}
package com.ruoyi.system.mapper;
import com.ruoyi.system.domain.*;
import com.ruoyi.system.model.SelActSuppliesDao;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
......@@ -44,4 +45,6 @@ public interface ActSuppliesCleaningRuleMapper
void insert(@Param("accList") List<ActSuppliesImportCleaningAcc> cleaningAccList);
void deleteByMineIdAndDateColumn(@Param("mineId") String mineId, @Param("dateColumn") String dateColumn);
List<SelActSuppliesDao> selActSupplies();
}
package com.ruoyi.system.model;
import lombok.Data;
import java.io.Serializable;
/**
* 2024/8/29
*/
@Data
public class SelActSuppliesDao implements Serializable {
private String code;
private String oneLevel;
private String twoLevel;
private String suppliesName;
}
package com.ruoyi.system.service.impl;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.system.domain.ActSuppliesImportCleaningAcc;
import com.ruoyi.system.domain.ActSuppliesMaterialDetails;
import com.ruoyi.system.domain.ActSuppliesMaterialInfo;
import com.ruoyi.system.mapper.ActSuppliesCleaningRuleMapper;
import com.ruoyi.system.mapper.ActSuppliesMaterialMapper;
import com.ruoyi.system.service.ActMaterialService;
import com.ruoyi.system.model.SelActSuppliesDao;
import com.ruoyi.system.service.ActSuppliesMaterialService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody;
import redis.clients.jedis.Jedis;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
......@@ -29,10 +31,18 @@ public class ActSuppliesMaterialServiceImpl implements ActSuppliesMaterialServic
private final ActSuppliesMaterialMapper actSuppliesMaterialMapper;
private final ActSuppliesCleaningRuleMapper actSuppliesCleaningRuleMapper;
@Override
public Boolean save(List<ActSuppliesMaterialDetails> materials) {
Jedis redis = new Jedis("192.168.111.226", 6379);
SysUser user = SecurityUtils.getLoginUser().getUser();
Long userId = user.getUserId();
if (redis.exists(userId + "物料save") && redis.get(userId + "物料save").equals("物料save")) {
redis.close();
return false;
}
redis.set(userId + "物料save", "物料save");
redis.expire(userId + "物料save", 8);
redis.close();
Stream<ActSuppliesMaterialDetails> materialStream = materials.stream();
//将mineId和dateColumn拼接之后进行去重
Set<String> uniqueCombos = materialStream
......@@ -44,7 +54,7 @@ public class ActSuppliesMaterialServiceImpl implements ActSuppliesMaterialServic
String dateColumn = part[1];
//执行删除操作
actSuppliesMaterialMapper.delete(mineId, dateColumn);
actSuppliesCleaningRuleMapper.deleteByMineIdAndDateColumn(mineId,dateColumn);
actSuppliesCleaningRuleMapper.deleteByMineIdAndDateColumn(mineId, dateColumn);
}
List<ActSuppliesImportCleaningAcc> cleaningAccList = new ArrayList<>();
for (ActSuppliesMaterialDetails material : materials) {
......@@ -67,10 +77,49 @@ public class ActSuppliesMaterialServiceImpl implements ActSuppliesMaterialServic
}
actSuppliesCleaningRuleMapper.insert(cleaningAccList);
List<SelActSuppliesDao> list = actSuppliesCleaningRuleMapper.selActSupplies();
list.parallelStream().forEach(v -> {
v.setSuppliesName(v.getSuppliesName().replace("-", ""));
v.setSuppliesName(v.getSuppliesName().replace("研究费用", "研发费用"));
v.setSuppliesName(v.getSuppliesName().replace("安全资金", "安全费用"));
});
for (ActSuppliesMaterialDetails material : materials) {
String codeColumn = material.getCodeColumn();
if (list.parallelStream().anyMatch(v -> codeColumn.substring(0, 6).equals(v.getCode()))) {
SelActSuppliesDao selActSuppliesDao = list.parallelStream().filter(v -> codeColumn.substring(0, 6).equals(v.getCode())).findFirst().get();
extracted(material, selActSuppliesDao, list);
} else if (list.parallelStream().anyMatch(v -> codeColumn.substring(0, 4).equals(v.getCode()))) {
SelActSuppliesDao selActSuppliesDao = list.parallelStream().filter(v -> codeColumn.substring(0, 4).equals(v.getCode())).findFirst().get();
extracted(material, selActSuppliesDao, list);
} else if (list.parallelStream().anyMatch(v -> codeColumn.substring(0, 2).equals(v.getCode()))) {
SelActSuppliesDao selActSuppliesDao = list.parallelStream().filter(v -> codeColumn.substring(0, 2).equals(v.getCode())).findFirst().get();
extracted(material, selActSuppliesDao, list);
} else {
material.setGeneralLevel("其他");
material.setGeneralTwoLevel("其他");
}
}
Boolean saved = actSuppliesMaterialMapper.save(materials);
if (!saved) {
return false;
}
return true;
}
private void extracted(ActSuppliesMaterialDetails material, SelActSuppliesDao selActSuppliesDao, List<SelActSuppliesDao> list) {
if ((selActSuppliesDao.getTwoLevel() == null || selActSuppliesDao.getTwoLevel().equals("")) && (selActSuppliesDao.getOneLevel() != null && !selActSuppliesDao.getOneLevel().equals(""))) {
material.setGeneralLevel(selActSuppliesDao.getSuppliesName());
material.setGeneralTwoLevel("其他");
} else if ((selActSuppliesDao.getTwoLevel() == null || selActSuppliesDao.getTwoLevel().equals("")) && (selActSuppliesDao.getOneLevel() == null || selActSuppliesDao.getOneLevel().equals(""))) {
material.setGeneralLevel("其他");
material.setGeneralTwoLevel("其他");
} else if ((selActSuppliesDao.getTwoLevel() != null && !selActSuppliesDao.getTwoLevel().equals("")) && (selActSuppliesDao.getOneLevel() != null && !selActSuppliesDao.getOneLevel().equals(""))) {
SelActSuppliesDao dao = list.parallelStream().filter(v -> v.getOneLevel().equals(selActSuppliesDao.getOneLevel())).findFirst().get();
material.setGeneralLevel(dao.getSuppliesName());
material.setGeneralTwoLevel(selActSuppliesDao.getSuppliesName());
}
}
}
......@@ -52,6 +52,10 @@
WHERE hid = #{id}
GROUP BY department_column, categories, hdate, ssk_id, source_of_expenses
</select>
<select id="selActSupplies" resultType="com.ruoyi.system.model.SelActSuppliesDao">
select ds.code code, act.one_level oneLevel, act.two_level twoLevel, act.supplies_name suppliesName
from act_supplies_details ds left join act_supplies act on act.id = ds.sid;
</select>
<insert id="insertActSuppliesImportCleaning" parameterType="ActSuppliesImportCleaning" useGeneratedKeys="true"
......
......@@ -27,13 +27,13 @@
INSERT INTO act_supplies_material_info
(name_column, code_column, department_column, number_column,
money_column, money, unit, model, mine_name,
mine_id, one_level, two_level, date_column, source_coloumn,spare)
mine_id, one_level, two_level, date_column, source_coloumn, generallevel, generaltwolevel, spare)
VALUES
<foreach collection="accList" item="item" separator=",">
(#{item.nameColumn}, #{item.codeColumn}, #{item.departmentColumn},
#{item.numberColumn}, #{item.moneyColumn}, #{item.money}, #{item.unit},
#{item.model}, #{item.mineName}, #{item.mineId}, #{item.oneLevel},
#{item.twoLevel}, #{item.dateColumn}, #{item.sourceColoumn},
#{item.twoLevel}, #{item.dateColumn}, #{item.sourceColoumn}, #{item.generalLevel},#{item.generalTwoLevel},
<choose>
<when test="item.spare != null and item.spare != ''">
#{item.spare}
......@@ -53,7 +53,7 @@
<select id="getInfo" resultMap="ActSuppliesMaterialDetailsResult">
select name_column, code_column, department_column, number_column,
money_column, money, unit, model, mine_name,
mine_id, one_level, two_level, date_column, source_coloumn,spare
mine_id, one_level, two_level, date_column, source_coloumn, spare, generallevel, generaltwolevel
from act_supplies_material_info
where mine_id = #{mineId} and date_column = #{dateColumn}
</select>
......
package com.ruoyi.system.controller;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.system.model.power.dto.ElectricityIntoTheParameterDto;
import com.ruoyi.system.model.power.dto.PowerDisplayDto;
import com.ruoyi.system.model.newrule.NewRuleRequestModel;
import com.ruoyi.system.service.PowerDisplayService;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
......@@ -29,7 +28,7 @@ public class PowerDisplayController {
* @return
*/
@PostMapping("/peek")
public AjaxResult peek(@RequestBody List<ElectricityIntoTheParameterDto> powerDisplayDtoList) {
public AjaxResult peek(@RequestBody List<NewRuleRequestModel> powerDisplayDtoList) {
powerDisplayService.peek(powerDisplayDtoList);
return new AjaxResult(200, "成功");
}
......
package com.ruoyi.system.model.power.dto;
import lombok.Data;
import java.io.Serializable;
/**
* 2024/8/26
*/
@Data
public class ElectricityIntoTheParameterDto implements Serializable {
private String row;
private String coloumn;
private String value;
private String date;
private String mindId;
}
package com.ruoyi.system.service;
import com.ruoyi.system.model.power.dto.ElectricityIntoTheParameterDto;
import com.ruoyi.system.model.newrule.NewRuleRequestModel;
import java.util.List;
......@@ -8,5 +8,5 @@ import java.util.List;
* 2024/7/30
*/
public interface PowerDisplayService {
void peek(List<ElectricityIntoTheParameterDto> powerDisplayDtoList);
void peek(List<NewRuleRequestModel> powerDisplayDtoList);
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment