package com.chinaztt.mes.warehouse.state;
|
|
import com.chinaztt.mes.common.handler.StateMachineHandler;
|
import com.chinaztt.mes.warehouse.entity.ReserveMain;
|
import com.chinaztt.mes.warehouse.mapper.ReserveMainMapper;
|
import com.chinaztt.mes.warehouse.state.constant.ReserveEvents;
|
import com.chinaztt.mes.warehouse.state.constant.ReserveStateStringValues;
|
import lombok.AllArgsConstructor;
|
import org.springframework.messaging.Message;
|
import org.springframework.statemachine.StateMachine;
|
import org.springframework.statemachine.annotation.OnTransition;
|
import org.springframework.statemachine.annotation.WithStateMachine;
|
import org.springframework.stereotype.Component;
|
|
/**
|
* @author ZTT
|
*/
|
@AllArgsConstructor
|
@Component
|
@WithStateMachine(id = "reserveStateMachine")
|
public class ReserveStateListener {
|
private ReserveMainMapper reserveMainMapper;
|
/**
|
* 执行中
|
*/
|
@OnTransition(source = ReserveStateStringValues.CREATE,target = ReserveStateStringValues.PERFORMED)
|
public boolean perform(StateMachine stateMachine, Message<ReserveEvents> msg) {
|
ReserveMain reserveMain = (ReserveMain) msg.getHeaders().get("reserveMain");
|
reserveMain.setResStatus(ReserveStateStringValues.PERFORMED);
|
reserveMainMapper.updateById(reserveMain);
|
return true;
|
}
|
/**
|
* 已处理
|
*/
|
@OnTransition(source = ReserveStateStringValues.PERFORMED,target = ReserveStateStringValues.HANDLING)
|
public boolean handle(StateMachine stateMachine, Message<ReserveEvents> msg) {
|
ReserveMain reserveMain = (ReserveMain) msg.getHeaders().get("reserveMain");
|
reserveMain.setResStatus(ReserveStateStringValues.HANDLING);
|
reserveMainMapper.updateById(reserveMain);
|
return true;
|
}
|
}
|