package com.sxyz.rfid.greendao.model;

import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Generated;
import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.Property;
import org.greenrobot.greendao.annotation.Transient;

import java.io.Serializable;

/**
 * 主要功能: 盘点任务明细信息
 *
 * @Description:
 * @Project: rfid-app
 * @Package: com.sxyz.rfid.greendao.model
 * @author: chunyuanwu
 * @date: 2026年01月15日 16:01
 * @version: 1.0.0
 */

@Entity(nameInDb = "wms_inventory_task_detail")
public class WmsInventoryTaskDetail implements Serializable {
    private static final long serialVersionUID = 1L;
    //主键
    @Id(autoincrement = true)
    @Property(nameInDb = "detail_id")
    private Long detailId;
    @Property(nameInDb = "task_id")
    private Integer taskId;
    @Property(nameInDb = "inventory_id")
    private Integer inventoryId;
    @Property(nameInDb = "material_id")
    private Integer materialId;
    @Property(nameInDb = "warehouse_id")
    private Integer warehouseId;
    @Property(nameInDb = "warehouse_name")
    private String warehouseName;
    @Property(nameInDb = "area_id")
    private Integer areaId;
    @Property(nameInDb = "area_name")
    private String areaName;
    @Property(nameInDb = "location_id")
    private Integer locationId;
    @Property(nameInDb = "location_name")
    private String locationName;
    @Property(nameInDb = "batch_no")
    private String batchNo;
    @Property(nameInDb = "system_quantity")
    private Float systemQty;
    @Property(nameInDb = "actual_quantity")
    private Float actualQty;
    @Property(nameInDb = "difference_rate")
    private Float diffQty;
    @Property(nameInDb = "difference_reason")
    private String diffReason;
    @Property(nameInDb = "check_status")
    private String checkStatus;
    @Property(nameInDb = "checker_id")
    private Integer checkerId;
    @Property(nameInDb = "checker_name")
    private String checkerName;
    @Property(nameInDb = "check_time")
    private String checkTime;
    @Property(nameInDb = "rfid_tag")
    private String rfidTag;
    @Property(nameInDb = "barcode")
    private String barcode;
    @Property(nameInDb = "is_blind_zone")
    private String isBlindZone;
    @Property(nameInDb = "quality_status")
    private String qualityStatus;
    @Property(nameInDb = "del_flag")
    private String delFlag;
    @Property(nameInDb = "create_time")
    private String createTime;
    @Property(nameInDb = "update_time")
    private String updateTime;
    @Property(nameInDb = "remark")
    private String remark;

    //一对一联表WmsInventoryResult
//    @ToOne(joinProperty = "taskId")
//    private WmsInventoryResult wmsInventoryResult;

    //不映射到数据库字段 用于展开收起状态
    @Transient
    private boolean isExpanded;

    @Generated(hash = 745553459)
    public WmsInventoryTaskDetail(Long detailId, Integer taskId, Integer inventoryId, Integer materialId,
                                  Integer warehouseId, String warehouseName, Integer areaId, String areaName, Integer locationId,
                                  String locationName, String batchNo, Float systemQty, Float actualQty, Float diffQty, String diffReason,
                                  String checkStatus, Integer checkerId, String checkerName, String checkTime, String rfidTag, String barcode,
                                  String isBlindZone, String qualityStatus, String delFlag, String createTime, String updateTime, String remark) {
        this.detailId = detailId;
        this.taskId = taskId;
        this.inventoryId = inventoryId;
        this.materialId = materialId;
        this.warehouseId = warehouseId;
        this.warehouseName = warehouseName;
        this.areaId = areaId;
        this.areaName = areaName;
        this.locationId = locationId;
        this.locationName = locationName;
        this.batchNo = batchNo;
        this.systemQty = systemQty;
        this.actualQty = actualQty;
        this.diffQty = diffQty;
        this.diffReason = diffReason;
        this.checkStatus = checkStatus;
        this.checkerId = checkerId;
        this.checkerName = checkerName;
        this.checkTime = checkTime;
        this.rfidTag = rfidTag;
        this.barcode = barcode;
        this.isBlindZone = isBlindZone;
        this.qualityStatus = qualityStatus;
        this.delFlag = delFlag;
        this.createTime = createTime;
        this.updateTime = updateTime;
        this.remark = remark;
    }

