Explorar o código

查询疾病统计

523096025 %!s(int64=4) %!d(string=hai) anos
pai
achega
ea4b02e7dc

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

@@ -104,7 +104,7 @@ 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");

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

@@ -1,8 +1,14 @@
 package com.huimv.management.dao;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.management.entity.HealthImmuneRecordEntity;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.management.entity.dto.ImmuneCountDto;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
 
 /**
  * 
@@ -11,7 +17,10 @@ import org.apache.ibatis.annotations.Mapper;
  * @email yinhao@163.com
  * @date 2021-06-10 09:44:06
  */
+@Repository
 @Mapper
 public interface HealthImmuneRecordDao extends BaseMapper<HealthImmuneRecordEntity> {
-	
+
+
+    List<ImmuneCountDto> vaccineCoount(@Param("ew") QueryWrapper<HealthImmuneRecordEntity> immuneWrapper);
 }

+ 9 - 1
huimv-smart-management/src/main/java/com/huimv/management/dao/HealthIsolationRecordDao.java

@@ -1,8 +1,14 @@
 package com.huimv.management.dao;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.management.entity.HealthIsolationRecordEntity;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.management.entity.dto.IsolationDto;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
 
 /**
  * 
@@ -12,6 +18,8 @@ import org.apache.ibatis.annotations.Mapper;
  * @date 2021-06-10 09:44:06
  */
 @Mapper
+@Repository
 public interface HealthIsolationRecordDao extends BaseMapper<HealthIsolationRecordEntity> {
-	
+
+    List<IsolationDto> isolationCount(@Param("ew")QueryWrapper<HealthIsolationRecordEntity> isolationWrapper);
 }

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

@@ -4,6 +4,7 @@ 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 com.huimv.management.entity.dto.TreatResultDto;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
@@ -22,5 +23,7 @@ import java.util.Map;
 @Repository
 public interface HealthMedicalRecordDao extends BaseMapper<HealthMedicalRecordEntity> {
 
-    List<DiseaseDto>   diseaseCount(@Param("ew") QueryWrapper<HealthMedicalRecordEntity> wrapper);
+    List<DiseaseDto>   diseaseCount(@Param("ew") QueryWrapper<HealthMedicalRecordEntity> medicalWrapper);
+
+    List<TreatResultDto> treatResultCount(@Param("ew") QueryWrapper<HealthMedicalRecordEntity> medicalWrapper);
 }

+ 17 - 0
huimv-smart-management/src/main/java/com/huimv/management/entity/dto/ImmuneCountDto.java

@@ -0,0 +1,17 @@
+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/2 0002 14:34
+ **/
+@Data
+public class ImmuneCountDto {
+    private String vaccineName;
+
+    private Integer vaccineCount;
+}

+ 16 - 0
huimv-smart-management/src/main/java/com/huimv/management/entity/dto/IsolationDto.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/2 0002 15:44
+ **/
+@Data
+public class IsolationDto {
+    private String diseaseName;
+    private Integer diseaseCount;
+}

+ 18 - 0
huimv-smart-management/src/main/java/com/huimv/management/entity/dto/TreatResultDto.java

@@ -0,0 +1,18 @@
+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/2 0002 13:37
+ **/
+@Data
+public class TreatResultDto {
+
+    private String treatResult;
+
+    private Integer treatResultCount;
+}

+ 2 - 1
huimv-smart-management/src/main/java/com/huimv/management/service/impl/EmployeeServiceImpl.java

@@ -44,11 +44,12 @@ public class EmployeeServiceImpl extends ServiceImpl<EmployeeDao, EmployeeEntity
        lambdaQuery.eq(StringUtils.isNotBlank(farmId),EmployeeEntity::getFarmId,farmId);
 
        String keywords = (String) params.get("keywords");
+       lambdaQuery.like(EmployeeEntity::getName,keywords);
        //没有参数
        if (keywords == null || keywords.equals("")){
            IPage<EmployeeEntity> page = this.page(
                    new Query<EmployeeEntity>().getPage(params),
-                   new QueryWrapper<EmployeeEntity>()
+                   lambdaQuery
            );
            return new PageUtils(page);
        }

+ 57 - 10
huimv-smart-management/src/main/java/com/huimv/management/service/impl/HealthMedicalRecordServiceImpl.java

@@ -1,16 +1,20 @@
 package com.huimv.management.service.impl;
 
 import cn.hutool.core.date.DateUtil;
+import com.huimv.management.dao.HealthImmuneRecordDao;
+import com.huimv.management.dao.HealthIsolationRecordDao;
+import com.huimv.management.entity.HealthImmuneRecordEntity;
 import com.huimv.management.entity.HealthIsolationRecordEntity;
 import com.huimv.management.entity.dto.DiseaseDto;
-import com.huimv.management.entity.vo.PigBaseVo;
+import com.huimv.management.entity.dto.ImmuneCountDto;
+import com.huimv.management.entity.dto.IsolationDto;
+import com.huimv.management.entity.dto.TreatResultDto;
 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 java.util.*;
