From a629de05c452c4558b3004885cfbae90356748bf Mon Sep 17 00:00:00 2001 From: han0 Date: Wed, 15 Jan 2025 10:50:44 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E6=B7=B7=E5=87=9D=E5=9C=9F=E6=AF=94=E4=BE=8B=E6=A0=91=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/RatioConcreteController.java | 23 +++++++++++++++++++ src/main/resources/_sql/init/mysql/v0.6.sql | 19 +-------------- 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/src/main/java/mjkf/xinke/main/modular/ratioconcrete/controller/RatioConcreteController.java b/src/main/java/mjkf/xinke/main/modular/ratioconcrete/controller/RatioConcreteController.java index 4ab1d39..232d3e3 100644 --- a/src/main/java/mjkf/xinke/main/modular/ratioconcrete/controller/RatioConcreteController.java +++ b/src/main/java/mjkf/xinke/main/modular/ratioconcrete/controller/RatioConcreteController.java @@ -24,6 +24,8 @@ import mjkf.xinke.main.modular.ratioconcrete.service.RatioConcreteService; import javax.annotation.Resource; import javax.validation.Valid; import javax.validation.constraints.NotEmpty; +import java.util.Map; +import java.util.stream.Collectors; @Api(tags = "混凝土比例控制器") @ApiSupport(author = "SNOWY_TEAM", order = 1) @@ -42,6 +44,27 @@ public class RatioConcreteController { return CommonResult.data(ratioConcreteService.page(ratioConcretePageParam)); } + + @ApiOperationSupport(order = 1) + @ApiOperation("获取混凝土比例树") + @GetMapping("/main/ratioconcrete/tree") + public CommonResult> tree(RatioConcretePageParam ratioConcretePageParam) { + var query = ratioConcreteService.getQuery(ratioConcretePageParam); + var items = ratioConcreteService.list(query); + var tree = items.stream().collect(Collectors.groupingBy( + RatioConcrete::getName, + Collectors.groupingBy( + RatioConcrete::getRockSize, + Collectors.groupingBy( + RatioConcrete::getConcreteStrength, + Collectors.groupingBy(RatioConcrete::getCementStrength) + ) + ) + )); + + return CommonResult.data(tree); + } + @ApiOperationSupport(order = 2) @ApiOperation("添加混凝土比例") @CommonLog("添加混凝土比例") diff --git a/src/main/resources/_sql/init/mysql/v0.6.sql b/src/main/resources/_sql/init/mysql/v0.6.sql index 5002b60..85c1a2d 100644 --- a/src/main/resources/_sql/init/mysql/v0.6.sql +++ b/src/main/resources/_sql/init/mysql/v0.6.sql @@ -17,24 +17,7 @@ create table RATIO_CONCRETE ( ) comment '混凝土比例'; -CREATE TABLE material_manage.RATIO_CONCRETE -( - ID varchar(32) PRIMARY KEY NOT NULL COMMENT 'id', - NAME varchar(128) NOT NULL COMMENT '名称', - ROCK_SIZE varchar(128) DEFAULT '0' COMMENT '粒径', - CONCRETE_STRENGTH varchar(128) DEFAULT '0' COMMENT '混凝土强度等级', - CEMENT_STRENGTH varchar(128) DEFAULT '0' COMMENT '水泥强度等级', - RATIO_CEMENT varchar(128) DEFAULT '0' COMMENT '水泥', - RATIO_SAND varchar(128) DEFAULT '0' COMMENT '中粗砂', - RATIO_ROCK varchar(128) DEFAULT '0' COMMENT '碎砾石', - RATIO_RUBBLE varchar(128) DEFAULT '0' COMMENT '片石', - TENANT_ID varchar(20) COMMENT '租户id', - DELETE_FLAG varchar(255) COMMENT '删除标志', - CREATE_TIME datetime COMMENT '创建时间', - CREATE_USER varchar(20) COMMENT '创建用户', - UPDATE_TIME datetime COMMENT '更新时间', - UPDATE_USER varchar(20) COMMENT '更新人' -); + INSERT INTO material_manage.RATIO_CONCRETE (ID, NAME, ROCK_SIZE, CONCRETE_STRENGTH, CEMENT_STRENGTH, RATIO_CEMENT, RATIO_SAND, RATIO_ROCK, RATIO_RUBBLE, TENANT_ID, DELETE_FLAG, CREATE_TIME, CREATE_USER, UPDATE_TIME, UPDATE_USER) VALUES ('1', '水下混凝土', '碎(砾)石最大粒径40mm', 'C20', '32.5', '368', '0.52', '0.71', '0', '-1', 'NOT_DELETE', null, null, null, null); INSERT INTO material_manage.RATIO_CONCRETE (ID, NAME, ROCK_SIZE, CONCRETE_STRENGTH, CEMENT_STRENGTH, RATIO_CEMENT, RATIO_SAND, RATIO_ROCK, RATIO_RUBBLE, TENANT_ID, DELETE_FLAG, CREATE_TIME, CREATE_USER, UPDATE_TIME, UPDATE_USER) VALUES ('10', '喷射混凝土', '碎(砾)石最大粒径20mm', 'C20', '32.5', '445', '0.61', '0.57', '0', '-1', 'NOT_DELETE', null, null, null, null); INSERT INTO material_manage.RATIO_CONCRETE (ID, NAME, ROCK_SIZE, CONCRETE_STRENGTH, CEMENT_STRENGTH, RATIO_CEMENT, RATIO_SAND, RATIO_ROCK, RATIO_RUBBLE, TENANT_ID, DELETE_FLAG, CREATE_TIME, CREATE_USER, UPDATE_TIME, UPDATE_USER) VALUES ('11', '喷射混凝土', '碎(砾)石最大粒径20mm', 'C25', '32.5', '469', '0.6', '0.57', '0', '-1', 'NOT_DELETE', null, null, null, null);