forked from kidgrow-microservices-platform

zhaoxiaohao
2020-04-10 cba67280f021ea732581829c472a703a1e303824
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
package com.kidgrow.usercenter.controller;
 
import java.util.Map;
import com.kidgrow.common.controller.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.ObjectError;
import org.springframework.web.bind.annotation.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
 
import com.kidgrow.usercenter.model.SysDepartment;
import com.kidgrow.usercenter.service.ISysDepartmentService;
import com.kidgrow.common.model.*;
 
import org.springframework.validation.BindingResult;
import javax.validation.Valid;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
 
 
/**
 * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
 * @Description: 科室表
 * @Project: 用户中心
 * @CreateDate: Created in 2020-04-02 18:32:36 <br>
 * @Author: <a href="4345453@kidgrow.com">liuke</a>
 * @version: 1.0
 */
@Slf4j
@RestController
@RequestMapping("/sysdepartment")
@Api(tags = "科室表")
public class SysDepartmentController  extends BaseController{
    @Autowired
    private ISysDepartmentService sysDepartmentService;
 
    /**
     * 列表
     */
    @ApiOperation(value = "查询列表")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "page", value = "分页起始位置", required = true, dataType = "Integer"),
            @ApiImplicitParam(name = "limit", value = "分页结束位置", required = true, dataType = "Integer")
    })
    @GetMapping
    public ResultBody<PageResult> list(@RequestParam Map<String, Object> params) {
        if(params.size()==0){
            params.put("page",1);
            params.put("limit",10);
        }
        return ResultBody.ok().data(sysDepartmentService.findList(params));
    }
 
    /**
     * 查询
     */
    @ApiOperation(value = "查询")
    @GetMapping("/{id}")
    public ResultBody findById(@PathVariable Long id) {
        SysDepartment model = sysDepartmentService.getById(id);
        return ResultBody.ok().data(model).msg("查询成功");
    }
 
    /**
     * 根据SysDepartment当做查询条件进行查询
     */
    @ApiOperation(value = "根据SysDepartment当做查询条件进行查询")
    @PostMapping("/query")
    public ResultBody findByObject(@RequestBody SysDepartment sysDepartment) {
        SysDepartment model = sysDepartmentService.findByObject(sysDepartment);
        return ResultBody.ok().data(model).msg("查询成功");
    }
 
    /**
     * 新增or更新
     */
    @ApiOperation(value = "保存")
    @PostMapping
    public ResultBody save(@Valid @RequestBody SysDepartment sysDepartment, BindingResult bindingResult) {
        List<String> errMsg= new ArrayList<>();
        if (bindingResult.hasErrors()) {
            for (ObjectError error : bindingResult.getAllErrors()) {
                errMsg.add(error.getDefaultMessage());
            }
            return ResultBody.failed().msg(errMsg.toString());
        } else {
            boolean v= sysDepartmentService.saveOrUpdate(sysDepartment);
            if(v) {
                return ResultBody.ok().data(sysDepartment).msg("保存成功");
            }
            else {
                return ResultBody.failed().msg("保存失败");
            }
        }
    }
 
    /**
     * 删除
     */
    @ApiOperation(value = "删除")
    @DeleteMapping("/{id}")
    public ResultBody delete(@PathVariable Long id) {
        boolean v= sysDepartmentService.removeById(id);
        if(v) {
            return ResultBody.ok().msg("删除成功");
        }
        else {
            return ResultBody.failed().msg("删除失败");
        }
    }
 
    /**
     * 根据医院获取  组织,通过组织,获取科室;
     * @param params
     * @return
     */
    @GetMapping("findListByHospitalId")
    public ResultBody findListByHospitalId(@RequestParam Map<String, Object> params) {
        return sysDepartmentService.findListByHospitalId(params);
    }
}