fix: 自测问题修复,用药统计代码提交。

This commit is contained in:
tianyongbao
2024-10-21 15:54:11 +08:00
parent aa62fbfd71
commit 7ea2857dfb
6 changed files with 142 additions and 3 deletions

View File

@@ -30,7 +30,7 @@ public class HealthMarRecordDto extends BaseEntity implements Serializable
/** 主表ID */
@ApiModelProperty(value="主表ID")
private String healthRecordId;
private Long healthRecordId;
/** 用药时间 */
@ApiModelProperty(value="用药时间")

View File

@@ -30,4 +30,9 @@ public class HealthMarRecordVo extends HealthMarRecord
@Excel(name = "单位名称")
private String unitName;
/** 次数 */
@ApiModelProperty(value="次数)")
private Integer count;
}

View File

@@ -1,9 +1,22 @@
package com.ruoyi.health.mapper;
import com.ruoyi.common.datascope.annotation.DataScope;
import com.ruoyi.health.domain.dto.HealthMarRecordDto;
import com.ruoyi.health.domain.vo.HealthMarRecordVo;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface StatisticAnalysisMapper {
/**
* 查询用药记录
*
* @param healthMarRecordDto
* @return 收支集合
*/
@DataScope(businessAlias = "hmr")
public List<HealthMarRecordVo> selectMarRecordList(HealthMarRecordDto healthMarRecordDto);
}

View File

@@ -11,6 +11,7 @@ import com.ruoyi.health.domain.vo.HealthStaticAnalysisVo;
import com.ruoyi.health.domain.vo.HealthTemperatureRecordVo;
import com.ruoyi.health.mapper.HealthMarRecordMapper;
import com.ruoyi.health.mapper.HealthTemperatureRecordMapper;
import com.ruoyi.health.mapper.StatisticAnalysisMapper;
import com.ruoyi.health.service.IStatisticAnalysisService;
import org.springframework.stereotype.Service;
@@ -28,6 +29,9 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
@Resource
private HealthTemperatureRecordMapper temperatureRecordMapper;
@Resource
private StatisticAnalysisMapper statisticAnalysisMapper;
@Override
public Map<String, Object> getMarAnalysis(AnalysisDto analysisDto) {
@@ -78,14 +82,63 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
//获取数据
dto.setEndTime(analysisDto.getEndTime());
dto.setStartTime(analysisDto.getStartTime());
dto.setPersonId(analysisDto.getId());
dto.setHealthRecordId(analysisDto.getRecordId());
List<HealthMarRecordVo> marRecordVoList=marRecordMapper.selectHealthMarRecordList(dto);
//用药总次数
map.put("marCount",marRecordVoList.size());
//退烧用药
map.put("tuishao",marRecordVoList.stream().filter(mar -> mar.getType().equals("1")).count());
//抗菌消炎
map.put("kangjun",marRecordVoList.stream().filter(mar -> mar.getType().equals("2")).count());
//止咳平喘化痰
map.put("zhike",marRecordVoList.stream().filter(mar -> mar.getType().equals("3")).count());
//抗病毒
map.put("kangbingdu",marRecordVoList.stream().filter(mar -> mar.getType().equals("4")).count());
//抗过敏
map.put("kangguomin",marRecordVoList.stream().filter(mar -> mar.getType().equals("6")).count());
//雾化消炎
map.put("wuhua",marRecordVoList.stream().filter(mar -> mar.getType().equals("9")).count());
//清热解毒
map.put("qingre",marRecordVoList.stream().filter(mar -> mar.getType().equals("10")).count());
//肠道消化
map.put("changdao",marRecordVoList.stream().filter(mar -> mar.getType().equals("7")).count());
//鼻炎腺样体
map.put("biyan",marRecordVoList.stream().filter(mar -> mar.getType().equals("12")).count());
//增强体质调节免疫力
map.put("mianyili",marRecordVoList.stream().filter(mar -> mar.getType().equals("13")).count());
//按药品统计
List<HealthMarRecordVo> marClassList=statisticAnalysisMapper.selectMarRecordList(dto);
//药品用药单位统计
for (HealthMarRecordVo vo:marClassList
) {
if (null != vo.getUnit()) {
vo.setUnitName(DictUtils.getDictLabel("medical_unit", vo.getUnit().toString()));
}
}
//用药种类
map.put("marCategoryCount",marClassList.size());
ArrayList<Map<String, Object>> marMapList = new ArrayList<>();
for (HealthMarRecordVo vo:marClassList
) {
Map<String, Object> datamap = new HashMap<>();
datamap.put("time", vo.getName());
datamap.put("value", vo.getCount());
datamap.put("unit", vo.getUnitName());
datamap.put("dosage", vo.getDosage());
marMapList.add(datamap);
}
//列表
map.put("marMapList",marMapList);
List<HealthMarRecordVo> queryList =new ArrayList<>();
if("1".equals(analysisDto.getType())){
//日列表
List <String> staticsTimeList=new ArrayList<>();
for (HealthMarRecordVo vo:marRecordVoList
) {
if (null != vo.getUnit()) {