public class Opportunity {
    private int status; // 商机状态,取值为1/2/3/4/5/6
    private String responsiblePerson; // 负责人
    private String resumePerson; // 简历人员
    private String intervieweeName; // 面试通过人员名称
    private String personnel; // 驻场人员
    private Date personnelTime; // 驻场时间
    private String contractNo; // 合同编号
    private Date contractTime; // 合同时间
    private Date archiveTime; // 归档时间

    // 状态为线索
    public void setStatusToLead() {
        if (responsiblePerson == null || responsiblePerson.equals("")) {
            System.out.println('负责人不能为空!');
            return;
        }
        status = 1;
    }

    // 状态为提供简历
    public void setStatusToResume() {
        if (resumePerson == null || resumePerson.equals("")) {
            System.out.println('简历人员不能为空!');
            return;
        }
        if (status < 1) {
            System.out.println('状态不能回退到线索!');
            return;
        }
        status = 2;
    }

    // 状态为面试通过
    public void setStatusToInterview() {
        if (intervieweeName == null || intervieweeName.equals("")) {
            System.out.println('面试通过人员名称不能为空!');
            return;
        }
        if (status < 2) {
            System.out.println('状态不能回退到提供简历!');
            return;
        }
        status = 3;
    }

    // 状态为人员驻场
    public void setStatusToPersonnel() {
        if (personnel == null || personnel.equals("") || personnelTime == null) {
            System.out.println('驻场人员和时间不能为空!');
            return;
        }
        if (status < 3) {
            System.out.println('状态不能回退到面试通过!');
            return;
        }
        status = 4;
    }

    // 状态为合同评审
    public void setStatusToContract() {
        if (contractNo == null || contractNo.equals("") || contractTime == null) {
            System.out.println('合同编号和时间不能为空!');
            return;
        }
        if (status < 4) {
            System.out.println('状态不能回退到人员驻场!');
            return;
        }
        status = 5;
    }

    // 状态为合同归档
    public void setStatusToArchive() {
        if (archiveTime == null) {
            System.out.println('归档时间不能为空!');
            return;
        }
        if (status < 5) {
            System.out.println('状态不能回退到合同评审!');
            return;
        }
        status = 6;
    }

    // 回退到线索状态
    public void rollbackToLead() {
        status = 1;
    }

    // getter和setter方法
    // ...
}
Java 商机状态流转流程设计:从线索到归档

原文地址: http://www.cveoy.top/t/topic/naUF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录