wwh 1 年間 前
コミット
16cd24853f

+ 73 - 62
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/BaseDuckInfoServiceImpl.java

@@ -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");