package com.chinaztt.mes.plan.state.requirement; import com.chinaztt.mes.common.handler.StateMachineHandler; import com.chinaztt.mes.plan.entity.MpsRequirements; import com.chinaztt.mes.plan.mapper.MpsRequirementsMapper; import com.chinaztt.mes.plan.state.manufacturing.constant.ManufacturingOrderStateStringValues; import com.chinaztt.mes.plan.state.requirement.constant.MpsRequirementsEvents; import com.chinaztt.mes.plan.state.requirement.constant.MpsRequirementsStateStringValues; 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; import java.util.List; /** * @Author: cxf * @Date: 2020-09-19 9:51 */ @AllArgsConstructor @Component @WithStateMachine(id = "mpsRequirementsStateMachine") public class MpsRequirementsStateListener { private MpsRequirementsMapper mpsRequirementsMapper; /** * 下达 */ @OnTransition(target = ManufacturingOrderStateStringValues.ISSUED) public boolean issued(StateMachine stateMachine, Message msg) { MpsRequirements mpsRequirements = (MpsRequirements) msg.getHeaders().get("mpsRequirements"); mpsRequirements.setState(MpsRequirementsStateStringValues.ISSUED); mpsRequirementsMapper.updateById(mpsRequirements); return true; } /** * 完成 */ @OnTransition(target = ManufacturingOrderStateStringValues.COMPLETED) public boolean completed(StateMachine stateMachine, Message msg) { MpsRequirements mpsRequirements = (MpsRequirements) msg.getHeaders().get("mpsRequirements"); mpsRequirements.setState(MpsRequirementsStateStringValues.COMPLETED); mpsRequirementsMapper.updateById(mpsRequirements); return true; } /** * 取消 */ @OnTransition(target = ManufacturingOrderStateStringValues.CANCELED) public boolean canceled(StateMachine stateMachine, Message msg) { MpsRequirements mpsRequirements = (MpsRequirements) msg.getHeaders().get("mpsRequirements"); mpsRequirements.setState(MpsRequirementsStateStringValues.CANCELED); mpsRequirementsMapper.updateById(mpsRequirements); return true; } /** * 计划 */ @OnTransition(target = ManufacturingOrderStateStringValues.PLANNED) public boolean plan(StateMachine stateMachine, Message msg) { MpsRequirements mpsRequirements = (MpsRequirements) msg.getHeaders().get("mpsRequirements"); mpsRequirements.setState(MpsRequirementsStateStringValues.PLANNED); mpsRequirementsMapper.updateById(mpsRequirements); return true; } }