fix(phase1): 修复EMR修订API路径、启用门诊EMR tab、清理废弃代码

- 修复revision-history api.js路径 (/emr/* → /api/v1/emr/*)
- 启用doctorstation outpatient EMR tab
- 移除EmrCompletenessCheckServiceImpl.executeCheck()硬编码PASS
- StructuredEmrAppServiceImpl改用EmrCompletenessAppServiceImpl
- 标注3个空壳Service为deprecated,移除@Service注解
This commit is contained in:
2026-06-29 15:04:53 +08:00
parent 42c6bdba76
commit c75f162652
8 changed files with 30 additions and 47 deletions

View File

@@ -4,10 +4,10 @@ import com.healthlink.his.emr.domain.EmrCompletenessCheck;
import com.healthlink.his.emr.domain.EmrRevision;
import com.healthlink.his.emr.domain.EmrTimeliness;
import com.healthlink.his.emr.dto.RevisionHistoryDto;
import com.healthlink.his.emr.service.IEmrCompletenessCheckService;
import com.healthlink.his.emr.service.IEmrRevisionService;
import com.healthlink.his.emr.service.IEmrTimelinessService;
import com.healthlink.his.web.emr.appservice.IStructuredEmrAppService;
import com.healthlink.his.web.emr.appservice.IEmrCompletenessAppService;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -23,10 +23,10 @@ public class StructuredEmrAppServiceImpl implements IStructuredEmrAppService {
private IEmrRevisionService emrRevisionService;
@Resource
private IEmrCompletenessCheckService emrCompletenessCheckService;
private IEmrTimelinessService emrTimelinessService;
@Resource
private IEmrTimelinessService emrTimelinessService;
private IEmrCompletenessAppService emrCompletenessAppService;
@Override
@Transactional
@@ -59,7 +59,10 @@ public class StructuredEmrAppServiceImpl implements IStructuredEmrAppService {
@Override
@Transactional
public List<EmrCompletenessCheck> executeCompletenessCheck(Long emrId, Long encounterId) {
return emrCompletenessCheckService.executeCheck(emrId, encounterId);
Map<String, Object> result = emrCompletenessAppService.checkCompleteness(emrId, encounterId);
@SuppressWarnings("unchecked")
List<EmrCompletenessCheck> checks = (List<EmrCompletenessCheck>) result.get("checks");
return checks != null ? checks : List.of();
}
@Override

View File

@@ -4,8 +4,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.healthlink.his.document.domain.DocStatisticsDefinition;
import com.healthlink.his.document.mapper.DocStatisticsDefinitionMapper;
import com.healthlink.his.document.service.IDocStatisticsDefinitionService;
import org.springframework.stereotype.Service;
@Service
// DEPRECATED: Empty shell service, no business logic. Kept for compilation compatibility.
/**
* @deprecated Use DocStatisticsDefinitionAppServiceImpl instead
*/
@SuppressWarnings("unused")
public class DocStatisticsDefinitionServiceImpl extends
ServiceImpl<DocStatisticsDefinitionMapper, DocStatisticsDefinition> implements IDocStatisticsDefinitionService {}

View File

@@ -4,15 +4,13 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.healthlink.his.document.domain.EmrDetail;
import com.healthlink.his.document.mapper.EmrDetailMapper;
import com.healthlink.his.document.service.IEmrDetailService;
import org.springframework.stereotype.Service;
// DEPRECATED: Empty shell service, never used. Kept for compilation compatibility.
/**
* 电子病历详情Service业务层处理
*
* @author system
* @date 2025-02-22
* @deprecated Replaced by EmrDataWarehouseAppServiceImpl for structured data extraction
*/
@Service
@SuppressWarnings("unused")
public class EmrDetailServiceImpl extends ServiceImpl<EmrDetailMapper, EmrDetail> implements IEmrDetailService {
}

View File

@@ -8,6 +8,4 @@ import java.util.List;
public interface IEmrCompletenessCheckService extends IService<EmrCompletenessCheck> {
List<EmrCompletenessCheck> selectByEmrId(Long emrId);
List<EmrCompletenessCheck> executeCheck(Long emrId, Long encounterId);
}

View File

@@ -6,8 +6,6 @@ import com.healthlink.his.emr.mapper.EmrCompletenessCheckMapper;
import com.healthlink.his.emr.service.IEmrCompletenessCheckService;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Service
@@ -19,27 +17,4 @@ public class EmrCompletenessCheckServiceImpl
public List<EmrCompletenessCheck> selectByEmrId(Long emrId) {
return baseMapper.selectByEmrId(emrId);
}
@Override
public List<EmrCompletenessCheck> executeCheck(Long emrId, Long encounterId) {
List<EmrCompletenessCheck> checks = new ArrayList<>();
String[] requiredItems = {"chief_complaint", "medical_history", "physical_exam", "auxiliary_exam", "diagnosis", "treatment_plan"};
String[] categories = {"basic", "basic", "basic", "examination", "diagnosis", "treatment"};
for (int i = 0; i < requiredItems.length; i++) {
EmrCompletenessCheck check = new EmrCompletenessCheck()
.setEmrId(emrId)
.setEncounterId(encounterId)
.setCheckItem(requiredItems[i])
.setCheckCategory(categories[i])
.setIsRequired(true)
.setCheckResult("PASS")
.setCheckDetail("检查项: " + requiredItems[i])
.setCheckTime(new Date());
save(check);
checks.add(check);
}
return checks;
}
}

