package com.huimv.guowei.admin.utils; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.huimv.guowei.admin.entity.*; import com.huimv.guowei.admin.entity.vo.EnergyWaterVo; import com.huimv.guowei.admin.entity.vo.EnvRegularCallEggVo; import com.huimv.guowei.admin.entity.vo.WaterVo; import org.jxls.common.Context; import org.jxls.util.JxlsHelper; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class Print { /** * 打印方法 不插入图片 * * @return * @throws Exception */ public static void printDuck(List printEntrties) throws Exception { //准备数据 String path = "/opt/guowei/duckTest.xls"; //获取模板文件,你自己当前模板的位置 我这里为当前项目下 InputStream is = new FileInputStream("/opt/guowei/duckTest.xlsx"); //根据模板生成的文件保存路径 我这里保存在本地D盘 OutputStream os = new FileOutputStream(path); //绑定数据 Context context = new Context(); List list = new ArrayList<>(); for (PrintEntrty printEntrty : printEntrties) { PrintEntrtyVo printEntrtyVo = new PrintEntrtyVo(); BaseDuckInfo duckInfo = printEntrty.getBaseDuckInfo(); printEntrtyVo.setChiNum(duckInfo.getChiNum()); printEntrtyVo.setJiaoNum(duckInfo.getJiaoNum()); if (duckInfo.getDuckBreed() == 1) { printEntrtyVo.setDuckBreed("北京鸭"); } else if (duckInfo.getDuckBreed() == 2) { printEntrtyVo.setDuckBreed("连城白鸭"); } else if (duckInfo.getDuckBreed() == 3) { printEntrtyVo.setDuckBreed("山麻鸭"); } else if (duckInfo.getDuckBreed() == 4) { printEntrtyVo.setDuckBreed("攸县麻鸭"); } else if (duckInfo.getDuckBreed() == 5) { printEntrtyVo.setDuckBreed("白改鸭"); } else if (duckInfo.getDuckBreed() == 6) { printEntrtyVo.setDuckBreed("缙云麻鸭"); } else if (duckInfo.getDuckBreed() == 7) { printEntrtyVo.setDuckBreed("绍兴鸭(带圈白翼梢)"); } else if (duckInfo.getDuckBreed() == 8) { printEntrtyVo.setDuckBreed("绍兴鸭(红毛绿翼梢)"); } else if (duckInfo.getDuckBreed() == 9) { printEntrtyVo.setDuckBreed("绍兴鸭(白羽绍鸭)"); } if (ObjectUtil.isEmpty(duckInfo.getDuckSex())){ printEntrtyVo.setDuckSex("未填写"); } else if (duckInfo.getDuckSex() == 0) { printEntrtyVo.setDuckSex("雄"); } else { printEntrtyVo.setDuckSex("雌"); } SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); printEntrtyVo.setDuckDate(sdf.format(duckInfo.getDuckBirthday())); printEntrtyVo.setAddress(duckInfo.getDuckBirthplace()); printEntrtyVo.setGenotype(duckInfo.getGenotype()); printEntrtyVo.setNeed(duckInfo.getSpecialNeeds()); printEntrtyVo.setBreedingEnv(duckInfo.getBreedingEnv()); printEntrtyVo.setNowWeight(duckInfo.getNowWeight().toString()); printEntrtyVo.setUnitName(duckInfo.getUnitName()); printEntrtyVo.setBatchNum(duckInfo.getBatchNum()); printEntrtyVo.setFeeding(printEntrty.getFeeding()); printEntrtyVo.setEgg(printEntrty.getEggNum()); printEntrtyVo.setEggWeight(printEntrty.getEgging()); printEntrtyVo.setAvgWeight(printEntrty.getAvgWeiht()); List envMoveCalls = printEntrty.getEnvMoveCalls(); if (envMoveCalls.size() > 0) { for (int i = 0; i < envMoveCalls.size(); i++) { if (i == 0) { printEntrtyVo.setWeight1(envMoveCalls.get(i).getDuckWeight().toString()); } if (i == 1) { printEntrtyVo.setWeight2(envMoveCalls.get(i).getDuckWeight().toString()); } if (i == 2) { printEntrtyVo.setWeight3(envMoveCalls.get(i).getDuckWeight().toString()); } if (i == 3) { printEntrtyVo.setWeight4(envMoveCalls.get(i).getDuckWeight().toString()); } if (i == 4) { printEntrtyVo.setWeight5(envMoveCalls.get(i).getDuckWeight().toString()); } if (i == 5) { printEntrtyVo.setWeight6(envMoveCalls.get(i).getDuckWeight().toString()); } if (i == 6) { printEntrtyVo.setWeight7(envMoveCalls.get(i).getDuckWeight().toString()); } if (i == 7) { printEntrtyVo.setWeight8(envMoveCalls.get(i).getDuckWeight().toString()); } if (i == 8) { printEntrtyVo.setWeight9(envMoveCalls.get(i).getDuckWeight().toString()); } if (i == 9) { printEntrtyVo.setWeight10(envMoveCalls.get(i).getDuckWeight().toString()); } } } list.add(printEntrtyVo); } context.putVar("list", list); //生成 JxlsHelper.getInstance().processTemplate(is, os, context); } public static void printEgg(List eggs) throws Exception { //准备数据 String path = "/opt/guowei/egg.xls"; //获取模板文件,你自己当前模板的位置 我这里为当前项目下 InputStream is = new FileInputStream("/opt/guowei/egg.xlsx"); //根据模板生成的文件保存路径 我这里保存在本地D盘 OutputStream os = new FileOutputStream(path); //绑定数据 Context context = new Context(); List list = new ArrayList<>(); 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); //生成 JxlsHelper.getInstance().processTemplate(is, os, context); } public static void printWater(List waterVos, EnergyWater water) throws Exception { //准备数据 String path = "/opt/guowei/water.xls"; //获取模板文件,你自己当前模板的位置 我这里为当前项目下 InputStream is = new FileInputStream("/opt/guowei/water.xlsx"); //根据模板生成的文件保存路径 我这里保存在本地D盘 OutputStream os = new FileOutputStream(path); //绑定数据 Context context = new Context(); List list = new ArrayList<>(); int i = 0; BigDecimal count = BigDecimal.ZERO; for (EnergyWater waterVo : waterVos) { i = i + 1; WaterVo waterVo1 = new WaterVo(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String format = sdf.format(waterVo.getCreateDate()); waterVo1.setWater(waterVo.getWaterValue()); waterVo1.setDate(format); waterVo1.setLocation(waterVo.getChipName()); list.add(waterVo1); } context.putVar("list", list); context.putVar("waterCount", water.getWaterValue()); //生成 JxlsHelper.getInstance().processTemplate(is, os, context); } public static void printElectricity(List waterVos) throws Exception { //准备数据 String path = "/opt/guowei/electricity.xls"; //获取模板文件,你自己当前模板的位置 我这里为当前项目下 InputStream is = new FileInputStream("/opt/guowei/electricity.xlsx"); //根据模板生成的文件保存路径 我这里保存在本地D盘 OutputStream os = new FileOutputStream(path); //绑定数据 Context context = new Context(); List list = new ArrayList<>(); for (EnergyWaterVo waterVo : waterVos) { WaterVo waterVo1 = new WaterVo(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); waterVo1.setDate(sdf.format(waterVo.getCreateDate())); waterVo1.setLocation(waterVo.getChipName()); waterVo1.setWater(waterVo.getWaterValue().toString()); list.add(waterVo1); } context.putVar("list", list); //生成 JxlsHelper.getInstance().processTemplate(is, os, context); } public static void printChi(List baseDuckInfos) throws Exception { //准备数据 String path = "/opt/guowei/chi.xls"; //获取模板文件,你自己当前模板的位置 我这里为当前项目下 InputStream is = new FileInputStream("/opt/guowei/chi.xlsx"); //根据模板生成的文件保存路径 我这里保存在本地D盘 OutputStream os = new FileOutputStream(path); //绑定数据 Context context = new Context(); List list = new ArrayList<>(); for (BaseDuckInfo baseDuckInfo : baseDuckInfos) { PrintEntrtyChi printEntrtyChi = new PrintEntrtyChi(); printEntrtyChi.setUnitName(baseDuckInfo.getUnitName()); printEntrtyChi.setChiNum(baseDuckInfo.getChiNum()); printEntrtyChi.setJiaoNum(baseDuckInfo.getJiaoNum()); list.add(printEntrtyChi); } context.putVar("list", list); //生成 JxlsHelper.getInstance().processTemplate(is, os, context); } }