diff --git a/src/main/java/com/xdap/self_development/common/UserPermissionGetter.java b/src/main/java/com/xdap/self_development/common/UserPermissionGetter.java index 3a92a57..ccf63fd 100644 --- a/src/main/java/com/xdap/self_development/common/UserPermissionGetter.java +++ b/src/main/java/com/xdap/self_development/common/UserPermissionGetter.java @@ -55,6 +55,7 @@ public class UserPermissionGetter { // 获取全部参数权限 public List getParamPermissions() { String currentUserId = runtimeAppContextService.getCurrentUserId(); +// String currentUserId = "1232"; Set result = new HashSet<>(); try { // 获取用户权限 diff --git a/src/main/java/com/xdap/self_development/controller/AnalysisCommonController.java b/src/main/java/com/xdap/self_development/controller/AnalysisCommonController.java new file mode 100644 index 0000000..3550c4f --- /dev/null +++ b/src/main/java/com/xdap/self_development/controller/AnalysisCommonController.java @@ -0,0 +1,25 @@ +package com.xdap.self_development.controller; + +import com.definesys.mpaas.common.http.Response; +import com.xdap.self_development.controller.request.AnalysisRequest; +import com.xdap.self_development.pojo.view.AnalysisModelParamterView; +import com.xdap.self_development.service.AnalysisCommonParametersService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; + +@RestController +@RequestMapping("/custom/analysis") +public class AnalysisCommonController { + @Autowired + AnalysisCommonParametersService analysisCommonParametersService; + + //机型常用返回机型数据 + @PostMapping("/selectModelParamByCommon") + public Response selectModelParamByCommon(@RequestBody AnalysisRequest analysisRequest) { + ArrayList lists = analysisCommonParametersService.selectModelParamByCommon(analysisRequest); + return Response.ok().data(lists); + } + +} diff --git a/src/main/java/com/xdap/self_development/controller/request/AnalysisRequest.java b/src/main/java/com/xdap/self_development/controller/request/AnalysisRequest.java new file mode 100644 index 0000000..3ad631c --- /dev/null +++ b/src/main/java/com/xdap/self_development/controller/request/AnalysisRequest.java @@ -0,0 +1,30 @@ +package com.xdap.self_development.controller.request; + + +import com.definesys.mpaas.query.annotation.Table; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.List; + +/** + *

+ * 待办事项表 + *

+ * + * @author Lys111 + * @since 2025-11-18 + */ +@Data +public class AnalysisRequest{ + + /** + * 机型列表 + */ + private List modelIds; + + //常用参数id + private String commonId; + +} diff --git a/src/main/java/com/xdap/self_development/pojo/Template.java b/src/main/java/com/xdap/self_development/pojo/Template.java index 8ec2a16..42f6dc9 100644 --- a/src/main/java/com/xdap/self_development/pojo/Template.java +++ b/src/main/java/com/xdap/self_development/pojo/Template.java @@ -33,6 +33,7 @@ public class Template extends MpaasBasePojo { private Timestamp createdTime; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Timestamp publishedTime; + private Integer orderNum; private String createBy; public Template(String templateName, Integer version, String status, Timestamp createdTime, Timestamp publishedTime, String createBy) { diff --git a/src/main/java/com/xdap/self_development/pojo/view/AnalysisModelParamterView.java b/src/main/java/com/xdap/self_development/pojo/view/AnalysisModelParamterView.java new file mode 100644 index 0000000..8eca65e --- /dev/null +++ b/src/main/java/com/xdap/self_development/pojo/view/AnalysisModelParamterView.java @@ -0,0 +1,13 @@ +package com.xdap.self_development.pojo.view; + +import com.xdap.self_development.pojo.EngineParamDetailPojo; +import lombok.Data; + +import java.util.List; + +@Data +public class AnalysisModelParamterView { + String modelID; + String modelName; + List pojos; +} diff --git a/src/main/java/com/xdap/self_development/service/AnalysisCommonParametersService.java b/src/main/java/com/xdap/self_development/service/AnalysisCommonParametersService.java index 2f5fc3b..21e75bb 100644 --- a/src/main/java/com/xdap/self_development/service/AnalysisCommonParametersService.java +++ b/src/main/java/com/xdap/self_development/service/AnalysisCommonParametersService.java @@ -1,14 +1,18 @@ package com.xdap.self_development.service; +import com.xdap.self_development.controller.request.AnalysisRequest; import com.xdap.self_development.controller.request.ApprovalNodeRequest; import com.xdap.self_development.pojo.dto.ActivitiDataAndRecordDTO; import com.xdap.self_development.pojo.dto.ActivitiDataDTO; import com.xdap.self_development.pojo.dto.HandleApprovalDTO; import com.xdap.self_development.pojo.dto.ShowActivitiDTO; +import com.xdap.self_development.pojo.view.AnalysisModelParamterView; +import java.util.ArrayList; import java.util.List; public interface AnalysisCommonParametersService { - //查询常用参数返回机型数据 + //查询常用参数返回机型数据 + ArrayList selectModelParamByCommon(AnalysisRequest analysisRequest); } diff --git a/src/main/java/com/xdap/self_development/service/impl/AnalysisCommonParametersServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/AnalysisCommonParametersServiceImpl.java new file mode 100644 index 0000000..18616b6 --- /dev/null +++ b/src/main/java/com/xdap/self_development/service/impl/AnalysisCommonParametersServiceImpl.java @@ -0,0 +1,74 @@ +package com.xdap.self_development.service.impl; + + +import com.xdap.api.moudle.department.pojo.entity.XdapDepartments; +import com.xdap.api.moudle.user.pojo.XdapUsers; +import com.xdap.self_development.config.BusinessDatabase; +import com.xdap.self_development.controller.request.AnalysisRequest; +import com.xdap.self_development.controller.request.ModelRolesRequest; +import com.xdap.self_development.controller.request.RolePerJoinRequest; +import com.xdap.self_development.controller.request.UserRoleBindingRequest; +import com.xdap.self_development.enums.ParamPermissionEnum; +import com.xdap.self_development.exception.CommonException; +import com.xdap.self_development.pojo.*; +import com.xdap.self_development.pojo.dto.PageResultDTO; +import com.xdap.self_development.pojo.view.AnalysisModelParamterView; +import com.xdap.self_development.pojo.view.MenuParamView; +import com.xdap.self_development.service.*; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.ObjectUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import java.util.stream.Collectors; + + +@Slf4j +@Service +public class AnalysisCommonParametersServiceImpl implements AnalysisCommonParametersService { + + @Autowired + BusinessDatabase businessDatabase; + @Autowired + EngineParamDetailService engineParamDetailService; + @Autowired + DataEntryEngineModelService dataEntryEngineModelService; + + @Override + public ArrayList selectModelParamByCommon(AnalysisRequest analysisRequest) { + if (ObjectUtils.isEmpty(analysisRequest.getModelIds()) || ObjectUtils.isEmpty(analysisRequest) || ObjectUtils.isEmpty(analysisRequest.getCommonId())) { + log.warn("analysisRequest is empty"); + return null; + } + List commons = businessDatabase.getBusinessDatabase() + .eq("common_id", analysisRequest.getCommonId()) + .doQuery(ModelCommonParameters.class); + List paramIds = commons.stream().map(x -> x.getParameterId()).collect(Collectors.toList()); + if (ObjectUtils.isEmpty(paramIds)) { + return null; + } + + ArrayList analysisModelParamterViews = new ArrayList<>(); + //查找每个机型的参数并且根据常用筛选 + for (String modelId : analysisRequest.getModelIds()) { + List pojoListAll = new ArrayList<>(); + List pojoList = engineParamDetailService.selectByModelNewVersion(modelId); + List pojos = pojoList.stream() + .filter(x -> paramIds.contains(x.getParameterId())).collect(Collectors.toList()); + if (ObjectUtils.isNotEmpty(pojos)) { + pojoListAll.addAll(pojos); + } + AnalysisModelParamterView analysisModelParamterView = new AnalysisModelParamterView(); + DataEntryEngineModelPojo dataEntryEngineModelPojo = dataEntryEngineModelService.selectBymodelId(modelId); + analysisModelParamterView.setModelID(modelId); + analysisModelParamterView.setModelName(ObjectUtils.isEmpty(dataEntryEngineModelPojo.getModelName())?"":dataEntryEngineModelPojo.getModelName()); + analysisModelParamterView.setPojos(pojoListAll); + analysisModelParamterViews.add(analysisModelParamterView); + + } + return analysisModelParamterViews; + } +} diff --git a/src/main/java/com/xdap/self_development/service/impl/EngineParamDetailServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/EngineParamDetailServiceImpl.java index 0c29ae9..9367342 100644 --- a/src/main/java/com/xdap/self_development/service/impl/EngineParamDetailServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/EngineParamDetailServiceImpl.java @@ -6,10 +6,10 @@ import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.metadata.WriteSheet; import com.definesys.mpaas.query.MpaasQueryFactory; import com.xdap.api.moudle.user.pojo.XdapUsers; +import com.xdap.self_development.common.UserPermissionGetter; import com.xdap.self_development.controller.request.EngineParamDetailExcel; import com.xdap.self_development.controller.request.EngineParamDetailRequest; import com.xdap.self_development.enums.CurrentNodeEnum; -import com.xdap.self_development.enums.DistributeStatusEnum; import com.xdap.self_development.enums.ParamOperation; import com.xdap.self_development.enums.ParamValueVersionEnum; import com.xdap.self_development.exception.ExcelImportException; @@ -53,6 +53,8 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService { private XdapDeptUsersService xdapDeptUsersService; @Autowired private ResponsiblePerService responsiblePerService; + @Autowired + UserPermissionGetter userPermissionGetter; private Integer versionNumber = 0; private String createdBy = "Excel导入"; @@ -67,15 +69,52 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService { @Override public Map> selectParamList(String modelProName) { List parameters = selectAllByNewVersion(); + + List