package com.unis.base.server.domain;

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

import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.unis.base.common.constant.FilingStatusConstant;
import com.unis.base.common.vo.PersonnelRecordsHisVO;
import com.unis.base.common.vo.PersonnelRecordsHisqueryVO;
import com.unis.base.common.vo.DRyxxsjyVO;
import com.unis.base.common.vo.EnterpriseQualificationInformationHisVO;
import com.unis.base.common.vo.EnterpriseQualificationInformationHisqueryVO;
import com.unis.base.server.dao.DRyxxsjyDao;
import com.unis.base.server.dao.DRyxxsjyHisDao;
import com.unis.base.server.entity.DRyxxsjyDO;
import com.unis.base.server.entity.DRyxxsjyHisDO;
import com.unis.base.server.entity.QyzgQyzgxxHisDO;
import com.unis.common.utils.DateUtil;
import com.unis.common.utils.LsBeanUtils;
import org.springframework.stereotype.Component;
/**
 * 人员信息历史
 * @author liuweilong
 *
 */
@Component
public class PersonnelRecordsHisDomain extends BaseDomain {

	@Autowired
	private DRyxxsjyHisDao dRyxxsjyHisDao;

	//审核通过
	private static final Integer Y=3;
	
	//审核驳回
	private static final Integer N=4;
	
	/**
	 * 新增人员历史
	 * @param dAjxxsjyVO
	 * @return
	 */
	public int insert(PersonnelRecordsHisVO dRyxxsjyHisVO) {
		//获取备案状态
		Integer sfba = dRyxxsjyHisVO.getSfba();
		//通过或者驳回状态
		if (Y==(sfba) || N==(sfba)) {
				if (Y==sfba) {
					//驳回必须有审批意见
					if (StringUtils.isEmpty(dRyxxsjyHisVO.getSpyj())){
						
						return -2;
					}
				}
				//新增人员历史信息
				DRyxxsjyHisDO dRyxxsjyHisDO =new DRyxxsjyHisDO();
				LsBeanUtils.copyAllProperties(dRyxxsjyHisVO, dRyxxsjyHisDO);
				
				//设置主键
				String id = getMaxCodeById(dRyxxsjyHisDao.getMaxCodeById("RY" + DateUtil.getDate()),
						"RY" + DateUtil.getDate(), 3);
				dRyxxsjyHisDO.setRybajlId(id);
				
				return dRyxxsjyHisDao.insertSelective(dRyxxsjyHisDO);
			}else{
				//备案状态不是通过或者驳回
				return -1;
			}
	
	}
	
	/**
	 * 分页
	 * @return
	 */
	public PageInfo<PersonnelRecordsHisVO> getpageList(PersonnelRecordsHisqueryVO dRyxxsjyHisqueryVO,Integer pageNum,Integer pageSize){
		
		PageHelper.startPage(pageNum,pageSize);
		List<DRyxxsjyHisDO> getonList = dRyxxsjyHisDao.getonList(dRyxxsjyHisqueryVO);
		
		PageInfo<DRyxxsjyHisDO> pageInfo=new PageInfo<DRyxxsjyHisDO>(getonList);
		
		PageInfo<PersonnelRecordsHisVO> Info=new PageInfo<PersonnelRecordsHisVO>();
		
		LsBeanUtils.copyAllProperties(pageInfo, Info);
		
		return Info;
		
		
		
		
	}

	
	/**
	 * 查询人员历史信息
	 * @param id
	 * @return
	 */
	public PersonnelRecordsHisVO selectByPerimKey(String rybajlId){
		
		DRyxxsjyHisDO selectByPrimaryKey = dRyxxsjyHisDao.selectUsePrimaryKey(rybajlId);
		if (selectByPrimaryKey != null) {
			PersonnelRecordsHisVO personnelRecordsHisVO=new PersonnelRecordsHisVO();
			LsBeanUtils.copyAllProperties(selectByPrimaryKey, personnelRecordsHisVO);
			return personnelRecordsHisVO;
		}
		
		return null;
		
	}
	
}
