From 94509204d25f7c0ad213ae2322be2bd5bfd17424 Mon Sep 17 00:00:00 2001 From: liding <756868258@qq.com> Date: 星期一, 14 七月 2025 16:30:28 +0800 Subject: [PATCH] 1.初始化配煤计算器数据 2。配煤到待入库 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/init/MyStartupRunner.java | 74 +++++++++++++++++++++++++++++------- 1 files changed, 59 insertions(+), 15 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/init/MyStartupRunner.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/init/MyStartupRunner.java index 321646e..771817d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/init/MyStartupRunner.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/init/MyStartupRunner.java @@ -2,14 +2,14 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.ruoyi.basic.dto.CoalFieldDto; +import com.ruoyi.basic.dto.CoalPlanDto; import com.ruoyi.basic.entity.City; -import com.ruoyi.basic.entity.CoalField; import com.ruoyi.basic.entity.District; import com.ruoyi.basic.entity.Province; import com.ruoyi.basic.mapper.*; import com.ruoyi.basic.service.CoalFieldService; import com.ruoyi.basic.service.CoalPlanService; -import com.ruoyi.common.utils.bean.BeanUtils; +import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.web.controller.init.dto.AreaDTO; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -18,9 +18,9 @@ import org.springframework.stereotype.Component; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.Set; +import java.util.function.Supplier; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -48,7 +48,7 @@ public void run(String... args) throws Exception { // 鍒濆鍖栫渷甯傚尯 initRegion(); - // 鍒濆鏂板閰嶇叅璁$畻鍣ㄤ腑鐨勫瓧娈靛拰鏂规 + // 鍒濆鏂板閰嶇叅璁$畻鍣ㄤ腑鐨勭叅绉嶅瓧娈靛拰鏂规 initCoalFields(); } @@ -120,19 +120,63 @@ } private void initCoalFields() { + try { + // 1. 鍒濆鍖栧瓧娈甸�昏緫 + Supplier<CoalFieldDto> dtoSupplier = CoalFieldDto::new; // 鍋囪瀛樺湪鏃犲弬鏋勯�犲嚱鏁� - List<CoalFieldDto> fields = Stream.of("鍙戠儹閲�", "纭垎", "鐏板垎", "姘村垎") - .map(CoalFieldDto::from) - .toList(); - // 鎵归噺鑾峰彇宸插瓨鍦ㄧ殑 fieldNames - Set<String> existingFieldNames = coalFieldService.getFieldNamesByNames( - fields.stream().map(CoalFieldDto::getFieldName).collect(Collectors.toSet()) - ); + List<CoalFieldDto> fields = Stream.of("鍙戠儹閲�", "纭垎", "鐏板垎", "姘村垎") + .map(fieldName -> { + CoalFieldDto dto = dtoSupplier.get(); + dto.setFieldName(fieldName); // 鍋囪瀛樺湪 setFieldName 鏂规硶 + dto.setFieldDescription("閰嶇叅璁$畻鍣ㄥ獟璐ㄥ瓧娈�"); + return dto; + }) + .toList(); - fields.forEach(field -> { - if (!existingFieldNames.contains(field.getFieldName())) { - coalFieldService.addOrEditCoalField(field); + // 2. 淇濆瓨瀛楁锛堝鏋滀笉瀛樺湪锛� + Set<String> existingNames = coalFieldService.getFieldNamesByNames( + fields.stream().map(CoalFieldDto::getFieldName).collect(Collectors.toSet()) + ); + + fields.forEach(field -> { + if (!existingNames.contains(field.getFieldName())) { + coalFieldService.addOrEditCoalField(field); + } + }); + + // 3. 鏌ヨ鎵�鏈夊瓧娈礗D + List<CoalFieldDto> allFields = coalFieldService.getFieldsByNames( + fields.stream().map(CoalFieldDto::getFieldName).collect(Collectors.toSet()) + ); + + // 4. 鍒涘缓鏂规 + + String planName = "閰嶇叅璁$畻鍣ㄦ柟妗�"; + boolean planExists = coalPlanService.checkPlanExists(allFields.stream() + .map(f -> f.getId().toString()) + .collect(Collectors.joining(","))); + + if (!planExists) { + // 鍒涘缓鏂版柟妗� + CoalPlanDto planDto = new CoalPlanDto(); + planDto.setPlan(planName); + planDto.setCoalFields(allFields.stream() + .map(CoalFieldDto::getFields) + .collect(Collectors.joining(","))); + planDto.setFieldIds(allFields.stream() + .map(f -> f.getId().toString()) + .collect(Collectors.joining(","))); + planDto.setSchemeDesc("绯荤粺鐢熸垚閰嶇叅璁$畻鍣ㄦ墍闇�瀛楁鏂规"); + + coalPlanService.addOrEditCoalPlan(planDto); + log.info("鎴愬姛鍒涘缓閰嶇叅璁$畻鍣ㄦ柟妗�"); + } else { + log.info("閰嶇叅璁$畻鍣ㄦ柟妗堝凡瀛樺湪锛岃烦杩囧垱寤�"); } - }); + } catch (Exception e) { + // 璁板綍绯荤粺寮傚父鏃ュ織锛屽苟杞崲涓轰笟鍔″紓甯告姏鍑猴紙瑙﹀彂鍥炴粴锛� + log.error("閰嶇叅璁$畻鍣ㄥ垵濮嬪寲澶辫触", e); + throw new BaseException("鍒濆鍖栭厤鐓ゆ柟妗堝け璐ワ紝璇风◢鍚庨噸璇�"); + } } } -- Gitblit v1.9.3