package com.sundot.airport.ledger.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sundot.airport.common.annotation.Excel;
import com.sundot.airport.common.core.domain.BaseEntity;

/**
 * 队室三级质控巡查记录对象 ledger_patrol_inspection
 */
@TableName("ledger_patrol_inspection")
public class LedgerPatrolInspection extends BaseEntity {
    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.AUTO)
    private Long id;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "巡查日期", width = 20, dateFormat = "yyyy-MM-dd")
    private Date recordDate;

    @Excel(name = "部门名称")
    private String deptName;

    @Excel(name = "队室/班组")
    private String teamName;

    @Excel(name = "小组")
    private String groupName;

    @Excel(name = "巡查人")
    private String inspectorName;

    @Excel(name = "被查人")
    private String inspectedName;

    @Excel(name = "巡查类型")
    private String patrolType;

    @Excel(name = "巡查项目")
    private String patrolItem;

    @Excel(name = "问题描述")
    private String problemDesc;

    @Excel(name = "巡查地点")
    private String location;

    @Excel(name = "通道号")
    private String channelNo;

    @Excel(name = "处理结果")
    private String resultHandling;

    @Excel(name = "扣分")
    private BigDecimal deductScore;

    @Excel(name = "评分维度")
    private String scoreDimension;

    @Excel(name = "评分指标")
    private String scoreIndicator;

    @Excel(name = "佐证附件")
    private String evidenceFile;

    @Excel(name = "备注")
    private String remark;

    private String importBatch;

    @Excel(name = "数据来源")
    private String sourceType;

    @Excel(name = "同步标志(0=未同步;1=已同步)")
    private String syncFlag;

    // ========== 新增字段 ==========
    @Excel(name = "巡查时间段")
    private String patrolTimePeriod;

    @Excel(name = "有无问题")
    private String hasProblem;

    @Excel(name = "整改情况")
    private String rectificationStatus;

    @Excel(name = "佐证材料")
    private String evidenceMaterial;

    @Excel(name = "责任组长")
    private String responsibleLeader;

    @Excel(name = "队室质控员")
    private String qualityOfficer;

    @Excel(name = "队室负责人")
    private String teamLeader;

    @Excel(name = "填报人")
    private String reporter;

    @Excel(name = "队室内勤")
    private String teamInternalDuty;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "填报时间", width = 20, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date reportTime;

    @Excel(name = "发送至相关人员")
    private String sendToRelevant;

    // ========== ID字段 ==========
    private Long inspectedId;
    private Long deptId;
    private Long teamId;
    private Long groupId;
    private Long positionId;
    private Long areaId;

    public Long getId() { return id; }
    public void setId(Long id) { this.id = id; }

    public Date getRecordDate() { return recordDate; }
    public void setRecordDate(Date recordDate) { this.recordDate = recordDate; }

    public String getDeptName() { return deptName; }
    public void setDeptName(String deptName) { this.deptName = deptName; }

    public String getTeamName() { return teamName; }
    public void setTeamName(String teamName) { this.teamName = teamName; }

    public String getGroupName() { return groupName; }
    public void setGroupName(String groupName) { this.groupName = groupName; }

    public String getInspectorName() { return inspectorName; }
    public void setInspectorName(String inspectorName) { this.inspectorName = inspectorName; }

    public String getInspectedName() { return inspectedName; }
    public void setInspectedName(String inspectedName) { this.inspectedName = inspectedName; }

    public String getPatrolType() { return patrolType; }
    public void setPatrolType(String patrolType) { this.patrolType = patrolType; }

    public String getPatrolItem() { return patrolItem; }
    public void setPatrolItem(String patrolItem) { this.patrolItem = patrolItem; }

    public String getProblemDesc() { return problemDesc; }
    public void setProblemDesc(String problemDesc) { this.problemDesc = problemDesc; }

    public String getLocation() { return location; }
    public void setLocation(String location) { this.location = location; }

    public String getChannelNo() { return channelNo; }
    public void setChannelNo(String channelNo) { this.channelNo = channelNo; }

    public String getResultHandling() { return resultHandling; }
    public void setResultHandling(String resultHandling) { this.resultHandling = resultHandling; }

    public BigDecimal getDeductScore() { return deductScore; }
    public void setDeductScore(BigDecimal deductScore) { this.deductScore = deductScore; }

    public String getScoreDimension() { return scoreDimension; }
    public void setScoreDimension(String scoreDimension) { this.scoreDimension = scoreDimension; }

    public String getScoreIndicator() { return scoreIndicator; }
    public void setScoreIndicator(String scoreIndicator) { this.scoreIndicator = scoreIndicator; }

    public String getEvidenceFile() { return evidenceFile; }
    public void setEvidenceFile(String evidenceFile) { this.evidenceFile = evidenceFile; }

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

    public String getImportBatch() { return importBatch; }
    public void setImportBatch(String importBatch) { this.importBatch = importBatch; }

    public String getSourceType() { return sourceType; }
    public void setSourceType(String sourceType) { this.sourceType = sourceType; }

    public String getSyncFlag() { return syncFlag; }
    public void setSyncFlag(String syncFlag) { this.syncFlag = syncFlag; }

    // ========== 新增字段的getter/setter ==========
    public String getPatrolTimePeriod() { return patrolTimePeriod; }
    public void setPatrolTimePeriod(String patrolTimePeriod) { this.patrolTimePeriod = patrolTimePeriod; }

    public String getHasProblem() { return hasProblem; }
    public void setHasProblem(String hasProblem) { this.hasProblem = hasProblem; }

    public String getRectificationStatus() { return rectificationStatus; }
    public void setRectificationStatus(String rectificationStatus) { this.rectificationStatus = rectificationStatus; }

    public String getEvidenceMaterial() { return evidenceMaterial; }
    public void setEvidenceMaterial(String evidenceMaterial) { this.evidenceMaterial = evidenceMaterial; }

    public String getResponsibleLeader() { return responsibleLeader; }
    public void setResponsibleLeader(String responsibleLeader) { this.responsibleLeader = responsibleLeader; }

    public String getQualityOfficer() { return qualityOfficer; }
    public void setQualityOfficer(String qualityOfficer) { this.qualityOfficer = qualityOfficer; }

    public String getTeamLeader() { return teamLeader; }
    public void setTeamLeader(String teamLeader) { this.teamLeader = teamLeader; }

    public String getReporter() { return reporter; }
    public void setReporter(String reporter) { this.reporter = reporter; }

    public String getTeamInternalDuty() { return teamInternalDuty; }
    public void setTeamInternalDuty(String teamInternalDuty) { this.teamInternalDuty = teamInternalDuty; }

    public Date getReportTime() { return reportTime; }
    public void setReportTime(Date reportTime) { this.reportTime = reportTime; }

    public String getSendToRelevant() { return sendToRelevant; }
    public void setSendToRelevant(String sendToRelevant) { this.sendToRelevant = sendToRelevant; }

    // ========== ID字段的getter/setter ==========
    public Long getInspectedId() { return inspectedId; }
    public void setInspectedId(Long inspectedId) { this.inspectedId = inspectedId; }

    public Long getDeptId() { return deptId; }
    public void setDeptId(Long deptId) { this.deptId = deptId; }

    public Long getTeamId() { return teamId; }
    public void setTeamId(Long teamId) { this.teamId = teamId; }

    public Long getGroupId() { return groupId; }
    public void setGroupId(Long groupId) { this.groupId = groupId; }

    public Long getPositionId() { return positionId; }
    public void setPositionId(Long positionId) { this.positionId = positionId; }

    public Long getAreaId() { return areaId; }
    public void setAreaId(Long areaId) { this.areaId = areaId; }
}