Przeglądaj źródła

粮情异常接口

hanqingsong 5 lat temu
rodzic
commit
ca2c505ef0

+ 3 - 0
src/main/java/com/unissoft/feign/SystemFeign.java

@@ -27,4 +27,7 @@ public interface SystemFeign {
27 27
     @GetMapping("/basicsDepot/authority/getAllLONAndLAT")
28 28
     ResultView getAllLONAndLAT(@RequestParam("homeType") Integer homeType, @RequestParam("depotId") Integer depotId);
29 29
 
30
+    @GetMapping("/basicsDepot/authority/getItselfJoinDownDepotId/{depotId}")
31
+    ResultView getItselfJoinDownDepotId(@PathVariable("depotId") Integer depotId);
32
+
30 33
 }

+ 6 - 0
src/main/java/com/unissoft/feign/SystemHystrix.java

@@ -38,4 +38,10 @@ public class SystemHystrix implements SystemFeign {
38 38
 		return ResultView.hystrixError("getAllLONAndLAT方法");
39 39
 	}
40 40
 
41
+	@Override
42
+	public ResultView getItselfJoinDownDepotId(Integer depotId) {
43
+		logger.error("调用csc-szls-system-manage(getItselfJoinDownDepotId方法)服务根据id查询用户信息失败!");
44
+		return ResultView.hystrixError("getItselfJoinDownDepotId方法");
45
+	}
46
+
41 47
 }

+ 17 - 0
src/main/java/com/unissoft/grainManage/controller/GrainConditionRecordController.java

@@ -6,6 +6,8 @@ import com.unissoft.constant.GrainConstant;
6 6
 import com.unissoft.grainManage.service.GrainConditionRecordService;
7 7
 import com.unissoft.model.GrainAdd;
8 8
 import com.unissoft.model.GrainConditionRecord;
9
+import com.unissoft.model.GrainError;
10
+import com.unissoft.model.GrainErrorEChars;
9 11
 import com.unissoft.result.PageParam;
10 12
 import com.unissoft.result.ResultView;
11 13
 import io.swagger.annotations.Api;
@@ -17,6 +19,7 @@ import org.springframework.web.bind.annotation.*;
17 19
 import javax.annotation.Resource;
18 20
 import javax.validation.constraints.NotNull;
19 21
 import java.util.List;
22
+import java.util.Map;
20 23
 