View File

@@ -4,8 +4,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.healthlink.his.emr.domain.StructuredEmrTemplate;
import com.healthlink.his.emr.mapper.StructuredEmrTemplateMapper;
import com.healthlink.his.emr.service.IStructuredEmrTemplateService;
import org.springframework.stereotype.Service;
@Service
// DEPRECATED: Empty shell service, no business logic. Kept for compilation compatibility.
/**
* @deprecated Use StructuredEmrTemplateController + new AppService instead
*/
@SuppressWarnings("unused")
public class StructuredEmrTemplateServiceImpl extends ServiceImpl<StructuredEmrTemplateMapper, StructuredEmrTemplate> implements IStructuredEmrTemplateService {
}

View File

@@ -245,7 +245,7 @@
<!-- <el-tab-pane label="待写病历" name="pendingEmr">
<PendingEmr @writeEmr="handleWriteEmr" @viewPatient="handleViewPatient" />
</el-tab-pane> -->
<!-- <el-tab-pane label="病历" name="emr">
<el-tab-pane label="病历" name="emr">
<Emr
:patientInfo="patientInfo"
ref="emrRef"
@@ -255,7 +255,7 @@
}
"
/>
</el-tab-pane> -->
</el-tab-pane>
<el-tab-pane
:label="$t('doctorstation.diagnosis')"
name="diagnosis"
@@ -412,6 +412,7 @@
<script setup>
import hospitalizationEmr from './components/hospitalizationEmr/index.vue';
import PendingEmr from './components/pendingEmr/index.vue';
import Emr from './components/emr/emr.vue';
import {
completeEncounter,
getEncounterDiagnosis,

View File

@@ -1,5 +1,5 @@
import request from '@/utils/request'
export function getRevisionPage(p){return request({url:'/emr/revision/page-with-patient',method:'get',params:p})}
export function getRevisionList(emrId){return request({url:'/emr/revision/list/'+emrId,method:'get'})}
export function recordRevision(d){return request({url:'/emr/revision/record',method:'post',data:d})}
export function compareRevisions(id1,id2){return request({url:'/emr/revision/compare',method:'get',params:{revisionId1:id1,revisionId2:id2}})}
export function getRevisionPage(p){return request({url:'/api/v1/emr/revision/page-with-patient',method:'get',params:p})}
export function getRevisionList(emrId){return request({url:'/api/v1/emr/revision/list/'+emrId,method:'get'})}
export function recordRevision(d){return request({url:'/api/v1/emr/revision/record',method:'post',data:d})}
export function compareRevisions(id1,id2){return request({url:'/api/v1/emr/revision/compare',method:'get',params:{revisionId1:id1,revisionId2:id2}})}