修改新疆大屏及群内bug

This commit is contained in:
wanghao
2025-07-09 16:56:20 +08:00
parent ec897c0567
commit 75d0775ca9
21 changed files with 443 additions and 55 deletions
@@ -137,6 +137,9 @@
<if test="conDoctor.type != null and conDoctor.type != ''">
AND a.type = #{conDoctor.type}
</if>
<if test="conDoctor.doctorJob != null and conDoctor.doctorJob != ''">
AND a.doctor_job = #{conDoctor.doctorJob}
</if>
<if test="conDoctor.isAccept != null and conDoctor.isAccept != ''">
AND a.is_accept = #{conDoctor.isAccept}
</if>
@@ -104,7 +104,7 @@
<if test="conSession.orgCodes != null and conSession.orgCodes != ''">
AND (
<foreach item="item" index="index" collection="conSession.orgCodes" separator=" OR ">
c.org_code LIKE CONCAT('%', #{item}, '%')
c.org_code LIKE CONCAT(#{item}, '%')
</foreach>
)
</if>
@@ -3,6 +3,7 @@ package com.renkang.consultation.service.impl;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HtmlUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -248,6 +249,9 @@ public class ConDoctorServiceImpl extends ServiceImpl<ConDoctorMapper, ConDoctor
if (StringUtils.hasLength(dto.getHospitalName())) {
conDoctor.setResourceId(dto.getHospitalName());
}
if (StrUtil.isNotEmpty(dto.getDoctorName())){
conDoctor.setDoctorName(HtmlUtil.unescape(dto.getDoctorName()));
}
IPage<ConDoctor> conDoctorIPage = conDoctorMapper.queryPageList(page, conDoctor);
List<ConDoctor> conDoctorList = conDoctorIPage.getRecords();
if (CollectionUtils.isEmpty(conDoctorList)) {
@@ -307,8 +311,6 @@ public class ConDoctorServiceImpl extends ServiceImpl<ConDoctorMapper, ConDoctor
// 创建一个ConDoctor对象,并从dto复制属性
ConDoctor conDoctor = new ConDoctor();
BeanUtils.copyProperties(dto, conDoctor);
conDoctor.setStartTime(null);
conDoctor.setEndTime(null);
boolean tfQh = GlobalUtils.isQh();
@@ -0,0 +1,10 @@
package com.renkang.emergency.bean.response;
import lombok.Data;
@Data
public class XjDemandTypeFakerData {
private String centerId;
private String emergencyCount;
private String hospitalCount;
}
@@ -0,0 +1,71 @@
package com.renkang.emergency.bean.response;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class XjHealthSignFakerData {
private String centerId;
/**
* 减重今日打卡人数
*/
@Schema(title = "减重今日打卡人数")
private Integer weightLossCountDay;
/**
* 减重本月打卡人数
*/
@Schema(title = "减重本月打卡人数")
private Integer weightLossCountMonth;
/**
* 减重今日异常人数
*/
@Schema(title = "减重今日异常人数")
private Integer weightLossAbnormalCountDay;
/**
* 减重本月异常人数
*/
@Schema(title = "减重本月异常人数")
private Integer weightLossAbnormalCountMonth;
/**
* 血糖今日打卡人数
*/
@Schema(title = "血糖今日打卡人数")
private Integer bloodSugarCountDay;
/**
* 血糖本月打卡人数
*/
@Schema(title = "血糖本月打卡人数")
private Integer bloodSugarCountMonth;
/**
* 血糖今日异常人数
*/
@Schema(title = "血糖今日异常人数")
private Integer bloodSugarAbnormalCountDay;
/**
* 血糖本月异常人数
*/
@Schema(title = "血糖本月异常人数")
private Integer bloodSugarAbnormalCountMonth;
/**
* 血压今日打卡人数
*/
@Schema(title = "血压今日打卡人数")
private Integer bloodPressureCountDay;
/**
* 血压本月打卡人数
*/
@Schema(title = "血压本月打卡人数")
private Integer bloodPressureCountMonth;
/**
* 血压今日异常人数
*/
@Schema(title = "血压今日异常人数")
private Integer bloodPressureAbnormalCountDay;
/**
* 血压本月异常人数
*/
@Schema(title = "血压本月异常人数")
private Integer bloodPressureAbnormalCountMonth;
}
@@ -0,0 +1,10 @@
package com.renkang.emergency.bean.response;
import lombok.Data;
@Data
public class XjMedicalCountFakerData {
private String centerId;
private String name;
private String count;
}
@@ -0,0 +1,15 @@
package com.renkang.emergency.bean.response;
import lombok.Data;
@Data
public class XjMedicalDataFakerData {
private String centerId;
private Integer totalCount;
// 心血管异常人数
private Integer cardiovaAbCount;
// 脑血管异常人数
private Integer cerebrovAbCount;
// 冠脉ct异常人数
private Integer cctaAbCount;
}
@@ -234,8 +234,49 @@ public class FakerDataController {
return Result.OK("修改成功");
}
/**
* 新疆大屏 主诉分类
* @param data data
* @return success
*/
@PostMapping("createXjDemandTypeFakerData")
public Result<String> createXjDemandTypeFakerData(@RequestBody @Validated XjDemandTypeFakerData data) {
fakerDataService.createXjDemandTypeFakerData(data);
return Result.OK("修改成功");
}
/**
* 新疆大屏 体检人数
* @param data data
* @return success
*/
@PostMapping("createXjMedicalCountFakerData")
public Result<String> createXjMedicalCountFakerData(@RequestBody @Validated List<XjMedicalCountFakerData> data,
@RequestParam(required = false) String centerId) {
fakerDataService.createXjMedicalCountFakerData(data,centerId);
return Result.OK("修改成功");
}
/**
* 新疆大屏 健康打卡人数
* @param data data
* @return success
*/
@PostMapping("createXjHealthSignCountFakerData")
public Result<String> createXjHealthSignCountFakerData(@RequestBody @Validated XjHealthSignFakerData data) {
fakerDataService.createXjHealthSignCountFakerData(data);
return Result.OK("修改成功");
}
/**
* 新疆大屏 体检数据
* @param data data
* @return success
*/
@PostMapping("createXjMedicalDataFakerData")
public Result<String> createXjMedicalDataFakerData(@RequestBody @Validated XjMedicalDataFakerData data) {
fakerDataService.createXjMedicalDataFakerData(data);
return Result.OK("修改成功");
}
}
@@ -26,8 +26,10 @@ public class TblHelpCenterController {
@GetMapping("/sicknessTypeStatistic")
@Operation(summary = "主诉分类统计", description = "主诉分类统计")
public Result<?> sicknessTypeStatistic(@Parameter(description = "0:全部 1:女,2:男") @RequestParam(required = false) String sex, @Parameter(description = "部门id") @RequestParam(required = false) String depart) {
return Result.OK(tbHelpCenterService.sicknessTypeStatistic(sex,depart));
public Result<?> sicknessTypeStatistic(@Parameter(description = "0:全部 1:女,2:男") @RequestParam(required = false) String sex,
@Parameter(description = "部门id") @RequestParam(required = false) String depart,
@Parameter(description = "应急中心id",required = false) String centerId) {
return Result.OK(tbHelpCenterService.sicknessTypeStatistic(sex,depart,centerId));
}
}
@@ -130,7 +130,7 @@ public class LargeScreenNewController {
@PostMapping("/medicalAbnormalStatistics")
@Operation(summary = "体检异常数据统计", description = "体检异常数据统计")
public Result<List<MedicalAbnormalStatisticsVO>> medicalAbnormalStatistics(@RequestBody MedicalAbnormalStatisticsDTO dto){
public Result<MedicalAbnormalStatisticsVO> medicalAbnormalStatistics(@RequestBody MedicalAbnormalStatisticsDTO dto){
return Result.ok(largeScreenService.medicalAbnormalStatistics(dto));
}
@@ -30,6 +30,8 @@ public class HealthSignDTO {
@Schema(title = "填报开始时间止 参数为空时,默认为当天")
private Date inputDateEnd;
private String centerId;
public HealthSignDTO() {
this.dataType = "";
Date date = new Date();
@@ -10,6 +10,7 @@ import java.util.Date;
@Data
public class MedicalAbnormalStatisticsDTO {
private String centerId;
/**
* 检查日期起期 参数为空时,默认为今年第一天
*/
@@ -8,6 +8,7 @@ import java.util.Date;
@Data
public class MedicalPeopleNumStatisticsDTO {
private Integer medicalYear;
private String centerId;
public MedicalPeopleNumStatisticsDTO() {
this.medicalYear = DateUtil.year(new Date());
@@ -25,7 +25,7 @@ public class LargeScreenMap {
public LargeScreenMap(Resource resource) {
this.id = resource.getId();
this.name = resource.getName();
this.orgName = "";
this.orgName = resource.getAddress();
this.type = resource.getType();
this.latitude = String.valueOf(resource.getLatitude());
this.longitude = String.valueOf(resource.getLongitude());
@@ -31,7 +31,7 @@ public interface ILargeScreenService extends IService<LargeScreenMap> {
List<MedicalPeopleNumStatisticsVO> medicalPeopleNumStatistics(MedicalPeopleNumStatisticsDTO dto);
List<MedicalAbnormalStatisticsVO> medicalAbnormalStatistics(MedicalAbnormalStatisticsDTO dto);
MedicalAbnormalStatisticsVO medicalAbnormalStatistics(MedicalAbnormalStatisticsDTO dto);
HealthSignVO healthSign(HealthSignDTO dto);
@@ -2,13 +2,19 @@ package com.renkang.emergency.largeScreen.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
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.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.renkang.emergency.bean.response.XjDemandTypeFakerData;
import com.renkang.emergency.bean.response.XjHealthSignFakerData;
import com.renkang.emergency.bean.response.XjMedicalCountFakerData;
import com.renkang.emergency.entity.EmergencyHealthRoom;
import com.renkang.emergency.entity.Resource;
import com.renkang.emergency.entity.TblHelpCentorVo;
import com.renkang.emergency.entity.TblUserHelpVo;
import com.renkang.emergency.largeScreen.entity.dto.*;
import com.renkang.emergency.largeScreen.entity.vo.*;
import com.renkang.emergency.largeScreen.mapper.LargeScreenMapper;
@@ -16,8 +22,13 @@ import com.renkang.emergency.service.IEmergencyHealthRoomService;
import com.renkang.emergency.largeScreen.service.ILargeScreenService;
import com.renkang.emergency.service.IResourceService;
import lombok.RequiredArgsConstructor;
import org.jeecg.common.api.dto.ServiceFakerData;
import org.jeecg.common.api.dto.YcMedicalCenterFakerData;
import org.jeecg.common.constant.FakerDataConstant;
import org.jeecg.common.util.RedisUtil;
import org.jeecg.util.RedisClientUtil;
import org.jeecg.util.RedisKeyPrefix;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.*;
@@ -39,6 +50,7 @@ public class LargeScreenServiceImpl extends ServiceImpl<LargeScreenMapper, Large
private final IResourceService resourceService;
private final IEmergencyHealthRoomService roomService;
private final RedisClientUtil redisClientUtil;
private final RedisUtil redisUtil;
private static final double MIN_LONGITUDE = 80.0;
@@ -97,7 +109,7 @@ public class LargeScreenServiceImpl extends ServiceImpl<LargeScreenMapper, Large
baseVO.setAddress(data[0]);
baseVO.setLon(data[1]);
baseVO.setLat(data[2]);
baseVO.setDepartName("新疆大厂的单位"+i);
baseVO.setDepartName("新疆大厂的单位");
baseVO.setBuildDate(new Date());
list.add(baseVO);
}
@@ -150,8 +162,8 @@ public class LargeScreenServiceImpl extends ServiceImpl<LargeScreenMapper, Large
for (int i = 0; i < 20; i++) {
MedicalAbnormalVO abnormalVO = new MedicalAbnormalVO();
abnormalVO.setCheckInDate(DateUtil.today());
abnormalVO.setHospitalName("新疆医院"+i);
abnormalVO.setDepartName("新疆大厂"+i);
abnormalVO.setHospitalName("新疆医院");
abnormalVO.setDepartName("新疆大厂");
Random random = new Random();
abnormalVO.setSex(random.nextInt(2) + 1);
abnormalVO.setAge(random.nextInt(65 - 18 + 1) + 18);
@@ -172,7 +184,7 @@ public class LargeScreenServiceImpl extends ServiceImpl<LargeScreenMapper, Large
HealthWeightLossVO weightLossVO = new HealthWeightLossVO();
weightLossVO.setName(generateRandomName());
weightLossVO.setWeight("80");
weightLossVO.setDepartName("新疆大厂"+i);
weightLossVO.setDepartName("新疆大厂");
weightLossVO.setBmi("26.8");
weightLossVO.setWaist("80");
weightLossVO.setHeight("180");
@@ -196,7 +208,7 @@ public class LargeScreenServiceImpl extends ServiceImpl<LargeScreenMapper, Large
for (int i = 0; i < 20; i++) {
HealthBloodSugarVO bloodSugarVO = new HealthBloodSugarVO();
bloodSugarVO.setName(generateRandomName());
bloodSugarVO.setDepartName("新疆大厂"+i);
bloodSugarVO.setDepartName("新疆大厂");
bloodSugarVO.setBmiFlag("0");
bloodSugarVO.setInputDate(new Date());
bloodSugarVO.setBsVal("100");
@@ -219,7 +231,7 @@ public class LargeScreenServiceImpl extends ServiceImpl<LargeScreenMapper, Large
for (int i = 0; i < 20; i++) {
HealthBloodPressureVO bloodPressureVO = new HealthBloodPressureVO();
bloodPressureVO.setName(generateRandomName());
bloodPressureVO.setDepartName("新疆大厂"+i);
bloodPressureVO.setDepartName("新疆大厂");
bloodPressureVO.setInputDate(new Date());
bloodPressureVO.setDbp("25");
bloodPressureVO.setDbpFlag("0");
@@ -240,7 +252,7 @@ public class LargeScreenServiceImpl extends ServiceImpl<LargeScreenMapper, Large
List<HospitalVO> list = new ArrayList<>();
for (int i = 0; i < 20; i++) {
HospitalVO hospitalVO = new HospitalVO();
hospitalVO.setHospitalName("新疆医院"+i);
hospitalVO.setHospitalName("新疆医院");
String[] data = generateRandomLocation();
hospitalVO.setAddress(data[0]);
hospitalVO.setAlias(""+i);
@@ -254,6 +266,14 @@ 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);
if (CollUtil.isEmpty(list)){
return new ArrayList<>();
@@ -262,16 +282,33 @@ public class LargeScreenServiceImpl extends ServiceImpl<LargeScreenMapper, Large
}
@Override
public List<MedicalAbnormalStatisticsVO> medicalAbnormalStatistics (MedicalAbnormalStatisticsDTO dto){
List<MedicalAbnormalStatisticsVO> list = redisClientUtil.getList(MEDICAL,MEDICAL_ABNORMAL_STATISTICS,MedicalAbnormalStatisticsVO.class);
if (CollUtil.isEmpty(list)){
return new ArrayList<>();
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;
}
}
return list;
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();
@@ -341,14 +378,12 @@ public class LargeScreenServiceImpl extends ServiceImpl<LargeScreenMapper, Large
redisClientUtil.set(MEDICAL,MEDICAL_PEOPLE_NUM_STATISTICS,medicalPeopleNumStatisticsList);
// 体检异常数据查询
List<MedicalAbnormalStatisticsVO> medicalAbnormalStatisticsList = new ArrayList<>();
MedicalAbnormalStatisticsVO abnormalStatistics = new MedicalAbnormalStatisticsVO();
abnormalStatistics.setTotalCount(18000);
abnormalStatistics.setCardiovaAbCount(2000);
abnormalStatistics.setCerebrovAbCount(1500);
abnormalStatistics.setCctaAbCount(200);
medicalAbnormalStatisticsList.add(abnormalStatistics);
redisClientUtil.set(MEDICAL,MEDICAL_ABNORMAL_STATISTICS,medicalAbnormalStatisticsList);
redisClientUtil.set(MEDICAL,MEDICAL_ABNORMAL_STATISTICS,abnormalStatistics);
// 减重 血压 血糖 三种数据整合存
HealthSignVO healthSign = new HealthSignVO();
@@ -398,4 +433,46 @@ public class LargeScreenServiceImpl extends ServiceImpl<LargeScreenMapper, Large
// 组合成完整姓名
return surname + firstName;
}
private List<MedicalPeopleNumStatisticsVO> XjMedicalCountFakerData(String centerId) {
try {
Object data = redisUtil.get(StrUtil.isNotEmpty(centerId) ?
FakerDataConstant.XJ_MEDICAL_COUNT + ":" + centerId : FakerDataConstant.XJ_MEDICAL_COUNT);
if (data == null) {
return Collections.emptyList();
}
try {
return (List<MedicalPeopleNumStatisticsVO>) data;
} catch (Exception e) {
log.error("新疆大屏体检人数统计数据转化异常", e);
return Collections.emptyList();
}
} catch (Exception e) {
return null;
}
}
private HealthSignVO XjHealthSignFakerDataNew(String centerId) {
try {
HealthSignVO vo = new HealthSignVO();
XjHealthSignFakerData data = (XjHealthSignFakerData) redisUtil.get(StrUtil.isNotEmpty(centerId)
? FakerDataConstant.XJ_HEALTH_SIGN_COUNT + ":" + centerId : FakerDataConstant.XJ_HEALTH_SIGN_COUNT);
BeanUtils.copyProperties(data,vo);
return vo;
} catch (Exception e) {
return null;
}
}
private MedicalAbnormalStatisticsVO XjMedicalDataFakerDataNew(String centerId) {
try {
MedicalAbnormalStatisticsVO vo = new MedicalAbnormalStatisticsVO();
XjMedicalCountFakerData data = (XjMedicalCountFakerData) redisUtil.get(StrUtil.isNotEmpty(centerId)
? FakerDataConstant.XJ_MEDICAL_DATA + ":" + centerId : FakerDataConstant.XJ_MEDICAL_DATA);
BeanUtils.copyProperties(data,vo);
return vo;
} catch (Exception e) {
return null;
}
}
}
@@ -48,4 +48,12 @@ public interface IFakerDataService {
void createWatchFakerData(HouseWatchFakerData data);
void createWatchStressFakerData(HouseWatchStressFakerData data);
void createXjDemandTypeFakerData(XjDemandTypeFakerData data);
void createXjMedicalCountFakerData(List<XjMedicalCountFakerData> data,String centerId);
void createXjHealthSignCountFakerData(XjHealthSignFakerData data);
void createXjMedicalDataFakerData(XjMedicalDataFakerData data);
}
@@ -18,6 +18,6 @@ public interface ITbHelpCenterService extends IService<TblHelpCenter> {
* @param depart
* @return
*/
List<TblHelpCentorVo> sicknessTypeStatistic(String sex,String depart);
List<TblHelpCentorVo> sicknessTypeStatistic(String sex,String depart,String centerId);
}
@@ -77,9 +77,9 @@ public class FakerDataServiceImpl implements IFakerDataService {
@Override
public void createYcServiceFakerData(ServiceFakerData data) {
if (StrUtil.isNotEmpty(data.getCenterId())){
redisUtil.set(FakerDataConstant.YC_SERVICE+":"+data.getCenterId(), data);
}else {
if (StrUtil.isNotEmpty(data.getCenterId())) {
redisUtil.set(FakerDataConstant.YC_SERVICE + ":" + data.getCenterId(), data);
} else {
redisUtil.set(FakerDataConstant.YC_SERVICE, data);
}
@@ -87,27 +87,27 @@ public class FakerDataServiceImpl implements IFakerDataService {
@Override
public void createYcMedicalFakerData(MedicalFakerData data) {
if (StrUtil.isNotEmpty(data.getCenterId())){
redisUtil.set(FakerDataConstant.YC_MEDICAL+":"+data.getCenterId(), data);
}else {
if (StrUtil.isNotEmpty(data.getCenterId())) {
redisUtil.set(FakerDataConstant.YC_MEDICAL + ":" + data.getCenterId(), data);
} else {
redisUtil.set(FakerDataConstant.YC_MEDICAL, data);
}
}
@Override
public void createYcMedicalCenterFakerData(List<YcMedicalCenterFakerData> data,String centerId) {
if (StrUtil.isNotEmpty(centerId)){
redisUtil.set(FakerDataConstant.YC_MEDICAL_CENTER+":"+centerId, data);
}else {
public void createYcMedicalCenterFakerData(List<YcMedicalCenterFakerData> data, String centerId) {
if (StrUtil.isNotEmpty(centerId)) {
redisUtil.set(FakerDataConstant.YC_MEDICAL_CENTER + ":" + centerId, data);
} else {
redisUtil.set(FakerDataConstant.YC_MEDICAL_CENTER, data);
}
}
@Override
public void createYcUserHealthFakerData(YcUserHealthFakerData data) {
if (StrUtil.isNotEmpty(data.getCenterId())){
redisUtil.set(FakerDataConstant.YC_USER_HEALTH+":"+data.getCenterId(), data);
}else {
if (StrUtil.isNotEmpty(data.getCenterId())) {
redisUtil.set(FakerDataConstant.YC_USER_HEALTH + ":" + data.getCenterId(), data);
} else {
redisUtil.set(FakerDataConstant.YC_USER_HEALTH, data);
}
}
@@ -127,16 +127,16 @@ public class FakerDataServiceImpl implements IFakerDataService {
map.put(8, (Boolean) redisUtil.get(FakerDataConstant.BIG_ILL_ENABLE));
// 银川大屏相关
if (StrUtil.isEmpty(centerId)){
if (StrUtil.isEmpty(centerId)) {
map.put(9, (Boolean) redisUtil.get(FakerDataConstant.YC_SERVICE_ENABLE));
map.put(10, (Boolean) redisUtil.get(FakerDataConstant.YC_MEDICAL_ENABLE));
map.put(11, (Boolean) redisUtil.get(FakerDataConstant.YC_MEDICAL_CENTER_ENABLE));
map.put(12, (Boolean) redisUtil.get(FakerDataConstant.YC_USER_HEALTH_ENABLE));
}else {
map.put(9, (Boolean) redisUtil.get(FakerDataConstant.YC_SERVICE_ENABLE+":"+centerId));
map.put(10, (Boolean) redisUtil.get(FakerDataConstant.YC_MEDICAL_ENABLE+":"+centerId));
map.put(11, (Boolean) redisUtil.get(FakerDataConstant.YC_MEDICAL_CENTER_ENABLE+":"+centerId));
map.put(12, (Boolean) redisUtil.get(FakerDataConstant.YC_USER_HEALTH_ENABLE+":"+centerId));
} else {
map.put(9, (Boolean) redisUtil.get(FakerDataConstant.YC_SERVICE_ENABLE + ":" + centerId));
map.put(10, (Boolean) redisUtil.get(FakerDataConstant.YC_MEDICAL_ENABLE + ":" + centerId));
map.put(11, (Boolean) redisUtil.get(FakerDataConstant.YC_MEDICAL_CENTER_ENABLE + ":" + centerId));
map.put(12, (Boolean) redisUtil.get(FakerDataConstant.YC_USER_HEALTH_ENABLE + ":" + centerId));
}
// 小屋手表数据开关
@@ -145,12 +145,24 @@ public class FakerDataServiceImpl implements IFakerDataService {
// 小屋运动检测 压力检测
map.put(21, (Boolean) redisUtil.get(FakerDataConstant.WATCH_STRESS_ENABLE));
// 新疆大屏 主诉分类
map.put(31, (Boolean) redisUtil.get(StrUtil.isNotEmpty(centerId)
? FakerDataConstant.XJ_DEMAND_TYPE_ENABLE + ":" + centerId : FakerDataConstant.XJ_DEMAND_TYPE_ENABLE));
// 新疆大屏 体检人数统计
map.put(32, (Boolean) redisUtil.get(StrUtil.isNotEmpty(centerId)
? FakerDataConstant.XJ_MEDICAL_COUNT_ENABLE + ":" + centerId : FakerDataConstant.XJ_MEDICAL_COUNT_ENABLE));
// 新疆大屏 健康打卡数据
map.put(33, (Boolean) redisUtil.get(StrUtil.isNotEmpty(centerId)
? FakerDataConstant.XJ_HEALTH_SIGN_COUNT_ENABLE + ":" + centerId : FakerDataConstant.XJ_HEALTH_SIGN_COUNT_ENABLE));
// 新疆大屏 体检数据
map.put(34, (Boolean) redisUtil.get(StrUtil.isNotEmpty(centerId)
? FakerDataConstant.XJ_MEDICAL_DATA_ENABLE + ":" + centerId : FakerDataConstant.XJ_MEDICAL_DATA_ENABLE));
return map;
}
@Override
public Object getFakerData(int module,String centerId) {
public Object getFakerData(int module, String centerId) {
switch (module) {
case 1:
return Optional.ofNullable(getRedisData(FakerDataConstant.GROUP_USER)).orElse(new GroupUserFakerData());
@@ -173,28 +185,49 @@ public class FakerDataServiceImpl implements IFakerDataService {
// 银川大屏相关
case 9:
return Optional.ofNullable(getRedisData(
StrUtil.isNotEmpty(centerId)?FakerDataConstant.YC_SERVICE+":"+centerId:FakerDataConstant.YC_SERVICE))
StrUtil.isNotEmpty(centerId) ? FakerDataConstant.YC_SERVICE + ":" + centerId : FakerDataConstant.YC_SERVICE))
.orElse(new ServiceFakerData());
case 10:
return Optional.ofNullable(
getRedisData(StrUtil.isNotEmpty(centerId)?FakerDataConstant.YC_MEDICAL+":"+centerId:FakerDataConstant.YC_MEDICAL))
getRedisData(StrUtil.isNotEmpty(centerId) ? FakerDataConstant.YC_MEDICAL + ":" + centerId : FakerDataConstant.YC_MEDICAL))
.orElse(new MedicalFakerData());
case 11:
return Optional.ofNullable(
getRedisData(StrUtil.isNotEmpty(centerId)?FakerDataConstant.YC_MEDICAL_CENTER+":"+centerId:FakerDataConstant.YC_MEDICAL_CENTER))
getRedisData(StrUtil.isNotEmpty(centerId) ? FakerDataConstant.YC_MEDICAL_CENTER + ":" + centerId : FakerDataConstant.YC_MEDICAL_CENTER))
.orElse(Collections.emptyList());
case 12:
return Optional.ofNullable(
getRedisData(StrUtil.isNotEmpty(centerId)?FakerDataConstant.YC_USER_HEALTH+":"+centerId:FakerDataConstant.YC_USER_HEALTH))
getRedisData(StrUtil.isNotEmpty(centerId) ? FakerDataConstant.YC_USER_HEALTH + ":" + centerId : FakerDataConstant.YC_USER_HEALTH))
.orElse(new YcUserHealthFakerData());
// 手表假数据
// 手表假数据
case 20:
return Optional.ofNullable(getRedisData(FakerDataConstant.WATCH)).orElse(new HouseWatchFakerData());
// 小屋运动 压力了
case 21:
return Optional.ofNullable(getRedisData(FakerDataConstant.WATCH_STRESS)).orElse(new HouseWatchStressFakerData());
// 新疆大屏 主诉分类
case 31:
return Optional.ofNullable(
getRedisData(StrUtil.isNotEmpty(centerId) ? FakerDataConstant.XJ_DEMAND_TYPE + ":" + centerId : FakerDataConstant.XJ_DEMAND_TYPE))
.orElse(new XjDemandTypeFakerData());
// 新疆大屏 体检人数统计
case 32:
return Optional.ofNullable(
getRedisData(StrUtil.isNotEmpty(centerId) ? FakerDataConstant.XJ_MEDICAL_COUNT + ":" + centerId : FakerDataConstant.XJ_MEDICAL_COUNT))
.orElse(new ArrayList<XjMedicalCountFakerData>());
// 新疆大屏 健康打卡数据
case 33:
return Optional.ofNullable(
getRedisData(StrUtil.isNotEmpty(centerId) ? FakerDataConstant.XJ_HEALTH_SIGN_COUNT + ":" + centerId : FakerDataConstant.XJ_HEALTH_SIGN_COUNT))
.orElse(new XjDemandTypeFakerData());
// 新疆大屏 体检数据
case 34:
return Optional.ofNullable(
getRedisData(StrUtil.isNotEmpty(centerId) ? FakerDataConstant.XJ_MEDICAL_DATA + ":" + centerId : FakerDataConstant.XJ_MEDICAL_DATA))
.orElse(new XjMedicalDataFakerData());
default:
return null;
}
@@ -235,27 +268,81 @@ public class FakerDataServiceImpl implements IFakerDataService {
// 银川大屏相关
case 9:
redisUtil.set(StrUtil.isNotEmpty(enable.getCenterId())?FakerDataConstant.YC_SERVICE_ENABLE+":"+enable.getCenterId():FakerDataConstant.YC_SERVICE_ENABLE, enable.getEnable());
redisUtil.set(StrUtil.isNotEmpty(enable.getCenterId()) ? FakerDataConstant.YC_SERVICE_ENABLE + ":" + enable.getCenterId() : FakerDataConstant.YC_SERVICE_ENABLE, enable.getEnable());
break;
case 10:
redisUtil.set(StrUtil.isNotEmpty(enable.getCenterId())?FakerDataConstant.YC_MEDICAL_ENABLE+":"+enable.getCenterId():FakerDataConstant.YC_MEDICAL_ENABLE, enable.getEnable());
redisUtil.set(StrUtil.isNotEmpty(enable.getCenterId()) ? FakerDataConstant.YC_MEDICAL_ENABLE + ":" + enable.getCenterId() : FakerDataConstant.YC_MEDICAL_ENABLE, enable.getEnable());
break;
case 11:
redisUtil.set(StrUtil.isNotEmpty(enable.getCenterId())?FakerDataConstant.YC_MEDICAL_CENTER_ENABLE+":"+enable.getCenterId():FakerDataConstant.YC_MEDICAL_CENTER_ENABLE, enable.getEnable());
redisUtil.set(StrUtil.isNotEmpty(enable.getCenterId()) ? FakerDataConstant.YC_MEDICAL_CENTER_ENABLE + ":" + enable.getCenterId() : FakerDataConstant.YC_MEDICAL_CENTER_ENABLE, enable.getEnable());
break;
case 12:
redisUtil.set(StrUtil.isNotEmpty(enable.getCenterId())?FakerDataConstant.YC_USER_HEALTH_ENABLE+":"+enable.getCenterId():FakerDataConstant.YC_USER_HEALTH_ENABLE, enable.getEnable());
redisUtil.set(StrUtil.isNotEmpty(enable.getCenterId()) ? FakerDataConstant.YC_USER_HEALTH_ENABLE + ":" + enable.getCenterId() : FakerDataConstant.YC_USER_HEALTH_ENABLE, enable.getEnable());
break;
// 小屋手表开关
// 小屋手表开关
case 20:
redisUtil.set(FakerDataConstant.WATCH_ENABLE, enable.getEnable());
// 小屋运动 压力
case 21:
redisUtil.set(FakerDataConstant.WATCH_STRESS_ENABLE, enable.getEnable());
break;
// 新疆大屏 主诉分类
case 31:
redisUtil.set(StrUtil.isNotEmpty(enable.getCenterId()) ? FakerDataConstant.XJ_DEMAND_TYPE_ENABLE + ":" + enable.getCenterId() : FakerDataConstant.XJ_DEMAND_TYPE_ENABLE, enable.getEnable());
break;
// 新疆大屏 体检人数统计
case 32:
redisUtil.set(StrUtil.isNotEmpty(enable.getCenterId()) ? FakerDataConstant.XJ_MEDICAL_COUNT_ENABLE + ":" + enable.getCenterId() : FakerDataConstant.XJ_MEDICAL_COUNT_ENABLE, enable.getEnable());
break;
// 新疆大屏 健康打卡数据
case 33:
redisUtil.set(StrUtil.isNotEmpty(enable.getCenterId()) ? FakerDataConstant.XJ_HEALTH_SIGN_COUNT_ENABLE + ":" + enable.getCenterId() : FakerDataConstant.XJ_HEALTH_SIGN_COUNT_ENABLE, enable.getEnable());
break;
// 新疆大屏 体检数据
case 34:
redisUtil.set(StrUtil.isNotEmpty(enable.getCenterId()) ? FakerDataConstant.XJ_MEDICAL_DATA_ENABLE + ":" + enable.getCenterId() : FakerDataConstant.XJ_MEDICAL_DATA_ENABLE, enable.getEnable());
break;
default:
ExceptionAssertsUtil.fail("未知模块");
}
}
@Override
public void createXjDemandTypeFakerData(XjDemandTypeFakerData data) {
if (StrUtil.isNotEmpty(data.getCenterId())) {
redisUtil.set(FakerDataConstant.XJ_DEMAND_TYPE + ":" + data.getCenterId(), data);
} else {
redisUtil.set(FakerDataConstant.XJ_DEMAND_TYPE, data);
}
}
@Override
public void createXjMedicalCountFakerData(List<XjMedicalCountFakerData> data,String centerId) {
if (StrUtil.isNotEmpty(centerId)) {
redisUtil.set(FakerDataConstant.XJ_MEDICAL_COUNT + ":" + centerId, data);
} else {
redisUtil.set(FakerDataConstant.XJ_MEDICAL_COUNT, data);
}
}
@Override
public void createXjHealthSignCountFakerData(XjHealthSignFakerData data) {
if (StrUtil.isNotEmpty(data.getCenterId())) {
redisUtil.set(FakerDataConstant.XJ_HEALTH_SIGN_COUNT + ":" + data.getCenterId(), data);
} else {
redisUtil.set(FakerDataConstant.XJ_HEALTH_SIGN_COUNT, data);
}
}
@Override
public void createXjMedicalDataFakerData(XjMedicalDataFakerData data) {
if (StrUtil.isNotEmpty(data.getCenterId())) {
redisUtil.set(FakerDataConstant.XJ_HEALTH_SIGN_COUNT + ":" + data.getCenterId(), data);
} else {
redisUtil.set(FakerDataConstant.XJ_HEALTH_SIGN_COUNT, data);
}
}
}
@@ -1,15 +1,22 @@
package com.renkang.emergency.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.renkang.emergency.api.service.EmergencyOrderApiService;
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.mapper.TblHelpCenterMapper;
import com.renkang.emergency.service.ITbHelpCenterService;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.dto.ServiceFakerData;
import org.jeecg.common.constant.FakerDataConstant;
import org.jeecg.common.util.RedisUtil;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
@@ -22,6 +29,8 @@ public class TblHelpCenterServiceImpl extends ServiceImpl<TblHelpCenterMapper, T
@Resource
private EmergencyOrderApiService emergencyOrderApiService;
@Resource
private RedisUtil redisUtil;
/**
* 主诉分类统计
@@ -30,7 +39,14 @@ public class TblHelpCenterServiceImpl extends ServiceImpl<TblHelpCenterMapper, T
* @return
*/
@Override
public List<TblHelpCentorVo> sicknessTypeStatistic(String sex, String depart) {
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")) {
@@ -45,4 +61,26 @@ public class TblHelpCenterServiceImpl extends ServiceImpl<TblHelpCenterMapper, T
}
return statistic;
}
private List<TblHelpCentorVo> XjDemandTypeFakerData(String centerId) {
try {
List<TblHelpCentorVo> voList = new ArrayList<>();
XjDemandTypeFakerData data = (XjDemandTypeFakerData) redisUtil.get(StrUtil.isNotEmpty(centerId) ?
FakerDataConstant.XJ_DEMAND_TYPE + ":" + centerId : FakerDataConstant.XJ_DEMAND_TYPE);
TblHelpCentorVo vo1 = new TblHelpCentorVo();
vo1.setCount(Integer.valueOf(data.getHospitalCount()));
vo1.setName("120");
vo1.setType("0");
voList.add(vo1);
TblHelpCentorVo vo2 = new TblHelpCentorVo();
vo2.setCount(Integer.valueOf(data.getEmergencyCount()));
vo2.setName("应急就医");
vo2.setType("1");
voList.add(vo2);
return voList;
} catch (Exception e) {
return null;
}
}
}
@@ -84,5 +84,25 @@ public interface FakerDataConstant {
String YC_USER_HEALTH = BASE + BASE_YC_USER_HEALTH;
String YC_USER_HEALTH_ENABLE = BASE + ENABLE + BASE_YC_USER_HEALTH;
// 新疆大屏主诉分类
String BASE_XJ_DEMAND_TYPE = "xjDemandType";
String XJ_DEMAND_TYPE = BASE + BASE_XJ_DEMAND_TYPE;
String XJ_DEMAND_TYPE_ENABLE = BASE + ENABLE + BASE_XJ_DEMAND_TYPE;
// 新疆大屏体检人数
String BASE_XJ_MEDICAL_COUNT = "xjMedicalCount";
String XJ_MEDICAL_COUNT = BASE + BASE_XJ_MEDICAL_COUNT;
String XJ_MEDICAL_COUNT_ENABLE = BASE + ENABLE + BASE_XJ_MEDICAL_COUNT;
// 新疆大屏健康打卡数据
String BASE_XJ_HEALTH_SIGN_COUNT = "xjHealthSignCount";
String XJ_HEALTH_SIGN_COUNT = BASE + BASE_XJ_HEALTH_SIGN_COUNT;
String XJ_HEALTH_SIGN_COUNT_ENABLE = BASE + ENABLE + BASE_XJ_HEALTH_SIGN_COUNT;
// 新疆大屏体检数据
String BASE_XJ_MEDICAL_DATA = "xjMedicalData";
String XJ_MEDICAL_DATA = BASE + BASE_XJ_MEDICAL_DATA;
String XJ_MEDICAL_DATA_ENABLE = BASE + ENABLE + BASE_XJ_MEDICAL_DATA;
}