    public boolean isExpanded() {
        return isExpanded;
    }

    public void setExpanded(boolean expanded) {
        isExpanded = expanded;
    }

    @Generated(hash = 1405986565)
    public WmsInventoryTaskDetail() {
    }

    public Long getDetailId() {
        return this.detailId;
    }

    public void setDetailId(Long detailId) {
        this.detailId = detailId;
    }

    public Integer getTaskId() {
        return this.taskId;
    }

    public void setTaskId(Integer taskId) {
        this.taskId = taskId;
    }

    public Integer getInventoryId() {
        return this.inventoryId;
    }

    public void setInventoryId(Integer inventoryId) {
        this.inventoryId = inventoryId;
    }

    public Integer getMaterialId() {
        return this.materialId;
    }

    public void setMaterialId(Integer materialId) {
        this.materialId = materialId;
    }

    public Integer getWarehouseId() {
        return this.warehouseId;
    }

    public void setWarehouseId(Integer warehouseId) {
        this.warehouseId = warehouseId;
    }

    public String getWarehouseName() {
        return this.warehouseName;
    }

    public void setWarehouseName(String warehouseName) {
        this.warehouseName = warehouseName;
    }

    public Integer getAreaId() {
        return this.areaId;
    }

    public void setAreaId(Integer areaId) {
        this.areaId = areaId;
    }

    public String getAreaName() {
        return this.areaName;
    }

    public void setAreaName(String areaName) {
        this.areaName = areaName;
    }

    public Integer getLocationId() {
        return this.locationId;
    }

    public void setLocationId(Integer locationId) {
        this.locationId = locationId;
    }

    public String getLocationName() {
        return this.locationName;
    }

    public void setLocationName(String locationName) {
        this.locationName = locationName;
    }

    public String getBatchNo() {
        return this.batchNo;
    }

    public void setBatchNo(String batchNo) {
        this.batchNo = batchNo;
    }

    public Float getSystemQty() {
        return this.systemQty;
    }

    public void setSystemQty(Float systemQty) {
        this.systemQty = systemQty;
    }

    public Float getActualQty() {
        return this.actualQty;
    }

    public void setActualQty(Float actualQty) {
        this.actualQty = actualQty;
    }

    public Float getDiffQty() {
        return this.diffQty;
    }

    public void setDiffQty(Float diffQty) {
        this.diffQty = diffQty;
    }

    public String getDiffReason() {
        return this.diffReason;
    }

    public void setDiffReason(String diffReason) {
        this.diffReason = diffReason;
    }

    public String getCheckStatus() {
        return this.checkStatus;
    }

    public void setCheckStatus(String checkStatus) {
        this.checkStatus = checkStatus;
    }

    public Integer getCheckerId() {
        return this.checkerId;
    }

    public void setCheckerId(Integer checkerId) {
        this.checkerId = checkerId;
    }

    public String getCheckerName() {
        return this.checkerName;
    }

    public void setCheckerName(String checkerName) {
        this.checkerName = checkerName;
    }

    public String getCheckTime() {
        return this.checkTime;
    }

    public void setCheckTime(String checkTime) {
        this.checkTime = checkTime;
    }

    public String getRfidTag() {
        return this.rfidTag;
    }

    public void setRfidTag(String rfidTag) {
        this.rfidTag = rfidTag;
    }

    public String getBarcode() {
        return this.barcode;
    }

    public void setBarcode(String barcode) {
        this.barcode = barcode;
    }

    public String getIsBlindZone() {
        return this.isBlindZone;
    }

    public void setIsBlindZone(String isBlindZone) {
        this.isBlindZone = isBlindZone;
    }

    public String getQualityStatus() {
        return this.qualityStatus;
    }

    public void setQualityStatus(String qualityStatus) {
        this.qualityStatus = qualityStatus;
    }

    public String getDelFlag() {
        return this.delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getCreateTime() {
        return this.createTime;
    }

    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }

    public String getUpdateTime() {
        return this.updateTime;
    }

    public void setUpdateTime(String updateTime) {
        this.updateTime = updateTime;
    }

    public String getRemark() {
        return this.remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }
}
