forked from kidgrow-microservices-platform

houruijun
2020-08-09 e84df331a8ee600d369eeac4172b750db563926d
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDepartmentController.java
@@ -1,9 +1,12 @@
package com.kidgrow.usercenter.controller;
import com.kidgrow.common.annotation.LoginUser;
import com.kidgrow.common.controller.BaseController;
import com.kidgrow.common.model.PageResult;
import com.kidgrow.common.model.ResultBody;
import com.kidgrow.common.model.SysOrganization;
import com.kidgrow.common.utils.StringUtils;
import com.kidgrow.common.model.SysUser;
import com.kidgrow.usercenter.model.SysDepartment;
import com.kidgrow.usercenter.service.ISysDepartmentService;
import com.kidgrow.usercenter.service.ISysOrganizationService;
@@ -20,7 +23,6 @@
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -86,22 +88,31 @@
     */
    @ApiOperation(value = "检查科室名是否存在")
    @GetMapping("/checkName")
    public ResultBody checkDepName(@RequestParam Map<String, Object> params) {
        params.put("page", 1);
        params.put("limit", 1);
        if (sysDepartmentService.findList(params).getData().size() > 0) {
            return ResultBody.failed().msg(String.format("该医院下已经存在科室 %s", params.get("departmentName")));
    public ResultBody checkDepName(Long hospitalId,String departmentName) {
        if (departMentNameIsUsed(hospitalId,departmentName)) {
            return ResultBody.failed().msg(String.format("该医院下已经存在科室 %s", departmentName));
        }
        return ResultBody.ok().msg("");
    }
    /**
     * 检查科室名是否存在
     * @param hosId
     * @param departmentName
     * @return
     */
    private Boolean departMentNameIsUsed(Long hosId,String departmentName)
    {
        String departName=sysDepartmentService.checkDepartmentName(hosId,departmentName);
        return StringUtils.isNotBlank(departName);
    }
    /**
     * 新增or更新
     */
    @ApiOperation(value = "保存")
    @PostMapping
    @PostMapping("/{hosId}")
    @Transactional(rollbackFor = {Exception.class})
    public ResultBody save(@Valid @RequestBody SysDepartment sysDepartment, BindingResult bindingResult) {
    public ResultBody save(@Valid @RequestBody SysDepartment sysDepartment,@PathVariable Long hosId, BindingResult bindingResult,@LoginUser SysUser sysUser) {
        List<String> errMsg = new ArrayList<>();
        if (bindingResult.hasErrors()) {
            for (ObjectError error : bindingResult.getAllErrors()) {
@@ -111,11 +122,8 @@
        } else {
            //先检查该医院该科室是否已经存在
            if (sysDepartment.getId() == null) {
                Map<String, Object> checkDepartment = new HashMap<String, Object>();
                checkDepartment.put("page", 1);
                checkDepartment.put("limit", 1);
                checkDepartment.put("departmentName", sysDepartment.getDepartmentName());
                if (sysDepartmentService.findList(checkDepartment).getData().size() > 0) {
                if (departMentNameIsUsed(hosId,sysDepartment.getDepartmentName())) {
                    return ResultBody.failed().msg(String.format("该医院下已经存在科室 %s", sysDepartment.getDepartmentName()));
                }
            }
@@ -137,6 +145,9 @@
                sysOrganization.setOrgLevel(2);
                //临时暂用其它字段承载数据
                sysOrganization.setOrgParentId(sysDepartment.getUpdateUserId());
                if(!sysUser.getOrganizations().isEmpty()){
                    sysOrganization.setCreateUserOrgCode(sysUser.getOrganizations().get(1).getOrgCode());
                }
            } else {
                sysOrganization.setOrgName(sysDepartment.getDepartmentName());
            }