segment2.0
linjj 1 month ago
parent 0057b794ba
commit de06e33d44

@ -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;
}

@ -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;
}

@ -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<RcvBasicVO> findAll() {
return RcvBasicConvert.INSTANCE.convertVO(iRcvBasicDao.findAll());
List<RcvBasic> 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<RcvBasic> 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<RcvBasic> 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<RcvBasic> rcvBasicList = iRcvBasicDao.findBy("serialNumber", snList);
Map<String, List<RcvBasic>> stringListMap = ListUtils.groupBy(rcvBasicList, RcvBasic::getSerialNumber);
for (AddRcvBasicDTO modelDto : list) {
// 存在,进行更新
if (medicalImportExcelValidator.isDataBaseExistsAndChangePatientId(modelDto, stringListMap)) {
updateDataList.add(modelDto);
} else {
// 不存在,进行新增
insertDataList.add(modelDto);
}
}
// 将新增和更新数据按照对应key返回
Map<String, List<AddRcvBasicDTO>> separateInsertAndUpdateMap = new HashMap<>();

Loading…
Cancel
Save