123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246 |
- 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<PrintEntrty> 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<PrintEntrtyVo> 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<EnvMoveCall> 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<EnvRegularCallEggVo> 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<EnvRegularCallEggVo> 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<EnergyWater> 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<WaterVo> 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<EnergyWaterVo> 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<WaterVo> 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<BaseDuckInfo> 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<PrintEntrtyChi> 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);
- }
- }
|