|
@@ -1,11 +1,24 @@
|
|
package com.bizmatics.service.impl;
|
|
package com.bizmatics.service.impl;
|
|
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
|
+import com.bizmatics.common.core.util.BeanMapperUtils;
|
|
|
|
+import com.bizmatics.model.Personnel;
|
|
import com.bizmatics.model.Site;
|
|
import com.bizmatics.model.Site;
|
|
import com.bizmatics.persistence.mapper.SiteMapper;
|
|
import com.bizmatics.persistence.mapper.SiteMapper;
|
|
|
|
+import com.bizmatics.service.DeviceService;
|
|
import com.bizmatics.service.SiteService;
|
|
import com.bizmatics.service.SiteService;
|
|
import com.bizmatics.common.mvc.base.AbstractCrudService;
|
|
import com.bizmatics.common.mvc.base.AbstractCrudService;
|
|
|
|
+import com.bizmatics.service.enums.DeviceStatusCode;
|
|
|
|
+import com.bizmatics.service.vo.SiteCountVO;
|
|
|
|
+import com.bizmatics.service.vo.SiteVO;
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
+import java.sql.Wrapper;
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
+import java.util.List;
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* <p>
|
|
* <p>
|
|
* 服务实现类
|
|
* 服务实现类
|
|
@@ -17,4 +30,41 @@ import org.springframework.stereotype.Service;
|
|
@Service
|
|
@Service
|
|
public class SiteServiceImpl extends AbstractCrudService<SiteMapper, Site> implements SiteService {
|
|
public class SiteServiceImpl extends AbstractCrudService<SiteMapper, Site> implements SiteService {
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private DeviceService deviceService;
|
|
|
|
+ @Override
|
|
|
|
+ public SiteCountVO selectCount() {
|
|
|
|
+ SiteCountVO siteCountVo = new SiteCountVO();
|
|
|
|
+ siteCountVo.setNormalCount(baseMapper.selectCount(DeviceStatusCode.NORMAL.getValue(),null));
|
|
|
|
+ siteCountVo.setOffLineCount(baseMapper.selectCount(DeviceStatusCode.OFFLINE.getValue(),null));
|
|
|
|
+ siteCountVo.setDeviceCount(baseMapper.selectCount(DeviceStatusCode.DEVICE.getValue(),null));
|
|
|
|
+ siteCountVo.setFaultCount(baseMapper.selectCount(DeviceStatusCode.FAULT.getValue(),null));
|
|
|
|
+ siteCountVo.setCount(siteCountVo.getNormalCount()+siteCountVo.getOffLineCount()+siteCountVo.getDeviceCount()+siteCountVo.getFaultCount());
|
|
|
|
+ return siteCountVo;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public List<SiteVO> list(String name) {
|
|
|
|
+ List<SiteVO> list = new ArrayList<>();
|
|
|
|
+ List<Site> sites = baseMapper.selectList(Wrappers.lambdaQuery(Site.class).like(Site::getSiteName, name));
|
|
|
|
+ for (Site site:sites) {
|
|
|
|
+ SiteVO siteVo = BeanMapperUtils.map(site, SiteVO.class);
|
|
|
|
+ siteVo.setDeviceCount(deviceService.selectCount(siteVo.getId()));
|
|
|
|
+ int deviceCount = baseMapper.selectCount(DeviceStatusCode.DEVICE.getValue(), siteVo.getId());
|
|
|
|
+ int offLineCount = baseMapper.selectCount(DeviceStatusCode.OFFLINE.getValue(), siteVo.getId());
|
|
|
|
+ int faultCount = baseMapper.selectCount(DeviceStatusCode.FAULT.getValue(), siteVo.getId());
|
|
|
|
+ siteVo.setAlarmPowerCount(deviceCount);
|
|
|
|
+ if (deviceCount > 0){
|
|
|
|
+ siteVo.setStatus(DeviceStatusCode.FAULT.getDescribe());
|
|
|
|
+ }else if (offLineCount > 0){
|
|
|
|
+ siteVo.setStatus(DeviceStatusCode.OFFLINE.getDescribe());
|
|
|
|
+ }else if (faultCount > 0){
|
|
|
|
+ siteVo.setStatus(DeviceStatusCode.FAULT.getDescribe());
|
|
|
|
+ }else {
|
|
|
|
+ siteVo.setStatus(DeviceStatusCode.NORMAL.getDescribe());
|
|
|
|
+ }
|
|
|
|
+ list.add(siteVo);
|
|
|
|
+ }
|
|
|
|
+ return list;
|
|
|
|
+ }
|
|
}
|
|
}
|