|
@@ -154,7 +154,7 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
|
|
|
if (ObjectUtil.isEmpty(father)) {
|
|
|
return new Result(10001, "父亲编号不存在,请重新输入!", false);
|
|
|
} else {
|
|
|
- if (father.getDuckSex()==1) {
|
|
|
+ if (father.getDuckSex() == 1) {
|
|
|
return new Result(10001, "该编号为母亲编号,请重新填写!", false);
|
|
|
}
|
|
|
if (father.getDayAge() < 100) {
|
|
@@ -166,7 +166,7 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
|
|
|
if (ObjectUtil.isEmpty(mother)) {
|
|
|
return new Result(10001, "母亲编号不存在,请重新输入!", false);
|
|
|
} else {
|
|
|
- if (mother.getDuckSex() ==0) {
|
|
|
+ if (mother.getDuckSex() == 0) {
|
|
|
return new Result(10001, "该编号为父亲编号,请重新填写!", false);
|
|
|
}
|
|
|
|
|
@@ -276,7 +276,7 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
|
|
|
if (ObjectUtil.isEmpty(father)) {
|
|
|
return new Result(10001, "父亲编号不存在,请重新输入!", false);
|
|
|
} else {
|
|
|
- if (father.getDuckSex() ==1) {
|
|
|
+ if (father.getDuckSex() == 1) {
|
|
|
return new Result(10001, "该编号为母亲编号,请重新填写!", false);
|
|
|
}
|
|
|
|
|
@@ -289,7 +289,7 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
|
|
|
if (ObjectUtil.isEmpty(mother)) {
|
|
|
return new Result(10001, "母亲编号不存在,请重新输入!", false);
|
|
|
} else {
|
|
|
- if (mother.getDuckSex() ==0) {
|
|
|
+ if (mother.getDuckSex() == 0) {
|
|
|
return new Result(10001, "该编号为父亲编号,请重新填写!", false);
|
|
|
}
|
|
|
|
|
@@ -311,7 +311,7 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
|
|
|
if (baseDuckInfos.size() == 0) {
|
|
|
duckInfoMapper.updateById(baseDuckInfo);
|
|
|
return new Result(10000, "修改成功!", true);
|
|
|
- } else {
|
|
|
+ } else {
|
|
|
for (BaseDuckInfo duckInfo : baseDuckInfos) {
|
|
|
if (duckInfo.getIsCage() == 0) {
|
|
|
return new Result(10001, "鸭只编号已存在或者鸭笼已被占用", false);
|
|
@@ -408,57 +408,65 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
|
|
|
|
|
|
@Transactional
|
|
|
@Override
|
|
|
- public Result importData(HttpServletRequest httpServletRequest, Map<String,String> paramsMap,MultipartFile files) {
|
|
|
+ public Result importData(HttpServletRequest httpServletRequest, Map<String, String> paramsMap, MultipartFile files) {
|
|
|
String farmId = paramsMap.get("farmId");
|
|
|
- Map<String , String> map = new HashMap<>();
|
|
|
+ Map<String, String> map = new HashMap<>();
|
|
|
//表头与键值对的映射关系
|
|
|
- map.put("翅号" , "chiNum");
|
|
|
- map.put("脚号" , "jiaoNum");
|
|
|
- map.put("代次号" , "batchNum");
|
|
|
- map.put("性别" , "duckSex");
|
|
|
- map.put("品种" , "duckBreed");
|
|
|
- map.put("来源" , "duckBirthplace");
|
|
|
- map.put("基因型" , "genotype");
|
|
|
- map.put("出生日期" , "duckBirthday");
|
|
|
- map.put("位置" , "unitName");
|
|
|
- map.put("当前体重" , "nowWeight");
|
|
|
- map.put("饲养环境" , "breedingEnv");
|
|
|
- map.put("特殊需求" , "specialNeeds");
|
|
|
- map.put("父亲翅号" , "fatherChiNum");
|
|
|
- map.put("父亲脚号" , "fatherJiaoNum");
|
|
|
- map.put("母亲翅号" , "motherChiNum");
|
|
|
- map.put("母亲脚号" , "motherJiaoNum");
|
|
|
- try(
|
|
|
+ map.put("翅号", "chiNum");
|
|
|
+ map.put("脚号", "jiaoNum");
|
|
|
+ map.put("代次号", "batchNum");
|
|
|
+ map.put("性别", "duckSex");
|
|
|
+ map.put("品种", "duckBreed");
|
|
|
+ map.put("来源", "duckBirthplace");
|
|
|
+ map.put("基因型", "genotype");
|
|
|
+ map.put("出生日期", "duckBirthday");
|
|
|
+ map.put("位置", "unitName");
|
|
|
+ map.put("当前体重", "nowWeight");
|
|
|
+ map.put("饲养环境", "breedingEnv");
|
|
|
+ map.put("特殊需求", "specialNeeds");
|
|
|
+ map.put("父亲翅号", "fatherChiNum");
|
|
|
+ map.put("父亲脚号", "fatherJiaoNum");
|
|
|
+ map.put("母亲翅号", "motherChiNum");
|
|
|
+ map.put("母亲脚号", "motherJiaoNum");
|
|
|
+ try (
|
|
|
//这里面的对象会自动关闭
|
|
|
InputStream in = files.getInputStream();
|
|
|
- Workbook workbook = ExcelImportSheet.getTypeFromExtends(in , files.getOriginalFilename())
|
|
|
+ Workbook workbook = ExcelImportSheet.getTypeFromExtends(in, files.getOriginalFilename())
|
|
|
) {
|
|
|
|
|
|
//根据名称获取单张表对象 也可以使用getSheetAt(int index)获取单张表的对象 获取第一张表
|
|
|
Sheet sheet = workbook.getSheetAt(0);
|
|
|
- List<BaseDuckInfoImportData> list = ExcelImportSheet.getListFromExcel(sheet , BaseDuckInfoImportData.class , map);
|
|
|
+ List<BaseDuckInfoImportData> list = ExcelImportSheet.getListFromExcel(sheet, BaseDuckInfoImportData.class, map);
|
|
|
|
|
|
for (BaseDuckInfoImportData breed : list) {
|
|
|
//底层数据库操作 insert什么的
|
|
|
- QueryWrapper<BaseBuilding> queryWrapper = new QueryWrapper<>();
|
|
|
- queryWrapper.eq("farm_id", farmId).eq("build_name", breed.getUnitName());
|
|
|
- BaseBuilding baseBuilding = buildingMapper.selectOne(queryWrapper);
|
|
|
- Integer integer = baseMapper.selectCount(new QueryWrapper<BaseDuckInfo>().lambda().ne(BaseDuckInfo::getChiNum,breed.getChiNum()).eq(BaseDuckInfo::getUnitId, baseBuilding.getId()).eq(BaseDuckInfo::getFarmId, farmId).eq(BaseDuckInfo::getIsCage, 0));
|
|
|
- if (integer > 0){
|
|
|
- return new Result(10001,breed.getUnitName()+"已存在鸭只!",false);
|
|
|
+ if (StringUtils.isNotBlank(breed.getUnitName())) {
|
|
|
+ QueryWrapper<BaseBuilding> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("farm_id", farmId).eq("build_name", breed.getUnitName());
|
|
|
+ BaseBuilding baseBuilding = buildingMapper.selectOne(queryWrapper);
|
|
|
+ Integer integer = baseMapper.selectCount(new QueryWrapper<BaseDuckInfo>().lambda()
|
|
|
+ .eq(BaseDuckInfo::getUnitId, baseBuilding.getId()).eq(BaseDuckInfo::getFarmId, farmId)
|
|
|
+ .eq(BaseDuckInfo::getIsCage, 0).ne(BaseDuckInfo::getChiNum,breed.getChiNum()));
|
|
|
+ if (integer > 0) {
|
|
|
+ return new Result(10001, breed.getUnitName() + "已存在鸭只!", false);
|
|
|
+ }
|
|
|
+ breed.setUnitId(baseBuilding.getId());
|
|
|
+ breed.setUnitList(baseBuilding.getParentId() + "," + baseBuilding.getId());
|
|
|
}
|
|
|
+
|
|
|
Batch batch = batchMapper.selectOne(new QueryWrapper<Batch>().lambda().eq(Batch::getBatchNum, breed.getBatchNum()).eq(Batch::getFarmId, farmId).eq(Batch::getIsEnable, 0));
|
|
|
- if (ObjectUtil.isEmpty(batch)){
|
|
|
- return new Result(10001,"批次号"+breed.getBatchNum()+"不存在或未启用!",false);
|
|
|
+ if (ObjectUtil.isEmpty(batch)) {
|
|
|
+ return new Result(10001, "批次号" + breed.getBatchNum() + "不存在或未启用!", false);
|
|
|
}
|
|
|
- breed.setUnitId(baseBuilding.getId());
|
|
|
- breed.setUnitList(baseBuilding.getParentId() + "," + baseBuilding.getId());
|
|
|
+
|
|
|
breed.setFarmId(Integer.parseInt(farmId));
|
|
|
- if ("雄性".equals(breed.getDuckSex())) {
|
|
|
- breed.setDuckSex("0");
|
|
|
- }
|
|
|
- if ("雌性".equals(breed.getDuckSex())) {
|
|
|
- breed.setDuckSex("1");
|
|
|
+ if (StringUtils.isNotBlank(breed.getDuckSex())) {
|
|
|
+ if ("雄性".equals(breed.getDuckSex())) {
|
|
|
+ breed.setDuckSex("0");
|
|
|
+ }
|
|
|
+ if ("雌性".equals(breed.getDuckSex())) {
|
|
|
+ breed.setDuckSex("1");
|
|
|
+ }
|
|
|
}
|
|
|
QueryWrapper<BaseDuckBreedImg> queryWrapper1 = new QueryWrapper<>();
|
|
|
if ("北京鸭".equals(breed.getDuckBreed())) {
|
|
@@ -466,12 +474,12 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
|
|
|
BaseDuckBreedImg img = imgMapper.selectOne(queryWrapper1);
|
|
|
breed.setDuckBreed("1");
|
|
|
breed.setDuckImgUrl(img.getImgUrl());
|
|
|
- }else if ("连城白鸭".equals(breed.getDuckBreed())) {
|
|
|
+ } else if ("连城白鸭".equals(breed.getDuckBreed())) {
|
|
|
queryWrapper1.eq("duck_breed", 2);
|
|
|
BaseDuckBreedImg img = imgMapper.selectOne(queryWrapper1);
|
|
|
breed.setDuckBreed("2");
|
|
|
breed.setDuckImgUrl(img.getImgUrl());
|
|
|
- }else if ("山麻鸭".equals(breed.getDuckBreed())) {
|
|
|
+ } else if ("山麻鸭".equals(breed.getDuckBreed())) {
|
|
|
queryWrapper1.eq("duck_breed", 3);
|
|
|
BaseDuckBreedImg img = imgMapper.selectOne(queryWrapper1);
|
|
|
breed.setDuckBreed("3");
|
|
@@ -481,22 +489,22 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
|
|
|
BaseDuckBreedImg img = imgMapper.selectOne(queryWrapper1);
|
|
|
breed.setDuckBreed("4");
|
|
|
breed.setDuckImgUrl(img.getImgUrl());
|
|
|
- }else if ("白改鸭".equals(breed.getDuckBreed())) {
|
|
|
+ } else if ("白改鸭".equals(breed.getDuckBreed())) {
|
|
|
queryWrapper1.eq("duck_breed", 5);
|
|
|
BaseDuckBreedImg img = imgMapper.selectOne(queryWrapper1);
|
|
|
breed.setDuckBreed("5");
|
|
|
breed.setDuckImgUrl(img.getImgUrl());
|
|
|
- }else if ("缙云麻鸭".equals(breed.getDuckBreed())) {
|
|
|
+ } else if ("缙云麻鸭".equals(breed.getDuckBreed())) {
|
|
|
queryWrapper1.eq("duck_breed", 6);
|
|
|
BaseDuckBreedImg img = imgMapper.selectOne(queryWrapper1);
|
|
|
breed.setDuckBreed("6");
|
|
|
breed.setDuckImgUrl(img.getImgUrl());
|
|
|
- }else if ("绍兴鸭(带圈白翼梢)".equals(breed.getDuckBreed())) {
|
|
|
+ } else if ("绍兴鸭(带圈白翼梢)".equals(breed.getDuckBreed())) {
|
|
|
queryWrapper1.eq("duck_breed", 7);
|
|
|
BaseDuckBreedImg img = imgMapper.selectOne(queryWrapper1);
|
|
|
breed.setDuckBreed("7");
|
|
|
breed.setDuckImgUrl(img.getImgUrl());
|
|
|
- }else if ("绍兴鸭(红毛绿翼梢)".equals(breed.getDuckBreed())) {
|
|
|
+ } else if ("绍兴鸭(红毛绿翼梢)".equals(breed.getDuckBreed())) {
|
|
|
queryWrapper1.eq("duck_breed", 8);
|
|
|
BaseDuckBreedImg img = imgMapper.selectOne(queryWrapper1);
|
|
|
breed.setDuckBreed("8");
|
|
@@ -523,14 +531,16 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
|
|
|
// 计算两个日期之间的天数
|
|
|
int between = daysBetween(birthday, date2);
|
|
|
baseDuckInfo.setDayAge(between);
|
|
|
- baseDuckInfo.setDuckSex(Integer.parseInt(breed.getDuckSex()));
|
|
|
+ if (StringUtils.isNotBlank(breed.getDuckSex())) {
|
|
|
+ baseDuckInfo.setDuckSex(Integer.parseInt(breed.getDuckSex()));
|
|
|
+ }
|
|
|
baseDuckInfo.setDuckBreed(Integer.parseInt(breed.getDuckBreed()));
|
|
|
baseDuckInfo.setIsCage(0);
|
|
|
//翅号存在就更新
|
|
|
- BaseDuckInfo baseDuckInfo1 = baseMapper.selectOne(new QueryWrapper<BaseDuckInfo>().lambda().eq(BaseDuckInfo::getChiNum, breed.getChiNum()).eq(BaseDuckInfo::getFarmId,farmId));
|
|
|
- if (ObjectUtil.isNotEmpty(baseDuckInfo1)){
|
|
|
- baseMapper.update(baseDuckInfo,new UpdateWrapper<BaseDuckInfo>().lambda().eq(BaseDuckInfo::getChiNum,baseDuckInfo.getChiNum()).eq(BaseDuckInfo::getFarmId,farmId));
|
|
|
- }else {
|
|
|
+ BaseDuckInfo baseDuckInfo1 = baseMapper.selectOne(new QueryWrapper<BaseDuckInfo>().lambda().eq(BaseDuckInfo::getChiNum, breed.getChiNum()).eq(BaseDuckInfo::getFarmId, farmId));
|
|
|
+ if (ObjectUtil.isNotEmpty(baseDuckInfo1)) {
|
|
|
+ baseMapper.update(baseDuckInfo, new UpdateWrapper<BaseDuckInfo>().lambda().eq(BaseDuckInfo::getChiNum, baseDuckInfo.getChiNum()).eq(BaseDuckInfo::getFarmId, farmId));
|
|
|
+ } else {
|
|
|
baseMapper.insert(baseDuckInfo);
|
|
|
}
|
|
|
System.out.println(breed.toString());
|
|
@@ -538,7 +548,7 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
return new Result(10001, "数据格式异常!", false);
|
|
|
- }finally {
|
|
|
+ } finally {
|
|
|
//写着好看的
|
|
|
}
|
|
|
return new Result(10000, "保存成功!", true);
|
|
@@ -579,7 +589,7 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
|
|
|
|
|
|
/*Date timesmorning = DataUill.getTimesmorning();*/
|
|
|
QueryWrapper<EnvRegularCallFeeding> queryWrapper1 = new QueryWrapper<>();
|
|
|
- queryWrapper1.eq("farm_id", farmId).ne("duck_weight",0.0).eq("duck_num", duckNum)/*.ge("call_date",timesmorning)*/;
|
|
|
+ queryWrapper1.eq("farm_id", farmId).ne("duck_weight", 0.0).eq("duck_num", duckNum)/*.ge("call_date",timesmorning)*/;
|
|
|
List<EnvRegularCallFeeding> feedings = feedingMapper.listDayDesc(queryWrapper1);
|
|
|
JSONArray jsonArray = new JSONArray();
|
|
|
for (EnvRegularCallFeeding feeding : feedings) {
|
|
@@ -597,6 +607,7 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
|
|
|
jsonObject.put("feedInfo", jsonArray);
|
|
|
return new Result(ResultCode.SUCCESS, jsonObject);
|
|
|
}
|
|
|
+
|
|
|
@Override
|
|
|
public Result listDuckByScreen2(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) throws ParseException {
|
|
|
String farmId = paramsMap.get("farmId");
|
|
@@ -611,7 +622,7 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
|
|
|
List<EnvMoveCall> moveCalls = moveCallMapper.selectList(callQueryWrapper);
|
|
|
if (moveCalls.size() == 0) {
|
|
|
QueryWrapper<EnvMoveCall> queryWrapper = new QueryWrapper<>();
|
|
|
- queryWrapper.eq("farm_id", farmId).ge("call_date",dateTime);
|
|
|
+ queryWrapper.eq("farm_id", farmId).ge("call_date", dateTime);
|
|
|
List<EnvMoveCallVo> envMoveCallVos = moveCallMapper.listScreen2(queryWrapper);
|
|
|
for (EnvMoveCallVo envMoveCallVo : envMoveCallVos) {
|
|
|
EnvMoveCallVo moveCallVo = new EnvMoveCallVo();
|
|
@@ -623,7 +634,7 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
|
|
|
jsonObject.put("weight", envMoveCallVoList);
|
|
|
} else {
|
|
|
QueryWrapper<EnvMoveCall> queryWrapper = new QueryWrapper<>();
|
|
|
- queryWrapper.eq("farm_id", farmId).ge("call_date",dateTime);
|
|
|
+ queryWrapper.eq("farm_id", farmId).ge("call_date", dateTime);
|
|
|
List<EnvMoveCallVo> envMoveCallVos = moveCallMapper.listScreen2(queryWrapper);
|
|
|
int i = 7;
|
|
|
QueryWrapper<EnvMoveCall> queryWrapper2 = new QueryWrapper<>();
|
|
@@ -703,7 +714,7 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
|
|
|
List<EnvRegularCallFeeding> feedings = feedingMapper.selectList(feedingQueryWrapper);
|
|
|
if (feedings.size() == 0) {
|
|
|
QueryWrapper<EnvRegularCallFeeding> queryWrapper1 = new QueryWrapper<>();
|
|
|
- queryWrapper1.eq("farm_id", farmId).eq("event_type", 0).ge("call_date",dateTime);
|
|
|
+ queryWrapper1.eq("farm_id", farmId).eq("event_type", 0).ge("call_date", dateTime);
|
|
|
List<EnvRegularCallFeedingVo> envRegularCallFeedingVos = feedingMapper.listScreen2(queryWrapper1);
|
|
|
queryWrapper1.groupBy("duck_num");
|
|
|
List<EnvRegularCallFeeding> list = feedingMapper.selectList(queryWrapper1);
|
|
@@ -724,17 +735,17 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
|
|
|
queryWrapper1.groupBy("duck_num");
|
|
|
List<EnvRegularCallFeeding> list = feedingMapper.selectList(queryWrapper1);
|
|
|
QueryWrapper<EnvRegularCallFeeding> queryWrapper2 = new QueryWrapper<>();
|
|
|
- queryWrapper2.eq("farm_id",farmId).eq("duck_num",duckNum).eq("event_type", 0).ge("call_date",dateTime);
|
|
|
+ queryWrapper2.eq("farm_id", farmId).eq("duck_num", duckNum).eq("event_type", 0).ge("call_date", dateTime);
|
|
|
List<EnvRegularCallFeedingVo> feedingVoList1 = feedingMapper.listScreen2(queryWrapper2);//某只鸭子的总采食量
|
|
|
int i = 0;
|
|
|
for (EnvRegularCallFeedingVo envRegularCallFeedingVo : feedingVoList1) {
|
|
|
Date callDate = envRegularCallFeedingVo.getCallDate();
|
|
|
- System.out.println("这个是平均值的时间:"+callDate);
|
|
|
+ System.out.println("这个是平均值的时间:" + callDate);
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
String format = sdf.format(callDate);
|
|
|
- System.out.println("格式化后的时间:"+format);
|
|
|
- String start= format + " 00:00:00";
|
|
|
- String end= format + " 23:59:59";
|
|
|
+ System.out.println("格式化后的时间:" + format);
|
|
|
+ String start = format + " 00:00:00";
|
|
|
+ String end = format + " 23:59:59";
|
|
|
QueryWrapper<EnvRegularCallFeeding> callFeedingQueryWrapper = new QueryWrapper<>();
|
|
|
callFeedingQueryWrapper.eq("farm_id", farmId).eq("event_type", 0).between("call_date", start, end);
|
|
|
callFeedingQueryWrapper.select("IFNULL(SUM(duck_weight),0) duckWeight");
|