server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/CabinetBoardController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,98 @@ package com.doumee.cloud.board; import com.doumee.api.BaseController; import com.doumee.config.annotation.LoginNoRequired; import com.doumee.core.utils.Constants; import com.doumee.dao.admin.response.InterestedListVO; import com.doumee.dao.business.dto.CabinetBoardUseRecordDTO; import com.doumee.dao.business.model.Warning; import com.doumee.dao.business.model.WarningEvent; import com.doumee.dao.business.vo.CabinetBoardDataVO; import com.doumee.dao.business.vo.CabinetBoardUseRecordVO; import com.doumee.dao.business.vo.CabinetBoardWaningRataDataVO; import com.doumee.dao.web.response.platformReport.OnSitDispatchBoardVO; import com.doumee.service.business.*; import com.doumee.service.business.third.model.ApiResponse; import com.doumee.service.business.third.model.PageData; import com.doumee.service.business.third.model.PageWrap; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; /** * Created by IntelliJ IDEA. * * @Author : Rk * @create 2025/11/17 9:06 */ @Api(tags = "ãé¥åæãçæ¿å¤§å±æ¥å£") @RestController @Slf4j @RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/board/api/cabinet") public class CabinetBoardController extends BaseController { @Autowired private JkCabinetService jkCabinetService; @Autowired private JkCabinetGridService jkCabinetGridService; @Autowired private JkCabinetLogService jkCabinetLogService; @Autowired private CarUseBookService carUseBookService; @Autowired private WarningService warningService; @LoginNoRequired @ApiOperation("ä¸å¿æ°æ®-é¥åæåºæ¬æ°æ®") @GetMapping("/getCabinetGridData") public ApiResponse<CabinetBoardDataVO> getCabinetGridData() { CabinetBoardDataVO data = jkCabinetGridService.getCabinetGridData(); return ApiResponse.success(data); } @LoginNoRequired @ApiOperation("é¥åé¢åå½è¿è®°å½") @PostMapping("/getKeyUseRecord") public ApiResponse<List<CabinetBoardUseRecordVO>> getKeyUseRecord(@RequestBody CabinetBoardUseRecordDTO dto) { return ApiResponse.success(jkCabinetLogService.getKeyUseRecord(dto)); } @LoginNoRequired @ApiOperation("派车ç»è®¡") @GetMapping("/getCarUseStatistics") public ApiResponse<List<InterestedListVO>> getCarUseStatistics(@RequestParam Integer type) { return ApiResponse.success(carUseBookService.getCarUseStatistics(type)); } @LoginNoRequired @ApiOperation("é¥åé¢åå½è¿è®°å½ç»è®¡") @GetMapping("/getKeyUseStatistics") public ApiResponse<List<InterestedListVO>> getKeyUseStatistics(@RequestParam Integer type) { return ApiResponse.success(jkCabinetLogService.getKeyUseStatistics(type)); } @LoginNoRequired @ApiOperation("åè¦è®°å½ - æç»") @PostMapping("/getCabinetBoardWarningPage") public ApiResponse<PageData<WarningEvent>> getCabinetBoardWarningPage (@RequestBody PageWrap<WarningEvent> pageWrap) { return ApiResponse.success(warningService.getCabinetBoardWarningPage(pageWrap)); } @LoginNoRequired @ApiOperation("åè¦è®°å½ - åå¸") @GetMapping("/getWarningRataData") public ApiResponse<CabinetBoardWaningRataDataVO> getWarningRataData(@RequestParam Integer type) { return ApiResponse.success(warningService.getCabinetBoardWarningRataData(type)); } } server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/InterestedListVO.java
@@ -23,4 +23,7 @@ @ApiModelProperty(value = "åç§°") private String name; @ApiModelProperty(value = "æ°é2") private Integer nextNum; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/dto/CabinetBoardUseRecordDTO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,25 @@ package com.doumee.dao.business.dto; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; /** * Created by IntelliJ IDEA. * * @Author : Rk * @create 2025/10/11 16:01 */ @Data public class CabinetBoardUseRecordDTO { @ApiModelProperty(value = "ç±»åï¼0=æªå½è¿ï¼1=å·²å½è¿") private Integer status; @ApiModelProperty(value = "车çå·") private String carCode; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/WarningEvent.java
@@ -126,8 +126,14 @@ @ExcelColumn(name="äºä»¶ç级",valueMapping = "0=ä½;1=ä¸;2=é«;",width=10,index = 4) @TableField(exist = false) private Integer warningLevel; @ApiModelProperty(value = "äºä»¶ç¼ç ") @TableField(exist = false) private String warningCode; @ApiModelProperty(value = "å建人åç§°") @TableField(exist = false) private String createUserName; @ApiModelProperty(value = "æ¥è¯¢æ¶é´å¼å§ ") @TableField(exist = false) server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/CabinetBoardDataVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,33 @@ package com.doumee.dao.business.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; /** * Created by IntelliJ IDEA. * * @Author : Rk * @create 2024/5/23 14:56 */ @Data public class CabinetBoardDataVO { @ApiModelProperty(value = "ææ ¼æ»æ°") private Integer gridNum; @ApiModelProperty(value = "å¨ä½é¥åæ°") private Integer onlineKeyNum; @ApiModelProperty(value = "ååºæ°é") private Integer outKeyNum; @ApiModelProperty(value = "ç»´ä¿®ä¿å »é¥åæ°") private Integer serviceKeyNum; @ApiModelProperty(value = "æªç»å®æä½æ°é") private Integer unBindGridNum; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/CabinetBoardUseRecordVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,39 @@ package com.doumee.dao.business.vo; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; /** * é¥åæå¼å ³é¨è®°å½ * @author æ±è¹è¹ * @date 2025/09/28 09:01 */ @Data @ApiModel("é¥åæé¥åé¢åè®°å½") public class CabinetBoardUseRecordVO { @ApiModelProperty(value = "é¢åæ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createDate; @ApiModelProperty(value = "å½è¿æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date returnDate; @ApiModelProperty(value = "ç¶æï¼0=æªå½è¿ï¼1=å·²å½è¿ï¼") private Integer status; @ApiModelProperty(value = "车çå·") private String carCode; @ApiModelProperty(value = "æä½äººåç§°", example = "1") private String memberName; @ApiModelProperty(value = "夿³¨", example = "1") private String remark; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/CabinetBoardWaningDataVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,31 @@ package com.doumee.dao.business.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * Created by IntelliJ IDEA. * * @Author : Rk * @create 2024/5/23 14:56 */ @Data public class CabinetBoardWaningDataVO { @ApiModelProperty(value = "é ç²¾æ£æµåè¦æ°é") private Integer gridNum; @ApiModelProperty(value = "æé¨æªå ³éåè¦æ°é") private Integer onlineKeyNum; @ApiModelProperty(value = "è¶ æ¶æªå½è¿åè¦") private Integer outKeyNum; @ApiModelProperty(value = "ç»´ä¿®ä¿å »é¥åæ°") private Integer serviceKeyNum; @ApiModelProperty(value = "æªç»å®æä½æ°é") private Integer unBindGridNum; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/CabinetBoardWaningRataDataVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,26 @@ package com.doumee.dao.business.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * Created by IntelliJ IDEA. * * @Author : Rk * @create 2024/5/23 14:56 */ @Data public class CabinetBoardWaningRataDataVO { @ApiModelProperty(value = "é ç²¾æ£æµæ°é") private Integer alcoholNum; @ApiModelProperty(value = "æé¨æªå ³éåè¦æ°é") private Integer unCloseNum; @ApiModelProperty(value = "è¶ æ¶æªå½è¿åè¦") private Integer timeOutNum; } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CarUseBookService.java
@@ -1,5 +1,6 @@ package com.doumee.service.business; import com.doumee.dao.admin.response.InterestedListVO; import com.doumee.service.business.third.model.LoginUserInfo; import com.doumee.service.business.third.model.PageData; import com.doumee.service.business.third.model.PageWrap; @@ -107,4 +108,6 @@ void revoke(Integer id, String info, LoginUserInfo loginUserInfo); void jdyPushCarUseBook(String dataInfo); List<InterestedListVO> getCarUseStatistics(Integer type); } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/JkCabinetGridService.java
@@ -2,6 +2,7 @@ import com.doumee.dao.business.dto.*; import com.doumee.dao.business.model.JkCabinetGrid; import com.doumee.dao.business.vo.CabinetBoardDataVO; import com.doumee.service.business.third.model.LoginUserInfo; import com.doumee.service.business.third.model.PageData; import com.doumee.service.business.third.model.PageWrap; @@ -147,7 +148,7 @@ void alcoholTestAlarm(AlcoholTestAlarmDTO dto); CabinetBoardDataVO getCabinetGridData(); } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/JkCabinetLogService.java
@@ -1,6 +1,9 @@ package com.doumee.service.business; import com.doumee.dao.admin.response.InterestedListVO; import com.doumee.dao.business.dto.CabinetBoardUseRecordDTO; import com.doumee.dao.business.dto.TelecomCabinetLogDTO; import com.doumee.dao.business.vo.CabinetBoardUseRecordVO; import com.doumee.dao.business.vo.TelecomJkCabinetLogVO; import com.doumee.service.business.impl.JkCabinetGridServiceImpl; import com.doumee.service.business.third.model.PageData; @@ -108,4 +111,7 @@ void timeOutUnBackAlarm(JkCabinetGridServiceImpl impl); List<CabinetBoardUseRecordVO> getKeyUseRecord(CabinetBoardUseRecordDTO dto); List<InterestedListVO> getKeyUseStatistics(Integer type); } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/WarningService.java
@@ -1,5 +1,7 @@ package com.doumee.service.business; import com.doumee.dao.business.model.WarningEvent; import com.doumee.dao.business.vo.CabinetBoardWaningRataDataVO; import com.doumee.service.business.third.model.LoginUserInfo; import com.doumee.service.business.third.model.PageData; import com.doumee.service.business.third.model.PageWrap; @@ -99,4 +101,8 @@ void updateStatus(Warning param); void getWeatherInfo(); PageData<WarningEvent> getCabinetBoardWarningPage(PageWrap<WarningEvent> pageWrap); CabinetBoardWaningRataDataVO getCabinetBoardWarningRataData(Integer type); } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
@@ -5,6 +5,7 @@ import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.dao.admin.response.InterestedListVO; import com.doumee.dao.business.dao.UserActionMapper; import com.doumee.service.business.third.model.LoginUserInfo; import com.doumee.service.business.third.model.PageData; @@ -751,6 +752,36 @@ } carUseBookMapper.insertOrUpdate(carUseBook); } @Override public List<InterestedListVO> getCarUseStatistics(Integer type){ List<String> weekDays = DateUtil.getBeforDays(new Date(),Objects.isNull(type)||Constants.equalsInteger(type,Constants.ZERO)?7:15); MPJLambdaWrapper<CarUseBook> wrapper = new MPJLambdaWrapper<CarUseBook>() .selectAll(CarUseBook.class) .eq(CarUseBook::getIsdeleted, Constants.ZERO) .eq(CarUseBook::getStatus,Constants.TWO) .apply(" CREATE_DATE > CURDATE() - INTERVAL "+(Objects.isNull(type)||Constants.equalsInteger(type,Constants.ZERO)?7:15)+" DAY ") .orderByDesc(CarUseBook::getCreateDate); List<CarUseBook> carUseBookList = carUseBookMapper.selectJoinList(CarUseBook.class,wrapper); List<InterestedListVO> list = new ArrayList<>(); for (String days:weekDays) { InterestedListVO vo = new InterestedListVO(); vo.setName(days); vo.setNum(Constants.ZERO); vo.setNextNum(Constants.ZERO); if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(carUseBookList)) { vo.setNum( carUseBookList.stream().filter(i->DateUtil.dateToString(i.getCreateDate(),"yyyy-MM-dd").equals(days)) .collect(Collectors.toList()).size() ); } } return list; } } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java
@@ -1,5 +1,6 @@ package com.doumee.service.business.impl; import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSONObject; import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.constants.ResponseStatus; @@ -14,6 +15,9 @@ import com.doumee.dao.business.dao.MemberMapper; import com.doumee.dao.business.dto.*; import com.doumee.dao.business.model.*; import com.doumee.dao.business.vo.CabinetBoardDataVO; import com.doumee.dao.business.vo.CabinetDetailVO; import com.doumee.dao.business.vo.CabinetGridInfoVO; import com.doumee.dao.system.SystemUserMapper; import com.doumee.dao.system.model.SystemUser; import com.doumee.service.business.third.model.LoginUserInfo; @@ -738,6 +742,16 @@ public void timeOutUnCloseAlarm(TimeOutCloseGridDTO dto){ if(Objects.nonNull(dto) && Objects.nonNull(dto.getGridId())){ SystemUser systemUser = null; if(Objects.nonNull(dto.getMemberId())){ systemUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda() .eq(Objects.nonNull(dto.getMemberId()),SystemUser::getMemberId,dto.getMemberId()) .eq(SystemUser::getDeleted,Constants.ZERO) .last(" limit 1 ") ); } JkCabinetGrid jkCabinetGrid = jkCabinetGridMapper.selectJoinOne(JkCabinetGrid.class, new MPJLambdaWrapper<JkCabinetGrid>().selectAll(JkCabinetGrid.class) .selectAs(JkCabinet::getName,JkCabinetGrid::getCabinetName) @@ -746,6 +760,7 @@ .eq(JkCabinetGrid::getId,dto.getGridId()) .last(" limit 1 ") ); if(Objects.nonNull(jkCabinetGrid)){ log.error("ææ ¼å¼é¨è¶ æ¶æªå ³éåè¦ä¿¡æ¯ï¼{}"+JSONObject.toJSONString(jkCabinetGrid)); //è§åç±»å @@ -779,6 +794,7 @@ //å卿¥è¦å¼å¸¸è®°å½ WarningEvent warningEvent = new WarningEvent(); warningEvent.setCreateDate(new Date()); warningEvent.setCreator(Objects.nonNull(systemUser)?systemUser.getId():null); warningEvent.setWarningId(warning.getId()); warningEvent.setTitle(warningConfig.getInfo()); warningEvent.setContent(content ); @@ -988,6 +1004,7 @@ //å卿¥è¦å¼å¸¸è®°å½ WarningEvent warningEvent = new WarningEvent(); warningEvent.setCreateDate(new Date()); warningEvent.setCreator(Objects.nonNull(systemUser)?systemUser.getId():null); warningEvent.setWarningId(warning.getId()); warningEvent.setTitle(warningConfig.getInfo()); warningEvent.setContent(content ); @@ -1038,7 +1055,46 @@ } @Override public CabinetBoardDataVO getCabinetGridData(){ CabinetBoardDataVO cabinetBoardDataVO = new CabinetBoardDataVO(); //ææææ ¼ä¿¡æ¯ List<JkCabinetGrid> jkCabinetGridList = jkCabinetGridMapper.selectJoinList(JkCabinetGrid.class, new MPJLambdaWrapper<JkCabinetGrid>() .selectAll(JkCabinetGrid.class) .selectAs(JkKeys::getCarCode,JkCabinetGrid::getCarCode) .selectAs(JkKeys::getRfidLable,JkCabinetGrid::getKeyCode) .selectAs(JkKeys::getStatus,JkCabinetGrid::getKeyStatus) .leftJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId) .eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) .orderByAsc(JkCabinetGrid::getCode) ); List<CabinetGridInfoVO> cabinetGridInfoVOList = new ArrayList<>(); if(CollectionUtils.isNotEmpty(jkCabinetGridList)){ cabinetBoardDataVO.setGridNum(jkCabinetGridList.size()); for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) { CabinetGridInfoVO cabinetGridInfoVO = new CabinetGridInfoVO(); BeanUtil.copyProperties(jkCabinetGrid,cabinetGridInfoVO); cabinetGridInfoVO.setBindStatus(Objects.isNull(jkCabinetGrid.getKeyId())?Constants.ZERO:Constants.ONE); cabinetGridInfoVO.setKeyStatus(Objects.isNull(cabinetGridInfoVO.getKeyStatus())?Constants.ZERO:cabinetGridInfoVO.getKeyStatus()); cabinetGridInfoVOList.add(cabinetGridInfoVO); } cabinetBoardDataVO.setGridNum(jkCabinetGridList.size()); cabinetBoardDataVO.setOnlineKeyNum( //å¨ä½æ°é cabinetGridInfoVOList.stream().filter(i->Constants.equalsInteger(i.getKeyStatus(),Constants.ONE)).collect(Collectors.toList()).size() ); cabinetBoardDataVO.setOutKeyNum( //ååºæ°é cabinetGridInfoVOList.stream().filter(i->Constants.equalsInteger(i.getKeyStatus(),Constants.TWO)).collect(Collectors.toList()).size() ); cabinetBoardDataVO.setServiceKeyNum( //ç»´æ¤ä¿å »æ°é cabinetGridInfoVOList.stream().filter(i->Constants.equalsInteger(i.getKeyStatus(),Constants.THREE)).collect(Collectors.toList()).size() ); cabinetBoardDataVO.setUnBindGridNum(//ç©ºé²æ°é cabinetGridInfoVOList.stream().filter(i->Constants.equalsInteger(i.getBindStatus(),Constants.ZERO)).collect(Collectors.toList()).size() ); } return cabinetBoardDataVO; } } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java
@@ -3,10 +3,16 @@ import cn.hutool.core.bean.BeanUtil; import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.utils.Constants; import com.doumee.core.utils.DateUtil; import com.doumee.dao.admin.response.InterestedListVO; import com.doumee.dao.business.*; import com.doumee.dao.business.dto.CabinetBoardUseRecordDTO; import com.doumee.dao.business.dto.TelecomCabinetLogDTO; import com.doumee.dao.business.model.*; import com.doumee.dao.business.vo.CabinetBoardUseRecordVO; import com.doumee.dao.business.vo.TelecomJkCabinetLogVO; import com.doumee.dao.system.SystemUserMapper; import com.doumee.dao.system.model.SystemUser; import com.doumee.service.business.third.model.PageData; import com.doumee.service.business.third.model.PageWrap; import com.doumee.core.utils.Utils; @@ -45,6 +51,10 @@ @Autowired private WarningPushMapper warningPushMapper; @Autowired private SystemUserMapper systemUserMapper; @Autowired private WarningEventMapper warningEventMapper; @@ -234,11 +244,21 @@ } for (JkCabinetLog jkCabinetLog:jkCabinetLogs) { SystemUser systemUser = null; if(Objects.nonNull(jkCabinetLog.getMemberId())){ systemUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda() .eq(Objects.nonNull(jkCabinetLog.getMemberId()),SystemUser::getMemberId,jkCabinetLog.getMemberId()) .eq(SystemUser::getDeleted,Constants.ZERO) .last(" limit 1 ") ); } String content = "ã车è¾-"+jkCabinetLog.getCarCode()+"é¥åãç±+"+(StringUtils.isNotBlank(jkCabinetLog.getMemberName())?jkCabinetLog.getMemberName():"æªç¥äººå")+"ååºï¼è¶ æ¶æªå½è¿"; //å卿¥è¦å¼å¸¸è®°å½ WarningEvent warningEvent = new WarningEvent(); warningEvent.setCreateDate(new Date()); warningEvent.setCreator(Objects.nonNull(systemUser)?systemUser.getId():null); warningEvent.setWarningId(warning.getId()); warningEvent.setTitle(warningConfig.getInfo()); warningEvent.setContent(content ); @@ -280,15 +300,106 @@ warningEventMapper.updateById(warningEvent); } } } } } @Override public List<CabinetBoardUseRecordVO> getKeyUseRecord(CabinetBoardUseRecordDTO dto){ MPJLambdaWrapper<JkCabinetLog> wrapper = new MPJLambdaWrapper<JkCabinetLog>() .selectAll(JkCabinetLog.class) .selectAs(Member::getName,JkCabinetLog::getMemberName) .selectAs(Company::getName,JkCabinetLog::getCompanyName) .selectAs(JkCabinet::getName,JkCabinetLog::getCabinetName) .selectAs(JkCabinetGrid::getCode,JkCabinetLog::getGridCode) .selectAs(JkKeys::getCarCode,JkCabinetLog::getCarCode) .select("j.CREATE_DATE",JkCabinetLog::getReturnDate) .leftJoin(JkCabinet.class,JkCabinet::getId,JkCabinetLog::getCabinetId) .leftJoin(JkCabinetGrid.class,JkCabinetGrid::getId,JkCabinetLog::getGridId) .leftJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId) .leftJoin(Member.class,Member::getId,JkCabinetLog::getMemberId) .leftJoin(Company.class,Company::getId,Member::getCompanyId) .leftJoin(" jk_cabinet_log j on j.id=t.CLOSE_LOG_ID ") .ge(JkCabinetLog::getCreateDate, Utils.Date.getStart(DateUtil.getCurrentDate())) .le(JkCabinetLog::getCreateDate, Utils.Date.getEnd(Utils.Date.getStart(DateUtil.getCurrentDate()))) .eq(JkCabinetLog::getIsdeleted, Constants.ZERO) .eq(JkCabinetLog::getType,Constants.ONE) .eq(JkCabinetLog::getKeyStatus,Constants.TWO) .like(StringUtils.isNotBlank(dto.getCarCode()),JkCabinetLog::getCarCode,dto.getCarCode()) .isNotNull(Objects.nonNull(dto.getStatus())&&Constants.equalsInteger(dto.getStatus(),Constants.ONE),JkCabinetLog::getCloseLogId) .isNull(Objects.nonNull(dto.getStatus())&&Constants.equalsInteger(dto.getStatus(),Constants.ZERO),JkCabinetLog::getCloseLogId) .orderByDesc(JkCabinetLog::getCreateDate); List<JkCabinetLog> jkCabinetLogs = jkCabinetLogMapper.selectJoinList(JkCabinetLog.class,wrapper); List<CabinetBoardUseRecordVO> cabinetBoardUseRecordList = new ArrayList<CabinetBoardUseRecordVO>(); if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(jkCabinetLogs)){ for (JkCabinetLog jkCabinetLog:jkCabinetLogs) { CabinetBoardUseRecordVO cabinetBoardUseRecordVO = new CabinetBoardUseRecordVO(); BeanUtil.copyProperties(jkCabinetLog,cabinetBoardUseRecordVO); cabinetBoardUseRecordVO.setStatus(Objects.nonNull(jkCabinetLog.getReturnDate())?Constants.ZERO:Constants.ONE); cabinetBoardUseRecordVO.setRemark(Objects.isNull(jkCabinetLog.getOpenWay())?"": Constants.equalsInteger(jkCabinetLog.getOpenWay(),Constants.ZERO)?"é车é¢å": Constants.equalsInteger(jkCabinetLog.getOpenWay(),Constants.ONE)?"éæ´¾è½¦åé¢å":"ä¿æ´é¢å" ); cabinetBoardUseRecordList.add(cabinetBoardUseRecordVO); } } return cabinetBoardUseRecordList; } @Override public List<InterestedListVO> getKeyUseStatistics(Integer type){ List<String> weekDays = DateUtil.getBeforDays(new Date(),Objects.isNull(type)||Constants.equalsInteger(type,Constants.ZERO)?7:15); MPJLambdaWrapper<JkCabinetLog> wrapper = new MPJLambdaWrapper<JkCabinetLog>() .selectAll(JkCabinetLog.class) .selectAs(Member::getName,JkCabinetLog::getMemberName) .selectAs(Company::getName,JkCabinetLog::getCompanyName) .selectAs(JkCabinet::getName,JkCabinetLog::getCabinetName) .selectAs(JkCabinetGrid::getCode,JkCabinetLog::getGridCode) .selectAs(JkKeys::getCarCode,JkCabinetLog::getCarCode) .select("j.CREATE_DATE",JkCabinetLog::getReturnDate) .leftJoin(JkCabinet.class,JkCabinet::getId,JkCabinetLog::getCabinetId) .leftJoin(JkCabinetGrid.class,JkCabinetGrid::getId,JkCabinetLog::getGridId) .leftJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId) .leftJoin(Member.class,Member::getId,JkCabinetLog::getMemberId) .leftJoin(Company.class,Company::getId,Member::getCompanyId) .leftJoin(" jk_cabinet_log j on j.id=t.CLOSE_LOG_ID ") .eq(JkCabinetLog::getIsdeleted, Constants.ZERO) .eq(JkCabinetLog::getType,Constants.ONE) .ne(JkCabinetLog::getKeyStatus,Constants.ZERO) .apply(" CREATE_DATE > CURDATE() - INTERVAL "+(Objects.isNull(type)||Constants.equalsInteger(type,Constants.ZERO)?7:15)+" DAY ") .orderByDesc(JkCabinetLog::getCreateDate); List<JkCabinetLog> jkCabinetLogs = jkCabinetLogMapper.selectJoinList(JkCabinetLog.class,wrapper); List<InterestedListVO> list = new ArrayList<>(); for (String days:weekDays) { InterestedListVO vo = new InterestedListVO(); vo.setName(days); vo.setNum(Constants.ZERO); vo.setNextNum(Constants.ZERO); if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(jkCabinetLogs)) { vo.setNum( jkCabinetLogs.stream().filter(i->Constants.equalsInteger(i.getKeyStatus(),Constants.TWO) &&DateUtil.dateToString(i.getCreateDate(),"yyyy-MM-dd").equals(days)) .collect(Collectors.toList()).size() ); vo.setNextNum(jkCabinetLogs.stream().filter(i->Constants.equalsInteger(i.getKeyStatus(),Constants.ONE) &&DateUtil.dateToString(i.getCreateDate(),"yyyy-MM-dd").equals(days)) .collect(Collectors.toList()).size()); } } return list; } } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningServiceImpl.java
@@ -13,6 +13,8 @@ import com.doumee.dao.business.*; import com.doumee.dao.business.dao.MemberMapper; import com.doumee.dao.business.model.*; import com.doumee.dao.business.vo.CabinetBoardWaningRataDataVO; import com.doumee.dao.system.model.SystemUser; import com.doumee.service.business.third.model.LoginUserInfo; import com.doumee.service.business.third.model.PageData; import com.doumee.service.business.third.model.PageWrap; @@ -22,6 +24,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.wrapper.MPJLambdaWrapper; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -346,12 +349,74 @@ }catch (Exception e){ } } @Override public PageData<WarningEvent> getCabinetBoardWarningPage(PageWrap<WarningEvent> pageWrap){ IPage<WarningEvent> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); Utils.MP.blankToNull(pageWrap.getModel()); IPage<WarningEvent> pageData = warningEventMapper.selectJoinPage(page,WarningEvent.class, new MPJLambdaWrapper<WarningEvent>() .selectAll(WarningEvent.class) .selectAs(SystemUser::getRealname,WarningEvent::getCreateUserName) .leftJoin(SystemUser.class,SystemUser::getId,WarningEvent::getCreator) .leftJoin(Warning.class,Warning::getId,WarningEvent::getWarningId) .eq(WarningEvent::getIsdeleted,Constants.ZERO) .in(Warning::getCode,Constants.WarningConfig.KEY_TIME_OUT_BACK.getKey(),Constants.WarningConfig.ALARM_TEST.getKey(),Constants.WarningConfig.GRID_TIME_OUT_INFO.getKey()) .like(WarningEvent::getCreateDate,DateUtil.getCurrDate()) .orderByDesc(WarningEvent::getId) ); return PageData.from(pageData); } @Override public CabinetBoardWaningRataDataVO getCabinetBoardWarningRataData(Integer type){ CabinetBoardWaningRataDataVO vo = new CabinetBoardWaningRataDataVO(); vo.setAlcoholNum(Constants.ZERO); vo.setUnCloseNum(Constants.ZERO); vo.setTimeOutNum(Constants.ZERO); List<WarningEvent> warningEventList = warningEventMapper.selectJoinList(WarningEvent.class, new MPJLambdaWrapper<WarningEvent>(). selectAll(WarningEvent.class) .selectAs(Warning::getCode,WarningEvent::getWarningId) .leftJoin(Warning.class,Warning::getId,WarningEvent::getWarningCode) .eq(WarningEvent::getIsdeleted,Constants.ZERO) .in(Warning::getCode,Constants.WarningConfig.KEY_TIME_OUT_BACK.getKey(),Constants.WarningConfig.ALARM_TEST.getKey(),Constants.WarningConfig.GRID_TIME_OUT_INFO.getKey()) .like(Objects.nonNull(type)&&Constants.equalsInteger(Constants.ZERO,type),WarningEvent::getCreateDate,DateUtil.getCurrDate()) .like(Objects.nonNull(type)&&Constants.equalsInteger(Constants.ONE,type),WarningEvent::getCreateDate,DateUtil.getFomartDate(new Date(),"yyyy-MM")) .like(Objects.nonNull(type)&&Constants.equalsInteger(Constants.TWO,type),WarningEvent::getCreateDate,DateUtil.getFomartDate(new Date(),"yyyy")) ); if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(warningEventList)){ vo.setAlcoholNum( warningEventList.stream().filter(i->StringUtils.isNotBlank(i.getWarningCode())&& i.getWarningCode().equals(Constants.WarningConfig.ALARM_TEST.getKey())).collect(Collectors.toList()).size() ); vo.setUnCloseNum( warningEventList.stream().filter(i->StringUtils.isNotBlank(i.getWarningCode())&& i.getWarningCode().equals(Constants.WarningConfig.GRID_TIME_OUT_INFO.getKey())).collect(Collectors.toList()).size() ); vo.setTimeOutNum( warningEventList.stream().filter(i->StringUtils.isNotBlank(i.getWarningCode())&& i.getWarningCode().equals(Constants.WarningConfig.KEY_TIME_OUT_BACK.getKey())).collect(Collectors.toList()).size() ); } return vo; } }