//初始化模板
|
initModel = function () {
|
|
};
|
|
/**
|
* 单仓打印
|
* @param grainData
|
*/
|
toPrintSingle = function (grainData) {
|
var model = builderModel(grainData);
|
previewA4(model);
|
};
|
|
/**
|
* 根据粮库数据和粮情数据生成打印模版
|
* @param depotData 仓库基本信息
|
* @param grainData 粮情数据信息
|
*/
|
builderModel = function(grainData) {
|
var depotData = grainData.depotData;
|
var cable = grainData.cable;
|
var attr = cable.split("-");
|
var numZ = attr[0];//层配置
|
var numY = attr[1];//行配置
|
var numX = attr[2];//列配置
|
var listLays = grainData.listLays;
|
|
var model = "<!DOCTYPE html><html lang=\"zh-cn\">\n"
|
+ "<head><meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\"><title>粮情报表模版</title>"
|
+ " <style>\n"
|
+ " table,table tr th,table tr td{border:1px solid #0d1021}table{width:100%;line-height:23px;text-align:center;font-size:14px}.table-2{border-top:0px solid #0d1021 !important}.table-2 tr{border-top:0px solid #0d1021 !important}.table-2 td{border-top:0px solid #0d1021 !important}.table-row-tr{border-left:0px !important;border-right:0px !important;border-top:0px !important}.table-row-fz{border:0px !important}.link-top{width:100%;border-top:solid #0d1021 1px}</style>\n"
|
+ "</head>\n" + "<body>";
|
|
model += "<div style=\"text-align: center\">\n"
|
+ "<span style=\"font-size: 26px; font-weight: bold;\">\n";
|
if(dept){
|
model += dept.name;
|
}else{
|
model += "--XXX--粮库"
|
}
|
model += "</span><div class=\"link-top\"></div><div class=\"link-top\"></div>\n";
|
model += "<span style=\"font-size: 18px; \">";
|
model += depotData.name;
|
if(compareData){
|
model += " 粮情报表(层基准) 对比 "+compareData.batchId+"</span>\n";
|
}else{
|
model += " 粮情报表(层基准)</span>\n";
|
}
|
model += "</div><div style=\"margin-top: 5px;\"><span style=\"float: left;\">天气:";
|
model += grainData.weather ==null?"":grainData.weather;
|
model += " 方向:";
|
model += depotData.orientation ==null?"":depotData.orientation
|
model += "</span><span style=\"float: right;\">检测时间:";
|
model += grainData.receiveDate;
|
model += "</span></div>";
|
|
//动态配置
|
model += "<table cellspacing=\"0\" cellpadding=\"0\"><tr><td colspan=\"2\"></td>";
|
//动态添加列配置
|
for (var x = 1; x <= numX; x++) {
|
model += "<td>第" + x + "列</td>";
|
}
|
model += "</tr>";
|
//动态添加采集点信息 Y
|
for (var y = 1; y <= numY; y++) {
|
for (var z = 1; z <= numZ; z++) {
|
model += "<tr>";
|
if (1 == z) {
|
model += "<td rowspan=" + numZ + " class=\"table-row-tr\">"
|
+ y + "行</td>";
|
}
|
if (z == numZ) {
|
model += "<td class=\"table-row-tr\">" + z + "层</td>";
|
} else {
|
model += "<td class=\"table-row-fz\">" + z + "层</td>";
|
}
|
for (var x = numX; x >= 1; x--) { //值的格式:cell+层+行+列
|
if (z == numZ) {
|
model += "<td class=\"table-row-tr\">c_" + z + y + x
|
+ "</td>";
|
} else {
|
model += "<td class=\"table-row-fz\">c_" + z + y + x
|
+ "</td>";
|
}
|
}
|
model += "</tr>";
|
}
|
}
|
model += "</table>";
|
//开始添加粮情整体数据
|
model += "<table cellspacing=\"0\" cellpadding=\"0\" class=\"table-2\">";
|
model += "<tr><td width=\"200px\">粮情分析:</td>";
|
model += "<td colspan=5>" + grainData.remark + "</td></tr>";
|
model += "</tr><tr><td></td><td>最高</td><td>最低</td><td>平均</td><td>周均</td><td>内均</td></tr>";
|
//遍历每层的信息
|
var layData;
|
for (var i = 0; i < listLays.length; i++) {
|
layData = listLays[i];
|
model += "<tr><td>";
|
model += layData.fz + "层";
|
model += "</td><td>";
|
model += layData.tempMax;
|
model += "</td><td>";
|
model += layData.tempMin;
|
model += "</td><td>";
|
model += layData.tempAve;
|
model += "</td><td>";
|
model += layData.tempAveOut;
|
model += "</td><td>";
|
model += layData.tempAveIn;
|
model += "</td></tr>";
|
}
|
//整仓
|
model += "<tr><td>整仓</td><td>";
|
model += grainData.tempMax;
|
model += "</td><td>";
|
model += grainData.tempMin;
|
model += "</td><td>";
|
model += grainData.tempAve;
|
model += "</td><td>";
|
model += "</td><td>";
|
model += "</td></tr>";
|
|
//固定栏位值
|
model += "<tr><td>仓温:" + (grainData.tempIn <= -100.0 ? "备用" : grainData.tempIn) + "</td>";
|
model += "<td>仓湿:" + (grainData.humidityIn <= -100.0 ? "备用" : grainData.humidityIn) + "</td>";
|
model += "<td colspan=\"2\">气温:" + (grainData.tempOut <= -100.0 ? "备用" : grainData.tempOut) + "</td>";
|
model += "<td colspan=\"2\">气湿:" + (grainData.humidityOut <= -100.0 ? "备用" : grainData.humidityOut) + "</td></tr>";
|
|
model += "<tr><td>仓房类型</td><td>" + (depotData.depotTypeName == null?'/':depotData.depotTypeName) + "</td>";
|
model += "<td colspan=\"2\">入仓日期</td><td colspan=\"2\">"
|
+ (depotData.storeDate == null?'/':depotData.storeDate.substring(0,10)) + "</td></tr>";
|
|
model += "<tr><td>粮食品种</td><td>" + (depotData.foodVarietyName == null?'/':depotData.foodVarietyName) + "</td>";
|
model += "<td colspan=\"2\">实际储量(吨)</td><td colspan=\"2\">"
|
+ (depotData.storageReal == null?'/':depotData.storageReal / 1000) + "</td></tr>";
|
|
model += "<tr><td>入仓水分(%)</td><td>" + (depotData.perWet == null?'/':depotData.perWet) + "</td>";
|
model += "<td colspan=\"2\">当前水分(%)</td><td colspan=\"2\">"
|
+ (depotData.perWet == null?'/':depotData.perWet) + "</td></tr>";
|
|
model += "<tr><td>发芽率(%)</td><td></td>";//发芽率没有填写
|
model += "<td colspan=\"2\">粮食产地</td><td colspan=\"2\">"
|
+ (depotData.foodLocation == null?'/':depotData.foodLocation) + "</td></tr>";
|
|
model += "<tr><td>容重(kg/m3)</td><td>" + (depotData.bulkWeight == null?'/':depotData.bulkWeight) + "</td>";
|
model += "<td colspan=\"2\">面筋持水率(%)</td><td colspan=\"2\"></td></tr>";//没有填写
|
|
model += "<tr><td>杂质(%)</td><td>" + (depotData.perImpurity== null?'/':depotData.perImpurity) + "</td>";
|
model += "<td colspan=\"2\">不完善粒(%)</td><td colspan=\"2\">";
|
model += (depotData.broken == null?"/":depotData.broken);
|
model += "</td></tr>";
|
|
model += "<tr><td>检测人</td><td>" + (grainData.checkUser == null?'/':grainData.checkUser) + "</td>";
|
model += "<td colspan=\"2\">保管员</td><td colspan=\"2\">"
|
+ (depotData.storeKeeperName == null?'/':depotData.storeKeeperName) + "</td></tr>";
|
model += "</table>";
|
|
//添加尾部信息
|
model += "<div style=\"margin-top: 5px;\">";
|
model += "<span style=\"float: left;\">注:#表示层最低温 *表示层最高温 \<表示电缆开始位置\></span>";
|
model += "<span style=\"float: right;\">制表时间:" + grainData.sysDate
|
+ "</span></div>";
|
model += "</div></body></html>";
|
//点位信息赋值
|
model = attrPoints(model, grainData.listPoints,listLays,numX);
|
return model;
|
};
|
|
//根据采集点赋值,注意数据库生成的坐标是从0开始的
|
attrPoints = function(model, listPoints,listLays,numX) {
|
var point;
|
var key;
|
var lay;
|
var temp;
|
for (var i = 0; i < listPoints.length; i++) {
|
point = listPoints[i];
|
temp = point.temp;
|
key = "c_" + (point.z + 1) + (point.y + 1) + (point.x + 1);
|
//判断层高低温
|
lay = listLays[point.z];
|
|
if(-100.0 == temp){
|
temp = "备用";
|
}
|
if(temp == lay.tempMax){
|
temp = temp +"*";
|
}
|
if(temp == lay.tempMin){
|
temp = temp +"#";
|
}
|
//key = c_z+1 + 1 + numX表示第一列
|
if(key == ("c_"+(point.z + 1)+"1"+numX)){
|
temp = "<"+ temp +">";
|
}
|
model = model.replace(key, temp);
|
}
|
return model;
|
};
|
/**
|
* 根据HTML模版打印为A4
|
* @param strHtml
|
*/
|
previewA4 = function(strHtml) {
|
//var LODOP = getLodop();
|
var LODOP = CLODOP;
|
LODOP.SET_PRINT_PAGESIZE(1, 0, 0, "A4");
|
LODOP.PRINT_INIT("粮情报表");
|
LODOP.ADD_PRINT_HTM(30, 40, "180mm", "100%", strHtml);
|
//设置默认满张打印
|
LODOP.SET_PRINT_MODE("PRINT_PAGE_PERCENT","Full-Page");
|
LODOP.PREVIEW();
|
};
|