|
@@ -4,10 +4,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
4
|
4
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
5
|
5
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
6
|
6
|
import com.yunzhi.nanyang.common.BaseController;
|
|
7
|
+import com.yunzhi.nanyang.common.ExcelUtils;
|
7
|
8
|
import com.yunzhi.nanyang.common.ResponseBean;
|
8
|
9
|
|
9
|
10
|
import java.util.HashMap;
|
10
|
11
|
import java.util.List;
|
|
12
|
+import java.util.Map;
|
11
|
13
|
|
12
|
14
|
import com.yunzhi.nanyang.common.StringUtils;
|
13
|
15
|
import io.swagger.annotations.Api;
|
|
@@ -18,6 +20,8 @@ import org.springframework.web.bind.annotation.*;
|
18
|
20
|
import com.yunzhi.nanyang.entity.TaDeviceJob;
|
19
|
21
|
import com.yunzhi.nanyang.service.TaDeviceJobService;
|
20
|
22
|
|
|
23
|
+import javax.servlet.http.HttpServletResponse;
|
|
24
|
+
|
21
|
25
|
|
22
|
26
|
* 设备作业表;(ta_device_job)表控制层
|
23
|
27
|
*
|
|
@@ -45,7 +49,7 @@ public class TaDeviceJobController extends BaseController {
|
45
|
49
|
|
46
|
50
|
|
47
|
51
|
|
48
|
|
- * 分页查询
|
|
52
|
+ * 设备作业列表
|
49
|
53
|
*
|
50
|
54
|
* @param pageNum 当前页码
|
51
|
55
|
* @param pageSize 每页条数
|
|
@@ -70,21 +74,21 @@ public class TaDeviceJobController extends BaseController {
|
70
|
74
|
|
71
|
75
|
|
72
|
76
|
|
73
|
|
- * 分页查询
|
|
77
|
+ * 设备作业统计
|
74
|
78
|
*
|
75
|
79
|
* @param pageNum 当前页码
|
76
|
80
|
* @param pageSize 每页条数
|
77
|
81
|
* @return 查询结果
|
78
|
82
|
*/
|
79
|
|
- @ApiOperation("设备作业列表")
|
|
83
|
+ @ApiOperation("设备作业统计")
|
80
|
84
|
@GetMapping("/device-job/by-org")
|
81
|
85
|
public ResponseBean statis(@ApiParam("页码") @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
|
82
|
86
|
@ApiParam("单页数据量") @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
|
83
|
87
|
@ApiParam("合作社名称") @RequestParam(value = "orgName", required = false) String orgName,
|
84
|
88
|
@ApiParam("设备分类") @RequestParam(value = "deviceKind", required = false) String deviceKind,
|
85
|
89
|
@ApiParam("设备编号") @RequestParam(value = "deviceNo", required = false) String deviceNo,
|
86
|
|
- @ApiParam(value = "开始时间", example = "2022-10-01") @RequestParam(value = "startDate", required = false) String startDate,
|
87
|
|
- @ApiParam(value = "结束时间", example = "2022-10-31") @RequestParam(value = "endDate", required = false) String endDate) throws Exception {
|
|
90
|
+ @ApiParam(value = "开始时间", example = "2022-10-01") @RequestParam(value = "startDate") String startDate,
|
|
91
|
+ @ApiParam(value = "结束时间", example = "2022-10-31") @RequestParam(value = "endDate") String endDate) throws Exception {
|
88
|
92
|
|
89
|
93
|
IPage<TaDeviceJob> pg = new Page<>(pageNum, pageSize);
|
90
|
94
|
IPage<TaDeviceJob> list = taDeviceJobService.statisOrgBy(pg, orgName, deviceKind, deviceNo, startDate, endDate);
|
|
@@ -96,6 +100,60 @@ public class TaDeviceJobController extends BaseController {
|
96
|
100
|
}});
|
97
|
101
|
}
|
98
|
102
|
|
|
103
|
+
|
|
104
|
+ * 设备作业统计-导出
|
|
105
|
+ * @param orgName
|
|
106
|
+ * @param deviceKind
|
|
107
|
+ * @param deviceNo
|
|
108
|
+ * @param startDate
|
|
109
|
+ * @param endDate
|
|
110
|
+ * @param response
|
|
111
|
+ * @return
|
|
112
|
+ * @throws Exception
|
|
113
|
+ */
|
|
114
|
+ @ApiOperation("设备作业统计-导出")
|
|
115
|
+ @GetMapping("/device-job/by-org/export")
|
|
116
|
+ public ResponseBean export(@ApiParam("合作社名称") @RequestParam(value = "orgName", required = false) String orgName,
|
|
117
|
+ @ApiParam("设备分类") @RequestParam(value = "deviceKind", required = false) String deviceKind,
|
|
118
|
+ @ApiParam("设备编号") @RequestParam(value = "deviceNo", required = false) String deviceNo,
|
|
119
|
+ @ApiParam(value = "开始时间", example = "2022-10-01") @RequestParam(value = "startDate") String startDate,
|
|
120
|
+ @ApiParam(value = "结束时间", example = "2022-10-31") @RequestParam(value = "endDate") String endDate,
|
|
121
|
+ HttpServletResponse response) throws Exception {
|
|
122
|
+
|
|
123
|
+ List<TaDeviceJob> list = taDeviceJobService.listOrgBy(orgName, deviceKind, deviceNo, startDate, endDate);
|
|
124
|
+
|
|
125
|
+ Double total = 0.0;
|
|
126
|
+ if (list != null || list.size() > 0) {
|
|
127
|
+ for (TaDeviceJob item : list) {
|
|
128
|
+ if ("shensong".equals(item.getDeviceKind())) {
|
|
129
|
+ item.setDeviceKind("深松机");
|
|
130
|
+ } else {
|
|
131
|
+ item.setDeviceKind("无人机");
|
|
132
|
+ }
|
|
133
|
+
|
|
134
|
+ if (null != item.getJobArea()) {
|
|
135
|
+ total += item.getJobArea();
|
|
136
|
+ }
|
|
137
|
+ }
|
|
138
|
+ }
|
|
139
|
+
|
|
140
|
+ try {
|
|
141
|
+ String date = String.format("%s 至 %s", startDate, endDate);
|
|
142
|
+ Double finalTotal = total;
|
|
143
|
+ ExcelUtils.tplExport(response, "job.xlsx", list, "作业统计", (excelWriter, writeSheet) -> {
|
|
144
|
+ Map<String, Object> map = new HashMap<>();
|
|
145
|
+ map.put("date", date);
|
|
146
|
+ map.put("total", finalTotal);
|
|
147
|
+ excelWriter.fill(map, writeSheet);
|
|
148
|
+ });
|
|
149
|
+
|
|
150
|
+ return null;
|
|
151
|
+ } catch (Exception e) {
|
|
152
|
+ e.printStackTrace();
|
|
153
|
+ }
|
|
154
|
+ return ResponseBean.error("导出失败, 请重试");
|
|
155
|
+ }
|
|
156
|
+
|
99
|
157
|
|
100
|
158
|
|
101
|
159
|
|