java110
2021-11-14 862b72d394a4a0bc467deda2a0afdab43aa25c5e
service-report/src/main/java/com/java110/report/cmd/reportCustomComponent/ListReportCustomComponentDataCmd.java
@@ -15,6 +15,7 @@
 */
package com.java110.report.cmd.reportCustomComponent;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.context.ICmdDataFlowContext;
@@ -22,6 +23,8 @@
import com.java110.core.event.cmd.CmdEvent;
import com.java110.dto.PageDto;
import com.java110.dto.reportCustomComponent.ReportCustomComponentDto;
import com.java110.dto.reportCustomComponentFooter.ReportCustomComponentFooterDto;
import com.java110.intf.report.IReportCustomComponentFooterV1InnerServiceSMO;
import com.java110.intf.report.IReportCustomComponentV1InnerServiceSMO;
import com.java110.service.smo.IQueryServiceSMO;
import com.java110.utils.exception.CmdException;
@@ -53,6 +56,8 @@
    @Autowired
    private IReportCustomComponentV1InnerServiceSMO reportCustomComponentV1InnerServiceSMOImpl;
    @Autowired
    private IQueryServiceSMO queryServiceSMOImpl;
@@ -61,7 +66,6 @@
        super.validatePageInfo(reqJson);
        Assert.hasKeyAndValue(reqJson, "componentId", "未包含组件ID");
    }
    @Override
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
@@ -83,8 +87,17 @@
    }
    private void doDealJava(JSONObject reqJson, ReportCustomComponentDto reportCustomComponentDto, ICmdDataFlowContext cmdDataFlowContext) {
        //校验是否传了 分页信息
        String javaScript = reportCustomComponentDto.getJavaScript();
        int page = reqJson.getInteger("page");
        if (page != PageDto.DEFAULT_PAGE) {
            reqJson.put("page", (page - 1) * reqJson.getIntValue("row"));
        }
        JSONObject data = queryServiceSMOImpl.execJava(reqJson, javaScript);
        long total = data.getLong("total");
        ResultVo resultVo = new ResultVo((int) Math.ceil((double) total / (double) reqJson.getInteger("row")), total, data);
        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
        cmdDataFlowContext.setResponseEntity(responseEntity);
    }
    private void doDealSql(JSONObject reqJson, ReportCustomComponentDto reportCustomComponentDto, ICmdDataFlowContext cmdDataFlowContext) {
@@ -113,4 +126,5 @@
        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
        cmdDataFlowContext.setResponseEntity(responseEntity);
    }
}