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

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
import com.cf.imes.module.executor.dal.dataobject.plate.PlateGoodDO;
import org.apache.ibatis.annotations.Mapper;

import java.math.BigDecimal;

/**
 * 板材信息 Mapper plate
 *
 * @author 晨丰科技
 */
@Mapper
public interface PlateGoodMapper extends BaseMapperX<PlateGoodDO> {

    // goodsId匹配
    default PlateGoodDO selectGoodOne(String id, Long organId) {
        return selectOne(new LambdaQueryWrapper<PlateGoodDO>()
                .eq(PlateGoodDO::getGoodsId, id)
                .eq(PlateGoodDO::getDeleted, 0)
                .eq(PlateGoodDO::getOrganId, organId));
    }

    // 其他信息匹配
    default PlateGoodDO selectGood(String goodsName, String material, String color, Integer texture, BigDecimal width,
                                   BigDecimal thickness, BigDecimal height, String brand, String spec, Long organId) {
        return selectOne(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::getBrand, brand)
                .eq(PlateGoodDO::getSpec, spec)
                .eq(PlateGoodDO::getDeleted, 0)
                .eq(PlateGoodDO::getOrganId, organId));
            }
}
