Your Name пре 2 година
родитељ
комит
dc5bacc9ca

+ 29
- 0
src/main/java/com/yunzhi/nanyang/controller/TaDeviceJobController.java Прегледај датотеку

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6
 import com.yunzhi.nanyang.common.BaseController;
7 7
 import com.yunzhi.nanyang.common.ResponseBean;
8 8
 
9
+import java.util.HashMap;
9 10
 import java.util.List;
10 11
 
11 12
 import com.yunzhi.nanyang.common.StringUtils;
@@ -67,6 +68,34 @@ public class TaDeviceJobController extends BaseController {
67 68
         return ResponseBean.success(result);
68 69
     }
69 70
 
71
+
72
+    /**
73
+     * 分页查询
74
+     *
75
+     * @param pageNum  当前页码
76
+     * @param pageSize 每页条数
77
+     * @return 查询结果
78
+     */
79
+    @ApiOperation("设备作业列表")
80
+    @GetMapping("/device-job/by-org")
81
+    public ResponseBean statis(@ApiParam("页码") @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
82
+                               @ApiParam("单页数据量") @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
83
+                               @ApiParam("合作社名称") @RequestParam(value = "orgName", required = false) String orgName,
84
+                               @ApiParam("设备分类") @RequestParam(value = "deviceKind", required = false) String deviceKind,
85
+                               @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 {
88
+
89
+        IPage<TaDeviceJob> pg = new Page<>(pageNum, pageSize);
90
+        IPage<TaDeviceJob> list = taDeviceJobService.statisOrgBy(pg, orgName, deviceKind, deviceNo, startDate, endDate);
91
+        Double totalArea = taDeviceJobService.statisTotalArea(orgName, deviceKind, deviceNo, startDate, endDate);
92
+
93
+        return ResponseBean.success(new HashMap<String, Object>(){{
94
+            put("list", list);
95
+            put("totalArea", totalArea);
96
+        }});
97
+    }
98
+
70 99
 //    /**
71 100
 //     * 新增数据
72 101
 //     *

+ 40
- 24
src/main/java/com/yunzhi/nanyang/entity/TaDeviceJob.java Прегледај датотеку

@@ -1,48 +1,64 @@
1 1
 package com.yunzhi.nanyang.entity;
2 2
 
3
+import com.baomidou.mybatisplus.annotation.TableField;
3 4
 import io.swagger.annotations.ApiModel;
4 5
 import io.swagger.annotations.ApiModelProperty;
5 6
 import com.baomidou.mybatisplus.annotation.IdType;
6 7
 import com.baomidou.mybatisplus.annotation.TableName;
7 8
 import com.baomidou.mybatisplus.annotation.TableId;
9
+
8 10
 import java.io.Serializable;
9 11
 import java.util.Date;
12
+
10 13
 import lombok.Data;
11 14
 import lombok.EqualsAndHashCode;
12 15
 import lombok.experimental.Accessors;
13 16
 
14
- /**
17
+/**
15 18
  * 设备作业表;
19
+ *
16 20
  * @author : http://www.chiner.pro
17 21
  * @date : 2022-11-3
18 22
  */
19 23
 @Data
20 24
 @EqualsAndHashCode(callSuper = false)
21 25
 @Accessors(chain = true)
22
-@ApiModel(value = "设备作业表",description = "")
26
+@ApiModel(value = "设备作业表", description = "")
23 27
 @TableName("ta_device_job")
24
-public class TaDeviceJob implements Serializable,Cloneable{
25
-    /** 作业ID */
26
-    @ApiModelProperty(name = "作业ID",notes = "")
28
+public class TaDeviceJob implements Serializable, Cloneable {
29
+    /**
30
+     * 作业ID
31
+     */
32
+    @ApiModelProperty(name = "作业ID", notes = "")
27 33
     @TableId(value = "job_id", type = IdType.UUID)
28
-    private String jobId ;
29
-    /** 设备大类 */
30
-    @ApiModelProperty(name = "设备大类",notes = "")
31
-    private String deviceKind ;
32
-    /** 设备编号 */
33
-    @ApiModelProperty(name = "设备编号",notes = "")
34
-    private String deviceNo ;
35
-    /** 农机ID */
36
-    @ApiModelProperty(name = "农机ID",notes = "")
37
-    private String machineryId ;
38
-    /** 农机名称 */
39
-    @ApiModelProperty(name = "农机名称",notes = "")
40
-    private String machineryName ;
41
-    /** 作业面积 */
42
-    @ApiModelProperty(name = "作业面积",notes = "")
43
-    private Double jobArea ;
44
-    /** 作业时间 */
45
-    @ApiModelProperty(name = "作业时间",notes = "")
46
-    private String jobDate ;
34
+    private String jobId;
35
+    /**
36
+     * 设备大类
37
+     */
38
+    @ApiModelProperty(name = "设备大类", notes = "")
39
+    private String deviceKind;
40
+    /**
41
+     * 设备编号
42
+     */
43
+    @ApiModelProperty(name = "设备编号", notes = "")
44
+    private String deviceNo;
45
+    /**
46
+     * 农机ID
47
+     */
48
+    @ApiModelProperty(name = "农机ID", notes = "")
49
+    private String machineryId;
50
+    /**
51
+     * 作业面积
52
+     */
53
+    @ApiModelProperty(name = "作业面积", notes = "")
54
+    private Double jobArea;
55
+    /**
56
+     * 作业时间
57
+     */
58
+    @ApiModelProperty(name = "作业时间", notes = "")
59
+    private String jobDate;
47 60
 
61
+    @ApiModelProperty(name = "合作社名称")
62
+    @TableField(exist = false)
63
+    private String orgName;
48 64
 }

+ 15
- 2
src/main/java/com/yunzhi/nanyang/mapper/TaDeviceJobMapper.java Прегледај датотеку

@@ -1,6 +1,7 @@
1 1
 package com.yunzhi.nanyang.mapper;
2 2
 
3 3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
4 5
 import org.apache.ibatis.annotations.Mapper;
5 6
 import org.apache.ibatis.annotations.Param;
6 7
 import com.yunzhi.nanyang.entity.TaDeviceJob;
@@ -12,5 +13,17 @@ import com.yunzhi.nanyang.entity.TaDeviceJob;
12 13
  */
13 14
 @Mapper
14 15
 public interface TaDeviceJobMapper  extends BaseMapper<TaDeviceJob>{
15
-    
16
-}
16
+
17
+     IPage<TaDeviceJob> statisOrgBy(IPage<TaDeviceJob> pg,
18
+                                    @Param("orgName") String orgName,
19
+                                    @Param("deviceKind") String deviceKind,
20
+                                    @Param("deviceNo") String deviceNo,
21
+                                    @Param("startDate") String startDate,
22
+                                    @Param("endDate") String endDate);
23
+
24
+     Double statisTotalArea(@Param("orgName") String orgName,
25
+                            @Param("deviceKind") String deviceKind,
26
+                            @Param("deviceNo") String deviceNo,
27
+                            @Param("startDate") String startDate,
28
+                            @Param("endDate") String endDate);
29
+ }

+ 6
- 2
src/main/java/com/yunzhi/nanyang/service/TaDeviceJobService.java Прегледај датотеку

@@ -1,5 +1,6 @@
1 1
 package com.yunzhi.nanyang.service;
2 2
 
3
+import com.baomidou.mybatisplus.core.metadata.IPage;
3 4
 import com.baomidou.mybatisplus.extension.service.IService;
4 5
 import com.yunzhi.nanyang.entity.TaDeviceJob;
5 6
 
@@ -9,5 +10,8 @@ import com.yunzhi.nanyang.entity.TaDeviceJob;
9 10
  * @date : 2022-11-3
10 11
  */
11 12
 public interface TaDeviceJobService extends IBaseService<TaDeviceJob> {
12
-    
13
-}
13
+
14
+     IPage<TaDeviceJob> statisOrgBy(IPage<TaDeviceJob> pg, String orgName, String deviceKind, String deviceNo, String startDate, String endDate);
15
+
16
+     Double statisTotalArea(String orgName, String deviceKind, String deviceNo, String startDate, String endDate);
17
+ }

