package com.zteits.oa.report.biz;
import java.util.ArrayList;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageInfo;
import com.zteits.oa.api.base.bean.BizResult;
import com.zteits.oa.api.base.bean.PageBean;
import com.zteits.oa.api.dto.asraop.AsraOpDTO;
import com.zteits.oa.api.dto.asraop.param.AsraOpQueryReq;
import com.zteits.oa.api.service.report.query.AsraOpQueryService;
import com.zteits.oa.report.dao.AsraOpDao;
import com.zteits.oa.report.domain.AsraOp;
import com.zteits.oa.util.ListCopyUtil;
import com.zteits.oa.util.pagepaper.PageBeanUtil;
/**
* 工时系统操作员实现类.
*
* Copyright: Copyright (c) 2017 ZTE-ITS
*
* @ClassName: AmountUtils.java
* @Description:
* @version: v1.0.0
* @author: wangfs
* @date: 2018年7月30日
* Modification History:
* Date Author Version Description
*---------------------------------------------------------*
* 2018年7月30日 wangfs v1.0.0 创建
*/
@Service("com.zteits.oa.report.biz.AsraOpQueryServiceImpl")
public class AsraOpQueryServiceImpl implements AsraOpQueryService {
private static final Logger logger = LoggerFactory.getLogger(AsraOpQueryServiceImpl.class);
@Autowired
private AsraOpDao asraOpDao;
/**
* 分页查询工时系统员工信息.
* @param asraOpQueryReq
* @return
* 2018年7月30日 wangfs.
*/
@Override
public BizResult> queryAsraOpForPage(AsraOpQueryReq asraOpQueryReq) {
logger.info("---begin查询分页员工信息..入参={}",JSONObject.toJSON(asraOpQueryReq));
PageBean pageBean = new PageBean();
PageInfo pageInfo = asraOpDao.queryAsraOpForPage(asraOpQueryReq);
PageBeanUtil.copyProperties(pageInfo, pageBean, AsraOpDTO.class);
logger.info("---end查询分页员工信息..");
return new BizResult>(pageBean);
}
/**
* 获取员工信息.
* @param asraOpQueryRe
* @return
* 2018年7月31日 wangfs.
*/
@Override
public BizResult queryAsraOp(AsraOpQueryReq asraOpQueryRe) {
AsraOpDTO asraOpDTO = new AsraOpDTO();
AsraOp queryAsraOp = asraOpDao.queryAsraOp(asraOpQueryRe);
if(queryAsraOp != null){
BeanUtils.copyProperties(queryAsraOp, asraOpDTO);
}
return new BizResult(asraOpDTO);
}
@Override
public BizResult queryAsraOpByLoginCode(AsraOpQueryReq asraOpQueryReq) {
AsraOpDTO asraOpDTO = new AsraOpDTO();
AsraOp asraOp = asraOpDao.queryAsraOpByLoginCode(asraOpQueryReq.getLoginCode());
BeanUtils.copyProperties(asraOp,asraOpDTO);
return new BizResult<>(asraOpDTO);
}
/**
* 通过员工父级Id获取员工信息.
* @param asraOpQueryRe
* @return
* 2018年7月31日 wangfs.
*/
@Override
public BizResult> queryAsraOpByParentId(AsraOpQueryReq asraOpQueryRe) {
List listDTO = new ArrayList<>();
List list = asraOpDao.queryAsraOpByParentId(asraOpQueryRe);
ListCopyUtil.listCopyProperties(list, listDTO, AsraOpDTO.class);
return new BizResult>(listDTO);
}
}