Bläddra i källkod

导出修改1

wwh 1 år sedan
förälder
incheckning
19c118ee6c

+ 1 - 1
huimv-admin/src/main/java/com/huimv/guowei/admin/controller/DuckHealthInfoController.java

@@ -39,7 +39,7 @@ public class DuckHealthInfoController {
     }
 
     @RequestMapping("/addDuck")
-    public Result addDuck(HttpServletRequest httpServletRequest, @RequestBody DuckHealthInfoVo healthInfo) throws ParseException {
+    public Result addDuck(HttpServletRequest httpServletRequest, @RequestBody DuckHealthInfo healthInfo) throws ParseException {
         return healthInfoService.addHealth(httpServletRequest, healthInfo);
     }
 

+ 3 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/mapper/EnvRegularCallFeedingMapper.java

@@ -8,6 +8,7 @@ import com.huimv.guowei.admin.entity.EnergyElectricity;
 import com.huimv.guowei.admin.entity.EnvRegularCallEgg;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.huimv.guowei.admin.entity.EnvRegularCallFeeding;
+import com.huimv.guowei.admin.entity.vo.EnvRegularCallEggVo;
 import com.huimv.guowei.admin.entity.vo.EnvRegularCallFeedingVo;
 import org.apache.ibatis.annotations.Param;
 
@@ -37,4 +38,6 @@ public interface EnvRegularCallFeedingMapper extends BaseMapper<EnvRegularCallFe
 
     List<EnvRegularCallFeeding> listDayDesc(@Param(Constants.WRAPPER) QueryWrapper<EnvRegularCallFeeding> queryWrapper);
 
+    List<EnvRegularCallEggVo> listCount(String duckNum);
+
 }

+ 1 - 1
huimv-admin/src/main/java/com/huimv/guowei/admin/service/IDuckHealthInfoService.java

@@ -21,7 +21,7 @@ public interface IDuckHealthInfoService extends IService<DuckHealthInfo> {
 
     Result listById(HttpServletRequest httpServletRequest, Map<String,String> paramsMap);
 
-    Result addHealth(HttpServletRequest httpServletRequest, DuckHealthInfoVo healthInfo) throws ParseException;
+    Result addHealth(HttpServletRequest httpServletRequest, DuckHealthInfo healthInfo) throws ParseException;
 
     Result listByH5(HttpServletRequest httpServletRequest, Map<String,String> paramsMap);
 

+ 46 - 2
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/BaseDuckInfoServiceImpl.java

@@ -132,7 +132,7 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
             } else {
 
                 if (father.getDayAge() < 100) {
-                    return new Result(10001, "该鸭只日龄小于100天,暂不能作为公种鸭!", false);
+                    return new Result(10001, "父亲(或母亲)鸭只日龄小于100天", false);
                 } else {
                     QueryWrapper<BaseDuckInfo> duckInfoQueryWrapper1 = new QueryWrapper<>();
                     duckInfoQueryWrapper1.eq("farm_id", paramsMap.get("farmId")).eq("duck_num", motherNum).eq("is_cage",0);
@@ -141,7 +141,7 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
                         return new Result(10001, "母亲编号不存在,请重新输入!", false);
                     } else {
                         if (mother.getDayAge() < 100) {
-                            return new Result(10001, "该鸭只日龄小于100天,暂不能作为母种鸭!", false);
+                            return new Result(10001, "父亲(或母亲)鸭只日龄小于100天!", false);
                         } else {
                             baseDuckInfo.setFatherNum(paramsMap.get("fatherNum"));
                             baseDuckInfo.setMotherNum(paramsMap.get("motherNum"));
@@ -217,6 +217,48 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
 
     @Override
     public Result editDuck(HttpServletRequest httpServletRequest, BaseDuckInfo baseDuckInfo) {
+
+        Date date = baseDuckInfo.getDuckBirthday();
+        Date date2 = new Date();
+        // 计算两个日期之间的天数
+        int between = daysBetween(date, date2);
+        baseDuckInfo.setDayAge(between);
+
+        String fatherNum = baseDuckInfo.getFatherNum();
+        String motherNum = baseDuckInfo.getMotherNum();
+        String duckCode = baseDuckInfo.getDuckNum();
+        if (StringUtils.isNotBlank(fatherNum) && StringUtils.isNotBlank(motherNum)) {
+            if (fatherNum.equals(motherNum) ||
+                    motherNum.equals(duckCode) ||
+                    fatherNum.equals(duckCode)) {
+                return new Result(10001, "鸭只编号、父亲编号、母亲编号三者的编号不能相同!", false);
+            }
+            QueryWrapper<BaseDuckInfo> duckInfoQueryWrapper = new QueryWrapper<>();
+            duckInfoQueryWrapper.eq("farm_id", baseDuckInfo.getFarmId()).eq("duck_num", fatherNum).eq("is_cage",0);
+            BaseDuckInfo father = duckInfoMapper.selectOne(duckInfoQueryWrapper);//父亲编号
+
+            if (ObjectUtil.isEmpty(father)) {
+                return new Result(10001, "父亲编号不存在,请重新输入!", false);
+            } else {
+
+                if (father.getDayAge() < 100) {
+                    return new Result(10001, "父亲(或母亲)鸭只日龄小于100天", false);
+                } else {
+                    QueryWrapper<BaseDuckInfo> duckInfoQueryWrapper1 = new QueryWrapper<>();
+                    duckInfoQueryWrapper1.eq("farm_id",  baseDuckInfo.getFarmId()).eq("duck_num", motherNum).eq("is_cage",0);
+                    BaseDuckInfo mother = duckInfoMapper.selectOne(duckInfoQueryWrapper1);//母亲编号
+                    if (ObjectUtil.isEmpty(mother)) {
+                        return new Result(10001, "母亲编号不存在,请重新输入!", false);
+                    } else {
+                        if (mother.getDayAge() < 100) {
+                            return new Result(10001, "父亲(或母亲)鸭只日龄小于100天!", false);
+                        }
+                    }
+                }
+            }
+        }
+
+
         QueryWrapper<BaseDuckInfo> queryWrapper = new QueryWrapper<>();
         queryWrapper.ne("id", baseDuckInfo.getId()).and(i -> i.eq("duck_num", baseDuckInfo.getDuckNum()).or().eq("unit_id", baseDuckInfo.getUnitId()));
         BaseDuckInfo baseDuckInfo1 = duckInfoMapper.selectOne(queryWrapper);
@@ -247,8 +289,10 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
         queryWrapper1.eq("duck_num", duckCode);
         List<EnvMoveCall> envMoveCalls = moveCallMapper.selectList(queryWrapper1);//日龄体重
         QueryWrapper<DuckHealthInfo> healthInfoQueryWrapper = new QueryWrapper<>();
+        healthInfoQueryWrapper.eq("duck_num", duckCode);
         List<DuckHealthInfo> duckHealthInfos = healthInfoMapper.selectList(healthInfoQueryWrapper);//健康状况
         QueryWrapper<DuckImmunityInfo> queryWrapper2 = new QueryWrapper<>();
+        queryWrapper2.eq("duck_num", duckCode);
         List<DuckImmunityInfo> duckImmunityInfos = infoMapper.selectList(queryWrapper2);//免疫记录
         Print.printDuck(baseDuckInfo, duckHealthInfos, duckImmunityInfos, envMoveCalls);
     }

+ 13 - 18
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/DuckHealthInfoServiceImpl.java

@@ -1,14 +1,13 @@
 package com.huimv.guowei.admin.service.impl;
 
-import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huimv.guowei.admin.common.utils.DataUill;
 import com.huimv.guowei.admin.common.utils.Result;
 import com.huimv.guowei.admin.common.utils.ResultCode;
 import com.huimv.guowei.admin.entity.BaseDuckInfo;
 import com.huimv.guowei.admin.entity.DuckHealthInfo;
-import com.huimv.guowei.admin.entity.vo.DuckHealthInfoVo;
 import com.huimv.guowei.admin.mapper.BaseDuckInfoMapper;
 import com.huimv.guowei.admin.mapper.DuckHealthInfoMapper;
 import com.huimv.guowei.admin.service.IDuckHealthInfoService;
@@ -64,37 +63,33 @@ public class DuckHealthInfoServiceImpl extends ServiceImpl<DuckHealthInfoMapper,
             endDate = endDate + " 23:59:59";
             queryWrapper.eq("duck_id", duckNum).eq("farm_id", farmId).between("health_date", startDate, endDate).orderByAsc("health_date");
         }
-        queryWrapper.orderByDesc("id");
         Page<DuckHealthInfo> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
         return new Result(ResultCode.SUCCESS, healthInfoMapper.selectPage(page, queryWrapper));
     }
 
     @Override
-    public Result addHealth(HttpServletRequest httpServletRequest, DuckHealthInfoVo healthInfo) throws ParseException {
+    public Result addHealth(HttpServletRequest httpServletRequest,DuckHealthInfo healthInfo) throws ParseException {
 
-        DuckHealthInfo duckHealthInfo = new DuckHealthInfo();
-        BeanUtil.copyProperties(healthInfo,duckHealthInfo);
         Integer farmId = healthInfo.getFarmId();
-        Integer duckNum = healthInfo.getDuckNum();
+        String duckNum = healthInfo.getDuckNum();
         QueryWrapper<BaseDuckInfo> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("duck_num", duckNum);
         BaseDuckInfo baseDuckInfo = infoMapper.selectOne(queryWrapper);
 
         Date healthDate = healthInfo.getHealthDate();//发病时间
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-        Date date = new Date();
-        String format = sdf.format(date);
-        Date parse = sdf.parse(format);//今天日期
-        if (healthDate.getTime() > parse.getTime()) {
+        Date timesmorning = DataUill.getTimesmorning();
+
+        if (healthDate.getTime() > timesmorning.getTime()) {
             return new Result(10001, "发病日期不能晚于今日!", false);
         } else {
-            duckHealthInfo.setHealthDate(healthDate);
+            healthInfo.setHealthDate(healthDate);
         }
-        duckHealthInfo.setDuckNum(baseDuckInfo.getDuckNum()+"");
-        duckHealthInfo.setFarmId(farmId);
-        duckHealthInfo.setUnitId(baseDuckInfo.getUnitId());
-        duckHealthInfo.setUnitName(baseDuckInfo.getUnitName());
-        healthInfoMapper.insert(duckHealthInfo);
+        healthInfo.setDuckNum(baseDuckInfo.getDuckNum());
+        healthInfo.setFarmId(farmId);
+        healthInfo.setDuckId(baseDuckInfo.getId());
+        healthInfo.setUnitId(baseDuckInfo.getUnitId());
+        healthInfo.setUnitName(baseDuckInfo.getUnitName());
+        healthInfoMapper.insert(healthInfo);
         return new Result(ResultCode.SUCCESS);
     }
 

+ 3 - 7
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/EnvRegularCallEggServiceImpl.java

@@ -10,6 +10,7 @@ import com.huimv.guowei.admin.common.utils.DataUill;
 import com.huimv.guowei.admin.common.utils.Result;
 import com.huimv.guowei.admin.common.utils.ResultCode;
 import com.huimv.guowei.admin.entity.*;
+import com.huimv.guowei.admin.entity.vo.EnvRegularCallEggVo;
 import com.huimv.guowei.admin.mapper.*;
 import com.huimv.guowei.admin.service.IEnvRegularCallEggService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -145,13 +146,8 @@ public class EnvRegularCallEggServiceImpl extends ServiceImpl<EnvRegularCallEggM
     @Override
     public void printEgg(HttpServletResponse response, Map<String, String> paramsMap) throws Exception {
         String duckCode = paramsMap.get("duckCode");
-        QueryWrapper<EnvRegularCallEgg> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("duck_num", duckCode);
-        List<EnvRegularCallEgg> eggs = eggMapper.printEggList(queryWrapper);
-        QueryWrapper<EnvRegularCallFeeding> queryWrapper1 = new QueryWrapper<>();
-        queryWrapper1.eq("duck_num", duckCode);
-        List<EnvRegularCallFeeding> feedings = feedingMapper.listDay(queryWrapper1);
-        Print.printEgg(eggs, feedings);
+        List<EnvRegularCallEggVo> envRegularCallEggVos = feedingMapper.listCount(duckCode);
+        Print.printEgg(envRegularCallEggVos);
     }
 
     @Override

+ 38 - 27
huimv-admin/src/main/java/com/huimv/guowei/admin/utils/Print.java

@@ -1,5 +1,6 @@
 package com.huimv.guowei.admin.utils;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.huimv.guowei.admin.entity.*;
@@ -36,10 +37,34 @@ public class Print {
         //绑定数据
         Context context = new Context();
         context.putVar("duckCode", duckInfo.getDuckNum());
-        context.putVar("duckType", duckInfo.getDuckBreed());
-        context.putVar("duckSex", duckInfo.getDuckSex());
+        if (duckInfo.getDuckBreed() == 1) {
+            context.putVar("duckType", "北京鸭");
+        } else if (duckInfo.getDuckBreed() == 2) {
+            context.putVar("duckType", "连城白鸭");
+        } else if (duckInfo.getDuckBreed() == 3) {
+            context.putVar("duckType", "山麻鸭");
+        } else if (duckInfo.getDuckBreed() == 4) {
+            context.putVar("duckType", "攸县麻鸭");
+        } else if (duckInfo.getDuckBreed() == 5) {
+            context.putVar("duckType", "白改鸭");
+        } else if (duckInfo.getDuckBreed() == 6) {
+            context.putVar("duckType", "缙云麻鸭");
+        } else if (duckInfo.getDuckBreed() == 7) {
+            context.putVar("duckType", "绍兴鸭(带圈白翼梢)");
+        } else if (duckInfo.getDuckBreed() == 8) {
+            context.putVar("duckType", "绍兴鸭(红毛绿翼梢)");
+        } else if (duckInfo.getDuckBreed() == 9) {
+            context.putVar("duckType", "绍兴鸭(白羽绍鸭)");
+        }
+
+        if (duckInfo.getDuckSex() == 0) {
+            context.putVar("duckSex", "雌");
+        } else {
+            context.putVar("duckSex", "雄");
+        }
+
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-        context.putVar("duckDate",sdf.format( duckInfo.getDuckBirthday()));
+        context.putVar("duckDate", sdf.format(duckInfo.getDuckBirthday()));
         context.putVar("address", duckInfo.getDuckBirthplace());
         context.putVar("father", duckInfo.getFatherNum());
         context.putVar("father2", duckInfo.getFatherGenotype());
@@ -51,7 +76,7 @@ public class Print {
         //健康状况
         for (DuckHealthInfo healthInfo : healthInfos) {
             if ("".equals(healthInfo.getHealthResult()) || null == healthInfo.getHealthResult()) {
-                s1 = sdf.format(healthInfo.getHealthDate()) + "无"+ ";" + "\n" + s1;
+                s1 = sdf.format(healthInfo.getHealthDate()) + "无" + ";" + "\n" + s1;
             } else {
                 s1 = sdf.format(healthInfo.getHealthDate()) + healthInfo.getHealthResult() + ";" + "\n" + s1;
             }
@@ -83,7 +108,7 @@ public class Print {
         JxlsHelper.getInstance().processTemplate(is, os, context);
     }
 
-    public static void printEgg(List<EnvRegularCallEgg> eggs, List<EnvRegularCallFeeding> feedings) throws Exception {
+    public static void printEgg(List<EnvRegularCallEggVo> eggs) throws Exception {
 
         //准备数据
         String path = "/opt/guowei/egg.xls";
@@ -94,28 +119,14 @@ public class Print {
         //绑定数据
         Context context = new Context();
         List<EnvRegularCallEggVo> list = new ArrayList<>();
-        for (EnvRegularCallFeeding feeding : feedings) {
-
-            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-            String format = sdf.format(feeding.getCallDate());
-            for (EnvRegularCallEgg egg : eggs) {
-                EnvRegularCallEggVo eggVo = new EnvRegularCallEggVo();
-                String s = sdf.format(egg.getCallDate());
-                if (s.equals(format)) {
-                    eggVo.setDate(sdf.format(feeding.getCallDate()));
-                    eggVo.setDuckCode(feeding.getDuckNum());
-                    eggVo.setFeed(feeding.getDuckWeight());
-                    eggVo.setEggNum(egg.getEggNum());
-                    eggVo.setWeight(egg.getDuckWeight());
-                } else {
-                    eggVo.setDate(sdf.format(feeding.getCallDate()));
-                    eggVo.setDuckCode(feeding.getDuckNum());
-                    eggVo.setFeed(feeding.getDuckWeight());
-                    eggVo.setEggNum(0);
-                    eggVo.setWeight((double) 0);
-                }
-                list.add(eggVo);
-            }
+        for (EnvRegularCallEggVo egg : eggs) {
+            EnvRegularCallEggVo eggVo = new EnvRegularCallEggVo();
+            eggVo.setEggNum(egg.getEggNum());
+            eggVo.setDuckCode(egg.getDuckCode());
+            eggVo.setDate(egg.getDate());
+            eggVo.setFeed(egg.getFeed());
+            eggVo.setWeight(egg.getWeight());
+            list.add(eggVo);
         }
         context.putVar("list", list);
         //生成

+ 19 - 0
huimv-admin/src/main/resources/com/huimv/guowei/admin/mapper/EnvRegularCallFeedingMapper.xml

@@ -68,4 +68,23 @@
         GROUP BY DATE_FORMAT(call_date,'%Y-%m-%d')
         ORDER BY call_date ASC
     </select>
+
+    <select id="listCount" resultType="com.huimv.guowei.admin.entity.vo.EnvRegularCallEggVo">
+ SELECT t1.duck_num AS duckCode,IFNULL(t1.duckWeight, 0) AS feed, IFNULL(t2.eggNum, 0) AS eggNum,
+       IFNULL(t1.duckWeight, 0) + IFNULL(t2.eggWeight, 0) AS weight, t1.call_date AS date
+FROM (
+    SELECT IFNULL(SUM(duck_weight), 0) AS duckWeight, DATE_FORMAT(call_date, "%Y-%m-%d") AS call_date,duck_num
+    FROM `env_regular_call_feeding`
+    WHERE duck_num = #{duckNum}
+    GROUP BY DATE_FORMAT(call_date, "%Y-%m-%d")
+) t1
+LEFT JOIN (
+    SELECT IFNULL(SUM(egg_num), 0) AS eggNum, IFNULL(SUM(duck_weight), 0) AS eggWeight, DATE_FORMAT(call_date, "%Y-%m-%d") AS call_date
+    FROM `env_regular_call_egg`
+    WHERE duck_num = #{duckNum}
+    GROUP BY DATE_FORMAT(call_date, "%Y-%m-%d")
+) t2
+ON DATE_FORMAT(t1.call_date,"%Y-%m-%d") = DATE_FORMAT(t2.call_date,"%Y-%m-%d")
+ORDER BY t1.call_date Desc;
+    </select>
 </mapper>