From d2da60badcbe750249f35cca881526970ce1e7d3 Mon Sep 17 00:00:00 2001 From: zjh <15615273395@163.com> Date: Fri, 9 Jan 2026 14:26:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A=E6=9C=BA=E5=9E=8B?= =?UTF-8?q?=E5=B8=B8=E7=94=A8=E6=B7=BB=E5=8A=A0=E6=95=B4=E6=9C=BA=E5=8F=82?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/ModelCommonParameterInsertForm.java | 3 +- .../form/ModelCommonParameterUpdateForm.java | 3 +- .../pojo/GlobalParameter.java | 27 ++++++++++++++ .../pojo/ModelCommonParameters.java | 5 ++- .../pojo/view/ParameterItem.java | 9 +++++ .../impl/CommonParameterServiceImpl.java | 37 ++++++++++++++++--- 6 files changed, 75 insertions(+), 9 deletions(-) create mode 100644 src/main/java/com/xdap/self_development/pojo/GlobalParameter.java create mode 100644 src/main/java/com/xdap/self_development/pojo/view/ParameterItem.java diff --git a/src/main/java/com/xdap/self_development/controller/form/ModelCommonParameterInsertForm.java b/src/main/java/com/xdap/self_development/controller/form/ModelCommonParameterInsertForm.java index 2efe95d..578a28d 100644 --- a/src/main/java/com/xdap/self_development/controller/form/ModelCommonParameterInsertForm.java +++ b/src/main/java/com/xdap/self_development/controller/form/ModelCommonParameterInsertForm.java @@ -1,5 +1,6 @@ package com.xdap.self_development.controller.form; +import com.xdap.self_development.pojo.view.ParameterItem; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -14,5 +15,5 @@ public class ModelCommonParameterInsertForm { @NotBlank(message = "常用名不能为空") private String commonName; @NotEmpty(message = "参数不能为空") - private List parameters; + private List parameters; } diff --git a/src/main/java/com/xdap/self_development/controller/form/ModelCommonParameterUpdateForm.java b/src/main/java/com/xdap/self_development/controller/form/ModelCommonParameterUpdateForm.java index 6e09d67..c6cd732 100644 --- a/src/main/java/com/xdap/self_development/controller/form/ModelCommonParameterUpdateForm.java +++ b/src/main/java/com/xdap/self_development/controller/form/ModelCommonParameterUpdateForm.java @@ -1,5 +1,6 @@ package com.xdap.self_development.controller.form; +import com.xdap.self_development.pojo.view.ParameterItem; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -14,5 +15,5 @@ public class ModelCommonParameterUpdateForm { @NotBlank(message = "常用不能为空") private String commonId; @NotEmpty(message = "参数不能为空") - private List parameters; + private List parameters; } diff --git a/src/main/java/com/xdap/self_development/pojo/GlobalParameter.java b/src/main/java/com/xdap/self_development/pojo/GlobalParameter.java new file mode 100644 index 0000000..7b08e71 --- /dev/null +++ b/src/main/java/com/xdap/self_development/pojo/GlobalParameter.java @@ -0,0 +1,27 @@ +package com.xdap.self_development.pojo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.definesys.mpaas.query.annotation.RowID; +import com.definesys.mpaas.query.annotation.RowIDType; +import com.definesys.mpaas.query.annotation.Table; +import com.definesys.mpaas.query.model.MpaasBasePojo; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +@EqualsAndHashCode(callSuper = true) +@Data +@Table("yfsjglpt_model_global_parameter") +@NoArgsConstructor +public class GlobalParameter extends MpaasBasePojo { + @RowID(sequence = "global_parameter_s", type = RowIDType.UUID) + private String id; + @ExcelProperty("子系统") + private String subsystemName; + @ExcelProperty("类型") + private String parameterType; + @ExcelProperty("零部件名称") + private String partsName; + @ExcelProperty("参数名称") + private String parameterName; +} diff --git a/src/main/java/com/xdap/self_development/pojo/ModelCommonParameters.java b/src/main/java/com/xdap/self_development/pojo/ModelCommonParameters.java index 03f6135..2bd58fd 100644 --- a/src/main/java/com/xdap/self_development/pojo/ModelCommonParameters.java +++ b/src/main/java/com/xdap/self_development/pojo/ModelCommonParameters.java @@ -6,8 +6,10 @@ import lombok.Data; import lombok.EqualsAndHashCode; @SQLQuery(value = { + @SQL(view = "getCommonAndGlobalParameters", + sql = "SELECT ymcp.*, ymgp.parameter_name as 'parameterName', ymgp.parameter_type as 'parameterType', ymgp.subsystem_name as 'subsystemName', ymgp.parts_name as 'partsName' FROM yfsjglpt_model_common_parameters ymcp LEFT JOIN yfsjglpt_model_global_parameter ymgp ON ymcp.parameter_id = ymgp.id WHERE ymcp.common_id IN (#ids) AND ymcp.is_global = 1"), @SQL(view = "getCommonAndParameters", - sql = "SELECT ymcp.*, ymp.parameter_name as 'parameterName', ymp.parameter_type as 'parameterType', ymp.subsystem_name as 'subsystemName', ymp.parts_name as 'partsName' FROM yfsjglpt_model_common_parameters ymcp LEFT JOIN yfsjglpt_model_parameter ymp ON ymcp.parameter_id = ymp.id WHERE ymcp.common_id IN (#ids)"), + sql = "SELECT ymcp.*, ymp.parameter_name as 'parameterName', ymp.parameter_type as 'parameterType', ymp.subsystem_name as 'subsystemName', ymp.parts_name as 'partsName' FROM yfsjglpt_model_common_parameters ymcp LEFT JOIN yfsjglpt_model_parameter ymp ON ymcp.parameter_id = ymp.id WHERE ymcp.common_id IN (#ids) AND ymcp.is_global = 0"), @SQL(view = "getCommonById", sql = "SELECT ymcp.*, ymp.parameter_name as 'parameterName', ymp.parameter_type as 'parameterType', ymp.subsystem_name as 'subsystemName' FROM yfsjglpt_model_common_parameters ymcp LEFT JOIN yfsjglpt_model_parameter ymp ON ymcp.parameter_id = ymp.id WHERE ymcp.user_id = #userId") }) @@ -19,6 +21,7 @@ public class ModelCommonParameters extends MpaasBasePojo { private String id; private String parameterId; private String commonId; + private Integer isGlobal; @Column(type = ColumnType.CALCULATE) private String parameterName; diff --git a/src/main/java/com/xdap/self_development/pojo/view/ParameterItem.java b/src/main/java/com/xdap/self_development/pojo/view/ParameterItem.java new file mode 100644 index 0000000..2537bd6 --- /dev/null +++ b/src/main/java/com/xdap/self_development/pojo/view/ParameterItem.java @@ -0,0 +1,9 @@ +package com.xdap.self_development.pojo.view; + +import lombok.Data; + +@Data +public class ParameterItem { + private String parameterId; + private Integer isGlobal; +} diff --git a/src/main/java/com/xdap/self_development/service/impl/CommonParameterServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/CommonParameterServiceImpl.java index f17e17b..eaeeb45 100644 --- a/src/main/java/com/xdap/self_development/service/impl/CommonParameterServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/CommonParameterServiceImpl.java @@ -4,10 +4,8 @@ import com.xdap.self_development.common.UserPermissionGetter; import com.xdap.self_development.config.BusinessDatabase; import com.xdap.self_development.controller.form.*; import com.xdap.self_development.exception.CommonException; -import com.xdap.self_development.pojo.AnalysisCommonParameters; -import com.xdap.self_development.pojo.CommonParameter; -import com.xdap.self_development.pojo.ModelCommonParameters; -import com.xdap.self_development.pojo.Parameter; +import com.xdap.self_development.pojo.*; +import com.xdap.self_development.pojo.view.ParameterItem; import com.xdap.self_development.pojo.view.ParametersView; import com.xdap.self_development.service.CommonParameterService; import org.springframework.beans.BeanUtils; @@ -30,6 +28,13 @@ public class CommonParameterServiceImpl implements CommonParameterService { .view("getAllSubsystemAndPara") .doQuery(Parameter.class); + List globalParameters = bd.getBusinessDatabase().doQuery(GlobalParameter.class); + globalParameters.forEach(globalParameter -> { + Parameter parameter = new Parameter(); + BeanUtils.copyProperties(globalParameter, parameter); + parameters.add(parameter); + }); + return convertToModelCommonItemList(parameters); } @@ -50,6 +55,10 @@ public class CommonParameterServiceImpl implements CommonParameterService { List modelCommonParameters = bd.getBusinessDatabase() .viewQueryMode(true).view("getCommonAndParameters") .setVar("ids", ids).doQuery(ModelCommonParameters.class); + modelCommonParameters.addAll( + bd.getBusinessDatabase().viewQueryMode(true).view("getCommonAndGlobalParameters") + .setVar("ids", ids).doQuery(ModelCommonParameters.class) + ); return convertToModelCommonList(modelCommonParameters, commonParameters); } @@ -252,13 +261,29 @@ public class CommonParameterServiceImpl implements CommonParameterService { * 将List 转换为 ModelCommonParameters 列表 */ private List convertToModelCommonParameters( - List parameters, String commonId) { + List parameters, String commonId) { List result = new ArrayList<>(); + if (parameters != null) { - for (String parameterId : parameters) { + // 筛选整车参数 + List globalParameters = parameters.stream().filter(item -> item.getIsGlobal() == 1) + .map(ParameterItem::getParameterId).collect(Collectors.toList()); + List localParameters = parameters.stream().filter(item -> item.getIsGlobal() != 1) + .map(ParameterItem::getParameterId).collect(Collectors.toList()); + + for (String parameterId : globalParameters) { ModelCommonParameters param = new ModelCommonParameters(); param.setParameterId(parameterId); param.setCommonId(commonId); + param.setIsGlobal(1); + result.add(param); + } + + for (String parameterId : localParameters) { + ModelCommonParameters param = new ModelCommonParameters(); + param.setParameterId(parameterId); + param.setCommonId(commonId); + param.setIsGlobal(0); result.add(param); } }