Commit 976676c8 authored by tangwei's avatar tangwei

增加基础管理人员添加角色权限

parent 5231b1ee
......@@ -125,4 +125,16 @@ public class PersonAccount extends BaseEntity {
@TableField(exist = false)
private String ythPermission;
// 户用内部区域公司
@TableField(exist = false)
private List<String> regionalCompaniesSeq;
// 户用外部区域公司
@TableField(exist = false)
private List<String> externalRegionalCompaniesSeq;
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.jxiop.biz.amosprojectmapper.UserEmpowerMapper">
<select id="getCompanyBoList" resultType="com.yeejoin.amos.feign.privilege.model.CompanyModel">
SELECT
privilege_company.ORG_CODE orgCode,
privilege_company.SEQUENCE_NBR sequenceNbr
FROM privilege_company WHERE privilege_company.IS_DELETED=0
<if test="companyType != null and companyType != ''">
AND privilege_company.COMPANY_TYPE=#{companyType}
</if>
<if test="level != null and level != ''">
AND privilege_company.`LEVEL`=#{level}
</if>
<if test="companyOrgCode != null ">
AND privilege_company.ORG_CODE IN
<foreach collection="companyOrgCode" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</select>
</mapper>
......@@ -2,9 +2,13 @@ package com.yeejoin.amos.boot.module.jxiop.biz.amosprojectmapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.module.jxiop.biz.entity.StdUserEmpower;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
import java.util.Map;
/**
......@@ -15,4 +19,9 @@ import java.util.Map;
public interface UserEmpowerMapper extends BaseMapper<StdUserEmpower> {
@Select("select company_name as companyName , level from privilege_company where org_code = #{orgCode}")
Map<String,String> getCompanyInfoByOrgCode(String orgCode);
List<CompanyModel> getCompanyBoList(@Param("companyType") String companyType,
@Param("level") String level,
@Param("companyOrgCode") List<String> companyOrgCode
);
}
package com.yeejoin.amos.boot.module.jxiop.biz.entity;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
......@@ -32,7 +33,7 @@ public class StdUserEmpower extends BaseEntity {
/**
* 单位orgcode
*/
@TableField(value = "amos_org_code",typeHandler = FastjsonTypeHandler.class)
@TableField(value = "amos_org_code",typeHandler = FastjsonTypeHandler.class,updateStrategy = FieldStrategy.IGNORED)
private List<String> amosOrgCode;
......@@ -43,4 +44,12 @@ public class StdUserEmpower extends BaseEntity {
@TableField("permission_type")
private String permissionType;
/**
* 单位orgcode
*/
@TableField(value = "eliminate_amos_org_code",typeHandler = FastjsonTypeHandler.class,updateStrategy = FieldStrategy.IGNORED)
private List<String> eliminateAmosOrgCode;
}
......@@ -370,6 +370,42 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
stdUserEmpower.setAmosOrgCode(Arrays.asList(personAccount.getYthPermission()));
stdUserEmpower.setAmosUserId(personAccount.getPuserId());
userEmpowerMapper.insert(stdUserEmpower);
//----------------------------户用管理端区域公司---------------------------
StdUserEmpower stdUserEmpowerhygf = new StdUserEmpower();
List<CompanyModel> co= userEmpowerMapper.getCompanyBoList("region",null,null);
List<String> re= personAccount.getRegionalCompaniesSeq();
if(re!=null&&!re.isEmpty()){
if(re.contains("all")){
stdUserEmpowerhygf.setAmosOrgCode(null);
}else{
stdUserEmpowerhygf.setAmosOrgCode(re);
}
}
List<String> exre= personAccount.getExternalRegionalCompaniesSeq();
// if(exre!=null&&!exre.isEmpty()){
// List<String> pexre=new ArrayList<>();
// List<CompanyModel> exreco = co.stream().filter(product -> !"area".equals(product.getLevel())).collect(Collectors.toList());
// for (CompanyModel companyModel1 : exreco) {
// if(!exre.contains(companyModel1.getOrgCode())){
// pexre.add(companyModel1.getOrgCode());
// }
// }
// stdUserEmpowerhygf.setEliminateAmosOrgCode(pexre);
// }
stdUserEmpowerhygf.setEliminateAmosOrgCode(exre);
stdUserEmpowerhygf.setPermissionType("HYGF");
stdUserEmpowerhygf.setRecDate(new Date());
stdUserEmpowerhygf.setAmosUserId(personAccount.getPuserId());
userEmpowerMapper.insert(stdUserEmpowerhygf);
//----------------------------权限表中新增数据-----------------------------
PersonAccountFed personAccountFed = new PersonAccountFed();
BeanUtils.copyProperties(personAccount, personAccountFed);
......@@ -612,6 +648,63 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
stdUserEmpower.setRecDate(new Date());
userEmpowerMapper.updateById(stdUserEmpower);
}
//户用角色权限
StdUserEmpower stdUserEmpowerhygf = userEmpowerMapper.selectOne(new QueryWrapper<StdUserEmpower>().eq("amos_user_id", personAccount.getPuserId()).eq("permission_type", "HYGF"));
if(ObjectUtils.isEmpty(stdUserEmpowerhygf)){
stdUserEmpowerhygf=new StdUserEmpower();
List<CompanyModel> co= userEmpowerMapper.getCompanyBoList("region",null,null);
List<String> re= personAccount.getRegionalCompaniesSeq();
if(re!=null&&!re.isEmpty()){
if(re.contains("all")){
stdUserEmpowerhygf.setAmosOrgCode(null);
}else{
stdUserEmpowerhygf.setAmosOrgCode(re);
}
}
List<String> exre= personAccount.getExternalRegionalCompaniesSeq();
// if(exre!=null&&!exre.isEmpty()){
// List<String> pexre=new ArrayList<>();
// List<CompanyModel> exreco = co.stream().filter(product -> !"area".equals(product.getLevel())).collect(Collectors.toList());
// for (CompanyModel companyModel1 : exreco) {
// if(!exre.contains(companyModel1.getOrgCode())){
// pexre.add(companyModel1.getOrgCode());
// }
// }
// stdUserEmpowerhygf.setEliminateAmosOrgCode(pexre);
// }
stdUserEmpowerhygf.setEliminateAmosOrgCode(exre);
stdUserEmpowerhygf.setPermissionType("HYGF");
stdUserEmpowerhygf.setRecDate(new Date());
stdUserEmpowerhygf.setAmosUserId(personAccount.getPuserId());
userEmpowerMapper.insert(stdUserEmpowerhygf);
}else {
// List<CompanyModel> co= userEmpowerMapper.getCompanyBoList("region",null,null);
List<String> re= personAccount.getRegionalCompaniesSeq();
if(re!=null&&!re.isEmpty()){
if(re.contains("all")){
stdUserEmpowerhygf.setAmosOrgCode(null);
}else{
stdUserEmpowerhygf.setAmosOrgCode(re);
}
}
List<String> exre= personAccount.getExternalRegionalCompaniesSeq();
// if(exre!=null&&!exre.isEmpty()){
// List<String> pexre=new ArrayList<>();
// List<CompanyModel> exreco = co.stream().filter(product -> !"area".equals(product.getLevel())).collect(Collectors.toList());
// for (CompanyModel companyModel1 : exreco) {
// if(!exre.contains(companyModel1.getOrgCode())){
// pexre.add(companyModel1.getOrgCode());
// }
// }
// stdUserEmpowerhygf.setEliminateAmosOrgCode(pexre);
// }
stdUserEmpowerhygf.setEliminateAmosOrgCode(exre);
stdUserEmpowerhygf.setPermissionType("HYGF");
stdUserEmpowerhygf.setRecDate(new Date());
stdUserEmpowerhygf.setAmosUserId(personAccount.getPuserId());
userEmpowerMapper.updateById(stdUserEmpowerhygf);
}
personAccountService.updateById(personAccount);
PersonAccountFed personAccountFed = new PersonAccountFed();
......@@ -670,6 +763,24 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
if(!ObjectUtils.isEmpty(stdUserEmpower)){
personAccount.setYthPermission(stdUserEmpower.getAmosOrgCode().get(0));
}
StdUserEmpower stdUserEmpowerhygf = userEmpowerMapper.selectOne(new QueryWrapper<StdUserEmpower>().eq("amos_user_id", personAccount.getPuserId()).eq("permission_type", "HYGF"));
if(!ObjectUtils.isEmpty(stdUserEmpowerhygf)){
if(stdUserEmpowerhygf.getAmosOrgCode()==null){
List<String> list2 = new ArrayList<>();
list2.add("all");
personAccount.setRegionalCompaniesSeq(list2);
}else{
personAccount.setRegionalCompaniesSeq(stdUserEmpowerhygf.getAmosOrgCode());
}
personAccount.setExternalRegionalCompaniesSeq(stdUserEmpowerhygf.getEliminateAmosOrgCode());
}
personDto.setPersonUser(personUser);
personDto.setPersonCertificate(certificationInfo);
personDto.setPersonAccount(personAccount);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment