package com.op.wms.service.impl;

import java.util.List;

import com.baomidou.dynamic.datasource.annotation.DS;
import com.op.common.core.utils.DateUtils;
import com.op.common.security.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.op.wms.mapper.BaseBomItemsTMapper;
import com.op.wms.domain.BaseBomItemsT;
import com.op.wms.service.IBaseBomItemsTService;

/**
 * 物料BOM管理Service业务层处理
 * 
 * @author Open Platform
 * @date 2023-07-18
 */
@Service
public class BaseBomItemsTServiceImpl implements IBaseBomItemsTService {
	@Autowired
	private BaseBomItemsTMapper baseBomItemsTMapper;

	/**
	 * 查询物料BOM管理
	 * 
	 * @param bomItemId 物料BOM管理主键
	 * @return 物料BOM管理
	 */
	@Override
	@DS("#header.poolName")
	public BaseBomItemsT selectBaseBomItemsTByBomItemId(String bomItemId) {
		return baseBomItemsTMapper.selectBaseBomItemsTByBomItemId(bomItemId);
	}

	/**
	 * 查询物料BOM管理列表
	 * 
	 * @param baseBomItemsT 物料BOM管理
	 * @return 物料BOM管理
	 */
	@Override
	@DS("#header.poolName")
	public List<BaseBomItemsT> selectBaseBomItemsTList(BaseBomItemsT baseBomItemsT) {
		return baseBomItemsTMapper.selectBaseBomItemsTList(baseBomItemsT);
	}

	/**
	 * 新增物料BOM管理
	 * 
	 * @param baseBomItemsT 物料BOM管理
	 * @return 结果
	 */
	@Override
	@DS("#header.poolName")
	public int insertBaseBomItemsT(BaseBomItemsT baseBomItemsT) {
		baseBomItemsT.setCreateTime(DateUtils.getNowDate());
		baseBomItemsT.setCreateBy(SecurityUtils.getUsername());
		return baseBomItemsTMapper.insertBaseBomItemsT(baseBomItemsT);
	}

	/**
	 * 修改物料BOM管理
	 * 
	 * @param baseBomItemsT 物料BOM管理
	 * @return 结果
	 */
	@Override
	@DS("#header.poolName")
	public int updateBaseBomItemsT(BaseBomItemsT baseBomItemsT) {
		baseBomItemsT.setUpdateTime(DateUtils.getNowDate());
		baseBomItemsT.setUpdateBy(SecurityUtils.getUsername());
		return baseBomItemsTMapper.updateBaseBomItemsT(baseBomItemsT);
	}

	/**
	 * 批量删除物料BOM管理
	 * 
	 * @param bomItemIds 需要删除的物料BOM管理主键
	 * @return 结果
	 */
	@Override
	@DS("#header.poolName")
	public int deleteBaseBomItemsTByBomItemIds(String[] bomItemIds) {
		return baseBomItemsTMapper.deleteBaseBomItemsTByBomItemIds(bomItemIds);
	}

	/**
	 * 删除物料BOM管理信息
	 * 
	 * @param bomItemId 物料BOM管理主键
	 * @return 结果
	 */
	@Override
	@DS("#header.poolName")
	public int deleteBaseBomItemsTByBomItemId(String bomItemId) {
		return baseBomItemsTMapper.deleteBaseBomItemsTByBomItemId(bomItemId);
	}
}
