|
@@ -526,12 +526,21 @@ public class SbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, SbInfo, SbI
|
|
|
|
|
|
|
|
|
@Override
|
|
|
- public List<SbInfoTypeReportVO2> getTypeReport(SbTypeDTO model) {
|
|
|
+ public List<SbInfoTypeReportVO2> getSbNumReport(SbTypeDTO model) {
|
|
|
String id = model.getId();
|
|
|
model = new SbTypeDTO();
|
|
|
model.setParentId(id);
|
|
|
List<SbTypeVO> result = sbTypeMapper.selectVOList(model);
|
|
|
+ for (int i=0;i<result.size();i++){
|
|
|
+ if (result.get(i).getId().equals(model.getParentId())){
|
|
|
+ result.remove(i);
|
|
|
+ i--;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
SbType sbType = sbTypeMapper.selectById(model.getParentId());
|
|
|
+ //如果是父设备是机械,则需要将动设备,静设备和特种设备手动挂在机械下面
|
|
|
+ List<SbInfoTypeReportVO2> sbInfoTypeReportVO2s = new ArrayList<>();
|
|
|
if (sbType.getName().equals("机械")){
|
|
|
//二级菜单,需将动设备,静设备加进来
|
|
|
List<String> list = new ArrayList<>();
|
|
@@ -539,28 +548,123 @@ public class SbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, SbInfo, SbI
|
|
|
list.add("机械-静设备");
|
|
|
model = new SbTypeDTO();
|
|
|
model.setNameList(list);
|
|
|
- List result2 = sbTypeMapper.selectVOList(model);
|
|
|
- result.addAll(result2);
|
|
|
- }
|
|
|
- List<String> list = result.stream().map(SbTypeVO::getId).collect(Collectors.toList());
|
|
|
- SbTypeDTO sbTypeDTO = new SbTypeDTO();
|
|
|
- sbTypeDTO.setParentList(list);
|
|
|
- List<SbTypeVO> sbTypeVOS= sbTypeMapper.selectVOList(sbTypeDTO);
|
|
|
- List<SbInfoTypeReportVO2> reportVO2s = sbTypeMapper.getSbTypeNum(sbTypeDTO);
|
|
|
-
|
|
|
- for (SbInfoTypeReportVO2 reportVO2:reportVO2s){
|
|
|
- List<SbTypeVO> typeVOS = new ArrayList<>();
|
|
|
- for (SbTypeVO vo:sbTypeVOS){
|
|
|
- if (vo.getParentId().equals(reportVO2.getId())){
|
|
|
- typeVOS.add(vo);
|
|
|
- reportVO2.setTypeName(vo.getName());
|
|
|
- }
|
|
|
+ List<SbTypeVO> sbTypeVOS = sbTypeMapper.selectVOList(model);
|
|
|
+
|
|
|
+ model.setNameList(list);
|
|
|
+ Map<String,List<String>> typeMap = new HashMap<>();
|
|
|
+
|
|
|
+ for (SbTypeVO vo:sbTypeVOS) {
|
|
|
+ List<String> ids = new ArrayList<>();
|
|
|
+ List types = new ArrayList();
|
|
|
+ ids.add(vo.getId());
|
|
|
+ do {
|
|
|
+ model = new SbTypeDTO();
|
|
|
+ model.setParentList(ids);
|
|
|
+ List<String> typeIdList =sbTypeMapper.getTypeIds(model);
|
|
|
+ if (typeIdList!=null&&typeIdList.size()>0){
|
|
|
+ types.addAll(typeIdList);
|
|
|
+ ids = typeIdList;
|
|
|
+ }else {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ } while (true);
|
|
|
+ if (types.size()>0) {
|
|
|
+ typeMap.put(vo.getName(), types);
|
|
|
}
|
|
|
- reportVO2.setDetailList(typeVOS);
|
|
|
}
|
|
|
|
|
|
+ Set<String> keyset = typeMap.keySet();
|
|
|
+ for (String name:keyset){
|
|
|
+ model = new SbTypeDTO();
|
|
|
+ model.setIdList(typeMap.get(name));
|
|
|
+ SbInfoTypeReportVO2 reportVO2s = sbTypeMapper.getSbNums(model);
|
|
|
+ sbInfoTypeReportVO2s.add(reportVO2s);
|
|
|
+ }
|
|
|
+ //再将特种设备加进来
|
|
|
+ model = new SbTypeDTO();
|
|
|
+ model.setUseType(5);
|
|
|
+ SbInfoTypeReportVO2 report = sbTypeMapper.getSbNums(model);
|
|
|
+ report.setTypeName("特种设备");
|
|
|
+ sbInfoTypeReportVO2s.add(report);
|
|
|
+
|
|
|
+ }else {
|
|
|
+ Map<String,List<String>> typeMap = new HashMap<>();
|
|
|
+ for (SbTypeVO vo:result) {
|
|
|
+ List<String> ids = new ArrayList<>();
|
|
|
+ List types = new ArrayList();
|
|
|
+ ids.add(vo.getId());
|
|
|
+ do {
|
|
|
+ model = new SbTypeDTO();
|
|
|
+ model.setParentList(ids);
|
|
|
+ List<String> typeIdList =sbTypeMapper.getTypeIds(model);
|
|
|
+ if (typeIdList!=null&&typeIdList.size()>0){
|
|
|
+ types.addAll(typeIdList);
|
|
|
+ ids = typeIdList;
|
|
|
+ }else {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ } while (true);
|
|
|
+ if (types.size()>0) {
|
|
|
+ typeMap.put(vo.getName(), types);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Set<String> keyset = typeMap.keySet();
|
|
|
+ for (String name:keyset){
|
|
|
+ model = new SbTypeDTO();
|
|
|
+ model.setIdList(typeMap.get(name));
|
|
|
+ SbInfoTypeReportVO2 reportVO2s = sbTypeMapper.getSbNums(model);
|
|
|
+ sbInfoTypeReportVO2s.add(reportVO2s);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return sbInfoTypeReportVO2s;
|
|
|
+ }
|
|
|
|
|
|
- return reportVO2s;
|
|
|
+ @Override
|
|
|
+ public List<SbInfoTypeReportVO2> getTypeReport(SbTypeDTO model) {
|
|
|
+// String id = model.getId();
|
|
|
+// model = new SbTypeDTO();
|
|
|
+// model.setParentId(id);
|
|
|
+// List<SbTypeVO> result = sbTypeMapper.selectVOList(model);
|
|
|
+// for (int i=0;i<result.size();i++){
|
|
|
+// if (result.get(i).getId().equals(model.getParentId())){
|
|
|
+// result.remove(i);
|
|
|
+// i--;
|
|
|
+// }
|
|
|
+//
|
|
|
+// }
|
|
|
+// SbType sbType = sbTypeMapper.selectById(model.getParentId());
|
|
|
+// if (sbType.getName().equals("机械")){
|
|
|
+// //二级菜单,需将动设备,静设备加进来
|
|
|
+// List<String> list = new ArrayList<>();
|
|
|
+// list.add("机械-动设备");
|
|
|
+// list.add("机械-静设备");
|
|
|
+// model = new SbTypeDTO();
|
|
|
+// model.setNameList(list);
|
|
|
+// List result2 = sbTypeMapper.selectVOList(model);
|
|
|
+// result.addAll(result2);
|
|
|
+// }
|
|
|
+// List<String> list = result.stream().map(SbTypeVO::getId).collect(Collectors.toList());
|
|
|
+// List<SbInfoTypeReportVO2> reportVO2s = new ArrayList<>();
|
|
|
+// if (list!=null&&list.size()>0) {
|
|
|
+// SbTypeDTO sbTypeDTO = new SbTypeDTO();
|
|
|
+// sbTypeDTO.setParentList(list);
|
|
|
+// List<SbTypeVO> sbTypeVOS = sbTypeMapper.selectVOList(sbTypeDTO);
|
|
|
+// reportVO2s = sbTypeMapper.getSbTypeNum(sbTypeDTO);
|
|
|
+//
|
|
|
+// for (SbInfoTypeReportVO2 reportVO2 : reportVO2s) {
|
|
|
+// List<SbTypeVO> typeVOS = new ArrayList<>();
|
|
|
+// for (SbTypeVO vo : sbTypeVOS) {
|
|
|
+// if (vo.getParentId().equals(reportVO2.getId())) {
|
|
|
+// typeVOS.add(vo);
|
|
|
+//// reportVO2.setTypeName(vo.getName());
|
|
|
+// }
|
|
|
+// }
|
|
|
+// reportVO2.setDetailList(typeVOS);
|
|
|
+// }
|
|
|
+// }
|
|
|
+
|
|
|
+
|
|
|
+ return null;
|
|
|
}
|
|
|
|
|
|
@Override
|