21 24
 /**
22 25
  * <p>
@@ -77,4 +80,18 @@ public class GrainConditionRecordController {
77 80
         return ResultView.error();
78 81
     }
79 82
 
83
+    @ApiOperation(value = "首页粮情异常eChars", notes = "图表")
84
+    @GetMapping("/authority/getGrainErrorEChars/{depotId}")
85
+    public ResultView getGrainErrorEChars(@PathVariable("depotId") Integer depotId) {
86
+        List<GrainErrorEChars> errorList = grainConditionRecordService.getGrainErrorEChars(depotId);
87
+        return ResultView.success(errorList);
88
+    }
89
+
90
+    @ApiOperation(value = "粮情异常列表分页查询", notes = "提交参数: depotId 非空")
91
+    @GetMapping("/authority/getGrainErrorCount")
92
+    public ResultView getGrainErrorCount(@Validated PageParam pageParam) {
93
+        IPage<GrainError> page = grainConditionRecordService.getGrainErrorCount(pageParam);
94
+        return ResultView.success(page);
95
+    }
96
+
80 97
 }

+ 7 - 0
src/main/java/com/unissoft/grainManage/service/GrainConditionRecordService.java

@@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
4 4
 import com.baomidou.mybatisplus.extension.service.IService;
5 5
 import com.unissoft.model.GrainAdd;
6 6
 import com.unissoft.model.GrainConditionRecord;
7
+import com.unissoft.model.GrainError;
8
+import com.unissoft.model.GrainErrorEChars;
7 9
 import com.unissoft.result.PageParam;
8 10
 
9 11
 import java.util.List;
12
+import java.util.Map;
10 13
 
11 14
 /**
12 15
  * <p>
@@ -27,4 +30,8 @@ public interface GrainConditionRecordService extends IService<GrainConditionReco
27 30
     boolean deleteById(Integer id);
28 31
 
29 32
     boolean updateGrainRecord(GrainAdd model);
33
+
34
+    IPage<GrainError> getGrainErrorCount(PageParam pageParam);
35
+
36
+    List<GrainErrorEChars> getGrainErrorEChars(Integer depotId);
30 37
 }

+ 40 - 3
src/main/java/com/unissoft/grainManage/service/impl/GrainConditionRecordServiceImpl.java

@@ -7,13 +7,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7 7
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
8 8
 import com.unissoft.MyConstant;
9 9
 import com.unissoft.constant.GrainConstant;
10
+import com.unissoft.feign.SystemFeign;
10 11
 import com.unissoft.grainManage.service.GrainConditionRecordService;
11 12
 import com.unissoft.mapper.*;
12 13
 import com.unissoft.model.*;
13 14
 import com.unissoft.result.PageParam;
14 15
 import com.unissoft.utils.DateUtil;
15 16
 import lombok.extern.slf4j.Slf4j;
16
-import org.apache.commons.lang.ObjectUtils;
17 17
 import org.json.JSONObject;
18 18
 import org.springframework.beans.factory.annotation.Autowired;
19 19
 import org.springframework.stereotype.Service;
@@ -21,9 +21,8 @@ import org.springframework.transaction.annotation.Transactional;
21 21
 import org.springframework.util.CollectionUtils;
22 22
 import org.springframework.util.StringUtils;
23 23
 
24
+import javax.annotation.Resource;
24 25
 import java.util.*;
25
-import java.util.stream.Collectors;
26
-import java.util.stream.Stream;
27 26
 
28 27
 /**
29 28
  * <p>
@@ -46,6 +45,8 @@ public class GrainConditionRecordServiceImpl extends ServiceImpl<GrainConditionR
46 45
     private GrainAbnormalDescribeMapper grainAbnormalDescribeMapper;
47 46
     @Autowired
48 47
     private GrainConditionRecordChildMapper childMapper;
48
+    @Resource
49
+    private SystemFeign systemFeign;
49 50
 
50 51
     @Override
51 52
     public List<GrainConditionRecord> getByRoleTime(GrainConditionRecord requestRecord) {
@@ -184,4 +185,40 @@ public class GrainConditionRecordServiceImpl extends ServiceImpl<GrainConditionR
184 185
         return false;
185 186
     }
186 187
 
188
+    @Override
189
+    public List<GrainErrorEChars> getGrainErrorEChars(Integer depotId) {
190
+        // 调用基础服务查询当前登录人所在机构及下级机构编码
191
+        List<Integer> depotIds = (List) systemFeign.getItselfJoinDownDepotId(depotId).getData();
192
+        return grainConditionRecordMapper.getGrainErrorEChars(depotIds);
193
+    }
194
+
195
+    @Override
196
+    public IPage<GrainError> getGrainErrorCount(PageParam pageParam) {
197
+        // 分页
198
+        int pageIndex = pageParam.getPageIndex();
199
+        int pageSize = pageParam.getPageSize();
200
+        // 分页对象
201
+        IPage<GrainError> iPage = new Page<>();
202
+        // 查询条件
203
+        if (!StringUtils.isEmpty(pageParam.getCondition())) {
204
+            JSONObject object = new JSONObject(pageParam.getCondition());
205
+            Integer depotId = object.getInt("depotId"); // 库id
206
+            // 调用基础服务查询当前登录人所在机构及下级机构编码
207
+            List<Integer> depotIds = (List) systemFeign.getItselfJoinDownDepotId(depotId).getData();
208
+            log.info("depotIds -> {}", JSON.toJSONString(depotIds));
209
+            if (pageIndex != MyConstant.ZERO && pageSize != MyConstant.ZERO) {
210
+                iPage.setCurrent(pageIndex);
211
+                iPage.setSize(pageSize);
212
+            }
213
+            // 查询map对象
214
+            Map<String, Object> map = JSON.parseObject(pageParam.getCondition(), Map.class);
215
+            map.put("depotIds", depotIds);
216
+            // 获取分页查询数据
217
+            IPage<GrainError> res = grainConditionRecordMapper.getGrainErrorCount(iPage, map);
218
+            log.info("IPage res-> {}", JSON.toJSONString(res));
219
+            return res;
220
+        }
221
+        return iPage;
222
+    }
223
+
187 224
 }

+ 6 - 0
src/main/java/com/unissoft/mapper/GrainConditionRecordMapper.java

@@ -3,6 +3,8 @@ package com.unissoft.mapper;
3 3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.unissoft.model.GrainConditionRecord;
6
+import com.unissoft.model.GrainError;
7
+import com.unissoft.model.GrainErrorEChars;
6 8
 import org.apache.ibatis.annotations.Param;
7 9
 import org.springframework.stereotype.Repository;
8 10
 
@@ -22,6 +24,10 @@ public interface GrainConditionRecordMapper extends BaseMapper<GrainConditionRec
22 24
 
23 25
     List<GrainConditionRecord> getByCheckPersonAndCheckTime(@Param("houseId") Integer houseId, @Param("depotId") Integer depotId);
24 26
 
27
+    IPage<GrainError> getGrainErrorCount(IPage<GrainError> iPage, @Param("params") Map<String, Object> map);
28
+
29
+    List<GrainErrorEChars> getGrainErrorEChars(@Param("depotIds") List<Integer> depotIds);
30
+
25 31
     // List<GrainConditionRecord> getByPersonAndTime();
26 32
 //    int getSelectRecordId();
27 33
 

+ 48 - 0
src/main/java/com/unissoft/mapper/GrainConditionRecordMapper.xml

@@ -56,6 +56,54 @@
56 56
         AND gr.house_id = el.house_id
57 57
         AND gr.depot_id = el.depot_id
58 58
     </select>
59
+    <select id="getGrainErrorEChars" parameterType="java.util.List" resultType="com.unissoft.model.GrainErrorEChars">
60
+        SELECT
61
+            COUNT(grc.id) errorCount,
62
+            gr.depot_id depotId,
63
+            gr.check_year checkYear,
64
+            gr.check_year_week checkYearWeek
65
+        FROM
66
+            grain_condition_record gr
67
+        INNER JOIN grain_condition_record_child grc ON gr.id = grc.parent_id
68
+        AND gr.enum_id = 19
69
+        AND grc.enum_id = 191
70
+        AND gr.anomalous_status = 1
71
+        AND grc.anomalous_status = 1
72
+        AND gr.check_year = YEAR (NOW())
73
+        AND gr.depot_id IN
74
+        <foreach item="item" collection="depotIds" separator="," open="(" close=")">#{item}</foreach>
75
+        GROUP BY
76
+            gr.check_year_week
77
+    </select>
78
+    <select id="getGrainErrorCount" resultType="com.unissoft.model.GrainError">
79
+        SELECT
80
+            gr.id pId,
81
+            grc.id cId,
82
+            gr.depot_id depotId,
83
+            gr.check_year checkYear,
84
+            gr.check_year_week checkYearWeek,
85
+            gr.house_id houseId,
86
+            grc.anomalous_status anomalousStatus,
87
+            grc.enum_id enumId,
88
+            grc.operation_time operationTime
89
+        FROM
90
+            grain_condition_record gr
91
+        INNER JOIN grain_condition_record_child grc ON gr.id = grc.parent_id
92
+        AND grc.enum_id = 191
93
+        AND gr.enum_id = 19
94
+        AND grc.anomalous_status = 1
95
+        AND gr.anomalous_status = 1
96
+        <if test="params.checkYear != null">
97
+            AND gr.check_year = #{params.checkYear}
98
+        </if>
99
+        <if test="params.checkYearWeek != null">
100
+            AND gr.check_year_week = #{params.checkYearWeek}
101
+        </if>
102
+        AND gr.depot_id IN
103
+        <foreach item="depotId" collection="params.depotIds" separator="," open="(" close=")">#{depotId}</foreach>
104
+        ORDER BY
105
+            gr.check_year_week
106
+    </select>
59 107
 
60 108
   <!--  <select id="getByPersonAndTime"  resultType="com.unissoft.model.GrainConditionRecord">
61 109
         SELECT

+ 2 - 2
src/main/java/com/unissoft/model/GrainConditionRecord.java

@@ -56,11 +56,11 @@ public class GrainConditionRecord implements Serializable {
56 56
     @TableField("check_person")
57 57
     private Integer checkPerson;
58 58
 
59
-    @ApiModelProperty(value = "id")
59
+    @ApiModelProperty(value = "仓房id")
60 60
     @TableField("house_id")
61 61
     private Integer houseId;
62 62
 
63
-    @ApiModelProperty(value = "仓房id")
63
+    @ApiModelProperty(value = "id")
64 64
     @TableField("depot_id")
65 65
     private Integer depotId;
66 66
 

+ 56 - 0
src/main/java/com/unissoft/model/GrainError.java

@@ -0,0 +1,56 @@
1
+package com.unissoft.model;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
5
+import com.baomidou.mybatisplus.annotation.TableId;
6
+import com.fasterxml.jackson.annotation.JsonFormat;
7
+import io.swagger.annotations.ApiModel;
8
+import io.swagger.annotations.ApiModelProperty;
9
+import lombok.Data;
10
+import lombok.EqualsAndHashCode;
11
+import org.springframework.format.annotation.DateTimeFormat;
12
+
13
+import java.io.Serializable;
14
+import java.util.Date;
15
+
16
+/**
17
+ * @author qingsong.han
18
+ * @description: 粮情异常数据对象
19
+ * @create 2021-02-26 9:43
20
+ */
21
+@Data
22
+@EqualsAndHashCode(callSuper = false)
23
+@ApiModel(value = "粮情异常类", description = "粮情检测记录")
24
+public class GrainError implements Serializable {
25
+    private static final long serialVersionUID = 2162086215502754428L;
26
+
27
+    @ApiModelProperty(value = "粮情检测记录id")
28
+    private Integer pId;
29
+
30
+    @ApiModelProperty(value = "粮情检测记录子表id")
31
+    private Integer cId;
32
+
33
+    @ApiModelProperty(value = "库id")
34
+    private Integer depotId;
35
+
36
+    @ApiModelProperty(value = "检查年份(用于粮情异常等,做年统计)")
37
+    private Integer checkYear;
38
+
39
+    @ApiModelProperty(value = "检查所在年第几周")
40
+    private Integer checkYearWeek;
41
+
42
+    @ApiModelProperty(value = "仓房id")
43
+    private Integer houseId;
44
+
45
+    @ApiModelProperty(value = "是否异常_选项(0:否,1:是)")
46
+    private Integer anomalousStatus;
47
+
48
+    @ApiModelProperty(value = "检查类型(子表检查项)")
49
+    private Integer enumId;
50
+
51
+    @ApiModelProperty(value = "检查(操作)时间(子表)")
52
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
53
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
54
+    private Date operationTime;
55
+
56
+}

+ 31 - 0
src/main/java/com/unissoft/model/GrainErrorEChars.java

@@ -0,0 +1,31 @@
1
+package com.unissoft.model;
2
+
3
+import io.swagger.annotations.ApiModelProperty;
4
+import lombok.Data;
5
+import lombok.EqualsAndHashCode;
6
+
7
+import java.io.Serializable;
8
+
9
+/**
10
+ * @author qingsong.han
11
+ * @description: 粮情异常首页eChars返回基类
12
+ * @create 2021-02-26 15:58
13
+ */
14
+@Data
15
+@EqualsAndHashCode(callSuper = false)
16
+public class GrainErrorEChars implements Serializable {
17
+    private static final long serialVersionUID = -8644715628790677956L;
18
+
19
+    @ApiModelProperty(value = "粮情异常数量")
20
+    private Integer errorCount;
21
+
22
+    @ApiModelProperty(value = "库id")
23
+    private Integer depotId;
24
+
25
+    @ApiModelProperty(value = "检查年份(用于粮情异常等,做年统计)")
26
+    private Integer checkYear;
27
+
28
+    @ApiModelProperty(value = "检查所在年第几周")
29
+    private Integer checkYearWeek;
30
+
31
+}