server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformGroupCloudController.java
@@ -102,5 +102,4 @@ } } server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/ChangNeiDiaoduController.java
ÎļþÃû´Ó server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/OnSitDispatchController.java ÐÞ¸Ä @@ -7,7 +7,9 @@ import com.doumee.core.utils.Constants; import com.doumee.dao.business.PlatformLogMapper; import com.doumee.dao.business.model.PlatformLog; import com.doumee.dao.business.model.PlatformWarnEvent; import com.doumee.dao.web.response.platformReport.*; import com.doumee.service.business.PlatformLogService; import com.doumee.service.business.third.BoardService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -21,6 +23,7 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Random; @@ -36,28 +39,19 @@ @RestController @Slf4j @RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/board/api/onSitDispatch") public class OnSitDispatchController extends BaseController { public class ChangNeiDiaoduController extends BaseController { @Autowired private PlatformLogMapper platformLogMapper; @Autowired private BoardService boardService; @LoginNoRequired @ApiOperation("ä¸å¿æ°æ®") @ApiOperation("ä¸å¿æ°æ®-仿¥è½¦è¾ä½ä¸æ åµç»è®¡æ°æ®") @GetMapping("/centerData") public ApiResponse<OnSitDispatchBoardVO> centerData() { OnSitDispatchBoardVO data = boardService.getCnddCenterData(); if(data == null){ data = new OnSitDispatchBoardVO(); data.setPlatformTotal(100); data.setFreePlatform(8); data.setReservationCar(97); data.setWorkingCar(56); data.setLineUpCar(35); } return ApiResponse.success(data); } @@ -66,39 +60,47 @@ @ApiOperation("仿¥æå°å®æè®¢åç»è®¡") @GetMapping("/platformGroupFinish") public ApiResponse<List<PlatformGroupFinishVO>> platformGroupFinish() { List<PlatformGroupFinishVO> platformGroupFinishVOList = new ArrayList<>(); Random random = new Random(); for (int i = 0; i < 3; i++) { PlatformGroupFinishVO platformGroupFinishVO = new PlatformGroupFinishVO(); platformGroupFinishVO.setPlatformGroupName(i+"_æå°ç»åç§°"); platformGroupFinishVO.setPlatformId(i); platformGroupFinishVO.setFinishData(300+random.nextInt(100)); platformGroupFinishVOList.add(platformGroupFinishVO); } List<PlatformGroupFinishVO> platformGroupFinishVOList = boardService.platformGroupFinish(); return ApiResponse.success(platformGroupFinishVOList); } @LoginNoRequired @ApiOperation("仿¥è½¦è¾ä½ä¸æ åµ-è¿Næ¡æ¥å¿å表") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "size", value = "æ¥è¯¢æè¿è®°å½æ°çè®°å½æ¡æ°ï¼é»è®¤7æ¡", required = false) }) @GetMapping("/carWorkSituation") public ApiResponse<CarWorkSituationVO> carWorkSituation(@RequestParam Integer size) { int limit = Constants.formatIntegerNum(size)>0?size:7; CarWorkSituationVO carWorkSituationVO = boardService.carWorkSituation(limit); return ApiResponse.success(carWorkSituationVO); } @LoginNoRequired @ApiOperation("宿¶åè¦-è¿Næ¡å表") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "size", value = "æ¥è¯¢æè¿è®°å½æ°çè®°å½æ¡æ°ï¼é»è®¤7æ¡", required = false) }) @GetMapping("/warningList") public ApiResponse<List<PlatformWarnEvent>> warningList(@RequestParam Integer size) { int limit = Constants.formatIntegerNum(size)>0?size:7; List<PlatformWarnEvent> data = boardService.warningList(limit); return ApiResponse.success(data); } @LoginNoRequired @ApiOperation("仿¥æå°å·¥ä½æ¶é¿è¶å¿") @GetMapping("/platformDuration") public ApiResponse<List<PlatformDurationVO>> platformDuration() { List<PlatformDurationVO> platformDurationList = new ArrayList<>(); Random random = new Random(); for (int i = 0; i < 3; i++) { PlatformDurationVO platformDurationVO = new PlatformDurationVO(); platformDurationVO.setPlatformName(i+"_æå°åç§°"); platformDurationVO.setPlatformId(i); platformDurationVO.setWorkTotalTime(100+random.nextInt(100)); platformDurationVO.setOpenTotalTime(200+random.nextInt(100)); platformDurationList.add(platformDurationVO); } List<PlatformDurationVO> platformDurationList = boardService.platformDuration(); return ApiResponse.success(platformDurationList); } @LoginNoRequired @ApiOperation("仿¥æå°å·¥ä½æ¶é¿è¶å¿") @ApiOperation("宿¶ä½ä¸æç") @GetMapping("/workEfficiency") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "type", value = "æ¥è¯¢ç±»åï¼0=å ¥åºï¼1=åºåº", required = true), @@ -120,27 +122,6 @@ return ApiResponse.success(workEfficiencyVOList); } @LoginNoRequired @ApiOperation("仿¥è½¦è¾ä½ä¸æ åµ") @GetMapping("/carWorkSituation") public ApiResponse<CarWorkSituationVO> carWorkSituation() { Random random = new Random(); CarWorkSituationVO carWorkSituationVO = new CarWorkSituationVO(); carWorkSituationVO.setCallNum(200+random.nextInt(100)); carWorkSituationVO.setFinishNum(100+random.nextInt(100)); carWorkSituationVO.setCallNum(100+random.nextInt(100)); carWorkSituationVO.setWorkingNum(100+random.nextInt(100)); carWorkSituationVO.setFinishNum(100+random.nextInt(100)); carWorkSituationVO.setInNum(100+random.nextInt(100)); List<PlatformLog> platformLogList = platformLogMapper.selectList(new QueryWrapper<PlatformLog>().lambda() .orderByDesc(PlatformLog::getCreateDate) .last(" limit 7 ") ); carWorkSituationVO.setPlatformLogList(platformLogList); return ApiResponse.success(carWorkSituationVO); } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformWmsDetailMapper.java
@@ -2,11 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.doumee.dao.business.model.PlatformWmsDetail; import com.github.yulichang.base.MPJBaseMapper; /** * @author æ±è¹è¹ * @date 2024/06/28 10:03 */ public interface PlatformWmsDetailMapper extends BaseMapper<PlatformWmsDetail> { public interface PlatformWmsDetailMapper extends MPJBaseMapper<PlatformWmsDetail> { } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWarnEvent.java
@@ -69,8 +69,8 @@ @ExcelColumn(name="ä»»å¡ä¸»é®") private Integer platformJobId; @ApiModelProperty(value = "é¢è¦ç±»å 0 = ä½ä¸è¶ æ¶ ï¼1=åé é误", example = "1") @ExcelColumn(name="é¢è¦ç±»å 0 = ä½ä¸è¶ æ¶ ï¼1=åé é误") @ApiModelProperty(value = "é¢è¦ç±»å 0åé é误 1-åé é误 2-ä½ä¸è¶ æ¶", example = "1") @ExcelColumn(name="é¢è¦ç±»å 0åé é误 1-åé é误 2-ä½ä¸è¶ æ¶") private Integer eventType; @ApiModelProperty(value = "æå°åç§°") server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsDetail.java
@@ -1,5 +1,6 @@ package com.doumee.dao.business.model; import com.baomidou.mybatisplus.annotation.TableField; import com.doumee.core.annotation.excel.ExcelColumn; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -87,4 +88,8 @@ @ApiModelProperty(value = "ä¸éæ¶é´") @ExcelColumn(name="ä¸éæ¶é´") private String lockDate; @ApiModelProperty(value = "æåç»åç§°" ,hidden = true) @TableField(exist = false) private String groupName ; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/OnSitDispatchBoardVO.java
@@ -28,6 +28,14 @@ @ApiModelProperty(value = "æé车è¾") private int lineUpCar; @ApiModelProperty(value = "è¿å ¥è½¦è¾ä½ä¸æ åµ-ç¾å°æ°") private int signedNum; @ApiModelProperty(value = "è¿å ¥è½¦è¾ä½ä¸æ åµ-å·²å«å·") private int calledNum; @ApiModelProperty(value = "è¿å ¥è½¦è¾ä½ä¸æ åµ-å·²ä½ä¸") private int workedNum; @ApiModelProperty(value = "è¿å ¥è½¦è¾ä½ä¸æ åµ-已宿") private int doneNum; @ApiModelProperty(value = "仿¥æå°å®æè®¢åç»è®¡" , hidden = true) private List<PlatformGroupFinishVO> platformGroupFinishList; @@ -46,9 +54,6 @@ @ApiModelProperty(value = "宿¶æå°ä½ä¸ä¿¡æ¯" , hidden = true) private List<PlatformWorkDataVO> platformWorkDataList; //TODO 宿¶åè¦ä¿¡æ¯ } server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/PlatformDurationVO.java
@@ -25,7 +25,4 @@ @ApiModelProperty(value = "æå°åç§°") private String platformName; } 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())); } } } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java
@@ -10,9 +10,8 @@ import com.doumee.core.tms.model.response.TmsLockStatusQueryResponse; import com.doumee.core.tms.model.response.TmsOrderInfoResponse; import com.doumee.core.tms.model.response.TmsOrderListResponse; 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.dao.business.model.PlatformWarnEvent; import com.doumee.dao.web.response.platformReport.*; import java.util.List; @@ -37,4 +36,12 @@ List<PageSensorStatusResponse> sensorStatusList(); OnSitDispatchBoardVO getCnddCenterData(); List<PlatformGroupFinishVO> platformGroupFinish(); CarWorkSituationVO carWorkSituation(int limit); List<PlatformWarnEvent> warningList(int limit); List<PlatformDurationVO> platformDuration(); }