zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
@@ -1081,6 +1081,7 @@ for (Action action : actionList) { action.setActionSts(ActionStsType.ISSUED.val()); action.setStartTime(now); action.setIoTime(now); action.setUpdateTime(now); if (!actionService.updateById(action)) { throw new BusinessException(action.getPriority() + " - " + action.getName() + "动作更新失败"); zy-acs-manager/src/main/java/com/zy/acs/manager/fake/FakeProcessor.java
@@ -4,9 +4,13 @@ import com.zy.acs.common.constant.RedisConstant; import com.zy.acs.common.domain.AgvProtocol; import com.zy.acs.common.utils.RedisSupport; import com.zy.acs.framework.common.Cools; import com.zy.acs.manager.manager.entity.Action; import com.zy.acs.manager.manager.entity.Agv; import com.zy.acs.manager.manager.entity.AgvDetail; import com.zy.acs.manager.manager.enums.ActionStsType; import com.zy.acs.manager.manager.enums.StatusType; import com.zy.acs.manager.manager.service.ActionService; import com.zy.acs.manager.manager.service.AgvDetailService; import com.zy.acs.manager.manager.service.AgvService; import com.zy.acs.manager.system.service.ConfigService; @@ -29,6 +33,8 @@ @Autowired private AgvDetailService agvDetailService; @Autowired private ActionService actionService; @Autowired private ConfigService configService; /** @@ -49,11 +55,22 @@ for (Agv agv : agvList) { AgvDetail agvDetail = agvDetailService.selectByAgvId(agv.getId()); this.processRunning(agv); this.processOnline(agv); } } private void processRunning(Agv agv) { List<Action> actionList = actionService.queryLatestGroup(agv.getId(), ActionStsType.ISSUED); if (!Cools.isEmpty(actionList)) { for (Action action : actionList) { } } } private void processOnline(Agv agv) { redis.setObject(RedisConstant.AGV_ONLINE_FLAG, agv.getUuid(), 1, 30); } zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/Action.java
@@ -57,6 +57,7 @@ /** * 优先级 * The large the value, the earlier it will be executed */ @ApiModelProperty(value= "优先级") private Integer priority; zy-acs-manager/src/main/java/com/zy/acs/manager/manager/mapper/ActionMapper.java
@@ -20,4 +20,7 @@ List<Long> selectTaskIdsByGroupId(@Param("groupId") String groupId); List<String> selectSortCodeByAgv(@Param("agvId") Long agvId); List<Action> selectLatestOfGroup(@Param("agvId") Long agvId, @Param("actionSts") Long actionSts); } zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/ActionService.java
@@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.zy.acs.manager.manager.entity.Action; import com.zy.acs.manager.manager.enums.ActionStsType; import java.util.List; import java.util.Map; @@ -21,4 +22,7 @@ List<Action> optimizeSort(List<Action> actionList); List<String> getPathListByAgv(String agvNo); List<Action> queryLatestGroup(Long agvId, ActionStsType actionSts); } zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/ActionServiceImpl.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.zy.acs.manager.manager.entity.Action; import com.zy.acs.manager.manager.entity.Agv; import com.zy.acs.manager.manager.enums.ActionStsType; import com.zy.acs.manager.manager.enums.ActionTypeType; import com.zy.acs.manager.manager.mapper.ActionMapper; import com.zy.acs.manager.manager.service.ActionService; @@ -111,4 +112,9 @@ return this.baseMapper.selectSortCodeByAgv(agv.getId()); } @Override public List<Action> queryLatestGroup(Long agvId, ActionStsType actionSts) { return this.baseMapper.selectLatestOfGroup(agvId, actionSts.val()); } } zy-acs-manager/src/main/resources/mapper/manager/ActionMapper.xml
@@ -96,4 +96,26 @@ ORDER BY ma.priority DESC </select> <select id="selectLatestOfGroup" resultType="com.zy.acs.manager.manager.entity.Action"> SELECT * FROM man_action WHERE 1=1 AND agv_id = #{agvId} AND action_sts = #{actionSts} AND group_id IN ( SELECT group_id FROM man_action WHERE agv_id = #{agvId} AND action_sts = #{actionSts} GROUP BY group_id HAVING MAX(io_time) = ( SELECT MAX(io_time) FROM man_action WHERE agv_id = #{agvId} AND action_sts = #{actionSts} ) ) ORDER BY priority DESC </select> </mapper>