0
点赞
收藏
分享

微信扫一扫

Java 实现IMPL举例

月孛星君 2022-04-21 阅读 72
java
@Service("comBussnessFlowService")
public class ComBussnessFlowServiceImpl implements IComBussnessFlowService {
	@Resource(name="recordDao")
	private IStatusMonitorDao dao;
	public List<MonitorVo> list(QueryCondtition condition) {
		StringBuffer sql = new StringBuffer();
		if (condition.getDateMode().equals("0")){
			sql.append(" select to_char(t.dd,'yyyy/mm/dd'), t.fs");
			sql.append("  from (select trunc(comm_date,'dd') dd,");
		}else if(condition.getDateMode().equals("1")){
			sql.append(" select to_char(t.dd,'yyyy/mm'), t.fs");
			sql.append("  from (select trunc(comm_date,'mm') dd,");
		}else{
			sql.append(" select to_char(t.dd,'yyyy'), t.fs");
			sql.append("  from (select trunc(comm_date,'yyyy') dd,");
		}
		if (condition.getCommMode().equals("0")){
			sql.append("	sum(flow_size) fs");
		}else if(condition.getCommMode().equals("1")){
			sql.append("	sum(decode(status,0,flow_size,0)) fs");
		}else{
			sql.append("	sum(decode(status,1,flow_size,0)) fs");
		}
		sql.append(" from (select status, comm_date, flow_size " +
				"    from t_service_rec   where  1=1 ");
		List<Object> conList = new ArrayList<Object>();
		getWhere(sql,conList,condition);
		if (condition.getDateMode().equals("0")){
			sql.append(")	group by trunc(comm_date,'dd')");
		}else if(condition.getDateMode().equals("1")){
			sql.append(")	group by trunc(comm_date,'mm')");
		}else{
			sql.append(")	group by trunc(comm_date,'yyyy')");
		}
		sql.append(" ) t  order by t.dd");

		List<MonitorVo> list = new ArrayList<MonitorVo>();
		try{
			List<Object[]> resultList = dao.queryBySQL(sql.toString(),conList.toArray());
			if( resultList != null && resultList.size() > 0){
				for(Object[] obj : resultList){
					MonitorVo monitorVo = new MonitorVo();
					monitorVo.setModeX((String)obj[0]);
					monitorVo.setNum(((BigDecimal)obj[1]).intValue());
					list.add(monitorVo);
				}
			}
		}catch(Exception e){
			e.printStackTrace();
		}
		return list;	
	}
	private void getWhere(StringBuffer sql, List<Object> conList, QueryCondtition condition) {
		//有效时间
		if(condition.getValidStarDate()!= null ){
			sql.append(" and comm_date>=?");
			conList.add(TimeUtil.getStartTime(condition.getValidStarDate()));
			
		}
		if(condition.getValidEndDate()!= null ){
			sql.append(" and comm_date<=?");
			conList.add(TimeUtil.getEndTime(condition.getValidEndDate()));
		}
		if(condition.getSerivceName()!= null ){
			sql.append(" and  platform_no = ?");
			conList.add(condition.getSerivceName());
		}
		
	}

}
举报

相关推荐

0 条评论