Java 商机状态流转流程设计:从线索到归档
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方法
// ...
}
原文地址: http://www.cveoy.top/t/topic/naUF 著作权归作者所有。请勿转载和采集!