医共体患者修改

This commit is contained in:
zhangheng 2026-05-19 11:19:18 +08:00
parent 89f819e65f
commit 203a33778d
7 changed files with 178 additions and 19 deletions

View File

@ -8,6 +8,7 @@ import com.xinelu.common.enums.BusinessType;
import com.xinelu.common.utils.poi.ExcelUtil; import com.xinelu.common.utils.poi.ExcelUtil;
import com.xinelu.manage.domain.externalimport.ExternalImport; import com.xinelu.manage.domain.externalimport.ExternalImport;
import com.xinelu.manage.dto.externalimport.ExternalImportDto; import com.xinelu.manage.dto.externalimport.ExternalImportDto;
import com.xinelu.manage.dto.externalimport.ExternalImportInfoDto;
import com.xinelu.manage.service.externalimport.IExternalImportService; import com.xinelu.manage.service.externalimport.IExternalImportService;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -34,7 +35,7 @@ public class ExternalImportController extends BaseController {
*/ */
@PreAuthorize("@ss.hasPermi('system:externalImport:list')") @PreAuthorize("@ss.hasPermi('system:externalImport:list')")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(ExternalImport externalImport) { public TableDataInfo list(ExternalImportInfoDto externalImport) {
startPage(); startPage();
List<ExternalImport> list = externalImportService.selectExternalImportList(externalImport); List<ExternalImport> list = externalImportService.selectExternalImportList(externalImport);
return getDataTable(list); return getDataTable(list);
@ -46,7 +47,7 @@ public class ExternalImportController extends BaseController {
@PreAuthorize("@ss.hasPermi('system:externalImport:export')") @PreAuthorize("@ss.hasPermi('system:externalImport:export')")
@Log(title = "外部数据导入", businessType = BusinessType.EXPORT) @Log(title = "外部数据导入", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
public void export(HttpServletResponse response, ExternalImport externalImport) { public void export(HttpServletResponse response, ExternalImportInfoDto externalImport) {
List<ExternalImport> list = externalImportService.selectExternalImportList(externalImport); List<ExternalImport> list = externalImportService.selectExternalImportList(externalImport);
ExcelUtil<ExternalImport> util = new ExcelUtil<>(ExternalImport.class); ExcelUtil<ExternalImport> util = new ExcelUtil<>(ExternalImport.class);
util.exportExcel(response, list, "外部数据导入数据"); util.exportExcel(response, list, "外部数据导入数据");

View File

@ -0,0 +1,87 @@
package com.xinelu.manage.dto.externalimport;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xinelu.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
@Data
public class ExternalImportInfoDto {
private Long id;
@ApiModelProperty(value = "患者姓名")
private String patientName;
@ApiModelProperty(value = "患者电话")
private String phone;
@ApiModelProperty(value = "年龄")
private String age;
@ApiModelProperty(value = "身份证号")
private String cardNo;
@ApiModelProperty(value = "性别MALEFEMALE")
private String sex;
@ApiModelProperty(value = "所属科室名称")
private String departmentName;
@ApiModelProperty(value = "就诊编号")
private String visitCode;
@ApiModelProperty(value = "就诊方式门诊OUTPATIENT_SERVICE住院BE_IN_HOSPITAL")
private String visitMethod;
@ApiModelProperty(value = "就诊时间")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate visitDate;
@ApiModelProperty(value = "入院时间时间格式yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate admissionTime;
@ApiModelProperty(value = "出院时间")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate dischargeTime;
@ApiModelProperty(value = "推送时间时间格式yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private String pushTime;
@ApiModelProperty(value = "计划随访时间时间格式yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "计划随访时间时间格式yyyy-MM-dd HH:mm:ss", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime planFollowUp;
@ApiModelProperty(value = "随访模板编号")
@Excel(name = "随访模板编号")
private Long followUpTemplate;
@ApiModelProperty(value = "主要诊断")
@Excel(name = "主要诊断")
private String mainDiagnosis;
@ApiModelProperty(value = "数据来源,医共体平台")
@Excel(name = "数据来源,医共体平台")
private String dataSource;
@ApiModelProperty(value = "出院方式")
@Excel(name = "出院方式", readConverterExp = "出院患者")
private String dischargeMethod;
@ApiModelProperty(value = "患者健康状况")
@Excel(name = "患者健康状况")
private String healthState;
@ApiModelProperty(value = "数据获取时间")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate dataGetTime;
private String sn;
}

View File

@ -2,6 +2,7 @@ package com.xinelu.manage.mapper.externalimport;
import com.xinelu.manage.domain.externalimport.ExternalImport; import com.xinelu.manage.domain.externalimport.ExternalImport;
import com.xinelu.manage.dto.externalimport.ExternalImportDto; import com.xinelu.manage.dto.externalimport.ExternalImportDto;
import com.xinelu.manage.dto.externalimport.ExternalImportInfoDto;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@ -72,10 +73,10 @@ public interface ExternalImportMapper {
/** /**
* 根据手机号查询数据 * 根据手机号查询数据
* *
* @param phones * @param visitCodes
* @return ExternalImport * @return ExternalImport
*/ */
List<ExternalImport> selectExternalByPhone(List<String> phones); List<ExternalImport> selectExternalByVisitCodes(@Param("list") List<String> visitCodes);
/** /**
* 查询外部数据导入列表不分页sn不为空 * 查询外部数据导入列表不分页sn不为空
@ -100,4 +101,6 @@ public interface ExternalImportMapper {
* @return int * @return int
*/ */
int updateExternalImportSn(@Param("ids") List<Long> ids, @Param("sn") String sn); int updateExternalImportSn(@Param("ids") List<Long> ids, @Param("sn") String sn);
List<ExternalImport> selectExternalImports(ExternalImportInfoDto externalImport);
} }

View File

@ -2,6 +2,7 @@ package com.xinelu.manage.service.externalimport;
import com.xinelu.manage.domain.externalimport.ExternalImport; import com.xinelu.manage.domain.externalimport.ExternalImport;
import com.xinelu.manage.dto.externalimport.ExternalImportDto; import com.xinelu.manage.dto.externalimport.ExternalImportDto;
import com.xinelu.manage.dto.externalimport.ExternalImportInfoDto;
import java.util.List; import java.util.List;
@ -26,7 +27,7 @@ public interface IExternalImportService {
* @param externalImport 外部数据导入 * @param externalImport 外部数据导入
* @return 外部数据导入集合 * @return 外部数据导入集合
*/ */
List<ExternalImport> selectExternalImportList(ExternalImport externalImport); List<ExternalImport> selectExternalImportList(ExternalImportInfoDto externalImport);
/** /**
* 新增外部数据导入 * 新增外部数据导入

View File

@ -2,6 +2,7 @@ package com.xinelu.manage.service.externalimport.impl;
import com.xinelu.manage.domain.externalimport.ExternalImport; import com.xinelu.manage.domain.externalimport.ExternalImport;
import com.xinelu.manage.dto.externalimport.ExternalImportDto; import com.xinelu.manage.dto.externalimport.ExternalImportDto;
import com.xinelu.manage.dto.externalimport.ExternalImportInfoDto;
import com.xinelu.manage.mapper.externalimport.ExternalImportMapper; import com.xinelu.manage.mapper.externalimport.ExternalImportMapper;
import com.xinelu.manage.service.externalimport.IExternalImportService; import com.xinelu.manage.service.externalimport.IExternalImportService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -40,8 +41,8 @@ public class ExternalImportServiceImpl implements IExternalImportService {
* @return 外部数据导入 * @return 外部数据导入
*/ */
@Override @Override
public List<ExternalImport> selectExternalImportList(ExternalImport externalImport) { public List<ExternalImport> selectExternalImportList(ExternalImportInfoDto externalImport) {
return externalImportMapper.selectExternalImportList(externalImport); return externalImportMapper.selectExternalImports(externalImport);
} }
/** /**

View File

@ -310,12 +310,16 @@
</foreach> </foreach>
</delete> </delete>
<select id="selectExternalByPhone" resultType="com.xinelu.manage.domain.externalimport.ExternalImport"> <select id="selectExternalByVisitCodes" resultType="com.xinelu.manage.domain.externalimport.ExternalImport">
<include refid="selectExternalImportVo"/> <include refid="selectExternalImportVo"/>
where phone in <where>
<foreach item="phones" collection="list" open="(" separator="," close=")"> <if test="list != null and list.size() > 0">
#{phones} visit_code in
<foreach collection="list" item="visitCode" open="(" separator="," close=")">
#{visitCode}
</foreach> </foreach>
</if>
</where>
</select> </select>
<select id="getExternalImports" resultType="com.xinelu.manage.dto.externalimport.ExternalImportDto"> <select id="getExternalImports" resultType="com.xinelu.manage.dto.externalimport.ExternalImportDto">
@ -357,4 +361,68 @@
#{id} #{id}
</foreach> </foreach>
</update> </update>
<select id="selectExternalImports" resultType="com.xinelu.manage.domain.externalimport.ExternalImport">
<include refid="selectExternalImportVo"/>
<where>
<if test="patientName != null and patientName != ''">
and patient_name like concat('%', #{patientName}, '%')
</if>
<if test="phone != null and phone != ''">
and phone = #{phone}
</if>
<if test="age != null and age != ''">
and age = #{age}
</if>
<if test="cardNo != null and cardNo != ''">
and card_no = #{cardNo}
</if>
<if test="sex != null and sex != ''">
and sex = #{sex}
</if>
<if test="departmentName != null and departmentName != ''">
and department_name like concat('%', #{departmentName}, '%')
</if>
<if test="visitCode != null and visitCode != ''">
and visit_code = #{visitCode}
</if>
<if test="visitMethod != null and visitMethod != ''">
and visit_method = #{visitMethod}
</if>
<if test="visitDate != null ">
and date_format(visit_date, '%y%m%d') = date_format(#{visitDate}, '%y%m%d')
</if>
<if test="admissionTime != null ">
and date_format(admission_time, '%y%m%d') = date_format(#{admissionTime}, '%y%m%d')
</if>
<if test="dischargeTime != null ">
and date_format(discharge_time, '%y%m%d') = date_format(#{dischargeTime}, '%y%m%d')
</if>
<if test="pushTime != null ">
and push_time = #{pushTime}
</if>
<if test="planFollowUp != null ">
and plan_follow_up = #{planFollowUp}
</if>
<if test="followUpTemplate != null ">
and follow_up_template = #{followUpTemplate}
</if>
<if test="mainDiagnosis != null and mainDiagnosis != ''">
and main_diagnosis = #{mainDiagnosis}
</if>
<if test="dataSource != null and dataSource != ''">
and data_source = #{dataSource}
</if>
<if test="dischargeMethod != null and dischargeMethod != ''">
and discharge_method = #{dischargeMethod}
</if>
<if test="healthState != null and healthState != ''">
and health_state = #{healthState}
</if>
<if test="dataGetTime != null ">
and date_format(data_get_time, '%y%m%d') = date_format(#{dataGetTime}, '%y%m%d')
</if>
</where>
ORDER BY push_time DESC
</select>
</mapper> </mapper>

View File

@ -67,11 +67,7 @@ public class MedicalConsortiumPlatformTask {
Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@//172.19.116.212:1521/ORCL", "HK_ZJK", "DYWJWhkzjk5169"); Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@//172.19.116.212:1521/ORCL", "HK_ZJK", "DYWJWhkzjk5169");
// 3.创建Statement对象可以执行sql的对象 // 3.创建Statement对象可以执行sql的对象
PreparedStatement preparedStatement; PreparedStatement preparedStatement;
if (externalImportCount > 0) {
preparedStatement = connection.prepareStatement(sql_date);
} else {
preparedStatement = connection.prepareStatement(sql); preparedStatement = connection.prepareStatement(sql);
}
// 4.获取结果集 // 4.获取结果集
ResultSet resultSet = preparedStatement.executeQuery(); ResultSet resultSet = preparedStatement.executeQuery();
// 5.对数据进行处理 // 5.对数据进行处理
@ -143,7 +139,7 @@ public class MedicalConsortiumPlatformTask {
departmentMapper.insertPartDepartmentList(departments); departmentMapper.insertPartDepartmentList(departments);
} }
//筛选就诊号并根据就诊号查询数据库 //筛选就诊号并根据就诊号查询数据库
List<ExternalImport> dataExternalImports = externalImportMapper.selectExternalByPhone(collect); List<ExternalImport> dataExternalImports = externalImportMapper.selectExternalByVisitCodes(collect);
List<ExternalImport> externalImports = new ArrayList<>(); List<ExternalImport> externalImports = new ArrayList<>();
//遍历塞数据 //遍历塞数据
for (TbFollowUp tbFollowUp : list) { for (TbFollowUp tbFollowUp : list) {
@ -190,7 +186,9 @@ public class MedicalConsortiumPlatformTask {
externalImport.setDataGetTime(LocalDateTime.now()); externalImport.setDataGetTime(LocalDateTime.now());
externalImports.add(externalImport); externalImports.add(externalImport);
} }
if (CollectionUtils.isNotEmpty(externalImports)){
externalImportMapper.insertExternalImportList(externalImports); externalImportMapper.insertExternalImportList(externalImports);
}
log.info("获取医共体数据完成,共" + externalImports.size() + ""); log.info("获取医共体数据完成,共" + externalImports.size() + "");
} }
} }