package com.goafanti.common.model;

import com.alibaba.fastjson.JSON;
import com.goafanti.order.bo.TaskSon;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;


/**
 * 订单任务表(TOrderTask)实体类
 *
 * @author makejava
 * @since 2025-03-27 19:14:06
 */
public class TOrderTask implements Serializable {
    private static final long serialVersionUID = 353211949193788594L;
    /**
     * 任务编号
     */
    private Integer id;
    /**
     * 订单编号
     */
    private String orderNo;
    /**
     * 是否为主要任务 0-否，1-是
     */
    private Integer main;
    /**
     * 父任务id
     */
    private String superId;
    /**
     * 商品id
     */
    private String commodityId;
    /**
     * 商品名称(冗余)
     */
    private String commodityName;
    /**
     * 商品数量
     */
    private Integer commodityQuantity;
    /**
     * 商品型号
     */
    private String commodityMode;
    /**
     * 合同商品价格
     */
    private BigDecimal commodityPrice;
    /**
     * 任务状态 0-未分派 ，1-已分派，2-材料已启动，3-材料已完成
     */
    private Integer taskStatus;
    /**
     * 派单时间
     */
    private Date taskDistributionTime;
    /**
     * 任务分配人
     */
    private String taskAllocator;
    /**
     * 任务受理人
     */
    private String taskReceiver;
    /**
     * 任务说明
     */
    private String taskComment;
    /**
     * 任务启动时间
     */
    private Date taskStartTime;
    /**
     * 任务结束时间
     */
    private Date taskEndTime;
    /**
     * 附件地址
     */
    private String attachmentUrl;
    /**
     * 项目状态 0=未启动，1=进行中，2=暂停（客户通知暂停），3=暂停（业务线通知暂停），4=已提交，5=未推荐，6=已推荐，7=未拟公示，8=已拟公示，28=抽查未备案，9=已备案，10=已下证 ，11=退单（已申报），12=退单（未申报），13=已答辩，14=未立项，15=已立项，16=前补助，17=后补助，18=立项已拨款，19=已完成/下证，20=已驳回，21=第1年进行中，22=第1年服务完成，23=第2年进行中，24=第2年服务完成，25=第3年进行中，26=第3年服务完成，27=所有会员服务全部完成，99=未知
     */
    private Integer projectStatus;
    /**
     * 受理日期
     */
    private Date acceptTime;
    /**
     * 评审日期
     */
    private Date reviewTime;
    /**
     * 公示日期
     */
    private Date publicityTime;
    /**
     * 发证日期
     */
    private Date licenceTime;
    /**
     * 证书编号
     */
    private String certificateNumber;
    /**
     * 状态 0未开始 1已开始 2已暂停 3已驳回 4已完成 5未完成退单 6已完成退单
     */
    private Integer status;
    /**
     * 满意度表格回收 0未发送 1已发送，未回收 2已回收  3其他
     */
    private Integer formRetrieve;
    /**
     * 退单 0已完成 1未完成 2其他
     */
    private Integer taskRefund;
    /**
     * 退单信息
     */
    private String refundContent;
    /**
     * 回收信息
     */
    private String retrieveContent;
    /**
     * 申报系统账号
     */
    private String declareUser;
    /**
     * 申报系统密码
     */
    private String declarePwd;
    /**
     * 立项金额
     */
    private BigDecimal setUpAmount;
    /**
     * 状态 0未到款 1已到款
     */
    private Integer arrivalMoney;
    /**
     * 外包公司名称
     */
    private String outsourceName;
    /**
     * 单价
     */
    private BigDecimal outsourcePrice;
    /**
     * 咨询师id
     */
    private String consultantId;
    /**
     * 咨询师管理id
     */
    private String managerId;
    /**
     * 外包 0否 1是
     */
    private Integer outsource;
    /**
     * 拆分父id
     */
    private Integer splitSuper;
    /**
     * 0否 1父拆分 2子拆分
     */
    private Integer splitStatus;
    /**
     * 拆分编号
     */
    private Integer splitId;
    /**
     * 拆分人
     */
    private String splitAid;
    /**
     * 拆分时间
     */
    private Date splitTime;
    /**
     * 项目品类名称(冗余)
     */
    private String cname;
    /**
     * 项目受理人(冗余)
     */
    private String receiverName;
    /**
     * 申报批次
     */
    private Integer declarationBatch;
    /**
     * 费减 0否 1有
     */
    private Integer costReduction;
    /**
     * 官费 0否 1有
     */
    private Integer officialCost;
    /**
     * 是否立项
     */
    private Integer setUpStatus;
    /**
     * 立项时间
     */
    private Date setUpTime;
    /**
     * 是否抽查 0否 1未通过 2通过
     */
    private Integer spotCheckStatus;
    /**
     * 是否高新
     */
    private Integer highTechStatus;
    /**
     * 特别说明
     */
    private String specialComment;
    /**
     * 是否包含认证费 0=否，1=是
     */
    private Integer ifCertificationFee;
    /**
     * 认证费
     */
    private BigDecimal certificationFee;
    /**
     * 认证公司
     */
    private String certificationCorporate;
    /**
     * 时间记录
     */
    private String timeRecord;
    /**
     * 是否公示 0=否，1=是
     */
    private Integer ifPublicity;
    /**
     * 核对状态 0未发起 1核对中 2核对完成
     */
    private Integer checkStatus;
    /**
     * 专利分类 0申请 1变更 2复审 3优先权 4恢复请求权 5无效宣告请求费 6强制许可请求费 7 强制许可使用裁决请求费 8登录、印刷费、印花税
     */
    private Integer patentType;
    /**
     * 公示网络连接
     */
    private String pubicityUrl;
    /**
     * 流程状态 0=普通，1=财务审核，2=特批审核，3=通过，4=驳回
     */
    private Integer processStatus;
    /**
     * 会员付款状态 0=已付会员截点全款，1=已付部分期款，需特批，2=未付款，需特批
     */
    private Integer memberType;
    /**
     * 图片地址
     */
    private String pictureUrl;
    /**
     * 满意度 0非常满意 1满意 2一般 3不满意
     */
    private Integer satisfactionDegree;
    /**
     * 满意度附件地址
     */
    private String satisfactionDegreeUrl;
    /**
     * 0=无需审核 ，1=财务审核，2=财务复审，3=全部需要审核，4=已审核
     */
    private Integer examineType;
    /**
     * 特批状态 0-非特批 ，1-总裁特批，2-副总裁特批
     */
    private Integer approval;
    /**
     * 完成日期
     */
    private Date completeDate;
    /**
     * 完成状态 0待完成 1已完成
     */
    private Integer completeStatus;
    /**
     * 0=无，1=待评分，2=已评分
     */
    private Integer scoreStatus;
    /**
     * 评分
     */
    private Integer scoreNumber;
    /**
     * 高新会员 0=否，1=是
     */
    private Integer htMember;
    /**
     * 加急扣除 0=否，1=是
     */
    private Integer additionalDeduction;
    /**
     * 研发奖补 0=否，1=是
     */
    private Integer rdAwardsubsidy;
    /**
     * 科技项目等级 0=简易项目，1=市区级，2=省级，3=国家级
     */
    private Integer technologyProjectType;
    /**
     * 申请类型 0=普通申请，1=风险代理
     */
    private Integer ordinaryRisk;
    /**
     * 天数 0=普通，1=加急
     */
    private Integer days;
    /**
     * 方案 0=无，1=有
     */
    private Integer scheme;
    /**
     * 项目进度编号
     */
    private Integer progressTid;


    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public Integer getMain() {
        return main;
    }

