From d7fc8234b4995014acbd52bf33b4bda3c566807a Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期三, 06 十一月 2024 15:56:37 +0800 Subject: [PATCH] 最新版本541200007 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java | 161 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 143 insertions(+), 18 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java index b88eca5..c47964b 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java @@ -15,14 +15,10 @@ 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; @@ -30,8 +26,7 @@ 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; /** @@ -45,7 +40,11 @@ @Autowired private PlatformLogMapper platformLogMapper; @Autowired + private PlatformWarnEventMapper platformWarnEventMapper; + @Autowired private PlatformJobMapper platformJobMapper; + @Autowired + private PlatformWmsDetailMapper platformWmsDetailMapper; @Autowired private PlatformMapper platformMapper; /** @@ -242,6 +241,77 @@ 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(); //鏈堝彴鎬绘暟 @@ -268,20 +338,75 @@ //-------------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.WART_SIGN_IN.getKey())){ + data.setReservationCar(data.getReservationCar()+Constants.formatIntegerNum(model.getCountum())); + } + //绛夊緟鍙彿锛堥绾﹁溅銆佺鍒版暟銆佹帓闃熻溅锛� + 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.WAIT_CALL.getKey()) - ||Constants.equalsInteger(model.getStatus(),Constants.PlatformJobStatus.IN_WAIT.getKey())){ - data.setLineUpCar(data.getLineUpCar()+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())); + } + } } -- Gitblit v1.9.3