| | |
| | | } |
| | | |
| | | const filters = [ |
| | | <SearchInput source="q" alwaysOn />, |
| | | // <SearchInput source="q" alwaysOn />, |
| | | <ReferenceInput source="agvId" label="table.field.segment.agvId" reference="agv" alwaysOn> |
| | | <AutocompleteInput label="table.field.segment.agvId" optionText="uuid" filterToQuery={(val) => ({ uuid: val })} /> |
| | | </ReferenceInput>, |
| | | <TextInput source="groupNo" label="table.field.segment.groupId" />, |
| | | ]; |
| | | |
| | | const MissionLayout = () => { |
| | |
| | | <ListToolbar filters={filters} actions={( |
| | | <TopToolbar> |
| | | <FilterButton /> |
| | | <SelectColumnsButton preferenceKey='locSts' /> |
| | | </TopToolbar> |
| | | )} /> |
| | | <Card> |
| | |
| | | @PreAuthorize("hasAuthority('manager:mission:list')") |
| | | @PostMapping("/mission/page") |
| | | public R page(@RequestBody Map<String, Object> map) { |
| | | return R.ok().add(Cools.add("total", Integer.MAX_VALUE).add("records", missionService.getList())); |
| | | Long agvId = null; |
| | | if (null != map.get("agvId")) { |
| | | agvId = Long.parseLong(String.valueOf(map.get("agvId"))); |
| | | } |
| | | String groupNo = null; |
| | | if (!Cools.isEmpty(map.get("groupNo"))) { |
| | | groupNo = String.valueOf(map.get("groupNo")); |
| | | } |
| | | return R.ok().add(Cools.add("total", Integer.MAX_VALUE).add("records", missionService.getList(agvId, groupNo))); |
| | | } |
| | | |
| | | @PreAuthorize("hasAuthority('manager:mission:list')") |
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.zy.acs.manager.manager.entity.Segment; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | |
| | | public interface SegmentMapper extends BaseMapper<Segment> { |
| | | |
| | | List<String> getGroupNo(String state); |
| | | List<String> getGroupNo(@Param("state")String state, @Param("agvId")Long agvId, @Param("groupNo")String groupNo); |
| | | |
| | | } |
| | |
| | | |
| | | public interface MissionService { |
| | | |
| | | List<MissionVo> getList(); |
| | | List<MissionVo> getList(Long agvId, String groupNo); |
| | | |
| | | } |
| | |
| | | |
| | | List<Segment> getByAgvAndState(Long agvId, String state); |
| | | |
| | | List<String> getGroupNo(SegmentStateType state); |
| | | List<String> getGroupNo(SegmentStateType state, Long agvId, String groupNo); |
| | | |
| | | } |
| | |
| | | private SegmentService segmentService; |
| | | |
| | | @Override |
| | | public List<MissionVo> getList() { |
| | | public List<MissionVo> getList(Long agvId, String groupNo) { |
| | | List<MissionVo> result = new ArrayList<>(); |
| | | List<String> runningGroupNos = segmentService.getGroupNo(SegmentStateType.RUNNING); |
| | | for (String groupNo : runningGroupNos) { |
| | | MissionVo vo = generate(groupNo); |
| | | List<String> runningGroupNos = segmentService.getGroupNo(SegmentStateType.RUNNING, agvId, groupNo); |
| | | for (String runningGroupNo : runningGroupNos) { |
| | | MissionVo vo = generate(runningGroupNo); |
| | | if (null != vo) { |
| | | result.add(vo); |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<String> getGroupNo(SegmentStateType state) { |
| | | return this.baseMapper.getGroupNo(state.toString()); |
| | | public List<String> getGroupNo(SegmentStateType state, Long agvId, String groupNo) { |
| | | return this.baseMapper.getGroupNo(state.toString(), agvId, groupNo); |
| | | } |
| | | |
| | | } |
| | |
| | | group_id |
| | | FROM man_segment |
| | | WHERE state = #{state} |
| | | <if test="agvId != null"> |
| | | AND agv_id = #{agvId} |
| | | </if> |
| | | <if test="groupNo != null"> |
| | | AND group_id LIKE CONCAT('%', #{groupNo}, '%') |
| | | </if> |
| | | GROUP BY group_id |
| | | ORDER BY create_time DESC |
| | | </select> |