| | |
| | | import com.doumee.core.haikang.model.param.respose.PageSensorStatusResponse; |
| | | import com.doumee.core.haikang.service.HKService; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.dao.business.PlatformJobMapper; |
| | | import com.doumee.dao.business.PlatformLogMapper; |
| | | import com.doumee.dao.business.PlatformMapper; |
| | | import com.doumee.dao.business.model.Platform; |
| | | import com.doumee.dao.business.model.PlatformJob; |
| | | import com.doumee.dao.web.response.platformReport.CarmeraListVO; |
| | | import com.doumee.dao.web.response.platformReport.OnSitDispatchBoardVO; |
| | | import com.doumee.dao.web.response.platformReport.RegionTreeVO; |
| | | import com.doumee.core.utils.DateUtil; |
| | | import com.doumee.dao.business.*; |
| | | import com.doumee.dao.business.model.*; |
| | | import com.doumee.dao.web.response.platformReport.*; |
| | | import com.doumee.service.business.third.BoardService; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import lombok.extern.slf4j.Slf4j; |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | |
| | | @Autowired |
| | | private PlatformLogMapper platformLogMapper; |
| | | @Autowired |
| | | private PlatformWarnEventMapper platformWarnEventMapper; |
| | | @Autowired |
| | | private PlatformJobMapper platformJobMapper; |
| | | @Autowired |
| | | private PlatformWmsDetailMapper platformWmsDetailMapper; |
| | | @Autowired |
| | | private PlatformMapper platformMapper; |
| | | /** |
| | |
| | | return allList; |
| | | } |
| | | @Override |
| | | public List<PlatformGroupFinishVO> platformGroupFinish(){ |
| | | List<PlatformGroupFinishVO> data = new ArrayList<>(); |
| | | List<PlatformWmsDetail> jobList = platformWmsDetailMapper.selectJoinList(PlatformWmsDetail.class, new MPJLambdaWrapper<PlatformWmsDetail>() |
| | | .selectSum( PlatformWmsDetail::getIoQty) |
| | | .selectAs(PlatformGroup::getName, PlatformWmsDetail::getGroupName) |
| | | .leftJoin(PlatformJob.class,PlatformJob::getId,PlatformWmsDetail::getJobId) |
| | | .rightJoin(PlatformGroup.class,PlatformGroup::getId,PlatformJob::getPlatformGroupId) |
| | | .eq(PlatformWmsDetail::getIsdeleted, Constants.ZERO) |
| | | .eq(PlatformJob::getIsdeleted, Constants.ZERO) |
| | | .in(PlatformJob::getStatus, Constants.PlatformJobStatus.DONE.getKey() |
| | | , Constants.PlatformJobStatus.AUTHED_LEAVE.getKey() |
| | | , Constants.PlatformJobStatus.LEAVED.getKey()) |
| | | .apply("to_days(t1.create_data) = to_days(now())") |
| | | .groupBy(PlatformGroup::getId) |
| | | ); |
| | | if(jobList!=null){ |
| | | for(PlatformWmsDetail d : jobList){ |
| | | PlatformGroupFinishVO t = new PlatformGroupFinishVO(); |
| | | t.setFinishData(Constants.formatBigdecimal(d.getIoQty()).intValue()); |
| | | t.setPlatformGroupName(d.getGroupName()); |
| | | } |
| | | } |
| | | return data; |
| | | } |
| | | @Override |
| | | public CarWorkSituationVO carWorkSituation(int limit){ |
| | | CarWorkSituationVO carWorkSituationVO = new CarWorkSituationVO(); |
| | | List<PlatformLog> platformLogList = platformLogMapper.selectList(new QueryWrapper<PlatformLog>().lambda() |
| | | .orderByDesc(PlatformLog::getCreateDate) |
| | | .last(" limit "+limit) |
| | | ); |
| | | carWorkSituationVO.setPlatformLogList(platformLogList); |
| | | return carWorkSituationVO; |
| | | } |
| | | @Override |
| | | public List<PlatformDurationVO> platformDuration(){ |
| | | List<PlatformDurationVO> platformDurationList = new ArrayList<>(); |
| | | List<Platform> jobList = platformMapper.selectJoinList(Platform.class, new MPJLambdaWrapper<Platform>() |
| | | .selectAll( Platform.class) |
| | | .select(" ( select ROUND( ifnull(SUM(pl.PARAM3),0)/60 , 2 ) from platform_log pl where pl.remark = t.id and to_days(pl.CREATE_DATE) =to_days now())",Platform::getWorkCountTime) |
| | | .eq(Platform::getIsdeleted, Constants.ZERO) |
| | | ); |
| | | if(jobList!=null){ |
| | | //按工作时长累计倒序排序 |
| | | Collections.sort(jobList, new Comparator<Platform>() { |
| | | @Override |
| | | public int compare(Platform o1, Platform o2) { |
| | | return Constants.formatBigdecimal(o2.getWorkCountTime())-Constants.formatBigdecimal(o1.getWorkCountTime()); |
| | | } |
| | | }); |
| | | for(Platform model : jobList){ |
| | | PlatformDurationVO data = new PlatformDurationVO(); |
| | | data.setPlatformId(model.getId()); |
| | | data.setPlatformName(model.getName()); |
| | | data.setWorkTotalTime(Constants.formatBigdecimal(model.getWorkCountTime()).intValue()); |
| | | platformDurationList.add(data); |
| | | } |
| | | } |
| | | |
| | | return platformDurationList; |
| | | } |
| | | @Override |
| | | public List<PlatformWarnEvent> warningList(int limit){ |
| | | List<PlatformWarnEvent> platformLogList = platformWarnEventMapper.selectList(new QueryWrapper<PlatformWarnEvent>().lambda() |
| | | .eq(PlatformWarnEvent::getIsdeleted,Constants.ZERO) |
| | | .orderByDesc(PlatformWarnEvent::getCreateDate) |
| | | .last(" limit "+limit) |
| | | ); |
| | | return platformLogList; |
| | | } |
| | | @Override |
| | | public OnSitDispatchBoardVO getCnddCenterData(){ |
| | | OnSitDispatchBoardVO data = new OnSitDispatchBoardVO(); |
| | | //月台总数 |
| | |
| | | //-------------TODO----------【看板】爱确认需求-------------- |
| | | // * 0待确认 1待签到 2等待叫号 3入园等待 4已叫号 5作业中 6作业完成 7转移中 8异常挂起 9已授权离园 10已离园 11 已过号 12已取消 |
| | | for(PlatformJob model : jobList){ |
| | | //预约车辆 |
| | | if(Constants.equalsInteger(model.getStatus(),Constants.PlatformJobStatus.WAIT_CONFIRM.getKey()) |
| | | ||Constants.equalsInteger(model.getStatus(),Constants.PlatformJobStatus.WART_SIGN_IN.getKey())){ |
| | | //待确认 (预约车) |
| | | if( Constants.equalsInteger(model.getStatus(),Constants.PlatformJobStatus.WAIT_CONFIRM.getKey())){ |
| | | data.setReservationCar(data.getReservationCar()+Constants.formatIntegerNum(model.getCountum())); |
| | | } |
| | | // 作业车辆 |
| | | if(Constants.equalsInteger(model.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())){ |
| | | data.setWorkingCar(data.getWorkingCar()+Constants.formatIntegerNum(model.getCountum())); |
| | | //待签到(预约车) |
| | | if( Constants.equalsInteger(model.getStatus(),Constants.PlatformJobStatus.WART_SIGN_IN.getKey())){ |
| | | data.setReservationCar(data.getReservationCar()+Constants.formatIntegerNum(model.getCountum())); |
| | | } |
| | | //排队车辆 |
| | | if(Constants.equalsInteger(model.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey()) |
| | | ||Constants.equalsInteger(model.getStatus(),Constants.PlatformJobStatus.IN_WAIT.getKey())){ |
| | | //等待叫号(预约车、签到数、排队车) |
| | | if(Constants.equalsInteger(model.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey())){ |
| | | data.setSignedNum(data.getSignedNum()+Constants.formatIntegerNum(model.getCountum())); |
| | | data.setReservationCar(data.getReservationCar()+Constants.formatIntegerNum(model.getCountum())); |
| | | data.setLineUpCar(data.getLineUpCar()+Constants.formatIntegerNum(model.getCountum())); |
| | | } |
| | | //入园等待(预约车、签到数) |
| | | if( Constants.equalsInteger(model.getStatus(),Constants.PlatformJobStatus.IN_WAIT.getKey())){ |
| | | data.setSignedNum(data.getSignedNum()+Constants.formatIntegerNum(model.getCountum())); |
| | | data.setReservationCar(data.getReservationCar()+Constants.formatIntegerNum(model.getCountum())); |
| | | } |
| | | //已叫号(预约车、签到数、已叫号) |
| | | if(Constants.equalsInteger(model.getStatus(),Constants.PlatformJobStatus.CALLED.getKey()) ){ |
| | | data.setSignedNum(data.getSignedNum()+Constants.formatIntegerNum(model.getCountum())); |
| | | data.setReservationCar(data.getReservationCar()+Constants.formatIntegerNum(model.getCountum())); |
| | | data.setCalledNum(data.getCalledNum()+Constants.formatIntegerNum(model.getCountum())); |
| | | } |
| | | // 作业车辆(预约车、签到数、已叫号、作业车) |
| | | if(Constants.equalsInteger(model.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())){ |
| | | data.setSignedNum(data.getSignedNum()+Constants.formatIntegerNum(model.getCountum())); |
| | | data.setReservationCar(data.getReservationCar()+Constants.formatIntegerNum(model.getCountum())); |
| | | data.setCalledNum(data.getCalledNum()+Constants.formatIntegerNum(model.getCountum())); |
| | | data.setWorkedNum(data.getWorkedNum()+Constants.formatIntegerNum(model.getCountum())); |
| | | } |
| | | // 作业完成(预约车、签到数、已叫号、作业车、已完成) |
| | | if(Constants.equalsInteger(model.getStatus(),Constants.PlatformJobStatus.DONE.getKey())){ |
| | | data.setSignedNum(data.getSignedNum()+Constants.formatIntegerNum(model.getCountum())); |
| | | data.setReservationCar(data.getReservationCar()+Constants.formatIntegerNum(model.getCountum())); |
| | | data.setCalledNum(data.getCalledNum()+Constants.formatIntegerNum(model.getCountum())); |
| | | data.setWorkedNum(data.getWorkedNum()+Constants.formatIntegerNum(model.getCountum())); |
| | | data.setDoneNum(data.getDoneNum()+Constants.formatIntegerNum(model.getCountum())); |
| | | } |
| | | // 转移中(预约车、签到数、排队车) |
| | | if(Constants.equalsInteger(model.getStatus(),Constants.PlatformJobStatus.TRANSFERING.getKey())){ |
| | | data.setSignedNum(data.getSignedNum()+Constants.formatIntegerNum(model.getCountum())); |
| | | data.setReservationCar(data.getReservationCar()+Constants.formatIntegerNum(model.getCountum())); |
| | | data.setLineUpCar(data.getLineUpCar()+Constants.formatIntegerNum(model.getCountum())); |
| | | } |
| | | // 已授权离园(预约车、签到数、已叫号、作业车、已完成) |
| | | if(Constants.equalsInteger(model.getStatus(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())){ |
| | | data.setSignedNum(data.getSignedNum()+Constants.formatIntegerNum(model.getCountum())); |
| | | data.setReservationCar(data.getReservationCar()+Constants.formatIntegerNum(model.getCountum())); |
| | | data.setCalledNum(data.getCalledNum()+Constants.formatIntegerNum(model.getCountum())); |
| | | data.setWorkedNum(data.getWorkedNum()+Constants.formatIntegerNum(model.getCountum())); |
| | | data.setDoneNum(data.getDoneNum()+Constants.formatIntegerNum(model.getCountum())); |
| | | } |
| | | // 已离园 |
| | | if(Constants.equalsInteger(model.getStatus(),Constants.PlatformJobStatus.LEAVED.getKey())){ |
| | | data.setWorkingCar(data.getWorkingCar()+Constants.formatIntegerNum(model.getCountum())); |
| | | } |
| | | // 已过号(预约车、签到数、排队车) |
| | | if(Constants.equalsInteger(model.getStatus(),Constants.PlatformJobStatus.OVER_NUMBER.getKey())){ |
| | | data.setSignedNum(data.getSignedNum()+Constants.formatIntegerNum(model.getCountum())); |
| | | data.setReservationCar(data.getReservationCar()+Constants.formatIntegerNum(model.getCountum())); |
| | | data.setLineUpCar(data.getLineUpCar()+Constants.formatIntegerNum(model.getCountum())); |
| | | } |
| | | // 已取消(预约车) |
| | | if(Constants.equalsInteger(model.getStatus(),Constants.PlatformJobStatus.CANCEL.getKey())){ |
| | | data.setReservationCar(data.getReservationCar()+Constants.formatIntegerNum(model.getCountum())); |
| | | } |
| | | |
| | | } |
| | | } |
| | | |