fix:报告数据组装
This commit is contained in:
@@ -129,10 +129,9 @@ public class ReportDocumentDataServiceImpl implements ReportDocumentDataService
|
||||
if(!"1".equals(verticalFlag)){
|
||||
//处理空数据,填充/
|
||||
rowList = assembleEmpty(configJson, rowList);
|
||||
|
||||
//处理数据分页
|
||||
if("1".equals(pageFlag)){
|
||||
JSONArray pageRowList = assemblePageRowList(rowList, configJson);
|
||||
JSONArray pageRowList = assemblePageRowList(rowList, configJson, mainData);
|
||||
return CommonResult.success(pageRowList);
|
||||
}
|
||||
}
|
||||
@@ -147,14 +146,40 @@ public class ReportDocumentDataServiceImpl implements ReportDocumentDataService
|
||||
t.put(colPrefix + "01", " ");
|
||||
rowList.add(t.clone());
|
||||
}
|
||||
return CommonResult.success(rowList);
|
||||
/*
|
||||
* 修改数据结构
|
||||
[
|
||||
{
|
||||
"headerData": {},
|
||||
"tableList": [{},]
|
||||
},
|
||||
]
|
||||
* */
|
||||
JSONArray result = new JSONArray();
|
||||
JSONObject resultData = new JSONObject();
|
||||
JSONObject headerData = new JSONObject();
|
||||
JSONObject firstRow = rowList.getJSONObject(0);
|
||||
if(rowTypeTitle.equals(firstRow.getString(rowTypeKey))){
|
||||
headerData = firstRow.clone();
|
||||
rowList.remove(0);
|
||||
}
|
||||
resultData.put("headerData", headerData);
|
||||
resultData.put("tableList", rowList);
|
||||
String formData = mainData.getFormData();
|
||||
String signatureData = mainData.getDocumentSignature();
|
||||
if(!ObjectUtils.isEmpty(formData))
|
||||
resultData.put("formData", JSONObject.parseObject(formData));
|
||||
if(!ObjectUtils.isEmpty(signatureData))
|
||||
resultData.put("signatureData", JSONObject.parseObject(signatureData));
|
||||
result.add(resultData);
|
||||
return CommonResult.success(result);
|
||||
}
|
||||
|
||||
/*
|
||||
* 处理分页
|
||||
*
|
||||
* */
|
||||
private JSONArray assemblePageRowList(JSONArray rowList, JSONObject configJson){
|
||||
private JSONArray assemblePageRowList(JSONArray rowList, JSONObject configJson, ReportDocumentMainDO mainData){
|
||||
JSONArray pageRowList = new JSONArray();
|
||||
Integer maxRowCount = 20;
|
||||
String maxRowCountStr = configJson.getString("maxRowCount"); //最大行数
|
||||
@@ -209,7 +234,42 @@ public class ReportDocumentDataServiceImpl implements ReportDocumentDataService
|
||||
t.put(colPrefix + "01", emptyText);
|
||||
pageRow.add(t.clone());
|
||||
}
|
||||
return pageRowList;
|
||||
|
||||
/*
|
||||
* 修改数据结构
|
||||
[
|
||||
{
|
||||
"headerData": {},
|
||||
"tableList": [{},]
|
||||
},
|
||||
]
|
||||
* */
|
||||
JSONArray result = new JSONArray();
|
||||
String formData = mainData.getFormData();
|
||||
String signatureData = mainData.getDocumentSignature();
|
||||
JSONObject formDataJson = new JSONObject();
|
||||
JSONObject signatureDataJson = new JSONObject();
|
||||
if(!ObjectUtils.isEmpty(formData))
|
||||
formDataJson = JSONObject.parseObject(formData);
|
||||
if(!ObjectUtils.isEmpty(signatureData))
|
||||
signatureDataJson = JSONObject.parseObject(signatureData);
|
||||
for(int i=0;i<pageRowList.size();i++){
|
||||
JSONArray rows = pageRowList.getJSONArray(i);
|
||||
JSONObject resultData = new JSONObject();
|
||||
JSONObject headerData = new JSONObject();
|
||||
JSONObject firstRow = rows.getJSONObject(0);
|
||||
if(rowTypeTitle.equals(firstRow.getString(rowTypeKey))){
|
||||
headerData = firstRow.clone();
|
||||
rows.remove(0);
|
||||
}
|
||||
resultData.put("headerData", headerData);
|
||||
resultData.put("tableList", rows);
|
||||
resultData.put("formData", formDataJson);
|
||||
resultData.put("signatureData", signatureDataJson);
|
||||
result.add(resultData);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private JSONArray assembleEmpty(JSONObject configJson, JSONArray rowList){
|
||||
|
||||
Reference in New Issue
Block a user