package com.chinaztt.mes.plan.state.outsourcing;
|
|
import com.chinaztt.mes.plan.entity.OutsourcingOrder;
|
import com.chinaztt.mes.plan.mapper.OutsourcingOrderMapper;
|
import com.chinaztt.mes.plan.state.outsourcing.constant.OutsourcingOrderEvents;
|
import com.chinaztt.mes.plan.state.outsourcing.constant.OutsourcingOrderStateStringValues;
|
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: cxf
|
* @Date: 2021-08-17 9:51
|
*/
|
@AllArgsConstructor
|
@Component
|
@WithStateMachine(id = "outsourcingOrderStateMachine")
|
public class OutsourcingOrderStateListener {
|
|
private OutsourcingOrderMapper outsourcingOrderMapper;
|
|
/**
|
* 下达
|
*/
|
@OnTransition(target = OutsourcingOrderStateStringValues.ISSUED)
|
public boolean issued(StateMachine stateMachine, Message<OutsourcingOrderEvents> msg) {
|
OutsourcingOrder outsourcingOrder = (OutsourcingOrder) msg.getHeaders().get("outsourcingOrder");
|
outsourcingOrder.setState(OutsourcingOrderStateStringValues.ISSUED);
|
outsourcingOrderMapper.updateById(outsourcingOrder);
|
return true;
|
}
|
|
/**
|
* 完成
|
*/
|
@OnTransition(target = OutsourcingOrderStateStringValues.COMPLETED)
|
public boolean completed(StateMachine stateMachine, Message<OutsourcingOrderEvents> msg) {
|
OutsourcingOrder outsourcingOrder = (OutsourcingOrder) msg.getHeaders().get("outsourcingOrder");
|
outsourcingOrder.setState(OutsourcingOrderStateStringValues.COMPLETED);
|
outsourcingOrderMapper.updateById(outsourcingOrder);
|
return true;
|
}
|
|
/**
|
* 取消
|
*/
|
@OnTransition(target = OutsourcingOrderStateStringValues.CANCELED)
|
public boolean canceled(StateMachine stateMachine, Message<OutsourcingOrderEvents> msg) {
|
OutsourcingOrder outsourcingOrder = (OutsourcingOrder) msg.getHeaders().get("outsourcingOrder");
|
outsourcingOrder.setState(OutsourcingOrderStateStringValues.CANCELED);
|
outsourcingOrderMapper.updateById(outsourcingOrder);
|
return true;
|
}
|
|
/**
|
* 计划
|
*/
|
@OnTransition(target = OutsourcingOrderStateStringValues.PLANNED)
|
public boolean plan(StateMachine stateMachine, Message<OutsourcingOrderEvents> msg) {
|
OutsourcingOrder outsourcingOrder = (OutsourcingOrder) msg.getHeaders().get("outsourcingOrder");
|
outsourcingOrder.setState(OutsourcingOrderStateStringValues.PLANNED);
|
outsourcingOrderMapper.updateById(outsourcingOrder);
|
return true;
|
}
|
}
|