Browse Source

job状态机

master
刘忱 2 years ago
parent
commit
598ab7a947
  1. 39
      win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/order/OrderStatusEnum.java
  2. 70
      win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/order/OrderStatusState.java
  3. 0
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/inventoryAction/InventoryActionEnum.java
  4. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/job/JobStatusEnum.java
  5. 22
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/job/JobStatusState.java
  6. 45
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/order/OrderStatusEnum.java
  7. 70
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/order/OrderStatusState.java
  8. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/package-info.java
  9. 38
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusEnum.java
  10. 137
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusState.java
  11. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java

39
win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/order/OrderStatusEnum.java

@ -1,39 +0,0 @@
package com.win.module.wms.enums.order;
/**
* 订单状态枚举
*/
public enum OrderStatusEnum {
CREATED(1), // 待支付
PAID(2), // 已支付
SHIPPED(3), // 已发货
COMPLETED(4), // 已完成
CANCELLING(5), // 取消中
CANCELLED(6); // 已取消
private final Integer code;
OrderStatusEnum(int code) {
this.code = code;
}
public int getCode() {
return code;
}
/**
* 用状态值获取枚举
* @param status
* @return
*/
static OrderStatusEnum getOrderStatusEnum(int status) {
for (OrderStatusEnum orderStatusEnum : values()) {
if (orderStatusEnum.getCode() == status) {
return orderStatusEnum;
}
}
return CREATED;
}
}

70
win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/order/OrderStatusState.java

@ -1,70 +0,0 @@
package com.win.module.wms.enums.order;
/**
* 订单状态机
*/
public class OrderStatusState {
/**
* 当前状态枚举
*/
private OrderStatusEnum orderStatusEnum;
/**
* 构造函数默认创建
*/
public OrderStatusState() {
this.orderStatusEnum = OrderStatusEnum.CREATED;
}
/**
* 构造函数当前状态
* @param status
*/
public OrderStatusState(int status) {
this.orderStatusEnum = OrderStatusEnum.getOrderStatusEnum(status);
}
/**
* 构造函数当前状态枚举
* @param orderStatusEnum
*/
public OrderStatusState(OrderStatusEnum orderStatusEnum) {
this.orderStatusEnum = orderStatusEnum;
}
/**
* 当前状态是否允许支付
* @return
*/
public boolean pay() {
if(this.orderStatusEnum.getCode() == OrderStatusEnum.CREATED.getCode()) {
this.orderStatusEnum = OrderStatusEnum.PAID;
return Boolean.TRUE;
} else {
return Boolean.FALSE;
}
}
/**
* 当前状态是否允许发货
* @return
*/
public boolean ship() {
if(this.orderStatusEnum.getCode() == OrderStatusEnum.PAID.getCode()) {
this.orderStatusEnum = OrderStatusEnum.SHIPPED;
return Boolean.TRUE;
} else {
return Boolean.FALSE;
}
}
/**
* 获取可执行的状态机
* @return
*/
public OrderStatusEnum getState() {
return orderStatusEnum;
}
}

0
win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/inventoryAction/InventoryActionEnum.java → win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/inventoryAction/InventoryActionEnum.java

2
win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/job/JobStatusEnum.java → win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/job/JobStatusEnum.java

