大屏假数据修改开发

This commit is contained in:
wanghao
2025-07-28 15:03:14 +08:00
parent 76cba3c817
commit b182e6e59e
10 changed files with 626 additions and 127 deletions
+18
View File
@@ -0,0 +1,18 @@
-------------------------
------------ xj_emergency
-------------------------
CREATE TABLE `large_screen_data`
(
`id` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_persian_ci NOT NULL COMMENT '主键',
`type` varchar(60) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '开关类型(参考entity)',
`center_id` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '应急中心id',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '开启状态(0:未开启 1:开启)',
`name` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '名称(体检机构才有值)',
`value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '值',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`create_by` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '创建人',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`update_by` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '更新人',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
@@ -90,9 +90,12 @@ public class LargeScreenData implements Serializable {
public LargeScreenData(LargeScreenDataValueDTO dto){
this.id = dto.getId();
this.centerId = dto.getCenterId();
this.type = dto.getType();
this.status = dto.getStatus();
this.name = dto.getName();
this.value = dto.getValue();
}
}
@@ -5,7 +5,7 @@ import lombok.Data;
@Data
public class DataDetailVO {
private String centerId;
private String module;
/**
* 服务详情
*/
@@ -0,0 +1,22 @@
package com.renkang.emergency.entity.vo;
import com.renkang.emergency.entity.LargeScreenData;
import lombok.Data;
@Data
public class MedicalDataVO {
private String id;
private String centerId;
private String name;
private String status;
private String count;
public MedicalDataVO() {}
public MedicalDataVO(LargeScreenData data) {
id = data.getId();
centerId = data.getCenterId();
name = data.getName();
count = data.getValue();
status = data.getStatus();
}
}
@@ -3,6 +3,7 @@ package com.renkang.emergency.largeScreen.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.renkang.emergency.entity.dto.*;
import com.renkang.emergency.entity.vo.DataDetailVO;
import com.renkang.emergency.entity.vo.MedicalDataVO;
import com.renkang.emergency.largeScreen.entity.dto.*;
import com.renkang.emergency.largeScreen.entity.vo.*;
import com.renkang.emergency.largeScreen.service.ILargeScreenDataService;
@@ -45,7 +46,7 @@ public class LargeScreenNewController {
}
/**
* 服务详情数据-24.09.19 新版大屏接口
* 服务详情数据-24.09.19 新版大屏接口 25-07-28 修改假数据逻辑
*/
@PostMapping("/statisticsNew")
@Operation(summary = "服务详情数据", description = "服务详情数据")
@@ -165,6 +166,16 @@ public class LargeScreenNewController {
return Result.ok(largeScreenDataService.editValue(dto));
}
/**
* 编辑整个tab
* @param dto
* @return
*/
@PostMapping("editData")
public Result<Boolean> editData(@RequestBody DataDetailVO dto){
return Result.ok(largeScreenDataService.editData(dto));
}
/**
* 删除
* @param dto
@@ -185,13 +196,23 @@ public class LargeScreenNewController {
return Result.ok(largeScreenDataService.editMedicalValue(dtoList));
}
/**
* 服务详情
* 假数据查询
*/
@GetMapping("dataDetail")
public Result<DataDetailVO> dataDetail(@RequestParam(name = "centerId") String centerId, @RequestParam(name = "moduleId") String moduleId){
return Result.ok(largeScreenDataService.dataDetail(centerId,moduleId));
public Result<DataDetailVO> dataDetail(@RequestParam(name = "centerId") String centerId, @RequestParam(name = "module") String module){
return Result.ok(largeScreenDataService.dataDetail(centerId,module));
}
/**
* 假数据查询(体检人数)
*/
@GetMapping("medicalDataDetail")
public Result<List<MedicalDataVO>> medicalDataDetail(@RequestParam(name = "centerId") String centerId){
return Result.ok(largeScreenDataService.medicalDataDetail(centerId));
}
}
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.renkang.emergency.entity.LargeScreenData;
import com.renkang.emergency.entity.dto.LargeScreenDataValueDTO;
import com.renkang.emergency.entity.vo.DataDetailVO;
import com.renkang.emergency.entity.vo.MedicalDataVO;
import java.util.List;
@@ -19,9 +20,13 @@ public interface ILargeScreenDataService extends IService<LargeScreenData> {
Boolean editValue(LargeScreenDataValueDTO dto);
Boolean editData(DataDetailVO dto);
Boolean deleteValue(LargeScreenDataValueDTO dto);
Boolean editMedicalValue(List<LargeScreenDataValueDTO> dtoList);
DataDetailVO dataDetail(String centerId, String moduleId);
DataDetailVO dataDetail(String centerId, String module);
List<MedicalDataVO> medicalDataDetail(String centerId);
}
@@ -1,6 +1,7 @@
package com.renkang.emergency.largeScreen.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -8,6 +9,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.renkang.emergency.entity.LargeScreenData;
import com.renkang.emergency.entity.dto.LargeScreenDataValueDTO;
import com.renkang.emergency.entity.vo.DataDetailVO;
import com.renkang.emergency.entity.vo.MedicalDataVO;
import com.renkang.emergency.largeScreen.mapper.LargeScreenDataMapper;
import com.renkang.emergency.largeScreen.service.ILargeScreenDataService;
import lombok.RequiredArgsConstructor;
@@ -56,12 +58,7 @@ public class LargeScreenDataServiceImpl extends ServiceImpl<LargeScreenDataMappe
list.add(service6);
// 主诉分类
LargeScreenData type1 = new LargeScreenData();
type1.setType("oneTwenty");
list.add(type1);
LargeScreenData type2 = new LargeScreenData();
type2.setType("hospital");
list.add(type2);
// 体检人数
LargeScreenData medical1 = new LargeScreenData();
@@ -70,56 +67,10 @@ public class LargeScreenDataServiceImpl extends ServiceImpl<LargeScreenDataMappe
list.add(medical1);
// 健康打卡人数
LargeScreenData sign1 = new LargeScreenData();
sign1.setType("weightLossCountDay");
list.add(sign1);
LargeScreenData sign2 = new LargeScreenData();
sign2.setType("weightLossCountMonth");
list.add(sign2);
LargeScreenData sign3 = new LargeScreenData();
sign3.setType("weightLossAbnormalCountDay");
list.add(sign3);
LargeScreenData sign4 = new LargeScreenData();
sign4.setType("weightLossAbnormalCountMonth");
list.add(sign4);
LargeScreenData sign5 = new LargeScreenData();
sign5.setType("bloodSugarCountDay");
list.add(sign5);
LargeScreenData sign6 = new LargeScreenData();
sign6.setType("bloodSugarCountMonth");
list.add(sign6);
LargeScreenData sign7 = new LargeScreenData();
sign7.setType("bloodSugarAbnormalCountDay");
list.add(sign7);
LargeScreenData sign8 = new LargeScreenData();
sign8.setType("bloodSugarAbnormalCountMonth");
list.add(sign8);
LargeScreenData sign9 = new LargeScreenData();
sign9.setType("bloodPressureCountDay");
list.add(sign9);
LargeScreenData sign10 = new LargeScreenData();
sign10.setType("bloodPressureCountMonth");
list.add(sign10);
LargeScreenData sign11 = new LargeScreenData();
sign11.setType("bloodPressureAbnormalCountDay");
list.add(sign11);
LargeScreenData sign12 = new LargeScreenData();
sign12.setType("bloodPressureAbnormalCountMonth");
list.add(sign12);
// 体检数据
LargeScreenData medicalData1 = new LargeScreenData();
medicalData1.setType("totalCount");
list.add(medicalData1);
LargeScreenData medicalData2 = new LargeScreenData();
medicalData2.setType("cardiovaAbCount");
list.add(medicalData2);
LargeScreenData medicalData3 = new LargeScreenData();
medicalData3.setType("cerebrovAbCount");
list.add(medicalData3);
LargeScreenData medicalData4 = new LargeScreenData();
medicalData4.setType("cctaAbCount");
list.add(medicalData4);
saveBatch(list);
}
@@ -130,10 +81,11 @@ public class LargeScreenDataServiceImpl extends ServiceImpl<LargeScreenDataMappe
LambdaQueryWrapper<LargeScreenData> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(LargeScreenData::getType, dto.getType());
queryWrapper.eq(LargeScreenData::getCenterId, dto.getCenterId());
queryWrapper.eq(ObjUtil.isNotEmpty(dto.getId()),LargeScreenData::getId, dto.getId());
if (CollUtil.isNotEmpty(list())) {
LambdaUpdateWrapper<LargeScreenData> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(LargeScreenData::getId, dto.getId());
updateWrapper.eq(LargeScreenData::getType, dto.getType());
updateWrapper.eq(ObjUtil.isNotEmpty(dto.getId()),LargeScreenData::getId, dto.getId());
updateWrapper.set(LargeScreenData::getValue, dto.getValue());
updateWrapper.set(LargeScreenData::getStatus, dto.getStatus());
return update(updateWrapper);
@@ -141,40 +93,227 @@ public class LargeScreenDataServiceImpl extends ServiceImpl<LargeScreenDataMappe
return save(new LargeScreenData(dto));
}
@Transactional()
public Boolean editData(DataDetailVO dto){
List<LargeScreenData> list = new ArrayList<>();
switch (dto.getModule()) {
case "9":
// 服务详情
remove(new LambdaQueryWrapper<LargeScreenData>().eq(LargeScreenData::getCenterId, dto.getCenterId()).in(LargeScreenData::getType,
Arrays.asList("gross", "alerdyreceive", "jqqz", "dbjy", "totaldeal", "totalacceptance")));
LargeScreenData service1 = new LargeScreenData();
service1.setType("gross");
service1.setStatus(dto.getLatestCallStatus());
service1.setValue(dto.getLatestCall());
service1.setCenterId(dto.getCenterId());
list.add(service1);
LargeScreenData service2 = new LargeScreenData();
service2.setType("alerdyreceive");
service2.setStatus(dto.getLatestAcceptCallStatus());
service2.setValue(dto.getLatestAcceptCall());
service2.setCenterId(dto.getCenterId());
list.add(service2);
LargeScreenData service3 = new LargeScreenData();
service3.setType("jqqz");
service3.setStatus(dto.getIllNumStatus());
service3.setValue(dto.getIllNum());
service3.setCenterId(dto.getCenterId());
list.add(service3);
LargeScreenData service4 = new LargeScreenData();
service4.setType("dbjy");
service4.setStatus(dto.getEmergencyNumStatus());
service4.setValue(dto.getEmergencyNum());
service4.setCenterId(dto.getCenterId());
list.add(service4);
LargeScreenData service5 = new LargeScreenData();
service5.setType("totaldeal");
service5.setStatus(dto.getTotalAcceptStatus());
service5.setValue(dto.getTotalAccept());
service5.setCenterId(dto.getCenterId());
list.add(service5);
LargeScreenData service6 = new LargeScreenData();
service6.setType("totalacceptance");
service6.setStatus(dto.getTotalDisposalStatus());
service6.setValue(dto.getTotalDisposal());
service6.setCenterId(dto.getCenterId());
list.add(service6);
break;
case "31":
// 主诉分类
remove(new LambdaQueryWrapper<LargeScreenData>().eq(LargeScreenData::getCenterId, dto.getCenterId()).in(LargeScreenData::getType,
Arrays.asList("oneTwenty", "hospital")));
LargeScreenData type1 = new LargeScreenData();
type1.setType("oneTwenty");
type1.setStatus(dto.getHospitalCountStatus());
type1.setValue(dto.getHospitalCount());
type1.setCenterId(dto.getCenterId());
list.add(type1);
LargeScreenData type2 = new LargeScreenData();
type2.setType("hospital");
type2.setStatus(dto.getEmergencyNumStatus());
type2.setValue(dto.getEmergencyNum());
type2.setCenterId(dto.getCenterId());
list.add(type2);
break;
case "33":
// 健康打卡
remove(new LambdaQueryWrapper<LargeScreenData>().eq(LargeScreenData::getCenterId, dto.getCenterId()).in(LargeScreenData::getType,
Arrays.asList("weightLossCountDay", "weightLossCountMonth", "weightLossAbnormalCountDay", "weightLossAbnormalCountMonth",
"bloodSugarCountDay", "bloodSugarCountMonth", "bloodSugarAbnormalCountDay", "bloodSugarAbnormalCountMonth",
"bloodPressureCountDay", "bloodPressureCountMonth", "bloodPressureAbnormalCountDay", "bloodPressureAbnormalCountMonth",
"totalCount", "cardiovaAbCount", "cerebrovAbCount", "cctaAbCount")));
LargeScreenData sign1 = new LargeScreenData();
sign1.setType("weightLossCountDay");
sign1.setStatus(dto.getWeightLossCountDayStatus());
sign1.setValue(dto.getWeightLossCountDay());
sign1.setCenterId(dto.getCenterId());
list.add(sign1);
LargeScreenData sign2 = new LargeScreenData();
sign2.setType("weightLossCountMonth");
sign2.setStatus(dto.getWeightLossCountMonthStatus());
sign2.setValue(dto.getWeightLossCountMonth());
sign2.setCenterId(dto.getCenterId());
list.add(sign2);
LargeScreenData sign3 = new LargeScreenData();
sign3.setType("weightLossAbnormalCountDay");
sign3.setStatus(dto.getWeightLossAbnormalCountDayStatus());
sign3.setValue(dto.getWeightLossAbnormalCountDay());
sign3.setCenterId(dto.getCenterId());
list.add(sign3);
LargeScreenData sign4 = new LargeScreenData();
sign4.setType("weightLossAbnormalCountMonth");
sign4.setStatus(dto.getWeightLossAbnormalCountMonthStatus());
sign4.setValue(dto.getWeightLossAbnormalCountMonth());
sign4.setCenterId(dto.getCenterId());
list.add(sign4);
LargeScreenData sign5 = new LargeScreenData();
sign5.setType("bloodSugarCountDay");
sign5.setStatus(dto.getBloodSugarCountDayStatus());
sign5.setValue(dto.getBloodSugarCountDay());
sign5.setCenterId(dto.getCenterId());
list.add(sign5);
LargeScreenData sign6 = new LargeScreenData();
sign6.setType("bloodSugarCountMonth");
sign6.setStatus(dto.getBloodSugarCountMonthStatus());
sign6.setValue(dto.getBloodSugarCountMonth());
sign6.setCenterId(dto.getCenterId());
list.add(sign6);
LargeScreenData sign7 = new LargeScreenData();
sign7.setType("bloodSugarAbnormalCountDay");
sign7.setStatus(dto.getBloodSugarAbnormalCountDayStatus());
sign7.setValue(dto.getBloodSugarAbnormalCountDay());
sign7.setCenterId(dto.getCenterId());
list.add(sign7);
LargeScreenData sign8 = new LargeScreenData();
sign8.setType("bloodSugarAbnormalCountMonth");
sign8.setStatus(dto.getBloodSugarAbnormalCountMonthStatus());
sign8.setValue(dto.getBloodSugarAbnormalCountMonth());
sign8.setCenterId(dto.getCenterId());
list.add(sign8);
LargeScreenData sign9 = new LargeScreenData();
sign9.setType("bloodPressureCountDay");
sign9.setStatus(dto.getBloodPressureCountDayStatus());
sign9.setValue(dto.getBloodPressureCountDay());
sign9.setCenterId(dto.getCenterId());
list.add(sign9);
LargeScreenData sign10 = new LargeScreenData();
sign10.setType("bloodPressureCountMonth");
sign10.setStatus(dto.getBloodPressureCountMonthStatus());
sign10.setValue(dto.getBloodPressureCountMonth());
sign10.setCenterId(dto.getCenterId());
list.add(sign10);
LargeScreenData sign11 = new LargeScreenData();
sign11.setType("bloodPressureAbnormalCountDay");
sign11.setStatus(dto.getBloodPressureAbnormalCountDayStatus());
sign11.setValue(dto.getBloodPressureAbnormalCountDay());
sign11.setCenterId(dto.getCenterId());
list.add(sign11);
LargeScreenData sign12 = new LargeScreenData();
sign12.setType("bloodPressureAbnormalCountMonth");
sign12.setStatus(dto.getBloodPressureAbnormalCountMonthStatus());
sign12.setValue(dto.getBloodPressureAbnormalCountMonth());
sign12.setCenterId(dto.getCenterId());
list.add(sign12);
break;
case "34":
// 体检数据
remove(new LambdaQueryWrapper<LargeScreenData>().eq(LargeScreenData::getCenterId, dto.getCenterId()).in(LargeScreenData::getType,
Arrays.asList("totalCount", "cardiovaAbCount", "cerebrovAbCount", "cctaAbCount")));
LargeScreenData medicalData1 = new LargeScreenData();
medicalData1.setType("totalCount");
medicalData1.setStatus(dto.getTotalCountStatus());
medicalData1.setValue(dto.getTotalCount());
medicalData1.setCenterId(dto.getCenterId());
list.add(medicalData1);
LargeScreenData medicalData2 = new LargeScreenData();
medicalData2.setType("cardiovaAbCount");
medicalData2.setStatus(dto.getCardiovaAbCountStatus());
medicalData2.setValue(dto.getCardiovaAbCount());
medicalData2.setCenterId(dto.getCenterId());
list.add(medicalData2);
LargeScreenData medicalData3 = new LargeScreenData();
medicalData3.setType("cerebrovAbCount");
medicalData3.setStatus(dto.getCerebrovAbCountStatus());
medicalData3.setValue(dto.getCerebrovAbCount());
medicalData3.setCenterId(dto.getCenterId());
list.add(medicalData3);
LargeScreenData medicalData4 = new LargeScreenData();
medicalData4.setType("cctaAbCount");
medicalData4.setStatus(dto.getCctaAbCountStatus());
medicalData4.setValue(dto.getCctaAbCount());
medicalData4.setCenterId(dto.getCenterId());
list.add(medicalData4);
break;
default:
break;
}
return saveBatch(list);
}
public Boolean deleteValue(LargeScreenDataValueDTO dto) {
return remove(new LambdaQueryWrapper<LargeScreenData>().eq(LargeScreenData::getId, dto.getId()));
}
@Transactional(rollbackFor = Exception.class)
public Boolean editMedicalValue(List<LargeScreenDataValueDTO> dtoList) {
remove(new LambdaQueryWrapper<LargeScreenData>().eq(LargeScreenData::getType, "medical"));
remove(new LambdaQueryWrapper<LargeScreenData>().in(LargeScreenData::getType,"medical","32"));
if (CollUtil.isNotEmpty(dtoList)) {
saveBatch(dtoList.stream().map(LargeScreenData::new).collect(Collectors.toList()));
}
return true;
}
public DataDetailVO dataDetail(String centerId, String moduleId) {
public DataDetailVO dataDetail(String centerId, String module) {
DataDetailVO vo = new DataDetailVO();
switch (moduleId) {
List<LargeScreenData> list = new ArrayList<>();
switch (module) {
case "9":
// 查询服务详情相关数据
list = list(new LambdaQueryWrapper<LargeScreenData>().eq(LargeScreenData::getCenterId, centerId).in(LargeScreenData::getType,
Arrays.asList("gross", "alerdyreceive", "jqqz", "dbjy", "totaldeal", "totalacceptance")));
break;
case "31":
break;
case "32":
// 查询主诉分类相关数据
list = list(new LambdaQueryWrapper<LargeScreenData>().eq(LargeScreenData::getCenterId, centerId).in(LargeScreenData::getType,
Arrays.asList("oneTwenty", "hospital")));
break;
case "33":
// 查询健康打卡相关数据
list = list(new LambdaQueryWrapper<LargeScreenData>().eq(LargeScreenData::getCenterId, centerId).in(LargeScreenData::getType,
Arrays.asList("weightLossCountDay", "weightLossCountMonth", "weightLossAbnormalCountDay", "weightLossAbnormalCountMonth",
"bloodSugarCountDay", "bloodSugarCountMonth", "bloodSugarAbnormalCountDay", "bloodSugarAbnormalCountMonth",
"bloodPressureCountDay", "bloodPressureCountMonth", "bloodPressureAbnormalCountDay", "bloodPressureAbnormalCountMonth",
"totalCount", "cardiovaAbCount", "cerebrovAbCount", "cctaAbCount")));
break;
case "34":
// 查询体检数据相关
list = list(new LambdaQueryWrapper<LargeScreenData>().eq(LargeScreenData::getCenterId, centerId).in(LargeScreenData::getType,
Arrays.asList("totalCount", "cardiovaAbCount", "cerebrovAbCount", "cctaAbCount")));
break;
default:
break;
}
// 查询服务详情相关数据
List<LargeScreenData> list = list(new LambdaQueryWrapper<LargeScreenData>().eq(LargeScreenData::getCenterId, centerId).in(LargeScreenData::getType,
Arrays.asList("gross", "alerdyreceive", "jqqz", "dbjy", "totaldeal", "totalacceptance")));
if (CollUtil.isEmpty(list)) {
return vo;
}
@@ -182,21 +321,99 @@ public class LargeScreenDataServiceImpl extends ServiceImpl<LargeScreenDataMappe
switch (largeScreenData.getType()) {
case "gross":
vo.setLatestCall(String.valueOf(largeScreenData.getValue()));
vo.setLatestCallStatus(largeScreenData.getStatus());
break;
case "alerdyreceive":
vo.setLatestAcceptCall(String.valueOf(largeScreenData.getValue()));
vo.setLatestAcceptCallStatus(largeScreenData.getStatus());
break;
case "jqqz":
vo.setIllNum(String.valueOf(largeScreenData.getValue()));
vo.setIllNumStatus(largeScreenData.getStatus());
break;
case "dbjy":
vo.setEmergencyNum(String.valueOf(largeScreenData.getValue()));
vo.setEmergencyNumStatus(largeScreenData.getStatus());
break;
case "totaldeal":
vo.setTotalAccept(String.valueOf(largeScreenData.getValue()));
vo.setTotalAcceptStatus(largeScreenData.getStatus());
break;
case "totalacceptance":
vo.setTotalDisposal(String.valueOf(largeScreenData.getValue()));
vo.setTotalDisposalStatus(largeScreenData.getStatus());
break;
case "oneTwenty":
vo.setHospitalCount(String.valueOf(largeScreenData.getValue()));
vo.setHospitalCountStatus(largeScreenData.getStatus());
break;
case "hospital":
vo.setEmergencyNum(String.valueOf(largeScreenData.getValue()));
vo.setEmergencyNumStatus(largeScreenData.getStatus());
break;
case "weightLossCountDay":
vo.setWeightLossCountDay(String.valueOf(largeScreenData.getValue()));
vo.setWeightLossCountDayStatus(largeScreenData.getStatus());
break;
case "weightLossCountMonth":
vo.setWeightLossCountMonth(String.valueOf(largeScreenData.getValue()));
vo.setWeightLossCountMonthStatus(largeScreenData.getStatus());
break;
case "weightLossAbnormalCountDay":
vo.setWeightLossAbnormalCountDay(String.valueOf(largeScreenData.getValue()));
vo.setWeightLossAbnormalCountDayStatus(largeScreenData.getStatus());
break;
case "weightLossAbnormalCountMonth":
vo.setWeightLossAbnormalCountMonth(String.valueOf(largeScreenData.getValue()));
vo.setWeightLossAbnormalCountMonthStatus(largeScreenData.getStatus());
break;
case "bloodSugarCountDay":
vo.setBloodSugarCountDay(String.valueOf(largeScreenData.getValue()));
vo.setBloodSugarCountDayStatus(largeScreenData.getStatus());
break;
case "bloodSugarCountMonth":
vo.setBloodSugarCountMonth(String.valueOf(largeScreenData.getValue()));
vo.setBloodSugarCountMonthStatus(largeScreenData.getStatus());
break;
case "bloodSugarAbnormalCountDay":
vo.setBloodSugarAbnormalCountDay(String.valueOf(largeScreenData.getValue()));
vo.setBloodSugarAbnormalCountDayStatus(largeScreenData.getStatus());
break;
case "bloodSugarAbnormalCountMonth":
vo.setBloodSugarAbnormalCountMonth(String.valueOf(largeScreenData.getValue()));
vo.setBloodSugarAbnormalCountMonthStatus(largeScreenData.getStatus());
break;
case "bloodPressureCountDay":
vo.setBloodPressureCountDay(String.valueOf(largeScreenData.getValue()));
vo.setBloodPressureCountDayStatus(largeScreenData.getStatus());
break;
case "bloodPressureCountMonth":
vo.setBloodPressureCountMonth(String.valueOf(largeScreenData.getValue()));
vo.setBloodPressureCountMonthStatus(largeScreenData.getStatus());
break;
case "bloodPressureAbnormalCountDay":
vo.setBloodPressureAbnormalCountDay(String.valueOf(largeScreenData.getValue()));
vo.setBloodPressureAbnormalCountDayStatus(largeScreenData.getStatus());
break;
case "bloodPressureAbnormalCountMonth":
vo.setBloodPressureAbnormalCountMonth(String.valueOf(largeScreenData.getValue()));
vo.setBloodPressureAbnormalCountMonthStatus(largeScreenData.getStatus());
break;
case "totalCount":
vo.setTotalCount(String.valueOf(largeScreenData.getValue()));
vo.setTotalCountStatus(largeScreenData.getStatus());
break;
case "cardiovaAbCount":
vo.setCardiovaAbCount(String.valueOf(largeScreenData.getValue()));
vo.setCardiovaAbCountStatus(largeScreenData.getStatus());
break;
case "cerebrovAbCount":
vo.setCerebrovAbCount(String.valueOf(largeScreenData.getValue()));
vo.setCerebrovAbCountStatus(largeScreenData.getStatus());
break;
case "cctaAbCount":
vo.setCctaAbCount(String.valueOf(largeScreenData.getValue()));
vo.setCctaAbCountStatus(largeScreenData.getStatus());
break;
default:
break;
@@ -204,4 +421,13 @@ public class LargeScreenDataServiceImpl extends ServiceImpl<LargeScreenDataMappe
}
return vo;
}
public List<MedicalDataVO> medicalDataDetail(String centerId){
List<LargeScreenData> list = list(new LambdaQueryWrapper<LargeScreenData>()
.in(LargeScreenData::getType, "medical","32").eq(LargeScreenData::getCenterId, centerId));
if (CollUtil.isEmpty(list)){
return new ArrayList<>();
}
return list.stream().map(MedicalDataVO::new).collect(Collectors.toList());
}
}
@@ -13,9 +13,12 @@ import com.renkang.emergency.bean.response.XjHealthSignFakerData;
import com.renkang.emergency.bean.response.XjMedicalCountFakerData;
import com.renkang.emergency.bean.response.XjMedicalDataFakerData;
import com.renkang.emergency.entity.*;
import com.renkang.emergency.entity.vo.DataDetailVO;
import com.renkang.emergency.entity.vo.MedicalDataVO;
import com.renkang.emergency.largeScreen.entity.dto.*;
import com.renkang.emergency.largeScreen.entity.vo.*;
import com.renkang.emergency.largeScreen.mapper.LargeScreenMapper;
import com.renkang.emergency.largeScreen.service.ILargeScreenDataService;
import com.renkang.emergency.service.IEmergencyHealthRoomService;
import com.renkang.emergency.largeScreen.service.ILargeScreenService;
import com.renkang.emergency.service.IResourceService;
@@ -30,6 +33,8 @@ import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.function.Consumer;
import java.util.function.Supplier;
import java.util.stream.Collectors;
/**
@@ -49,6 +54,7 @@ public class LargeScreenServiceImpl extends ServiceImpl<LargeScreenMapper, Large
private final IEmergencyHealthRoomService roomService;
private final RedisClientUtil redisClientUtil;
private final RedisUtil redisUtil;
private final ILargeScreenDataService screenDataService;
private static final double MIN_LONGITUDE = 80.0;
@@ -264,56 +270,189 @@ public class LargeScreenServiceImpl extends ServiceImpl<LargeScreenMapper, Large
@Override
public List<MedicalPeopleNumStatisticsVO> medicalPeopleNumStatistics (MedicalPeopleNumStatisticsDTO dto){
Boolean enable = (Boolean) redisUtil.get(StrUtil.isNotEmpty(dto.getCenterId()) ?
FakerDataConstant.XJ_MEDICAL_COUNT_ENABLE + ":" + dto.getCenterId() : FakerDataConstant.XJ_MEDICAL_COUNT_ENABLE);
if (enable != null && enable) {
List<MedicalPeopleNumStatisticsVO> vo = XjMedicalCountFakerData(dto.getCenterId());
if (vo != null) {
return vo;
}
}
List<MedicalPeopleNumStatisticsVO> list = redisClientUtil.getList(MEDICAL,MEDICAL_PEOPLE_NUM_STATISTICS,MedicalPeopleNumStatisticsVO.class);
// 获取假数据
List<MedicalDataVO> medicalDataList = screenDataService.medicalDataDetail(dto.getCenterId());
if (CollUtil.isEmpty(list)){
return new ArrayList<>();
list = new ArrayList<>();
for (MedicalDataVO medicalData : medicalDataList) {
if ("1".equals(medicalData.getStatus())){
MedicalPeopleNumStatisticsVO vo = new MedicalPeopleNumStatisticsVO();
vo.setHospitalName(medicalData.getName());
vo.setCheckedCount(Integer.valueOf(medicalData.getCount()));
list.add(vo);
}
}
}else {
for (MedicalPeopleNumStatisticsVO statistics : list) {
MedicalDataVO medicalData = medicalDataList.stream().filter(item -> item.getName().equals(statistics.getHospitalName())).findFirst().orElse(null);
if (null != medicalData){
if ("1".equals(medicalData.getStatus())){
if (medicalData.getCount().contains("+")){
statistics.setCheckedCount(statistics.getCheckedCount()+Integer.parseInt(medicalData.getCount()));
}else {
statistics.setCheckedCount(Integer.parseInt(medicalData.getCount()));
}
}
}
}
}
return list;
}
@Override
public MedicalAbnormalStatisticsVO medicalAbnormalStatistics (MedicalAbnormalStatisticsDTO dto){
Boolean enable = (Boolean) redisUtil.get(StrUtil.isNotEmpty(dto.getCenterId())
? FakerDataConstant.XJ_MEDICAL_DATA_ENABLE + ":" + dto.getCenterId() : FakerDataConstant.XJ_MEDICAL_DATA_ENABLE);
if (enable != null && enable) {
MedicalAbnormalStatisticsVO vo = XjMedicalDataFakerDataNew(dto.getCenterId());
if (vo != null) {
return vo;
MedicalAbnormalStatisticsVO statisticsVO = redisClientUtil.get(MEDICAL,MEDICAL_ABNORMAL_STATISTICS,MedicalAbnormalStatisticsVO.class);
// 获取假数据
DataDetailVO dataDetailVO = screenDataService.dataDetail(dto.getCenterId(), "34");
if (ObjUtil.isEmpty(statisticsVO)){
statisticsVO = new MedicalAbnormalStatisticsVO();
if (null != dataDetailVO){
if ("1".equals(dataDetailVO.getTotalCountStatus())){
statisticsVO.setTotalCount(Integer.valueOf(dataDetailVO.getTotalCount()));
}
if ("1".equals(dataDetailVO.getCardiovaAbCountStatus())){
statisticsVO.setCardiovaAbCount(Integer.valueOf(dataDetailVO.getCardiovaAbCount()));
}
if ("1".equals(dataDetailVO.getCerebrovAbCountStatus())){
statisticsVO.setCerebrovAbCount(Integer.valueOf(dataDetailVO.getCerebrovAbCount()));
}
if ("1".equals(dataDetailVO.getCctaAbCountStatus())){
statisticsVO.setCctaAbCount(Integer.valueOf(dataDetailVO.getCctaAbCount()));
}
}
}else {
if (null != dataDetailVO){
if ("1".equals(dataDetailVO.getTotalCountStatus())){
if (dataDetailVO.getTotalCount().contains("+")){
statisticsVO.setTotalCount(statisticsVO.getTotalCount() + Integer.parseInt(dataDetailVO.getTotalCount()));
}else {
statisticsVO.setTotalCount(Integer.valueOf(dataDetailVO.getTotalCount()));
}
}
if ("1".equals(dataDetailVO.getCardiovaAbCountStatus())){
if (dataDetailVO.getCardiovaAbCount().contains("+")){
statisticsVO.setCardiovaAbCount(statisticsVO.getCardiovaAbCount() + Integer.parseInt(dataDetailVO.getCardiovaAbCount()));
}else {
statisticsVO.setCardiovaAbCount(Integer.valueOf(dataDetailVO.getCardiovaAbCount()));
}
}
if ("1".equals(dataDetailVO.getCerebrovAbCountStatus())){
if (dataDetailVO.getCerebrovAbCount().contains("+")){
statisticsVO.setCerebrovAbCount(statisticsVO.getCerebrovAbCount() + Integer.parseInt(dataDetailVO.getCerebrovAbCount()));
}else {
statisticsVO.setCerebrovAbCount(Integer.valueOf(dataDetailVO.getCerebrovAbCount()));
}
}
if ("1".equals(dataDetailVO.getCctaAbCountStatus())){
if (dataDetailVO.getCctaAbCount().contains("+")){
statisticsVO.setCctaAbCount(statisticsVO.getCctaAbCount() + Integer.parseInt(dataDetailVO.getCctaAbCount()));
}else {
statisticsVO.setCctaAbCount(Integer.valueOf(dataDetailVO.getCctaAbCount()));
}
}
}
}
MedicalAbnormalStatisticsVO statisticsVO = redisClientUtil.get(MEDICAL,MEDICAL_ABNORMAL_STATISTICS,MedicalAbnormalStatisticsVO.class);
if (ObjUtil.isEmpty(statisticsVO)){
return new MedicalAbnormalStatisticsVO();
}
return statisticsVO;
}
@Override
public HealthSignVO healthSign(HealthSignDTO dto) {
Boolean enable = (Boolean) redisUtil.get(StrUtil.isNotEmpty(dto.getCenterId())
? FakerDataConstant.XJ_HEALTH_SIGN_COUNT_ENABLE + ":" + dto.getCenterId() : FakerDataConstant.XJ_HEALTH_SIGN_COUNT_ENABLE);
if (enable != null && enable) {
HealthSignVO vo = XjHealthSignFakerDataNew(dto.getCenterId());
if (vo != null) {
return vo;
}
}
// 健康打卡数据
HealthSignVO vo = redisClientUtil.get(MEDICAL, HEALTH_SIGN, HealthSignVO.class);
if (null == vo){
return new HealthSignVO();
// 获取数据
DataDetailVO dataDetailVO = screenDataService.dataDetail(dto.getCenterId(), "33");
if (dataDetailVO == null) {
return vo != null ? vo : new HealthSignVO();
}
if (vo == null) {
vo = newHealthSignVO(dataDetailVO);
} else {
updateHealthSignVO(vo, dataDetailVO);
}
return vo;
}
private HealthSignVO newHealthSignVO(DataDetailVO dataDetailVO) {
HealthSignVO vo = new HealthSignVO();
// 减重
setIfActive(vo::setWeightLossCountDay, dataDetailVO.getWeightLossCountDayStatus(), dataDetailVO.getWeightLossCountDay());
setIfActive(vo::setWeightLossCountMonth, dataDetailVO.getWeightLossCountMonthStatus(), dataDetailVO.getWeightLossCountMonth());
setIfActive(vo::setWeightLossAbnormalCountDay, dataDetailVO.getWeightLossAbnormalCountDayStatus(), dataDetailVO.getWeightLossAbnormalCountDay());
setIfActive(vo::setWeightLossAbnormalCountMonth, dataDetailVO.getWeightLossAbnormalCountMonthStatus(), dataDetailVO.getWeightLossAbnormalCountMonth());
// 血糖
setIfActive(vo::setBloodSugarCountDay, dataDetailVO.getBloodSugarCountDayStatus(), dataDetailVO.getBloodSugarCountDay());
setIfActive(vo::setBloodSugarCountMonth, dataDetailVO.getBloodSugarCountMonthStatus(), dataDetailVO.getBloodSugarCountMonth());
setIfActive(vo::setBloodSugarAbnormalCountDay, dataDetailVO.getBloodSugarAbnormalCountDayStatus(), dataDetailVO.getBloodSugarAbnormalCountDay());
setIfActive(vo::setBloodSugarAbnormalCountMonth, dataDetailVO.getBloodSugarAbnormalCountMonthStatus(), dataDetailVO.getBloodSugarAbnormalCountMonth());
// 血压
setIfActive(vo::setBloodPressureCountDay, dataDetailVO.getBloodPressureCountDayStatus(), dataDetailVO.getBloodPressureCountDay());
setIfActive(vo::setBloodPressureCountMonth, dataDetailVO.getBloodPressureCountMonthStatus(), dataDetailVO.getBloodPressureCountMonth());
setIfActive(vo::setBloodPressureAbnormalCountDay, dataDetailVO.getBloodPressureAbnormalCountDayStatus(), dataDetailVO.getBloodPressureAbnormalCountDay());
setIfActive(vo::setBloodPressureAbnormalCountMonth, dataDetailVO.getBloodPressureAbnormalCountMonthStatus(), dataDetailVO.getBloodPressureAbnormalCountMonth());
return vo;
}
private void updateHealthSignVO(HealthSignVO vo, DataDetailVO dataDetailVO) {
// 减重
updateIfActive(vo::getWeightLossCountDay, vo::setWeightLossCountDay,
dataDetailVO.getWeightLossCountDayStatus(), dataDetailVO.getWeightLossCountDay());
updateIfActive(vo::getWeightLossCountMonth, vo::setWeightLossCountMonth,
dataDetailVO.getWeightLossCountMonthStatus(), dataDetailVO.getWeightLossCountMonth());
updateIfActive(vo::getWeightLossAbnormalCountDay, vo::setWeightLossAbnormalCountDay,
dataDetailVO.getWeightLossAbnormalCountDayStatus(), dataDetailVO.getWeightLossAbnormalCountDay());
updateIfActive(vo::getWeightLossAbnormalCountMonth, vo::setWeightLossAbnormalCountMonth,
dataDetailVO.getWeightLossAbnormalCountMonthStatus(), dataDetailVO.getWeightLossAbnormalCountMonth());
// 血糖
updateIfActive(vo::getBloodSugarCountDay, vo::setBloodSugarCountDay,
dataDetailVO.getBloodSugarCountDayStatus(), dataDetailVO.getBloodSugarCountDay());
updateIfActive(vo::getBloodSugarCountMonth, vo::setBloodSugarCountMonth,
dataDetailVO.getBloodSugarCountMonthStatus(), dataDetailVO.getBloodSugarCountMonth());
updateIfActive(vo::getBloodSugarAbnormalCountDay, vo::setBloodSugarAbnormalCountDay,
dataDetailVO.getBloodSugarAbnormalCountDayStatus(), dataDetailVO.getBloodSugarAbnormalCountDay());
updateIfActive(vo::getBloodSugarAbnormalCountMonth, vo::setBloodSugarAbnormalCountMonth,
dataDetailVO.getBloodSugarAbnormalCountMonthStatus(), dataDetailVO.getBloodSugarAbnormalCountMonth());
// 血压
updateIfActive(vo::getBloodPressureCountDay, vo::setBloodPressureCountDay,
dataDetailVO.getBloodPressureCountDayStatus(), dataDetailVO.getBloodPressureCountDay());
updateIfActive(vo::getBloodPressureCountMonth, vo::setBloodPressureCountMonth,
dataDetailVO.getBloodPressureCountMonthStatus(), dataDetailVO.getBloodPressureCountMonth());
updateIfActive(vo::getBloodPressureAbnormalCountDay, vo::setBloodPressureAbnormalCountDay,
dataDetailVO.getBloodPressureAbnormalCountDayStatus(), dataDetailVO.getBloodPressureAbnormalCountDay());
updateIfActive(vo::getBloodPressureAbnormalCountMonth, vo::setBloodPressureAbnormalCountMonth,
dataDetailVO.getBloodPressureAbnormalCountMonthStatus(), dataDetailVO.getBloodPressureAbnormalCountMonth());
}
private void setIfActive(Consumer<Integer> setter, String status, String value) {
if ("1".equals(status) && value != null) {
setter.accept(Integer.valueOf(value));
}
}
private void updateIfActive(Supplier<Integer> getter, Consumer<Integer> setter,
String status, String value) {
if ("1".equals(status) && value != null) {
int current = getter.get() != null ? getter.get() : 0;
if (value.contains("+")) {
setter.accept(current + Integer.parseInt(value.replace("+", "")));
} else {
setter.accept(Integer.parseInt(value));
}
}
}
@Override
public void runJob(){
// 体检人数统计查询
@@ -7,6 +7,8 @@ import com.renkang.emergency.bean.response.XjDemandTypeFakerData;
import com.renkang.emergency.entity.TblHelpCenter;
import com.renkang.emergency.entity.TblHelpCentorVo;
import com.renkang.emergency.entity.TblUserHelpVo;
import com.renkang.emergency.entity.vo.DataDetailVO;
import com.renkang.emergency.largeScreen.service.ILargeScreenDataService;
import com.renkang.emergency.mapper.TblHelpCenterMapper;
import com.renkang.emergency.service.ITbHelpCenterService;
import lombok.extern.slf4j.Slf4j;
@@ -31,6 +33,8 @@ public class TblHelpCenterServiceImpl extends ServiceImpl<TblHelpCenterMapper, T
private EmergencyOrderApiService emergencyOrderApiService;
@Resource
private RedisUtil redisUtil;
@Resource
private ILargeScreenDataService screenDataService;
/**
* 主诉分类统计
@@ -40,25 +44,38 @@ public class TblHelpCenterServiceImpl extends ServiceImpl<TblHelpCenterMapper, T
*/
@Override
public List<TblHelpCentorVo> sicknessTypeStatistic(String sex, String depart,String centerId) {
Boolean enable = (Boolean) redisUtil.get(StrUtil.isNotEmpty(centerId) ? FakerDataConstant.XJ_DEMAND_TYPE_ENABLE + ":" + centerId : FakerDataConstant.XJ_DEMAND_TYPE_ENABLE);
if (enable != null && enable) {
List<TblHelpCentorVo> vo = XjDemandTypeFakerData(centerId);
if (vo != null) {
return vo;
}
}
List<TblHelpCentorVo> statistic = emergencyOrderApiService.getSicknessTypeStatistic(sex, depart);
for (TblHelpCentorVo tblHelpCentorVo : statistic) {
if (tblHelpCentorVo.getType().equals("0")) {
tblHelpCentorVo.setName("120");
} else if(tblHelpCentorVo.getType().equals("1")){
tblHelpCentorVo.setName("应急就医");
}else if (tblHelpCentorVo.getType().equals("2")){
tblHelpCentorVo.setName("急救联动");
}else {
tblHelpCentorVo.setName("其他");
}
}
// 获取假数据
DataDetailVO dataDetailVO = screenDataService.dataDetail(centerId, "31");
statistic.forEach(item->{
if (item.getType().equals("0")) {
if ("1".equals(dataDetailVO.getHospitalCountStatus())){
if (dataDetailVO.getHospitalCount().contains("+")){
item.setCount(Integer.valueOf(item.getCount()+dataDetailVO.getHospitalCount()));
}else {
item.setCount(Integer.valueOf(dataDetailVO.getHospitalCount()));
}
}
}
if (item.getType().equals("1")) {
if ("1".equals(dataDetailVO.getEmergencyCountStatus())){
if (dataDetailVO.getEmergencyCount().contains("+")){
item.setCount(Integer.valueOf(item.getCount()+dataDetailVO.getEmergencyCount()));
}else {
item.setCount(Integer.valueOf(dataDetailVO.getEmergencyCount()));
}
}
}
});
return statistic;
}
@@ -14,6 +14,8 @@ import com.renkang.emergency.entity.TblUserHelp;
import com.renkang.emergency.entity.TblUserHelpVo;
import com.renkang.emergency.entity.dto.PhoneListDTO;
import com.renkang.emergency.entity.dto.StatisticsDTO;
import com.renkang.emergency.entity.vo.DataDetailVO;
import com.renkang.emergency.largeScreen.service.ILargeScreenDataService;
import com.renkang.emergency.mapper.TblUserHelpMapper;
import com.renkang.emergency.service.ISysNotifySmsPhoneService;
import com.renkang.emergency.service.ITbUserHelpMacService;
@@ -70,6 +72,8 @@ public class TblUserHelpServiceImpl extends ServiceImpl<TblUserHelpMapper, TblUs
private ISysCache sysCache;
@Resource
private Validator validator;
@Resource
private ILargeScreenDataService screenDataService;
/**
* 服务详情数据
@@ -97,13 +101,6 @@ public class TblUserHelpServiceImpl extends ServiceImpl<TblUserHelpMapper, TblUs
*/
@Override
public TblUserHelpVo statisticsNew(StatisticsDTO dto) {
Boolean enable = (Boolean) redisUtil.get(StrUtil.isNotEmpty(dto.getCenterId()) ? FakerDataConstant.YC_SERVICE_ENABLE + ":" + dto.getCenterId() : FakerDataConstant.YC_SERVICE_ENABLE);
if (enable != null && enable) {
TblUserHelpVo vo = xianFakerDataNew(dto.getCenterId());
if (vo != null) {
return vo;
}
}
LambdaQueryWrapper<TblUserHelp> queryWrapper = new LambdaQueryWrapper<>();
if (StrUtil.isNotBlank(dto.getCondition()) && !"1".equals(dto.getCondition())) {
// 1:全部,2:年,3:月,4:周
@@ -122,19 +119,70 @@ public class TblUserHelpServiceImpl extends ServiceImpl<TblUserHelpMapper, TblUs
if (StrUtil.isNotBlank(dto.getCenterId())) {
queryWrapper.eq(TblUserHelp::getCenterId, dto.getCenterId());
}
TblUserHelpVo vo = new TblUserHelpVo();
// 获取云坐席数据
List<TblUserHelp> list = this.list(queryWrapper);
// 呼入电话数量
// 获取假数据
DataDetailVO dataDetailVO = screenDataService.dataDetail(dto.getCenterId(), "9");
// 呼入电话
if ("1".equals(dataDetailVO.getLatestCallStatus())) {
if (dataDetailVO.getLatestCall().contains("+")) {
vo.setGross(list.size() + Integer.parseInt(dataDetailVO.getLatestCall()));
} else {
vo.setGross(Integer.valueOf(dataDetailVO.getLatestCall()));
}
} else {
vo.setGross(list.size());
// 受理电话数量
vo.setAlerdyreceive((int) list.stream().filter(a -> "1".equals(a.getStatus()) || "2".equals(a.getStatus())).count());
// 突发重大伤病应急数量
vo.setJqqz((int) list.stream().filter(a -> "2".equals(a.getType())).count());
// 重大伤病应急就医数量
vo.setDbjy((int) list.stream().filter(a -> "1".equals(a.getType())).count());
}
// 受理电话
if ("1".equals(dataDetailVO.getLatestAcceptCallStatus())) {
if (dataDetailVO.getLatestAcceptCall().contains("+")) {
int count = Math.toIntExact(list.stream().filter(a -> "1".equals(a.getStatus()) || "2".equals(a.getStatus())).count());
vo.setAlerdyreceive(count + Integer.parseInt(dataDetailVO.getLatestAcceptCall()));
} else {
vo.setAlerdyreceive(Integer.parseInt(dataDetailVO.getLatestAcceptCall()));
}
} else {
int count = Math.toIntExact(list.stream().filter(a -> "1".equals(a.getStatus()) || "2".equals(a.getStatus())).count());
vo.setAlerdyreceive(count);
}
// 突发重大伤病应急
if ("1".equals(dataDetailVO.getIllNumStatus())) {
if (dataDetailVO.getIllNum().contains("+")) {
int count = Math.toIntExact(list.stream().filter(a -> "2".equals(a.getType())).count());
vo.setJqqz(count + Integer.parseInt(dataDetailVO.getIllNum()));
} else {
vo.setJqqz(Integer.parseInt(dataDetailVO.getIllNum()));
}
} else {
int count = Math.toIntExact(list.stream().filter(a -> "2".equals(a.getType())).count());
vo.setJqqz(count);
}
// 重大伤病应急就医
if ("1".equals(dataDetailVO.getEmergencyNumStatus())) {
if (dataDetailVO.getEmergencyNum().contains("+")) {
int count = Math.toIntExact(list.stream().filter(a -> "1".equals(a.getType())).count());
vo.setDbjy(count + Integer.parseInt(dataDetailVO.getEmergencyNum()));
}else {
vo.setDbjy(Integer.parseInt(dataDetailVO.getEmergencyNum()));
}
}else {
int count = Math.toIntExact(list.stream().filter(a -> "1".equals(a.getType())).count());
vo.setDbjy(count);
}
// 累计处置
vo.setTotalacceptance(tblUserHelpMapper.getTotalAcceptance());
Integer totalAcceptance = tblUserHelpMapper.getTotalAcceptance();
if ("1".equals(dataDetailVO.getTotalDisposalStatus())) {
if (dataDetailVO.getTotalDisposal().contains("+")) {
vo.setTotalacceptance(totalAcceptance + Integer.parseInt(dataDetailVO.getTotalDisposal()));
}else {
vo.setTotalacceptance(Integer.parseInt(dataDetailVO.getTotalDisposal()));
}
}else {
vo.setTotalacceptance(totalAcceptance);
}
return vo;
}