    public void setMain(Integer main) {
        this.main = main;
    }

    public String getSuperId() {
        return superId;
    }

    public void setSuperId(String superId) {
        this.superId = superId;
    }

    public String getCommodityId() {
        return commodityId;
    }

    public void setCommodityId(String commodityId) {
        this.commodityId = commodityId;
    }

    public String getCommodityName() {
        return commodityName;
    }

    public void setCommodityName(String commodityName) {
        this.commodityName = commodityName;
    }

    public Integer getCommodityQuantity() {
        return commodityQuantity;
    }

    public void setCommodityQuantity(Integer commodityQuantity) {
        this.commodityQuantity = commodityQuantity;
    }

    public String getCommodityMode() {
        return commodityMode;
    }

    public void setCommodityMode(String commodityMode) {
        this.commodityMode = commodityMode;
    }

    public BigDecimal getCommodityPrice() {
        return commodityPrice;
    }

    public void setCommodityPrice(BigDecimal commodityPrice) {
        this.commodityPrice = commodityPrice;
    }

    public Integer getTaskStatus() {
        return taskStatus;
    }

    public void setTaskStatus(Integer taskStatus) {
        this.taskStatus = taskStatus;
    }

    public Date getTaskDistributionTime() {
        return taskDistributionTime;
    }

