package com.nmgs.service.impl; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.nmgs.entity.Operators; import com.nmgs.entity.SetUp; import com.nmgs.entity.StationInfo; import com.nmgs.mapper.SetUpMapper; import com.nmgs.mapper.StationInfoMapper; import com.nmgs.service.ISetUpService; import com.nmgs.service.IStationInfoService; import com.nmgs.util.DateUtils; import com.nmgs.util.PropertiesUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; @Service @Transactional public class SetUpServiceImpl implements ISetUpService { @Autowired private SetUpMapper setUpMapper; public static Logger logger = LoggerFactory.getLogger(SetUpServiceImpl.class); /** * 分页查询所站信息 * @param params * @return * * */ @Override public Page getSetUpList(Map params) { //从配置文件中读取数据库连接类型 params.put("DBTYPE", PropertiesUtil.getValue("DBType")); //设置分页 Integer pageNum = (Integer) params.get("pageNum"); Integer pageSize = (Integer) params.get("pageSize"); Page page = new Page<>(pageNum,pageSize); page = setUpMapper.getSetUpList(page,params); return page; } @Override public Page getCollectionData(Map params) { //从配置文件中读取数据库连接类型 params.put("DBTYPE", PropertiesUtil.getValue("DBType")); //设置分页 Integer pageNum = (Integer) params.get("pageNum"); Integer pageSize = (Integer) params.get("pageSize"); Page page = new Page<>(pageNum,pageSize); //定义查询列,根据params条件动态拼接 StringBuilder selectcolumn = new StringBuilder(" count(*) as totalCount "); StringBuilder group = new StringBuilder(); StringBuilder order = new StringBuilder(); for (Map.Entry entry : params.entrySet()) { Object value = entry.getValue(); if("roadCollection".equals(value)){ //拼接查询列 selectcolumn.append(" ,setup.ROADNO,road.ROADNAME AS roadName "); //拼接分组条件 if(group.toString().equals("")){ group = new StringBuilder("group by setup.ROADNO,road.ROADNAME "); }else{ group.append(" ,setup.ROADNO,road.ROADNAME "); } //拼接排序条件 if(order.toString().equals("")){ order = new StringBuilder("order by setup.ROADNO "); }else{ order.append(",setup.ROADNO "); } } if("staCollection".equals(value)){ //拼接查询列 selectcolumn.append(" ,setup.STANO,sta.STANAME as staName "); //拼接分组条件 if(group.toString().equals("")){ group = new StringBuilder("group by setup.STANO,sta.STANAME "); }else{ group.append(" ,setup.STANO,sta.STANAME "); } //拼接排序条件 if(order.toString().equals("")){ order = new StringBuilder(" order by setup.STANO "); }else{ order.append(",setup.STANO "); } } if("portTypeCollection".equals(value)){ //拼接查询列 selectcolumn.append(" ,setup.PORTTYPE,port.TEXT AS portTypeName "); //拼接分组条件 if(group.toString().equals("")){ group = new StringBuilder(" group by setup.PORTTYPE,port.TEXT "); }else{ group.append(" ,setup.PORTTYPE,port.TEXT "); } //拼接排序条件 if(order.toString().equals("")){ order = new StringBuilder(" order by setup.PORTTYPE "); }else{ order.append(",setup.PORTTYPE "); } } } params.put("selectcolumn", selectcolumn.toString()); logger.info("selectcolumn=========="+selectcolumn); params.put("group", group.toString()); logger.info("group=========="+group); params.put("order", order.toString()); logger.info("order=========="+order); page = setUpMapper.getCollectionData(page,params); return page; } }