Commit 8d0fc7ac authored by 向怀芳's avatar 向怀芳 🎱

1. 腰椎问卷,中医导医推荐

2. 评价:待评价,已评价,评价
3. 词云:检验词云
parent f7780f60
package cn.sh.stc.sict.theme.hpgp.controller.mobile;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.sh.stc.sict.cloud.common.core.constant.Constant;
import cn.sh.stc.sict.cloud.common.core.util.NumberUtil;
import cn.sh.stc.sict.cloud.common.core.util.R;
import cn.sh.stc.sict.cloud.common.security.util.SecurityUtils;
import cn.sh.stc.sict.cloud.upms.dto.CurrentUser;
import cn.sh.stc.sict.theme.hpgp.model.HpAppointmentEva;
import cn.sh.stc.sict.theme.hpgp.service.HpAppointmentEvaService;
import cn.sh.stc.sict.theme.hphy.model.HpAppointment;
import cn.sh.stc.sict.theme.hphy.service.HpAppointmentService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
@Slf4j
@RestController
@AllArgsConstructor
@Api(tags = "[C]预约评价")
@RequestMapping("/hp/app/eva")
public class HpAppointmentEvaController {
/**
* 1. 已评价 page
* 2. 待评价 page
* 3. 评价
*/
private final HpAppointmentService hpAppointmentService;
private final HpAppointmentEvaService hpAppointmentEvaService;
@ApiOperation("已评价 分页")
@GetMapping("/eaved/page")
public R hasEavedPage(Page page, @RequestParam("patientId") Long patientId) {
LambdaQueryWrapper<HpAppointmentEva> wrapper = Wrappers.lambdaQuery();
wrapper.eq(HpAppointmentEva::getPatientId, patientId);
return new R(hpAppointmentEvaService.page(page, wrapper));
}
@ApiOperation("待评价 分页")
@GetMapping("/todo/eav/page")
public R toBeEavPage(Page page, @RequestParam("patientId") Long patientId) {
page = hpAppointmentEvaService.toBeEavPage(page, patientId);
return new R(page);
}
@ApiOperation("评价")
@PostMapping("/eva")
@Transactional(rollbackFor = Exception.class)
public R eav(@RequestBody HpAppointmentEva eva) {
if(NumberUtil.isNullOrZero(eva.getAppId())){
return new R().error("appId 不可为空!");
}
if(NumberUtil.isNullOrZero(eva.getPatientId())){
return new R().error("patientId 不可为空!");
}
HpAppointment app = hpAppointmentService.getById(eva.getId());
if(ObjectUtil.isNull(app)){
return new R().error("未找到预约记录!");
}
if(!Constant.BYTE_NO.equals(app.getEvaStatus())){
return new R().error("该预约记录已评价!");
}
CurrentUser current = SecurityUtils.getCurrentUser();
eva.setUserId(current.getId());
eva.setHospCode(app.getHosOrgCode());
eva.setHospName(app.getHosOrgName());
eva.setDeptCode(app.getDeptCode());
eva.setDeptName(app.getDeptName());
eva.setDoctorCode(app.getDoctorId());
eva.setDoctorName(app.getDoctorName());
eva.setCreateTime(DateUtil.date());
hpAppointmentEvaService.save(eva);
HpAppointment update = new HpAppointment();
update.setId(eva.getAppId());
update.setEvaStatus(Constant.BYTE_YES);
hpAppointmentService.updateById(update);
return new R();
}
}
\ No newline at end of file
package cn.sh.stc.sict.theme.hpgp.controller.mobile;
import cn.sh.stc.sict.cloud.common.core.util.R;
import cn.sh.stc.sict.theme.hpgp.model.HpgpLabExperience;
import cn.sh.stc.sict.theme.hpgp.service.HpgpLabExperienceService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import java.io.Serializable;
import java.util.List;
/**
* 医院科室-检验-词云(HpgpLabExperience)表控制层
*
* @author makejava
* @since 2022-06-23 11:38:14
*/
@Slf4j
@RestController
@AllArgsConstructor
@Api(tags = "[C]医院科室-检验-词云")
@RequestMapping("/hpgp/lab/experience")
public class HpgpLabExperienceController {
/**
* 服务对象
*/
private final HpgpLabExperienceService hpgpLabExperienceService;
@ApiOperation("分页")
@GetMapping("/page")
public R selectAll(Page<HpgpLabExperience> page, HpgpLabExperience hpgpLabExperience) {
return new R().success(this.hpgpLabExperienceService.page(page, new QueryWrapper<>(hpgpLabExperience)));
}
}
\ No newline at end of file
package cn.sh.stc.sict.theme.hpgp.controller.mobile;
import cn.sh.stc.sict.cloud.common.core.util.R;
import cn.sh.stc.sict.cloud.common.security.util.SecurityUtils;
import cn.sh.stc.sict.cloud.upms.dto.CurrentUser;
import cn.sh.stc.sict.theme.hpgp.model.HpgpLumbarAnswer;
import cn.sh.stc.sict.theme.hpgp.service.HpgpLumbarAnswerService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import java.io.Serializable;
import java.util.List;
@Slf4j
@RestController
@AllArgsConstructor
@Api(tags = "[C]腰椎问卷")
@RequestMapping("/hpgp/lumbar")
public class HpgpLumbarAnswerController {
private final HpgpLumbarAnswerService hpgpLumbarAnswerService;
@ApiOperation("分页")
@GetMapping("/page")
public R selectAll(Page<HpgpLumbarAnswer> page, HpgpLumbarAnswer hpgpLumbarAnswer) {
return new R().success(this.hpgpLumbarAnswerService.page(page, new QueryWrapper<>(hpgpLumbarAnswer)));
}
@ApiOperation("新增")
@PostMapping
public R insert(@RequestBody HpgpLumbarAnswer lumbar) {
CurrentUser current = SecurityUtils.getCurrentUser();
lumbar.setUserId(current.getId());
return new R().success(this.hpgpLumbarAnswerService.save(lumbar));
}
}
\ No newline at end of file
package cn.sh.stc.sict.theme.hpgp.dao;
import cn.sh.stc.sict.theme.hpgp.model.HpAppointmentEva;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
/**
* 预约评价(HpAppointmentEva)表数据库访问层
*
* @author makejava
* @since 2022-06-23 10:46:03
*/
public interface HpAppointmentEvaMapper extends BaseMapper<HpAppointmentEva> {
Page<HpAppointmentEva> toBeEavPage(Page page,
@Param("patientId") Long patientId);
}
\ No newline at end of file
package cn.sh.stc.sict.theme.hpgp.dao;
import cn.sh.stc.sict.theme.hpgp.model.HpgpLabExperience;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* 医院科室-检验-词云(HpgpLabExperience)表数据库访问层
*
* @author makejava
* @since 2022-06-23 11:38:13
*/
public interface HpgpLabExperienceMapper extends BaseMapper<HpgpLabExperience> {
}
\ No newline at end of file
package cn.sh.stc.sict.theme.hpgp.dao;
import cn.sh.stc.sict.theme.hpgp.model.HpgpLumbarAnswer;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* 腰椎问卷(HpgpLumbarAnswer)表数据库访问层
*
* @author makejava
* @since 2022-06-23 10:43:15
*/
public interface HpgpLumbarAnswerMapper extends BaseMapper<HpgpLumbarAnswer> {
}
\ No newline at end of file
package cn.sh.stc.sict.theme.hpgp.model;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
/**
* 预约评价(HpAppointmentEva)表实体类
*
* @author makejava
* @since 2022-06-23 10:46:03
*/
@Data
@SuppressWarnings("serial")
@EqualsAndHashCode(callSuper = true)
public class HpAppointmentEva extends Model<HpAppointmentEva> {
private Long id;
private Long userId;
private Long patientId;
private Long appId;
private String hospCode;
private String hospName;
private String deptCode;
private String deptName;
private String doctorCode;
private String doctorName;
/**
* 综合评价
**/
@ApiModelProperty(value = "综合评价")
private String comprehensiveEva;
/**
* 疗效评价
**/
@ApiModelProperty(value = "疗效评价")
private String efficacyEva;
/**
* 态度评价
**/
@ApiModelProperty(value = "态度评价")
private String attitudeEva;
private Date appTime;
@TableField(fill = FieldFill.INSERT)
private Date createTime;
@TableField(fill = FieldFill.UPDATE)
private Date updateTime;
/**
* 获取主键值
*
* @return 主键值
*/
@Override
protected Serializable pkVal() {
return this.id;
}
}
\ No newline at end of file
......@@ -35,5 +35,5 @@ public class HpgpDepartmentRank extends Model<HpgpDepartmentRank> {
@ApiModelProperty(hidden = false, value = "科室排名")
private Integer rankScore;
private String tag;
}
package cn.sh.stc.sict.theme.hpgp.model;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
* 医院科室-检验-词云(HpgpLabExperience)表实体类
*
* @author makejava
* @since 2022-06-23 11:38:13
*/
@Data
@SuppressWarnings("serial")
@EqualsAndHashCode(callSuper = true)
public class HpgpLabExperience extends Model<HpgpLabExperience> {
private Integer id;
private String hospCode;
private String hospName;
private String deptCode;
private String deptName;
private String itemName;
/**
* 获取主键值
*
* @return 主键值
*/
@Override
protected Serializable pkVal() {
return this.id;
}
}
\ No newline at end of file
package cn.sh.stc.sict.theme.hpgp.model;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
/**
* 腰椎问卷(HpgpLumbarAnswer)表实体类
*
* @author makejava
* @since 2022-06-23 10:43:10
*/
@Data
@SuppressWarnings("serial")
@EqualsAndHashCode(callSuper = true)
public class HpgpLumbarAnswer extends Model<HpgpLumbarAnswer> {
private Long id;
private Long userId;
private Long patientId;
private String answerJson;
private Integer age;
private String score;
@TableField(fill = FieldFill.INSERT)
private Date createTime;
@TableField(fill = FieldFill.UPDATE)
private Date updateTime;
/**
* 获取主键值
*
* @return 主键值
*/
@Override
protected Serializable pkVal() {
return this.id;
}
}
\ No newline at end of file
package cn.sh.stc.sict.theme.hpgp.service;
import cn.sh.stc.sict.theme.hpgp.model.HpAppointmentEva;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* 预约评价(HpAppointmentEva)表服务接口
*
* @author makejava
* @since 2022-06-23 10:46:03
*/
public interface HpAppointmentEvaService extends IService<HpAppointmentEva> {
Page<HpAppointmentEva> toBeEavPage(Page page, Long patientId);
}
\ No newline at end of file
package cn.sh.stc.sict.theme.hpgp.service;
import cn.sh.stc.sict.theme.hpgp.model.HpgpLabExperience;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* 医院科室-检验-词云(HpgpLabExperience)表服务接口
*
* @author makejava
* @since 2022-06-23 11:38:13
*/
public interface HpgpLabExperienceService extends IService<HpgpLabExperience> {
}
\ No newline at end of file
package cn.sh.stc.sict.theme.hpgp.service;
import cn.sh.stc.sict.theme.hpgp.model.HpgpLumbarAnswer;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* 腰椎问卷(HpgpLumbarAnswer)表服务接口
*
* @author makejava
* @since 2022-06-23 10:43:15
*/
public interface HpgpLumbarAnswerService extends IService<HpgpLumbarAnswer> {
}
\ No newline at end of file
package cn.sh.stc.sict.theme.hpgp.service.impl;
import cn.sh.stc.sict.theme.hpgp.dao.HpAppointmentEvaMapper;
import cn.sh.stc.sict.theme.hpgp.model.HpAppointmentEva;
import cn.sh.stc.sict.theme.hpgp.service.HpAppointmentEvaService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
/**
* 预约评价(HpAppointmentEva)表服务实现类
*
* @author makejava
* @since 2022-06-23 10:46:03
*/
@AllArgsConstructor
@Service("hpAppointmentEvaService")
public class HpAppointmentEvaServiceImpl extends ServiceImpl<HpAppointmentEvaMapper, HpAppointmentEva> implements HpAppointmentEvaService {
private final HpAppointmentEvaMapper hpAppointmentEvaMapper;
@Override
public Page<HpAppointmentEva> toBeEavPage(Page page, Long patientId) {
return hpAppointmentEvaMapper.toBeEavPage(page, patientId);
}
}
\ No newline at end of file
package cn.sh.stc.sict.theme.hpgp.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.sh.stc.sict.theme.hpgp.dao.HpgpBusyIdlePredictionMapper;
import cn.sh.stc.sict.theme.hpgp.dao.HpgpDepartmentRankMapper;
import cn.sh.stc.sict.theme.hpgp.model.HpgpBusyIdlePrediction;
......@@ -38,12 +40,14 @@ public class HpgpBusyIdlePredictionServiceImpl extends ServiceImpl<HpgpBusyIdleP
Set<String> hospitalCodes = deptRank.stream().map(HpgpDepartmentRank::getHospitalCode).collect(Collectors.toSet());
Set<String> deptCodes = deptRank.stream().map(HpgpDepartmentRank::getDeptCode).collect(Collectors.toSet());
DateTime today = DateUtil.date();
DateTime nextDay = DateUtil.offsetDay(DateUtil.date(), 7);
return this.list(
new LambdaQueryWrapper<HpgpBusyIdlePrediction>()
.in(HpgpBusyIdlePrediction::getHospitalCode, hospitalCodes)
.in(HpgpBusyIdlePrediction::getDeptCode, deptCodes)
.gt(HpgpBusyIdlePrediction::getPredictionDate, "")
.le(HpgpBusyIdlePrediction::getPredictionDate, "")
.gt(HpgpBusyIdlePrediction::getPredictionDate, today)
.le(HpgpBusyIdlePrediction::getPredictionDate, nextDay)
);
}
}
package cn.sh.stc.sict.theme.hpgp.service.impl;
import cn.sh.stc.sict.theme.hpgp.dao.HpgpLabExperienceMapper;
import cn.sh.stc.sict.theme.hpgp.model.HpgpLabExperience;
import cn.sh.stc.sict.theme.hpgp.service.HpgpLabExperienceService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* 医院科室-检验-词云(HpgpLabExperience)表服务实现类
*
* @author makejava
* @since 2022-06-23 11:38:13
*/
@Service("hpgpLabExperienceService")
public class HpgpLabExperienceServiceImpl extends ServiceImpl<HpgpLabExperienceMapper, HpgpLabExperience> implements HpgpLabExperienceService {
}
\ No newline at end of file
package cn.sh.stc.sict.theme.hpgp.service.impl;
import cn.sh.stc.sict.theme.hpgp.dao.HpgpLumbarAnswerMapper;
import cn.sh.stc.sict.theme.hpgp.model.HpgpLumbarAnswer;
import cn.sh.stc.sict.theme.hpgp.service.HpgpLumbarAnswerService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* 腰椎问卷(HpgpLumbarAnswer)表服务实现类
*
* @author makejava
* @since 2022-06-23 10:43:15
*/
@Service("hpgpLumbarAnswerService")
public class HpgpLumbarAnswerServiceImpl extends ServiceImpl<HpgpLumbarAnswerMapper, HpgpLumbarAnswer> implements HpgpLumbarAnswerService {
}
\ No newline at end of file
......@@ -126,6 +126,7 @@ public class AppointmentController {
app.setPatientName(patient.getName());
app.setResourceName(docInfo.getResourceName());
app.setStatus(Constant.STRING_NO);
app.setEvaStatus(Constant.BYTE_NO);
hpAppointmentService.save(app);
return new R().success(result);
}
......
......@@ -140,6 +140,7 @@ public class HpAppointment extends Model<HpAppointment> {
private String orderNumType;
private String doctorId;
private String doctorName;
private String orderId;
private String visitNo;
private String numSourceDetailId;
......@@ -147,9 +148,8 @@ public class HpAppointment extends Model<HpAppointment> {
private String room;
private String hosNumSourceId;
/**
*
*/
private Byte evaStatus;
@TableField(fill = FieldFill.INSERT)
@ApiModelProperty(hidden = true, value = "")
private Date createTime;
......
......@@ -16,3 +16,7 @@ spring:
namespace: be9383c3-e535-4e9c-81ab-a8c6b7ecdc82
file-extension: yml
shared-dataids: application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
logging:
level:
cn.sh.stc.sict.theme.hpgp.dao: DEBUG
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.sh.stc.sict.theme.hpgp.dao.HpAppointmentEvaMapper">
<resultMap type="cn.sh.stc.sict.theme.hpgp.model.HpAppointmentEva" id="HpAppointmentEvaMap">
<result property="id" column="id"/>
<result property="userId" column="user_id"/>
<result property="patientId" column="patient_id"/>
<result property="appId" column="app_id"/>
<result property="hospCode" column="hosp_code"/>
<result property="hospName" column="hosp_name"/>
<result property="deptCode" column="dept_code"/>
<result property="deptName" column="dept_name"/>
<result property="doctorCode" column="doctor_code"/>
<result property="doctorName" column="doctor_name"/>
<result property="comprehensiveEva" column="comprehensive_eva"/>
<result property="efficacyEva" column="efficacy_eva"/>
<result property="attitudeEva" column="attitude_eva"/>
<result property="appTime" column="app_time"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
</resultMap>
<select id="toBeEavPage" resultType="cn.sh.stc.sict.theme.hpgp.model.HpAppointmentEva">
select patient_id patientId,
id appId,
hos_org_code hospCode,
hos_org_name hospName,
dept_code deptCode,
dept_name deptName,
doctor_id doctorCode,
doctor_name doctorName,
num_source_date appTime
from hp_appointment
where patient_id = #{patientId}
order by num_source_date desc
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.sh.stc.sict.theme.hpgp.dao.HpgpLabExperienceMapper">
<resultMap type="cn.sh.stc.sict.theme.hpgp.model.HpgpLabExperience" id="HpgpLabExperienceMap">
<result property="id" column="id"/>
<result property="hospCode" column="hosp_code"/>
<result property="hospName" column="hosp_name"/>
<result property="deptCode" column="dept_code"/>
<result property="deptName" column="dept_name"/>
<result property="itemName" column="item_name"/>
</resultMap>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.sh.stc.sict.theme.hpgp.dao.HpgpLumbarAnswerMapper">
<resultMap type="cn.sh.stc.sict.theme.hpgp.model.HpgpLumbarAnswer" id="HpgpLumbarAnswerMap">
<result property="id" column="id"/>
<result property="userId" column="user_id"/>
<result property="patientId" column="patient_id"/>
<result property="answerJson" column="answer_json"/>
<result property="age" column="age"/>
<result property="score" column="score"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
</resultMap>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment