You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

147 lines
4.8 KiB
Java

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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<SetUp> getSetUpList(Map<String, Object> params) {
//从配置文件中读取数据库连接类型
params.put("DBTYPE", PropertiesUtil.getValue("DBType"));
//设置分页
Integer pageNum = (Integer) params.get("pageNum");
Integer pageSize = (Integer) params.get("pageSize");
Page<SetUp> page = new Page<>(pageNum,pageSize);
page = setUpMapper.getSetUpList(page,params);
return page;
}
@Override
public Page<SetUp> getCollectionData(Map<String, Object> params) {
//从配置文件中读取数据库连接类型
params.put("DBTYPE", PropertiesUtil.getValue("DBType"));
//设置分页
Integer pageNum = (Integer) params.get("pageNum");
Integer pageSize = (Integer) params.get("pageSize");
Page<SetUp> page = new Page<>(pageNum,pageSize);
//定义查询列根据params条件动态拼接
StringBuilder selectcolumn = new StringBuilder(" count(*) as totalCount ");
StringBuilder group = new StringBuilder();
StringBuilder order = new StringBuilder();
for (Map.Entry<String, Object> 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;
}
}