package com.hzya.frame.plugin.lets.util;

import com.hzya.frame.plugin.lets.constant.ProfilesActiveConstant;
import com.hzya.frame.plugin.lets.dao.IBdCorpDao;
import com.hzya.frame.plugin.lets.dao.IBdInvbasdocDao;
import com.hzya.frame.plugin.lets.dao.IBdInvmandocDao;
import com.hzya.frame.plugin.lets.dao.IBdStordocDao;
import com.hzya.frame.plugin.lets.entity.BdCorpEntity;
import com.hzya.frame.plugin.lets.entity.BdInvbasdocEntity;
import com.hzya.frame.plugin.lets.entity.BdInvmandocEntity;
import com.hzya.frame.plugin.lets.entity.BdStordocEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * 查询U8C实体工具类，返回对象
 */
@Component
public class QueryU8CEntityUtil {

    ////////////////////////////////////////////////////////////////////////////////////////公司
    @Autowired
    private IBdCorpDao iBdCorpDao;

    /**
     * 查询全公司
     */
    public List<BdCorpEntity> queryBdCorp() {
        BdCorpEntity entity = new BdCorpEntity();
        entity.setDr(0);
        entity.setDataSourceCode(ProfilesActiveConstant.LETS_DATE_SOURCE);
        List<BdCorpEntity> query = iBdCorpDao.query(entity);
        return query;
    }

    /**
     * 根据公司编码UNITCode查询公司
     */
    public BdCorpEntity queryBdCorpByUnitCode(String unitCode) {
        BdCorpEntity entity = new BdCorpEntity();
        entity.setDr(0);
        entity.setUnitcode(unitCode);
        entity.setDataSourceCode(ProfilesActiveConstant.LETS_DATE_SOURCE);
        List<BdCorpEntity> query = iBdCorpDao.query(entity);
        if (query.size() >= 1) {
            return query.get(0);
        } else {
            return null;
        }
    }

    /**
     * 根据公司主键pk_corp查询公司
     */
    public BdCorpEntity queryBdCorpByPkCorp(String pkCorp) {
        BdCorpEntity entity = new BdCorpEntity();
        entity.setDr(0);
        entity.setPkCorp(pkCorp);
        entity.setDataSourceCode(ProfilesActiveConstant.LETS_DATE_SOURCE);
        List<BdCorpEntity> query = iBdCorpDao.query(entity);
        if (query.size() >= 1) {
            return query.get(0);
        } else {
            return null;
        }
    }
    ////////////////////////////////////////////////////////////////////////////////////////公司

    ////////////////////////////////////////////////////////////////////////////////////////仓库
    @Autowired
    private IBdStordocDao iBdStordocDao;

    /**
     * 根据仓库编码查询仓库
     * @param storCode
     * @return
     */
    public BdStordocEntity queryBdStordocByCode(String storCode){
        BdStordocEntity entity = new BdStordocEntity();
        entity.setDr(0L);
        entity.setStorcode(storCode);
        entity.setDataSourceCode(ProfilesActiveConstant.LETS_DATE_SOURCE);
        List<BdStordocEntity> query = iBdStordocDao.query(entity);
        if (query.size() >= 1) {
            return query.get(0);
        } else {
            return null;
        }
    }
    /**
     * 根据仓库主键查询仓库
     * @param pkStordoc
     * @return
     */
    public BdStordocEntity queryBdStordocByPk(String pkStordoc){
        BdStordocEntity entity = new BdStordocEntity();
        entity.setDr(0L);
        entity.setPkStordoc(pkStordoc);
        entity.setDataSourceCode(ProfilesActiveConstant.LETS_DATE_SOURCE);
        List<BdStordocEntity> query = iBdStordocDao.query(entity);
        if (query.size() >= 1) {
            return query.get(0);
        } else {
            return null;
        }
    }
    /**
     * 根据仓库名称查询仓库
     * @param StorName
     * @return
     */
    public BdStordocEntity queryBdStordocByNamek(String StorName){
        BdStordocEntity entity = new BdStordocEntity();
        entity.setDr(0L);
        entity.setStorname(StorName);
        entity.setDataSourceCode(ProfilesActiveConstant.LETS_DATE_SOURCE);
        List<BdStordocEntity> query = iBdStordocDao.query(entity);
        if (query.size() >= 1) {
            return query.get(0);
        } else {
            return null;
        }
    }
    /**
     * 根据仓库编码+公司编码查询仓库
     * @param storCode
     * @param pkCorp
     * @return
     */
    public BdStordocEntity queryBdStordocByCodeAndPkCorp(String storCode,String pkCorp){
        BdStordocEntity entity = new BdStordocEntity();
        entity.setDr(0L);
        entity.setStorcode(storCode);
        entity.setPkCorp(pkCorp);
        entity.setDataSourceCode(ProfilesActiveConstant.LETS_DATE_SOURCE);
        List<BdStordocEntity> query = iBdStordocDao.query(entity);
        if (query.size() >= 1) {
            return query.get(0);
        } else {
            return null;
        }
    }
    ////////////////////////////////////////////////////////////////////////////////////////仓库

    ////////////////////////////////////////////////////////////////////////////////////////存货基本档案
    @Autowired
    private IBdInvbasdocDao iBdInvbasdocDao;

    /**
     * 根据存货编码查询存货基本档案
     */
    public BdInvbasdocEntity queryBdInvbasdocByCode(String invcode) {
        BdInvbasdocEntity entity = new BdInvbasdocEntity();
        entity.setInvcode(invcode);
        entity.setDr(0L);
        entity.setDataSourceCode(ProfilesActiveConstant.LETS_DATE_SOURCE);
        List<BdInvbasdocEntity> query = iBdInvbasdocDao.query(entity);
        if (query.size() >= 1) {
            return query.get(0);
        } else {
            return null;
        }
    }

    /**
     * 根据存货基本档案主键查询存货基本档案
     */
    public BdInvbasdocEntity queryBdInvbasdocByPkInvbasdoc(String pkInvbasdoc) {
        BdInvbasdocEntity entity = new BdInvbasdocEntity();
        entity.setPkInvbasdoc(pkInvbasdoc);
        entity.setDr(0L);
        entity.setDataSourceCode(ProfilesActiveConstant.LETS_DATE_SOURCE);
        List<BdInvbasdocEntity> query = iBdInvbasdocDao.query(entity);
        if (query.size() >= 1) {
            return query.get(0);
        } else {
            return null;
        }
    }
    ////////////////////////////////////////////////////////////////////////////////////////存货基本档案

    ////////////////////////////////////////////////////////////////////////////////////////存货管理档案
    @Autowired
    private IBdInvmandocDao iBdInvmandocDao;

    /**
     * 根据存货基本档案主键+公司主键查询存货管理档案
     */
    public BdInvmandocEntity queryBdInvmandocByPkInvbasdocAndPkCorp(String pkInvbasdoc, String pkCorp) {
        BdInvmandocEntity entity = new BdInvmandocEntity();
        entity.setPkCorp(pkCorp);
        entity.setPkInvbasdoc(pkInvbasdoc);
        entity.setDr(0L);
        entity.setDataSourceCode(ProfilesActiveConstant.LETS_DATE_SOURCE);
        List<BdInvmandocEntity> query = iBdInvmandocDao.query(entity);
        if (query.size() >= 1) {
            return query.get(0);
        } else {
            return null;
        }
    }

    ////////////////////////////////////////////////////////////////////////////////////////存货管理档案

}
