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

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

import javax.annotation.Resource;

import com.google.common.collect.Maps;
import org.springframework.stereotype.Service;

import com.github.pagehelper.PageHelper;
import com.unis.detectionnum.common.vo.DCfxxsjyVO;
import com.unis.detectionnum.common.vo.MenuVO;
import com.unis.detectionnum.server.domain.DCfxxsjyDomain;
import com.unis.detectionnum.server.domain.DKdxxsjyDomain;
import com.unis.detectionnum.server.service.DCfxxsjyService;
/**
 * @author huangxing
 * @version 1.0
 * @Title DYgxxsjyServiceImpl
 * @ProjectName 仓房服务实现层
 * @Description  TODO
 * @date 2019/07/22 17点26分
 */
@Service
public class DCfxxsjyServiceImpl implements DCfxxsjyService {
	
	@Resource
	private DCfxxsjyDomain dCfxxsjyDomain;
	/**
	 * 获取仓房信息列表
	 * @param tzSlqyVO
	 * @return
	 */
	@Override
	public List<DCfxxsjyVO> getDCfxxxsjyList(DCfxxsjyVO dCfxxsjyVO) {
		return dCfxxsjyDomain.getDCfxxxsjyList(dCfxxsjyVO);
	}

	/**
	 * 根据仓房编号获取仓房信息
	 * @param cfbh仓房编号
	 * @return
	 */
	@Override
	public DCfxxsjyVO getDCfxxxsjyInfo(String cfbh) {
		return dCfxxsjyDomain.getDCfxxxsjyInfo(cfbh);
	}

	/**
	 * 分页获取仓房信息列表
	 * @param dCfxxsjyVO
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	@Override
	public List<DCfxxsjyVO> getDCfxxxsjyPage(DCfxxsjyVO dCfxxsjyVO, Integer pageNum, Integer pageSize) {
		PageHelper.startPage(pageNum, pageSize);
		return dCfxxsjyDomain.getDCfxxxsjyList(dCfxxsjyVO);
	}

	/**
	 * 根据仓房编号获取仓房信息
	 * @param cfbh仓房编号
	 * @return
	 */
	@Override
	public DCfxxsjyVO getDCfxxxsjyInfoBycfbh(String cfbh) {
		return dCfxxsjyDomain.getDCfxxxsjyInfo(cfbh);
	}

	/**
	 * 更新仓房信息
	 * @param dCfxxsjyVO
	 * @return
	 */
	@Override
	public int update(DCfxxsjyVO dCfxxsjyVO) {
		DCfxxsjyVO dCfxxsjyVOs = dCfxxsjyDomain.getDCfxxxsjyInfo(dCfxxsjyVO.getCfbh());
		if(dCfxxsjyVOs == null) {
			return 0;
		}
		return dCfxxsjyDomain.update(dCfxxsjyVO);
	}

    /**
     * 带状态更新
     * @param dCfxxsjyVO
     * @return
     */
    @Override
    public int warehouseUpdate(DCfxxsjyVO dCfxxsjyVO) {
		DCfxxsjyVO dCfxxsjyVOs = dCfxxsjyDomain.getWarehouseInfo(dCfxxsjyVO.getCfbh());
        if(dCfxxsjyVOs == null) {
            return 0;
        }
        return dCfxxsjyDomain.update(dCfxxsjyVO);
    }

    /**
	 * 根据仓房编号删除仓房信息
	 * @param cfbh仓房编号
	 * @return
	 */
	@Override
	public int delete(String cfbh) {
		/*DCfxxsjyVO dCfxxsjyVO = dCfxxsjyDomain.getDCfxxxsjyInfo(cfbh);
		if(dCfxxsjyVO == null) {
			return -1;
		}
		dCfxxsjyVO.setStatus(0);*/
		return dCfxxsjyDomain.deleteBycfbh(cfbh);
	}

	/**
	 * 添加仓房信息
	 * @param dAjxxsjyVO
	 * @return
	 */
	@Override
	public int insert(DCfxxsjyVO dAjxxsjyVO) {
		/*DKdxxsjyDO dKdxxsjyDO = dKdxxsjyDomain.getDKdxxsjyInfoBykddm(dAjxxsjyVO.getKddm());
		if(dKdxxsjyDO==null) {
			return -1;
		}*/
		return dCfxxsjyDomain.insert(dAjxxsjyVO);
	}

	/**
	 * 根据库点代码删除仓房信息列表
	 * @param kddm
	 * @return
	 */
	@Override
	public int deleteList(String kddm) {
		return dCfxxsjyDomain.deleteList(kddm);
	}

	/**
	 * 根据库点代码获取仓房列表
	 * @param kddm
	 * @return
	 */
	@Override
	public List<DCfxxsjyVO> getWarehouseListByKddm(String kddm) {
		return dCfxxsjyDomain.getWarehouseListByKddm(kddm);
	}

	/**
	 * 备案主表状态
	 * @param dCfxxsjyVO
	 * @return
	 */
	@Override
	public int updateFiling(DCfxxsjyVO dCfxxsjyVO) {
		return dCfxxsjyDomain.updateFiling(dCfxxsjyVO);
	}

	/**
	 * <p>Title: getMenuList</p> 
	 * <p>Description: </p> 
	 * @param MenuVO
	 * @return 
	 * @see com.unis.detectionnum.server.service.DCfxxsjyService#getMenuList(com.unis.detectionnum.common.vo.DCfxxsjyVO) 
	 */
	@Override
	public List<MenuVO> getMenuList(String userCode) {
			if(userCode.equals("U0000777")){
				userCode = "";
			return	dCfxxsjyDomain.getAdminMenuList(userCode);
			}
		return dCfxxsjyDomain.getMenuList(userCode);
	}

}
