package cn.cecep.talroad.vo.query;

import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import cn.cecep.talroad.domain.BStatTableZxbgHdGtInvestment;
import cn.cecep.talroad.common.core.domain.query.PageQuery;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;


/**
 * 固定源产排治--执行报告--火电、钢铁污染治理设施计划投资情况对象 b_stat_table_zxbg_hd_gt_investment
 *
 * @author szhpt
 * @date 2023-08-01*/
@ApiModel(value = "固定源产排治--执行报告--火电、钢铁污染治理设施计划投资情况")
@EqualsAndHashCode(callSuper = false)
@Data
public class BStatTableZxbgHdGtInvestmentQuery extends PageQuery
{

    @ApiModelProperty(value = "主键id")
    private Long id;
    @ApiModelProperty(value = "企业id")
    private String factoryId;
    @ApiModelProperty(value = "执行报告类型，0：月报，1：季报，2：年报")
    private String zxbgType;
    @ApiModelProperty(value = "执行报告周期")
    private String zxbgPeriod;
    @ApiModelProperty(value = "机组名称")
    private String unitName;
    @ApiModelProperty(value = "治理类型")
    private String governanceType;
    @ApiModelProperty(value = "开工时间")
    private String startTime;
    @ApiModelProperty(value = "建成投产时间（拟）")
    private String productionTime;
    @ApiModelProperty(value = "计划总投资")
    private String plannedInvestment;
    @ApiModelProperty(value = "计划周期内完成投资")
    private String cycleCompleteInvestment;
    @ApiModelProperty(value = "创建时间")
    private String createTime;
    /**
     *
     * @Title: getQueryWrapper
     * @Description: 查询参数组装
     * @param: @return
     * @return: QueryWrapper<BasIndustry>
     * @throws
     */
    public static QueryWrapper<BStatTableZxbgHdGtInvestment> createLambdaQueryWrapper(BStatTableZxbgHdGtInvestmentQuery query) {
        QueryWrapper<BStatTableZxbgHdGtInvestment> wrapper = new QueryWrapper<>();
        wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId());
        wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId());
        wrapper.eq(ObjectUtil.isNotNull(query.getZxbgType()), "zxbg_type", query.getZxbgType());
        wrapper.eq(ObjectUtil.isNotNull(query.getZxbgPeriod()), "zxbg_period", query.getZxbgPeriod());
        wrapper.eq(ObjectUtil.isNotNull(query.getUnitName()), "unit_name", query.getUnitName());
        wrapper.eq(ObjectUtil.isNotNull(query.getGovernanceType()), "governance_type", query.getGovernanceType());
        wrapper.eq(ObjectUtil.isNotNull(query.getStartTime()), "start_time", query.getStartTime());
        wrapper.eq(ObjectUtil.isNotNull(query.getProductionTime()), "production_time", query.getProductionTime());
        wrapper.eq(ObjectUtil.isNotNull(query.getPlannedInvestment()), "planned_investment", query.getPlannedInvestment());
        wrapper.eq(ObjectUtil.isNotNull(query.getCycleCompleteInvestment()), "cycle_complete_investment", query.getCycleCompleteInvestment());
        wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime());
        return wrapper;
        }
}
