|
@@ -47,7 +47,7 @@ JpcFlowTabSrv.prototype.createNew = function(){
|
|
|
}
|
|
|
}
|
|
|
return couldBreak;
|
|
|
- }
|
|
|
+ };
|
|
|
let private_inner_add_grp_rec = function(vi) {
|
|
|
let hasFullGrp = true, couldBreak = false;
|
|
|
for (let i = 0; i < grp_lines; i++) {
|
|
@@ -71,7 +71,7 @@ JpcFlowTabSrv.prototype.createNew = function(){
|
|
|
couldBreak = true;
|
|
|
}
|
|
|
return couldBreak;
|
|
|
- }
|
|
|
+ };
|
|
|
let private_normal_add_rec = function(vi) {
|
|
|
let couldBreak = false;
|
|
|
if (segAutoHeightInfo && segAutoHeightInfo.length > 0) {
|
|
@@ -89,7 +89,7 @@ JpcFlowTabSrv.prototype.createNew = function(){
|
|
|
}
|
|
|
}
|
|
|
return couldBreak;
|
|
|
- }
|
|
|
+ };
|
|
|
for (let vi = 0; (vi + insertedGrpAmt * grp_lines) < maxRecPerPage - preAmt; vi++) {
|
|
|
if (grpSequenceInfo && grpPageInfo) {
|
|
|
if ((startRecIdx + vi) === grpSequenceInfo[grpPageInfo[JV.PROP_SEG_GRP_IDX]]) {
|
|
@@ -281,7 +281,7 @@ JpcFlowTabSrv.prototype.createNew = function(){
|
|
|
}
|
|
|
}
|
|
|
return rst;
|
|
|
- }
|
|
|
+ };
|
|
|
let private_get_max_lines_of_the_record = function(theRecIdx) {
|
|
|
let rst = 1;
|
|
|
for (let loop = 0; loop < me.auto_height_fields_idx.length; loop++) {
|
|
@@ -412,8 +412,7 @@ JpcFlowTabSrv.prototype.createNew = function(){
|
|
|
pageIdx++;
|
|
|
function private_chk_handle_rec_amt(dv, isEx) {
|
|
|
if ((dv[1] === JV.DISPLAY_VAL_TYPE_NORMAL) || (dv[1] === JV.DISPLAY_VAL_TYPE_AUTO_HEIGHT && dv[3] === dv[4] - 1)) {
|
|
|
- if (isEx) counterRowRecEx++
|
|
|
- else counterRowRec++;
|
|
|
+ if (isEx) counterRowRecEx++ else counterRowRec++;
|
|
|
} else if (dv[1] === JV.DISPLAY_VAL_TYPE_AUTO_HEIGHT) {
|
|
|
redundantRecAmt++;
|
|
|
}
|
|
@@ -483,20 +482,18 @@ JpcFlowTabSrv.prototype.createNew = function(){
|
|
|
ttlSegRecAmtNormal += adHocAutoHeightAmt;
|
|
|
ttlSegRecAmt += adHocAutoHeightAmt;
|
|
|
}
|
|
|
- //自动行高调整暂时不支持多流水合并方式(后期需要再加)
|
|
|
+ //自动行高调整在多流水合并方式时,只支持前部分(后期需要再加)
|
|
|
while (true) {
|
|
|
if (currentRecAmt > 0) pageStatus[JV.STATUS_SEGMENT_START] = false;
|
|
|
if (pageIdx > 0) pageStatus[JV.STATUS_REPORT_START] = false;
|
|
|
//开始判断各种scenarios
|
|
|
adHocAutoHeightAmt = 0;
|
|
|
- let recAmtForAdHocAutoHeight = 0;
|
|
|
if (me.auto_height_fields_idx.length > 0) {
|
|
|
adHocAutoHeightAmt -= prePageLeftAutoHeightRecAmt;
|
|
|
//for (let loop = currentRecAmt; loop < me.auto_height_info[segIdx].length; loop++) {
|
|
|
for (let loop = currentRecAmt; loop < currentRecAmt + maxRowRec; loop++) {
|
|
|
if (me.auto_height_info[segIdx].length > loop) {
|
|
|
adHocAutoHeightAmt += (me.auto_height_info[segIdx][loop] - 1);
|
|
|
- // recAmtForAdHocAutoHeight++;
|
|
|
} else {
|
|
|
break;
|
|
|
}
|
|
@@ -504,13 +501,13 @@ JpcFlowTabSrv.prototype.createNew = function(){
|
|
|
}
|
|
|
if ((ttlSegRecAmtNormal < ttlSegRecAmt) || (followTabEx !== null)) {
|
|
|
//有流水拓展,并且是follow mode
|
|
|
- if (currentRecAmt + adHocAutoHeightAmt + recAmtForAdHocAutoHeight + maxRowRec > ttlSegRecAmtNormal) {
|
|
|
- if (currentRecAmt + adHocAutoHeightAmt + recAmtForAdHocAutoHeight >= ttlSegRecAmtNormal) {
|
|
|
+ if (currentRecAmt + adHocAutoHeightAmt + maxRowRec > ttlSegRecAmtNormal) {
|
|
|
+ if (currentRecAmt + adHocAutoHeightAmt >= ttlSegRecAmtNormal) {
|
|
|
//纯 followTabEx 数据
|
|
|
- if (currentRecAmt + adHocAutoHeightAmt + recAmtForAdHocAutoHeight + maxRowRec >= ttlSegRecAmt) {
|
|
|
+ if (currentRecAmt + adHocAutoHeightAmt + maxRowRec >= ttlSegRecAmt) {
|
|
|
pageStatus[JV.STATUS_SEGMENT_END] = true;
|
|
|
private_resetBandArea();
|
|
|
- let hasAdHocRow = !JpcFlowTabHelper.chkSegEnd(bands, rptTpl, ttlSegRecAmt, currentRecAmt + adHocAutoHeightAmt + recAmtForAdHocAutoHeight, maxRowRec, me.isEx);
|
|
|
+ let hasAdHocRow = !JpcFlowTabHelper.chkSegEnd(bands, rptTpl, ttlSegRecAmt, currentRecAmt + adHocAutoHeightAmt, maxRowRec, me.isEx);
|
|
|
if (hasAdHocRow) {
|
|
|
//add page info(pre segment end)
|
|
|
pageStatus[JV.STATUS_SEGMENT_END] = false;
|
|
@@ -524,10 +521,10 @@ JpcFlowTabSrv.prototype.createNew = function(){
|
|
|
}
|
|
|
} else {
|
|
|
//混合数据
|
|
|
- if (currentRecAmt + adHocAutoHeightAmt + recAmtForAdHocAutoHeight + maxRowRec >= ttlSegRecAmt) {
|
|
|
+ if (currentRecAmt + adHocAutoHeightAmt + maxRowRec >= ttlSegRecAmt) {
|
|
|
pageStatus[JV.STATUS_SEGMENT_END] = true;
|
|
|
private_resetBandArea();
|
|
|
- let hasAdHocRow = !JpcFlowTabHelper.chkSegEnd(bands, rptTpl, ttlSegRecAmt, currentRecAmt + adHocAutoHeightAmt + recAmtForAdHocAutoHeight, maxRowRec, me.isEx);
|
|
|
+ let hasAdHocRow = !JpcFlowTabHelper.chkSegEnd(bands, rptTpl, ttlSegRecAmt, currentRecAmt + adHocAutoHeightAmt, maxRowRec, me.isEx);
|
|
|
if (hasAdHocRow) {
|
|
|
//add page info(pre segment end)
|
|
|
pageStatus[JV.STATUS_SEGMENT_END] = false;
|
|
@@ -535,7 +532,7 @@ JpcFlowTabSrv.prototype.createNew = function(){
|
|
|
}
|
|
|
//add page info
|
|
|
pageStatus[JV.STATUS_SEGMENT_END] = true;
|
|
|
- if (currentRecAmt + adHocAutoHeightAmt + recAmtForAdHocAutoHeight >= ttlSegRecAmtNormal) {
|
|
|
+ if (currentRecAmt + adHocAutoHeightAmt >= ttlSegRecAmtNormal) {
|
|
|
//纯 followTabEx 数据啦
|
|
|
private_addPage(segIdx, null, true, false, -1);
|
|
|
} else {
|
|
@@ -551,14 +548,15 @@ JpcFlowTabSrv.prototype.createNew = function(){
|
|
|
}
|
|
|
} else {
|
|
|
//普通流水数据情况
|
|
|
- if ((currentRecAmt + adHocAutoHeightAmt + recAmtForAdHocAutoHeight + maxRowRec >= ttlSegRecAmt)
|
|
|
- && (recAmtForAdHocAutoHeight + adHocAutoHeightAmt < 2 * maxRowRec) ) {
|
|
|
+ if ((currentRecAmt + adHocAutoHeightAmt + maxRowRec >= ttlSegRecAmt)
|
|
|
+ //&& (adHocAutoHeightAmt < 2 * maxRowRec) ) {
|
|
|
+ && ((currentRecAmt + adHocAutoHeightAmt + maxRowRec - ttlSegRecAmt) < maxRowRec) ) {
|
|
|
//备注: 理论上自动行高是没有上限的,有可能正常一页的数据可以拓展到3页及以上,在此极端情况下,必须做一些限制判断,否则会出现缺页情况。
|
|
|
pageStatus[JV.STATUS_SEGMENT_END] = true;
|
|
|
pageStatus[JV.STATUS_REPORT_END] = true;
|
|
|
private_resetBandArea();
|
|
|
- let hasAdHocRow = ((recAmtForAdHocAutoHeight + adHocAutoHeightAmt > maxRowRec) ||
|
|
|
- !JpcFlowTabHelper.chkSegEnd(bands, rptTpl, ttlSegRecAmt, currentRecAmt + adHocAutoHeightAmt + recAmtForAdHocAutoHeight, maxRowRec, me.isEx));
|
|
|
+ let hasAdHocRow = ((adHocAutoHeightAmt > maxRowRec) ||
|
|
|
+ !JpcFlowTabHelper.chkSegEnd(bands, rptTpl, ttlSegRecAmt, currentRecAmt + adHocAutoHeightAmt, maxRowRec, me.isEx));
|
|
|
if (hasAdHocRow) {
|
|
|
//add page info(pre segment end)
|
|
|
pageStatus[JV.STATUS_SEGMENT_END] = false;
|
|
@@ -588,7 +586,7 @@ JpcFlowTabSrv.prototype.createNew = function(){
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- console.log(me.auto_height_info);
|
|
|
+ // console.log(me.auto_height_info);
|
|
|
// console.log(me.dispValueIdxLst);
|
|
|
rst = Math.ceil(pageIdx / me.multiCols);
|
|
|
}
|
|
@@ -757,7 +755,7 @@ JpcFlowTabSrv.prototype.createNew = function(){
|
|
|
for (let grpIdx = 0; grpIdx < rptTpl[FLOW_NODE_STR][JV.NODE_FLOW_GROUP][JV.PROP_GROUP_LINES].length; grpIdx++) {
|
|
|
if (contentValuesIdx[rowIdx][3] === grpIdx) {
|
|
|
let grp_line = rptTpl[FLOW_NODE_STR][JV.NODE_FLOW_GROUP][JV.PROP_GROUP_LINES][grpIdx];
|
|
|
- let lineRst = me.outputTabGrpLine(band, grp_line, page, contentValuesIdx[rowIdx], contentValuesIdx.length, rowIdx, 1, 0, unitFactor, true, controls, multiColIdx)
|
|
|
+ let lineRst = me.outputTabGrpLine(band, grp_line, page, contentValuesIdx[rowIdx], contentValuesIdx.length, rowIdx, 1, 0, unitFactor, true, controls, multiColIdx);
|
|
|
rst = rst.concat(lineRst);
|
|
|
}
|
|
|
}
|
|
@@ -884,7 +882,7 @@ JpcFlowTabSrv.prototype.createNew = function(){
|
|
|
let curSegGrpSum = me.group_sum_values[segIdx];
|
|
|
for (let sumFieldNode of grp_line[JV.PROP_GROUP_SUM_KEYS]) {
|
|
|
let value = curSegGrpSum[sumFieldNode[JV.PROP_SUM_KEY]][grpValueIdx[2]];
|
|
|
- let sumFldRst = JpcTextHelper.outputDirectValue(sumFieldNode, value, band, unitFactor, rows, rowIdx, cols, colIdx, me.multiCols, multiColIdx)
|
|
|
+ let sumFldRst = JpcTextHelper.outputDirectValue(sumFieldNode, value, band, unitFactor, rows, rowIdx, cols, colIdx, me.multiCols, multiColIdx);
|
|
|
rst.push(sumFldRst);
|
|
|
}
|
|
|
}
|