package com.unis.base.server.service.impl;

import java.util.List;

import javax.annotation.Resource;

import com.github.pagehelper.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.github.pagehelper.PageHelper;
import com.unis.base.common.vo.DRyxxsjyVO;
import com.unis.base.server.domain.DRyxxsjyDomain;
import com.unis.base.server.domain.DKdxxsjyDomain;
import com.unis.base.server.entity.DRyxxsjyDO;
import com.unis.base.server.entity.DKdxxsjyDO;
import com.unis.base.server.service.DRyxxsjyService;

/**
 * @author huangxing
 * @version 1.0
 * @Title DYgxxsjyServiceImpl
 * @ProjectName 人员服务实现层
 * @Description
 * @date 2019/07/22 17点26分
 */
@Service
public class DRyxxsjyServiceImpl implements DRyxxsjyService {

	@Resource
	private DRyxxsjyDomain dRyxxsjyDomain;

	@Autowired
	private DKdxxsjyDomain dKdxxsjyDomain;

	/**
	 * 获取人员信息列表
	 * @param tzSlqyVO
	 * @return
	 */
	@Override
	public List<DRyxxsjyVO> getDRyxxsjyList(DRyxxsjyVO dRyxxsjyVO) {
		return dRyxxsjyDomain.getDRyxxsjyList(dRyxxsjyVO);
	}

	/**
	 * 根据人员编号获取人员信息
	 * @param cfbh人员编号
	 * @return
	 */
	@Override
	public DRyxxsjyDO getDRyxxsjyInfoByrybh(String rybh) {
		return dRyxxsjyDomain.getDRyxxsjyInfo(rybh);
	}

	/**
	 * 分页获取人员信息列表
	 * @param dRyxxsjyVO
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	@Override
	public List<DRyxxsjyVO> getDRyxxsjyPage(DRyxxsjyVO dRyxxsjyVO, Integer pageNum, Integer pageSize) {
		PageHelper.startPage(pageNum, pageSize);
        return dRyxxsjyDomain.getDRyxxsjyList(dRyxxsjyVO);
	}

	/**
	 * 更新人员信息
	 * @param dRyxxsjyVO
	 * @return
	 */
	@Override
	public int update(DRyxxsjyVO dRyxxsjyVO) {
		DRyxxsjyDO dRyxxsjyDO = dRyxxsjyDomain.getDRyxxsjyInfo(dRyxxsjyVO.getRybh());
		if(dRyxxsjyDO == null) {
			return 0;
		}
		return dRyxxsjyDomain.update(dRyxxsjyVO);
	}

	/**
	 * 带状态更新
	 * @param dRyxxsjyVO
	 * @return
	 */
	@Override
	public int personnelUpdate(DRyxxsjyVO dRyxxsjyVO) {
		DRyxxsjyDO dRyxxsjyDO = dRyxxsjyDomain.getPersonnelInfo(dRyxxsjyVO.getRybh());
		if(dRyxxsjyDO == null) {
			return 0;
		}
		return dRyxxsjyDomain.update(dRyxxsjyVO);
	}

	/**
	 * 根据人员编号删除人员信息
	 * @param cfbh人员编号
	 * @return
	 */
	@Override
	public int delete(String rybh) {
		DRyxxsjyDO dRyxxsjyDO = dRyxxsjyDomain.getDRyxxsjyInfo(rybh);
		if(dRyxxsjyDO == null) {
			return -1;
		}
		DRyxxsjyVO dRyxxsjyVO = new DRyxxsjyVO();
		dRyxxsjyVO.setRybh(rybh);
		dRyxxsjyVO.setStatus(0);
		dRyxxsjyVO.setCzbz("d");
		return dRyxxsjyDomain.remove(dRyxxsjyVO);
	}

	/**
	 * 添加人员信息
	 * @param dAjxxsjyVO
	 * @return
	 */
	@Override
	public int insert(DRyxxsjyVO dAjxxsjyVO) {
		/*DKdxxsjyDO dKdxxsjyDO = dKdxxsjyDomain.getDKdxxsjyInfoBykddm(dAjxxsjyVO.getKddm());
		if(dKdxxsjyDO==null) {
			return 0;
		}*/
		return dRyxxsjyDomain.insert(dAjxxsjyVO);
	}

	/**
	 * 根据库点代码删除人员列表
	 * @param kddm
	 * @return
	 */
	@Override
	public int deleteList(String kddm) {
		return dRyxxsjyDomain.deleteList(kddm);
	}

	/**
	 * 根据库点代码获取人员列表
	 * @param kddm
	 * @return
	 */
	@Override
	public List<DRyxxsjyVO> getPersonnelListByKddm(String kddm) {
		return dRyxxsjyDomain.getPersonnelListByKddm(kddm);
	}

	/**
	 * 根据库点代码获取人员列表
	 * @param kddm
	 * @return
	 */
	@Override
	public List<DRyxxsjyVO> personnelZHListByKddm(String kddm) {
		return dRyxxsjyDomain.personnelZHListByKddm(kddm);
	}



	/**
	 * 备案主表状态
	 * @param dRyxxsjyVO
	 * @return
	 */
	@Override
	public int updateFiling(DRyxxsjyVO dRyxxsjyVO) {
		return dRyxxsjyDomain.updateFiling(dRyxxsjyVO);
	}

	/**
	 * 更改启用状态
	 * @param dRyxxsjyVO
	 * @return
	 */
	@Override
	public int updateEnabled(DRyxxsjyVO dRyxxsjyVO) {
		return dRyxxsjyDomain.updateEnabled(dRyxxsjyVO);
	}

}
