package com.cf.imes.module.plan.dal.mysql.plate;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.cf.imes.framework.mybatis.core.injector.BaseBatchMapper;
import com.cf.imes.module.plan.dal.dataobject.plate.PlateGoodDO;
import org.apache.ibatis.annotations.Mapper;

import java.math.BigDecimal;
import java.util.List;

/**
 * 板材信息 Mapper plate
 *
 * @author 晨丰科技
 */
@Mapper
public interface PlateGoodMapper extends BaseBatchMapper<PlateGoodDO> {
    default List<PlateGoodDO> selectGoodOne(String id, Long organId) {
        return selectList(new LambdaQueryWrapper<PlateGoodDO>()
                .eq(PlateGoodDO::getGoodsId, id)
                .eq(PlateGoodDO::getDeleted, 0)
                .eq(PlateGoodDO::getOrganId, organId));
    }

    default List<PlateGoodDO> selectGood(String goodsName, String material, String color, Boolean texture, BigDecimal width,
                                         BigDecimal thickness, BigDecimal height, String brand, String spec, Long organId) {
        LambdaQueryWrapper<PlateGoodDO> queryWrapper = new LambdaQueryWrapper<PlateGoodDO>()
                .eq(PlateGoodDO::getGoodsName, goodsName)
                .eq(PlateGoodDO::getMaterial, material)
                .eq(PlateGoodDO::getColor, color)
                .eq(PlateGoodDO::getTexture, texture)
                .eq(PlateGoodDO::getWidth, width)
                .eq(PlateGoodDO::getHeight, height)
                .eq(PlateGoodDO::getThickness, thickness)
                .eq(PlateGoodDO::getSpec, spec)
                .eq(PlateGoodDO::getDeleted, 0)
                .eq(PlateGoodDO::getOrganId, organId);
        if (brand == null) {
            queryWrapper.eq(PlateGoodDO::getBrand,"");
        }else {
            queryWrapper.eq(PlateGoodDO::getBrand, brand);
        }
        return selectList(queryWrapper);
    }
}
