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 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 msg) { ReserveMain reserveMain = (ReserveMain) msg.getHeaders().get("reserveMain"); reserveMain.setResStatus(ReserveStateStringValues.HANDLING); reserveMainMapper.updateById(reserveMain); return true; } }