|
@@ -1,10 +1,25 @@
|
|
|
package com.huimv.manager.service.impl;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.huimv.manager.entity.CollectorRegisterEntity;
|
|
|
+import com.huimv.manager.entity.DeviceTempEntity;
|
|
|
+import com.huimv.manager.entity.PigBasicInformationEntity;
|
|
|
+import com.huimv.manager.entity.vo.PigpenVo;
|
|
|
import com.huimv.manager.mapper.BasePigpenDao;
|
|
|
+import com.huimv.manager.mapper.CollectorRegisterDao;
|
|
|
+import com.huimv.manager.mapper.DeviceTempDao;
|
|
|
+import com.huimv.manager.mapper.PigBasicInformationDao;
|
|
|
+import com.huimv.manager.result.RRException;
|
|
|
import com.huimv.manager.utils.PageUtils;
|
|
|
import com.huimv.manager.utils.Query;
|
|
|
+import org.apache.commons.lang.StringUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
-import java.util.Map;
|
|
|
+
|
|
|
+import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
@@ -23,14 +38,151 @@ import com.huimv.manager.service.BasePigpenService;
|
|
|
@Service("basePigpenService")
|
|
|
public class BasePigpenServiceImpl extends ServiceImpl<BasePigpenDao, BasePigpenEntity> implements BasePigpenService {
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private CollectorRegisterDao collectorRegisterDao;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private DeviceTempDao deviceTempDao;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private PigBasicInformationDao pigBasicInformationDao;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
@Override
|
|
|
public PageUtils queryPage(Map<String, Object> params) {
|
|
|
+ String farmCode = (String)params.get("farmCode");
|
|
|
+ String createStartTime = (String)params.get("createStartTime");
|
|
|
+ String createEndTime = (String)params.get("createEndTime");
|
|
|
+ String stage = (String)params.get("stage");
|
|
|
+ String name = (String)params.get("name");
|
|
|
+
|
|
|
+ QueryWrapper<BasePigpenEntity> wrapper = new QueryWrapper<>();
|
|
|
+ wrapper.eq(StringUtils.isNotBlank(farmCode),"farm_code",farmCode);
|
|
|
+ wrapper.eq("type",1);
|
|
|
+ wrapper.le(StringUtils.isNotBlank(createEndTime),"creat_time",createEndTime);
|
|
|
+ wrapper.ge(StringUtils.isNotBlank(createStartTime),"creat_time",createStartTime);
|
|
|
+ if (StringUtils.isNotBlank(stage)){
|
|
|
+ wrapper.eq("stage",Integer.parseInt(stage));
|
|
|
+ }
|
|
|
+
|
|
|
+ wrapper.like(StringUtils.isNotBlank(name),"name",name);
|
|
|
+
|
|
|
+
|
|
|
IPage<BasePigpenEntity> page = this.page(
|
|
|
new Query<BasePigpenEntity>().getPage(params),
|
|
|
- new QueryWrapper<BasePigpenEntity>()
|
|
|
+ wrapper
|
|
|
);
|
|
|
|
|
|
+ for (BasePigpenEntity record : page.getRecords()) {
|
|
|
+ Integer id = record.getId();
|
|
|
+ wrapper.clear();
|
|
|
+ wrapper.eq("parent_id",id);
|
|
|
+ record.setChildren(baseMapper.selectList(wrapper));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
return new PageUtils(page);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public PageUtils appList(Map<String, Object> params) {
|
|
|
+ String farmCode = (String)params.get("farmCode");
|
|
|
+ String stage = (String)params.get("stage");
|
|
|
+ QueryWrapper<BasePigpenEntity> wrapper = new QueryWrapper<>();
|
|
|
+ wrapper.eq(StringUtils.isNotBlank(farmCode),"farm_code",farmCode);
|
|
|
+ wrapper.eq("type",2);
|
|
|
+ if (StringUtils.isNotBlank(stage)){
|
|
|
+ wrapper.eq("stage",Integer.parseInt(stage));
|
|
|
+ }
|
|
|
+
|
|
|
+ IPage<BasePigpenEntity> page = this.page(
|
|
|
+ new Query<BasePigpenEntity>().getPage(params),
|
|
|
+ wrapper
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+ List<PigpenVo> pigpenVos = new ArrayList<>();
|
|
|
+ QueryWrapper<PigBasicInformationEntity> pigBasicInformationEntityQueryWrapper = new QueryWrapper<>();
|
|
|
+ for (BasePigpenEntity record : page.getRecords()) {
|
|
|
+ Integer id = record.getId();
|
|
|
+ Integer parentId = record.getParentId();
|
|
|
+ pigBasicInformationEntityQueryWrapper.eq("unit_id",id);
|
|
|
+ Integer countPig = pigBasicInformationDao.selectCount(pigBasicInformationEntityQueryWrapper);
|
|
|
+ PigpenVo pigpenVo = new PigpenVo();
|
|
|
+ BasePigpenEntity basePigpenEntity = baseMapper.selectById(parentId);
|
|
|
+
|
|
|
+ pigpenVo.setPigpenName(basePigpenEntity.getPigpenName()+record.getPigpenName());
|
|
|
+ pigpenVo.setPigpenTemp(record.getPigpenTemp());
|
|
|
+ pigpenVo.setStage(record.getStage());
|
|
|
+ pigpenVo.setTempAnomaly(record.getTempAnomaly());
|
|
|
+
|
|
|
+
|
|
|
+ pigpenVo.setCountPig(countPig);
|
|
|
+ pigpenVos.add(pigpenVo);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ IPage<PigpenVo> page1 = new Page();
|
|
|
+ page1.setRecords(pigpenVos);
|
|
|
+
|
|
|
+
|
|
|
+ return new PageUtils(page1);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Map appCountPigpen(Map<String, Object> params) {
|
|
|
+ String farmCode = (String)params.get("farmCode");
|
|
|
+ if (StringUtils.isBlank(farmCode)){
|
|
|
+ throw new RRException("请选择牧场");
|
|
|
+ }
|
|
|
+
|
|
|
+ QueryWrapper<BasePigpenEntity> wrapper = new QueryWrapper<>();
|
|
|
+ wrapper.eq("farm_code",farmCode);
|
|
|
+ List<BasePigpenEntity> basePigpenEntities = baseMapper.selectList(wrapper);
|
|
|
+ long pigpen = basePigpenEntities.stream()
|
|
|
+ .filter(o -> o.getType() == 1).count();
|
|
|
+ long unit = basePigpenEntities.stream()
|
|
|
+ .filter(o -> o.getType() == 2).count();
|
|
|
+ Map map = new HashMap();
|
|
|
+ map.put("pigpen",pigpen);
|
|
|
+ map.put("unit",unit);
|
|
|
+ return map;
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void delete(Integer[] ids) {
|
|
|
+ QueryWrapper<BasePigpenEntity> wrapper = new QueryWrapper<>();
|
|
|
+ wrapper.in("parent_id",ids);
|
|
|
+ baseMapper.delete(wrapper);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List appTemp(Map<String, Object> params) {
|
|
|
+
|
|
|
+ String unitId = (String)params.get("unitId");
|
|
|
+ String createStartDate =(String)params.get("createStartDate");
|
|
|
+ String createEndDate =(String)params.get("createEndDate");
|
|
|
+
|
|
|
+
|
|
|
+ QueryWrapper<CollectorRegisterEntity> collectorRegisterEntityQueryWrapper = new QueryWrapper<>();
|
|
|
+ collectorRegisterEntityQueryWrapper.eq("unit_id",unitId);
|
|
|
+ List<CollectorRegisterEntity> collectorRegisterEntities = collectorRegisterDao.selectList(collectorRegisterEntityQueryWrapper);
|
|
|
+ if (collectorRegisterEntities == null || collectorRegisterEntities.size() == 0){
|
|
|
+ throw new RRException("该栋舍下没有传感器");
|
|
|
+ }
|
|
|
+ String deviceCode = collectorRegisterEntities.get(0).getDeviceCode();
|
|
|
+ QueryWrapper<DeviceTempEntity> deviceTempEntityQueryWrapper = new QueryWrapper<>();
|
|
|
+ deviceTempEntityQueryWrapper.eq("device_code",deviceCode);
|
|
|
+ deviceTempEntityQueryWrapper.le("device_code",createEndDate);
|
|
|
+ deviceTempEntityQueryWrapper.ge("device_code",createStartDate);
|
|
|
+
|
|
|
+
|
|
|
+ return deviceTempDao.selectList(deviceTempEntityQueryWrapper);
|
|
|
+ }
|
|
|
}
|