diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/basicmanage/controller/BedController.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/basicmanage/controller/BedController.java new file mode 100644 index 000000000..f443329cb --- /dev/null +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/basicmanage/controller/BedController.java @@ -0,0 +1,55 @@ +package com.healthlink.his.web.basicmanage.controller; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.core.common.core.domain.R; +import com.healthlink.his.basicmanage.domain.Bed; +import com.healthlink.his.basicmanage.service.IBedService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.*; +import java.util.List; +@RestController +@RequestMapping("/basic-manage/bed") +@Slf4j +@AllArgsConstructor +public class BedController { + private final IBedService bedService; + @GetMapping("/page") + public R getPage(@RequestParam(value = "bedNo", required = false) String bedNo, + @RequestParam(value = "wardId", required = false) Long wardId, + @RequestParam(value = "status", required = false) Integer status, + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.like(StringUtils.hasText(bedNo), Bed::getBedNo, bedNo) + .eq(wardId != null, Bed::getWardId, wardId) + .eq(status != null, Bed::getStatus, status) + .orderByDesc(Bed::getCreateTime); + return R.ok(bedService.page(new Page<>(pageNo, pageSize), wrapper)); + } + @GetMapping("/list") + public R> getList(@RequestParam(value = "status", required = false) Integer status) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(status != null, Bed::getStatus, status).orderByAsc(Bed::getBedNo); + return R.ok(bedService.list(wrapper)); + } + @PostMapping("/add") + public R add(@RequestBody Bed bed) { + return bedService.save(bed) ? R.ok("新增成功") : R.fail("新增失败"); + } + @PutMapping("/update") + public R update(@RequestBody Bed bed) { + return bedService.updateById(bed) ? R.ok("修改成功") : R.fail("修改失败"); + } + @DeleteMapping("/delete") + public R delete(@RequestParam Long id) { + return bedService.removeById(id) ? R.ok("删除成功") : R.fail("删除失败"); + } + @PutMapping("/status") + public R updateStatus(@RequestParam Long id, @RequestParam Integer status) { + Bed bed = new Bed(); bed.setId(id); bed.setStatus(status); + return bedService.updateById(bed) ? R.ok("状态更新成功") : R.fail("状态更新失败"); + } +} diff --git a/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V12__bed_management.sql b/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V12__bed_management.sql new file mode 100644 index 000000000..53c6f1fa7 --- /dev/null +++ b/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V12__bed_management.sql @@ -0,0 +1,20 @@ +CREATE TABLE IF NOT EXISTS sys_bed ( + id BIGSERIAL PRIMARY KEY, + bed_no VARCHAR(20) NOT NULL, + bed_name VARCHAR(50), + ward_id BIGINT, + ward_name VARCHAR(100), + dept_id BIGINT, + dept_name VARCHAR(100), + bed_type INT DEFAULT 1, + status INT DEFAULT 0, + remark TEXT, + create_by VARCHAR(64), + create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_by VARCHAR(64), + update_time TIMESTAMP, + tenant_id INT DEFAULT 0 +); +CREATE INDEX IF NOT EXISTS idx_bed_ward ON sys_bed(ward_id); +CREATE INDEX IF NOT EXISTS idx_bed_dept ON sys_bed(dept_id); +CREATE INDEX IF NOT EXISTS idx_bed_status ON sys_bed(status); diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/basicmanage/domain/Bed.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/basicmanage/domain/Bed.java new file mode 100644 index 000000000..9217a156c --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/basicmanage/domain/Bed.java @@ -0,0 +1,23 @@ +package com.healthlink.his.basicmanage.domain; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.core.domain.HisBaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +@Data +@TableName("sys_bed") +@EqualsAndHashCode(callSuper = false) +public class Bed extends HisBaseEntity { + @TableId(type = IdType.ASSIGN_ID) + private Long id; + private String bedNo; + private String bedName; + private Long wardId; + private String wardName; + private Long deptId; + private String deptName; + private Integer bedType; + private Integer status; + private String remark; +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/basicmanage/mapper/BedMapper.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/basicmanage/mapper/BedMapper.java new file mode 100644 index 000000000..2c0419231 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/basicmanage/mapper/BedMapper.java @@ -0,0 +1,6 @@ +package com.healthlink.his.basicmanage.mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.healthlink.his.basicmanage.domain.Bed; +import org.apache.ibatis.annotations.Mapper; +@Mapper +public interface BedMapper extends BaseMapper {} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/basicmanage/service/IBedService.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/basicmanage/service/IBedService.java new file mode 100644 index 000000000..a426539d7 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/basicmanage/service/IBedService.java @@ -0,0 +1,4 @@ +package com.healthlink.his.basicmanage.service; +import com.baomidou.mybatisplus.extension.service.IService; +import com.healthlink.his.basicmanage.domain.Bed; +public interface IBedService extends IService {} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/basicmanage/service/impl/BedServiceImpl.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/basicmanage/service/impl/BedServiceImpl.java new file mode 100644 index 000000000..61fbaebc5 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/basicmanage/service/impl/BedServiceImpl.java @@ -0,0 +1,8 @@ +package com.healthlink.his.basicmanage.service.impl; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.healthlink.his.basicmanage.domain.Bed; +import com.healthlink.his.basicmanage.mapper.BedMapper; +import com.healthlink.his.basicmanage.service.IBedService; +import org.springframework.stereotype.Service; +@Service +public class BedServiceImpl extends ServiceImpl implements IBedService {} diff --git a/healthlink-his-ui/src/views/basicmanage/bedspace/components/api.js b/healthlink-his-ui/src/views/basicmanage/bedspace/components/api.js new file mode 100644 index 000000000..014b63935 --- /dev/null +++ b/healthlink-his-ui/src/views/basicmanage/bedspace/components/api.js @@ -0,0 +1,6 @@ +import request from '@/utils/request' +export function getBedPage(params) { return request({ url: '/basic-manage/bed/page', method: 'get', params }) } +export function addBed(data) { return request({ url: '/basic-manage/bed/add', method: 'post', data }) } +export function updateBed(data) { return request({ url: '/basic-manage/bed/update', method: 'put', data }) } +export function deleteBed(id) { return request({ url: '/basic-manage/bed/delete', method: 'delete', params: { id } }) } +export function updateBedStatus(id, status) { return request({ url: '/basic-manage/bed/status', method: 'put', params: { id, status } }) } diff --git a/healthlink-his-ui/src/views/basicmanage/bedspace/index.vue b/healthlink-his-ui/src/views/basicmanage/bedspace/index.vue index 9c740ad43..04ea40c21 100755 --- a/healthlink-his-ui/src/views/basicmanage/bedspace/index.vue +++ b/healthlink-his-ui/src/views/basicmanage/bedspace/index.vue @@ -1,42 +1,108 @@ - +