+ 14
- 2
src/main/java/com/yunzhi/nanyang/service/impl/TaDeviceJobServiceImpl.java Прегледај датотеку

@@ -1,16 +1,28 @@
1 1
 package com.yunzhi.nanyang.service.impl;
2 2
 
3
+import com.baomidou.mybatisplus.core.metadata.IPage;
3 4
 import org.springframework.beans.factory.annotation.Autowired;
4 5
 import org.springframework.stereotype.Service;
5 6
 import com.yunzhi.nanyang.entity.TaDeviceJob;
6 7
 import com.yunzhi.nanyang.mapper.TaDeviceJobMapper;
7 8
 import com.yunzhi.nanyang.service.TaDeviceJobService;
8
- /**
9
+
10
+/**
9 11
  * 设备作业表;(ta_device_job)表服务实现类
12
+ *
10 13
  * @author : http://www.chiner.pro
11 14
  * @date : 2022-11-3
12 15
  */
13 16
 @Service
14 17
 public class TaDeviceJobServiceImpl extends BaseServiceImpl<TaDeviceJobMapper, TaDeviceJob> implements TaDeviceJobService {
15
-    
18
+
19
+    @Override
20
+    public IPage<TaDeviceJob> statisOrgBy(IPage<TaDeviceJob> pg, String orgName, String deviceKind, String deviceNo, String startDate, String endDate) {
21
+        return baseMapper.statisOrgBy(pg, orgName, deviceKind, deviceNo, startDate, endDate);
22
+    }
23
+
24
+    @Override
25
+    public Double statisTotalArea(String orgName, String deviceKind, String deviceNo, String startDate, String endDate) {
26
+        return baseMapper.statisTotalArea(orgName, deviceKind, deviceNo, startDate, endDate);
27
+    }
16 28
 }

