forked from kidgrow-microservices-platform

kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDepartmentController.java
@@ -3,8 +3,10 @@
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.usercenter.model.SysDepartment;
import com.kidgrow.usercenter.service.ISysDepartmentService;
import com.kidgrow.usercenter.service.ISysOrganizationService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -17,12 +19,14 @@
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
 *
 * @Description: 科室表
 * @Project: 用户中心
 * @CreateDate: Created in 2020-04-02 18:32:36 <br>
@@ -36,6 +40,8 @@
public class SysDepartmentController  extends BaseController{
    @Autowired
    private ISysDepartmentService sysDepartmentService;
    @Autowired
    private ISysOrganizationService sysOrganizationService;
    /**
     * 列表
@@ -75,6 +81,20 @@
    }
    /**
     * 检查科室名是否存在
     */
    @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")));
        }
        return ResultBody.ok().msg("");
    }
    /**
     * 新增or更新
     */
    @ApiOperation(value = "保存")
@@ -87,19 +107,45 @@
            }
            return ResultBody.failed().msg(errMsg.toString());
        } else {
            //先检查该医院下的该科室名是否已经存在?
            SysDepartment sysDepartmentTemp=new SysDepartment();
            sysDepartmentTemp.setHospitalId(sysDepartment.getHospitalId());
            sysDepartmentTemp.setDepartmentName(sysDepartment.getDepartmentName().trim());
            sysDepartmentTemp=sysDepartmentService.findByObject(sysDepartmentTemp);
            if (sysDepartmentTemp!=null) {
                return ResultBody.failed().msg(String.format("该医院下已经存在 %s",sysDepartment.getDepartmentName()));
            //先检查该医院该科室是否已经存在
            Map<String, Object> checkDepartment=new HashMap<String,Object>();
            checkDepartment.put("page", 1);
            checkDepartment.put("limit", 1);
            checkDepartment.put("hospitalId",sysDepartment.getHospitalId());
            checkDepartment.put("departmentName",sysDepartment.getDepartmentName());
            if (sysDepartmentService.findList(checkDepartment).getData().size()>0) {
                return ResultBody.failed().msg(String.format("该医院下已经存在科室 %s", sysDepartment.getDepartmentName()));
            }
            //先检查是否存在组织信息
            SysOrganization sysOrganization=new SysOrganization();
            if(sysDepartment.getOrgId()!=null){
                sysOrganization.setId(sysDepartment.getOrgId());}
            else{
                sysOrganization.setOrgName(sysDepartment.getDepartmentName());
                //临时暂用其它字段承载数据
                sysOrganization.setOrgParentId(sysDepartment.getUpdateUserId());
            }
            sysOrganization=sysOrganizationService.findByObject(sysOrganization);
            if(sysOrganization==null)
            {
                //创建一个组织
                sysOrganization=new SysOrganization();
                sysOrganization.setOrgName(sysDepartment.getDepartmentName());
                sysOrganization.setOrgAttr(2);
                sysOrganization.setOrgLevel(2);
                //临时暂用其它字段承载数据
                sysOrganization.setOrgParentId(sysDepartment.getUpdateUserId());
            }
            else
            {
                sysOrganization.setOrgName(sysDepartment.getDepartmentName());
            }
            boolean org=sysOrganizationService.saveOrUpdate(sysOrganization);
            sysDepartment.setOrgId(sysOrganization.getId());
            boolean v= sysDepartmentService.saveOrUpdate(sysDepartment);
            if(v) {
                return ResultBody.ok().data(sysDepartment).msg("保存成功");
            }
            else {
            } else {
                return ResultBody.failed().msg("保存失败");
            }
        }
@@ -114,14 +160,14 @@
        boolean v= sysDepartmentService.removeById(id);
        if(v) {
            return ResultBody.ok().msg("删除成功");
        }
        else {
        } else {
            return ResultBody.failed().msg("删除失败");
        }
    }
    /**
     * 根据医院获取  组织,通过组织,获取科室;
     *
     * @param params
     * @return
     */