@ -1,7 +1,5 @@
package com.win.module.wms.enums.job;
import com.win.module.wms.enums.order.OrderStatusEnum;
public enum JobStatusEnum {
OPEN(1), // 待处理
DOING(2), // 执行中

22
win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/job/JobStatusState.java → win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/job/JobStatusState.java

@ -1,7 +1,5 @@
package com.win.module.wms.enums.job;
import com.win.module.wms.enums.job.JobStatusEnum;
/**
* 订单状态机
*/
@ -16,7 +14,7 @@ public class JobStatusState {
* 构造函数默认创建
*/
public JobStatusState() {
this.jobStatusEnum = jobStatusEnum.OPEN;
this.jobStatusEnum = JobStatusEnum.OPEN;
}
/**
@ -24,7 +22,7 @@ public class JobStatusState {
* @param status
*/
public JobStatusState(int status) {
this.jobStatusEnum = jobStatusEnum.getJobStatusEnum(status);
this.jobStatusEnum = JobStatusEnum.getJobStatusEnum(status);
}
/**
@ -40,8 +38,8 @@ public class JobStatusState {
* @return
*/
public boolean doing() {
if(this.jobStatusEnum.getCode() == jobStatusEnum.OPEN.getCode()) {
this.jobStatusEnum = jobStatusEnum.DOING;
if(this.jobStatusEnum.getCode() == JobStatusEnum.OPEN.getCode()) {
this.jobStatusEnum = JobStatusEnum.DOING;
return Boolean.TRUE;
} else {
return Boolean.FALSE;
@ -53,8 +51,8 @@ public class JobStatusState {
* @return
*/
public boolean closed() {
if(this.jobStatusEnum.getCode() == jobStatusEnum.OPEN.getCode()) {
this.jobStatusEnum = jobStatusEnum.CLOSED;
if(this.jobStatusEnum.getCode() == JobStatusEnum.OPEN.getCode()) {
this.jobStatusEnum = JobStatusEnum.CLOSED;
return Boolean.TRUE;
} else {
return Boolean.FALSE;
@ -66,8 +64,8 @@ public class JobStatusState {
* @return
*/
public boolean done() {
if(this.jobStatusEnum.getCode() == jobStatusEnum.DOING.getCode()) {
this.jobStatusEnum = jobStatusEnum.DONE;
if(this.jobStatusEnum.getCode() == JobStatusEnum.DOING.getCode()) {
this.jobStatusEnum = JobStatusEnum.DONE;
return Boolean.TRUE;
} else {
return Boolean.FALSE;
@ -78,8 +76,8 @@ public class JobStatusState {
* @return
*/
public boolean cancelled() {
if(this.jobStatusEnum.getCode() == jobStatusEnum.DOING.getCode()) {
this.jobStatusEnum = jobStatusEnum.CANCELLED;
if(this.jobStatusEnum.getCode() == JobStatusEnum.DOING.getCode()) {
this.jobStatusEnum = JobStatusEnum.CANCELLED;
return Boolean.TRUE;
} else {
return Boolean.FALSE;

45
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/order/OrderStatusEnum.java

@ -1,45 +0,0 @@
package com.win.module.wms.enums.order;
/**
* 订单状态枚举
*/
public enum OrderStatusEnum {
CREATED(1, "待支付"),
PAID(2, "已支付"),
SHIPPED(3, "已发货"),
COMPLETED(4, "已完成"),
CANCELLING(5, "取消中"),
CANCELLED(6, "已取消");
private final int code;
private final String info;
OrderStatusEnum(int code, String info) {
this.code = code;
this.info = info;
}
public int getCode() {
return code;
}
public String getInfo() {
return info;
}
/**
* 用状态值获取枚举
* @param status
* @return
*/
static OrderStatusEnum getOrderStatusEnum(int status) {
for (OrderStatusEnum orderStatusEnum : values()) {
if (orderStatusEnum.getCode() == status) {
return orderStatusEnum;
}
}
return CREATED;
}
}

70
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/order/OrderStatusState.java

@ -1,70 +0,0 @@
package com.win.module.wms.enums.order;
/**
* 订单状态机
*/
public class OrderStatusState {
/**
* 当前状态枚举
*/
private OrderStatusEnum orderStatusEnum;
/**
* 构造函数默认创建
*/
public OrderStatusState() {
this.orderStatusEnum = OrderStatusEnum.CREATED;
}
/**
* 构造函数当前状态
* @param status
*/
public OrderStatusState(int status) {
this.orderStatusEnum = OrderStatusEnum.getOrderStatusEnum(status);
}
/**
* 构造函数当前状态枚举
* @param orderStatusEnum
*/
public OrderStatusState(OrderStatusEnum orderStatusEnum) {
this.orderStatusEnum = orderStatusEnum;
}
/**
* 当前状态是否允许支付
* @return
*/
public boolean pay() {
if(this.orderStatusEnum.getCode() == OrderStatusEnum.CREATED.getCode()) {
this.orderStatusEnum = OrderStatusEnum.PAID;
return Boolean.TRUE;
} else {
return Boolean.FALSE;
}
}
/**
* 当前状态是否允许发货
* @return
*/
public boolean ship() {
if(this.orderStatusEnum.getCode() == OrderStatusEnum.PAID.getCode()) {
this.orderStatusEnum = OrderStatusEnum.SHIPPED;
return Boolean.TRUE;
} else {
return Boolean.FALSE;
}
}
/**
* 获取可执行的状态机
* @return
*/
public OrderStatusEnum getState() {
return orderStatusEnum;
}
}

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/package-info.java

@ -1,4 +0,0 @@
/**
* System API 定义暴露给其它模块的 API
*/
package com.win.module.wms.enums;

38
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusEnum.java

@ -0,0 +1,38 @@
package com.win.module.wms.enums.request;
public enum RequestStatusEnum {
NEW(0), // 新增
APPROVAL(1), // 审批中
PASS(2), // 审批通过
REJECT(3), // 审批驳回
CLOSED(4), // 关闭
PROCESSING(5), // 处理中
PARTIALLY_COMPLETED(6), // 部分完成
COMPLETED(7), // 已完成
TERMINATION(8), // 中止
;
private final Integer code;
RequestStatusEnum(int code) {
this.code = code;
}
public int getCode() {
return code;
}
/**
* 用状态值获取枚举
* @param status
* @return
*/
static RequestStatusEnum getJobStatusEnum(int status) {
for (RequestStatusEnum jobStatusEnum : values()) {
if (jobStatusEnum.getCode() == status) {
return jobStatusEnum;
}
}
return NEW;
}
}

137
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusState.java

@ -0,0 +1,137 @@
package com.win.module.wms.enums.request;
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO;
/**
* 订单状态机
*/
public class RequestStatusState {
/**
* 当前状态枚举
*/
private RequestStatusEnum requestStatusEnum;
/**
* 构造函数默认创建
*/
public RequestStatusState() {
this.requestStatusEnum = RequestStatusEnum.NEW;
}
/**
* 构造函数当前状态
* @param status
*/
public RequestStatusState(int status) {
this.requestStatusEnum = RequestStatusEnum.getJobStatusEnum(status);
}
/**
* 构造函数当前状态枚举
* @param requestStatusEnum
*/
public RequestStatusState(RequestStatusEnum requestStatusEnum) {
this.requestStatusEnum = requestStatusEnum;
}
/**
* 新建时判断是否自动审批等
* @return
*/
public boolean newObject(RequestsettingDO requestsettingDO) {
if("TRUE".equals(requestsettingDO.getAutoCommit())) {
this.requestStatusEnum = RequestStatusEnum.APPROVAL;
if("TRUE".equals(requestsettingDO.getAutoAgree())) {
this.requestStatusEnum = RequestStatusEnum.PASS;
if("TRUE".equals(requestsettingDO.getAutoExecute())) {
this.requestStatusEnum = RequestStatusEnum.PROCESSING;
}
}
}
return true;
}
/**
* 提交
* @return
*/
public boolean submit(RequestsettingDO requestsettingDO) {
if(this.requestStatusEnum.getCode() == RequestStatusEnum.NEW.getCode()) {
this.requestStatusEnum = RequestStatusEnum.APPROVAL;
if("TRUE".equals(requestsettingDO.getAutoAgree())) {
this.requestStatusEnum = RequestStatusEnum.PASS;
if("TRUE".equals(requestsettingDO.getAutoExecute())) {
this.requestStatusEnum = RequestStatusEnum.PROCESSING;
}
}
return Boolean.TRUE;
} else {
return Boolean.FALSE;
}
}
/**
* 审批
* @return
*/
public boolean approval(RequestsettingDO requestsettingDO) {
if(this.requestStatusEnum.getCode() == RequestStatusEnum.APPROVAL.getCode()) {
this.requestStatusEnum = RequestStatusEnum.PASS;
if("TRUE".equals(requestsettingDO.getAutoExecute())) {
this.requestStatusEnum = RequestStatusEnum.PROCESSING;
}
return Boolean.TRUE;
} else {
return Boolean.FALSE;
}
}
/**
* 驳回
* @return
*/
public boolean reject() {
if(this.requestStatusEnum.getCode() == RequestStatusEnum.APPROVAL.getCode()) {
this.requestStatusEnum = RequestStatusEnum.PASS;
return Boolean.TRUE;
} else {
return Boolean.FALSE;
}
}
/**
* 关闭
* @return
*/
public boolean closed() {
if(this.requestStatusEnum.getCode() == RequestStatusEnum.APPROVAL.getCode()) {
this.requestStatusEnum = RequestStatusEnum.PASS;
return Boolean.TRUE;
} else {
return Boolean.FALSE;
}
}
/**
* 执行
* @return
*/
public boolean processing() {
if(this.requestStatusEnum.getCode() == RequestStatusEnum.PASS.getCode()) {
this.requestStatusEnum = RequestStatusEnum.PROCESSING;
return Boolean.TRUE;
} else {
return Boolean.FALSE;
}
}
/**
* 获取可执行的状态机
* @return
*/
public RequestStatusEnum getState() {
return requestStatusEnum;
}
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java

@ -64,9 +64,6 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
private CurrencyexchangeService currencyexchangeService;
@Resource
private RuleService ruleService;
@Resource
private PurchaseMainService purchaseMainService;
@Resource
private PurchaseDetailMapper purchaseDetailMapper;
@Override

Loading…
Cancel
Save