数据左侧树修改

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 javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -32,8 +33,14 @@ public class EngineParamDetailController {
//参数列表查询
@GetMapping("/selectParamList")
public Response selectParamList(@RequestParam(value = "modelProName", required = false) String modelProName) {
Map<String, List<String>> list = engineParamDetailService.selectParamList(modelProName);
public Response selectParamList(@RequestParam(value = "modelID"/*, required = false*/) String modelID) {
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);
}

View File

@ -34,9 +34,9 @@ public class EngineParamDetailRequest {
*/
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.setSubsystemName(parameter.getSubsystemName());
engineParamDetailPojo.setParameterType(parameter.getParameterType());
engineParamDetailPojo.setPartsName(parameter.getPartsName());
engineParamDetailPojo.setParameterName(parameter.getParameterName());
engineParamDetailPojo.setDepartment(parameter.getDepartment());
engineParamDetailPojo.setMajorVersion(versionNumber);

View File

@ -45,6 +45,10 @@ public class EngineParamDetailPojo {
* 类型
*/
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 javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -22,7 +23,7 @@ import java.util.Map;
public interface EngineParamDetailService {
Map<String, List<String>> selectParamList(String modelProName);
HashMap<String, List<String>> selectParamList(String modelID);
void excelImport(MultipartFile file,String modelId);
@ -51,4 +52,6 @@ public interface EngineParamDetailService {
List<Integer> selectVersionList(String modelId);
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.setSubsystemName(parameter.getSubsystemName());
engineParamDetailPojo.setParameterType(parameter.getParameterType());
engineParamDetailPojo.setPartsName(parameter.getPartsName());
engineParamDetailPojo.setParameterName(parameter.getParameterName());
engineParamDetailPojo.setDepartment(parameter.getDepartment());
engineParamDetailPojo.setMajorVersion(newVersionNum);

View File

@ -63,11 +63,11 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
/**
* 返回参数列表
*
* @param modelProName
* @param modelID
* @return
*/
@Override
public Map<String, List<String>> selectParamList(String modelProName) {
public HashMap<String, List<String>> selectParamList(String modelID) {
List<Parameter> parameters = selectAllByNewVersion();
List<Template> templates =
@ -95,16 +95,48 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
Template::getOrderNum, // value: 排序号
(oldValue, newValue) -> oldValue
));
systemOrderMap.put("整车参数",0);
DataEntryEngineModelPojo dataEntryEngineModelPojo = dataEntryEngineModelService.selectBymodelId(modelID);
Map<String, List<String>> collect = parameters.stream()
.collect(Collectors.groupingBy(
Parameter::getSubsystemName,
Collectors.mapping(
Parameter::getParameterType, // 提取 TYPE 字段
Parameter::getPartsName, // 提取 零部件名称字段
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 ->
systemOrderMap.getOrDefault(entry.getKey(), Integer.MAX_VALUE)
))
@ -116,6 +148,15 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
));
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();
List<String> subsystemTypes = engineParamDetailRequest.getSubsystemTypes();
List<String> subsystemTypes = engineParamDetailRequest.getSubsystemParts();
if (ObjectUtils.isEmpty(engineModelID) || ObjectUtils.isEmpty(subsystemTypes)) {
throw new RuntimeException("传入参数为空,请检查");
}
@ -229,7 +270,7 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
}
for (String subsystemType : subsystemTypes) {
if (subsystemType.split("-").length != 2) {
throw new RuntimeException("查询条件异常,需子系统-类型");
throw new RuntimeException("查询条件异常,需子系统-零部件名称,若零部件为空则传入“/”");
}
String subsystem = subsystemType.split("-")[0];
String type = subsystemType.split("-")[1];
@ -240,7 +281,7 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
.eq("engine_model_id", engineModelID)
.eq("version_status", code)
.eq("subsystem_name", subsystem)
.eq("parameter_type", type)
.eq("parts_name", type)
.doQuery(EngineParamDetailPojo.class));
} else if (ObjectUtils.isNotEmpty(resId)) {
//若传入责任人则查询责任人需要分发的参数
@ -249,14 +290,14 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
.eq("responsible_person_id", resId)
.eq("version_status", code)
.eq("subsystem_name", subsystem)
.eq("parameter_type", type)
.eq("parts_name", type)
.doQuery(EngineParamDetailPojo.class));
} else {
detailPojos.addAll(sw.buildFromDatasource("xdap_app_223770822127386625")
.eq("engine_model_id", engineModelID)
.eq("version_status", code)
.eq("subsystem_name", subsystem)
.eq("parameter_type", type)
.eq("parts_name", type)
.doQuery(EngineParamDetailPojo.class));
// 加权限先注释 List<EngineParamDetailPojo> pojoList = sw.buildFromDatasource("xdap_app_223770822127386625")
// .eq("engine_model_id", engineModelID)
@ -643,6 +684,7 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
return xdapUsersPojos;
}
private void setupResponse(HttpServletResponse response, String fileName) throws IOException {
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setCharacterEncoding("utf-8");