前言
爬虫神器,无代码爬取,就来:bright.cn
Java基本知识:
关于jmreport的报表写过一篇知识点:jmreport积木报表实战中的设计要点(实时更新)
对应官网关于API的解读更多可以看这篇文章:
1. 时间传参
一开始执行代码的时候,时常出现很多Bug:
2025-05-12 16:06:32.056 INFO 58652 --- [ XNIO-1 task-23] o.jeecg.modules.jmreport.desreport.a.a : 报表executeSelectApi:: api= http://127.0.0.1:1888/api/blade-equipment/shiftmaintenance/report?dutyDate=&shift=, method= 0, token= 123456
2025-05-12 16:06:32.182 WARN 58652 --- [ XNIO-1 task-24] o.s.c.log.error.RestExceptionTranslator : 缺少请求参数
2025-05-12 16:06:32.186 ERROR 58652 --- [ XNIO-1 task-23] o.j.modules.jmreport.desreport.util.h : GET 请求url=http://127.0.0.1:1888/api/blade-equipment/shiftmaintenance/report?dutyDate=&shift= , api调用专用 error: 400 Bad Request
截图如下:
代码如下:
@GetMapping("/report")
@ApiOperationSupport(order = 8)
@ApiOperation(value = "查看表单", notes = "传入id")
public JSONObject report(@RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate dutyDate,
@RequestParam String shift) {
return shiftMaintenanceLogService.report( dutyDate, shift);
}
后续了解到时间传输需要这种形式:日期转字符串函数
2. 其他参数
通过特定的字段进行传输,但有一点,这样字段输出不出来!
@GetMapping("/report")
@ApiOperationSupport(order = 8)
@ApiOperation(value = "查看表单", notes = "传入id")
public JSONObject report(@RequestParam Long id) {
return shiftMaintenanceLogService.report(id);
}
需要代入默认的特殊值才可!
@GetMapping("/report")
@ApiOperationSupport(order = 8)
@ApiOperation(value = "查看表单", notes = "传入id")
public JSONObject report(@RequestParam(defaultValue = "1") Long id) {
return shiftMaintenanceLogService.report(id);
}
这是一种方式,还有另外一种方式 是在积木报表中设定:
3. 代码
代码的返回格式要遵从积木报表的接收形式:
List<JSONObject> mergedList = new ArrayList<>();
for (RushRepareOrder order : orderList) {
JSONObject item = new JSONObject();
// 子表字段
item.put("equipmentNo", order.getEquipmentNo());
item.put("declareRepareTime", order.getDeclareRepareTime());
item.put("repareTime", order.getRepareTime());
item.put("content", order.getContent());
item.put("solution", order.getSolution());
item.put("beginRepareTime", order.getBeginRepareTime());
item.put("orderStatus", order.getOrderStatus());
item.put("remark", order.getRemark());
mergedList.add(item);
}
// 5. 封装最终结果
JSONObject result = new JSONObject();
result.put("data", mergedList);
result.put("total", mergedList.size());
result.put("count", mergedList.size());
return result;
截图如下: