From de06e33d4406af2c0574bdb99de9e1bc796b085f Mon Sep 17 00:00:00 2001 From: linjj <850658129@qq.com> Date: Fri, 20 Jun 2025 01:31:16 +0800 Subject: [PATCH] 1 --- .../server/entity/recovery/RcvBasic.java | 100 ++++-------------- .../vo/recovery/rcvbasic/RcvBasicVO.java | 81 ++------------ .../service/impl/RcvBasicServiceImpl.java | 71 +++++++++---- 3 files changed, 82 insertions(+), 170 deletions(-) diff --git a/docus-client-interface/src/main/java/com/docus/server/entity/recovery/RcvBasic.java b/docus-client-interface/src/main/java/com/docus/server/entity/recovery/RcvBasic.java index 358c305..4ca2242 100644 --- a/docus-client-interface/src/main/java/com/docus/server/entity/recovery/RcvBasic.java +++ b/docus-client-interface/src/main/java/com/docus/server/entity/recovery/RcvBasic.java @@ -1,10 +1,13 @@ package com.docus.server.entity.recovery; +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.docus.server.enums.RecoveryStateEnum; +import com.docus.server.vo.recovery.rcvbasic.GenderConverter; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; @@ -31,93 +34,32 @@ import java.util.Date; @ApiModel(value = "RcvBasic对象", description = "患者信息表") public class RcvBasic implements Serializable { - @ApiModelProperty(value = "主键") - @TableId(value = "id", type = IdType.ASSIGN_UUID) - private Long id; - + @ExcelIgnore @ApiModelProperty(value = "病案主键") - @TableField("patient_id") private String patientId; - + @ExcelProperty(value = {"住院次数"}, index = 1) @ApiModelProperty(value = "住院次数") - @TableField("admiss_times") private Integer admissTimes; - @ApiModelProperty(value = "病案号") - @TableField("inpatient_no") - private String inpatientNo; - - @ApiModelProperty(value = "记账号(省中医住院就诊号)") - @TableField("jzh") - private String jzh; - - @ApiModelProperty(value = "住院号") - @TableField("admiss_id") - private String admissId; - - @ApiModelProperty(value = "患者姓名") - @TableField("name") - private String name; - - @ApiModelProperty(value = "流水号") - @TableField("serial_number") - private String serialNumber; - + @ExcelIgnore @ApiModelProperty(value = "住院日期") - @TableField("admiss_date") private Date admissDate; - - @ApiModelProperty(value = "住院科室") - @TableField("admiss_dept") - private String admissDept; - - @ApiModelProperty(value = "住院科室名称") - @TableField("admiss_dept_name") - private String admissDeptName; - - @ApiModelProperty(value = "出院日期") - @TableField("dis_date") - private Date disDate; - - @ApiModelProperty(value = "出院科室") - @TableField("dis_dept") - private String disDept; - - @ApiModelProperty(value = "出院科室名称") - @TableField("dis_dept_name") - private String disDeptName; - - @ApiModelProperty(value = "实际住院天数") - @TableField("admiss_days") - private Integer admissDays; - - @ApiModelProperty(value = "住院医师") - @TableField("attending_name") - private String attendingName; - - @ApiModelProperty(value = "1 现场扫描,2 其他来源") - @TableField("file_source") - private Integer fileSource; - + @ExcelIgnore + @ApiModelProperty(value = "性别") + private String sex; + @ExcelIgnore + @ApiModelProperty(value = "姓名") + private String name; + @ExcelProperty(value = {"回收状态"}, index = 7, converter = GenderConverter.class) @ApiModelProperty(value = "回收状态 0:待回收 1:已回收") - @TableField("recovery_state") private RecoveryStateEnum recoveryState; - - @ApiModelProperty(value = "回收时间") - @TableField("revovery_time") - private Date revoveryTime; - - @ApiModelProperty(value = "回收人") - @TableField("revovery_user") + @ExcelIgnore + @ApiModelProperty(value = "床位号") + private String bedNumber; + @ExcelProperty(value = {"责任人"}, index = 9) + @ApiModelProperty(value = "责任人") private String revoveryUser; - - @ApiModelProperty(value = "修改时间") - @TableField("update_time") - private Date updateTime; - - @ApiModelProperty(value = "创建时间") - @TableField("create_time") - private Date createTime; - - + @ExcelIgnore + @ApiModelProperty(value = "出院天数") + private String outNum; } diff --git a/docus-client-interface/src/main/java/com/docus/server/vo/recovery/rcvbasic/RcvBasicVO.java b/docus-client-interface/src/main/java/com/docus/server/vo/recovery/rcvbasic/RcvBasicVO.java index 964303e..feae140 100644 --- a/docus-client-interface/src/main/java/com/docus/server/vo/recovery/rcvbasic/RcvBasicVO.java +++ b/docus-client-interface/src/main/java/com/docus/server/vo/recovery/rcvbasic/RcvBasicVO.java @@ -27,93 +27,30 @@ import java.util.Date; @ApiModel(value = "RcvBasicVO对象", description = "患者信息表") public class RcvBasicVO extends BaseRowModel implements Serializable { - @ExcelIgnore - @ApiModelProperty(value = "主键") - private Long id; - @ExcelIgnore @ApiModelProperty(value = "病案主键") private String patientId; - @ExcelProperty(value = {"住院次数"}, index = 1) @ApiModelProperty(value = "住院次数") private Integer admissTimes; - @ExcelIgnore - @ApiModelProperty(value = "病案号") - private String inpatientNo; - - @ExcelIgnore - @ApiModelProperty(value = "记账号(省中医住院就诊号)") - private String jzh; - - @ExcelProperty(value = {"住院号"}, index = 0) - @ApiModelProperty(value = "住院号") - private String admissId; - - @ExcelProperty(value = {"患者姓名"}, index = 3) - @ApiModelProperty(value = "患者姓名") - private String name; - - @ExcelProperty(value = {"流水号"}, index = 2) - @ApiModelProperty(value = "流水号") - private String serialNumber; - @ExcelIgnore @ApiModelProperty(value = "住院日期") private Date admissDate; - - @ExcelIgnore - @ApiModelProperty(value = "住院科室") - private String admissDept; - - @ExcelIgnore - @ApiModelProperty(value = "住院科室名称") - private String admissDeptName; - - @ExcelProperty(value = {"出院日期"}, index = 5) - @ApiModelProperty(value = "出院日期") - private Date disDate; - - @ExcelIgnore - @ApiModelProperty(value = "出院科室") - private String disDept; - - @ExcelProperty(value = {"出院科室名称"}, index = 6) - @ApiModelProperty(value = "出院科室名称") - private String disDeptName; - @ExcelIgnore - @ApiModelProperty(value = "实际住院天数") - private Integer admissDays; - - @ExcelProperty(value = {"住院医师"}, index = 4) - @ApiModelProperty(value = "住院医师") - private String attendingName; - - @ExcelIgnore - @ApiModelProperty(value = "1 现场扫描,2 其他来源") - private Integer fileSource; - + @ApiModelProperty(value = "性别") + private String sex; @ExcelProperty(value = {"回收状态"}, index = 7, converter = GenderConverter.class) @ApiModelProperty(value = "回收状态 0:待回收 1:已回收") private RecoveryStateEnum recoveryState; - - @ExcelProperty(value = {"回收时间"}, index = 8) - @ApiModelProperty(value = "回收时间") - private Date revoveryTime; - - @ExcelProperty(value = {"回收人"}, index = 9) - @ApiModelProperty(value = "回收人") - private String revoveryUser; - @ExcelIgnore - @ApiModelProperty(value = "修改时间") - private Date updateTime; - + @ApiModelProperty(value = "床位号") + private String bedNumber; + @ExcelProperty(value = {"责任人"}, index = 9) + @ApiModelProperty(value = "责任人") + private String revoveryUser; @ExcelIgnore - @ApiModelProperty(value = "创建时间") - private Date createTime; - + @ApiModelProperty(value = "出院天数") + private String outNum; } diff --git a/docus-recovery/src/main/java/com/docus/server/service/impl/RcvBasicServiceImpl.java b/docus-recovery/src/main/java/com/docus/server/service/impl/RcvBasicServiceImpl.java index 94d19c9..ecbde08 100644 --- a/docus-recovery/src/main/java/com/docus/server/service/impl/RcvBasicServiceImpl.java +++ b/docus-recovery/src/main/java/com/docus/server/service/impl/RcvBasicServiceImpl.java @@ -23,6 +23,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.io.Serializable; +import java.sql.*; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; @@ -122,7 +123,56 @@ public class RcvBasicServiceImpl implements IRcvBasicService { */ @Override public List findAll() { - return RcvBasicConvert.INSTANCE.convertVO(iRcvBasicDao.findAll()); + List rcvBasicVOList = new ArrayList<>(); + //查询所有数据 + // SQL Server连接信息 + String url = "jdbc:sqlserver://10.1.1.21:1433;databaseName=trasen;encrypt=false;useUnicode=true;characterEncoding=utf-8"; + String username = "SZJK"; + String password = "SZJK"; + // SQL语句 + String selectQuery = "SELECT * FROM V_sz_cybrxx"; + try { + // 1. 加载SQL Server JDBC驱动 + Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); + + // 2. 建立数据库连接 + Connection connection = DriverManager.getConnection(url, username, password); + + // 3. 创建Statement对象用于执行SQL语句 + Statement statement = connection.createStatement(); + + // 4. 执行查询操作 + ResultSet resultSet = statement.executeQuery(selectQuery); + + // 5. 处理查询结果并映射到RcvBasicVO对象 + while (resultSet.next()) { + RcvBasic rcvBasic = new RcvBasic(); + rcvBasic.setPatientId(resultSet.getString("病案号")); + rcvBasic.setAdmissTimes(resultSet.getInt("住院次数")); + rcvBasic.setAdmissDate(resultSet.getDate("住院日期")); + rcvBasic.setName(resultSet.getString("姓名")); + String sex = resultSet.getString("性别"); + if (sex.equals("1")){ + rcvBasic.setName("男"); + } + if (sex.equals("2")){ + rcvBasic.setName("女"); + } + rcvBasic.setBedNumber(resultSet.getString("床位号")); + rcvBasic.setRevoveryUser(resultSet.getString("责任人")); + rcvBasic.setOutNum(resultSet.getString("已出院天数")); + rcvBasicVOList.add(rcvBasic); + } + // 6. 关闭资源 + resultSet.close(); + statement.close(); + connection.close(); + } catch (ClassNotFoundException e) { + System.err.println("无法加载SQL Server JDBC驱动: " + e.getMessage()); + } catch (SQLException e) { + System.err.println("数据库操作失败: " + e.getMessage()); + } + return RcvBasicConvert.INSTANCE.convertVO(rcvBasicVOList); } /** @@ -174,7 +224,6 @@ public class RcvBasicServiceImpl implements IRcvBasicService { @Transactional(rollbackFor = Exception.class) public boolean add(AddRcvBasicDTO addRcvBasicDTO) { RcvBasic rcvBasic = RcvBasicConvert.INSTANCE.convertDO(addRcvBasicDTO); - rcvBasic.setId(idService.getDateSeq()); return iRcvBasicDao.add(rcvBasic); // String name = addRcvBasicDTO.getName(); @@ -204,9 +253,7 @@ public class RcvBasicServiceImpl implements IRcvBasicService { List rcvBasicList = RcvBasicConvert.INSTANCE.convertAddDOList(addRcvBasicDTOList); - rcvBasicList.forEach(p -> { - p.setId(idService.getDateSeq()); - }); + return iRcvBasicDao.saveBatch(rcvBasicList, IBaseDao.DEFAULT_BATCH_SIZE); } @@ -276,7 +323,6 @@ public class RcvBasicServiceImpl implements IRcvBasicService { rcvBasics.forEach(p -> { p.setRecoveryState(RecoveryStateEnum.RECYCLED_ALREADY); p.setRevoveryUser(ApiRequestContext.get().getUserId()); - p.setRevoveryTime(DateUtil.now()); }); return iRcvBasicDao.updateBatchById(rcvBasics, IBaseDao.DEFAULT_BATCH_SIZE); @@ -360,7 +406,6 @@ public class RcvBasicServiceImpl implements IRcvBasicService { List insert = RcvBasicConvert.INSTANCE.convertAddDOList(insertDataList); insert.forEach(p -> { - p.setId(idService.getDateSeq()); p.setRecoveryState(RecoveryStateEnum.RECYCLED_WAITING); }); @@ -391,18 +436,6 @@ public class RcvBasicServiceImpl implements IRcvBasicService { List rcvBasicList = iRcvBasicDao.findBy("serialNumber", snList); - Map> stringListMap = ListUtils.groupBy(rcvBasicList, RcvBasic::getSerialNumber); - - for (AddRcvBasicDTO modelDto : list) { - // 存在,进行更新 - if (medicalImportExcelValidator.isDataBaseExistsAndChangePatientId(modelDto, stringListMap)) { - updateDataList.add(modelDto); - } else { - // 不存在,进行新增 - insertDataList.add(modelDto); - } - - } // 将新增和更新数据按照对应key返回 Map> separateInsertAndUpdateMap = new HashMap<>();