forked from kidgrow-microservices-platform

houruijun
2020-08-13 d526d571cbe0a950e777fb325978d72f3ddb302b
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java
@@ -1,12 +1,17 @@
package com.kidgrow.usercenter.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.kidgrow.common.annotation.LoginUser;
import com.kidgrow.common.model.ResultBody;
import com.kidgrow.common.model.SysOrganization;
import com.kidgrow.common.model.SysUser;
import com.kidgrow.common.model.SysUserOrg;
import com.kidgrow.usercenter.model.SysDepartment;
import com.kidgrow.usercenter.model.SysHospital;
import com.kidgrow.usercenter.service.ISysOrganizationService;
import com.kidgrow.usercenter.service.ISysUserOrgService;
import com.kidgrow.usercenter.service.impl.SysDepartmentServiceImpl;
import com.kidgrow.usercenter.service.impl.SysHospitalServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@@ -29,6 +34,10 @@
    private ISysUserOrgService sysUserOrgService;
    @Autowired
    private ISysOrganizationService sysOrganizationService;
    @Autowired
    private SysDepartmentServiceImpl sysDepartmentService;
    @Autowired
    private SysHospitalServiceImpl sysHospitalService;
    @PostMapping("getListByMap")
    public List<SysUserOrg> getListByMap(@RequestParam Map<String, Object> map) {
@@ -59,7 +68,17 @@
        } else {
            if (sysUserOrg.getUserId() != null) {
                String createUserOrgCode = "";
                List<SysOrganization> userOrgData = sysUser.getOrganizations();
                List<SysOrganization> userOrgData = new ArrayList<>();
                SysOrganization byId = sysOrganizationService.getById(sysUserOrg.getOrgId());
                if(byId==null){
                    return ResultBody.failed().data(null).msg("该组织id异常");
                }
                SysOrganization parentId = sysOrganizationService.getById(byId.getOrgParentId());
                userOrgData.add(parentId);
                userOrgData.add(byId);
                if(parentId==null){
                    return ResultBody.failed().data(null).msg("该组织id异常");
                }
                if (userOrgData != null) {
                    if (userOrgData.size() == 2) {
                        createUserOrgCode = userOrgData.get(1).getOrgCode();
@@ -74,9 +93,29 @@
                        for (int i = 0; i < userOrgList.size(); i++) {
                            if (sysUserOrg.getId().equals(userOrgList.get(i).getId())) {
                                userOrgList.get(i).setOrgId(sysUserOrg.getOrgId());
                            }
                            else
                            {
                                userOrgList.get(i).setFromLevel(2);
                                //查询  科室
                                QueryWrapper queryWrapper = new QueryWrapper();
                                queryWrapper.eq("org_id", sysUserOrg.getOrgId());
                                queryWrapper.eq("is_del", 0);
                                queryWrapper.eq("enabled", 1);
                                List<SysDepartment> list = sysDepartmentService.list(queryWrapper);
                                if (!list.isEmpty()) {
                                    userOrgList.get(i).setFromId(list.get(0).getId());
                                } else {
                                    userOrgList.get(i).setFromId(null);
                                }
                            } else {
                                QueryWrapper queryWrapper = new QueryWrapper();
                                queryWrapper.eq("org_id", sysUserOrg.getUpdateUserId());
                                queryWrapper.eq("is_del", 0);
                                queryWrapper.eq("enabled", 1);
                                List<SysHospital> listHospital = sysHospitalService.list(queryWrapper);
                                if (!listHospital.isEmpty()) {
                                    userOrgList.get(i).setFromId(listHospital.get(0).getId());
                                }
                                userOrgList.get(i).setFromLevel(1);
                                userOrgList.get(i).setOrgId(sysUserOrg.getUpdateUserId());
                            }
                            userOrgList.get(i).setEnabled(sysUserOrg.getEnabled());
@@ -93,15 +132,37 @@
                            sysUserOrgTemp.setUserId(sysUserOrg.getUserId());
                            sysUserOrgTemp.setEnabled(sysUserOrg.getEnabled());
                            sysUserOrgTemp.setCreateUserOrgCode(createUserOrgCode);
                            userOrgList.add(sysUserOrgTemp);
                            sysUserOrgTemp.setFromLevel(2);
                            sysUserOrg.setUpdateUserId(0L);
                            //查询  科室
                            QueryWrapper queryWrapper = new QueryWrapper();
                            queryWrapper.eq("org_id", sysUserOrg.getOrgId());
                            queryWrapper.eq("is_del", 0);
                            queryWrapper.eq("enabled", 1);
                            List<SysDepartment> list = sysDepartmentService.list(queryWrapper);
                            if (!list.isEmpty()) {
                                sysUserOrgTemp.setFromId(list.get(0).getId());
                            }
                            userOrgList.add(sysUserOrgTemp);
                            //查询 医院
                            queryWrapper = new QueryWrapper();
                            queryWrapper.eq("org_id", sysUserOrg.getUpdateUserId());
                            queryWrapper.eq("is_del", 0);
                            queryWrapper.eq("enabled", 1);
                            List<SysHospital> listHospital = sysHospitalService.list(queryWrapper);
                            if (!listHospital.isEmpty()) {
                                sysUserOrgTemp.setFromId(listHospital.get(0).getId());
                            }
                            sysUserOrgTemp.setFromLevel(1);
//                            sysUserOrg.setUpdateUserId(0L);
                            sysUserOrg.setOrgId(sysOrganization.getOrgParentId());
                            sysUserOrg.setCreateUserOrgCode(createUserOrgCode);
                            userOrgList.add(sysUserOrg);
                        } else {
                            return ResultBody.failed().data(null).msg("该组织的上级组织数据异常!");
                        }
                    }
                    //查询
                    boolean v = sysUserOrgService.saveOrUpdateBatch(userOrgList);
                    if (v) {
                        return ResultBody.ok().data(sysUserOrg).msg("保存成功");