diff --git a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/controller/admin/checkupresult/CheckUpResultController.java b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/controller/admin/checkupresult/CheckUpResultController.java new file mode 100644 index 0000000..bd7096c --- /dev/null +++ b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/controller/admin/checkupresult/CheckUpResultController.java @@ -0,0 +1,78 @@ +package cn.iocoder.yudao.module.inspect.controller.admin.checkupresult; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.inspect.controller.admin.inspectpatient.vo.InspectPatientRespVO; +import cn.iocoder.yudao.module.inspect.controller.admin.inspectpatient.vo.InspectPatientSaveReqVO; +import cn.iocoder.yudao.module.inspect.controller.admin.inspectpatientitems.vo.InspectPatientitemsRespVO; +import cn.iocoder.yudao.module.inspect.controller.admin.inspectpatientitems.vo.InspectPatientitemsSaveReqVO; +import cn.iocoder.yudao.module.inspect.dal.dataobject.inspectpatient.InspectPatientDO; +import cn.iocoder.yudao.module.inspect.dal.dataobject.inspectpatientitems.InspectPatientitemsDO; +import cn.iocoder.yudao.module.inspect.service.inspectpatient.InspectPatientService; +import cn.iocoder.yudao.module.inspect.service.inspectpatientitems.InspectPatientitemsService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + +import java.util.List; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 体检结果汇总") +@RestController +@RequestMapping("/checkup/result") +@Validated +public class CheckUpResultController { + + @Resource + private InspectPatientService patientService; + + @Resource + private InspectPatientitemsService patientitemsService; + + + @GetMapping("/getPatient") + @Operation(summary = "获得患者信息") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + public CommonResult getPatient(@RequestParam("medicalSn") String medicalSn) { + InspectPatientDO patient = patientService.getPatientOfMedicalSn(medicalSn); + InspectPatientRespVO bean = BeanUtils.toBean(patient, InspectPatientRespVO.class); + return success(BeanUtils.toBean(patient, InspectPatientRespVO.class)); + } + + @GetMapping("/getPatientItems") + @Operation(summary = "获得患者体检项目") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + public CommonResult> getPatientItems(@RequestParam("medicalSn") String medicalSn) { + List list = patientitemsService.getPatientItemsOfMedicalSn(medicalSn); + return success(BeanUtils.toBean(list, InspectPatientitemsRespVO.class)); + } + + @PutMapping("/updatePatient") + @Operation(summary = "更新患者汇总结果分析") + public CommonResult updatePatient(@Valid @RequestBody InspectPatientSaveReqVO updateReqVO) { + patientService.updateSummaryResult(updateReqVO); + return success(true); + } + + @PutMapping("/updateAudit") + @Operation(summary = "审核") + public CommonResult passAudit(@RequestParam("medicalSn") String medicalSn,@RequestParam("auditStatus") Integer auditStatus, @RequestParam("inspectionOpinion") String inspectionOpinion) { + patientService.updateAudit(medicalSn, auditStatus, inspectionOpinion); + return success(true); + } + + @PostMapping("/updateItemsAnalyse") + @Operation(summary = "更新检查项目汇总结果分析") + public CommonResult createPatientItems(@Valid @RequestBody List createReqVO) { + patientitemsService.updateItemsAnalyse(createReqVO); + return success(true); + } + + +} diff --git a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatient/InspectPatientService.java b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatient/InspectPatientService.java index 9c863e1..84ddc3f 100644 --- a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatient/InspectPatientService.java +++ b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatient/InspectPatientService.java @@ -53,4 +53,14 @@ public interface InspectPatientService { */ PageResult getPatientPage(InspectPatientPageReqVO pageReqVO); + //根据条码获取患者信息 + InspectPatientDO getPatientOfMedicalSn(String medicalSn); + + //更新患者汇总分析结果 + void updateSummaryResult(@Valid InspectPatientSaveReqVO updateReqVO); + + //通过审核 + void updateAudit(String medicalSn, Integer auditStatus, String inspectionOpinion); + + } \ No newline at end of file diff --git a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatient/InspectPatientServiceImpl.java b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatient/InspectPatientServiceImpl.java index 4e35fa8..a212075 100644 --- a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatient/InspectPatientServiceImpl.java +++ b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatient/InspectPatientServiceImpl.java @@ -1,5 +1,7 @@ package cn.iocoder.yudao.module.inspect.service.inspectpatient; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import org.springframework.transaction.annotation.Transactional; @@ -69,4 +71,31 @@ public class InspectPatientServiceImpl implements InspectPatientService { return patientMapper.selectPage(pageReqVO); } + @Override + public InspectPatientDO getPatientOfMedicalSn(String medicalSn) { + LambdaQueryWrapper lambdaQuery = new LambdaQueryWrapper<>(); + lambdaQuery.eq(InspectPatientDO::getMedicalSn, medicalSn); + return patientMapper.selectOne(lambdaQuery); + } + + @Override + public void updateSummaryResult(InspectPatientSaveReqVO updateReqVO) { + LambdaUpdateWrapper lambdaUpdateWrapper = new LambdaUpdateWrapper<>(); + lambdaUpdateWrapper.eq(InspectPatientDO::getMedicalSn, updateReqVO.getMedicalSn()); + lambdaUpdateWrapper.set(InspectPatientDO::getSummaryResult, updateReqVO.getSummaryResult()); + int updatedRows = patientMapper.update(null, lambdaUpdateWrapper); + + } + + @Override + public void updateAudit(String medicalSn,Integer auditStatus, String inspectionOpinion) { + LambdaUpdateWrapper lambdaUpdateWrapper = new LambdaUpdateWrapper<>(); + lambdaUpdateWrapper.eq(InspectPatientDO::getMedicalSn, medicalSn); + lambdaUpdateWrapper.set(InspectPatientDO::getAuditStatus, auditStatus); + lambdaUpdateWrapper.set(InspectPatientDO::getInspectionOpinion, inspectionOpinion); + int updatedRows = patientMapper.update(null, lambdaUpdateWrapper); + } + + + } \ No newline at end of file diff --git a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatientitems/InspectPatientitemsService.java b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatientitems/InspectPatientitemsService.java index 23caaac..67c34b2 100644 --- a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatientitems/InspectPatientitemsService.java +++ b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatientitems/InspectPatientitemsService.java @@ -53,4 +53,10 @@ public interface InspectPatientitemsService { */ PageResult getPatientitemsPage(InspectPatientitemsPageReqVO pageReqVO); + //根据条码获取患者检查项 + List getPatientItemsOfMedicalSn(String medicalSn); + + //更新患者分析结果 + void updateItemsAnalyse(@Valid List updateReqVO ); + } \ No newline at end of file diff --git a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatientitems/InspectPatientitemsServiceImpl.java b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatientitems/InspectPatientitemsServiceImpl.java index 7b06738..7b10e7f 100644 --- a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatientitems/InspectPatientitemsServiceImpl.java +++ b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatientitems/InspectPatientitemsServiceImpl.java @@ -1,5 +1,10 @@ package cn.iocoder.yudao.module.inspect.service.inspectpatientitems; +import cn.iocoder.yudao.module.inspect.dal.dataobject.inspectpatient.InspectPatientDO; +import cn.iocoder.yudao.module.inspect.dal.mysql.inspectpatient.InspectPatientMapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import org.springframework.transaction.annotation.Transactional; @@ -29,6 +34,9 @@ public class InspectPatientitemsServiceImpl implements InspectPatientitemsServic @Resource private InspectPatientitemsMapper patientitemsMapper; + @Resource + private InspectPatientMapper patientMapper; + @Override public Integer createPatientitems(InspectPatientitemsSaveReqVO createReqVO) { // 插入 @@ -71,4 +79,39 @@ public class InspectPatientitemsServiceImpl implements InspectPatientitemsServic return patientitemsMapper.selectPage(pageReqVO); } + @Override + public List getPatientItemsOfMedicalSn(String medicalSn) { + LambdaQueryWrapper lambdaQuery = new LambdaQueryWrapper<>(); + lambdaQuery.eq(InspectPatientitemsDO::getMedicalSn, medicalSn); + lambdaQuery.eq(InspectPatientitemsDO::getPositive, 1); + return patientitemsMapper.selectList(lambdaQuery); + } + + @Override + public void updateItemsAnalyse(List updateReqVO) { + StringBuilder str = new StringBuilder(); + //1.更新项目分析结果 循环得出汇总 + for (InspectPatientitemsSaveReqVO reqVO : updateReqVO) { + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", reqVO.getId()); // 根据ID设置更新条件 + // 可以添加更多的条件 + // updateWrapper.eq("other_field", user.getOtherField()); + + // 设置要更新的字段 + updateWrapper.set("analyse", reqVO.getAnalyse()); + // 可以设置更多的字段 + // updateWrapper.set("another_field", user.getAnotherField()); + + // 执行更新操作 + patientitemsMapper.update(updateWrapper); + + str.append(reqVO.getItemResult()).append(":").append(reqVO.getAnalyse()).append(";"); + } + //2.更新汇总分析 + LambdaUpdateWrapper lambdaUpdateWrapper = new LambdaUpdateWrapper<>(); + lambdaUpdateWrapper.eq(InspectPatientDO::getMedicalSn, updateReqVO.get(0).getMedicalSn()); + lambdaUpdateWrapper.set(InspectPatientDO::getSummaryResult, str.toString()); + int updatedRows = patientMapper.update(null, lambdaUpdateWrapper); + } + } \ No newline at end of file