数据左侧树修改

This commit is contained in:
ys.git 2025-12-11 18:24:01 +08:00
parent 59f2823419
commit 2f222e617a
7 changed files with 73 additions and 15 deletions

View File

@ -12,6 +12,7 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -32,8 +33,14 @@ public class EngineParamDetailController {
//参数列表查询 //参数列表查询
@GetMapping("/selectParamList") @GetMapping("/selectParamList")
public Response selectParamList(@RequestParam(value = "modelProName", required = false) String modelProName) { public Response selectParamList(@RequestParam(value = "modelID"/*, required = false*/) String modelID) {
Map<String, List<String>> list = engineParamDetailService.selectParamList(modelProName); Map<String, List<String>> list = engineParamDetailService.selectParamList(modelID);
return Response.ok().data(list);
}
//参数列表查询
@GetMapping("/selectParamListAndModel")
public Response selectParamListAndModel(@RequestParam(value = "modelID"/*, required = false*/) String modelID) {
Map<String, HashMap<String,List<String>>> list = engineParamDetailService.selectParamListAndModel(modelID);
return Response.ok().data(list); return Response.ok().data(list);
} }

View File

@ -34,9 +34,9 @@ public class EngineParamDetailRequest {
*/ */
private String subsystemName; private String subsystemName;
/** /**
* 子系统+参数类型类型路径 * 子系统+零部件名称路径
*/ */
private List<String> subsystemTypes; private List<String> subsystemParts;
/** /**
* 子系统多选 * 子系统多选
*/ */

View File

@ -163,6 +163,7 @@ public class EngineModelListener implements ReadListener<DataEntryEngineModelExc
engineParamDetailPojo.setParameterId(parameter.getId()); engineParamDetailPojo.setParameterId(parameter.getId());
engineParamDetailPojo.setSubsystemName(parameter.getSubsystemName()); engineParamDetailPojo.setSubsystemName(parameter.getSubsystemName());
engineParamDetailPojo.setParameterType(parameter.getParameterType()); engineParamDetailPojo.setParameterType(parameter.getParameterType());
engineParamDetailPojo.setPartsName(parameter.getPartsName());
engineParamDetailPojo.setParameterName(parameter.getParameterName()); engineParamDetailPojo.setParameterName(parameter.getParameterName());
engineParamDetailPojo.setDepartment(parameter.getDepartment()); engineParamDetailPojo.setDepartment(parameter.getDepartment());
engineParamDetailPojo.setMajorVersion(versionNumber); engineParamDetailPojo.setMajorVersion(versionNumber);

View File

@ -45,6 +45,10 @@ public class EngineParamDetailPojo {
* 类型 * 类型
*/ */
private String parameterType; private String parameterType;
/**
* 类型
*/
private String partsName;
/** /**
* 参数名称 * 参数名称
*/ */

View File

@ -8,6 +8,7 @@ import com.xdap.self_development.pojo.dto.EngineParamDetailDTO;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -22,7 +23,7 @@ import java.util.Map;
public interface EngineParamDetailService { public interface EngineParamDetailService {
Map<String, List<String>> selectParamList(String modelProName); HashMap<String, List<String>> selectParamList(String modelID);
void excelImport(MultipartFile file,String modelId); void excelImport(MultipartFile file,String modelId);
@ -51,4 +52,6 @@ public interface EngineParamDetailService {
List<Integer> selectVersionList(String modelId); List<Integer> selectVersionList(String modelId);
List<XdapUsers> selectPersonoByType(String subSystem, String dept, Integer type); List<XdapUsers> selectPersonoByType(String subSystem, String dept, Integer type);
Map<String, HashMap<String, List<String>>> selectParamListAndModel(String modelID);
} }

View File

@ -322,6 +322,7 @@ public class DataEntryEngineModelServiceImpl implements DataEntryEngineModelServ
engineParamDetailPojo.setParameterId(parameter.getId()); engineParamDetailPojo.setParameterId(parameter.getId());
engineParamDetailPojo.setSubsystemName(parameter.getSubsystemName()); engineParamDetailPojo.setSubsystemName(parameter.getSubsystemName());
engineParamDetailPojo.setParameterType(parameter.getParameterType()); engineParamDetailPojo.setParameterType(parameter.getParameterType());
engineParamDetailPojo.setPartsName(parameter.getPartsName());
engineParamDetailPojo.setParameterName(parameter.getParameterName()); engineParamDetailPojo.setParameterName(parameter.getParameterName());
engineParamDetailPojo.setDepartment(parameter.getDepartment()); engineParamDetailPojo.setDepartment(parameter.getDepartment());
engineParamDetailPojo.setMajorVersion(newVersionNum); engineParamDetailPojo.setMajorVersion(newVersionNum);

View File

@ -63,11 +63,11 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
/** /**
* 返回参数列表 * 返回参数列表
* *
* @param modelProName * @param modelID
* @return * @return
*/ */
@Override @Override
public Map<String, List<String>> selectParamList(String modelProName) { public HashMap<String, List<String>> selectParamList(String modelID) {
List<Parameter> parameters = selectAllByNewVersion(); List<Parameter> parameters = selectAllByNewVersion();
List<Template> templates = List<Template> templates =
@ -95,16 +95,48 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
Template::getOrderNum, // value: 排序号 Template::getOrderNum, // value: 排序号
(oldValue, newValue) -> oldValue (oldValue, newValue) -> oldValue
)); ));
systemOrderMap.put("整车参数",0);
DataEntryEngineModelPojo dataEntryEngineModelPojo = dataEntryEngineModelService.selectBymodelId(modelID);
Map<String, List<String>> collect = parameters.stream() Map<String, List<String>> collect = parameters.stream()
.collect(Collectors.groupingBy( .collect(Collectors.groupingBy(
Parameter::getSubsystemName, Parameter::getSubsystemName,
Collectors.mapping( Collectors.mapping(
Parameter::getParameterType, // 提取 TYPE 字段 Parameter::getPartsName, // 提取 零部件名称字段
Collectors.toList() Collectors.toList()
) )
)); ));
Map<String, List<String>> sortedCollect2 = collect.entrySet().stream() //状态代号
String productNumber = dataEntryEngineModelPojo.getProductNumber();
//板块
String plate = dataEntryEngineModelPojo.getPlate();
//平台
String platform = dataEntryEngineModelPojo.getPlatform();
//系列
String series = dataEntryEngineModelPojo.getSeries();
//细分市场
String marketSegment = dataEntryEngineModelPojo.getMarketSegment();
//项目名称
String projectName = dataEntryEngineModelPojo.getProjectName();
//项目编号
String projectNumber = dataEntryEngineModelPojo.getProjectNumber();
//品牌
String brand = dataEntryEngineModelPojo.getBrand();
ArrayList<String> strings = new ArrayList<>();
if (dataEntryEngineModelPojo.getYcOrOth().equals("玉柴")) {
strings.add("状态代号:"+productNumber);
}else {
strings.add("产品编号:"+productNumber);
}
strings.add("板块:"+plate);
strings.add("平台:"+platform);
strings.add("系列:"+series);
strings.add("细分市场:"+marketSegment);
strings.add("项目名称:"+projectName);
strings.add("项目编号:"+projectNumber);
strings.add("品牌:"+brand);
collect.put("整车参数",strings);
HashMap<String, List<String>> sortedCollect2 = collect.entrySet().stream()
.sorted(Comparator.comparing(entry -> .sorted(Comparator.comparing(entry ->
systemOrderMap.getOrDefault(entry.getKey(), Integer.MAX_VALUE) systemOrderMap.getOrDefault(entry.getKey(), Integer.MAX_VALUE)
)) ))
@ -116,6 +148,15 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
)); ));
return sortedCollect2; return sortedCollect2;
} }
@Override
public Map<String, HashMap<String, List<String>>> selectParamListAndModel(String modelID) {
HashMap<String, HashMap<String, List<String>>> map = new HashMap<>();
DataEntryEngineModelPojo dataEntryEngineModelPojo = dataEntryEngineModelService.selectBymodelId(modelID);
String s = dataEntryEngineModelPojo.getModelName() + "+" + dataEntryEngineModelPojo.getProductNumber();
HashMap<String, List<String>> stringListMap = selectParamList(modelID);
map.put(s,stringListMap);
return map;
}
/** /**
@ -211,7 +252,7 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
String engineModelID = engineParamDetailRequest.getEngineModelID(); String engineModelID = engineParamDetailRequest.getEngineModelID();
List<String> subsystemTypes = engineParamDetailRequest.getSubsystemTypes(); List<String> subsystemTypes = engineParamDetailRequest.getSubsystemParts();
if (ObjectUtils.isEmpty(engineModelID) || ObjectUtils.isEmpty(subsystemTypes)) { if (ObjectUtils.isEmpty(engineModelID) || ObjectUtils.isEmpty(subsystemTypes)) {
throw new RuntimeException("传入参数为空,请检查"); throw new RuntimeException("传入参数为空,请检查");
} }
@ -229,7 +270,7 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
} }
for (String subsystemType : subsystemTypes) { for (String subsystemType : subsystemTypes) {
if (subsystemType.split("-").length != 2) { if (subsystemType.split("-").length != 2) {
throw new RuntimeException("查询条件异常,需子系统-类型"); throw new RuntimeException("查询条件异常,需子系统-零部件名称,若零部件为空则传入“/”");
} }
String subsystem = subsystemType.split("-")[0]; String subsystem = subsystemType.split("-")[0];
String type = subsystemType.split("-")[1]; String type = subsystemType.split("-")[1];
@ -240,7 +281,7 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
.eq("engine_model_id", engineModelID) .eq("engine_model_id", engineModelID)
.eq("version_status", code) .eq("version_status", code)
.eq("subsystem_name", subsystem) .eq("subsystem_name", subsystem)
.eq("parameter_type", type) .eq("parts_name", type)
.doQuery(EngineParamDetailPojo.class)); .doQuery(EngineParamDetailPojo.class));
} else if (ObjectUtils.isNotEmpty(resId)) { } else if (ObjectUtils.isNotEmpty(resId)) {
//若传入责任人则查询责任人需要分发的参数 //若传入责任人则查询责任人需要分发的参数
@ -249,14 +290,14 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
.eq("responsible_person_id", resId) .eq("responsible_person_id", resId)
.eq("version_status", code) .eq("version_status", code)
.eq("subsystem_name", subsystem) .eq("subsystem_name", subsystem)
.eq("parameter_type", type) .eq("parts_name", type)
.doQuery(EngineParamDetailPojo.class)); .doQuery(EngineParamDetailPojo.class));
} else { } else {
detailPojos.addAll(sw.buildFromDatasource("xdap_app_223770822127386625") detailPojos.addAll(sw.buildFromDatasource("xdap_app_223770822127386625")
.eq("engine_model_id", engineModelID) .eq("engine_model_id", engineModelID)
.eq("version_status", code) .eq("version_status", code)
.eq("subsystem_name", subsystem) .eq("subsystem_name", subsystem)
.eq("parameter_type", type) .eq("parts_name", type)
.doQuery(EngineParamDetailPojo.class)); .doQuery(EngineParamDetailPojo.class));
// 加权限先注释 List<EngineParamDetailPojo> pojoList = sw.buildFromDatasource("xdap_app_223770822127386625") // 加权限先注释 List<EngineParamDetailPojo> pojoList = sw.buildFromDatasource("xdap_app_223770822127386625")
// .eq("engine_model_id", engineModelID) // .eq("engine_model_id", engineModelID)
@ -643,6 +684,7 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
return xdapUsersPojos; return xdapUsersPojos;
} }
private void setupResponse(HttpServletResponse response, String fileName) throws IOException { private void setupResponse(HttpServletResponse response, String fileName) throws IOException {
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8");