package com.doumee.service.business.impl;
|
|
import cn.hutool.core.bean.BeanUtil;
|
import com.doumee.biz.system.SystemDictDataBiz;
|
import com.doumee.core.constants.ResponseStatus;
|
import com.doumee.core.exception.BusinessException;
|
import com.doumee.core.utils.Constants;
|
import com.doumee.core.utils.DateUtil;
|
import com.doumee.dao.business.JkCabinetGridMapper;
|
import com.doumee.dao.business.JkKeysMapper;
|
import com.doumee.dao.business.model.JkCabinetGrid;
|
import com.doumee.dao.business.model.JkKeys;
|
import com.doumee.dao.business.vo.AdminCabinetVO;
|
import com.doumee.dao.business.vo.CabinetConfigDataVO;
|
import com.doumee.dao.business.vo.CabinetDetailVO;
|
import com.doumee.dao.business.vo.CabinetGridInfoVO;
|
import com.doumee.dao.system.model.SystemDictData;
|
import com.doumee.service.business.third.model.LoginUserInfo;
|
import com.doumee.service.business.third.model.PageData;
|
import com.doumee.service.business.third.model.PageWrap;
|
import com.doumee.core.utils.Utils;
|
import com.doumee.dao.business.JkCabinetMapper;
|
import com.doumee.dao.business.model.JkCabinet;
|
import com.doumee.service.business.JkCabinetService;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
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.java.Log;
|
import org.apache.commons.lang3.StringUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
|
|
import java.math.BigDecimal;
|
import java.util.*;
|
import java.util.stream.Collectors;
|
|
/**
|
* 钥匙柜基本信息表Service实现
|
* @author 江蹄蹄
|
* @date 2025/09/28 09:01
|
*/
|
@Service
|
public class JkCabinetServiceImpl implements JkCabinetService {
|
|
@Autowired
|
private JkCabinetMapper jkCabinetMapper;
|
|
@Autowired
|
private JkCabinetGridMapper jkCabinetGridMapper;
|
|
@Autowired
|
private JkKeysMapper jkKeysMapper;
|
|
@Autowired
|
private SystemDictDataBiz systemDictDataBiz;
|
|
@Override
|
@Transactional(rollbackFor = {Exception.class,BusinessException.class})
|
public Integer create(JkCabinet jkCabinet) {
|
if(Objects.isNull(jkCabinet)
|
|| StringUtils.isBlank(jkCabinet.getCode())
|
|| StringUtils.isBlank(jkCabinet.getName())
|
|| StringUtils.isBlank(jkCabinet.getDevId())
|
|| StringUtils.isBlank(jkCabinet.getLinkAddr())
|
|| StringUtils.isBlank(jkCabinet.getCode())
|
|
|| Objects.isNull(jkCabinet.getPort())
|
|| CollectionUtils.isEmpty(jkCabinet.getManagerIdList())
|
|| CollectionUtils.isEmpty(jkCabinet.getAuthMemberIdList())
|
|| Objects.isNull(jkCabinet.getDoubleAuth())
|
|
|| Objects.isNull(jkCabinet.getRowNum())
|
|| jkCabinet.getRowNum() <= Constants.ZERO
|
|| Objects.isNull(jkCabinet.getColumnNum())
|
|| jkCabinet.getColumnNum() <= Constants.ZERO
|
|| Objects.isNull(jkCabinet.getNoType())
|
|| Objects.isNull(jkCabinet.getSortType())
|
|| (
|
Constants.equalsInteger(jkCabinet.getNoType(),Constants.ONE)
|
&& ( Objects.isNull(jkCabinet.getNoIndex()) || Objects.isNull(jkCabinet.getNoLength()) || StringUtils.isBlank(jkCabinet.getNoPrefix()) )
|
)
|
){
|
throw new BusinessException(ResponseStatus.BAD_REQUEST);
|
}
|
//查询编号是否重复
|
if(jkCabinetMapper.selectCount(new QueryWrapper<JkCabinet>().lambda().eq(JkCabinet::getCode,jkCabinet.getCode()).eq(JkCabinet::getIsdeleted,Constants.ZERO))>Constants.ZERO){
|
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"钥匙柜设备编号已存在!");
|
}
|
if(jkCabinetMapper.selectCount(new QueryWrapper<JkCabinet>().lambda().eq(JkCabinet::getDevId,jkCabinet.getDevId()).eq(JkCabinet::getIsdeleted,Constants.ZERO))>Constants.ZERO){
|
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"钥匙柜设备ID已存在!");
|
}
|
LoginUserInfo loginUserInfo = jkCabinet.getLoginUserInfo();
|
jkCabinet.setCreateDate(new Date());
|
jkCabinet.setEditDate(jkCabinet.getCreateDate());
|
jkCabinet.setCreator(loginUserInfo.getId());
|
jkCabinet.setEditor(loginUserInfo.getId());
|
jkCabinet.setIsdeleted(Constants.ZERO);
|
jkCabinet.setStatus(Constants.ZERO);
|
jkCabinet.setRunStatus(Constants.ONE);
|
if(StringUtils.isNotBlank(jkCabinet.getJwd())&&jkCabinet.getJwd().split(",").length>Constants.ONE){
|
jkCabinet.setLongitude(new BigDecimal(jkCabinet.getJwd().split(",")[Constants.ZERO]));
|
jkCabinet.setLatitude(new BigDecimal(jkCabinet.getJwd().split(",")[Constants.ONE]));
|
}
|
jkCabinet.setManagerId(String.join(",",jkCabinet.getManagerIdList()));
|
jkCabinet.setAuthMemberId(String.join(",",jkCabinet.getAuthMemberIdList()));
|
jkCabinetMapper.insert(jkCabinet);
|
this.createGrid(jkCabinet);
|
return jkCabinet.getId();
|
}
|
|
|
public void createGrid(JkCabinet jkCabinet){
|
LoginUserInfo loginUserInfo = jkCabinet.getLoginUserInfo();
|
Integer startNo = Constants.equalsInteger(jkCabinet.getNoType(),Constants.ZERO)?1:jkCabinet.getNoIndex() ;
|
List<JkCabinetGrid> jkCabinetGridList = new ArrayList<>();
|
Integer maxNum = jkCabinet.getRowNum() * jkCabinet.getColumnNum();
|
for (int i = 0; i < maxNum; i++) {
|
JkCabinetGrid grid = new JkCabinetGrid();
|
grid.setCreateDate(new Date());
|
grid.setEditDate(jkCabinet.getCreateDate());
|
grid.setCreator(loginUserInfo.getId());
|
grid.setEditor(loginUserInfo.getId());
|
grid.setIsdeleted(Constants.ZERO);
|
grid.setStatus(Constants.ZERO);
|
grid.setCabinetId(jkCabinet.getId());
|
if(Constants.equalsInteger(jkCabinet.getNoType(),Constants.ZERO)){
|
grid.setCode(StringUtils.leftPad(startNo.toString(),maxNum.toString().length()+1,"0"));
|
}else{
|
grid.setCode(jkCabinet.getNoPrefix() + StringUtils.leftPad(startNo.toString(),jkCabinet.getNoLength(),"0"));
|
}
|
|
jkCabinetGridList.add(grid);
|
startNo = startNo + 1;
|
}
|
jkCabinetGridMapper.insert(jkCabinetGridList);
|
}
|
|
@Override
|
public void deleteById(Integer id) {
|
JkCabinet jkCabinet = jkCabinetMapper.selectById(id);
|
if(Constants.equalsInteger(jkCabinet.getStatus(),Constants.ZERO)){
|
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"非禁用数据,无法进行删除");
|
}
|
//查询钥匙柜下的柜格信息
|
List<JkCabinetGrid> jkCabinetGridList = jkCabinetGridMapper.selectList(new QueryWrapper<JkCabinetGrid>().lambda().eq(JkCabinetGrid::getIsdeleted,Constants.ZERO)
|
.eq(JkCabinetGrid::getCabinetId,jkCabinet.getId())
|
);
|
if(Objects.nonNull(jkCabinetGridList)){
|
jkCabinetGridMapper.update(null,new UpdateWrapper<JkCabinetGrid>().lambda().set(JkCabinetGrid::getIsdeleted,Constants.ONE)
|
.in(JkCabinetGrid::getId,jkCabinetGridList.stream().map(i->i.getId()).collect(Collectors.toList()))
|
);
|
List<Integer> keyIdList = jkCabinetGridList.stream().filter(i->Objects.nonNull(i.getKeyId())).map(i->i.getKeyId()).collect(Collectors.toList());
|
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(keyIdList)){
|
jkKeysMapper.update(null,new UpdateWrapper<JkKeys>().lambda()
|
.set(JkKeys::getStatus,Constants.ZERO)
|
.in(JkKeys::getId,keyIdList)
|
);
|
}
|
}
|
jkCabinetMapper.update(null,new UpdateWrapper<JkCabinet>().lambda()
|
.set(JkCabinet::getIsdeleted,Constants.ONE)
|
.eq(JkCabinet::getId,jkCabinet.getId()));
|
}
|
|
@Override
|
public void delete(JkCabinet jkCabinet) {
|
UpdateWrapper<JkCabinet> deleteWrapper = new UpdateWrapper<>(jkCabinet);
|
jkCabinetMapper.delete(deleteWrapper);
|
}
|
|
@Override
|
public void deleteByIdInBatch(List<Integer> ids) {
|
if (CollectionUtils.isEmpty(ids)) {
|
return;
|
}
|
jkCabinetMapper.deleteBatchIds(ids);
|
}
|
|
@Override
|
public void updateById(JkCabinet jkCabinet) {
|
if(Objects.isNull(jkCabinet)
|
|| Objects.isNull(jkCabinet.getId())
|
|| StringUtils.isBlank(jkCabinet.getCode())
|
|| StringUtils.isBlank(jkCabinet.getName())
|
|| StringUtils.isBlank(jkCabinet.getDevId())
|
|| StringUtils.isBlank(jkCabinet.getLinkAddr())
|
|| StringUtils.isBlank(jkCabinet.getCode())
|
|| CollectionUtils.isEmpty(jkCabinet.getManagerIdList())
|
|| CollectionUtils.isEmpty(jkCabinet.getAuthMemberIdList())
|
|| Objects.isNull(jkCabinet.getPort())
|
|| Objects.isNull(jkCabinet.getDoubleAuth())
|
){
|
throw new BusinessException(ResponseStatus.BAD_REQUEST);
|
}
|
jkCabinet.setRowNum(null);
|
jkCabinet.setColumnNum(null);
|
jkCabinet.setSortType(null);
|
jkCabinet.setNoType(null);
|
jkCabinet.setNoIndex(null);
|
jkCabinet.setNoLength(null);
|
jkCabinet.setNoPrefix(null);
|
//查询编号是否重复
|
if(jkCabinetMapper.selectCount(new QueryWrapper<JkCabinet>().lambda().ne(JkCabinet::getId,jkCabinet.getId()).eq(JkCabinet::getCode,jkCabinet.getCode()).eq(JkCabinet::getIsdeleted,Constants.ZERO))>Constants.ZERO){
|
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"钥匙柜设备编号已存在!");
|
}
|
if(jkCabinetMapper.selectCount(new QueryWrapper<JkCabinet>().lambda().ne(JkCabinet::getId,jkCabinet.getId()).eq(JkCabinet::getDevId,jkCabinet.getDevId()).eq(JkCabinet::getIsdeleted,Constants.ZERO))>Constants.ZERO){
|
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"钥匙柜设备ID已存在!");
|
}
|
LoginUserInfo loginUserInfo = jkCabinet.getLoginUserInfo();
|
jkCabinet.setEditDate(new Date());
|
jkCabinet.setEditor(loginUserInfo.getId());
|
if(StringUtils.isNotBlank(jkCabinet.getJwd())&&jkCabinet.getJwd().split(",").length>Constants.ONE){
|
jkCabinet.setLongitude(new BigDecimal(jkCabinet.getJwd().split(",")[Constants.ZERO]));
|
jkCabinet.setLatitude(new BigDecimal(jkCabinet.getJwd().split(",")[Constants.ONE]));
|
}
|
jkCabinet.setManagerId(String.join(",",jkCabinet.getManagerIdList()));
|
jkCabinet.setAuthMemberId(String.join(",",jkCabinet.getAuthMemberIdList()));
|
jkCabinetMapper.updateById(jkCabinet);
|
}
|
|
@Override
|
public void updateStatusById(JkCabinet jkCabinet) {
|
if(Objects.isNull(jkCabinet)
|
|| Objects.isNull(jkCabinet.getId())
|
|| Objects.isNull(jkCabinet.getStatus())){
|
throw new BusinessException(ResponseStatus.BAD_REQUEST);
|
}
|
jkCabinetMapper.update(null,new UpdateWrapper<JkCabinet>()
|
.lambda().set(JkCabinet::getStatus,jkCabinet.getStatus())
|
.set(JkCabinet::getEditDate, DateUtil.getCurrDateTime())
|
.eq(JkCabinet::getId,jkCabinet.getId()));
|
}
|
|
|
@Override
|
public void updateByIdInBatch(List<JkCabinet> jkCabinets) {
|
if (CollectionUtils.isEmpty(jkCabinets)) {
|
return;
|
}
|
for (JkCabinet jkCabinet: jkCabinets) {
|
this.updateById(jkCabinet);
|
}
|
}
|
|
@Override
|
public JkCabinet findById(Integer id) {
|
return jkCabinetMapper.selectById(id);
|
}
|
|
|
@Override
|
public JkCabinet getDetail(Integer id){
|
JkCabinet jkCabinet = jkCabinetMapper.selectById(id);
|
if(Objects.nonNull(jkCabinet.getLongitude())
|
&& Objects.nonNull(jkCabinet.getLatitude())){
|
jkCabinet.setJwd(jkCabinet.getLongitude() + "," + jkCabinet.getLatitude());
|
}
|
jkCabinet.setGridNum(jkCabinet.getColumnNum()*jkCabinet.getRowNum());
|
return jkCabinet;
|
}
|
|
@Override
|
public JkCabinet findOne(JkCabinet jkCabinet) {
|
QueryWrapper<JkCabinet> wrapper = new QueryWrapper<>(jkCabinet);
|
return jkCabinetMapper.selectOne(wrapper);
|
}
|
|
@Override
|
public List<JkCabinet> findList(JkCabinet jkCabinet) {
|
jkCabinet.setIsdeleted(Constants.ZERO);
|
jkCabinet.setStatus(Constants.ZERO);
|
QueryWrapper<JkCabinet> wrapper = new QueryWrapper<>(jkCabinet);
|
return jkCabinetMapper.selectList(wrapper);
|
}
|
|
@Override
|
public PageData<JkCabinet> findPage(PageWrap<JkCabinet> pageWrap) {
|
IPage<JkCabinet> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
|
Utils.MP.blankToNull(pageWrap.getModel());
|
JkCabinet model = pageWrap.getModel();
|
IPage<JkCabinet> iPage = jkCabinetMapper.selectPage(page, new QueryWrapper<JkCabinet>()
|
.lambda()
|
.eq(JkCabinet::getIsdeleted,Constants.ZERO)
|
.like(StringUtils.isNotBlank(model.getName()),JkCabinet::getName, model.getName())
|
.like(StringUtils.isNotBlank(model.getCode()),JkCabinet::getCode, model.getCode())
|
.eq(Objects.nonNull(model.getStatus()),JkCabinet::getStatus, model.getStatus())
|
.eq(Objects.nonNull(model.getRunStatus()),JkCabinet::getRunStatus, model.getRunStatus())
|
);
|
for (JkCabinet jkCabinet:iPage.getRecords()) {
|
jkCabinet.setGridNum(jkCabinet.getColumnNum()*jkCabinet.getRowNum());
|
}
|
return PageData.from(iPage);
|
}
|
|
@Override
|
public long count(JkCabinet jkCabinet) {
|
QueryWrapper<JkCabinet> wrapper = new QueryWrapper<>(jkCabinet);
|
return jkCabinetMapper.selectCount(wrapper);
|
}
|
|
|
|
@Override
|
public CabinetConfigDataVO getCabinetConfigDataVO(){
|
CabinetConfigDataVO cabinetConfigDataVO = new CabinetConfigDataVO();
|
cabinetConfigDataVO.setConcentration(systemDictDataBiz.queryByCode(Constants.CABINET_CONFIG,Constants.CONCENTRATION).getCode());
|
cabinetConfigDataVO.setPressure(systemDictDataBiz.queryByCode(Constants.CABINET_CONFIG,Constants.PRESSURE).getCode());
|
cabinetConfigDataVO.setBlowTime(systemDictDataBiz.queryByCode(Constants.CABINET_CONFIG,Constants.BLOW_TIME).getCode());
|
cabinetConfigDataVO.setThreshold(systemDictDataBiz.queryByCode(Constants.CABINET_CONFIG,Constants.THRESHOLD).getCode());
|
return cabinetConfigDataVO;
|
|
}
|
|
|
@Override
|
public void updCabinetConfig(CabinetConfigDataVO cabinetConfigDataVO){
|
if(Objects.isNull(cabinetConfigDataVO)
|
|| (StringUtils.isBlank(cabinetConfigDataVO.getBlowTime())
|
&& StringUtils.isBlank(cabinetConfigDataVO.getConcentration())
|
&& StringUtils.isBlank(cabinetConfigDataVO.getPressure())
|
&& StringUtils.isBlank(cabinetConfigDataVO.getThreshold())
|
)){
|
throw new BusinessException(ResponseStatus.BAD_REQUEST);
|
}
|
if(StringUtils.isNotBlank(cabinetConfigDataVO.getConcentration())){
|
SystemDictData systemDictData = systemDictDataBiz.queryByCode(Constants.CABINET_CONFIG,Constants.CONCENTRATION);
|
systemDictData.setCode(cabinetConfigDataVO.getConcentration());
|
systemDictDataBiz.updateByIdNew(systemDictData);
|
}
|
if(StringUtils.isNotBlank(cabinetConfigDataVO.getPressure())){
|
SystemDictData systemDictData = systemDictDataBiz.queryByCode(Constants.CABINET_CONFIG,Constants.PRESSURE);
|
systemDictData.setCode(cabinetConfigDataVO.getPressure());
|
systemDictDataBiz.updateByIdNew(systemDictData);
|
}
|
if(StringUtils.isNotBlank(cabinetConfigDataVO.getBlowTime())){
|
SystemDictData systemDictData = systemDictDataBiz.queryByCode(Constants.CABINET_CONFIG,Constants.BLOW_TIME);
|
systemDictData.setCode(cabinetConfigDataVO.getBlowTime());
|
systemDictDataBiz.updateByIdNew(systemDictData);
|
}
|
if(StringUtils.isNotBlank(cabinetConfigDataVO.getThreshold())){
|
SystemDictData systemDictData = systemDictDataBiz.queryByCode(Constants.CABINET_CONFIG,Constants.THRESHOLD);
|
systemDictData.setCode(cabinetConfigDataVO.getThreshold());
|
systemDictDataBiz.updateByIdNew(systemDictData);
|
}
|
}
|
|
|
|
|
@Override
|
public List<AdminCabinetVO> getAdminCabinetInfo(LoginUserInfo loginUserInfo){
|
List<AdminCabinetVO> adminCabinetVOList = new ArrayList<>();
|
List<JkCabinet> jkCabinetList = jkCabinetMapper.selectList(new QueryWrapper<JkCabinet>()
|
.lambda()
|
.eq(JkCabinet::getIsdeleted,Constants.ZERO)
|
.apply(" FIND_IN_SET("+loginUserInfo.getId()+",MANAGER_ID) ")
|
.orderByAsc(JkCabinet::getCreateDate)
|
);
|
if(CollectionUtils.isNotEmpty(jkCabinetList)){
|
for (JkCabinet jkCabinet:jkCabinetList) {
|
AdminCabinetVO adminCabinetVO = new AdminCabinetVO();
|
BeanUtil.copyProperties(jkCabinet,adminCabinetVO);
|
adminCabinetVOList.add(adminCabinetVO);
|
}
|
}
|
return adminCabinetVOList;
|
}
|
|
|
@Override
|
public CabinetDetailVO getCabinetDetail(Integer cabinetId){
|
CabinetDetailVO cabinetDetailVO = new CabinetDetailVO();
|
JkCabinet cabinet = jkCabinetMapper.selectOne(new QueryWrapper<JkCabinet>()
|
.lambda()
|
.eq(JkCabinet::getIsdeleted,Constants.ZERO)
|
.eq(JkCabinet::getId,cabinetId)
|
.last(" limit 1")
|
);
|
if(Objects.isNull(cabinet)){
|
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,未查询到钥匙柜信息");
|
}
|
BeanUtil.copyProperties(cabinet,cabinetDetailVO);
|
cabinetDetailVO.setGridNum(Constants.ZERO);
|
cabinetDetailVO.setErrGridNum(Constants.ZERO);
|
cabinetDetailVO.setOnlineKeyNum(Constants.ZERO);
|
cabinetDetailVO.setServiceKeyNum(Constants.ZERO);
|
cabinetDetailVO.setOutKeyNum(Constants.ZERO);
|
cabinetDetailVO.setUnBindGridNum(Constants.ZERO);
|
|
//所有柜格信息
|
List<JkCabinetGrid> jkCabinetGridList =
|
jkCabinetGridMapper.selectJoinList(JkCabinetGrid.class, new MPJLambdaWrapper<JkCabinetGrid>()
|
.selectAll(JkCabinetGrid.class)
|
.selectAs(JkKeys::getCarCode,JkCabinetGrid::getCarCode)
|
.selectAs(JkKeys::getStatus,JkCabinetGrid::getKeyStatus)
|
.leftJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId)
|
.eq(JkCabinetGrid::getIsdeleted,Constants.ZERO)
|
.eq(JkCabinetGrid::getCabinetId,cabinet.getId())
|
.orderByDesc(JkCabinetGrid::getCode)
|
);
|
|
List<CabinetGridInfoVO> cabinetGridInfoVOList = new ArrayList<>();
|
if(CollectionUtils.isNotEmpty(jkCabinetGridList)){
|
cabinetDetailVO.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);
|
cabinetGridInfoVOList.add(cabinetGridInfoVO);
|
}
|
cabinetDetailVO.setErrGridNum(
|
cabinetGridInfoVOList.stream().filter(i->Constants.equalsInteger(i.getWorkingStatus(),Constants.ONE)).collect(Collectors.toList()).size()
|
);
|
cabinetDetailVO.setOnlineKeyNum(
|
cabinetGridInfoVOList.stream().filter(i->Constants.equalsInteger(i.getKeyStatus(),Constants.ONE)).collect(Collectors.toList()).size()
|
);
|
cabinetDetailVO.setOutKeyNum(
|
cabinetGridInfoVOList.stream().filter(i->Constants.equalsInteger(i.getKeyStatus(),Constants.TWO)).collect(Collectors.toList()).size()
|
);
|
cabinetDetailVO.setServiceKeyNum(
|
cabinetGridInfoVOList.stream().filter(i->Constants.equalsInteger(i.getKeyStatus(),Constants.THREE)).collect(Collectors.toList()).size()
|
);
|
cabinetDetailVO.setUnBindGridNum(
|
cabinetGridInfoVOList.stream().filter(i->Constants.equalsInteger(i.getBindStatus(),Constants.ZERO)).collect(Collectors.toList()).size()
|
);
|
}
|
return cabinetDetailVO;
|
}
|
|
|
}
|