package com.unis.base.server.domain;


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

import com.unis.base.common.vo.TyLskcxxQueryVO;
import com.unis.base.server.dao.TyLskcxxHisDao;
import org.springframework.beans.factory.annotation.Autowired;

import com.unis.base.common.vo.TyLskcxxVO;
import com.unis.base.server.dao.TyLskcxxDao;
import com.unis.base.server.entity.TyLskcxxDO;
import com.unis.common.utils.LsBeanUtils;

import org.springframework.stereotype.Component;

/**
 * @author huangxing
 * @version 1.0
 * @Title TyLskcxxDomain
 * @ProjectName 持久化
 * @Description
 * @date 2019/07/22 17点26分
 */
@Component
public class TyLskcxxDomain extends BaseDomain {

	@Autowired
	private TyLskcxxDao tyLskcxxMapper;
	@Autowired
	private TyLskcxxHisDao hisDao;

	/**
	 *
	 * @param tyLskcxxQueryVO
	 * @return
	 */
	public List<TyLskcxxVO> getTyLskcxxList(TyLskcxxQueryVO tyLskcxxQueryVO) {
		List<TyLskcxxVO> tyLskcxxVOList = new ArrayList<TyLskcxxVO>();
		List<TyLskcxxDO> select = tyLskcxxMapper.selectByQueryVO(tyLskcxxQueryVO);
		for (TyLskcxxDO tyLskcxxDO : select) {
			TyLskcxxVO lskcxxVO = new TyLskcxxVO();
			LsBeanUtils.copyAllProperties(tyLskcxxDO,lskcxxVO);
			tyLskcxxVOList.add(lskcxxVO);
		}
		return tyLskcxxVOList;
	}

	/**
	 * 查询最新的一条数据
	 * @param tyLskcxxQueryVO
	 * @return
	 */
	public TyLskcxxVO selectLastestByEntity(TyLskcxxQueryVO tyLskcxxQueryVO){
		List<TyLskcxxDO> list=tyLskcxxMapper.selectLastestByEntity(tyLskcxxQueryVO);
		TyLskcxxVO tyLskcxVO= null;
		if(list!=null && list.size()>0){
			tyLskcxVO= new TyLskcxxVO();
			TyLskcxxDO tyLskcxxDO=list.get(0);
			LsBeanUtils.copyAllProperties(tyLskcxxDO,tyLskcxVO);
		}
		return tyLskcxVO;
	}

	/**
	 * 查询最新的一条数据
	 * @param tyLskcxxVO
	 * @return
	 */
	public TyLskcxxVO selectById(TyLskcxxVO tyLskcxxVO){
		TyLskcxxDO tyLskcxxDO=tyLskcxxMapper. selectById(tyLskcxxVO);
		TyLskcxxVO kcVO= null;
		if(tyLskcxxDO!=null){
			kcVO= new TyLskcxxVO();
			LsBeanUtils.copyAllProperties(tyLskcxxDO,kcVO);
		}
		return kcVO;
	}

	/**
	 *
	 * @param TyLskcxxVO
	 * @return
	 */
	public int insert(TyLskcxxVO tyLskcxxVO) {
		//进行传递参数copy
		TyLskcxxDO tyLskcxxDO = new TyLskcxxDO();
		LsBeanUtils.copyAllProperties(tyLskcxxVO, tyLskcxxDO);

		//在LSKCXX_HIS表中保存一份
		//hisDao.insert(tyLskcxxDO);

		return tyLskcxxMapper.insert(tyLskcxxDO);
	}

	/**
	 *
	 * @param kcxxid
	 * @return
	 */
	public TyLskcxxVO getTyLskcxxById(String kcxxid) {
		TyLskcxxVO tyLskcxxVO = new TyLskcxxVO();
		LsBeanUtils.copyAllProperties(tyLskcxxMapper.selectByKey(kcxxid), tyLskcxxVO);
		return tyLskcxxVO;
	}

	/**
	 *
	 * @param TyLskcxxVO
	 * @return
	 */
	public int update(TyLskcxxVO tyLskcxxVO) {
		//进行传递参数copy
		TyLskcxxDO tyLskcxxDO = new TyLskcxxDO();
		LsBeanUtils.copyAllProperties(tyLskcxxVO, tyLskcxxDO);
		return tyLskcxxMapper.updateByPrimaryKey(tyLskcxxDO);
	}

	/**
	 *
	 * @param tyLskcxxVO
	 * @return
	 */
	public int updateByPrimaryKeySelective(TyLskcxxVO tyLskcxxVO) {
		//进行传递参数copy
		TyLskcxxDO tyLskcxxDO = new TyLskcxxDO();
		LsBeanUtils.copyAllProperties(tyLskcxxVO, tyLskcxxDO);
		return tyLskcxxMapper.updateByPrimaryKeySelective(tyLskcxxDO);
	}

}
