package com.ld.igds.grain; import com.ld.igds.grain.dto.GrainParam; import com.ld.igds.grain.dto.PrintModeData; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; /** * 油桶仓打印模板 -通用 * * @author jiazx */ @Slf4j public class GrainPrintBuilder03 { /** * 油罐仓 **/ public static PrintModeData buildModel(GrainParam param) { PrintModeData result = new PrintModeData(); result.setCompanyId(param.getCompanyId()); result.setDepotType(param.getDepotType()); if (StringUtils.isEmpty(param.getCableRule()) || StringUtils.isEmpty(param.getCableCir())) { result.setMsg("当前粮情没有获取到粮情布线规则配置,无法生成报表!"); return result; } //获取层的最高值 int layMax = 1; String[] arrLay = param.getCableCir().split("-"); for (String lay : arrLay) { if (Integer.valueOf(lay) > layMax) layMax = Integer.valueOf(lay); } String[] arrRule = param.getCableRule().split("-"); int cirNum = arrRule.length; StringBuilder sb = new StringBuilder(); //模板头 sb.append("筒仓报表"); sb.append("
"); //样式表,不能缩进 sb.append(""); sb.append("
companyName粮情报表"); sb.append(""); sb.append("depotName    粮情报表
"); sb.append("
天气:weather   方向:检测时间:checkDate
"); // sb.append(""); sb.append(""); sb.append(""); for (int i = 1; i <= layMax; i++) { sb.append(""); } sb.append(""); // for (int i = 1; i <= cirNum; i++) { //每圈的根数 int rootNum = Integer.valueOf(arrRule[i - 1]); //每圈层数 int curLayNum = Integer.valueOf(arrLay[i - 1]); String className = "row-fz"; for (int j = 1; j <= rootNum; j++) { if (j == rootNum) { className = "row-tr"; } sb.append(""); if (j == 1) { sb.append(""); } //添加根数 sb.append(""); //添加每根的值,如果当前根没有那么多层,则不添加值保留空 for (int k = 1; k <= layMax; k++) { if (curLayNum < layMax) { sb.append(""); } else { sb.append(""); } } sb.append(""); } } sb.append("
"); sb.append("第" + i + "层"); sb.append("
"); sb.append(i); sb.append("圈"); sb.append(j); sb.append("根"); sb.append(i + "_" + j + "_" + k); sb.append("
"); // sb.append(""); //层信息 for (int k = 1; k <= layMax; k++) { sb.append("\n"); sb.append(""); sb.append(""); sb.append(""); sb.append(""); sb.append(""); sb.append(""); } //整仓 sb.append(""); sb.append(""); sb.append(""); sb.append(""); sb.append(""); sb.append(""); // sb.append(""); sb.append(""); sb.append(""); sb.append(""); sb.append(""); sb.append("
粮情分析:"); sb.append("remark
最高最低平均周均内均
第"); sb.append(k); sb.append("层c_max_" + k + "c_min_" + k + "c_ave_" + k + "c_out_ave_" + k + "c_in_ave_" + k + "
整  仓c_max_allc_min_allc_ave_allc_out_ave_allc_in_ave_all
仓温:c_tIn仓湿:c_hIn气温:c_tOut气湿:c_hOut
油罐高度c_depotHeight 米液位高度c_oilHeight 米
仓房类型c_depotType入仓日期c_storeDate
杂质(%)c_perImpurity粮食产地c_foodLocation
检测人c_checkUser保管员c_storeKeeperName
"); // sb.append("
注:#表示层最低温  *表示层最高温制表时间:createBillDate
"); sb.append("
"); log.debug("获取到的粮情模板={}", sb.toString()); result.setModel(sb.toString()); return result; } }