+ 35
- 1
src/main/resources/mapper/TaDeviceJobMapper.xml Прегледај датотеку

@@ -2,5 +2,39 @@
2 2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3 3
 
4 4
 <mapper namespace="com.yunzhi.nanyang.mapper.TaDeviceJobMapper">
5
-    
5
+
6
+    <sql id="statisOrg">
7
+        FROM
8
+            ta_device_job t
9
+            INNER JOIN ta_machinery s ON t.machinery_id = s.machinery_id
10
+            INNER JOIN ta_org m ON s.org_id = m.org_id
11
+        WHERE
12
+            1 = 1
13
+        <if test="deviceKind != null and deviceKind != ''">
14
+            AND t.device_kind = #{deviceKind}
15
+        </if>
16
+        <if test="deviceNo != null and deviceNo != ''">
17
+            AND t.device_no = #{deviceNo}
18
+        </if>
19
+        <if test="orgName != null and orgName != ''">
20
+            AND m.`name` LIKE CONCAT( '%', #{orgName}, '%' )
21
+        </if>
22
+        <if test="startDate != null and startDate != ''">
23
+            AND t.job_date BETWEEN #{startDate} AND #{endDate}
24
+        </if>
25
+        ORDER BY
26
+            t.job_date DESC
27
+    </sql>
28
+
29
+    <select id="statisOrgBy" resultType="com.yunzhi.nanyang.entity.TaDeviceJob">
30
+        SELECT
31
+            m.`name` AS org_name,
32
+            s.`name` AS machinery_name,
33
+            t.*
34
+        <include refid="statisOrg"></include>
35
+    </select>
36
+    <select id="statisTotalArea" resultType="java.lang.Double">
37
+        SELECT SUM(t.job_area)
38
+        <include refid="statisOrg"></include>
39
+    </select>
6 40
 </mapper>