    public void setTaskDistributionTime(Date taskDistributionTime) {
        this.taskDistributionTime = taskDistributionTime;
    }

    public String getTaskAllocator() {
        return taskAllocator;
    }

    public void setTaskAllocator(String taskAllocator) {
        this.taskAllocator = taskAllocator;
    }

    public String getTaskReceiver() {
        return taskReceiver;
    }

    public void setTaskReceiver(String taskReceiver) {
        this.taskReceiver = taskReceiver;
    }

    public String getTaskComment() {
        return taskComment;
    }

    public void setTaskComment(String taskComment) {
        this.taskComment = taskComment;
    }

    public Date getTaskStartTime() {
        return taskStartTime;
    }

    public void setTaskStartTime(Date taskStartTime) {
        this.taskStartTime = taskStartTime;
    }

    public Date getTaskEndTime() {
        return taskEndTime;
    }

    public void setTaskEndTime(Date taskEndTime) {
        this.taskEndTime = taskEndTime;
    }

    public String getAttachmentUrl() {
        return attachmentUrl;
    }

    public void setAttachmentUrl(String attachmentUrl) {
        this.attachmentUrl = attachmentUrl;
    }

    public Integer getProjectStatus() {
        return projectStatus;
    }

    public void setProjectStatus(Integer projectStatus) {
        this.projectStatus = projectStatus;
    }

    public Date getAcceptTime() {
        return acceptTime;
    }

    public void setAcceptTime(Date acceptTime) {
        this.acceptTime = acceptTime;
    }

    public Date getReviewTime() {
        return reviewTime;
    }

    public void setReviewTime(Date reviewTime) {
        this.reviewTime = reviewTime;
    }

    public Date getPublicityTime() {
        return publicityTime;
    }

    public void setPublicityTime(Date publicityTime) {
        this.publicityTime = publicityTime;
    }

    public Date getLicenceTime() {
        return licenceTime;
    }

    public void setLicenceTime(Date licenceTime) {
        this.licenceTime = licenceTime;
    }

    public String getCertificateNumber() {
        return certificateNumber;
    }

