package io.renren.modules.app.service.impl;

import java.util.ArrayList;
import java.util.List;

import org.springframework.stereotype.Service;

import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;

import io.renren.modules.app.dao.FhxxSelectDao;
import io.renren.modules.app.entity.Cxtj_CxtjCsbEntity;
import io.renren.modules.app.entity.FhmxzEntity;
import io.renren.modules.app.entity.FhxxSelectEntity;
import io.renren.modules.app.service.FhxxSelectService;

@Service("fhxxSelectService")
public class FhxxSelectServicelmpl extends ServiceImpl<FhxxSelectDao, FhxxSelectEntity> implements FhxxSelectService {

	/**
	 * 分户信息查询
	 * * @param pageNum
	 * @param pageSize
	 * @param map
	 * @return
	 */
	@Override
	public PageInfo<FhxxSelectEntity> selectFhxxByPage(Integer pageNum, Integer pageSize,
			FhxxSelectEntity fhxxSelectEntity) {
		//个人缴交额
		Double grje = 0.0;
		//单位缴交额
		Double dwje = 0.0;
		//缴交总额
		Double jjze = 0.0;
		//当前余额
		Double dqye = 0.0;
		List<FhxxSelectEntity> list2=new ArrayList<FhxxSelectEntity>();
		if(!"".equals(fhxxSelectEntity.getXqbm())&&fhxxSelectEntity.getXqbm()!=null&&!"".equals(fhxxSelectEntity.getXmbm())&&fhxxSelectEntity.getXmbm()!=null&&!"".equals(fhxxSelectEntity.getDhbm())&&fhxxSelectEntity.getDhbm()!=null){
			list2 = baseMapper.selectFhxx(fhxxSelectEntity);
		}else if(!"".equals(fhxxSelectEntity.getXqbm())&&fhxxSelectEntity.getXqbm()!=null&&!"".equals(fhxxSelectEntity.getXmbm())&&fhxxSelectEntity.getXmbm()!=null&&("".equals(fhxxSelectEntity.getDhbm())||fhxxSelectEntity.getDhbm()==null)){
			list2 = baseMapper.selectFhxx2(fhxxSelectEntity);
		}else if(!"".equals(fhxxSelectEntity.getXqbm())&&fhxxSelectEntity.getXqbm()!=null&&("".equals(fhxxSelectEntity.getXmbm())||fhxxSelectEntity.getXmbm()==null)&&("".equals(fhxxSelectEntity.getDhbm())||fhxxSelectEntity.getDhbm()==null)){
			list2 = baseMapper.selectFhxx3(fhxxSelectEntity);
		}	
		
		FhxxSelectEntity entity = new FhxxSelectEntity();
		for (int i = 0; i < list2.size(); i++) {
			Double grje2 = Double.parseDouble(list2.get(i).getGrje());
			grje = grje + grje2;
			
			Double jjze2 = Double.parseDouble(list2.get(i).getJjze());
			jjze = jjze+jjze2;
			
			Double dwje2 = Double.parseDouble(list2.get(i).getDwje());
			dwje = dwje+dwje2;
			
			Double dqye2 = Double.parseDouble(list2.get(i).getDqye());
			dqye = dqye+dqye2;
		}
		
		PageHelper.startPage(pageNum, pageSize);
		List<FhxxSelectEntity> list = new ArrayList<FhxxSelectEntity>();
		if(!"".equals(fhxxSelectEntity.getXqbm())&&fhxxSelectEntity.getXqbm()!=null&&!"".equals(fhxxSelectEntity.getXmbm())&&fhxxSelectEntity.getXmbm()!=null&&!"".equals(fhxxSelectEntity.getDhbm())&&fhxxSelectEntity.getDhbm()!=null){
			list = baseMapper.selectFhxx(fhxxSelectEntity);
		}else if(!"".equals(fhxxSelectEntity.getXqbm())&&fhxxSelectEntity.getXqbm()!=null&&!"".equals(fhxxSelectEntity.getXmbm())&&fhxxSelectEntity.getXmbm()!=null&&("".equals(fhxxSelectEntity.getDhbm())||fhxxSelectEntity.getDhbm()==null)){
			list = baseMapper.selectFhxx2(fhxxSelectEntity);
		}else if(!"".equals(fhxxSelectEntity.getXqbm())&&fhxxSelectEntity.getXqbm()!=null&&("".equals(fhxxSelectEntity.getXmbm())||fhxxSelectEntity.getXmbm()==null)&&("".equals(fhxxSelectEntity.getDhbm())||fhxxSelectEntity.getDhbm()==null)){
			list = baseMapper.selectFhxx3(fhxxSelectEntity);
		}
		
		int fwyjhs=0;
		if(!"".equals(fhxxSelectEntity.getXqbm())&&fhxxSelectEntity.getXqbm()!=null&&!"".equals(fhxxSelectEntity.getXmbm())&&fhxxSelectEntity.getXmbm()!=null&&!"".equals(fhxxSelectEntity.getDhbm())&&fhxxSelectEntity.getDhbm()!=null){
			fwyjhs=baseMapper.selectfwyjhs(fhxxSelectEntity.getDhbm());
		}else if(!"".equals(fhxxSelectEntity.getXqbm())&&fhxxSelectEntity.getXqbm()!=null&&!"".equals(fhxxSelectEntity.getXmbm())&&fhxxSelectEntity.getXmbm()!=null&&("".equals(fhxxSelectEntity.getDhbm())||fhxxSelectEntity.getDhbm()==null)){
			fwyjhs=baseMapper.selectfwyjhs(fhxxSelectEntity.getXmbm());
		}else if(!"".equals(fhxxSelectEntity.getXqbm())&&fhxxSelectEntity.getXqbm()!=null&&("".equals(fhxxSelectEntity.getXmbm())||fhxxSelectEntity.getXmbm()==null)&&("".equals(fhxxSelectEntity.getDhbm())||fhxxSelectEntity.getDhbm()==null)){
			fwyjhs=baseMapper.selectfwyjhs(fhxxSelectEntity.getXqbm());
		}
		entity.setFwyjhs(fwyjhs);//统计该楼栋已缴房屋户数
		entity.setIshj("1");
		entity.setGrje(grje.toString());
		entity.setJjze(jjze.toString());
		entity.setDwje(dwje.toString());
		entity.setDqye(dqye.toString());
		list.add(entity);
		PageInfo<FhxxSelectEntity> pageInfo = new PageInfo<FhxxSelectEntity>(list);
		return pageInfo;
	}

	
}
