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_service_patrol
 */
@TableName("ledger_service_patrol")
public class LedgerServicePatrol 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 serviceType;

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

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

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

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

    @Excel(name = "加分")
    private BigDecimal addScore;

    @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 channelNo;

    @Excel(name = "岗位")
    private String position;

    @Excel(name = "问题层级")
    private String problemLevel;

    @Excel(name = "队室服务联络人")
    private String serviceContactPerson;

    @Excel(name = "服务推送队室负责人")
    private String servicePushLeader;

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

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

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

    @Excel(name = "本月内发生问题次数")
    private Integer monthlyProblemCount;

    @Excel(name = "检查人员")
    private String checkPersonnel;

    @Excel(name = "分管服务经理")
    private String manageServiceManager;

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

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

    // ========== 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 getServiceType() { return serviceType; }
    public void setServiceType(String serviceType) { this.serviceType = serviceType; }

    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 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 BigDecimal getAddScore() { return addScore; }
    public void setAddScore(BigDecimal addScore) { this.addScore = addScore; }

    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 getChannelNo() { return channelNo; }
    public void setChannelNo(String channelNo) { this.channelNo = channelNo; }

    public String getPosition() { return position; }
    public void setPosition(String position) { this.position = position; }

    public String getProblemLevel() { return problemLevel; }
    public void setProblemLevel(String problemLevel) { this.problemLevel = problemLevel; }

    public String getServiceContactPerson() { return serviceContactPerson; }
    public void setServiceContactPerson(String serviceContactPerson) { this.serviceContactPerson = serviceContactPerson; }

    public String getServicePushLeader() { return servicePushLeader; }
    public void setServicePushLeader(String servicePushLeader) { this.servicePushLeader = servicePushLeader; }

    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 getSendToRelevant() { return sendToRelevant; }
    public void setSendToRelevant(String sendToRelevant) { this.sendToRelevant = sendToRelevant; }

    public Integer getMonthlyProblemCount() { return monthlyProblemCount; }
    public void setMonthlyProblemCount(Integer monthlyProblemCount) { this.monthlyProblemCount = monthlyProblemCount; }

    public String getCheckPersonnel() { return checkPersonnel; }
    public void setCheckPersonnel(String checkPersonnel) { this.checkPersonnel = checkPersonnel; }

    public String getManageServiceManager() { return manageServiceManager; }
    public void setManageServiceManager(String manageServiceManager) { this.manageServiceManager = manageServiceManager; }

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

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

    // ========== 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; }
}