大屏假数据修改开发
This commit is contained in:
@@ -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;
|
||||
+3
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@ import lombok.Data;
|
||||
@Data
|
||||
public class DataDetailVO {
|
||||
private String centerId;
|
||||
|
||||
private String module;
|
||||
/**
|
||||
* 服务详情
|
||||
*/
|
||||
|
||||
+22
@@ -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();
|
||||
}
|
||||
}
|
||||
+25
-4
@@ -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));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+6
-1
@@ -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);
|
||||
}
|
||||
|
||||
+291
-65
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
+170
-31
@@ -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,54 +270,187 @@ 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;
|
||||
public HealthSignVO healthSign(HealthSignDTO dto) {
|
||||
// 健康打卡数据
|
||||
HealthSignVO vo = redisClientUtil.get(MEDICAL, HEALTH_SIGN, HealthSignVO.class);
|
||||
// 获取数据
|
||||
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));
|
||||
}
|
||||
}
|
||||
HealthSignVO vo = redisClientUtil.get(MEDICAL,HEALTH_SIGN,HealthSignVO.class);
|
||||
if (null == vo){
|
||||
return new HealthSignVO();
|
||||
}
|
||||
return vo;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+26
-9
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
+64
-16
@@ -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);
|
||||
// 呼入电话数量
|
||||
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());
|
||||
|
||||
// 获取假数据
|
||||
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());
|
||||
}
|
||||
// 受理电话
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user