+
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -28,6 +32,13 @@ public class HealthMedicalRecordServiceImpl extends ServiceImpl<HealthMedicalRec
     @Autowired
     private HealthMedicalRecordDao healthMedicalRecordDao;
 
+    @Autowired
+    private HealthImmuneRecordDao healthImmuneRecordDao;
+
+    @Autowired
+    private HealthIsolationRecordDao healthIsolationRecordDao;
+
+
     @Override
     public PageUtils queryPage(Map<String, Object> params) {
 
@@ -74,10 +85,11 @@ public class HealthMedicalRecordServiceImpl extends ServiceImpl<HealthMedicalRec
 
     @Override
     public List<DiseaseDto> diseaseCount(String type, String farmId) {
-        QueryWrapper<HealthMedicalRecordEntity> wrapper = new QueryWrapper<HealthMedicalRecordEntity>();
-        wrapper.eq("farm_id",Integer.parseInt(farmId));
+        Map<String,Object> resultMap = new HashMap<>();
+
         Date endTime = DateUtil.date();
         Date startTime;
+
         switch (type){
             //今日
             case "1":
@@ -92,14 +104,49 @@ public class HealthMedicalRecordServiceImpl extends ServiceImpl<HealthMedicalRec
                 startTime = DateUtil.beginOfWeek(endTime);
         }
 
+
+        QueryWrapper<HealthMedicalRecordEntity> medicalWrapper = new QueryWrapper<HealthMedicalRecordEntity>();
+        medicalWrapper.eq("farm_id",Integer.parseInt(farmId));
         //小于
-        wrapper.le("create_time",endTime);
+        medicalWrapper.le("create_time",endTime);
         //大于等于
-        wrapper.ge("create_time",startTime);
+        medicalWrapper.ge("create_time",startTime);
+        //逻辑删除
+        medicalWrapper.apply("effective = 1");
+
+
+        //疾病统计
+        List<DiseaseDto> diseaseDtos  = healthMedicalRecordDao.diseaseCount(medicalWrapper);
+        resultMap.put("diseaseCount",diseaseDtos);
+
+        //治愈统计
+        List<TreatResultDto> treatResultDtos = healthMedicalRecordDao.treatResultCount(medicalWrapper);
+        resultMap.put("treatResultCount",treatResultDtos);
+
+
+
+        //疫苗统计
+        QueryWrapper<HealthImmuneRecordEntity>  immuneWrapper = new QueryWrapper<HealthImmuneRecordEntity>();
+
+        immuneWrapper.eq("farm_id",farmId);
+        immuneWrapper.le("create_time",endTime);
+        immuneWrapper.ge("create_time",startTime);
+        immuneWrapper.apply("effective = 1");
+
+        List<ImmuneCountDto> immuneCountDtos = healthImmuneRecordDao.vaccineCoount(immuneWrapper);
+        resultMap.put("imuneCount",immuneCountDtos);
+
+        //隔离统计  healthIsolationRecordDao
+        QueryWrapper<HealthIsolationRecordEntity> isolationWrapper = new QueryWrapper<HealthIsolationRecordEntity>();
+        isolationWrapper.eq("farm_id",farmId);
+        isolationWrapper.le("create_time",endTime);
+        isolationWrapper.ge("create_time",startTime);
+        isolationWrapper.apply("effective = 1");
+
+        List<IsolationDto> isolationDtos = healthIsolationRecordDao.isolationCount(isolationWrapper);
+
 
-        wrapper.apply("effective = 1");
 
-        List<DiseaseDto> diseaseDtos  = healthMedicalRecordDao.diseaseCount(wrapper);
         return diseaseDtos;
     }
 }

+ 9 - 0
huimv-smart-management/src/main/resources/mapper/management/HealthImmuneRecordDao.xml

@@ -15,5 +15,14 @@
         <result property="createTime" column="create_time"/>
     </resultMap>
 
+    <select id="vaccineCoount" resultType="com.huimv.management.entity.dto.ImmuneCountDto">
+        select
+            vaccine_name ,
+            COUNT(id) vaccinCount
+            FROM `health_immune_record`
+        ${ew.customSqlSegment}
+        GROUP BY  vaccine_name
+    </select>
+
 
 </mapper>

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

@@ -17,6 +17,16 @@
         <result property="manName" column="man_name"/>
         <result property="manId" column="man_id"/>
     </resultMap>
+    <select id="isolationCount" resultType="com.huimv.management.entity.dto.IsolationDto">
+        select
+            disease_name diseaseName,
+            COUNT(id) diseaseCount
+
+        FROM health_isolation_record
+        ${ew.customSqlSegment}
+        GROUP BY disease_name
+
+    </select>
 
 
 </mapper>

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

@@ -33,5 +33,14 @@
         GROUP BY  disease_name
     </select>
 
+    <select id="treatResultCount" resultType="com.huimv.management.entity.dto.TreatResultDto">
+        select
+         result treatResult ,
+         COUNT(id) treatResultCount
+         FROM `health_medical_record`
+        ${ew.customSqlSegment}
+        GROUP BY  result
+    </select>
+
 
 </mapper>