Browse Source

查询疾病统计

523096025 4 years ago
parent
commit
57785e8c88

+ 17 - 0
huimv-smart-management/src/main/java/com/huimv/management/controller/HealthMedicalRecordController.java

@@ -6,6 +6,7 @@ import java.util.Map;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.huimv.management.entity.dto.DiseaseDto;
 import io.swagger.annotations.Api;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PathVariable;
@@ -103,4 +104,20 @@ public class HealthMedicalRecordController {
         return R.ok().put("all",healthMedicalRecordService.list(wrapper));
     }
 
+    //疾病统计
+    @RequestMapping("/diseaseCount")
+    public R diseaseCount(@RequestParam Map<String, Object> params){
+        String type = (String)params.get("type");
+        String farmId = (String)params.get("formFarmId");
+        if (type == null || "".equals(type)){
+            R.error("请选择时间");
+        }
+        if (farmId == null || "".equals(farmId)){
+            R.error("请选择牧场");
+        }
+
+        List<DiseaseDto> list = healthMedicalRecordService.diseaseCount(type,farmId);
+        return R.ok().put("data",list);
+    }
+
 }

+ 10 - 1
huimv-smart-management/src/main/java/com/huimv/management/dao/HealthMedicalRecordDao.java

@@ -1,8 +1,15 @@
 package com.huimv.management.dao;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.management.entity.HealthMedicalRecordEntity;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.management.entity.dto.DiseaseDto;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * 
@@ -12,6 +19,8 @@ import org.apache.ibatis.annotations.Mapper;
  * @date 2021-06-10 09:44:06
  */
 @Mapper
+@Repository
 public interface HealthMedicalRecordDao extends BaseMapper<HealthMedicalRecordEntity> {
-	
+
+    List<DiseaseDto>   diseaseCount(@Param("ew") QueryWrapper<HealthMedicalRecordEntity> wrapper);
 }

+ 16 - 0
huimv-smart-management/src/main/java/com/huimv/management/entity/dto/DiseaseDto.java

@@ -0,0 +1,16 @@
+package com.huimv.management.entity.dto;
+
+import lombok.Data;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.management.entity.dto
+ * @Description : TODO
+ * @Author : yuxuexuan
+ * @Create : 2021/7/1 0001 17:38
+ **/
+@Data
+public class DiseaseDto {
+    private String diseaseName;
+    private Integer countDisease;
+}

+ 2 - 0
huimv-smart-management/src/main/java/com/huimv/management/service/HealthMedicalRecordService.java

@@ -3,6 +3,7 @@ package com.huimv.management.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.huimv.common.utils.PageUtils;
 import com.huimv.management.entity.HealthMedicalRecordEntity;
+import com.huimv.management.entity.dto.DiseaseDto;
 
 import java.util.List;
 import java.util.Map;
@@ -18,5 +19,6 @@ public interface HealthMedicalRecordService extends IService<HealthMedicalRecord
 
     PageUtils queryPage(Map<String, Object> params);
 
+    List<DiseaseDto> diseaseCount(String type, String farmId);
 }
 

+ 40 - 0
huimv-smart-management/src/main/java/com/huimv/management/service/impl/HealthMedicalRecordServiceImpl.java

@@ -1,8 +1,15 @@
 package com.huimv.management.service.impl;
 
+import cn.hutool.core.date.DateUtil;
 import com.huimv.management.entity.HealthIsolationRecordEntity;
+import com.huimv.management.entity.dto.DiseaseDto;
+import com.huimv.management.entity.vo.PigBaseVo;
 import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
 import java.util.Map;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -18,6 +25,9 @@ import com.huimv.management.service.HealthMedicalRecordService;
 @Service("healthMedicalRecordService")
 public class HealthMedicalRecordServiceImpl extends ServiceImpl<HealthMedicalRecordDao, HealthMedicalRecordEntity> implements HealthMedicalRecordService {
 
+    @Autowired
+    private HealthMedicalRecordDao healthMedicalRecordDao;
+
     @Override
     public PageUtils queryPage(Map<String, Object> params) {
 
@@ -62,4 +72,34 @@ public class HealthMedicalRecordServiceImpl extends ServiceImpl<HealthMedicalRec
         return new PageUtils(page);
     }
 
+    @Override
+    public List<DiseaseDto> diseaseCount(String type, String farmId) {
+        QueryWrapper<HealthMedicalRecordEntity> wrapper = new QueryWrapper<HealthMedicalRecordEntity>();
+        wrapper.eq("farm_id",Integer.parseInt(farmId));
+        Date endTime = DateUtil.date();
+        Date startTime;
+        switch (type){
+            //今日
+            case "1":
+                startTime= DateUtil.beginOfDay(endTime);
+                break;
+            //本月
+            case "2":
+                startTime= DateUtil.beginOfMonth(endTime);
+                break;
+            //本周
+            default:
+                startTime = DateUtil.beginOfWeek(endTime);
+        }
+
+        //小于
+        wrapper.le("create_time",endTime);
+        //大于等于
+        wrapper.ge("create_time",startTime);
+
+        wrapper.apply("effective = 1");
+
+        List<DiseaseDto> diseaseDtos  = healthMedicalRecordDao.diseaseCount(wrapper);
+        return diseaseDtos;
+    }
 }

+ 10 - 0
huimv-smart-management/src/main/resources/mapper/management/HealthMedicalRecordDao.xml

@@ -24,4 +24,14 @@
     </resultMap>
 
 
+    <select id="diseaseCount" resultType="com.huimv.management.entity.dto.DiseaseDto">
+        select
+         disease_name ,
+         COUNT(id) count_disease
+         FROM `health_medical_record`
+        ${ew.customSqlSegment}
+        GROUP BY  disease_name
+    </select>
+
+
 </mapper>