package com.yeejoin.amos.boot.module.hygf.api.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.Date;
import java.util.List;

/**
 * 并网信息
 *
 * @author system_generator
 * @date 2024-01-12
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName(value ="hygf_on_grid_and_acceptance",autoResultMap = true)
public class HygfOnGrid extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 并网申请
并网申请

     */
    @TableField(value ="grid_connection_application",typeHandler = FastjsonTypeHandler.class)
    private List<Object>  gridConnectionApplication;

    /**
     * 并网回执
     */
	@TableField(value ="grid_connection_receipt",typeHandler = FastjsonTypeHandler.class)
    private List<Object>  gridConnectionReceipt;

    /**
     * 并网方案
     */
	@TableField(value ="grid_connection_scheme",typeHandler = FastjsonTypeHandler.class)
    private List<Object>  gridConnectionScheme;

    /**
     * 供电合同
     */
	@TableField(value ="power_supply_contract",typeHandler = FastjsonTypeHandler.class)
    private List<Object>  powerSupplyContract;

    /**
     * 购售合同
     */
	@TableField(value ="purchase_sale_contract",typeHandler = FastjsonTypeHandler.class)
    private List<Object>  purchaseSaleContract;

    /**
     * 并网协议
     */
	@TableField(value ="grid_connection_protocol",typeHandler = FastjsonTypeHandler.class)
    private List<Object>  gridConnectionProtocol;

    /**
     * 并网合同
     */
	@TableField(value ="grid_connection_contract",typeHandler = FastjsonTypeHandler.class)
    private List<Object>  gridConnectionContract;

    /**
     * 光e宝
     */
	@TableField(value ="guang_e_bao",typeHandler = FastjsonTypeHandler.class)
    private List<Object>  guangEBao;

    /**
     * 开户行
     */
	@TableField("bank")
    private String bank;

    /**
     * 户名
     */
	@TableField("account_name")
    private String accountName;

    /**
     * 账号
     */
	@TableField("account_number")
    private String accountNumber;

    /**
     * 合同到期时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
	@TableField("contract_expiration_date")
    private Date contractExpirationDate;

    /**
     * 有效发电开始日
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
	@TableField("effective_power_generation_start_date")
    private Date effectivePowerGenerationStartDate;

    /**
     * 并网箱整体照片
     */
	@TableField(value ="overall_photo_grid_cage",typeHandler = FastjsonTypeHandler.class)
    private List<Object>  overallPhotoGridCage;

    /**
     * 表箱整体照片
     */
	@TableField(value ="electric_meter_box",typeHandler = FastjsonTypeHandler.class)
    private List<Object>  electricMeterBox;

    /**
     * 电表照片或视频
     */
	@TableField(value ="electricity_meter",typeHandler = FastjsonTypeHandler.class)
    private List<Object> electricityMeter;

    /**
     * 施工单id
     */
	@TableField("work_order_id")
    private Long workOrderId;

    /**
     * 施工电站id
     */
	@TableField("work_order_power_station_id")
    private Long workOrderPowerStationId;

    /**
     * 农户id
     */
	@TableField("peasant_household_id")
    private Long peasantHouseholdId;

    @TableField("grid_connection_time")
    private Date gridConnectionTime;

    @TableField(exist = false)
    private String type;


    /**
     * 片区整改单
     */
    @TableField(exist = false)
    private List<HygfRectificationOrder>  areaOrders;
    /**
     * 工程整改单
     */
    @TableField(exist = false)
    private List<HygfRectificationOrder>  engineeringOrders;
    /**
     * 设计整改单
     */
    @TableField(exist = false)
    private List<HygfRectificationOrder>  designOrders;
}
