|
@@ -3081,7 +3081,8 @@ public class ExcelTabController extends BladeController {
|
|
|
}
|
|
|
//查询数据
|
|
|
String querySql = "SELECT * FROM " + tabName + " WHERE id = " + ids[0] + " and group_id = " + tableNode2.getPKeyId();
|
|
|
- Map<String, Object> businessDataMap = this.jdbcTemplate.queryForMap(querySql);
|
|
|
+ List<Map<String, Object>> businessDataMap = this.jdbcTemplate.queryForList(querySql);
|
|
|
+ Map<String, Object> reData=new HashMap<>();
|
|
|
if (businessDataMap.size() > 0){
|
|
|
try {
|
|
|
if (tableNode2.getHtmlUrl() != null){
|
|
@@ -3106,11 +3107,64 @@ public class ExcelTabController extends BladeController {
|
|
|
allElements.add(rq);
|
|
|
allElements.add(shr);
|
|
|
allElements.add(tqqk);
|
|
|
+ allElements=allElements.stream().filter(o->o!=null&&o.size()>0).collect(Collectors.toList());
|
|
|
if(allElements.size()>0){
|
|
|
+ for (String key : businessDataMap.get(0).keySet()) {
|
|
|
+ String tabVal = businessDataMap.get(0).get(key) + "";
|
|
|
+ // 时间段处理
|
|
|
+ if (StringUtils.isNotEmpty(tabVal) && !tabVal.equals("null")) {
|
|
|
+ if (tabVal.indexOf("T") >= 0 && tabVal.indexOf(".000Z]") >= 0) {
|
|
|
+ String[] tabData = tabVal.split("_\\^_");
|
|
|
+ if (reData.containsKey("pickerKey")) {
|
|
|
+ String pickerKey = reData.get("pickerKey") + "," + key + "__" + tabData[1];
|
|
|
+ reData.put("pickerKey", pickerKey);
|
|
|
+ } else {
|
|
|
+ reData.put("pickerKey", key + "__" + tabData[1]);
|
|
|
+ }
|
|
|
+ String sql = tabData[0];
|
|
|
+ sql = sql.replaceAll("\\[", "['");
|
|
|
+ sql = sql.replaceAll("]", "']");
|
|
|
+ sql = sql.replaceAll("000Z,", "000Z',");
|
|
|
+ sql = sql.replaceAll(", 20", ", '20");
|
|
|
+ sql = sql.replaceAll("'", "");
|
|
|
+ reData.put(key + "__" + tabData[1], sql);
|
|
|
+ } else if (tabVal.indexOf("T") >= 0 && tabVal.indexOf(".000Z") >= 0) { //时间
|
|
|
+ String[] tabData = tabVal.split("_\\^_");
|
|
|
+ reData.put(key + "__" + tabData[1], tabData[0]);
|
|
|
+ } else if (tabVal.indexOf("☆") >= 0) {
|
|
|
+ String[] mysql = tabVal.split("☆");
|
|
|
+ for (String data : mysql) {
|
|
|
+ String[] tabData = data.split("_\\^_");
|
|
|
+ reData.put(key + "__" + tabData[1], tabData[0]);
|
|
|
+ }
|
|
|
+ } else if (tabVal.indexOf("_^_") >= 0) { //数组处理方式
|
|
|
+ String[] tabData = tabVal.split("_\\^_");
|
|
|
+ if (StringUtils.isNotEmpty(tabData[0])) {
|
|
|
+ if (tabVal.contains("[") && tabVal.contains("年")) {
|
|
|
+ String[] strings = StringUtils.strip(tabData[0], "[]").split(",");
|
|
|
+ reData.put(key + "__" + tabData[1], strings);
|
|
|
+ }
|
|
|
+ if (tabVal.contains("[") && tabVal.contains("]") && tabVal.indexOf(",") >= 0) {
|
|
|
+ String[] strings = StringUtils.strip(tabData[0], "[]").split(",");
|
|
|
+ reData.put(key + "__" + tabData[1], strings);
|
|
|
+ } else {
|
|
|
+ if (tabVal.contains("[") && tabVal.contains("]")) {
|
|
|
+ String[] strings = new String[]{tabData[0].replaceAll("\\[","").replaceAll("]","")};
|
|
|
+ reData.put(key + "__" + tabData[1],strings);
|
|
|
+ } else {
|
|
|
+ reData.put(key + "__" + tabData[1], tabData[0]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ reData.put(key, tabVal);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
for (Elements element : allElements) {
|
|
|
- if(businessDataMap.containsKey(element.attr("keyname"))){
|
|
|
- resultMapList.put(element.attr("keyname"), businessDataMap.get(element.attr("keyname")));
|
|
|
- }
|
|
|
+ if(reData.containsKey(element.attr("keyname"))){
|
|
|
+ resultMapList.put(element.attr("keyname"),reData.get(element.attr("keyname")));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|