diff --git a/openhis-server/core-framework/src/main/java/com/core/framework/aspectj/TransactionAspect.java b/openhis-server/core-framework/src/main/java/com/core/framework/aspectj/TransactionAspect.java index a3b17784..1a7e711d 100644 --- a/openhis-server/core-framework/src/main/java/com/core/framework/aspectj/TransactionAspect.java +++ b/openhis-server/core-framework/src/main/java/com/core/framework/aspectj/TransactionAspect.java @@ -1,9 +1,9 @@ package com.core.framework.aspectj; -import org.aspectj.lang.annotation.Aspect; -import org.aspectj.lang.annotation.Before; import org.aspectj.lang.annotation.AfterReturning; import org.aspectj.lang.annotation.AfterThrowing; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Before; import org.springframework.stereotype.Component; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.TransactionStatus; @@ -17,7 +17,7 @@ import org.springframework.transaction.support.DefaultTransactionDefinition; public class TransactionAspect { private final PlatformTransactionManager transactionManager; - private TransactionStatus transactionStatus; + private final ThreadLocal transactionStatus = new ThreadLocal<>(); public TransactionAspect(PlatformTransactionManager transactionManager) { this.transactionManager = transactionManager; @@ -28,7 +28,8 @@ public class TransactionAspect { "@annotation(org.springframework.web.bind.annotation.PutMapping) || " + "@annotation(org.springframework.web.bind.annotation.DeleteMapping)") public void beginTransaction() { - transactionStatus = transactionManager.getTransaction(new DefaultTransactionDefinition()); + TransactionStatus status = transactionManager.getTransaction(new DefaultTransactionDefinition()); + transactionStatus.set(status); } @AfterReturning("@annotation(org.springframework.web.bind.annotation.PostMapping) || " + @@ -36,8 +37,10 @@ public class TransactionAspect { "@annotation(org.springframework.web.bind.annotation.PutMapping) || " + "@annotation(org.springframework.web.bind.annotation.DeleteMapping)") public void commitTransaction() { - if (transactionStatus != null && !transactionStatus.isCompleted()) { - transactionManager.commit(transactionStatus); + TransactionStatus status = transactionStatus.get(); + if (status != null && !status.isCompleted()) { + transactionManager.commit(status); + transactionStatus.remove(); // 清除 ThreadLocal 中的状态 } } @@ -47,8 +50,10 @@ public class TransactionAspect { "@annotation(org.springframework.web.bind.annotation.DeleteMapping)", throwing = "ex") public void rollbackTransaction(Exception ex) { - if (transactionStatus != null && !transactionStatus.isCompleted()) { - transactionManager.rollback(transactionStatus); + TransactionStatus status = transactionStatus.get(); + if (status != null && !status.isCompleted()) { + transactionManager.rollback(status); + transactionStatus.remove(); // 清除 ThreadLocal 中的状态 } } -} +} \ No newline at end of file diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/OutpatientRegistrationAddDto.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/OutpatientRegistrationAddDto.java deleted file mode 100644 index d00d57eb..00000000 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/OutpatientRegistrationAddDto.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.openhis.web.outpatientservice.dto; - -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 门诊挂号 新增数据 - */ -@Data -@Accessors(chain = true) -public class OutpatientRegistrationAddDto { - - -} diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/IPatientService.java b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/IPatientService.java index c56301c1..71ed94be 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/IPatientService.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/IPatientService.java @@ -1,10 +1,11 @@ package com.openhis.administration.service; -import java.util.Date; - +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.openhis.administration.domain.Patient; +import java.util.Date; + /** * 患者管理Service接口 * @@ -15,7 +16,7 @@ public interface IPatientService extends IService { /** * 从身份证号码中提取生日 - * + * * @param idCard 身份证号 * @return 出生日 */ @@ -27,5 +28,15 @@ public interface IPatientService extends IService { * @param date 字符串日期 * @return 是/否 */ - boolean isFuture(String date); + boolean isFuture(String date); + + /** + * 通过关键字查询患者信息 + * + * @param searchKey 关键字 + * @param pageNo 当前页码 + * @param pageSize 查询条数 + * @return 患者信息 + */ + Page getPatientBySearchKey(String searchKey, Integer pageNo, Integer pageSize); } \ No newline at end of file diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/ServiceRequest.java b/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/ServiceRequest.java index c7029161..c1fd203e 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/ServiceRequest.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/ServiceRequest.java @@ -82,6 +82,9 @@ public class ServiceRequest extends HisBaseEntity { /** 执行人 */ private Long performerId; + /** 核对人 */ + private Long performerCheckId; + /** 执行位置 */ private Long locationId;