zoukankan      html  css  js  c++  java
  • 多条sql返回的数据List<Map>进行数据拼装成一条数据返回

       List<Map> list = attendanceDataMapper.getZCDK(map);
    List<Map> list1 = attendanceDataMapper.getCD(map);
    List<Map> list2 = attendanceDataMapper.getZT(map);
    List<Map> mapList;
    if ("user".equals(map.get("type").toString()) || "campus".equals(map.get("type").toString())){
    mapList = getSingeData(map, list, list1, list2);
    } else {
    mapList = getData(map, list, list1, list2);
    }
    return SimpleMessage.info(mapList);
    }
    public List<Map> getData(Map map,List<Map> list,List<Map> list1,List<Map> list2) {
    List<Map> mapList = new ArrayList<>();
    for (Map map1 : list) {
    mapList.add(map1);
    }
    if (list1.size() !=0) {
    if (mapList.size() ==0) {
    for (Map map1 : list1) {
    map1.put("zcnum",0);
    mapList.add(map1);
    }
    } else {
    for (Map map1 : list1) {
    for (Map map2 : mapList) {
    if ("class".equals(map.get("type").toString())) {
    if (map1.get("cid").toString().equals(map2.get("cid").toString())) {
    map2.put("cdcount",map1.get("cdcount").toString());
    }
    } else if ("grade".equals(map.get("type").toString())) {
    if (map1.get("gid").toString().equals(map2.get("gid").toString())) {
    map2.put("cdcount",map1.get("cdcount").toString());
    }
    }
    }
    }
    List<String> list3 = new ArrayList<>();
    List<String> list4 = new ArrayList<>();
    for (Map map1 : list1) {
    if ("class".equals(map.get("type").toString())) {
    list3.add(map1.get("cid").toString());
    } else if ("grade".equals(map.get("type").toString())) {
    list3.add(map1.get("gid").toString());
    }
    }
    for (Map map1 : mapList) {
    if ("class".equals(map.get("type").toString())) {
    list4.add(map1.get("cid").toString());
    } else if ("grade".equals(map.get("type").toString())) {
    list4.add(map1.get("gid").toString());
    }
    }
    for (String s : list3) {
    if (!list4.contains(s)) {
    for (Map map1 : list1) {
    if ("class".equals(map.get("type").toString())) {
    if (s.equals(map1.get("cid").toString())) {
    map1.put("zcnum",0);
    mapList.add(map1);
    }
    } else if ("grade".equals(map.get("type").toString())) {
    if (s.equals(map1.get("gid").toString())) {
    map1.put("zcnum",0);
    mapList.add(map1);
    }
    }
    }
    }
    }
    }
    } else {
    if (mapList.size() !=0) {
    for (Map map1 : mapList) {
    map1.put("cdcount",0);
    }
    }
    }
    if (list2.size() !=0) {
    if (mapList.size() == 0) {
    for (Map map1 : list2) {
    map1.put("zcnum",0);
    map1.put("cdcount",0);
    mapList.add(map1);
    }
    } else {
    for (Map map1 : list2) {
    for (Map map2 : mapList) {
    if ("class".equals(map.get("type").toString())) {
    if (map1.get("cid").toString().equals(map2.get("cid").toString())) {
    map2.put("ztcount", map1.get("ztcount").toString());
    }
    } else if ("grade".equals(map.get("type").toString())) {
    if (map1.get("gid").toString().equals(map2.get("gid").toString())) {
    map2.put("ztcount", map1.get("ztcount").toString());
    }
    }
    }
    }
    List<String> list5 = new ArrayList<>();
    List<String> list6 = new ArrayList<>();
    for (Map map1 : list2) {
    if ("class".equals(map.get("type").toString())) {
    list5.add(map1.get("cid").toString());
    } else if ("grade".equals(map.get("type").toString())) {
    list5.add(map1.get("gid").toString());
    }
    }
    for (Map map1 : mapList) {
    if ("class".equals(map.get("type").toString())) {
    list6.add(map1.get("cid").toString());
    } else if ("grade".equals(map.get("type").toString())) {
    list6.add(map1.get("gid").toString());
    }
    }
    for (String s : list5) {
    if (!list6.contains(s)) {
    for (Map map1 : list1) {
    if ("class".equals(map.get("type").toString())) {
    if (s.equals(map1.get("cid").toString())) {
    map1.put("zcnum",0);
    map1.put("cdcount",0);
    mapList.add(map1);
    }
    } else if ("grade".equals(map.get("type").toString())) {
    if (s.equals(map1.get("gid").toString())) {
    map1.put("zcnum",0);
    map1.put("cdcount",0);
    mapList.add(map1);
    }
    }
    }
    }
    }
    }
    } else {
    if (mapList.size() !=0) {
    for (Map map1 : mapList) {
    map1.put("ztcount", 0);
    }
    } else {
    Map hashMap = new HashMap();
    hashMap.put("zcnum",0);
    hashMap.put("cdcount",0);
    hashMap.put("ztcount",0);
    mapList.add(hashMap);
    }
    }
    return mapList;
    }
    public List<Map> getSingeData(Map map,List<Map> list,List<Map> list1,List<Map> list2) {
    List<Map> mapList = new ArrayList<>();
    if (list.size() !=0) {
    for (Map map1 : list) {
    if (null!= map1) {
    mapList.add(map1);
    } else {
    Map hashMap = new HashMap();
    hashMap.put("zcnum",0);
    mapList.add(hashMap);
    }
    }
    } else {
    Map hashMap = new HashMap();
    hashMap.put("zcnum",0);
    mapList.add(hashMap);
    }
    for (Map map1 : mapList) {
    if (list2.size() !=0) {
    for (Map map2 : list2) {
    if (null != map2) {
    map1.put("ztcount",map2.get("ztcount").toString());
    } else {
    map1.put("ztcount",0);
    }
    }
    } else {
    map1.put("ztcount",0);
    }
    }
    for (Map map1 : mapList) {
    if (list1.size() !=0) {
    for (Map map2 : list1) {
    if (null != map2) {
    map1.put("cdcount",map2.get("cdcount").toString());
    } else {
    map1.put("cdcount",0);
    }
    }
    } else {
    map1.put("cdcount",0);
    }
    }
    return mapList;
    }
  • 相关阅读:
    Spring 进行junit单元测试时,出现method ‘initializationError’ 错误
    反射注解
    Maven
    spring 和 spingmvc 和 mybatis 的集成应用
    SpringMVC:文件上传,文件下载,SpringMVC的拦截器,poi组件导出excel文件
    SpringMVC:SpringMVC执行流程和原理,RESTful风格支持,请求中文乱码问题, 响应传值方式, 转换JSON数据
    Spring和MyBatis的整合
    Spring的事务管理
    Spring:AOP, 面向切面编程,JDK的动态代理,CGLIB代理,Spring的AOP技术(底层就是JDK动态代理和CGLIB代理技术)
    Spring注解配置:@Component,@Controller,@Service,@Repository,@Scope,@Autowired,@Qualifier,@Resource@Value
  • 原文地址:https://www.cnblogs.com/bt2882/p/11424599.html
Copyright © 2011-2022 走看看