浏览代码

科室基本操作编写

ljx 4 年之前
父节点
当前提交
73f3a2b488

+ 4 - 0
src/main/java/com/imed/costaccount/model/CostResponsibility.java

@@ -43,6 +43,10 @@ public class CostResponsibility implements Serializable {
 	 * 责任级别(第一级为1,以此类推)
 	 */
 	private Integer responsibilityLevel;
+	/**
+	 * 医院的Id
+	 */
+	private Integer hospId;
 	/**
 	 * 是否汇总中心1.是,2.不是
 	 */

+ 2 - 0
src/main/java/com/imed/costaccount/model/Department.java

@@ -1,6 +1,7 @@
 package com.imed.costaccount.model;
 
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 
 import java.io.Serializable;
@@ -50,6 +51,7 @@ public class Department implements Serializable {
 	/**
 	 * 删除时间,如果存在表示已删除13位时间戳
 	 */
+	@TableLogic(value = "0",delval = "UNIX_TIMESTAMP(NOW()) * 1000")
 	private Long deleteTime;
 
 }

+ 23 - 0
src/main/java/com/imed/costaccount/model/dto/DepartmentDto.java

@@ -0,0 +1,23 @@
+package com.imed.costaccount.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author 李加喜
+ * @Package com.imed.costaccount.model.dto
+ * @date 2021-07-27 9:54
+ */
+@Data
+@ApiModel("科室信息dto参数")
+public class DepartmentDto {
+    @ApiModelProperty(name = "id",value = "科室的Id")
+    private Integer id;
+    @ApiModelProperty(name = "departmentName",value = "科室的名称")
+    private String departmentName;
+    @ApiModelProperty(name = "departmentCode",value = "科室的Id")
+    private String departmentCode;
+    @ApiModelProperty(name = "hospId",value = "医院的Id")
+    private Integer hospId;
+}

+ 29 - 0
src/main/java/com/imed/costaccount/model/dto/DepartmentRequest.java

@@ -0,0 +1,29 @@
+package com.imed.costaccount.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.NonNull;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author 李加喜
+ * @Package com.imed.costaccount.model.request
+ * @date 2021-07-27 10:07
+ */
+@Data
+@ApiModel("科室信息保存dto参数")
+public class DepartmentRequest {
+    @ApiModelProperty(name = "id",value = "科室的Id")
+    private Integer id;
+    @ApiModelProperty(name = "departmentName",value = "科室的名称")
+    @NotNull
+    private String departmentName;
+    @ApiModelProperty(name = "departmentCode",value = "科室的Id")
+    @NotNull
+    private String departmentCode;
+    @NotNull
+    @ApiModelProperty(name = "hospId",value = "医院的Id")
+    private Integer hospId;
+}

+ 30 - 0
src/main/java/com/imed/costaccount/model/vo/DepartmentVO.java

@@ -0,0 +1,30 @@
+package com.imed.costaccount.model.vo;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.*;
+
+/**
+ * @author 李加喜
+ * @Package com.imed.costaccount.model.vo
+ * @date 2021-07-27 9:25
+ */
+@Getter
+@Setter
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+@ApiModel
+public class DepartmentVO {
+    @ApiModelProperty(name = "id",value = "科室的Id")
+    private Integer id;
+    @ApiModelProperty(name = "departmentName",value = "科室的名称")
+    private String departmentName;
+    @ApiModelProperty(name = "departmentCode",value = "科室的Id")
+    private String departmentCode;
+    @ApiModelProperty(name = "hospId",value = "医院的Id")
+    private Integer hospId;
+    @ApiModelProperty(name = "createTime",value = "")
+    private Long createTime;
+}

+ 31 - 1
src/main/java/com/imed/costaccount/service/DepartmentService.java

@@ -1,9 +1,12 @@
 package com.imed.costaccount.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.imed.costaccount.common.util.PageUtils;
 import com.imed.costaccount.model.Department;
+import com.imed.costaccount.model.dto.DepartmentDto;
+import com.imed.costaccount.model.dto.DepartmentRequest;
 
-import java.util.Map;
+import java.util.List;
 
 /**
  * 科室表
@@ -13,6 +16,33 @@ import java.util.Map;
  * @date 2021-07-27 08:49:37
  */
 public interface DepartmentService extends IService<Department> {
+    /**
+     * 分页查询科室信息
+     * @param page
+     * @param pageSize
+     * @param hospId
+     * @param name
+     * @return
+     */
+    PageUtils queryList(Integer page, Integer pageSize,Integer hospId ,String name);
 
+    /**
+     * 根据指定条件查询科室的相关信息
+     * @param departmentDto
+     * @return
+     */
+    List<Department> getByDepartment(DepartmentDto departmentDto);
+
+    /**
+     * 保存科室信息
+     * @param departmentRequest
+     */
+    void addDepartment(DepartmentRequest departmentRequest);
+
+    /**
+     * 修改科室信息
+     * @param departmentRequest
+     */
+    void updateByDepartment(DepartmentRequest departmentRequest);
 }
 

+ 1 - 1
src/main/java/com/imed/costaccount/service/HosptailService.java

@@ -37,7 +37,7 @@ public interface HosptailService extends IService<Hospital> {
      * @param pageSize
      * @return
      */
-    PageUtils queryList(Integer page, Integer pageSize,String name);
+    PageUtils queryList(Integer page, Integer pageSize,Integer hospId, String name);
 
     /**
      * 添加医院信息

+ 83 - 2
src/main/java/com/imed/costaccount/service/impl/DepartmentServiceImpl.java

@@ -1,16 +1,97 @@
 package com.imed.costaccount.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.imed.costaccount.common.exception.CostException;
+import com.imed.costaccount.common.util.BeanUtil;
+import com.imed.costaccount.common.util.PageUtils;
 import com.imed.costaccount.mapper.DepartmentMapper;
 import com.imed.costaccount.model.Department;
+import com.imed.costaccount.model.dto.DepartmentDto;
+import com.imed.costaccount.model.dto.DepartmentRequest;
+import com.imed.costaccount.model.vo.DepartmentVO;
 import com.imed.costaccount.service.DepartmentService;
 import org.springframework.stereotype.Service;
-import java.util.Map;
+
+import java.util.List;
+import java.util.Objects;
+
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.util.StringUtils;
 
 @Service("departmentService")
 public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Department> implements DepartmentService {
 
 
+    /**
+     * 分页查询科室信息
+     *
+     * @param page
+     * @param pageSize
+     * @param hospId
+     * @param name
+     * @return
+     */
+    @Override
+    public PageUtils queryList(Integer page, Integer pageSize,Integer hospId, String name) {
+        Page<Department> departPage = new Page<>(page, pageSize);
+        Page<Department> pages = this.page(departPage, new QueryWrapper<Department>().lambda()
+                .eq(!StringUtils.isEmpty(hospId), Department::getHospId, hospId)
+                .like(!StringUtils.isEmpty(name), Department::getDepartmentName, name));
+        List<Department> records = pages.getRecords();
+        List<DepartmentVO> departmentVOList = BeanUtil.convertList(records, DepartmentVO.class);
+        PageUtils pageUtils = new PageUtils(pages);
+        pageUtils.setList(departmentVOList);
+        return pageUtils;
+    }
+
+    /**
+     * 根据指定条件查询科室的相关信息
+     *
+     * @param departmentDto
+     * @return
+     */
+    @Override
+    public List<Department> getByDepartment(DepartmentDto departmentDto) {
+        LambdaQueryWrapper<Department> wrapper = new QueryWrapper<Department>().lambda()
+                .eq(!StringUtils.isEmpty(departmentDto.getId()), Department::getId, departmentDto.getId())
+                .like(!StringUtils.isEmpty(departmentDto.getDepartmentName()), Department::getDepartmentName, departmentDto.getDepartmentName())
+                .eq(!StringUtils.isEmpty(departmentDto.getDepartmentCode()), Department::getDepartmentCode, departmentDto.getDepartmentCode())
+                .eq(!StringUtils.isEmpty(departmentDto.getHospId()), Department::getHospId, departmentDto.getHospId());
+        List<Department> departmentList = baseMapper.selectList(wrapper);
+        return departmentList;
+    }
+
+    /**
+     * 保存科室信息
+     *
+     * @param departmentRequest
+     */
+    @Override
+    public void addDepartment(DepartmentRequest departmentRequest) {
+        Department department = BeanUtil.convertObj(departmentRequest, Department.class);
+        department.setId(null);
+        department.setCreateTime(System.currentTimeMillis());
+        baseMapper.insert(department);
+    }
+
+    /**
+     * 修改科室信息
+     *
+     * @param departmentRequest
+     */
+    @Override
+    public void updateByDepartment(DepartmentRequest departmentRequest) {
+        Integer id = departmentRequest.getId();
+        Department department = baseMapper.selectById(id);
+        if (Objects.isNull(department)){
+            throw new CostException("未找到相关科室信息");
+        }
+        baseMapper.deleteById(id);
+        // 新增操作
+        department.setId(null);
+        department.setCreateTime(System.currentTimeMillis());
+        baseMapper.insert(department);
+    }
 }

+ 3 - 2
src/main/java/com/imed/costaccount/service/impl/HosptailServiceImpl.java

@@ -34,10 +34,11 @@ public class HosptailServiceImpl extends ServiceImpl<HosptailMapper, Hospital> i
      * @return
      */
     @Override
-    public PageUtils queryList(Integer page, Integer pageSize,String name) {
+    public PageUtils queryList(Integer page, Integer pageSize,Integer hospId ,String name) {
         Page<Hospital> hosptailPage = new Page<>(page, pageSize);
         Page<Hospital> pages = this.page(hosptailPage,new QueryWrapper<Hospital>()
-                .lambda().like(!StringUtils.isEmpty(name), Hospital::getName,name));
+                .lambda().eq(!StringUtils.isEmpty(hospId),Hospital::getId,hospId)
+                .like(!StringUtils.isEmpty(name), Hospital::getName,name));
         List<Hospital> records = pages.getRecords();
         List<HosptailVO> hosptailVOList = BeanUtil.convertList(records, HosptailVO.class);
         PageUtils pageUtils = new PageUtils(pages);

+ 34 - 21
src/main/java/com/imed/costaccount/web/DepartmentController.java

@@ -1,19 +1,23 @@
 package com.imed.costaccount.web;
 
 import java.util.Arrays;
-import java.util.Map;
+import java.util.List;
 
+import com.imed.costaccount.common.util.PageUtils;
 import com.imed.costaccount.common.util.Result;
 import com.imed.costaccount.model.Department;
+import com.imed.costaccount.model.User;
+import com.imed.costaccount.model.dto.DepartmentDto;
+import com.imed.costaccount.model.dto.DepartmentRequest;
 import com.imed.costaccount.service.DepartmentService;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
+import javax.validation.Valid;
 
 
 /**
@@ -33,44 +37,53 @@ public class DepartmentController {
     /**
      * 列表
      */
-    @RequestMapping("/list")
-    public Result list(@RequestParam Map<String, Object> params){
-
-        return Result.ok();
+    @GetMapping("/list")
+    @ApiOperation("分页查询科室信息")
+    public Result list(@RequestParam(defaultValue = "1", value = "page") Integer page,
+                       @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
+                       @RequestParam(value = "name",required = false) String name){
+        User user = (User) SecurityUtils.getSubject().getPrincipal();
+        Integer hospId = user.getHospId();
+        PageUtils pageUtils= departmentService.queryList(page,pageSize,hospId,name);
+        return Result.ok(pageUtils);
     }
 
 
     /**
      * 信息
      */
-    @RequestMapping("/info/{id}")
-    public Result info(@PathVariable("id") Integer id){
-		Department department = departmentService.getById(id);
-        return Result.ok(department);
+    @GetMapping("/getDepartment")
+    @ApiOperation("根据指定条件查询科室的相关信息")
+    public Result getDepartmentId(@RequestBody DepartmentDto departmentDto){
+		List<Department> departmentList = departmentService.getByDepartment(departmentDto);
+        return Result.ok(departmentList);
     }
 
     /**
      * 保存
      */
-    @RequestMapping("/save")
-    public Result save(@RequestBody Department department){
-		departmentService.save(department);
+    @PostMapping("/save")
+    @ApiOperation("保存科室相关信息")
+    public Result save(@RequestBody @Valid DepartmentRequest departmentRequest){
+		departmentService.addDepartment(departmentRequest);
         return Result.ok();
     }
 
     /**
      * 修改
      */
-    @RequestMapping("/update")
-    public Result update(@RequestBody Department department){
-		departmentService.updateById(department);
+    @PutMapping("/update")
+    @ApiOperation("修改科室信息")
+    public Result update(@RequestBody DepartmentRequest departmentRequest){
+		departmentService.updateByDepartment(departmentRequest);
         return Result.ok();
     }
 
     /**
      * 删除
      */
-    @RequestMapping("/delete")
+    @DeleteMapping("/delete")
+    @ApiOperation("删除科室信息")
     public Result delete(@RequestBody Integer[] ids){
 		departmentService.removeByIds(Arrays.asList(ids));
         return Result.ok();

+ 6 - 3
src/main/java/com/imed/costaccount/web/HosptailController.java

@@ -5,10 +5,13 @@ import java.util.Arrays;
 import com.imed.costaccount.common.util.PageUtils;
 import com.imed.costaccount.common.util.Result;
 import com.imed.costaccount.model.Hospital;
+import com.imed.costaccount.model.User;
 import com.imed.costaccount.model.dto.HosptailDto;
 import com.imed.costaccount.service.HosptailService;
+import com.sun.xml.internal.bind.v2.TODO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -44,9 +47,9 @@ public class HosptailController {
     public Result list(@RequestParam(defaultValue = "1", value = "page") Integer page,
                        @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
                        @RequestParam(value = "name",required = false) String name){
-//       TODO  User user = (User) SecurityUtils.getSubject().getPrincipal();
-
-        PageUtils pageUtils = hosptailService.queryList(page,pageSize,name);
+        User user = (User) SecurityUtils.getSubject().getPrincipal();
+        Integer hospId = user.getHospId();
+        PageUtils pageUtils = hosptailService.queryList(page,pageSize,hospId,name);
         return Result.ok(pageUtils);
     }
 

+ 1 - 0
src/main/resources/mapper/CostResponsibilityMapper.xml

@@ -9,6 +9,7 @@
         <result property="responsibilityName" column="responsibility_name"/>
         <result property="responsibilityCode" column="responsibility_code"/>
         <result property="responsibilityLevel" column="responsibility_level"/>
+        <result property="hospId" column="hosp_id"/>
         <result property="isGatherCenter" column="is_gather_center"/>
         <result property="responsibilityType" column="responsibility_type"/>
         <result property="shareLevel" column="share_level"/>