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 GrainPrintBuilder04 { // 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(""); // // int startGen = 0; // int endGen = 0; // int curGen = 0; // // // for (int i = 1; i <= cirNum; i++) { // //每圈的根数 // if(i==1){ // startGen = 1; // }else { // startGen = endGen + 1; // } // curGen = Integer.valueOf(arrRule[i - 1]); // endGen += curGen; // // //每圈层数 // int curLayNum = Integer.valueOf(arrLay[i - 1]); // // String className = "row-fz"; // for (int j = startGen; j <= endGen; j++) { // if (j == endGen) { // className = "row-tr"; // } // sb.append(""); // if (j == startGen) { // 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("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_depotType入仓日期c_storeDate
杂质(%)c_perImpurity粮食产地c_foodLocation
检测人c_checkUser保管员c_storeKeeperName
"); // // // // sb.append("
注:#表示层最低温  *表示层最高温制表时间:createBillDate
"); // sb.append("
"); // // log.debug("获取到的粮情模板={}", sb.toString()); // // result.setModel(sb.toString()); // System.out.println(sb.toString()); // return result; // } 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(""); //-----每圈各根具体数据----- int startGen = 0; int endGen = 0; int curGen = 0; for (int i = 1; i <= cirNum; i++) { //每圈的根数 if(i==1){ startGen = 1; }else { startGen = endGen + 1; } curGen = Integer.valueOf(arrRule[i - 1]); endGen += curGen; //每圈层数 int curLayNum = Integer.valueOf(arrLay[i - 1]); String className = "row-fz"; for (int j = startGen; j <= endGen; j++) { if (j == endGen) { className = "row-tr"; } sb.append(""); if (j == startGen) { sb.append(""); } //添加根数 sb.append(""); //添加每根的值,如果当前根没有那么多层,则不添加值保留空 for (int k = 1; k <= layMax; k++) { sb.append(""); } sb.append(""); } } //-----各层分析(最高、平均、最低)----- String classNme1 = "row-fz"; String valueName = ""; for (int i = 1; i <= 3; i++) { sb.append(""); if(i == 1){ valueName = "c_max_"; sb.append(""); sb.append(""); }else if(i == 2){ valueName = "c_ave_"; sb.append(""); }else { classNme1 = "row-tr"; valueName = "c_min_"; sb.append(""); } for (int k = 1; k <= layMax; k++) { 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(valueName); sb.append(k); sb.append("
"); //仓库基本信息 sb.append(""); sb.append(""); sb.append(""); sb.append(""); sb.append(""); sb.append(""); sb.append("
整仓分析
仓温c_tIn仓湿c_hIn气温c_tOut气湿c_hOut
层最高c_max_all层平均c_ave_all层最低c_min_all
仓房类型c_depotType入仓日期c_storeDate水分(%)c_perWet杂质(%)c_perImpurity
粮食品种c_foodVariety粮食产地c_foodLocation容重(kg/m3)c_bulkWeight实际储量(吨)c_storageReal
保管员c_storeKeeperName检测人c_checkUser
"); sb.append("
注:#表示层最低温  *表示层最高温制表时间:createBillDate
"); sb.append("
"); log.debug("获取到的粮情模板={}", sb.toString()); result.setModel(sb.toString()); return result; } }