You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
2.6 KiB
71 lines
2.6 KiB
package com.fr.plugin.xxx.report; |
|
|
|
import com.fr.decision.fun.impl.BaseHttpHandler; |
|
import com.fr.json.JSONArray; |
|
import com.fr.json.JSONObject; |
|
import com.fr.log.FineLoggerFactory; |
|
import com.fr.main.TemplateWorkBook; |
|
import com.fr.plugin.xxx.report.core.DsUtils; |
|
import com.fr.script.Calculator; |
|
import com.fr.third.springframework.web.bind.annotation.RequestMethod; |
|
import com.fr.web.core.ReportSessionIDInfor; |
|
import com.fr.web.core.SessionPoolManager; |
|
import com.fr.web.utils.WebUtils; |
|
|
|
import javax.servlet.http.HttpServletRequest; |
|
import javax.servlet.http.HttpServletResponse; |
|
import java.util.Map; |
|
|
|
/** |
|
* @author 秃破天际 |
|
* @version 10.0 |
|
* Created by 秃破天际 on 2020-04-17 |
|
**/ |
|
public class Server extends BaseHttpHandler { |
|
|
|
public final static String URI = "/sheet/info"; |
|
|
|
@Override |
|
public RequestMethod getMethod() { |
|
return RequestMethod.GET; |
|
} |
|
|
|
@Override |
|
public String getPath() { |
|
return URI; |
|
} |
|
|
|
@Override |
|
public boolean isPublic() { |
|
return true; |
|
} |
|
|
|
@Override |
|
public void handle(HttpServletRequest req, HttpServletResponse res) throws Exception { |
|
FineLoggerFactory.getLogger().info("##### /sheet/info start..."); |
|
String sid = WebUtils.getHTTPRequestParameter(req,"sessionId"); |
|
FineLoggerFactory.getLogger().info("##### sid={}",sid); |
|
ReportSessionIDInfor info = SessionPoolManager.getSessionIDInfor(sid, ReportSessionIDInfor.class); |
|
Calculator cal = info.createSessionCalculator(req,res); |
|
TemplateWorkBook book = info.getWorkBookDefine(); |
|
FineLoggerFactory.getLogger().info("##### book={}",book.toString()); |
|
Map<String,String> relation = DsUtils.getRelation("CONF_SHEET","id","name", book,cal); |
|
JSONArray result = JSONArray.create(); |
|
FineLoggerFactory.getLogger().info("##### book.length={}",book.getReportCount()); |
|
for( int i=0,len=book.getReportCount();i<len;i++ ){ |
|
String id = book.getReportName(i); |
|
FineLoggerFactory.getLogger().info("##### id[{}]={}",i,id); |
|
JSONObject item = JSONObject.create().put("id",id); |
|
if( relation.containsKey(id) ){ |
|
FineLoggerFactory.getLogger().info("##### name[{}]={}",i,relation.get(id)); |
|
item.put("name",relation.get(id)); |
|
}else{ |
|
FineLoggerFactory.getLogger().info("##### name[{}]={}",i,id); |
|
item.put("name",id); |
|
} |
|
result.put(item); |
|
} |
|
FineLoggerFactory.getLogger().info("##### result={}",result.toString()); |
|
WebUtils.flushSuccessMessageAutoClose(req,res,result); |
|
} |
|
}
|
|
|