web: 添加电子病例相关接口

dev_2.0.0
xueqingkun 1 year ago
parent 3257ac18df
commit 511b8864ef

@ -2,6 +2,8 @@ package com.supervision.mapper;
import com.supervision.model.ProcessMedical; import com.supervision.model.ProcessMedical;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.supervision.vo.ask.ProcessMedicalResVo;
import org.apache.ibatis.annotations.Param;
/** /**
* @author flevance * @author flevance
@ -11,6 +13,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface ProcessMedicalMapper extends BaseMapper<ProcessMedical> { public interface ProcessMedicalMapper extends BaseMapper<ProcessMedical> {
ProcessMedicalResVo findByProcessId(@Param("processId") String processId);
} }

@ -1,9 +1,7 @@
package com.supervision.model; package com.supervision.model;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import lombok.Data; import lombok.Data;
@ -62,7 +60,7 @@ public class ProcessMedical implements Serializable {
/** /**
* 0 1 * 0 1
*/ */
private String allergyHistoryFlag; private Integer allergyHistoryFlag;
/** /**
* *
@ -72,7 +70,7 @@ public class ProcessMedical implements Serializable {
/** /**
* 0 1 * 0 1
*/ */
private String previousHistoryFlag; private Integer previousHistoryFlag;
/** /**
* *
@ -82,7 +80,7 @@ public class ProcessMedical implements Serializable {
/** /**
* 0 1 * 0 1
*/ */
private String familyHistoryFlag; private Integer familyHistoryFlag;
/** /**
* *
@ -97,7 +95,7 @@ public class ProcessMedical implements Serializable {
/** /**
* 0 1 * 0 1
*/ */
private String operationHistoryFlag; private Integer operationHistoryFlag;
/** /**
* *
@ -122,6 +120,7 @@ public class ProcessMedical implements Serializable {
/** /**
* *
*/ */
@TableField(fill = FieldFill.INSERT)
private LocalDateTime updateTime; private LocalDateTime updateTime;
@TableField(exist = false) @TableField(exist = false)

@ -2,6 +2,7 @@ package com.supervision.service;
import com.supervision.model.ProcessMedical; import com.supervision.model.ProcessMedical;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.supervision.vo.ask.ProcessMedicalResVo;
/** /**
* @author flevance * @author flevance
@ -10,4 +11,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/ */
public interface ProcessMedicalService extends IService<ProcessMedical> { public interface ProcessMedicalService extends IService<ProcessMedical> {
ProcessMedicalResVo findByProcessId(String processId);
} }

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.supervision.model.ProcessMedical; import com.supervision.model.ProcessMedical;
import com.supervision.service.ProcessMedicalService; import com.supervision.service.ProcessMedicalService;
import com.supervision.mapper.ProcessMedicalMapper; import com.supervision.mapper.ProcessMedicalMapper;
import com.supervision.vo.ask.ProcessMedicalResVo;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
@ -15,6 +16,11 @@ import org.springframework.stereotype.Service;
public class ProcessMedicalServiceImpl extends ServiceImpl<ProcessMedicalMapper, ProcessMedical> public class ProcessMedicalServiceImpl extends ServiceImpl<ProcessMedicalMapper, ProcessMedical>
implements ProcessMedicalService{ implements ProcessMedicalService{
@Override
public ProcessMedicalResVo findByProcessId(String processId) {
return super.getBaseMapper().findByProcessId(processId);
}
} }

@ -0,0 +1,84 @@
package com.supervision.vo.ask;
import com.supervision.model.ProcessMedical;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.time.LocalDateTime;
@Data
@EqualsAndHashCode(callSuper = true)
public class ProcessMedicalResVo extends ProcessMedical {
/**
*
*/
private String processNo;
/**
*
*/
private String medicalRecNo;
/**
*
*/
private LocalDateTime recentTime;
/**
*
*/
private String patientName;
/**
* 0: 1:
*/
private String patientGender;
/**
*
*/
private Integer patientAge;
/**
* 0: 1:
*/
private String patientMarriage;
/**
*
*/
private String patientProfession;
/**
*
*/
private String patientPhone;
/**
*
*/
private String nativePlace;
/**
*
*/
private String patientNation;
/**
*
*/
private String patientPostcode;
/**
*
*/
private String patientBirthplace;
/**
*
*/
private String patientHabitation;
}

