|
@@ -1,32 +1,166 @@
|
|
|
package com.huimv.apiservice.service.impl;
|
|
|
|
|
|
+import cn.hutool.core.codec.Base64;
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.huimv.apiservice.dao.PigDao;
|
|
|
+import com.huimv.apiservice.dao.PigstyDao;
|
|
|
+import com.huimv.apiservice.dao.YearPigHistoryImgDao;
|
|
|
+import com.huimv.apiservice.dao.YearPigPedigreeDao;
|
|
|
+import com.huimv.apiservice.entity.PigstyEntity;
|
|
|
import com.huimv.apiservice.entity.YearPigBaseEntity;
|
|
|
-import com.huimv.apiservice.entity.vo.PigBaseVo;
|
|
|
+import com.huimv.apiservice.entity.YearPigPedigreeEntity;
|
|
|
+import com.huimv.apiservice.entity.vo.*;
|
|
|
import com.huimv.apiservice.service.PigService;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
/**
|
|
|
* @Author yinhao
|
|
|
* @Date 2021/5/8 17:22
|
|
|
* @Description
|
|
|
*/
|
|
|
@Service
|
|
|
-public class PigServiceImpl extends ServiceImpl<PigDao, YearPigBaseEntity> implements PigService {
|
|
|
+public class PigServiceImpl extends ServiceImpl<PigDao, YearPigBaseEntity> implements PigService {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private PigstyDao pigstyDao;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private YearPigHistoryImgDao yearPigHistoryImgDao;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private YearPigPedigreeDao yearPigPedigreeDao;
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public PigBaseVo getPigInfoByEarTagNo(String pigEarTagNo) {
|
|
|
+
|
|
|
+ LambdaQueryWrapper<YearPigBaseEntity> lambdaQueryWrapper = Wrappers.lambdaQuery();
|
|
|
+ lambdaQueryWrapper.eq(YearPigBaseEntity::getEartag, pigEarTagNo);
|
|
|
+
|
|
|
+ YearPigBaseEntity yearPigBaseEntity = baseMapper.selectOne(lambdaQueryWrapper);
|
|
|
+
|
|
|
+
|
|
|
+ PigBaseVo pigBaseVo = new PigBaseVo();
|
|
|
+// BeanUtil.copyProperties(yearPigBaseEntity,pigBaseVo);
|
|
|
+ if (ObjectUtil.isNotNull(yearPigBaseEntity)) {
|
|
|
+ pigBaseVo.setWeight(yearPigBaseEntity.getWeight());
|
|
|
+ pigBaseVo.setDayAge(yearPigBaseEntity.getDayAge());
|
|
|
+ pigBaseVo.setBreed(yearPigBaseEntity.getBreed());
|
|
|
+ //虚拟数据 待填充
|
|
|
+ pigBaseVo.setBirthday(new Date());
|
|
|
+ PigstyEntity pigstyEntity = pigstyDao.selectById(yearPigBaseEntity.getUnitId());
|
|
|
+ String number = pigstyEntity.getNumber();
|
|
|
+ if (StringUtils.isNotEmpty(number)) {
|
|
|
+ pigBaseVo.setPigsty(number);
|
|
|
+ }
|
|
|
+ //虚拟数据 待填充
|
|
|
+ pigBaseVo.setBodyTemperature("100");
|
|
|
+ }
|
|
|
+ return pigBaseVo;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public PigImageVo getImageByEarTagNo(String pigEarTagNo) {
|
|
|
|
|
|
+ PigImageVo pigImageVo = new PigImageVo();
|
|
|
+
|
|
|
+ pigImageVo.setPigEarTagNo(pigEarTagNo);
|
|
|
+ String img = yearPigHistoryImgDao.getLatestImgByPigEarTagNo(pigEarTagNo);
|
|
|
+ if (StringUtils.isNotEmpty(img)) {
|
|
|
+ String encodeImg = Base64.encode(img);
|
|
|
+ pigImageVo.setImageData(encodeImg);
|
|
|
+ }
|
|
|
+ return pigImageVo;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<PigBaseVo> getListByBreed(String breedName) {
|
|
|
+ LambdaQueryWrapper<YearPigBaseEntity> lambdaQueryWrapper = Wrappers.lambdaQuery();
|
|
|
+ lambdaQueryWrapper.eq(YearPigBaseEntity::getBreed, breedName);
|
|
|
+ List<YearPigBaseEntity> yearPigBaseEntityList = baseMapper.selectList(lambdaQueryWrapper);
|
|
|
+
|
|
|
+ List<PigBaseVo> pigBaseVoList = new ArrayList<>();
|
|
|
+ if (CollUtil.isNotEmpty(yearPigBaseEntityList)) {
|
|
|
+ for (YearPigBaseEntity yearPigBaseEntity : yearPigBaseEntityList) {
|
|
|
+ PigBaseVo pigBaseVo = new PigBaseVo();
|
|
|
+ pigBaseVo.setWeight(yearPigBaseEntity.getWeight());
|
|
|
+ pigBaseVo.setDayAge(yearPigBaseEntity.getDayAge());
|
|
|
+ pigBaseVo.setBreed(yearPigBaseEntity.getBreed());
|
|
|
+ //虚拟数据 待填充
|
|
|
+ pigBaseVo.setBirthday(new Date());
|
|
|
+ PigstyEntity pigstyEntity = pigstyDao.selectById(yearPigBaseEntity.getUnitId());
|
|
|
+ String number = pigstyEntity.getNumber();
|
|
|
+ if (StringUtils.isNotEmpty(number)) {
|
|
|
+ pigBaseVo.setPigsty(number);
|
|
|
+ }
|
|
|
+ //虚拟数据 待填充
|
|
|
+ pigBaseVo.setBodyTemperature("100");
|
|
|
+ pigBaseVoList.add(pigBaseVo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return pigBaseVoList;
|
|
|
+ }
|
|
|
|
|
|
@Override
|
|
|
- public PigBaseVo getPigInfoByEarTagNo(Integer pigEarTagNo) {
|
|
|
+ public PigPedigreeVo getPigPedigree(String pigEarTagNo) {
|
|
|
|
|
|
LambdaQueryWrapper<YearPigBaseEntity> lambdaQueryWrapper = Wrappers.lambdaQuery();
|
|
|
- lambdaQueryWrapper.eq(YearPigBaseEntity::getEartag,pigEarTagNo);
|
|
|
+ lambdaQueryWrapper.eq(YearPigBaseEntity::getEartag, pigEarTagNo);
|
|
|
|
|
|
YearPigBaseEntity yearPigBaseEntity = baseMapper.selectOne(lambdaQueryWrapper);
|
|
|
+ PigPedigreeVo pigPedigreeVo = new PigPedigreeVo();
|
|
|
+
|
|
|
+ if (ObjectUtil.isNotNull(yearPigBaseEntity)) {
|
|
|
+ pigPedigreeVo.setBreed(yearPigBaseEntity.getBreed());
|
|
|
+ //虚拟数据 待填充
|
|
|
+ pigPedigreeVo.setBirthday(new Date());
|
|
|
|
|
|
- return null;
|
|
|
+ LambdaQueryWrapper<YearPigPedigreeEntity> lambdaQuery = Wrappers.lambdaQuery();
|
|
|
+ lambdaQuery.eq(YearPigPedigreeEntity::getPigletEartag, pigEarTagNo);
|
|
|
+ YearPigPedigreeEntity yearPigPedigreeEntity = yearPigPedigreeDao.selectOne(lambdaQuery);
|
|
|
+
|
|
|
+ String motherEarTag = yearPigPedigreeEntity.getSowEartag();
|
|
|
+ String fatherEarTag = yearPigPedigreeEntity.getBoarEartag();
|
|
|
+
|
|
|
+ lambdaQueryWrapper.clear();
|
|
|
+ lambdaQueryWrapper.eq(YearPigBaseEntity::getEartag,motherEarTag);
|
|
|
+ YearPigBaseEntity mother = baseMapper.selectOne(lambdaQueryWrapper);
|
|
|
+ PigPedigreeMotherVo pigPedigreeMotherVo = new PigPedigreeMotherVo();
|
|
|
+ if (ObjectUtil.isNotNull(mother)) {
|
|
|
+ pigPedigreeMotherVo.setBreed(mother.getBreed());
|
|
|
+ pigPedigreeMotherVo.setWeight(mother.getWeight());
|
|
|
+ //虚拟数据 待填充
|
|
|
+ pigPedigreeMotherVo.setPregnancyDate(new Date());
|
|
|
+ pigPedigreeMotherVo.setChildCount(10);
|
|
|
+ pigPedigreeMotherVo.setOriginPlace("产地信息");
|
|
|
+ }
|
|
|
+ pigPedigreeVo.setMother(pigPedigreeMotherVo);
|
|
|
+
|
|
|
+ lambdaQuery.clear();
|
|
|
+ lambdaQueryWrapper.eq(YearPigBaseEntity::getEartag,fatherEarTag);
|
|
|
+ PigPedigreeFatherVo pigPedigreeFatherVo = new PigPedigreeFatherVo();
|
|
|
+ YearPigBaseEntity father = baseMapper.selectOne(lambdaQueryWrapper);
|
|
|
+ if (ObjectUtil.isNotNull(father)) {
|
|
|
+ pigPedigreeFatherVo.setBreed(father.getBreed());
|
|
|
+ pigPedigreeFatherVo.setOriginPlace("产地信息");
|
|
|
+ }
|
|
|
+ pigPedigreeVo.setFather(pigPedigreeFatherVo);
|
|
|
+ }
|
|
|
+
|
|
|
+ return pigPedigreeVo;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
}
|