package com.ruoyi.system.domain;

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

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 工单信息对象 work_order_info
 * 
 * @author ruoyi
 * @date 2025-05-12
 */
public class WorkOrderInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 工单ID */
    private String orderId;

    /** 用户ID */
    private Long userId;

    /** 创建人姓名 */
    @Excel(name = "创建人姓名")
    private String userName;

    /** 单位名称 */
    @Excel(name = "单位名称")
    private String unitName;

    /** 居住地的省份 */
    @Excel(name = "居住地的省份")
    private String provinceId;

    /** 居住地的省份 */
    @Excel(name = "居住地的省份")
    private String province;

    /** 居住地的城市 */
    @Excel(name = "居住地的城市")
    private String cityId;

    /** 居住地的城市 */
    @Excel(name = "居住地的城市")
    private String city;

    /** 居住地的区 */
    @Excel(name = "居住地的区")
    private String regionId;

    /** 居住地的区 */
    @Excel(name = "居住地的区")
    private String region;

    /** 详细地址 */
    @Excel(name = "详细地址")
    private String detailedAddress;

    /** 经度 */
    @Excel(name = "经度")
    private String lon;

    /** 纬度 */
    @Excel(name = "纬度")
    private String lat;

    /** 联系人 */
    @Excel(name = "联系人")
    private String personName;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String phonenumber;

    /** 性别（0男 1女 2未知） */
    @Excel(name = "性别", readConverterExp = "0=男,1=女,2=未知")
    private String sex;

    /** 工单类型（1：网络服务，2：设备服务，3：软件服务，4：开发服务，5：设计服务，6：其他服务） */
    @Excel(name = "工单类型", readConverterExp = "1=网络服务,2=设备服务,3=软件服务,4=开发服务,5=设计服务,6=其他服务")
    private String type;

    /** 客户需求 */
    @Excel(name = "客户需求")
    private String demand;

    /** 是否签名（Y是 N否） */
    @Excel(name = "是否签名", readConverterExp = "Y=是,N=否")
    private String isSignature;

    /** 是否满意（0:未评价,1：满意 ,2：不满意） */
    @Excel(name = "是否满意", readConverterExp = "0=未评价,1=满意,,=2=不满意")
    private String evaluation;

    /** 评价内容 */
    @Excel(name = "评价内容")
    private String evaluationContent;

    /** 服务进展（0:待接单,1：进行中 ,2：已完成，3：已评价） */
    @Excel(name = "服务进展", readConverterExp = "0=待接单,1=进行中,2=已完成,3=已评价")
    private String serviceProgress;

    /** 售前还是售后（1：售前，2：售后） */
    @Excel(name = "售前还是售后", readConverterExp = "1=售前,2=售后")
    private String serviceType;

    /** 派单情况（1：系统派单，2：自主接单） */
    @Excel(name = "派单情况", readConverterExp = "1=系统派单,2=自主接单")
    private String orderPlacement;

    private String agency;

    /** 责任人id */
    @Excel(name = "责任人id")
    private Long responsibleId;

    /** 责任人姓名 */
    @Excel(name = "责任人姓名")
    private String responsibleName;

    /** 责任人手机号 */
    @Excel(name = "责任人手机号")
    private String responsiblePhone;

    /** 责任人姓名 */
    @Excel(name = "接单时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date takeTime;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 保质期（1：内，2外） */
    @Excel(name = "保质期", readConverterExp = "1=内,2=外")
    private String shelfLife;

    /** 是否收费（Y是 N否） */
    @Excel(name = "是否收费", readConverterExp = "Y=是,N=否")
    private String isCharge;

    /** 总费用 */
    @Excel(name = "总费用")
    private String totalCost;

    /** 总费用(中文) */
    @Excel(name = "总费用(中文)")
    private String totalCostDx;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 电子工单 */
    private WorkOrderFj workOrderFjgd;

    /** 需求附件 */
    private List<WorkOrderFj> workOrderFjXqList;

    /** 签名 */
    private List<WorkOrderFj> workOrderFjQmList;

    private List<ChargeDetails> chargeDetailsList;


    public void setOrderId(String orderId) 
    {
        this.orderId = orderId;
    }

    public String getOrderId() 
    {
        return orderId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public void setUnitName(String unitName)
    {
        this.unitName = unitName;
    }

    public String getUnitName() 
    {
        return unitName;
    }

    public void setProvinceId(String provinceId) 
    {
        this.provinceId = provinceId;
    }

    public String getProvinceId() 
    {
        return provinceId;
    }

    public void setProvince(String province) 
    {
        this.province = province;
    }

    public String getProvince() 
    {
        return province;
    }

    public void setCityId(String cityId) 
    {
        this.cityId = cityId;
    }

    public String getCityId() 
    {
        return cityId;
    }

    public void setCity(String city) 
    {
        this.city = city;
    }

    public String getCity() 
    {
        return city;
    }

    public void setRegionId(String regionId) 
    {
        this.regionId = regionId;
    }

    public String getRegionId() 
    {
        return regionId;
    }

    public void setRegion(String region) 
    {
        this.region = region;
    }

    public String getRegion() 
    {
        return region;
    }

    public void setDetailedAddress(String detailedAddress) 
    {
        this.detailedAddress = detailedAddress;
    }

    public String getDetailedAddress() 
    {
        return detailedAddress;
    }

    public void setLon(String lon) 
    {
        this.lon = lon;
    }

    public String getLon() 
    {
        return lon;
    }

    public void setLat(String lat) 
    {
        this.lat = lat;
    }

    public String getLat() 
    {
        return lat;
    }

    public void setPersonName(String personName) 
    {
        this.personName = personName;
    }

    public String getPersonName() 
    {
        return personName;
    }

    public void setPhonenumber(String phonenumber) 
    {
        this.phonenumber = phonenumber;
    }

    public String getPhonenumber() 
    {
        return phonenumber;
    }

    public void setSex(String sex) 
    {
        this.sex = sex;
    }

    public String getSex() 
    {
        return sex;
    }

    public void setType(String type) 
    {
        this.type = type;
    }

    public String getType() 
    {
        return type;
    }

    public void setDemand(String demand) 
    {
        this.demand = demand;
    }

    public String getDemand() 
    {
        return demand;
    }

    public void setIsSignature(String isSignature) 
    {
        this.isSignature = isSignature;
    }

    public String getIsSignature() 
    {
        return isSignature;
    }

    public void setEvaluation(String evaluation) 
    {
        this.evaluation = evaluation;
    }

    public String getEvaluation() 
    {
        return evaluation;
    }

    public void setEvaluationContent(String evaluationContent) 
    {
        this.evaluationContent = evaluationContent;
    }

    public String getEvaluationContent() 
    {
        return evaluationContent;
    }

    public void setServiceProgress(String serviceProgress) 
    {
        this.serviceProgress = serviceProgress;
    }

    public String getServiceProgress() 
    {
        return serviceProgress;
    }

    public void setOrderPlacement(String orderPlacement) 
    {
        this.orderPlacement = orderPlacement;
    }

    public String getOrderPlacement() 
    {
        return orderPlacement;
    }

    public void setResponsibleId(Long responsibleId) 
    {
        this.responsibleId = responsibleId;
    }

    public Long getResponsibleId() 
    {
        return responsibleId;
    }

    public void setResponsibleName(String responsibleName) 
    {
        this.responsibleName = responsibleName;
    }

    public String getResponsibleName() 
    {
        return responsibleName;
    }

    public void setProjectName(String projectName) 
    {
        this.projectName = projectName;
    }

    public String getProjectName() 
    {
        return projectName;
    }

    public void setShelfLife(String shelfLife) 
    {
        this.shelfLife = shelfLife;
    }

    public String getShelfLife() 
    {
        return shelfLife;
    }

    public void setIsCharge(String isCharge) 
    {
        this.isCharge = isCharge;
    }

    public String getIsCharge() 
    {
        return isCharge;
    }

    public void setTotalCost(String totalCost) 
    {
        this.totalCost = totalCost;
    }

    public String getTotalCost() 
    {
        return totalCost;
    }

    public void setTotalCostDx(String totalCostDx) 
    {
        this.totalCostDx = totalCostDx;
    }

    public String getTotalCostDx() 
    {
        return totalCostDx;
    }

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

    public String getResponsiblePhone() {
        return responsiblePhone;
    }

    public void setResponsiblePhone(String responsiblePhone) {
        this.responsiblePhone = responsiblePhone;
    }

    public List<WorkOrderFj> getWorkOrderFjXqList() {
        return workOrderFjXqList;
    }

    public void setWorkOrderFjXqList(List<WorkOrderFj> workOrderFjXqList) {
        this.workOrderFjXqList = workOrderFjXqList;
    }

    public List<WorkOrderFj> getWorkOrderFjQmList() {
        return workOrderFjQmList;
    }

    public void setWorkOrderFjQmList(List<WorkOrderFj> workOrderFjQmList) {
        this.workOrderFjQmList = workOrderFjQmList;
    }

    public List<ChargeDetails> getChargeDetailsList() {
        return chargeDetailsList;
    }

    public void setChargeDetailsList(List<ChargeDetails> chargeDetailsList) {
        this.chargeDetailsList = chargeDetailsList;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    public Date getTakeTime() {
        return takeTime;
    }

    public void setTakeTime(Date takeTime) {
        this.takeTime = takeTime;
    }

    public String getServiceType() {
        return serviceType;
    }

    public void setServiceType(String serviceType) {
        this.serviceType = serviceType;
    }

    public WorkOrderFj getWorkOrderFjgd() {
        return workOrderFjgd;
    }

    public void setWorkOrderFjgd(WorkOrderFj workOrderFjgd) {
        this.workOrderFjgd = workOrderFjgd;
    }

    public String getAgency() {
        return agency;
    }

    public void setAgency(String agency) {
        this.agency = agency;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("orderId", getOrderId())
            .append("unitName", getUnitName())
            .append("provinceId", getProvinceId())
            .append("province", getProvince())
            .append("cityId", getCityId())
            .append("city", getCity())
            .append("regionId", getRegionId())
            .append("region", getRegion())
            .append("detailedAddress", getDetailedAddress())
            .append("lon", getLon())
            .append("lat", getLat())
            .append("personName", getPersonName())
            .append("phonenumber", getPhonenumber())
            .append("sex", getSex())
            .append("type", getType())
            .append("demand", getDemand())
            .append("isSignature", getIsSignature())
            .append("evaluation", getEvaluation())
            .append("evaluationContent", getEvaluationContent())
            .append("serviceProgress", getServiceProgress())
            .append("orderPlacement", getOrderPlacement())
            .append("responsibleId", getResponsibleId())
            .append("responsibleName", getResponsibleName())
            .append("projectName", getProjectName())
            .append("shelfLife", getShelfLife())
            .append("isCharge", getIsCharge())
            .append("totalCost", getTotalCost())
            .append("totalCostDx", getTotalCostDx())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