@ -12,7 +12,7 @@
<result property="diseaseId" column="disease_id" jdbcType="VARCHAR"/> <result property="diseaseId" column="disease_id" jdbcType="VARCHAR"/>
<result property="patientSelfDesc" column="patient_self_desc" jdbcType="VARCHAR"/> <result property="patientSelfDesc" column="patient_self_desc" jdbcType="VARCHAR"/>
<result property="illnessHistory" column="illness_history" jdbcType="VARCHAR"/> <result property="illnessHistory" column="illness_history" jdbcType="VARCHAR"/>
<result property="allergyHistoryFlag" column="allergy_history_flag" jdbcType="VARCHAR"/> <result property="allergyHistoryFlag" column="allergy_history_flag" jdbcType="INTEGER"/>
<result property="personalHistory" column="personal_history" jdbcType="VARCHAR"/> <result property="personalHistory" column="personal_history" jdbcType="VARCHAR"/>
<result property="allergyHistory" column="allergy_history" jdbcType="VARCHAR"/> <result property="allergyHistory" column="allergy_history" jdbcType="VARCHAR"/>
<result property="previousHistory" column="previous_history" jdbcType="VARCHAR"/> <result property="previousHistory" column="previous_history" jdbcType="VARCHAR"/>
@ -20,7 +20,7 @@
<result property="familyHistory" column="family_history" jdbcType="VARCHAR"/> <result property="familyHistory" column="family_history" jdbcType="VARCHAR"/>
<result property="familyHistoryFlag" column="family_history_flag" jdbcType="INTEGER"/> <result property="familyHistoryFlag" column="family_history_flag" jdbcType="INTEGER"/>
<result property="marriageChildHistory" column="marriage_child_history" jdbcType="VARCHAR"/> <result property="marriageChildHistory" column="marriage_child_history" jdbcType="VARCHAR"/>
<result property="operationHistoryFlag" column="operation_history_flag" jdbcType="VARCHAR"/> <result property="operationHistoryFlag" column="operation_history_flag" jdbcType="INTEGER"/>
<result property="operationHistory" column="operation_history" jdbcType="VARCHAR"/> <result property="operationHistory" column="operation_history" jdbcType="VARCHAR"/>
<result property="createUserId" column="create_user_id" jdbcType="VARCHAR"/> <result property="createUserId" column="create_user_id" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
@ -37,4 +37,34 @@
operation_history_flag,operation_history,create_user_id, operation_history_flag,operation_history,create_user_id,
create_time,update_user_id,update_time create_time,update_user_id,update_time
</sql> </sql>
<select id="findByProcessId" resultType="com.supervision.vo.ask.ProcessMedicalResVo">
select pr.process_no as processNo,
pr.update_time as recentTime,
mr.id as medicalRecId,
mr.no as medicalRecNo,
mr.patient_name as patientName,
mr.patient_gender as patientGender,
mr.patient_age as patientAge,
mr.patient_marriage as patientMarriage,
mr.native_place as nativePlace,
mr.patient_phone as patientPhone,
mr.patient_birthplace as patientBirthplace,
mr.patient_habitation as patientHabitation,
mr.patient_postcode as patientHabitation,
mr.patient_profession as patientProfession,
mr.patient_nation as patientNation,
pm.patient_self_desc as patientNation,
pm.illness_history as illnessHistory,
pm.allergy_history_flag as allergyHistoryFlag,
pm.allergy_history as allergyHistory,
pm.personal_history as personalHistory,
pm.family_history_flag as familyHistoryFlag,
pm.family_history as familyHistory,
pm.previous_history_flag as previousHistoryFlag,
pm.previous_history as previousHistory
from vp_process_medical pm
left join vp_medical_rec mr on pm.medical_rec_id = mr.id
left join vp_process pr on pm.process_id = pr.id
where pm.process_id = #{processId}
</select>
</mapper> </mapper>

@ -0,0 +1,48 @@
package com.supervision.controller;
import cn.hutool.core.util.StrUtil;
import com.supervision.exception.BusinessException;
import com.supervision.model.DiagnosisQaRecord;
import com.supervision.model.ProcessMedical;
import com.supervision.service.MedicalRecordService;
import com.supervision.vo.ask.ProcessMedicalResVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Slf4j
@Api(tags = "电子病例")
@RestController
@RequestMapping("medicalRecord")
@RequiredArgsConstructor
public class MedicalRecordController {
private final MedicalRecordService medicalRecordService;
@ApiOperation("新增电子病例信息")
@PostMapping("save")
public boolean saveMedicalRecord(@RequestBody ProcessMedical processMedical){
return medicalRecordService.saveMedicalRecord(processMedical);
}
@ApiOperation("更新电子病例信息")
@PutMapping("update")
public boolean updateMedicalRecord(@RequestBody ProcessMedical processMedical){
return medicalRecordService.updateMedicalRecord(processMedical);
}
@ApiOperation("通过流程id查询电子病例信息")
@GetMapping("findByProcessId")
public ProcessMedicalResVo findByProcessId(@ApiParam("流程id") @RequestParam("processId") String processId){
return medicalRecordService.findByProcessId(processId);
}
}

@ -0,0 +1,15 @@
package com.supervision.service;
import com.supervision.model.DiagnosisQaRecord;
import com.supervision.model.ProcessMedical;
import com.supervision.vo.ask.ProcessMedicalResVo;
import java.util.List;
public interface MedicalRecordService {
boolean saveMedicalRecord(ProcessMedical processMedical);
ProcessMedicalResVo findByProcessId(String processId);
boolean updateMedicalRecord(ProcessMedical processMedical);
}

@ -0,0 +1,56 @@
package com.supervision.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.supervision.model.ProcessMedical;
import com.supervision.service.MedicalRecordService;
import com.supervision.service.ProcessMedicalService;
import com.supervision.service.ProcessService;
import com.supervision.vo.ask.ProcessMedicalResVo;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
@RequiredArgsConstructor
@Slf4j
public class MedicalRecordServiceImpl implements MedicalRecordService {
private final ProcessMedicalService processMedicalService;
@Override
public boolean saveMedicalRecord(ProcessMedical processMedical) {
saveAssert(processMedical);
return processMedicalService.save(processMedical);
}
@Override
public ProcessMedicalResVo findByProcessId(String processId) {
Assert.notEmpty(processId,"流程id不允许为空");
return processMedicalService.findByProcessId(processId);
}
@Override
public boolean updateMedicalRecord(ProcessMedical processMedical) {
Assert.notEmpty(processMedical.getId(),"id 不能为空");
return processMedicalService.updateById(processMedical);
}
private void saveAssert(ProcessMedical processMedical){
Assert.notEmpty(processMedical.getProcessId(),"流程id不为空");
Assert.notEmpty(processMedical.getMedicalRecId(),"病例id不能为空");
Assert.notEmpty(processMedical.getPatientId(),"病人id不能为空");
Integer count = processMedicalService.lambdaQuery().eq(ProcessMedical::getProcessId, processMedical.getProcessId()).count();
Assert.isFalse(count > 0,"当前实例已经存在电子病例信息");
}
}
Loading…
Cancel
Save