From f881c06e6a22d7122228f2263f2e8ee1d2fd56a7 Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Thu, 10 Jul 2025 16:31:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BA=86=E5=AE=A1=E6=A0=B8?= =?UTF-8?q?=E5=92=8C=E7=BB=93=E7=AE=97=E6=97=B6=E7=AD=BE=E5=90=8D=E7=8A=B6?= =?UTF-8?q?=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CaseplatformCaseController.java | 7 ++- .../service/CaseplatformCaseService.java | 47 ++++++++++++++++++- 2 files changed, 48 insertions(+), 6 deletions(-) diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/caseplatformcase/controller/CaseplatformCaseController.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/caseplatformcase/controller/CaseplatformCaseController.java index 441a1c3..08e4b73 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/caseplatformcase/controller/CaseplatformCaseController.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/caseplatformcase/controller/CaseplatformCaseController.java @@ -64,16 +64,15 @@ public class CaseplatformCaseController { @GetMapping("/caseplatformCase/examine/{caseId}/{status}") @PreAuthorize("@saAuth.checkPermission('case-system:case:examine')") public ResponseDTO examine(@PathVariable("caseId") Long caseId, @PathVariable("status") int status) { - caseplatformCaseService.examine(caseId, status); - return ResponseDTO.ok(); + return caseplatformCaseService.examine(caseId, status); } @ApiOperation("结算 @author HMM") @GetMapping("/caseplatformCase/settlement/{caseId}") @PreAuthorize("@saAuth.checkPermission('case-system:case:settlement')") public ResponseDTO settlement(@PathVariable("caseId") Long caseId) { - caseplatformCaseService.settlement(caseId); - return ResponseDTO.ok(); + return caseplatformCaseService.settlement(caseId); + } @ApiOperation("审核拒绝 @author HMM") diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/caseplatformcase/service/CaseplatformCaseService.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/caseplatformcase/service/CaseplatformCaseService.java index 981b2ed..5359912 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/caseplatformcase/service/CaseplatformCaseService.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/caseplatformcase/service/CaseplatformCaseService.java @@ -11,6 +11,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import net.lab1024.sa.admin.module.app.expert.admin.ExpertWhiteEntity; import net.lab1024.sa.admin.module.app.expert.dao.CasePlatformBankDao; import net.lab1024.sa.admin.module.app.expert.dao.ExpertWhiteEntityDao; +import net.lab1024.sa.admin.module.app.expert.dao.FxqSignDao; import net.lab1024.sa.admin.module.app.expert.domain.entity.CasePlatformBankEntity; import net.lab1024.sa.admin.module.app.expert.domain.entity.FxqSignEntity; import net.lab1024.sa.admin.module.app.medicalrecord.dao.MedicalRecorCheckDataDao; @@ -54,6 +55,7 @@ import org.springframework.web.multipart.MultipartFile; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import javax.annotation.Resource; import java.io.IOException; import java.io.InputStream; import java.time.LocalDateTime; @@ -102,6 +104,9 @@ public class CaseplatformCaseService { @Autowired private CaseplatformAcAppDao caseplatformAcAppDao; + @Resource + private FxqSignDao fxqSignDao; + // 创建 ObjectMapper 实例(建议使用 Spring 注入或静态常量) private static final ObjectMapper objectMapper = new ObjectMapper(); @@ -385,18 +390,56 @@ public class CaseplatformCaseService { * @param case_id * @return */ - public void examine(Long case_id, int status){ + public ResponseDTO examine(Long case_id, int status){ + // 获取病例数据 + CaseplatformCaseEntity caseplatformCase = caseplatformCaseDao.selectById(case_id); + if (caseplatformCase == null) { + return ResponseDTO.userErrorParam("病例不存在"); + } + + // 获取用户签署协议状态 + LambdaQueryWrapper signQueryWrapper = new LambdaQueryWrapper<>(); + signQueryWrapper.eq(FxqSignEntity::getExpertId,caseplatformCase.getExpertId()); + FxqSignEntity fxqSign = fxqSignDao.selectOne(signQueryWrapper); + if (fxqSign == null) { + return ResponseDTO.userErrorParam("该用户未签署协议"); + } + + if (fxqSign.getSignStatus() != 1){ + return ResponseDTO.userErrorParam("该用户未签署协议"); + } + caseplatformCaseDao.examine(case_id, status); + + return ResponseDTO.ok(); } /** * 结算 * @param case_id */ - public void settlement(Long case_id){ + public ResponseDTO settlement(Long case_id){ // 获取病例数据 + CaseplatformCaseEntity caseplatformCase = caseplatformCaseDao.selectById(case_id); + if (caseplatformCase == null) { + return ResponseDTO.userErrorParam("病例不存在"); + } + + // 获取用户签署协议状态 + LambdaQueryWrapper signQueryWrapper = new LambdaQueryWrapper<>(); + signQueryWrapper.eq(FxqSignEntity::getExpertId,caseplatformCase.getExpertId()); + FxqSignEntity fxqSign = fxqSignDao.selectOne(signQueryWrapper); + if (fxqSign == null) { + return ResponseDTO.userErrorParam("该用户未签署协议"); + } + + if (fxqSign.getSignStatus() != 1){ + return ResponseDTO.userErrorParam("该用户未签署协议"); + } caseplatformCaseDao.settlement(case_id); + + return ResponseDTO.ok(); } /**