diff --git a/output/admin/src/views/clinic/clinicPrescription/index.vue b/output/admin/src/views/clinic/clinicPrescription/index.vue index a96223e..bf87110 100644 --- a/output/admin/src/views/clinic/clinicPrescription/index.vue +++ b/output/admin/src/views/clinic/clinicPrescription/index.vue @@ -3,7 +3,7 @@ { const hide = message.loading('请求中..', 0); - removeClinicPrescription(row.clinicPrescriptionId) + removeClinicPrescription(row.id) .then((msg) => { hide(); message.success(msg); @@ -291,7 +291,7 @@ maskClosable: true, onOk: () => { const hide = message.loading('请求中..', 0); - removeBatchClinicPrescription(selection.value.map((d) => d.clinicPrescriptionId)) + removeBatchClinicPrescription(selection.value.map((d) => d.)) .then((msg) => { hide(); message.success(msg); diff --git a/output/admin/src/views/clinic/clinicPrescriptionItem/index.vue b/output/admin/src/views/clinic/clinicPrescriptionItem/index.vue index d056c2a..a4bbe59 100644 --- a/output/admin/src/views/clinic/clinicPrescriptionItem/index.vue +++ b/output/admin/src/views/clinic/clinicPrescriptionItem/index.vue @@ -3,7 +3,7 @@ { const hide = message.loading('请求中..', 0); - removeClinicPrescriptionItem(row.clinicPrescriptionItemId) + removeClinicPrescriptionItem(row.id) .then((msg) => { hide(); message.success(msg); @@ -266,7 +266,7 @@ maskClosable: true, onOk: () => { const hide = message.loading('请求中..', 0); - removeBatchClinicPrescriptionItem(selection.value.map((d) => d.clinicPrescriptionItemId)) + removeBatchClinicPrescriptionItem(selection.value.map((d) => d.)) .then((msg) => { hide(); message.success(msg); 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..9eaf146 --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/controller/ClinicPrescriptionController.java @@ -0,0 +1,129 @@ +package com.gxwebsoft.clinic.controller; + +import com.gxwebsoft.common.core.web.BaseController; +import com.gxwebsoft.clinic.service.ClinicPrescriptionService; +import com.gxwebsoft.clinic.entity.ClinicPrescription; +import com.gxwebsoft.clinic.param.ClinicPrescriptionParam; +import com.gxwebsoft.common.core.web.ApiResult; +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 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..5c5c2ef --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/controller/ClinicPrescriptionItemController.java @@ -0,0 +1,129 @@ +package com.gxwebsoft.clinic.controller; + +import com.gxwebsoft.common.core.web.BaseController; +import com.gxwebsoft.clinic.service.ClinicPrescriptionItemService; +import com.gxwebsoft.clinic.entity.ClinicPrescriptionItem; +import com.gxwebsoft.clinic.param.ClinicPrescriptionItemParam; +import com.gxwebsoft.common.core.web.ApiResult; +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 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/ClinicPrescription.java b/src/main/java/com/gxwebsoft/clinic/entity/ClinicPrescription.java new file mode 100644 index 0000000..3e627f3 --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/entity/ClinicPrescription.java @@ -0,0 +1,90 @@ +package com.gxwebsoft.clinic.entity; + +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import java.time.LocalDateTime; +import java.io.Serializable; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import com.fasterxml.jackson.annotation.JsonFormat; + +/** + * 处方主表 + + * + * @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..fc87f75 --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/entity/ClinicPrescriptionItem.java @@ -0,0 +1,77 @@ +package com.gxwebsoft.clinic.entity; + +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import java.time.LocalDateTime; +import java.io.Serializable; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import com.fasterxml.jackson.annotation.JsonFormat; + +/** + * 处方明细表 + + * + * @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/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/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/ClinicPrescriptionItemParam.java b/src/main/java/com/gxwebsoft/clinic/param/ClinicPrescriptionItemParam.java new file mode 100644 index 0000000..7e0ae8f --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/param/ClinicPrescriptionItemParam.java @@ -0,0 +1,74 @@ +package com.gxwebsoft.clinic.param; + +import java.math.BigDecimal; +import com.gxwebsoft.common.core.annotation.QueryField; +import com.gxwebsoft.common.core.annotation.QueryType; +import com.gxwebsoft.common.core.web.BaseParam; +import com.fasterxml.jackson.annotation.JsonInclude; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 处方明细表 +查询参数 + * + * @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..d6cdfcf --- /dev/null +++ b/src/main/java/com/gxwebsoft/clinic/param/ClinicPrescriptionParam.java @@ -0,0 +1,88 @@ +package com.gxwebsoft.clinic.param; + +import java.math.BigDecimal; +import com.gxwebsoft.common.core.annotation.QueryField; +import com.gxwebsoft.common.core.annotation.QueryType; +import com.gxwebsoft.common.core.web.BaseParam; +import com.fasterxml.jackson.annotation.JsonInclude; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 处方主表 +查询参数 + * + * @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/ClinicPrescriptionItemService.java b/src/main/java/com/gxwebsoft/clinic/service/ClinicPrescriptionItemService.java new file mode 100644 index 0000000..e6ee21c --- /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.common.core.web.PageResult; +import com.gxwebsoft.clinic.entity.ClinicPrescriptionItem; +import com.gxwebsoft.clinic.param.ClinicPrescriptionItemParam; + +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..065c258 --- /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.common.core.web.PageResult; +import com.gxwebsoft.clinic.entity.ClinicPrescription; +import com.gxwebsoft.clinic.param.ClinicPrescriptionParam; + +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/ClinicPrescriptionItemServiceImpl.java b/src/main/java/com/gxwebsoft/clinic/service/impl/ClinicPrescriptionItemServiceImpl.java new file mode 100644 index 0000000..7912403 --- /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.mapper.ClinicPrescriptionItemMapper; +import com.gxwebsoft.clinic.service.ClinicPrescriptionItemService; +import com.gxwebsoft.clinic.entity.ClinicPrescriptionItem; +import com.gxwebsoft.clinic.param.ClinicPrescriptionItemParam; +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..8821f07 --- /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.mapper.ClinicPrescriptionMapper; +import com.gxwebsoft.clinic.service.ClinicPrescriptionService; +import com.gxwebsoft.clinic.entity.ClinicPrescription; +import com.gxwebsoft.clinic.param.ClinicPrescriptionParam; +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/test/java/com/gxwebsoft/generator/ClinicGenerator.java b/src/test/java/com/gxwebsoft/generator/ClinicGenerator.java index 56b204c..85f3450 100644 --- a/src/test/java/com/gxwebsoft/generator/ClinicGenerator.java +++ b/src/test/java/com/gxwebsoft/generator/ClinicGenerator.java @@ -51,18 +51,18 @@ public class ClinicGenerator { private static final String MODULE_NAME = "clinic"; // 需要生成的表 private static final String[] TABLE_NAMES = new String[]{ - "clinic_appointment", - "clinic_doctor_apply", +// "clinic_appointment", +// "clinic_doctor_apply", // "clinic_doctor_medical_record", - "clinic_doctor_user", +// "clinic_doctor_user", // "clinic_medical_history", // "clinic_medicine", // "clinic_medicine_inout", // "clinic_medicine_stock", // "clinic_order", - "clinic_patient_user", -// "clinic_prescription", -// "clinic_prescription_item", +// "clinic_patient_user", + "clinic_prescription", + "clinic_prescription_item", // "clinic_report", // "clinic_visit_record", }; diff --git a/src/test/java/com/gxwebsoft/generator/templates/index.vue.btl b/src/test/java/com/gxwebsoft/generator/templates/index.vue.btl index 2722d13..4027e05 100644 --- a/src/test/java/com/gxwebsoft/generator/templates/index.vue.btl +++ b/src/test/java/com/gxwebsoft/generator/templates/index.vue.btl @@ -3,7 +3,7 @@ { const hide = message.loading('请求中..', 0); - remove${entity}(row.${table.entityPath}Id) + remove${entity}(row.id) .then((msg) => { hide(); message.success(msg); @@ -198,7 +198,7 @@ maskClosable: true, onOk: () => { const hide = message.loading('请求中..', 0); - removeBatch${entity}(selection.value.map((d) => d.${table.entityPath}Id)) + removeBatch${entity}(selection.value.map((d) => d.)) .then((msg) => { hide(); message.success(msg);