    public void setCertificateNumber(String certificateNumber) {
        this.certificateNumber = certificateNumber;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getFormRetrieve() {
        return formRetrieve;
    }

    public void setFormRetrieve(Integer formRetrieve) {
        this.formRetrieve = formRetrieve;
    }

    public Integer getTaskRefund() {
        return taskRefund;
    }

    public void setTaskRefund(Integer taskRefund) {
        this.taskRefund = taskRefund;
    }

    public String getRefundContent() {
        return refundContent;
    }

    public void setRefundContent(String refundContent) {
        this.refundContent = refundContent;
    }

    public String getRetrieveContent() {
        return retrieveContent;
    }

    public void setRetrieveContent(String retrieveContent) {
        this.retrieveContent = retrieveContent;
    }

    public String getDeclareUser() {
        return declareUser;
    }

    public void setDeclareUser(String declareUser) {
        this.declareUser = declareUser;
    }

    public String getDeclarePwd() {
        return declarePwd;
    }

    public void setDeclarePwd(String declarePwd) {
        this.declarePwd = declarePwd;
    }

    public BigDecimal getSetUpAmount() {
        return setUpAmount;
    }

    public void setSetUpAmount(BigDecimal setUpAmount) {
        this.setUpAmount = setUpAmount;
    }

    public Integer getArrivalMoney() {
        return arrivalMoney;
    }

    public void setArrivalMoney(Integer arrivalMoney) {
        this.arrivalMoney = arrivalMoney;
    }

    public String getOutsourceName() {
        return outsourceName;
    }

    public void setOutsourceName(String outsourceName) {
        this.outsourceName = outsourceName;
    }

    public BigDecimal getOutsourcePrice() {
        return outsourcePrice;
    }

    public void setOutsourcePrice(BigDecimal outsourcePrice) {
        this.outsourcePrice = outsourcePrice;
    }

    public String getConsultantId() {
        return consultantId;
    }

    public void setConsultantId(String consultantId) {
        this.consultantId = consultantId;
    }

    public String getManagerId() {
        return managerId;
    }

    public void setManagerId(String managerId) {
        this.managerId = managerId;
    }

    public Integer getOutsource() {
        return outsource;
    }

    public void setOutsource(Integer outsource) {
        this.outsource = outsource;
    }

    public Integer getSplitSuper() {
        return splitSuper;
    }

    public void setSplitSuper(Integer splitSuper) {
        this.splitSuper = splitSuper;
    }

    public Integer getSplitStatus() {
        return splitStatus;
    }

    public void setSplitStatus(Integer splitStatus) {
        this.splitStatus = splitStatus;
    }

    public Integer getSplitId() {
        return splitId;
    }

    public void setSplitId(Integer splitId) {
        this.splitId = splitId;
    }

    public String getSplitAid() {
        return splitAid;
    }

    public void setSplitAid(String splitAid) {
        this.splitAid = splitAid;
    }

    public Date getSplitTime() {
        return splitTime;
    }

    public void setSplitTime(Date splitTime) {
        this.splitTime = splitTime;
    }

    public String getCname() {
        return cname;
    }

    public void setCname(String cname) {
        this.cname = cname;
    }

    public String getReceiverName() {
        return receiverName;
    }

    public void setReceiverName(String receiverName) {
        this.receiverName = receiverName;
    }

    public Integer getDeclarationBatch() {
        return declarationBatch;
    }

    public void setDeclarationBatch(Integer declarationBatch) {
        this.declarationBatch = declarationBatch;
    }

    public Integer getCostReduction() {
        return costReduction;
    }

    public void setCostReduction(Integer costReduction) {
        this.costReduction = costReduction;
    }

    public Integer getOfficialCost() {
        return officialCost;
    }

    public void setOfficialCost(Integer officialCost) {
        this.officialCost = officialCost;
    }

    public Integer getSetUpStatus() {
        return setUpStatus;
    }

    public void setSetUpStatus(Integer setUpStatus) {
        this.setUpStatus = setUpStatus;
    }

    public Date getSetUpTime() {
        return setUpTime;
    }

    public void setSetUpTime(Date setUpTime) {
        this.setUpTime = setUpTime;
    }

    public Integer getSpotCheckStatus() {
        return spotCheckStatus;
    }

    public void setSpotCheckStatus(Integer spotCheckStatus) {
        this.spotCheckStatus = spotCheckStatus;
    }

    public Integer getHighTechStatus() {
        return highTechStatus;
    }

    public void setHighTechStatus(Integer highTechStatus) {
        this.highTechStatus = highTechStatus;
    }

    public String getSpecialComment() {
        return specialComment;
    }

    public void setSpecialComment(String specialComment) {
        this.specialComment = specialComment;
    }

    public Integer getIfCertificationFee() {
        return ifCertificationFee;
    }

    public void setIfCertificationFee(Integer ifCertificationFee) {
        this.ifCertificationFee = ifCertificationFee;
    }

    public BigDecimal getCertificationFee() {
        return certificationFee;
    }

    public void setCertificationFee(BigDecimal certificationFee) {
        this.certificationFee = certificationFee;
    }

    public String getCertificationCorporate() {
        return certificationCorporate;
    }

    public void setCertificationCorporate(String certificationCorporate) {
        this.certificationCorporate = certificationCorporate;
    }

    public String getTimeRecord() {
        return timeRecord;
    }

    public void setTimeRecord(String timeRecord) {
        this.timeRecord = timeRecord;
    }

    public Integer getIfPublicity() {
        return ifPublicity;
    }

    public void setIfPublicity(Integer ifPublicity) {
        this.ifPublicity = ifPublicity;
    }

    public Integer getCheckStatus() {
        return checkStatus;
    }

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

    public Integer getPatentType() {
        return patentType;
    }

    public void setPatentType(Integer patentType) {
        this.patentType = patentType;
    }

    public String getPubicityUrl() {
        return pubicityUrl;
    }

    public void setPubicityUrl(String pubicityUrl) {
        this.pubicityUrl = pubicityUrl;
    }

    public Integer getProcessStatus() {
        return processStatus;
    }

    public void setProcessStatus(Integer processStatus) {
        this.processStatus = processStatus;
    }

    public Integer getMemberType() {
        return memberType;
    }

    public void setMemberType(Integer memberType) {
        this.memberType = memberType;
    }

    public String getPictureUrl() {
        return pictureUrl;
    }

    public void setPictureUrl(String pictureUrl) {
        this.pictureUrl = pictureUrl;
    }

    public Integer getSatisfactionDegree() {
        return satisfactionDegree;
    }

    public void setSatisfactionDegree(Integer satisfactionDegree) {
        this.satisfactionDegree = satisfactionDegree;
    }

    public String getSatisfactionDegreeUrl() {
        return satisfactionDegreeUrl;
    }

    public void setSatisfactionDegreeUrl(String satisfactionDegreeUrl) {
        this.satisfactionDegreeUrl = satisfactionDegreeUrl;
    }

    public Integer getExamineType() {
        return examineType;
    }

    public void setExamineType(Integer examineType) {
        this.examineType = examineType;
    }

    public Integer getApproval() {
        return approval;
    }

    public void setApproval(Integer approval) {
        this.approval = approval;
    }

    public Date getCompleteDate() {
        return completeDate;
    }

    public void setCompleteDate(Date completeDate) {
        this.completeDate = completeDate;
    }

    public Integer getCompleteStatus() {
        return completeStatus;
    }

    public void setCompleteStatus(Integer completeStatus) {
        this.completeStatus = completeStatus;
    }

    public Integer getScoreStatus() {
        return scoreStatus;
    }

    public void setScoreStatus(Integer scoreStatus) {
        this.scoreStatus = scoreStatus;
    }

    public Integer getScoreNumber() {
        return scoreNumber;
    }

    public void setScoreNumber(Integer scoreNumber) {
        this.scoreNumber = scoreNumber;
    }

    public Integer getHtMember() {
        return htMember;
    }

    public void setHtMember(Integer htMember) {
        this.htMember = htMember;
    }

    public Integer getAdditionalDeduction() {
        return additionalDeduction;
    }

    public void setAdditionalDeduction(Integer additionalDeduction) {
        this.additionalDeduction = additionalDeduction;
    }

    public Integer getRdAwardsubsidy() {
        return rdAwardsubsidy;
    }

    public void setRdAwardsubsidy(Integer rdAwardsubsidy) {
        this.rdAwardsubsidy = rdAwardsubsidy;
    }

    public Integer getTechnologyProjectType() {
        return technologyProjectType;
    }

    public void setTechnologyProjectType(Integer technologyProjectType) {
        this.technologyProjectType = technologyProjectType;
    }

    public Integer getOrdinaryRisk() {
        return ordinaryRisk;
    }

    public void setOrdinaryRisk(Integer ordinaryRisk) {
        this.ordinaryRisk = ordinaryRisk;
    }

    public Integer getDays() {
        return days;
    }

    public void setDays(Integer days) {
        this.days = days;
    }

    public Integer getScheme() {
        return scheme;
    }

    public void setScheme(Integer scheme) {
        this.scheme = scheme;
    }

    public Integer getProgressTid() {
        return progressTid;
    }

    public void setProgressTid(Integer progressTid) {
        this.progressTid = progressTid;
    }


    public static void main(String[] args) {
        String s="[{id:1,htMember:1,additionalDeduction:1,rdAwardsubsidy:1},{id:2,htMember:0,additionalDeduction:0,rdAwardsubsidy:0}]";
        List<TaskSon> list= JSON.parseArray(s,TaskSon.class);
        list.forEach(e->{
            System.out.println(e);
        });
    }
}

