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