eight
2024-10-31 784c60d5baad7edceab2f1668ed9116e5b5e5e89
update
已修改7个文件
116 ■■■■ 文件已修改
jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/DevRentStateEnum.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/AppointmentController.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devrent/DevRentMapper.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/appointment/AppointmentService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/appointment/AppointmentServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/resources/mapper/devrent/DevRentMapper.xml 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/DevRentStateEnum.java
@@ -8,7 +8,7 @@
import java.util.Arrays;
/**
 * 通用状态枚举
 * 检查状态枚举
 *
 * @author 芋道源码
 */
@@ -23,6 +23,7 @@
    READY_CANCELLED(30, "领用放弃"),
    INSTALL_CANCELLED(35, "安装放弃"),
    LOST(40, "已遗失"),
    DAMAGED(42, "已损毁"),
    ROUTINE_CANCELLED(50, "常规检查放弃"),
    ROUTINE_FINISH( 60, "常规检查完成");
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/AppointmentController.java
@@ -1,20 +1,9 @@
package cn.lihu.jh.module.ecg.controller.admin.appointment;
import cn.hutool.core.bean.BeanUtil;
import cn.lihu.jh.framework.common.exception.ErrorCode;
import cn.lihu.jh.framework.common.util.date.DateUtils;
import cn.lihu.jh.module.ecg.controller.admin.devrent.vo.DevRentSaveReqVO;
import cn.lihu.jh.module.ecg.controller.admin.queue.vo.QueueSaveReqVO;
import cn.lihu.jh.module.ecg.enums.QueueStatusEnum;
import cn.lihu.jh.module.ecg.feign.RemoteDataService;
import cn.lihu.jh.module.ecg.feign.RestApiReqBodyVo;
import cn.lihu.jh.module.ecg.feign.RestApiResult;
import cn.lihu.jh.module.ecg.feign.dto.AppointmentExternal;
import cn.lihu.jh.module.ecg.service.devrent.DevRentService;
import cn.lihu.jh.module.ecg.service.queue.QueueService;
import cn.lihu.jh.module.ecg.service.room.RoomService;
import cn.lihu.jh.module.system.api.dept.DeptApi;
import org.springframework.dao.DuplicateKeyException;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -22,12 +11,8 @@
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
import java.util.*;
import java.io.IOException;
import java.util.stream.Collectors;
import cn.lihu.jh.framework.common.pojo.PageParam;
import cn.lihu.jh.framework.common.pojo.PageResult;
@@ -42,8 +27,6 @@
import cn.lihu.jh.framework.apilog.core.annotation.ApiAccessLog;
import static cn.lihu.jh.framework.apilog.core.enums.OperateTypeEnum.*;
import static cn.lihu.jh.module.ecg.enums.ErrorCodeConstants.*;
import static java.time.format.DateTimeFormatter.ISO_LOCAL_DATE;
import static java.time.format.DateTimeFormatter.ISO_LOCAL_TIME;
import cn.lihu.jh.module.ecg.controller.admin.appointment.vo.*;
import cn.lihu.jh.module.ecg.dal.dataobject.appointment.AppointmentDO;
@@ -107,12 +90,21 @@
        return success(BeanUtils.toBean(appointment, AppointmentRespVO.class));
    }
    @GetMapping("/get-by-patient")
    @Operation(summary = "根据患者编号.获得预约")
    @GetMapping("/get-current-by-patient")
    @Operation(summary = "根据患者编号.查询当天预约")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('ecg:appointment:query')")
    public CommonResult<AppointmentRespVO> getAppointmentByPatient(@RequestParam("patId") String patId) {
        AppointmentDO appointment = appointmentService.getAppointmentByPatId( patId );
    public CommonResult<AppointmentRespVO> getCurAppointmentByPatId(@RequestParam("patId") String patId) {
        AppointmentDO appointment = appointmentService.getCurAppointmentByPatId( patId );
        return success(BeanUtils.toBean(appointment, AppointmentRespVO.class));
    }
    @GetMapping("/query-and-create-by-patient")
    @Operation(summary = "根据患者编号.获得预约.并内部创建预约")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('ecg:appointment:query')")
    public CommonResult<AppointmentRespVO> queryAndCreateAppointmentByPatId(@RequestParam("patId") String patId) {
        AppointmentDO appointment = appointmentService.queryAndCreateAppointmentByPatId( patId );
        return success(BeanUtils.toBean(appointment, AppointmentRespVO.class));
    }
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devrent/DevRentMapper.java
@@ -36,6 +36,25 @@
                .orderByDesc(DevRentDO::getId));
    }
    @Select("<script> " +
            "SELECT * FROM lihu.dev_rent " +
            "<where> " +
            "  <if test='stateList != null'> " +
            "    and state in ( " +
            "      <foreach collection='stateList' separator=',' item='state'> " +
            "        #{state} " +
            "      </foreach> ) " +
            "  </if> " +
            "  <if test=\"devId != null and devId != ''\"> " +
            "    and dev_id = #{devId} " +
            "  </if> " +
            "  <if test=\"patId != null and patId != ''\"> " +
            "    and pat_id = #{patId} " +
            "  </if> " +
            "</where> " +
            "order by create_time desc " +
            "limit 1 " +
            "</script>")
    DevRentDO getRentByState(DevRentSearchReqVO reqVO );
    @Select("select * from lihu.dev_rent where state=#{state} and pat_id=#{patId} and to_days(create_time)=to_days(now())")
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/appointment/AppointmentService.java
@@ -3,8 +3,6 @@
import cn.lihu.jh.module.ecg.controller.admin.appointment.vo.*;
import cn.lihu.jh.module.ecg.dal.dataobject.appointment.AppointmentDO;
import cn.lihu.jh.framework.common.pojo.PageResult;
import cn.lihu.jh.framework.common.pojo.PageParam;
import cn.lihu.jh.module.ecg.feign.dto.AppointmentExternal;
import javax.validation.Valid;
@@ -46,12 +44,20 @@
    AppointmentDO getAppointment(Long id);
    /**
     * 获得预约
     * 获得当天的预约 根据PatID
     *
     * @param id 编号
     * @param patId 编号
     * @return 预约
     */
    AppointmentDO getAppointmentByPatId(String patId);
    AppointmentDO getCurAppointmentByPatId(String patId);
    /**
     * 获得预约
     *
     * @param patId 编号
     * @return 预约
     */
    AppointmentDO queryAndCreateAppointmentByPatId(String patId);
    /**
     * 获得预约分页
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/appointment/AppointmentServiceImpl.java
@@ -95,7 +95,13 @@
    }
    @Override
    public AppointmentDO getAppointmentByPatId(String patId) {
    public AppointmentDO getCurAppointmentByPatId(String patId) {
        AppointmentDO appointmentDO = appointmentMapper.getCurrentPatId( patId );
        return appointmentDO;
    }
    @Override
    public AppointmentDO queryAndCreateAppointmentByPatId(String patId) {
        // 先从医院平台查询
        AppointmentDO appointmentExtermal = getAppointmentExtermal( patId );
        if (null != appointmentExtermal && null != appointmentExtermal.getBookDate() && appointmentExtermal.getBookDate().isEqual(LocalDate.now()) ) {
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java
@@ -521,23 +521,29 @@
    @Transactional(rollbackFor = Exception.class)
    public CommonResult<Long> dismantleExceptionOperation(DevRentSaveReqVO updateReqVO) {
        DevStateEnum devStateEnum = null;
        if (updateReqVO.getState() == DevStateEnum.DAMAGED.getState())
        DevRentStateEnum devRentStateEnum = null;
        if (updateReqVO.getState() == DevStateEnum.DAMAGED.getState()) {
            devStateEnum = DevStateEnum.DAMAGED;
        else if (updateReqVO.getState() == DevStateEnum.LOST.getState())
            devRentStateEnum = DevRentStateEnum.DAMAGED;
        }
        else if (updateReqVO.getState() == DevStateEnum.LOST.getState()) {
            devStateEnum = DevStateEnum.LOST;
            devRentStateEnum = DevRentStateEnum.LOST;
        }
        else
            throw exception(DEV_DISMANTLE_EXCEPTION);
        // 设备遗失时, 标注遗失
        markDevDismantleException( updateReqVO.getDevId(), updateReqVO.getId(), updateReqVO.getReturnTime().toLocalDate(), devStateEnum );
        updateReqVO.setState( DevRentStateEnum.LOST.getState() );
        updateReqVO.setState( devRentStateEnum.getState() );
        updateDevRent( updateReqVO );
        Long userId = SecurityFrameworkUtils.getLoginUserId();
        String userNickname = SecurityFrameworkUtils.getLoginUserNickname();
        List<Integer> jobTypeList = new ArrayList<Integer>();
        jobTypeList.add( DevRentStateEnum.DAMAGED.getState());
        jobTypeList.add( DevRentStateEnum.LOST.getState());
        JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdDocId(updateReqVO.getId(), userId, jobTypeList);
        if (null == jobRecordDO) {
@@ -549,13 +555,13 @@
            jobRecordSaveReqVO.setPatId( updateReqVO.getPatId() );
            jobRecordSaveReqVO.setPatName( updateReqVO.getPatName() );
            jobRecordSaveReqVO.setJobTime( updateReqVO.getReturnTime() );
            jobRecordSaveReqVO.setJobType( DevRentStateEnum.LOST.getState() );
            jobRecordSaveReqVO.setJobType( devRentStateEnum.getState() );
            jobRecordSaveReqVO.setRemark( updateReqVO.getRemark() );
            jobRecordSaveReqVO.setSummary( updateReqVO.getInterference() + " " + updateReqVO.getBaseline() + " " + updateReqVO.getDetachment() );
            JobRecordDO jobRecord = BeanUtils.toBean(jobRecordSaveReqVO, JobRecordDO.class);
            jobRecordMapper.insert(jobRecord);
        } else {
            jobRecordDO.setJobType( DevRentStateEnum.LOST.getState() );
            jobRecordDO.setJobType( devRentStateEnum.getState() );
            jobRecordDO.setJobTime( updateReqVO.getReturnTime() );
            jobRecordDO.setRemark( updateReqVO.getRemark() );
            jobRecordDO.setSummary( updateReqVO.getInterference() + " " + updateReqVO.getBaseline() + " " + updateReqVO.getDetachment() );
jh-module-ecg/jh-module-ecg-biz/src/main/resources/mapper/devrent/DevRentMapper.xml
@@ -9,24 +9,4 @@
        文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
     -->
    <select id="getRentByState" resultType="cn.lihu.jh.module.ecg.dal.dataobject.devrent.DevRentDO">
        select * from lihu.dev_rent
        <where>
            <if test="stateList != null">
                and state in (
                  <foreach collection='stateList' separator=',' item='state'>
                    #{state}
                  </foreach> )
            </if>
            <if test="devId != null and devId != ''">
             and dev_id = #{devId}
            </if>
            <if test="patId != null and patId != ''">
             and pat_id = #{patId}
            </if>
            and TO_DAYS(create_time) = TO_DAYS(NOW())
        </where>
        limit 1
    </select>
</mapper>