소스 검색

批量打印

wwh 1 년 전
부모
커밋
53798d6c23

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

@@ -104,7 +104,7 @@ public class EnvDeviceEquipmentController {
 
         } catch (Exception e) {
             System.out.println("22222222222" + e);
-            return new Result(10001, "修改失败", false);
+            return new Result(10001, "设备暂未开启!", false);
         }
 
     }

+ 29 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/entity/PrintEntrty.java

@@ -0,0 +1,29 @@
+package com.huimv.guowei.admin.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author author
+ * @since 2023-06-14
+ */
+@Data
+public class PrintEntrty  {
+    private BaseDuckInfo baseDuckInfo;
+    private List<EnvMoveCall> envMoveCalls;
+    private List<DuckHealthInfo> duckHealthInfos;
+    private List<DuckImmunityInfo> duckImmunityInfos;
+ }

+ 31 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/entity/PrintEntrtyVo.java

@@ -0,0 +1,31 @@
+package com.huimv.guowei.admin.entity;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author author
+ * @since 2023-06-14
+ */
+@Data
+public class PrintEntrtyVo {
+    private String duckCode;
+    private String duckType;
+    private String duckSex;
+    private String duckDate;
+    private String address;
+    private String father;
+    private String father2;
+    private String mother;
+    private String mother2;
+    private String weight;
+    private String need;
+    private String env;
+    private String record;
+    private String record2;
+ }

+ 31 - 14
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/BaseDuckInfoServiceImpl.java

@@ -296,20 +296,37 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
 
     @Override
     public void printDuck(HttpServletResponse response, Map<String, String> paramsMap) throws Exception {
-        String duckCode = paramsMap.get("duckCode");
-        QueryWrapper<BaseDuckInfo> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("duck_num", duckCode);
-        BaseDuckInfo baseDuckInfo = duckInfoMapper.selectOne(queryWrapper);//鸭只档案
-        QueryWrapper<EnvMoveCall> queryWrapper1 = new QueryWrapper<>();
-        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);
+        String duckCodes = paramsMap.get("duckCode");
+        String[] split = duckCodes.split(",");
+
+        List<PrintEntrty> list = new ArrayList<>();
+        for (String duckCode : split) {
+            PrintEntrty printEntrty = new PrintEntrty();
+            QueryWrapper<BaseDuckInfo> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("duck_num", duckCode);
+            BaseDuckInfo baseDuckInfo = duckInfoMapper.selectOne(queryWrapper);//鸭只档案
+
+            QueryWrapper<EnvMoveCall> queryWrapper1 = new QueryWrapper<>();
+            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);//免疫记录
+
+            printEntrty.setBaseDuckInfo(baseDuckInfo);
+            printEntrty.setDuckHealthInfos(duckHealthInfos);
+            printEntrty.setEnvMoveCalls(envMoveCalls);
+            printEntrty.setDuckImmunityInfos(duckImmunityInfos);
+            list.add(printEntrty);
+        }
+
+        Print.printDuck(list);
+//        Print.printDuck(baseDuckInfo, duckHealthInfos, duckImmunityInfos, envMoveCalls);
     }
 
     @Override

+ 90 - 61
huimv-admin/src/main/java/com/huimv/guowei/admin/utils/Print.java

