zy-acs-flow/src/page/mission/MissionShow.jsx
@@ -27,6 +27,7 @@ import DialogCloseButton from "../components/DialogCloseButton"; import { blueGrey } from '@mui/material/colors'; import MoveToInboxIcon from '@mui/icons-material/MoveToInbox'; import { format } from 'date-fns'; const MissionShow = ({ open, id }) => { const redirect = useRedirect(); @@ -59,6 +60,7 @@ const MissionShowContent = ({ handleClose }) => { const record = useRecordContext(); const translate = useTranslate(); if (!record) return null; console.log(record); @@ -105,7 +107,7 @@ color="textSecondary" variant="caption" > Expected closing date Last sending date </Typography> <Stack direction="row" @@ -113,15 +115,8 @@ gap={1} > <Typography variant="body2"> {format(record.sendTime, 'yyyy-MM-dd HH:mm:ss')} </Typography> {new Date(record.expected_closing_date) < new Date() ? ( <Chip label="Past" color="error" size="small" /> ) : null} </Stack> </Box> @@ -130,38 +125,34 @@ color="textSecondary" variant="caption" > Budget Bus No </Typography> <Typography variant="body2"> {record.busNo} </Typography> </Box> {record.category && ( <Box display="flex" mr={5} flexDirection="column" > <Typography color="textSecondary" variant="caption" > Category </Typography> <Typography variant="body2"> {record.category} </Typography> </Box> )} <Box display="flex" mr={5} flexDirection="column"> <Typography color="textSecondary" variant="caption" > Stage {translate('table.field.segment.posType')} </Typography> <Typography variant="body2"> {translate(`page.mission.enums.posType.${record.posType}`)} </Typography> </Box> <Box display="flex" mr={5} flexDirection="column"> <Typography color="textSecondary" variant="caption" > Action Count </Typography> <Typography variant="body2"> {record.actionCount || 'unknown'} </Typography> </Box> </Box> zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MissionController.java
@@ -55,7 +55,7 @@ @GetMapping("/mission/{id}") public R get(@PathVariable("id") Long id) { Segment segment = segmentService.getById(id); return R.ok().add(missionService.generateVo(segment.getGroupId())); return R.ok().add(missionService.generateVoMoreInfo(segment.getGroupId())); } } zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/result/MissionVo.java
@@ -3,6 +3,7 @@ import lombok.Data; import java.util.ArrayList; import java.util.Date; import java.util.List; /** @@ -25,6 +26,16 @@ private String destCode; private Double progress = 50.0; private Double progress; // detail ----------------------------------------- private Date sendTime = new Date(); private String busNo; private int actionCount; } zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/MissionService.java
@@ -10,4 +10,6 @@ MissionVo generateVo(String groupNo); MissionVo generateVoMoreInfo(String groupNo); } zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/MissionServiceImpl.java
@@ -3,10 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zy.acs.framework.common.Cools; import com.zy.acs.manager.manager.controller.result.MissionVo; import com.zy.acs.manager.manager.entity.Action; import com.zy.acs.manager.manager.entity.AgvDetail; import com.zy.acs.manager.manager.entity.Code; import com.zy.acs.manager.manager.entity.Segment; import com.zy.acs.manager.manager.entity.*; import com.zy.acs.manager.manager.enums.SegmentStateType; import com.zy.acs.manager.manager.service.*; import org.springframework.beans.factory.annotation.Autowired; @@ -30,6 +27,8 @@ private CodeService codeService; @Autowired private AgvDetailService agvDetailService; @Autowired private TaskService taskService; @Override public List<MissionVo> getList(Long agvId, String groupNo) { @@ -54,6 +53,11 @@ if (Cools.isEmpty(list)) { return null; } List<Action> actionList = actionService.list(new LambdaQueryWrapper<Action>() .eq(Action::getGroupId, groupNo).orderByDesc(Action::getPriority)); if (Cools.isEmpty(actionList)) { return null; } Segment segment = list.get(0); MissionVo vo = new MissionVo(); @@ -64,16 +68,37 @@ vo.setTaskNos(list.stream().map(Segment::getTaskId$).collect(Collectors.toList())); vo.setBackpack(segment.getBackpack()); vo.setDestCode(segment.getEndNode$()); vo.setProgress(calcProgress(groupNo)); vo.setProgress(calcProgress(actionList)); return vo; } public Double calcProgress(String groupNo) { double progress = 0D; @Override public MissionVo generateVoMoreInfo(String groupNo) { MissionVo vo = generateVo(groupNo); if (null == vo) { return vo; } List<Segment> list = segmentService.list(new LambdaQueryWrapper<Segment>().eq(Segment::getGroupId, groupNo).orderByAsc(Segment::getSerial)); if (Cools.isEmpty(list)) { return null; } List<Action> actionList = actionService.list(new LambdaQueryWrapper<Action>() .eq(Action::getGroupId, groupNo). orderByDesc(Action::getPriority)); .eq(Action::getGroupId, groupNo).orderByDesc(Action::getPriority)); if (Cools.isEmpty(actionList)) { return null; } Segment segment = list.get(0); Action action = actionList.get(0); Task task = taskService.getById(segment.getTaskId()); // vo.setSendTime(action.getStartTime()); vo.setBusNo(task.getBusId$()); vo.setActionCount(actionList.size()); return vo; } public Double calcProgress(List<Action> actionList) { double progress = 0D; if (Cools.isEmpty(actionList)) { return progress; }