From 5ec94983055549be489e7013a0fff1a88be2dbef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Wed, 22 Oct 2025 16:31:23 +0800 Subject: [PATCH] =?UTF-8?q?feat(clinic):=20=E6=96=B0=E5=A2=9E=E8=8D=AF?= =?UTF-8?q?=E5=93=81=E5=BA=93=E5=8F=8A=E5=87=BA=E5=85=A5=E5=BA=93=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加药品库实体类、控制器、服务层和数据访问层 - 添加出入库实体类、控制器、服务层和数据访问层 - 实现药品库与出入库的分页查询、列表查询、详情查询功能 - 支持药品库与出入库的增删改及批量操作 - 提供药品库存实体类定义,为后续库存管理做准备 - 移除部分接口不必要的权限注解,简化访问控制逻辑 - 清理冗余代码注释,优化代码可读性 --- .../ClinicAppointmentController.java | 6 - .../ClinicDoctorUserController.java | 7 - .../controller/ClinicMedicineController.java | 127 +++++++++++++++++ .../ClinicMedicineInoutController.java | 127 +++++++++++++++++ .../ClinicMedicineStockController.java | 127 +++++++++++++++++ .../ClinicPatientUserController.java | 9 +- .../ClinicPrescriptionController.java | 128 ++++++++++++++++++ .../ClinicPrescriptionItemController.java | 128 ++++++++++++++++++ .../clinic/entity/ClinicMedicine.java | 71 ++++++++++ .../clinic/entity/ClinicMedicineInout.java | 99 ++++++++++++++ .../clinic/entity/ClinicMedicineStock.java | 59 ++++++++ .../clinic/entity/ClinicPatientUser.java | 2 +- .../clinic/entity/ClinicPrescription.java | 91 +++++++++++++ .../clinic/entity/ClinicPrescriptionItem.java | 78 +++++++++++ .../mapper/ClinicMedicineInoutMapper.java | 37 +++++ .../clinic/mapper/ClinicMedicineMapper.java | 37 +++++ .../mapper/ClinicMedicineStockMapper.java | 37 +++++ .../mapper/ClinicPrescriptionItemMapper.java | 38 ++++++ .../mapper/ClinicPrescriptionMapper.java | 38 ++++++ .../mapper/xml/ClinicMedicineInoutMapper.xml | 93 +++++++++++++ .../mapper/xml/ClinicMedicineMapper.xml | 66 +++++++++ .../mapper/xml/ClinicMedicineStockMapper.xml | 54 ++++++++ .../mapper/xml/ClinicPatientUserMapper.xml | 4 +- .../xml/ClinicPrescriptionItemMapper.xml | 72 ++++++++++ .../mapper/xml/ClinicPrescriptionMapper.xml | 84 ++++++++++++ .../param/ClinicMedicineInoutParam.java | 102 ++++++++++++++ .../clinic/param/ClinicMedicineParam.java | 63 +++++++++ .../param/ClinicMedicineStockParam.java | 50 +++++++ .../clinic/param/ClinicPatientUserParam.java | 2 +- .../param/ClinicPrescriptionItemParam.java | 75 ++++++++++ .../clinic/param/ClinicPrescriptionParam.java | 89 ++++++++++++ .../service/ClinicMedicineInoutService.java | 42 ++++++ .../clinic/service/ClinicMedicineService.java | 42 ++++++ .../service/ClinicMedicineStockService.java | 42 ++++++ .../ClinicPrescriptionItemService.java | 43 ++++++ .../service/ClinicPrescriptionService.java | 43 ++++++ .../impl/ClinicMedicineInoutServiceImpl.java | 47 +++++++ .../impl/ClinicMedicineServiceImpl.java | 47 +++++++ .../impl/ClinicMedicineStockServiceImpl.java | 47 +++++++ .../ClinicPrescriptionItemServiceImpl.java | 48 +++++++ .../impl/ClinicPrescriptionServiceImpl.java | 48 +++++++ .../shop/controller/ShopUserController.java | 1 - 42 files changed, 2428 insertions(+), 22 deletions(-) create mode 100644 src/main/java/com/gxwebsoft/clinic/controller/ClinicMedicineController.java create mode 100644 src/main/java/com/gxwebsoft/clinic/controller/ClinicMedicineInoutController.java create mode 100644 src/main/java/com/gxwebsoft/clinic/controller/ClinicMedicineStockController.java create mode 100644 src/main/java/com/gxwebsoft/clinic/controller/ClinicPrescriptionController.java create mode 100644 src/main/java/com/gxwebsoft/clinic/controller/ClinicPrescriptionItemController.java create mode 100644 src/main/java/com/gxwebsoft/clinic/entity/ClinicMedicine.java create mode 100644 src/main/java/com/gxwebsoft/clinic/entity/ClinicMedicineInout.java create mode 100644 src/main/java/com/gxwebsoft/clinic/entity/ClinicMedicineStock.java create mode 100644 src/main/java/com/gxwebsoft/clinic/entity/ClinicPrescription.java create mode 100644 src/main/java/com/gxwebsoft/clinic/entity/ClinicPrescriptionItem.java create mode 100644 src/main/java/com/gxwebsoft/clinic/mapper/ClinicMedicineInoutMapper.java create mode 100644 src/main/java/com/gxwebsoft/clinic/mapper/ClinicMedicineMapper.java create mode 100644 src/main/java/com/gxwebsoft/clinic/mapper/ClinicMedicineStockMapper.java create mode 100644 src/main/java/com/gxwebsoft/clinic/mapper/ClinicPrescriptionItemMapper.java create mode 100644 src/main/java/com/gxwebsoft/clinic/mapper/ClinicPrescriptionMapper.java create mode 100644 src/main/java/com/gxwebsoft/clinic/mapper/xml/ClinicMedicineInoutMapper.xml create mode 100644 src/main/java/com/gxwebsoft/clinic/mapper/xml/ClinicMedicineMapper.xml create mode 100644 src/main/java/com/gxwebsoft/clinic/mapper/xml/ClinicMedicineStockMapper.xml create mode 100644 src/main/java/com/gxwebsoft/clinic/mapper/xml/ClinicPrescriptionItemMapper.xml create mode 100644 src/main/java/com/gxwebsoft/clinic/mapper/xml/ClinicPrescriptionMapper.xml create mode 100644 src/main/java/com/gxwebsoft/clinic/param/ClinicMedicineInoutParam.java create mode 100644 src/main/java/com/gxwebsoft/clinic/param/ClinicMedicineParam.java create mode 100644 src/main/java/com/gxwebsoft/clinic/param/ClinicMedicineStockParam.java create mode 100644 src/main/java/com/gxwebsoft/clinic/param/ClinicPrescriptionItemParam.java create mode 100644 src/main/java/com/gxwebsoft/clinic/param/ClinicPrescriptionParam.java create mode 100644 src/main/java/com/gxwebsoft/clinic/service/ClinicMedicineInoutService.java create mode 100644 src/main/java/com/gxwebsoft/clinic/service/ClinicMedicineService.java create mode 100644 src/main/java/com/gxwebsoft/clinic/service/ClinicMedicineStockService.java create mode 100644 src/main/java/com/gxwebsoft/clinic/service/ClinicPrescriptionItemService.java create mode 100644 src/main/java/com/gxwebsoft/clinic/service/ClinicPrescriptionService.java create mode 100644 src/main/java/com/gxwebsoft/clinic/service/impl/ClinicMedicineInoutServiceImpl.java create mode 100644 src/main/java/com/gxwebsoft/clinic/service/impl/ClinicMedicineServiceImpl.java create mode 100644 src/main/java/com/gxwebsoft/clinic/service/impl/ClinicMedicineStockServiceImpl.java create mode 100644 src/main/java/com/gxwebsoft/clinic/service/impl/ClinicPrescriptionItemServiceImpl.java create mode 100644 src/main/java/com/gxwebsoft/clinic/service/impl/ClinicPrescriptionServiceImpl.java diff --git a/src/main/java/com/gxwebsoft/clinic/controller/ClinicAppointmentController.java b/src/main/java/com/gxwebsoft/clinic/controller/ClinicAppointmentController.java index 1d41b6e..cf186e3 100644 --- a/src/main/java/com/gxwebsoft/clinic/controller/ClinicAppointmentController.java +++ b/src/main/java/com/gxwebsoft/clinic/controller/ClinicAppointmentController.java @@ -30,7 +30,6 @@ public class ClinicAppointmentController extends BaseController { @Resource private ClinicAppointmentService clinicAppointmentService; - @PreAuthorize("hasAuthority('clinic:clinicAppointment:list')") @Operation(summary = "分页查询挂号") @GetMapping("/page") public ApiResult> page(ClinicAppointmentParam param) { @@ -59,11 +58,6 @@ public class ClinicAppointmentController extends BaseController { @Operation(summary = "添加挂号") @PostMapping() public ApiResult save(@RequestBody ClinicAppointment clinicAppointment) { - // 记录当前登录用户id - // User loginUser = getLoginUser(); - // if (loginUser != null) { - // clinicAppointment.setUserId(loginUser.getUserId()); - // } if (clinicAppointmentService.save(clinicAppointment)) { return success("添加成功"); } diff --git a/src/main/java/com/gxwebsoft/clinic/controller/ClinicDoctorUserController.java b/src/main/java/com/gxwebsoft/clinic/controller/ClinicDoctorUserController.java index 7f5b797..117a6d1 100644 --- a/src/main/java/com/gxwebsoft/clinic/controller/ClinicDoctorUserController.java +++ b/src/main/java/com/gxwebsoft/clinic/controller/ClinicDoctorUserController.java @@ -30,7 +30,6 @@ public class ClinicDoctorUserController extends BaseController { @Resource private ClinicDoctorUserService clinicDoctorUserService; - @PreAuthorize("hasAuthority('clinic:clinicDoctorUser:list')") @Operation(summary = "分页查询分销商用户记录表") @GetMapping("/page") public ApiResult> page(ClinicDoctorUserParam param) { @@ -46,7 +45,6 @@ public class ClinicDoctorUserController extends BaseController { return success(clinicDoctorUserService.listRel(param)); } - @PreAuthorize("hasAuthority('clinic:clinicDoctorUser:list')") @Operation(summary = "根据id查询分销商用户记录表") @GetMapping("/{id}") public ApiResult get(@PathVariable("id") Integer id) { @@ -59,11 +57,6 @@ public class ClinicDoctorUserController extends BaseController { @Operation(summary = "添加分销商用户记录表") @PostMapping() public ApiResult save(@RequestBody ClinicDoctorUser clinicDoctorUser) { - // 记录当前登录用户id - // User loginUser = getLoginUser(); - // if (loginUser != null) { - // clinicDoctorUser.setUserId(loginUser.getUserId()); - // } if (clinicDoctorUserService.save(clinicDoctorUser)) { return success("添加成功"); } diff --git a/src/main/java/com/gxwebsoft/clinic/controller/ClinicMedicineController.java b/src/main/java/com/gxwebsoft/clinic/controller/ClinicMedicineController.java new file mode 100644 index 0000000..28e27c6 --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/controller/ClinicMedicineController.java @@ -0,0 +1,127 @@ +package com.gxwebsoft.clinic.controller; + +import com.gxwebsoft.clinic.entity.ClinicMedicine; +import com.gxwebsoft.clinic.param.ClinicMedicineParam; +import com.gxwebsoft.clinic.service.ClinicMedicineService; +import com.gxwebsoft.common.core.annotation.OperationLog; +import com.gxwebsoft.common.core.web.ApiResult; +import com.gxwebsoft.common.core.web.BaseController; +import com.gxwebsoft.common.core.web.BatchParam; +import com.gxwebsoft.common.core.web.PageResult; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 药品库控制器 + * + * @author 科技小王子 + * @since 2025-10-22 02:06:32 + */ +@Tag(name = "药品库管理") +@RestController +@RequestMapping("/api/clinic/clinic-medicine") +public class ClinicMedicineController extends BaseController { + @Resource + private ClinicMedicineService clinicMedicineService; + + @PreAuthorize("hasAuthority('clinic:clinicMedicine:list')") + @Operation(summary = "分页查询药品库") + @GetMapping("/page") + public ApiResult> page(ClinicMedicineParam param) { + // 使用关联查询 + return success(clinicMedicineService.pageRel(param)); + } + + @PreAuthorize("hasAuthority('clinic:clinicMedicine:list')") + @Operation(summary = "查询全部药品库") + @GetMapping() + public ApiResult> list(ClinicMedicineParam param) { + // 使用关联查询 + return success(clinicMedicineService.listRel(param)); + } + + @PreAuthorize("hasAuthority('clinic:clinicMedicine:list')") + @Operation(summary = "根据id查询药品库") + @GetMapping("/{id}") + public ApiResult get(@PathVariable("id") Integer id) { + // 使用关联查询 + return success(clinicMedicineService.getByIdRel(id)); + } + + @PreAuthorize("hasAuthority('clinic:clinicMedicine:save')") + @OperationLog + @Operation(summary = "添加药品库") + @PostMapping() + public ApiResult save(@RequestBody ClinicMedicine clinicMedicine) { + // 记录当前登录用户id + // User loginUser = getLoginUser(); + // if (loginUser != null) { + // clinicMedicine.setUserId(loginUser.getUserId()); + // } + if (clinicMedicineService.save(clinicMedicine)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @PreAuthorize("hasAuthority('clinic:clinicMedicine:update')") + @OperationLog + @Operation(summary = "修改药品库") + @PutMapping() + public ApiResult update(@RequestBody ClinicMedicine clinicMedicine) { + if (clinicMedicineService.updateById(clinicMedicine)) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @PreAuthorize("hasAuthority('clinic:clinicMedicine:remove')") + @OperationLog + @Operation(summary = "删除药品库") + @DeleteMapping("/{id}") + public ApiResult remove(@PathVariable("id") Integer id) { + if (clinicMedicineService.removeById(id)) { + return success("删除成功"); + } + return fail("删除失败"); + } + + @PreAuthorize("hasAuthority('clinic:clinicMedicine:save')") + @OperationLog + @Operation(summary = "批量添加药品库") + @PostMapping("/batch") + public ApiResult saveBatch(@RequestBody List list) { + if (clinicMedicineService.saveBatch(list)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @PreAuthorize("hasAuthority('clinic:clinicMedicine:update')") + @OperationLog + @Operation(summary = "批量修改药品库") + @PutMapping("/batch") + public ApiResult removeBatch(@RequestBody BatchParam batchParam) { + if (batchParam.update(clinicMedicineService, "id")) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @PreAuthorize("hasAuthority('clinic:clinicMedicine:remove')") + @OperationLog + @Operation(summary = "批量删除药品库") + @DeleteMapping("/batch") + public ApiResult removeBatch(@RequestBody List ids) { + if (clinicMedicineService.removeByIds(ids)) { + return success("删除成功"); + } + return fail("删除失败"); + } + +} diff --git a/src/main/java/com/gxwebsoft/clinic/controller/ClinicMedicineInoutController.java b/src/main/java/com/gxwebsoft/clinic/controller/ClinicMedicineInoutController.java new file mode 100644 index 0000000..e1b89a8 --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/controller/ClinicMedicineInoutController.java @@ -0,0 +1,127 @@ +package com.gxwebsoft.clinic.controller; + +import com.gxwebsoft.clinic.entity.ClinicMedicineInout; +import com.gxwebsoft.clinic.param.ClinicMedicineInoutParam; +import com.gxwebsoft.clinic.service.ClinicMedicineInoutService; +import com.gxwebsoft.common.core.annotation.OperationLog; +import com.gxwebsoft.common.core.web.ApiResult; +import com.gxwebsoft.common.core.web.BaseController; +import com.gxwebsoft.common.core.web.BatchParam; +import com.gxwebsoft.common.core.web.PageResult; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 出入库控制器 + * + * @author 科技小王子 + * @since 2025-10-22 02:06:32 + */ +@Tag(name = "出入库管理") +@RestController +@RequestMapping("/api/clinic/clinic-medicine-inout") +public class ClinicMedicineInoutController extends BaseController { + @Resource + private ClinicMedicineInoutService clinicMedicineInoutService; + + @PreAuthorize("hasAuthority('clinic:clinicMedicineInout:list')") + @Operation(summary = "分页查询出入库") + @GetMapping("/page") + public ApiResult> page(ClinicMedicineInoutParam param) { + // 使用关联查询 + return success(clinicMedicineInoutService.pageRel(param)); + } + + @PreAuthorize("hasAuthority('clinic:clinicMedicineInout:list')") + @Operation(summary = "查询全部出入库") + @GetMapping() + public ApiResult> list(ClinicMedicineInoutParam param) { + // 使用关联查询 + return success(clinicMedicineInoutService.listRel(param)); + } + + @PreAuthorize("hasAuthority('clinic:clinicMedicineInout:list')") + @Operation(summary = "根据id查询出入库") + @GetMapping("/{id}") + public ApiResult get(@PathVariable("id") Integer id) { + // 使用关联查询 + return success(clinicMedicineInoutService.getByIdRel(id)); + } + + @PreAuthorize("hasAuthority('clinic:clinicMedicineInout:save')") + @OperationLog + @Operation(summary = "添加出入库") + @PostMapping() + public ApiResult save(@RequestBody ClinicMedicineInout clinicMedicineInout) { + // 记录当前登录用户id + // User loginUser = getLoginUser(); + // if (loginUser != null) { + // clinicMedicineInout.setUserId(loginUser.getUserId()); + // } + if (clinicMedicineInoutService.save(clinicMedicineInout)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @PreAuthorize("hasAuthority('clinic:clinicMedicineInout:update')") + @OperationLog + @Operation(summary = "修改出入库") + @PutMapping() + public ApiResult update(@RequestBody ClinicMedicineInout clinicMedicineInout) { + if (clinicMedicineInoutService.updateById(clinicMedicineInout)) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @PreAuthorize("hasAuthority('clinic:clinicMedicineInout:remove')") + @OperationLog + @Operation(summary = "删除出入库") + @DeleteMapping("/{id}") + public ApiResult remove(@PathVariable("id") Integer id) { + if (clinicMedicineInoutService.removeById(id)) { + return success("删除成功"); + } + return fail("删除失败"); + } + + @PreAuthorize("hasAuthority('clinic:clinicMedicineInout:save')") + @OperationLog + @Operation(summary = "批量添加出入库") + @PostMapping("/batch") + public ApiResult saveBatch(@RequestBody List list) { + if (clinicMedicineInoutService.saveBatch(list)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @PreAuthorize("hasAuthority('clinic:clinicMedicineInout:update')") + @OperationLog + @Operation(summary = "批量修改出入库") + @PutMapping("/batch") + public ApiResult removeBatch(@RequestBody BatchParam batchParam) { + if (batchParam.update(clinicMedicineInoutService, "id")) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @PreAuthorize("hasAuthority('clinic:clinicMedicineInout:remove')") + @OperationLog + @Operation(summary = "批量删除出入库") + @DeleteMapping("/batch") + public ApiResult removeBatch(@RequestBody List ids) { + if (clinicMedicineInoutService.removeByIds(ids)) { + return success("删除成功"); + } + return fail("删除失败"); + } + +} diff --git a/src/main/java/com/gxwebsoft/clinic/controller/ClinicMedicineStockController.java b/src/main/java/com/gxwebsoft/clinic/controller/ClinicMedicineStockController.java new file mode 100644 index 0000000..867b425 --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/controller/ClinicMedicineStockController.java @@ -0,0 +1,127 @@ +package com.gxwebsoft.clinic.controller; + +import com.gxwebsoft.clinic.entity.ClinicMedicineStock; +import com.gxwebsoft.clinic.param.ClinicMedicineStockParam; +import com.gxwebsoft.clinic.service.ClinicMedicineStockService; +import com.gxwebsoft.common.core.annotation.OperationLog; +import com.gxwebsoft.common.core.web.ApiResult; +import com.gxwebsoft.common.core.web.BaseController; +import com.gxwebsoft.common.core.web.BatchParam; +import com.gxwebsoft.common.core.web.PageResult; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 药品库存控制器 + * + * @author 科技小王子 + * @since 2025-10-22 02:06:32 + */ +@Tag(name = "药品库存管理") +@RestController +@RequestMapping("/api/clinic/clinic-medicine-stock") +public class ClinicMedicineStockController extends BaseController { + @Resource + private ClinicMedicineStockService clinicMedicineStockService; + + @PreAuthorize("hasAuthority('clinic:clinicMedicineStock:list')") + @Operation(summary = "分页查询药品库存") + @GetMapping("/page") + public ApiResult> page(ClinicMedicineStockParam param) { + // 使用关联查询 + return success(clinicMedicineStockService.pageRel(param)); + } + + @PreAuthorize("hasAuthority('clinic:clinicMedicineStock:list')") + @Operation(summary = "查询全部药品库存") + @GetMapping() + public ApiResult> list(ClinicMedicineStockParam param) { + // 使用关联查询 + return success(clinicMedicineStockService.listRel(param)); + } + + @PreAuthorize("hasAuthority('clinic:clinicMedicineStock:list')") + @Operation(summary = "根据id查询药品库存") + @GetMapping("/{id}") + public ApiResult get(@PathVariable("id") Integer id) { + // 使用关联查询 + return success(clinicMedicineStockService.getByIdRel(id)); + } + + @PreAuthorize("hasAuthority('clinic:clinicMedicineStock:save')") + @OperationLog + @Operation(summary = "添加药品库存") + @PostMapping() + public ApiResult save(@RequestBody ClinicMedicineStock clinicMedicineStock) { + // 记录当前登录用户id + // User loginUser = getLoginUser(); + // if (loginUser != null) { + // clinicMedicineStock.setUserId(loginUser.getUserId()); + // } + if (clinicMedicineStockService.save(clinicMedicineStock)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @PreAuthorize("hasAuthority('clinic:clinicMedicineStock:update')") + @OperationLog + @Operation(summary = "修改药品库存") + @PutMapping() + public ApiResult update(@RequestBody ClinicMedicineStock clinicMedicineStock) { + if (clinicMedicineStockService.updateById(clinicMedicineStock)) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @PreAuthorize("hasAuthority('clinic:clinicMedicineStock:remove')") + @OperationLog + @Operation(summary = "删除药品库存") + @DeleteMapping("/{id}") + public ApiResult remove(@PathVariable("id") Integer id) { + if (clinicMedicineStockService.removeById(id)) { + return success("删除成功"); + } + return fail("删除失败"); + } + + @PreAuthorize("hasAuthority('clinic:clinicMedicineStock:save')") + @OperationLog + @Operation(summary = "批量添加药品库存") + @PostMapping("/batch") + public ApiResult saveBatch(@RequestBody List list) { + if (clinicMedicineStockService.saveBatch(list)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @PreAuthorize("hasAuthority('clinic:clinicMedicineStock:update')") + @OperationLog + @Operation(summary = "批量修改药品库存") + @PutMapping("/batch") + public ApiResult removeBatch(@RequestBody BatchParam batchParam) { + if (batchParam.update(clinicMedicineStockService, "id")) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @PreAuthorize("hasAuthority('clinic:clinicMedicineStock:remove')") + @OperationLog + @Operation(summary = "批量删除药品库存") + @DeleteMapping("/batch") + public ApiResult removeBatch(@RequestBody List ids) { + if (clinicMedicineStockService.removeByIds(ids)) { + return success("删除成功"); + } + return fail("删除失败"); + } + +} diff --git a/src/main/java/com/gxwebsoft/clinic/controller/ClinicPatientUserController.java b/src/main/java/com/gxwebsoft/clinic/controller/ClinicPatientUserController.java index 15ba4e9..87aa108 100644 --- a/src/main/java/com/gxwebsoft/clinic/controller/ClinicPatientUserController.java +++ b/src/main/java/com/gxwebsoft/clinic/controller/ClinicPatientUserController.java @@ -9,6 +9,7 @@ import com.gxwebsoft.common.core.web.PageResult; import com.gxwebsoft.common.core.web.PageParam; import com.gxwebsoft.common.core.web.BatchParam; import com.gxwebsoft.common.core.annotation.OperationLog; +import com.gxwebsoft.common.system.entity.User; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.security.access.prepost.PreAuthorize; @@ -60,10 +61,10 @@ public class ClinicPatientUserController extends BaseController { @PostMapping() public ApiResult save(@RequestBody ClinicPatientUser clinicPatientUser) { // 记录当前登录用户id - // User loginUser = getLoginUser(); - // if (loginUser != null) { - // clinicPatientUser.setUserId(loginUser.getUserId()); - // } + User loginUser = getLoginUser(); + if (loginUser != null) { + clinicPatientUser.setUserId(loginUser.getUserId()); + } if (clinicPatientUserService.save(clinicPatientUser)) { return success("添加成功"); } diff --git a/src/main/java/com/gxwebsoft/clinic/controller/ClinicPrescriptionController.java b/src/main/java/com/gxwebsoft/clinic/controller/ClinicPrescriptionController.java new file mode 100644 index 0000000..2088cbf --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/controller/ClinicPrescriptionController.java @@ -0,0 +1,128 @@ +package com.gxwebsoft.clinic.controller; + +import com.gxwebsoft.clinic.entity.ClinicPrescription; +import com.gxwebsoft.clinic.param.ClinicPrescriptionParam; +import com.gxwebsoft.clinic.service.ClinicPrescriptionService; +import com.gxwebsoft.common.core.annotation.OperationLog; +import com.gxwebsoft.common.core.web.ApiResult; +import com.gxwebsoft.common.core.web.BaseController; +import com.gxwebsoft.common.core.web.BatchParam; +import com.gxwebsoft.common.core.web.PageResult; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 处方主表 +控制器 + * + * @author 科技小王子 + * @since 2025-10-22 02:01:13 + */ +@Tag(name = "处方主表管理") +@RestController +@RequestMapping("/api/clinic/clinic-prescription") +public class ClinicPrescriptionController extends BaseController { + @Resource + private ClinicPrescriptionService clinicPrescriptionService; + + @PreAuthorize("hasAuthority('clinic:clinicPrescription:list')") + @Operation(summary = "分页查询处方主表") + @GetMapping("/page") + public ApiResult> page(ClinicPrescriptionParam param) { + // 使用关联查询 + return success(clinicPrescriptionService.pageRel(param)); + } + + @PreAuthorize("hasAuthority('clinic:clinicPrescription:list')") + @Operation(summary = "查询全部处方主表") + @GetMapping() + public ApiResult> list(ClinicPrescriptionParam param) { + // 使用关联查询 + return success(clinicPrescriptionService.listRel(param)); + } + + @PreAuthorize("hasAuthority('clinic:clinicPrescription:list')") + @Operation(summary = "根据id查询处方主表") + @GetMapping("/{id}") + public ApiResult get(@PathVariable("id") Integer id) { + // 使用关联查询 + return success(clinicPrescriptionService.getByIdRel(id)); + } + + @PreAuthorize("hasAuthority('clinic:clinicPrescription:save')") + @OperationLog + @Operation(summary = "添加处方主表") + @PostMapping() + public ApiResult save(@RequestBody ClinicPrescription clinicPrescription) { + // 记录当前登录用户id + // User loginUser = getLoginUser(); + // if (loginUser != null) { + // clinicPrescription.setUserId(loginUser.getUserId()); + // } + if (clinicPrescriptionService.save(clinicPrescription)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @PreAuthorize("hasAuthority('clinic:clinicPrescription:update')") + @OperationLog + @Operation(summary = "修改处方主表") + @PutMapping() + public ApiResult update(@RequestBody ClinicPrescription clinicPrescription) { + if (clinicPrescriptionService.updateById(clinicPrescription)) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @PreAuthorize("hasAuthority('clinic:clinicPrescription:remove')") + @OperationLog + @Operation(summary = "删除处方主表") + @DeleteMapping("/{id}") + public ApiResult remove(@PathVariable("id") Integer id) { + if (clinicPrescriptionService.removeById(id)) { + return success("删除成功"); + } + return fail("删除失败"); + } + + @PreAuthorize("hasAuthority('clinic:clinicPrescription:save')") + @OperationLog + @Operation(summary = "批量添加处方主表") + @PostMapping("/batch") + public ApiResult saveBatch(@RequestBody List list) { + if (clinicPrescriptionService.saveBatch(list)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @PreAuthorize("hasAuthority('clinic:clinicPrescription:update')") + @OperationLog + @Operation(summary = "批量修改处方主表") + @PutMapping("/batch") + public ApiResult removeBatch(@RequestBody BatchParam batchParam) { + if (batchParam.update(clinicPrescriptionService, "id")) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @PreAuthorize("hasAuthority('clinic:clinicPrescription:remove')") + @OperationLog + @Operation(summary = "批量删除处方主表") + @DeleteMapping("/batch") + public ApiResult removeBatch(@RequestBody List ids) { + if (clinicPrescriptionService.removeByIds(ids)) { + return success("删除成功"); + } + return fail("删除失败"); + } + +} diff --git a/src/main/java/com/gxwebsoft/clinic/controller/ClinicPrescriptionItemController.java b/src/main/java/com/gxwebsoft/clinic/controller/ClinicPrescriptionItemController.java new file mode 100644 index 0000000..d8ab619 --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/controller/ClinicPrescriptionItemController.java @@ -0,0 +1,128 @@ +package com.gxwebsoft.clinic.controller; + +import com.gxwebsoft.clinic.entity.ClinicPrescriptionItem; +import com.gxwebsoft.clinic.param.ClinicPrescriptionItemParam; +import com.gxwebsoft.clinic.service.ClinicPrescriptionItemService; +import com.gxwebsoft.common.core.annotation.OperationLog; +import com.gxwebsoft.common.core.web.ApiResult; +import com.gxwebsoft.common.core.web.BaseController; +import com.gxwebsoft.common.core.web.BatchParam; +import com.gxwebsoft.common.core.web.PageResult; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 处方明细表 +控制器 + * + * @author 科技小王子 + * @since 2025-10-22 02:01:13 + */ +@Tag(name = "处方明细表管理") +@RestController +@RequestMapping("/api/clinic/clinic-prescription-item") +public class ClinicPrescriptionItemController extends BaseController { + @Resource + private ClinicPrescriptionItemService clinicPrescriptionItemService; + + @PreAuthorize("hasAuthority('clinic:clinicPrescriptionItem:list')") + @Operation(summary = "分页查询处方明细表") + @GetMapping("/page") + public ApiResult> page(ClinicPrescriptionItemParam param) { + // 使用关联查询 + return success(clinicPrescriptionItemService.pageRel(param)); + } + + @PreAuthorize("hasAuthority('clinic:clinicPrescriptionItem:list')") + @Operation(summary = "查询全部处方明细表") + @GetMapping() + public ApiResult> list(ClinicPrescriptionItemParam param) { + // 使用关联查询 + return success(clinicPrescriptionItemService.listRel(param)); + } + + @PreAuthorize("hasAuthority('clinic:clinicPrescriptionItem:list')") + @Operation(summary = "根据id查询处方明细表") + @GetMapping("/{id}") + public ApiResult get(@PathVariable("id") Integer id) { + // 使用关联查询 + return success(clinicPrescriptionItemService.getByIdRel(id)); + } + + @PreAuthorize("hasAuthority('clinic:clinicPrescriptionItem:save')") + @OperationLog + @Operation(summary = "添加处方明细表") + @PostMapping() + public ApiResult save(@RequestBody ClinicPrescriptionItem clinicPrescriptionItem) { + // 记录当前登录用户id + // User loginUser = getLoginUser(); + // if (loginUser != null) { + // clinicPrescriptionItem.setUserId(loginUser.getUserId()); + // } + if (clinicPrescriptionItemService.save(clinicPrescriptionItem)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @PreAuthorize("hasAuthority('clinic:clinicPrescriptionItem:update')") + @OperationLog + @Operation(summary = "修改处方明细表") + @PutMapping() + public ApiResult update(@RequestBody ClinicPrescriptionItem clinicPrescriptionItem) { + if (clinicPrescriptionItemService.updateById(clinicPrescriptionItem)) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @PreAuthorize("hasAuthority('clinic:clinicPrescriptionItem:remove')") + @OperationLog + @Operation(summary = "删除处方明细表") + @DeleteMapping("/{id}") + public ApiResult remove(@PathVariable("id") Integer id) { + if (clinicPrescriptionItemService.removeById(id)) { + return success("删除成功"); + } + return fail("删除失败"); + } + + @PreAuthorize("hasAuthority('clinic:clinicPrescriptionItem:save')") + @OperationLog + @Operation(summary = "批量添加处方明细表") + @PostMapping("/batch") + public ApiResult saveBatch(@RequestBody List list) { + if (clinicPrescriptionItemService.saveBatch(list)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @PreAuthorize("hasAuthority('clinic:clinicPrescriptionItem:update')") + @OperationLog + @Operation(summary = "批量修改处方明细表") + @PutMapping("/batch") + public ApiResult removeBatch(@RequestBody BatchParam batchParam) { + if (batchParam.update(clinicPrescriptionItemService, "id")) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @PreAuthorize("hasAuthority('clinic:clinicPrescriptionItem:remove')") + @OperationLog + @Operation(summary = "批量删除处方明细表") + @DeleteMapping("/batch") + public ApiResult removeBatch(@RequestBody List ids) { + if (clinicPrescriptionItemService.removeByIds(ids)) { + return success("删除成功"); + } + return fail("删除失败"); + } + +} diff --git a/src/main/java/com/gxwebsoft/clinic/entity/ClinicMedicine.java b/src/main/java/com/gxwebsoft/clinic/entity/ClinicMedicine.java new file mode 100644 index 0000000..43aa6df --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/entity/ClinicMedicine.java @@ -0,0 +1,71 @@ +package com.gxwebsoft.clinic.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 药品库 + * + * @author 科技小王子 + * @since 2025-10-22 02:06:31 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Schema(name = "ClinicMedicine对象", description = "药品库") +public class ClinicMedicine implements Serializable { + private static final long serialVersionUID = 1L; + + @Schema(description = "主键ID") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @Schema(description = "药名") + private String name; + + @Schema(description = "拼音") + private String pinyin; + + @Schema(description = "分类(如“清热解毒”、“补气养血”)") + private String category; + + @Schema(description = "规格(如“饮片”、“颗粒”)") + private String specification; + + @Schema(description = "单位(如“克”、“袋”)") + private String unit; + + @Schema(description = "描述") + private String content; + + @Schema(description = "单价") + private BigDecimal pricePerUnit; + + @Schema(description = "是否活跃") + private Integer isActive; + + @Schema(description = "买家用户ID") + private Integer userId; + + @Schema(description = "备注") + private String comments; + + @Schema(description = "商城ID") + private Integer tenantId; + + @Schema(description = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @Schema(description = "修改时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + +} diff --git a/src/main/java/com/gxwebsoft/clinic/entity/ClinicMedicineInout.java b/src/main/java/com/gxwebsoft/clinic/entity/ClinicMedicineInout.java new file mode 100644 index 0000000..3d3f428 --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/entity/ClinicMedicineInout.java @@ -0,0 +1,99 @@ +package com.gxwebsoft.clinic.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 出入库 + * + * @author 科技小王子 + * @since 2025-10-22 02:06:32 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Schema(name = "ClinicMedicineInout对象", description = "出入库") +public class ClinicMedicineInout implements Serializable { + private static final long serialVersionUID = 1L; + + @Schema(description = "主键ID") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @Schema(description = "买家用户ID") + private Integer userId; + + @Schema(description = "订单编号") + private String orderNo; + + @Schema(description = "分销商用户id(一级)") + private Integer firstUserId; + + @Schema(description = "分销商用户id(二级)") + private Integer secondUserId; + + @Schema(description = "分销商用户id(三级)") + private Integer thirdUserId; + + @Schema(description = "分销佣金(一级)") + private BigDecimal firstMoney; + + @Schema(description = "分销佣金(二级)") + private BigDecimal secondMoney; + + @Schema(description = "分销佣金(三级)") + private BigDecimal thirdMoney; + + @Schema(description = "单价") + private BigDecimal price; + + @Schema(description = "订单总金额") + private BigDecimal orderPrice; + + @Schema(description = "结算金额") + private BigDecimal settledPrice; + + @Schema(description = "换算成度") + private BigDecimal degreePrice; + + @Schema(description = "实发金额") + private BigDecimal payPrice; + + @Schema(description = "税率") + private BigDecimal rate; + + @Schema(description = "结算月份") + private String month; + + @Schema(description = "订单是否失效(0未失效 1已失效)") + private Integer isInvalid; + + @Schema(description = "佣金结算(0未结算 1已结算)") + private Integer isSettled; + + @Schema(description = "结算时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime settleTime; + + @Schema(description = "备注") + private String comments; + + @Schema(description = "商城ID") + private Integer tenantId; + + @Schema(description = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @Schema(description = "修改时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + +} diff --git a/src/main/java/com/gxwebsoft/clinic/entity/ClinicMedicineStock.java b/src/main/java/com/gxwebsoft/clinic/entity/ClinicMedicineStock.java new file mode 100644 index 0000000..aa5973a --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/entity/ClinicMedicineStock.java @@ -0,0 +1,59 @@ +package com.gxwebsoft.clinic.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 药品库存 + * + * @author 科技小王子 + * @since 2025-10-22 02:06:32 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Schema(name = "ClinicMedicineStock对象", description = "药品库存") +public class ClinicMedicineStock implements Serializable { + private static final long serialVersionUID = 1L; + + @Schema(description = "主键ID") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @Schema(description = "药品") + private Integer medicineId; + + @Schema(description = "库存数量") + private Integer stockQuantity; + + @Schema(description = "最小库存预警") + private Integer minStockLevel; + + @Schema(description = "上次更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime lastUpdated; + + @Schema(description = "买家用户ID") + private Integer userId; + + @Schema(description = "备注") + private String comments; + + @Schema(description = "商城ID") + private Integer tenantId; + + @Schema(description = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @Schema(description = "修改时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + +} diff --git a/src/main/java/com/gxwebsoft/clinic/entity/ClinicPatientUser.java b/src/main/java/com/gxwebsoft/clinic/entity/ClinicPatientUser.java index 3d716ad..78420b7 100644 --- a/src/main/java/com/gxwebsoft/clinic/entity/ClinicPatientUser.java +++ b/src/main/java/com/gxwebsoft/clinic/entity/ClinicPatientUser.java @@ -36,7 +36,7 @@ public class ClinicPatientUser implements Serializable { private String realName; @Schema(description = "手机号") - private String mobile; + private String phone; @Schema(description = "支付密码") private String payPassword; diff --git a/src/main/java/com/gxwebsoft/clinic/entity/ClinicPrescription.java b/src/main/java/com/gxwebsoft/clinic/entity/ClinicPrescription.java new file mode 100644 index 0000000..7d0dc59 --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/entity/ClinicPrescription.java @@ -0,0 +1,91 @@ +package com.gxwebsoft.clinic.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 处方主表 + + * + * @author 科技小王子 + * @since 2025-10-22 02:01:13 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Schema(name = "ClinicPrescription对象", description = "处方主表") +public class ClinicPrescription implements Serializable { + private static final long serialVersionUID = 1L; + + @Schema(description = "主键ID") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @Schema(description = "患者") + private Integer userId; + + @Schema(description = "医生") + private Integer doctorId; + + @Schema(description = "订单编号") + private String orderNo; + + @Schema(description = "关联就诊表") + private Integer visitRecordId; + + @Schema(description = "处方类型 0中药 1西药") + private Integer prescriptionType; + + @Schema(description = "诊断结果") + private String diagnosis; + + @Schema(description = "治疗方案") + private String treatmentPlan; + + @Schema(description = "煎药说明") + private String decoctionInstructions; + + @Schema(description = "订单总金额") + private BigDecimal orderPrice; + + @Schema(description = "单价") + private BigDecimal price; + + @Schema(description = "实付金额") + private BigDecimal payPrice; + + @Schema(description = "订单是否失效(0未失效 1已失效)") + private Integer isInvalid; + + @Schema(description = "结算(0未结算 1已结算)") + private Integer isSettled; + + @Schema(description = "结算时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime settleTime; + + @Schema(description = "状态, 0正常, 1已完成,2已支付,3已取消") + private Integer status; + + @Schema(description = "备注") + private String comments; + + @Schema(description = "商城ID") + private Integer tenantId; + + @Schema(description = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @Schema(description = "修改时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + +} diff --git a/src/main/java/com/gxwebsoft/clinic/entity/ClinicPrescriptionItem.java b/src/main/java/com/gxwebsoft/clinic/entity/ClinicPrescriptionItem.java new file mode 100644 index 0000000..e6820af --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/entity/ClinicPrescriptionItem.java @@ -0,0 +1,78 @@ +package com.gxwebsoft.clinic.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 处方明细表 + + * + * @author 科技小王子 + * @since 2025-10-22 02:01:13 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Schema(name = "ClinicPrescriptionItem对象", description = "处方明细表") +public class ClinicPrescriptionItem implements Serializable { + private static final long serialVersionUID = 1L; + + @Schema(description = "自增ID") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @Schema(description = "关联处方") + private Integer prescriptionId; + + @Schema(description = "订单编号") + private String prescriptionNo; + + @Schema(description = "关联药品") + private Integer medicineId; + + @Schema(description = "剂量(如“10g”)") + private String dosage; + + @Schema(description = "用法频率(如“每日三次”)") + private String usageFrequency; + + @Schema(description = "服用天数") + private Integer days; + + @Schema(description = "购买数量") + private Integer amount; + + @Schema(description = "单价") + private BigDecimal unitPrice; + + @Schema(description = "数量") + private Integer quantity; + + @Schema(description = "排序号") + private Integer sortNumber; + + @Schema(description = "备注") + private String comments; + + @Schema(description = "用户id") + private Integer userId; + + @Schema(description = "租户id") + private Integer tenantId; + + @Schema(description = "更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + @Schema(description = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + +} diff --git a/src/main/java/com/gxwebsoft/clinic/mapper/ClinicMedicineInoutMapper.java b/src/main/java/com/gxwebsoft/clinic/mapper/ClinicMedicineInoutMapper.java new file mode 100644 index 0000000..9454319 --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/mapper/ClinicMedicineInoutMapper.java @@ -0,0 +1,37 @@ +package com.gxwebsoft.clinic.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.gxwebsoft.clinic.entity.ClinicMedicineInout; +import com.gxwebsoft.clinic.param.ClinicMedicineInoutParam; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 出入库Mapper + * + * @author 科技小王子 + * @since 2025-10-22 02:06:32 + */ +public interface ClinicMedicineInoutMapper extends BaseMapper { + + /** + * 分页查询 + * + * @param page 分页对象 + * @param param 查询参数 + * @return List + */ + List selectPageRel(@Param("page") IPage page, + @Param("param") ClinicMedicineInoutParam param); + + /** + * 查询全部 + * + * @param param 查询参数 + * @return List + */ + List selectListRel(@Param("param") ClinicMedicineInoutParam param); + +} diff --git a/src/main/java/com/gxwebsoft/clinic/mapper/ClinicMedicineMapper.java b/src/main/java/com/gxwebsoft/clinic/mapper/ClinicMedicineMapper.java new file mode 100644 index 0000000..8fca0aa --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/mapper/ClinicMedicineMapper.java @@ -0,0 +1,37 @@ +package com.gxwebsoft.clinic.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.gxwebsoft.clinic.entity.ClinicMedicine; +import com.gxwebsoft.clinic.param.ClinicMedicineParam; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 药品库Mapper + * + * @author 科技小王子 + * @since 2025-10-22 02:06:31 + */ +public interface ClinicMedicineMapper extends BaseMapper { + + /** + * 分页查询 + * + * @param page 分页对象 + * @param param 查询参数 + * @return List + */ + List selectPageRel(@Param("page") IPage page, + @Param("param") ClinicMedicineParam param); + + /** + * 查询全部 + * + * @param param 查询参数 + * @return List + */ + List selectListRel(@Param("param") ClinicMedicineParam param); + +} diff --git a/src/main/java/com/gxwebsoft/clinic/mapper/ClinicMedicineStockMapper.java b/src/main/java/com/gxwebsoft/clinic/mapper/ClinicMedicineStockMapper.java new file mode 100644 index 0000000..9a95139 --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/mapper/ClinicMedicineStockMapper.java @@ -0,0 +1,37 @@ +package com.gxwebsoft.clinic.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.gxwebsoft.clinic.entity.ClinicMedicineStock; +import com.gxwebsoft.clinic.param.ClinicMedicineStockParam; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 药品库存Mapper + * + * @author 科技小王子 + * @since 2025-10-22 02:06:32 + */ +public interface ClinicMedicineStockMapper extends BaseMapper { + + /** + * 分页查询 + * + * @param page 分页对象 + * @param param 查询参数 + * @return List + */ + List selectPageRel(@Param("page") IPage page, + @Param("param") ClinicMedicineStockParam param); + + /** + * 查询全部 + * + * @param param 查询参数 + * @return List + */ + List selectListRel(@Param("param") ClinicMedicineStockParam param); + +} diff --git a/src/main/java/com/gxwebsoft/clinic/mapper/ClinicPrescriptionItemMapper.java b/src/main/java/com/gxwebsoft/clinic/mapper/ClinicPrescriptionItemMapper.java new file mode 100644 index 0000000..1a21b01 --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/mapper/ClinicPrescriptionItemMapper.java @@ -0,0 +1,38 @@ +package com.gxwebsoft.clinic.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.gxwebsoft.clinic.entity.ClinicPrescriptionItem; +import com.gxwebsoft.clinic.param.ClinicPrescriptionItemParam; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 处方明细表 +Mapper + * + * @author 科技小王子 + * @since 2025-10-22 02:01:13 + */ +public interface ClinicPrescriptionItemMapper extends BaseMapper { + + /** + * 分页查询 + * + * @param page 分页对象 + * @param param 查询参数 + * @return List + */ + List selectPageRel(@Param("page") IPage page, + @Param("param") ClinicPrescriptionItemParam param); + + /** + * 查询全部 + * + * @param param 查询参数 + * @return List + */ + List selectListRel(@Param("param") ClinicPrescriptionItemParam param); + +} diff --git a/src/main/java/com/gxwebsoft/clinic/mapper/ClinicPrescriptionMapper.java b/src/main/java/com/gxwebsoft/clinic/mapper/ClinicPrescriptionMapper.java new file mode 100644 index 0000000..6eeefda --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/mapper/ClinicPrescriptionMapper.java @@ -0,0 +1,38 @@ +package com.gxwebsoft.clinic.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.gxwebsoft.clinic.entity.ClinicPrescription; +import com.gxwebsoft.clinic.param.ClinicPrescriptionParam; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 处方主表 +Mapper + * + * @author 科技小王子 + * @since 2025-10-22 02:01:13 + */ +public interface ClinicPrescriptionMapper extends BaseMapper { + + /** + * 分页查询 + * + * @param page 分页对象 + * @param param 查询参数 + * @return List + */ + List selectPageRel(@Param("page") IPage page, + @Param("param") ClinicPrescriptionParam param); + + /** + * 查询全部 + * + * @param param 查询参数 + * @return List + */ + List selectListRel(@Param("param") ClinicPrescriptionParam param); + +} diff --git a/src/main/java/com/gxwebsoft/clinic/mapper/xml/ClinicMedicineInoutMapper.xml b/src/main/java/com/gxwebsoft/clinic/mapper/xml/ClinicMedicineInoutMapper.xml new file mode 100644 index 0000000..0e49aac --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/mapper/xml/ClinicMedicineInoutMapper.xml @@ -0,0 +1,93 @@ + + + + + + + SELECT a.* + FROM clinic_medicine_inout a + + + AND a.id = #{param.id} + + + AND a.user_id = #{param.userId} + + + AND a.order_no LIKE CONCAT('%', #{param.orderNo}, '%') + + + AND a.first_user_id = #{param.firstUserId} + + + AND a.second_user_id = #{param.secondUserId} + + + AND a.third_user_id = #{param.thirdUserId} + + + AND a.first_money = #{param.firstMoney} + + + AND a.second_money = #{param.secondMoney} + + + AND a.third_money = #{param.thirdMoney} + + + AND a.price = #{param.price} + + + AND a.order_price = #{param.orderPrice} + + + AND a.settled_price = #{param.settledPrice} + + + AND a.degree_price = #{param.degreePrice} + + + AND a.pay_price = #{param.payPrice} + + + AND a.rate = #{param.rate} + + + AND a.month LIKE CONCAT('%', #{param.month}, '%') + + + AND a.is_invalid = #{param.isInvalid} + + + AND a.is_settled = #{param.isSettled} + + + AND a.settle_time LIKE CONCAT('%', #{param.settleTime}, '%') + + + AND a.comments LIKE CONCAT('%', #{param.comments}, '%') + + + AND a.create_time >= #{param.createTimeStart} + + + AND a.create_time <= #{param.createTimeEnd} + + + AND (a.comments LIKE CONCAT('%', #{param.keywords}, '%') + ) + + + + + + + + + + + diff --git a/src/main/java/com/gxwebsoft/clinic/mapper/xml/ClinicMedicineMapper.xml b/src/main/java/com/gxwebsoft/clinic/mapper/xml/ClinicMedicineMapper.xml new file mode 100644 index 0000000..644a454 --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/mapper/xml/ClinicMedicineMapper.xml @@ -0,0 +1,66 @@ + + + + + + + SELECT a.* + FROM clinic_medicine a + + + AND a.id = #{param.id} + + + AND a.name LIKE CONCAT('%', #{param.name}, '%') + + + AND a.pinyin LIKE CONCAT('%', #{param.pinyin}, '%') + + + AND a.category LIKE CONCAT('%', #{param.category}, '%') + + + AND a.specification LIKE CONCAT('%', #{param.specification}, '%') + + + AND a.unit LIKE CONCAT('%', #{param.unit}, '%') + + + AND a.content LIKE CONCAT('%', #{param.content}, '%') + + + AND a.price_per_unit = #{param.pricePerUnit} + + + AND a.is_active = #{param.isActive} + + + AND a.user_id = #{param.userId} + + + AND a.comments LIKE CONCAT('%', #{param.comments}, '%') + + + AND a.create_time >= #{param.createTimeStart} + + + AND a.create_time <= #{param.createTimeEnd} + + + AND (a.comments LIKE CONCAT('%', #{param.keywords}, '%') + ) + + + + + + + + + + + diff --git a/src/main/java/com/gxwebsoft/clinic/mapper/xml/ClinicMedicineStockMapper.xml b/src/main/java/com/gxwebsoft/clinic/mapper/xml/ClinicMedicineStockMapper.xml new file mode 100644 index 0000000..93ffcd9 --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/mapper/xml/ClinicMedicineStockMapper.xml @@ -0,0 +1,54 @@ + + + + + + + SELECT a.* + FROM clinic_medicine_stock a + + + AND a.id = #{param.id} + + + AND a.medicine_id = #{param.medicineId} + + + AND a.stock_quantity = #{param.stockQuantity} + + + AND a.min_stock_level = #{param.minStockLevel} + + + AND a.last_updated LIKE CONCAT('%', #{param.lastUpdated}, '%') + + + AND a.user_id = #{param.userId} + + + AND a.comments LIKE CONCAT('%', #{param.comments}, '%') + + + AND a.create_time >= #{param.createTimeStart} + + + AND a.create_time <= #{param.createTimeEnd} + + + AND (a.comments LIKE CONCAT('%', #{param.keywords}, '%') + ) + + + + + + + + + + + diff --git a/src/main/java/com/gxwebsoft/clinic/mapper/xml/ClinicPatientUserMapper.xml b/src/main/java/com/gxwebsoft/clinic/mapper/xml/ClinicPatientUserMapper.xml index 7c4772e..79ed7d7 100644 --- a/src/main/java/com/gxwebsoft/clinic/mapper/xml/ClinicPatientUserMapper.xml +++ b/src/main/java/com/gxwebsoft/clinic/mapper/xml/ClinicPatientUserMapper.xml @@ -19,8 +19,8 @@ AND a.real_name LIKE CONCAT('%', #{param.realName}, '%') - - AND a.mobile LIKE CONCAT('%', #{param.mobile}, '%') + + AND a.phone LIKE CONCAT('%', #{param.phone}, '%') AND a.pay_password LIKE CONCAT('%', #{param.payPassword}, '%') diff --git a/src/main/java/com/gxwebsoft/clinic/mapper/xml/ClinicPrescriptionItemMapper.xml b/src/main/java/com/gxwebsoft/clinic/mapper/xml/ClinicPrescriptionItemMapper.xml new file mode 100644 index 0000000..e3b5014 --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/mapper/xml/ClinicPrescriptionItemMapper.xml @@ -0,0 +1,72 @@ + + + + + + + SELECT a.* + FROM clinic_prescription_item a + + + AND a.id = #{param.id} + + + AND a.prescription_id = #{param.prescriptionId} + + + AND a.prescription_no LIKE CONCAT('%', #{param.prescriptionNo}, '%') + + + AND a.medicine_id = #{param.medicineId} + + + AND a.dosage LIKE CONCAT('%', #{param.dosage}, '%') + + + AND a.usage_frequency LIKE CONCAT('%', #{param.usageFrequency}, '%') + + + AND a.days = #{param.days} + + + AND a.amount = #{param.amount} + + + AND a.unit_price = #{param.unitPrice} + + + AND a.quantity = #{param.quantity} + + + AND a.sort_number = #{param.sortNumber} + + + AND a.comments LIKE CONCAT('%', #{param.comments}, '%') + + + AND a.user_id = #{param.userId} + + + AND a.create_time >= #{param.createTimeStart} + + + AND a.create_time <= #{param.createTimeEnd} + + + AND (a.comments LIKE CONCAT('%', #{param.keywords}, '%') + ) + + + + + + + + + + + diff --git a/src/main/java/com/gxwebsoft/clinic/mapper/xml/ClinicPrescriptionMapper.xml b/src/main/java/com/gxwebsoft/clinic/mapper/xml/ClinicPrescriptionMapper.xml new file mode 100644 index 0000000..4b5f1cd --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/mapper/xml/ClinicPrescriptionMapper.xml @@ -0,0 +1,84 @@ + + + + + + + SELECT a.* + FROM clinic_prescription a + + + AND a.id = #{param.id} + + + AND a.user_id = #{param.userId} + + + AND a.doctor_id = #{param.doctorId} + + + AND a.order_no LIKE CONCAT('%', #{param.orderNo}, '%') + + + AND a.visit_record_id = #{param.visitRecordId} + + + AND a.prescription_type = #{param.prescriptionType} + + + AND a.diagnosis LIKE CONCAT('%', #{param.diagnosis}, '%') + + + AND a.treatment_plan LIKE CONCAT('%', #{param.treatmentPlan}, '%') + + + AND a.decoction_instructions LIKE CONCAT('%', #{param.decoctionInstructions}, '%') + + + AND a.order_price = #{param.orderPrice} + + + AND a.price = #{param.price} + + + AND a.pay_price = #{param.payPrice} + + + AND a.is_invalid = #{param.isInvalid} + + + AND a.is_settled = #{param.isSettled} + + + AND a.settle_time LIKE CONCAT('%', #{param.settleTime}, '%') + + + AND a.status = #{param.status} + + + AND a.comments LIKE CONCAT('%', #{param.comments}, '%') + + + AND a.create_time >= #{param.createTimeStart} + + + AND a.create_time <= #{param.createTimeEnd} + + + AND (a.comments LIKE CONCAT('%', #{param.keywords}, '%') + ) + + + + + + + + + + + diff --git a/src/main/java/com/gxwebsoft/clinic/param/ClinicMedicineInoutParam.java b/src/main/java/com/gxwebsoft/clinic/param/ClinicMedicineInoutParam.java new file mode 100644 index 0000000..a438209 --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/param/ClinicMedicineInoutParam.java @@ -0,0 +1,102 @@ +package com.gxwebsoft.clinic.param; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.gxwebsoft.common.core.annotation.QueryField; +import com.gxwebsoft.common.core.annotation.QueryType; +import com.gxwebsoft.common.core.web.BaseParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * 出入库查询参数 + * + * @author 科技小王子 + * @since 2025-10-22 02:06:32 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@JsonInclude(JsonInclude.Include.NON_NULL) +@Schema(name = "ClinicMedicineInoutParam对象", description = "出入库查询参数") +public class ClinicMedicineInoutParam extends BaseParam { + private static final long serialVersionUID = 1L; + + @Schema(description = "主键ID") + @QueryField(type = QueryType.EQ) + private Integer id; + + @Schema(description = "买家用户ID") + @QueryField(type = QueryType.EQ) + private Integer userId; + + @Schema(description = "订单编号") + private String orderNo; + + @Schema(description = "分销商用户id(一级)") + @QueryField(type = QueryType.EQ) + private Integer firstUserId; + + @Schema(description = "分销商用户id(二级)") + @QueryField(type = QueryType.EQ) + private Integer secondUserId; + + @Schema(description = "分销商用户id(三级)") + @QueryField(type = QueryType.EQ) + private Integer thirdUserId; + + @Schema(description = "分销佣金(一级)") + @QueryField(type = QueryType.EQ) + private BigDecimal firstMoney; + + @Schema(description = "分销佣金(二级)") + @QueryField(type = QueryType.EQ) + private BigDecimal secondMoney; + + @Schema(description = "分销佣金(三级)") + @QueryField(type = QueryType.EQ) + private BigDecimal thirdMoney; + + @Schema(description = "单价") + @QueryField(type = QueryType.EQ) + private BigDecimal price; + + @Schema(description = "订单总金额") + @QueryField(type = QueryType.EQ) + private BigDecimal orderPrice; + + @Schema(description = "结算金额") + @QueryField(type = QueryType.EQ) + private BigDecimal settledPrice; + + @Schema(description = "换算成度") + @QueryField(type = QueryType.EQ) + private BigDecimal degreePrice; + + @Schema(description = "实发金额") + @QueryField(type = QueryType.EQ) + private BigDecimal payPrice; + + @Schema(description = "税率") + @QueryField(type = QueryType.EQ) + private BigDecimal rate; + + @Schema(description = "结算月份") + private String month; + + @Schema(description = "订单是否失效(0未失效 1已失效)") + @QueryField(type = QueryType.EQ) + private Integer isInvalid; + + @Schema(description = "佣金结算(0未结算 1已结算)") + @QueryField(type = QueryType.EQ) + private Integer isSettled; + + @Schema(description = "结算时间") + private String settleTime; + + @Schema(description = "备注") + private String comments; + +} diff --git a/src/main/java/com/gxwebsoft/clinic/param/ClinicMedicineParam.java b/src/main/java/com/gxwebsoft/clinic/param/ClinicMedicineParam.java new file mode 100644 index 0000000..71f4744 --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/param/ClinicMedicineParam.java @@ -0,0 +1,63 @@ +package com.gxwebsoft.clinic.param; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.gxwebsoft.common.core.annotation.QueryField; +import com.gxwebsoft.common.core.annotation.QueryType; +import com.gxwebsoft.common.core.web.BaseParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * 药品库查询参数 + * + * @author 科技小王子 + * @since 2025-10-22 02:06:31 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@JsonInclude(JsonInclude.Include.NON_NULL) +@Schema(name = "ClinicMedicineParam对象", description = "药品库查询参数") +public class ClinicMedicineParam extends BaseParam { + private static final long serialVersionUID = 1L; + + @Schema(description = "主键ID") + @QueryField(type = QueryType.EQ) + private Integer id; + + @Schema(description = "药名") + private String name; + + @Schema(description = "拼音") + private String pinyin; + + @Schema(description = "分类(如“清热解毒”、“补气养血”)") + private String category; + + @Schema(description = "规格(如“饮片”、“颗粒”)") + private String specification; + + @Schema(description = "单位(如“克”、“袋”)") + private String unit; + + @Schema(description = "描述") + private String content; + + @Schema(description = "单价") + @QueryField(type = QueryType.EQ) + private BigDecimal pricePerUnit; + + @Schema(description = "是否活跃") + @QueryField(type = QueryType.EQ) + private Integer isActive; + + @Schema(description = "买家用户ID") + @QueryField(type = QueryType.EQ) + private Integer userId; + + @Schema(description = "备注") + private String comments; + +} diff --git a/src/main/java/com/gxwebsoft/clinic/param/ClinicMedicineStockParam.java b/src/main/java/com/gxwebsoft/clinic/param/ClinicMedicineStockParam.java new file mode 100644 index 0000000..a784c67 --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/param/ClinicMedicineStockParam.java @@ -0,0 +1,50 @@ +package com.gxwebsoft.clinic.param; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.gxwebsoft.common.core.annotation.QueryField; +import com.gxwebsoft.common.core.annotation.QueryType; +import com.gxwebsoft.common.core.web.BaseParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 药品库存查询参数 + * + * @author 科技小王子 + * @since 2025-10-22 02:06:32 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@JsonInclude(JsonInclude.Include.NON_NULL) +@Schema(name = "ClinicMedicineStockParam对象", description = "药品库存查询参数") +public class ClinicMedicineStockParam extends BaseParam { + private static final long serialVersionUID = 1L; + + @Schema(description = "主键ID") + @QueryField(type = QueryType.EQ) + private Integer id; + + @Schema(description = "药品") + @QueryField(type = QueryType.EQ) + private Integer medicineId; + + @Schema(description = "库存数量") + @QueryField(type = QueryType.EQ) + private Integer stockQuantity; + + @Schema(description = "最小库存预警") + @QueryField(type = QueryType.EQ) + private Integer minStockLevel; + + @Schema(description = "上次更新时间") + private String lastUpdated; + + @Schema(description = "买家用户ID") + @QueryField(type = QueryType.EQ) + private Integer userId; + + @Schema(description = "备注") + private String comments; + +} diff --git a/src/main/java/com/gxwebsoft/clinic/param/ClinicPatientUserParam.java b/src/main/java/com/gxwebsoft/clinic/param/ClinicPatientUserParam.java index d3d8076..72b893b 100644 --- a/src/main/java/com/gxwebsoft/clinic/param/ClinicPatientUserParam.java +++ b/src/main/java/com/gxwebsoft/clinic/param/ClinicPatientUserParam.java @@ -38,7 +38,7 @@ public class ClinicPatientUserParam extends BaseParam { private String realName; @Schema(description = "手机号") - private String mobile; + private String phone; @Schema(description = "支付密码") private String payPassword; diff --git a/src/main/java/com/gxwebsoft/clinic/param/ClinicPrescriptionItemParam.java b/src/main/java/com/gxwebsoft/clinic/param/ClinicPrescriptionItemParam.java new file mode 100644 index 0000000..c898b51 --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/param/ClinicPrescriptionItemParam.java @@ -0,0 +1,75 @@ +package com.gxwebsoft.clinic.param; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.gxwebsoft.common.core.annotation.QueryField; +import com.gxwebsoft.common.core.annotation.QueryType; +import com.gxwebsoft.common.core.web.BaseParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * 处方明细表 +查询参数 + * + * @author 科技小王子 + * @since 2025-10-22 02:01:13 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@JsonInclude(JsonInclude.Include.NON_NULL) +@Schema(name = "ClinicPrescriptionItemParam对象", description = "处方明细表 查询参数") +public class ClinicPrescriptionItemParam extends BaseParam { + private static final long serialVersionUID = 1L; + + @Schema(description = "自增ID") + @QueryField(type = QueryType.EQ) + private Integer id; + + @Schema(description = "关联处方") + @QueryField(type = QueryType.EQ) + private Integer prescriptionId; + + @Schema(description = "订单编号") + private String prescriptionNo; + + @Schema(description = "关联药品") + @QueryField(type = QueryType.EQ) + private Integer medicineId; + + @Schema(description = "剂量(如“10g”)") + private String dosage; + + @Schema(description = "用法频率(如“每日三次”)") + private String usageFrequency; + + @Schema(description = "服用天数") + @QueryField(type = QueryType.EQ) + private Integer days; + + @Schema(description = "购买数量") + @QueryField(type = QueryType.EQ) + private Integer amount; + + @Schema(description = "单价") + @QueryField(type = QueryType.EQ) + private BigDecimal unitPrice; + + @Schema(description = "数量") + @QueryField(type = QueryType.EQ) + private Integer quantity; + + @Schema(description = "排序号") + @QueryField(type = QueryType.EQ) + private Integer sortNumber; + + @Schema(description = "备注") + private String comments; + + @Schema(description = "用户id") + @QueryField(type = QueryType.EQ) + private Integer userId; + +} diff --git a/src/main/java/com/gxwebsoft/clinic/param/ClinicPrescriptionParam.java b/src/main/java/com/gxwebsoft/clinic/param/ClinicPrescriptionParam.java new file mode 100644 index 0000000..938d4f2 --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/param/ClinicPrescriptionParam.java @@ -0,0 +1,89 @@ +package com.gxwebsoft.clinic.param; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.gxwebsoft.common.core.annotation.QueryField; +import com.gxwebsoft.common.core.annotation.QueryType; +import com.gxwebsoft.common.core.web.BaseParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * 处方主表 +查询参数 + * + * @author 科技小王子 + * @since 2025-10-22 02:01:12 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@JsonInclude(JsonInclude.Include.NON_NULL) +@Schema(name = "ClinicPrescriptionParam对象", description = "处方主表查询参数") +public class ClinicPrescriptionParam extends BaseParam { + private static final long serialVersionUID = 1L; + + @Schema(description = "主键ID") + @QueryField(type = QueryType.EQ) + private Integer id; + + @Schema(description = "患者") + @QueryField(type = QueryType.EQ) + private Integer userId; + + @Schema(description = "医生") + @QueryField(type = QueryType.EQ) + private Integer doctorId; + + @Schema(description = "订单编号") + private String orderNo; + + @Schema(description = "关联就诊表") + @QueryField(type = QueryType.EQ) + private Integer visitRecordId; + + @Schema(description = "处方类型 0中药 1西药") + @QueryField(type = QueryType.EQ) + private Integer prescriptionType; + + @Schema(description = "诊断结果") + private String diagnosis; + + @Schema(description = "治疗方案") + private String treatmentPlan; + + @Schema(description = "煎药说明") + private String decoctionInstructions; + + @Schema(description = "订单总金额") + @QueryField(type = QueryType.EQ) + private BigDecimal orderPrice; + + @Schema(description = "单价") + @QueryField(type = QueryType.EQ) + private BigDecimal price; + + @Schema(description = "实付金额") + @QueryField(type = QueryType.EQ) + private BigDecimal payPrice; + + @Schema(description = "订单是否失效(0未失效 1已失效)") + @QueryField(type = QueryType.EQ) + private Integer isInvalid; + + @Schema(description = "结算(0未结算 1已结算)") + @QueryField(type = QueryType.EQ) + private Integer isSettled; + + @Schema(description = "结算时间") + private String settleTime; + + @Schema(description = "状态, 0正常, 1已完成,2已支付,3已取消") + @QueryField(type = QueryType.EQ) + private Integer status; + + @Schema(description = "备注") + private String comments; + +} diff --git a/src/main/java/com/gxwebsoft/clinic/service/ClinicMedicineInoutService.java b/src/main/java/com/gxwebsoft/clinic/service/ClinicMedicineInoutService.java new file mode 100644 index 0000000..f3c55fa --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/service/ClinicMedicineInoutService.java @@ -0,0 +1,42 @@ +package com.gxwebsoft.clinic.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gxwebsoft.clinic.entity.ClinicMedicineInout; +import com.gxwebsoft.clinic.param.ClinicMedicineInoutParam; +import com.gxwebsoft.common.core.web.PageResult; + +import java.util.List; + +/** + * 出入库Service + * + * @author 科技小王子 + * @since 2025-10-22 02:06:32 + */ +public interface ClinicMedicineInoutService extends IService { + + /** + * 分页关联查询 + * + * @param param 查询参数 + * @return PageResult + */ + PageResult pageRel(ClinicMedicineInoutParam param); + + /** + * 关联查询全部 + * + * @param param 查询参数 + * @return List + */ + List listRel(ClinicMedicineInoutParam param); + + /** + * 根据id查询 + * + * @param id 主键ID + * @return ClinicMedicineInout + */ + ClinicMedicineInout getByIdRel(Integer id); + +} diff --git a/src/main/java/com/gxwebsoft/clinic/service/ClinicMedicineService.java b/src/main/java/com/gxwebsoft/clinic/service/ClinicMedicineService.java new file mode 100644 index 0000000..e393701 --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/service/ClinicMedicineService.java @@ -0,0 +1,42 @@ +package com.gxwebsoft.clinic.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gxwebsoft.clinic.entity.ClinicMedicine; +import com.gxwebsoft.clinic.param.ClinicMedicineParam; +import com.gxwebsoft.common.core.web.PageResult; + +import java.util.List; + +/** + * 药品库Service + * + * @author 科技小王子 + * @since 2025-10-22 02:06:31 + */ +public interface ClinicMedicineService extends IService { + + /** + * 分页关联查询 + * + * @param param 查询参数 + * @return PageResult + */ + PageResult pageRel(ClinicMedicineParam param); + + /** + * 关联查询全部 + * + * @param param 查询参数 + * @return List + */ + List listRel(ClinicMedicineParam param); + + /** + * 根据id查询 + * + * @param id 主键ID + * @return ClinicMedicine + */ + ClinicMedicine getByIdRel(Integer id); + +} diff --git a/src/main/java/com/gxwebsoft/clinic/service/ClinicMedicineStockService.java b/src/main/java/com/gxwebsoft/clinic/service/ClinicMedicineStockService.java new file mode 100644 index 0000000..04e792a --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/service/ClinicMedicineStockService.java @@ -0,0 +1,42 @@ +package com.gxwebsoft.clinic.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gxwebsoft.clinic.entity.ClinicMedicineStock; +import com.gxwebsoft.clinic.param.ClinicMedicineStockParam; +import com.gxwebsoft.common.core.web.PageResult; + +import java.util.List; + +/** + * 药品库存Service + * + * @author 科技小王子 + * @since 2025-10-22 02:06:32 + */ +public interface ClinicMedicineStockService extends IService { + + /** + * 分页关联查询 + * + * @param param 查询参数 + * @return PageResult + */ + PageResult pageRel(ClinicMedicineStockParam param); + + /** + * 关联查询全部 + * + * @param param 查询参数 + * @return List + */ + List listRel(ClinicMedicineStockParam param); + + /** + * 根据id查询 + * + * @param id 主键ID + * @return ClinicMedicineStock + */ + ClinicMedicineStock getByIdRel(Integer id); + +} diff --git a/src/main/java/com/gxwebsoft/clinic/service/ClinicPrescriptionItemService.java b/src/main/java/com/gxwebsoft/clinic/service/ClinicPrescriptionItemService.java new file mode 100644 index 0000000..42b8687 --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/service/ClinicPrescriptionItemService.java @@ -0,0 +1,43 @@ +package com.gxwebsoft.clinic.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gxwebsoft.clinic.entity.ClinicPrescriptionItem; +import com.gxwebsoft.clinic.param.ClinicPrescriptionItemParam; +import com.gxwebsoft.common.core.web.PageResult; + +import java.util.List; + +/** + * 处方明细表 +Service + * + * @author 科技小王子 + * @since 2025-10-22 02:01:13 + */ +public interface ClinicPrescriptionItemService extends IService { + + /** + * 分页关联查询 + * + * @param param 查询参数 + * @return PageResult + */ + PageResult pageRel(ClinicPrescriptionItemParam param); + + /** + * 关联查询全部 + * + * @param param 查询参数 + * @return List + */ + List listRel(ClinicPrescriptionItemParam param); + + /** + * 根据id查询 + * + * @param id 自增ID + * @return ClinicPrescriptionItem + */ + ClinicPrescriptionItem getByIdRel(Integer id); + +} diff --git a/src/main/java/com/gxwebsoft/clinic/service/ClinicPrescriptionService.java b/src/main/java/com/gxwebsoft/clinic/service/ClinicPrescriptionService.java new file mode 100644 index 0000000..820cd8d --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/service/ClinicPrescriptionService.java @@ -0,0 +1,43 @@ +package com.gxwebsoft.clinic.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gxwebsoft.clinic.entity.ClinicPrescription; +import com.gxwebsoft.clinic.param.ClinicPrescriptionParam; +import com.gxwebsoft.common.core.web.PageResult; + +import java.util.List; + +/** + * 处方主表 +Service + * + * @author 科技小王子 + * @since 2025-10-22 02:01:13 + */ +public interface ClinicPrescriptionService extends IService { + + /** + * 分页关联查询 + * + * @param param 查询参数 + * @return PageResult + */ + PageResult pageRel(ClinicPrescriptionParam param); + + /** + * 关联查询全部 + * + * @param param 查询参数 + * @return List + */ + List listRel(ClinicPrescriptionParam param); + + /** + * 根据id查询 + * + * @param id 主键ID + * @return ClinicPrescription + */ + ClinicPrescription getByIdRel(Integer id); + +} diff --git a/src/main/java/com/gxwebsoft/clinic/service/impl/ClinicMedicineInoutServiceImpl.java b/src/main/java/com/gxwebsoft/clinic/service/impl/ClinicMedicineInoutServiceImpl.java new file mode 100644 index 0000000..fbd1caf --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/service/impl/ClinicMedicineInoutServiceImpl.java @@ -0,0 +1,47 @@ +package com.gxwebsoft.clinic.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gxwebsoft.clinic.entity.ClinicMedicineInout; +import com.gxwebsoft.clinic.mapper.ClinicMedicineInoutMapper; +import com.gxwebsoft.clinic.param.ClinicMedicineInoutParam; +import com.gxwebsoft.clinic.service.ClinicMedicineInoutService; +import com.gxwebsoft.common.core.web.PageParam; +import com.gxwebsoft.common.core.web.PageResult; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 出入库Service实现 + * + * @author 科技小王子 + * @since 2025-10-22 02:06:32 + */ +@Service +public class ClinicMedicineInoutServiceImpl extends ServiceImpl implements ClinicMedicineInoutService { + + @Override + public PageResult pageRel(ClinicMedicineInoutParam param) { + PageParam page = new PageParam<>(param); + page.setDefaultOrder("sort_number asc, create_time desc"); + List list = baseMapper.selectPageRel(page, param); + return new PageResult<>(list, page.getTotal()); + } + + @Override + public List listRel(ClinicMedicineInoutParam param) { + List list = baseMapper.selectListRel(param); + // 排序 + PageParam page = new PageParam<>(); + page.setDefaultOrder("sort_number asc, create_time desc"); + return page.sortRecords(list); + } + + @Override + public ClinicMedicineInout getByIdRel(Integer id) { + ClinicMedicineInoutParam param = new ClinicMedicineInoutParam(); + param.setId(id); + return param.getOne(baseMapper.selectListRel(param)); + } + +} diff --git a/src/main/java/com/gxwebsoft/clinic/service/impl/ClinicMedicineServiceImpl.java b/src/main/java/com/gxwebsoft/clinic/service/impl/ClinicMedicineServiceImpl.java new file mode 100644 index 0000000..cc6deba --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/service/impl/ClinicMedicineServiceImpl.java @@ -0,0 +1,47 @@ +package com.gxwebsoft.clinic.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gxwebsoft.clinic.entity.ClinicMedicine; +import com.gxwebsoft.clinic.mapper.ClinicMedicineMapper; +import com.gxwebsoft.clinic.param.ClinicMedicineParam; +import com.gxwebsoft.clinic.service.ClinicMedicineService; +import com.gxwebsoft.common.core.web.PageParam; +import com.gxwebsoft.common.core.web.PageResult; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 药品库Service实现 + * + * @author 科技小王子 + * @since 2025-10-22 02:06:31 + */ +@Service +public class ClinicMedicineServiceImpl extends ServiceImpl implements ClinicMedicineService { + + @Override + public PageResult pageRel(ClinicMedicineParam param) { + PageParam page = new PageParam<>(param); + page.setDefaultOrder("sort_number asc, create_time desc"); + List list = baseMapper.selectPageRel(page, param); + return new PageResult<>(list, page.getTotal()); + } + + @Override + public List listRel(ClinicMedicineParam param) { + List list = baseMapper.selectListRel(param); + // 排序 + PageParam page = new PageParam<>(); + page.setDefaultOrder("sort_number asc, create_time desc"); + return page.sortRecords(list); + } + + @Override + public ClinicMedicine getByIdRel(Integer id) { + ClinicMedicineParam param = new ClinicMedicineParam(); + param.setId(id); + return param.getOne(baseMapper.selectListRel(param)); + } + +} diff --git a/src/main/java/com/gxwebsoft/clinic/service/impl/ClinicMedicineStockServiceImpl.java b/src/main/java/com/gxwebsoft/clinic/service/impl/ClinicMedicineStockServiceImpl.java new file mode 100644 index 0000000..2364578 --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/service/impl/ClinicMedicineStockServiceImpl.java @@ -0,0 +1,47 @@ +package com.gxwebsoft.clinic.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gxwebsoft.clinic.entity.ClinicMedicineStock; +import com.gxwebsoft.clinic.mapper.ClinicMedicineStockMapper; +import com.gxwebsoft.clinic.param.ClinicMedicineStockParam; +import com.gxwebsoft.clinic.service.ClinicMedicineStockService; +import com.gxwebsoft.common.core.web.PageParam; +import com.gxwebsoft.common.core.web.PageResult; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 药品库存Service实现 + * + * @author 科技小王子 + * @since 2025-10-22 02:06:32 + */ +@Service +public class ClinicMedicineStockServiceImpl extends ServiceImpl implements ClinicMedicineStockService { + + @Override + public PageResult pageRel(ClinicMedicineStockParam param) { + PageParam page = new PageParam<>(param); + page.setDefaultOrder("sort_number asc, create_time desc"); + List list = baseMapper.selectPageRel(page, param); + return new PageResult<>(list, page.getTotal()); + } + + @Override + public List listRel(ClinicMedicineStockParam param) { + List list = baseMapper.selectListRel(param); + // 排序 + PageParam page = new PageParam<>(); + page.setDefaultOrder("sort_number asc, create_time desc"); + return page.sortRecords(list); + } + + @Override + public ClinicMedicineStock getByIdRel(Integer id) { + ClinicMedicineStockParam param = new ClinicMedicineStockParam(); + param.setId(id); + return param.getOne(baseMapper.selectListRel(param)); + } + +} diff --git a/src/main/java/com/gxwebsoft/clinic/service/impl/ClinicPrescriptionItemServiceImpl.java b/src/main/java/com/gxwebsoft/clinic/service/impl/ClinicPrescriptionItemServiceImpl.java new file mode 100644 index 0000000..916b716 --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/service/impl/ClinicPrescriptionItemServiceImpl.java @@ -0,0 +1,48 @@ +package com.gxwebsoft.clinic.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gxwebsoft.clinic.entity.ClinicPrescriptionItem; +import com.gxwebsoft.clinic.mapper.ClinicPrescriptionItemMapper; +import com.gxwebsoft.clinic.param.ClinicPrescriptionItemParam; +import com.gxwebsoft.clinic.service.ClinicPrescriptionItemService; +import com.gxwebsoft.common.core.web.PageParam; +import com.gxwebsoft.common.core.web.PageResult; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 处方明细表 +Service实现 + * + * @author 科技小王子 + * @since 2025-10-22 02:01:13 + */ +@Service +public class ClinicPrescriptionItemServiceImpl extends ServiceImpl implements ClinicPrescriptionItemService { + + @Override + public PageResult pageRel(ClinicPrescriptionItemParam param) { + PageParam page = new PageParam<>(param); + page.setDefaultOrder("sort_number asc, create_time desc"); + List list = baseMapper.selectPageRel(page, param); + return new PageResult<>(list, page.getTotal()); + } + + @Override + public List listRel(ClinicPrescriptionItemParam param) { + List list = baseMapper.selectListRel(param); + // 排序 + PageParam page = new PageParam<>(); + page.setDefaultOrder("sort_number asc, create_time desc"); + return page.sortRecords(list); + } + + @Override + public ClinicPrescriptionItem getByIdRel(Integer id) { + ClinicPrescriptionItemParam param = new ClinicPrescriptionItemParam(); + param.setId(id); + return param.getOne(baseMapper.selectListRel(param)); + } + +} diff --git a/src/main/java/com/gxwebsoft/clinic/service/impl/ClinicPrescriptionServiceImpl.java b/src/main/java/com/gxwebsoft/clinic/service/impl/ClinicPrescriptionServiceImpl.java new file mode 100644 index 0000000..85ec07b --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/service/impl/ClinicPrescriptionServiceImpl.java @@ -0,0 +1,48 @@ +package com.gxwebsoft.clinic.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gxwebsoft.clinic.entity.ClinicPrescription; +import com.gxwebsoft.clinic.mapper.ClinicPrescriptionMapper; +import com.gxwebsoft.clinic.param.ClinicPrescriptionParam; +import com.gxwebsoft.clinic.service.ClinicPrescriptionService; +import com.gxwebsoft.common.core.web.PageParam; +import com.gxwebsoft.common.core.web.PageResult; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 处方主表 +Service实现 + * + * @author 科技小王子 + * @since 2025-10-22 02:01:13 + */ +@Service +public class ClinicPrescriptionServiceImpl extends ServiceImpl implements ClinicPrescriptionService { + + @Override + public PageResult pageRel(ClinicPrescriptionParam param) { + PageParam page = new PageParam<>(param); + page.setDefaultOrder("sort_number asc, create_time desc"); + List list = baseMapper.selectPageRel(page, param); + return new PageResult<>(list, page.getTotal()); + } + + @Override + public List listRel(ClinicPrescriptionParam param) { + List list = baseMapper.selectListRel(param); + // 排序 + PageParam page = new PageParam<>(); + page.setDefaultOrder("sort_number asc, create_time desc"); + return page.sortRecords(list); + } + + @Override + public ClinicPrescription getByIdRel(Integer id) { + ClinicPrescriptionParam param = new ClinicPrescriptionParam(); + param.setId(id); + return param.getOne(baseMapper.selectListRel(param)); + } + +} diff --git a/src/main/java/com/gxwebsoft/shop/controller/ShopUserController.java b/src/main/java/com/gxwebsoft/shop/controller/ShopUserController.java index f323412..10f53a5 100644 --- a/src/main/java/com/gxwebsoft/shop/controller/ShopUserController.java +++ b/src/main/java/com/gxwebsoft/shop/controller/ShopUserController.java @@ -46,7 +46,6 @@ public class ShopUserController extends BaseController { return success(shopUserService.listRel(param)); } - @PreAuthorize("hasAuthority('shop:shopUser:list')") @Operation(summary = "根据userId查询用户记录表") @GetMapping("/{userId}") public ApiResult get(@PathVariable("userId") Integer userId) {