@@ -26,8 +26,8 @@ public class Print {
      * @return
      * @throws Exception
      */
-    public static void printDuck(BaseDuckInfo duckInfo, List<DuckHealthInfo> healthInfos,
-                                 List<DuckImmunityInfo> immunityInfos, List<EnvMoveCall> envMoveCalls) throws Exception {
+    public static void printDuck(List<PrintEntrty> printEntrties) throws Exception {
+
         //准备数据
         String path = "/opt/guowei/duck.xls";
         //获取模板文件,你自己当前模板的位置  我这里为当前项目下
@@ -36,74 +36,103 @@ public class Print {
         OutputStream os = new FileOutputStream(path);
         //绑定数据
         Context context = new Context();
-        context.putVar("duckCode", duckInfo.getDuckNum());
-        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", "绍兴鸭(白羽绍鸭)");
-        }
+        List<PrintEntrtyVo> list = new ArrayList<>();
+        for (PrintEntrty printEntrty : printEntrties) {
+            PrintEntrtyVo printEntrtyVo = new PrintEntrtyVo();
+            BaseDuckInfo duckInfo = printEntrty.getBaseDuckInfo();
+            printEntrtyVo.setDuckCode(duckInfo.getDuckNum());
 
-        if (duckInfo.getDuckSex() == 0) {
-            context.putVar("duckSex", "雌");
-        } else {
-            context.putVar("duckSex", "雄");
-        }
+            if (duckInfo.getDuckBreed() == 1) {
+                printEntrtyVo.setDuckType("北京鸭");
+            } else if (duckInfo.getDuckBreed() == 2) {
+                printEntrtyVo.setDuckType("连城白鸭");
+            } else if (duckInfo.getDuckBreed() == 3) {
+                printEntrtyVo.setDuckType("山麻鸭");
+
+            } else if (duckInfo.getDuckBreed() == 4) {
+                printEntrtyVo.setDuckType("攸县麻鸭");
+
+            } else if (duckInfo.getDuckBreed() == 5) {
+                printEntrtyVo.setDuckType("白改鸭");
+
+            } else if (duckInfo.getDuckBreed() == 6) {
+                printEntrtyVo.setDuckType("缙云麻鸭");
+
+            } else if (duckInfo.getDuckBreed() == 7) {
+                printEntrtyVo.setDuckType("绍兴鸭(带圈白翼梢)");
+
+            } else if (duckInfo.getDuckBreed() == 8) {
+                printEntrtyVo.setDuckType("绍兴鸭(红毛绿翼梢)");
+
+            } else if (duckInfo.getDuckBreed() == 9) {
+                printEntrtyVo.setDuckType("绍兴鸭(白羽绍鸭)");
 
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-        context.putVar("duckDate", sdf.format(duckInfo.getDuckBirthday()));
-        context.putVar("address", duckInfo.getDuckBirthplace());
-        context.putVar("father", duckInfo.getFatherNum());
-        context.putVar("father2", duckInfo.getFatherGenotype());
-        context.putVar("mother", duckInfo.getMotherNum());
-        context.putVar("mother2", duckInfo.getMotherGenotype());
-        String s = "";
-        String s1 = "";
-        String s2 = "";
-        //健康状况
-        for (DuckHealthInfo healthInfo : healthInfos) {
-            if ("".equals(healthInfo.getDiseaseName()) || null == healthInfo.getDiseaseName()) {
-                s1 = sdf.format(healthInfo.getHealthDate()) + "无" + ";" + "\n" + s1;
-            } else {
-                s1 = sdf.format(healthInfo.getHealthDate()) +" "+healthInfo.getDiseaseName() + ";" + "\n" + s1;
             }
-        }
-        //日龄体重
-        for (EnvMoveCall envMoveCall : envMoveCalls) {
-            if ("".equals(envMoveCall.getDayage()) || null == envMoveCall.getDayage()) {
-                s = "0" + "日龄 体重" + ":" + envMoveCall.getDuckWeight() + "KG;" + "\n" + s;
+
+            if (duckInfo.getDuckSex() == 0) {
+                printEntrtyVo.setDuckDate("雌");
+
             } else {
-                s = envMoveCall.getDayage() + "日龄 体重" + ":" + envMoveCall.getDuckWeight() + "KG;" + "\n" + s;
+                printEntrtyVo.setDuckSex("雄");
+
             }
 
-        }
-        //免疫记录
-        for (DuckImmunityInfo immunityInfo : immunityInfos) {
-            if (("").equals(immunityInfo.getVaccination()) || null == immunityInfo.getVaccination()) {
-                s2 = sdf.format(immunityInfo.getHealthDate()) + "  无;" + "\n" + s2;
-            } else {
-                s2 = sdf.format(immunityInfo.getHealthDate()) +" "+ immunityInfo.getVaccination() + ";" + "\n" + s2;
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+            printEntrtyVo.setDuckDate(sdf.format(duckInfo.getDuckBirthday()));
+
+            printEntrtyVo.setAddress(duckInfo.getDuckBirthplace());
+
+            printEntrtyVo.setFather(duckInfo.getFatherNum());
+
+            printEntrtyVo.setFather2(duckInfo.getFatherGenotype());
+
+            printEntrtyVo.setMother(duckInfo.getMotherNum());
+
+            printEntrtyVo.setMother2(duckInfo.getMotherGenotype());
+
+
+            String s = "";
+            String s1 = "";
+            String s2 = "";
+            List<DuckHealthInfo> healthInfos = printEntrty.getDuckHealthInfos();
+            //健康状况
+            for (DuckHealthInfo healthInfo : healthInfos) {
+                if ("".equals(healthInfo.getDiseaseName()) || null == healthInfo.getDiseaseName()) {
+                    s1 = sdf.format(healthInfo.getHealthDate()) + "无" + ";" + "\n" + s1;
+                } else {
+                    s1 = sdf.format(healthInfo.getHealthDate()) + " " + healthInfo.getDiseaseName() + ";" + "\n" + s1;
+                }
+            }
+            List<EnvMoveCall> envMoveCalls = printEntrty.getEnvMoveCalls();
+            //日龄体重
+            for (EnvMoveCall envMoveCall : envMoveCalls) {
+                if ("".equals(envMoveCall.getDayage()) || null == envMoveCall.getDayage()) {
+                    s = "0" + "日龄 体重" + ":" + envMoveCall.getDuckWeight() + "KG;" + "\n" + s;
+                } else {
+                    s = envMoveCall.getDayage() + "日龄 体重" + ":" + envMoveCall.getDuckWeight() + "KG;" + "\n" + s;
+                }
+
             }
+            List<DuckImmunityInfo> immunityInfos = printEntrty.getDuckImmunityInfos();
+            //免疫记录
+            for (DuckImmunityInfo immunityInfo : immunityInfos) {
+                if (("").equals(immunityInfo.getVaccination()) || null == immunityInfo.getVaccination()) {
+                    s2 = sdf.format(immunityInfo.getHealthDate()) + "  无;" + "\n" + s2;
+                } else {
+                    s2 = sdf.format(immunityInfo.getHealthDate()) + " " + immunityInfo.getVaccination() + ";" + "\n" + s2;
+                }
 
+            }
+
+            printEntrtyVo.setWeight(s);
+            printEntrtyVo.setNeed(duckInfo.getSpecialNeeds());
+            printEntrtyVo.setEnv(duckInfo.getBreedingEnv());
+            printEntrtyVo.setRecord(s1);
+            printEntrtyVo.setRecord2(s2);
+            list.add(printEntrtyVo);
         }
-        context.putVar("weight", s);
-        context.putVar("need", duckInfo.getSpecialNeeds());
-        context.putVar("env", duckInfo.getBreedingEnv());
-        context.putVar("record", s1);
-        context.putVar("record2", s2);
+
+        context.putVar("list", list);
         //生成
         JxlsHelper.getInstance().processTemplate(is, os, context);
     }