forked from sfms3.0/sfms3.0
6 changed files with 309 additions and 22 deletions
@ -0,0 +1,33 @@ |
|||
package com.win.module.wms.enums.order; |
|||
|
|||
public enum OrderStatusEnum { |
|||
|
|||
READY(0), // 准备
|
|||
PUBLISHED(1), // 发布
|
|||
CLOSED(2), // 关闭
|
|||
COMPLETED(3), // 已完成
|
|||
; |
|||
private final Integer code; |
|||
|
|||
OrderStatusEnum(int code) { |
|||
this.code = code; |
|||
} |
|||
|
|||
public int getCode() { |
|||
return code; |
|||
} |
|||
|
|||
/** |
|||
* 用状态值获取枚举 |
|||
* @param status |
|||
* @return |
|||
*/ |
|||
static OrderStatusEnum getJobStatusEnum(int status) { |
|||
for (OrderStatusEnum jobStatusEnum : values()) { |
|||
if (jobStatusEnum.getCode() == status) { |
|||
return jobStatusEnum; |
|||
} |
|||
} |
|||
return READY; |
|||
} |
|||
} |
@ -0,0 +1,96 @@ |
|||
package com.win.module.wms.enums.order; |
|||
|
|||
/** |
|||
* 订单状态机 |
|||
*/ |
|||
public class OrderStatusState { |
|||
|
|||
/** |
|||
* 当前状态枚举 |
|||
*/ |
|||
private OrderStatusEnum orderStatusEnum; |
|||
|
|||
/** |
|||
* 构造函数,默认创建 |
|||
*/ |
|||
public OrderStatusState() { |
|||
this.orderStatusEnum = OrderStatusEnum.READY; |
|||
} |
|||
|
|||
/** |
|||
* 构造函数,当前状态 |
|||
* @param status |
|||
*/ |
|||
public OrderStatusState(int status) { |
|||
this.orderStatusEnum = OrderStatusEnum.getJobStatusEnum(status); |
|||
} |
|||
|
|||
/** |
|||
* 构造函数,当前状态枚举 |
|||
* @param requestStatusEnum |
|||
*/ |
|||
public OrderStatusState(OrderStatusEnum requestStatusEnum) { |
|||
this.orderStatusEnum = requestStatusEnum; |
|||
} |
|||
|
|||
/** |
|||
* 发布 |
|||
* @return |
|||
*/ |
|||
public boolean publish() { |
|||
if(this.orderStatusEnum.getCode() == OrderStatusEnum.READY.getCode()) { |
|||
this.orderStatusEnum = OrderStatusEnum.PUBLISHED; |
|||
return Boolean.TRUE; |
|||
} else { |
|||
return Boolean.FALSE; |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* 下架 |
|||
* @return |
|||
*/ |
|||
public boolean withdraw() { |
|||
if(this.orderStatusEnum.getCode() == OrderStatusEnum.PUBLISHED.getCode()) { |
|||
this.orderStatusEnum = OrderStatusEnum.READY; |
|||
return Boolean.TRUE; |
|||
} else { |
|||
return Boolean.FALSE; |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* 关闭 |
|||
* @return |
|||
*/ |
|||
public boolean close() { |
|||
if(this.orderStatusEnum.getCode() == OrderStatusEnum.READY.getCode()) { |
|||
this.orderStatusEnum = OrderStatusEnum.CLOSED; |
|||
return Boolean.TRUE; |
|||
} else { |
|||
return Boolean.FALSE; |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* 打开 |
|||
* @return |
|||
*/ |
|||
public boolean open() { |
|||
if(this.orderStatusEnum.getCode() == OrderStatusEnum.CLOSED.getCode()) { |
|||
this.orderStatusEnum = OrderStatusEnum.READY; |
|||
return Boolean.TRUE; |
|||
} else { |
|||
return Boolean.FALSE; |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* 获取可执行的状态机 |
|||
* @return |
|||
*/ |
|||
public OrderStatusEnum getState() { |
|||
return orderStatusEnum; |
|||
} |
|||
|
|||
} |
@ -0,0 +1,36 @@ |
|||
package com.win.module.wms.enums.plan; |
|||
|
|||
public enum PlanStatusEnum { |
|||
|
|||
NEW(0), // 新增
|
|||
REVIEWING(1), // 审批中
|
|||
AGREED(2), // 审批通过
|
|||
REFUSED(3), // 审批驳回
|
|||
CLOSED(4), // 关闭
|
|||
PUBLISHED(5), // 发布
|
|||
COMPLETED(6), // 已完成
|
|||
; |
|||
private final Integer code; |
|||
|
|||
PlanStatusEnum(int code) { |
|||
this.code = code; |
|||
} |
|||
|
|||
public int getCode() { |
|||
return code; |
|||
} |
|||
|
|||
/** |
|||
* 用状态值获取枚举 |
|||
* @param status |
|||
* @return |
|||
*/ |
|||
static PlanStatusEnum getJobStatusEnum(int status) { |
|||
for (PlanStatusEnum jobStatusEnum : values()) { |
|||
if (jobStatusEnum.getCode() == status) { |
|||
return jobStatusEnum; |
|||
} |
|||
} |
|||
return NEW; |
|||
} |
|||
} |
@ -0,0 +1,122 @@ |
|||
package com.win.module.wms.enums.plan; |
|||
|
|||
/** |
|||
* 订单状态机 |
|||
*/ |
|||
public class PlanStatusState { |
|||
|
|||
/** |
|||
* 当前状态枚举 |
|||
*/ |
|||
private PlanStatusEnum orderStatusEnum; |
|||
|
|||
/** |
|||
* 构造函数,默认创建 |
|||
*/ |
|||
public PlanStatusState() { |
|||
this.orderStatusEnum = PlanStatusEnum.NEW; |
|||
} |
|||
|
|||
/** |
|||
* 构造函数,当前状态 |
|||
* @param status |
|||
*/ |
|||
public PlanStatusState(int status) { |
|||
this.orderStatusEnum = PlanStatusEnum.getJobStatusEnum(status); |
|||
} |
|||
|
|||
/** |
|||
* 构造函数,当前状态枚举 |
|||
* @param requestStatusEnum |
|||
*/ |
|||
public PlanStatusState(PlanStatusEnum requestStatusEnum) { |
|||
this.orderStatusEnum = requestStatusEnum; |
|||
} |
|||
|
|||
/** |
|||
* 提交 |
|||
* @return |
|||
*/ |
|||
public boolean submit() { |
|||
if(this.orderStatusEnum.getCode() == PlanStatusEnum.NEW.getCode()) { |
|||
this.orderStatusEnum = PlanStatusEnum.REVIEWING; |
|||
return Boolean.TRUE; |
|||
} else { |
|||
return Boolean.FALSE; |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* 审批驳回 |
|||
* @return |
|||
*/ |
|||
public boolean reject() { |
|||
if(this.orderStatusEnum.getCode() == PlanStatusEnum.REVIEWING.getCode()) { |
|||
this.orderStatusEnum = PlanStatusEnum.REFUSED; |
|||
return Boolean.TRUE; |
|||
} else { |
|||
return Boolean.FALSE; |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* 审批通过 |
|||
* @return |
|||
*/ |
|||
public boolean agree() { |
|||
if(this.orderStatusEnum.getCode() == PlanStatusEnum.REVIEWING.getCode()) { |
|||
this.orderStatusEnum = PlanStatusEnum.AGREED; |
|||
return Boolean.TRUE; |
|||
} else { |
|||
return Boolean.FALSE; |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* 关闭 |
|||
* @return |
|||
*/ |
|||
public boolean close() { |
|||
if(this.orderStatusEnum.getCode() == PlanStatusEnum.NEW.getCode() || this.orderStatusEnum.getCode() == PlanStatusEnum.REVIEWING.getCode() || this.orderStatusEnum.getCode() == PlanStatusEnum.AGREED.getCode() || this.orderStatusEnum.getCode() == PlanStatusEnum.PUBLISHED.getCode()) { |
|||
this.orderStatusEnum = PlanStatusEnum.CLOSED; |
|||
return Boolean.TRUE; |
|||
} else { |
|||
return Boolean.FALSE; |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* 审批通过 |
|||
* @return |
|||
*/ |
|||
public boolean resetting() { |
|||
if(this.orderStatusEnum.getCode() == PlanStatusEnum.REFUSED.getCode()) { |
|||
this.orderStatusEnum = PlanStatusEnum.NEW; |
|||
return Boolean.TRUE; |
|||
} else { |
|||
return Boolean.FALSE; |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* 执行 |
|||
* @return |
|||
*/ |
|||
public boolean execute() { |
|||
if(this.orderStatusEnum.getCode() == PlanStatusEnum.PUBLISHED.getCode()) { |
|||
this.orderStatusEnum = PlanStatusEnum.COMPLETED; |
|||
return Boolean.TRUE; |
|||
} else { |
|||
return Boolean.FALSE; |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* 获取可执行的状态机 |
|||
* @return |
|||
*/ |
|||
public PlanStatusEnum getState() { |
|||
return orderStatusEnum; |
|||
} |
|||
|
|||
} |
Loading…
Reference in new issue