Commit 42e451f6 authored by 高建强's avatar 高建强

item:新增获取用户单位归属接口

parent 192065d7
package com.yeejoin.amos.boot.module.common.api.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 单位归属
*
* @author gaojianqiang
* @date 2021-08-19
*/
@Data
@ApiModel(value = "UserUnitDto", description = "用户单位归属")
public class UserUnitDto {
@ApiModelProperty(value = "人员类型1-维保公司;2-业主单位")
private String identityType;
@ApiModelProperty(value = "人员id")
private String personSeq;
@ApiModelProperty(value = "人员名称")
private String personName;
@ApiModelProperty(value = "公司id")
private String companyId;
}
package com.yeejoin.amos.boot.module.common.api.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum UserUnitTypeEnum {
MAINTENANCE_COMPANY("1", "维保公司"),
OWNER_UNIT("2", "业主单位");
private String value;
private String name;
}
...@@ -68,4 +68,6 @@ public interface OrgUsrMapper extends BaseMapper<OrgUsr> { ...@@ -68,4 +68,6 @@ public interface OrgUsrMapper extends BaseMapper<OrgUsr> {
* 查询单位基本信息列表和单位下所有的重点部位数量。 * 查询单位基本信息列表和单位下所有的重点部位数量。
*/ */
List<OrgUsrTreeDto> getCompanyAndKeySite(Long companyId); List<OrgUsrTreeDto> getCompanyAndKeySite(Long companyId);
List<UserUnitDto> getUserUnit(String id, String type, String code);
} }
package com.yeejoin.amos.boot.module.common.api.service; package com.yeejoin.amos.boot.module.common.api.service;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.module.common.api.dto.*; import com.yeejoin.amos.boot.module.common.api.dto.*;
import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormInstance; import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormInstance;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsr; import com.yeejoin.amos.boot.module.common.api.entity.OrgUsr;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/** /**
* 机构/部门/人员表 服务类 * 机构/部门/人员表 服务类
...@@ -18,163 +16,172 @@ import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; ...@@ -18,163 +16,172 @@ import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
* @date 2021-06-18 * @date 2021-06-18
*/ */
public interface IOrgUsrService { public interface IOrgUsrService {
/** /**
* 查询上级单位 * 查询上级单位
* @param parent_id *
* @return * @param parent_id
*/ * @return
*/
String selectUpUnitByParam(String parent_id); String selectUpUnitByParam(String parent_id);
/** /**
* 获取父级 * 获取父级
* @param topId *
* @param entityList * @param topId
* @param packageURL * @param entityList
* @param IDMethodName * @param packageURL
* @param IDHierarchy * @param IDMethodName
* @param NAMEMethodName * @param IDHierarchy
* @param PARENTIDMethodName * @param NAMEMethodName
* @param OrgTypeMethodName * @param PARENTIDMethodName
* @return * @param OrgTypeMethodName
* @throws Exception * @return
*/ * @throws Exception
List<OrgMenuDto> getTree(Long topId, Collection entityList, String packageURL, String IDMethodName, int IDHierarchy, */
String NAMEMethodName, String PARENTIDMethodName, String OrgTypeMethodName) throws Exception; List<OrgMenuDto> getTree(Long topId, Collection entityList, String packageURL, String IDMethodName, int IDHierarchy,
String NAMEMethodName, String PARENTIDMethodName, String OrgTypeMethodName) throws Exception;
/**
* 获取子数据集合
*
* @param topId
* @param entityList
* @param packageURL
* @param IDMethodName
* @param IDHierarchy
* @param NAMEMethodName
* @param PARENTIDMethodName
* @param OrgTypeMethodName
* @return
* @throws Exception
*/
List<OrgMenuDto> getSub(Long topId, Collection entityList, String packageURL, String IDMethodName, int IDHierarchy,
String NAMEMethodName, String PARENTIDMethodName, String OrgTypeMethodName) throws Exception;
/**
* 组装融合调度单位人员信息
*
* @param ids
* @return
* @throws Exception
*/
List<Map<String, Object>> returnCompanyPersonMsg(List<Long> ids) throws Exception;
/**
* 获取动态表单数据
*
* @param id
* @return
* @throws Exception
*/
List<FormValue> getFormValue(Long id) throws Exception;
/**
* 保存 机构/部门/人员基本信息
*
* @param
* @throws Exception
*/
void saveOrgUsr(OrgUsr orgUsr, OrgUsr oriOrgUsr) throws Exception;
/**
* 新增机构/部门/人员基本信息和动态表单数据
*
* @param orgUsr
* @param alertFromValuelist
*/
void saveOrgUsrDynamicFormInstance(OrgUsr orgUsr, List<DynamicFormInstance> alertFromValuelist) throws Exception;
/**
* 更新机构/部门/人员基本信息和动态表单数据
*
* @param instanceId 实例id
* @param fromValueList 动态表单数据列表
* @throws Exception
*/
void updateDynamicFormInstance(Long instanceId, List<DynamicFormInstance> fromValueList) throws Exception;
/**
* @param id
* @throws Exception
*/
Map<String, Object> selectForShowById(OrgUsr orgUsr, Long id) throws Exception;
List<OrgUsr> selectCompanyDepartmentMsg();
void saveOrgUsr(OrgUsrDto OrgUsrDto) throws Exception;
void saveOrgPerson(OrgPersonDto OrgPersonDto) throws Exception;
void updateByIdOrgUsr(OrgUsrDto OrgUsrDto, Long id) throws Exception;
void updateByIdOrgPerson(OrgPersonDto OrgPersonDto, Long id) throws Exception;
OrgUsrFormDto selectCompanyById(Long id) throws Exception;
IPage bizOrgTypeListPage(String pageNum, String pageSize, String bizOrgType) throws Exception;
void saveDepartment(List<OrgDepartmentDto> OrgDepartmentDto, Long id) throws Exception;
void saveCompany(List<OrgUsrDto> OrgUsrDto) throws Exception;
OrgPersonFormDto selectPersonById(Long id) throws Exception;
OrgPersonFormDto selectPersonByIdDetail(Long id) throws Exception;
List<OrgMenuDto> selectPersonTree() throws Exception;
void savePersonList(List<OrgPersonDto> OrgPersonDto) throws Exception;
void saveOrgDepartment(OrgDepartmentDto OrgDepartmentDto) throws Exception;
void updateByIdOrgDepartment(OrgDepartmentDto OrgDepartmentDto, Long id) throws Exception;
OrgDepartmentFormDto selectDepartmentById(Long id) throws Exception;
List<Map<String, Object>> selectForShowByListId(List<Long> ids) throws Exception;
/**
* * @param null
*
* @return <PRE>
* author tw
* date 2021/7/20
* </PRE>
* 列表
*/
List<CompanyDto> listContractDto(Integer pageNum, Integer pageSize, RequestData requestData);
/** /**
* 获取子数据集合 * * @param null
* @param topId *
* @param entityList * @return <PRE>
* @param packageURL * author tw
* @param IDMethodName * date 2021/7/20
* @param IDHierarchy * </PRE>
* @param NAMEMethodName * 统计
* @param PARENTIDMethodName */
* @param OrgTypeMethodName Integer listContractDtoCount(RequestData par);
* @return
* @throws Exception
*/
List<OrgMenuDto> getSub(Long topId, Collection entityList, String packageURL, String IDMethodName, int IDHierarchy,
String NAMEMethodName, String PARENTIDMethodName, String OrgTypeMethodName) throws Exception;
/** /**
* 组装融合调度单位人员信息 * * @param null
* @param ids *
* @return * @return <PRE>
* @throws Exception * author tw
*/ * date 2021/7/26
List<Map<String, Object>> returnCompanyPersonMsg(List<Long> ids) throws Exception; * </PRE>
*/
/** List<OrgUsrzhDto> getOrgUsrzhDto(String name);
* 获取动态表单数据
* @param id
* @return
* @throws Exception
*/
List<FormValue> getFormValue(Long id) throws Exception;
/** List<ESOrgUsrDto> selectByIddata(String name);
* 保存 机构/部门/人员基本信息
* @param
* @throws Exception
*/
void saveOrgUsr (OrgUsr orgUsr, OrgUsr oriOrgUsr) throws Exception;
/** List<Map<String, Object>> getparent();
* 新增机构/部门/人员基本信息和动态表单数据
* @param orgUsr
* @param alertFromValuelist
*/
void saveOrgUsrDynamicFormInstance (OrgUsr orgUsr,List<DynamicFormInstance> alertFromValuelist)throws Exception;
/** List<OrgUsrExcelDto> exportToExcel();
* 更新机构/部门/人员基本信息和动态表单数据
*
* @param instanceId 实例id
* @param fromValueList 动态表单数据列表
* @throws Exception
*/
void updateDynamicFormInstance(Long instanceId, List<DynamicFormInstance> fromValueList)throws Exception;
/** UserUnitDto getUserUnit(String id, String type, String code);
*
* @param id
* @throws Exception
*/
Map<String, Object> selectForShowById (OrgUsr orgUsr,Long id) throws Exception;
List<OrgUsr> selectCompanyDepartmentMsg();
void saveOrgUsr( OrgUsrDto OrgUsrDto) throws Exception;
void saveOrgPerson( OrgPersonDto OrgPersonDto) throws Exception;
void updateByIdOrgUsr(OrgUsrDto OrgUsrDto,Long id) throws Exception;
void updateByIdOrgPerson(OrgPersonDto OrgPersonDto,Long id) throws Exception;
OrgUsrFormDto selectCompanyById(Long id) throws Exception;
IPage bizOrgTypeListPage(String pageNum, String pageSize, String bizOrgType) throws Exception;
void saveDepartment(List<OrgDepartmentDto> OrgDepartmentDto, Long id)throws Exception;
void saveCompany(List<OrgUsrDto> OrgUsrDto)throws Exception;
OrgPersonFormDto selectPersonById(Long id) throws Exception;
OrgPersonFormDto selectPersonByIdDetail(Long id) throws Exception;
List<OrgMenuDto> selectPersonTree() throws Exception;
void savePersonList (List <OrgPersonDto> OrgPersonDto)throws Exception;
void saveOrgDepartment(OrgDepartmentDto OrgDepartmentDto) throws Exception;
void updateByIdOrgDepartment ( OrgDepartmentDto OrgDepartmentDto,Long id) throws Exception;
OrgDepartmentFormDto selectDepartmentById(Long id) throws Exception;
List<Map<String, Object>> selectForShowByListId(List<Long> ids) throws Exception;
/**
* * @param null
* @return
* <PRE>
* author tw
* date 2021/7/20
* </PRE>
* 列表
*/
List<CompanyDto> listContractDto(Integer pageNum, Integer pageSize, RequestData requestData);
/**
* * @param null
* @return
* <PRE>
* author tw
* date 2021/7/20
* </PRE>
* 统计
*/
Integer listContractDtoCount(RequestData par);
/**
* * @param null
* @return
* <PRE>
* author tw
* date 2021/7/26
* </PRE>
*/
List<OrgUsrzhDto> getOrgUsrzhDto(String name);
List<ESOrgUsrDto> selectByIddata(String name);
List< Map<String,Object>> getparent();
List< OrgUsrExcelDto> exportToExcel();
/** /**
* 根据登陆人获取公司部门人员树 * 根据登陆人获取公司部门人员树
......
...@@ -307,8 +307,28 @@ LEFT JOIN ( ...@@ -307,8 +307,28 @@ LEFT JOIN (
FROM important_companys FROM important_companys
</select> </select>
<select id="getUserUnit" resultType="com.yeejoin.amos.boot.module.common.api.dto.UserUnitDto">
SELECT
u.sequence_nbr AS personSeq,
u.biz_org_name AS personName,
'2' AS identityType,
IFNULL( LEFT ( u.biz_org_code, 6 ), '' ) AS companyId
FROM
`cb_org_usr` u
<where>
<if test="id != null and id != ''">
u.amos_org_id = #{id}
</if>
<if test="type != null and type != ''">
AND u.biz_org_type = #{type}
</if>
<if test="code != null and code != ''">
AND u.biz_org_code LIKE CONCAT(#{code}, '%')
</if>
</where>
ORDER BY
u.sequence_nbr DESC
</select>
<select id="exportToExcel" resultType="com.yeejoin.amos.boot.module.common.api.dto.OrgUsrExcelDto"> <select id="exportToExcel" resultType="com.yeejoin.amos.boot.module.common.api.dto.OrgUsrExcelDto">
select select
a.biz_org_name bizOrgName, a.biz_org_name bizOrgName,
......
package com.yeejoin.amos.boot.module.common.biz.controller; package com.yeejoin.amos.boot.module.common.biz.controller;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import com.yeejoin.amos.boot.module.common.api.dto.*;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.elasticsearch.core.SearchHits;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
...@@ -29,18 +8,25 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -29,18 +8,25 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.constants.CommonConstant; import com.yeejoin.amos.boot.biz.common.constants.CommonConstant;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.utils.NameUtils; import com.yeejoin.amos.boot.biz.common.utils.NameUtils;
import com.yeejoin.amos.boot.module.common.api.dto.CompanyPerson; import com.yeejoin.amos.boot.module.common.api.dto.*;
import com.yeejoin.amos.boot.module.common.api.dto.ESOrgUsrDto;
import com.yeejoin.amos.boot.module.common.api.dto.OrgDepartmentDto;
import com.yeejoin.amos.boot.module.common.api.dto.OrgMenuDto;
import com.yeejoin.amos.boot.module.common.api.dto.OrgUsrDto;
import com.yeejoin.amos.boot.module.common.api.dto.OrgUsrFormDto;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsr; import com.yeejoin.amos.boot.module.common.api.entity.OrgUsr;
import com.yeejoin.amos.boot.module.common.biz.service.impl.ESOrgUsrService; import com.yeejoin.amos.boot.module.common.biz.service.impl.ESOrgUsrService;
import com.yeejoin.amos.boot.module.common.biz.service.impl.OrgUsrServiceImpl; import com.yeejoin.amos.boot.module.common.biz.service.impl.OrgUsrServiceImpl;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/** /**
...@@ -52,14 +38,14 @@ import io.swagger.annotations.ApiOperation; ...@@ -52,14 +38,14 @@ import io.swagger.annotations.ApiOperation;
@RestController @RestController
@Api(tags = "单位Api") @Api(tags = "单位Api")
@RequestMapping(value = "/org-usr") @RequestMapping(value = "/org-usr")
public class OrgUsrController extends BaseController { public class OrgUsrController extends BaseController {
@Autowired @Autowired
OrgUsrServiceImpl iOrgUsrService; OrgUsrServiceImpl iOrgUsrService;
@Autowired @Autowired
ESOrgUsrService eSOrgUsrService; ESOrgUsrService eSOrgUsrService;
/** /**
* 新增单位信息 * 新增单位信息
* *
...@@ -69,8 +55,8 @@ public class OrgUsrController extends BaseController { ...@@ -69,8 +55,8 @@ public class OrgUsrController extends BaseController {
@RequestMapping(value = "/save", method = RequestMethod.POST) @RequestMapping(value = "/save", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "新增单位信息", notes = "新增单位信息") @ApiOperation(httpMethod = "POST", value = "新增单位信息", notes = "新增单位信息")
public ResponseModel<?> saveOrgUsr(HttpServletRequest request, @RequestBody OrgUsrDto OrgUsrVo) throws Exception { public ResponseModel<?> saveOrgUsr(HttpServletRequest request, @RequestBody OrgUsrDto OrgUsrVo) throws Exception {
OrgUsrVo.setBizOrgType(CommonConstant.BIZ_ORG_TYPE_COMPANY); OrgUsrVo.setBizOrgType(CommonConstant.BIZ_ORG_TYPE_COMPANY);
iOrgUsrService.saveOrgUsr(OrgUsrVo); iOrgUsrService.saveOrgUsr(OrgUsrVo);
return ResponseHelper.buildResponse(null); return ResponseHelper.buildResponse(null);
} }
...@@ -87,13 +73,13 @@ public class OrgUsrController extends BaseController { ...@@ -87,13 +73,13 @@ public class OrgUsrController extends BaseController {
// 删除时,只作逻辑删除 // 删除时,只作逻辑删除
iOrgUsrService.update(new UpdateWrapper<OrgUsr>().eq("sequence_nbr", id).set("is_delete", CommonConstant.IS_DELETE_01)); iOrgUsrService.update(new UpdateWrapper<OrgUsr>().eq("sequence_nbr", id).set("is_delete", CommonConstant.IS_DELETE_01));
try { try {
eSOrgUsrService.deleteById(id); eSOrgUsrService.deleteById(id);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
throw new RuntimeException(); throw new RuntimeException();
} }
return ResponseHelper.buildResponse(null); return ResponseHelper.buildResponse(null);
} }
...@@ -107,8 +93,8 @@ public class OrgUsrController extends BaseController { ...@@ -107,8 +93,8 @@ public class OrgUsrController extends BaseController {
@RequestMapping(value = "/{id}", method = RequestMethod.PUT) @RequestMapping(value = "/{id}", method = RequestMethod.PUT)
@ApiOperation(httpMethod = "PUT", value = "更新单位数据", notes = "更新单位数据") @ApiOperation(httpMethod = "PUT", value = "更新单位数据", notes = "更新单位数据")
public ResponseModel<?> updateByIdOrgUsr(HttpServletRequest request, @RequestBody OrgUsrDto OrgUsrVo, @PathVariable Long id) throws Exception { public ResponseModel<?> updateByIdOrgUsr(HttpServletRequest request, @RequestBody OrgUsrDto OrgUsrVo, @PathVariable Long id) throws Exception {
OrgUsrVo.setBizOrgType(CommonConstant.BIZ_ORG_TYPE_COMPANY); OrgUsrVo.setBizOrgType(CommonConstant.BIZ_ORG_TYPE_COMPANY);
iOrgUsrService.updateByIdOrgUsr(OrgUsrVo,id); iOrgUsrService.updateByIdOrgUsr(OrgUsrVo, id);
return ResponseHelper.buildResponse(null); return ResponseHelper.buildResponse(null);
} }
...@@ -123,7 +109,7 @@ public class OrgUsrController extends BaseController { ...@@ -123,7 +109,7 @@ public class OrgUsrController extends BaseController {
@RequestMapping(value = "/{id}", method = RequestMethod.GET) @RequestMapping(value = "/{id}", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "获取单位详情", notes = "获取单位详情") @ApiOperation(httpMethod = "GET", value = "获取单位详情", notes = "获取单位详情")
public ResponseModel<OrgUsrFormDto> selectById(HttpServletRequest request, @PathVariable Long id) throws Exception { public ResponseModel<OrgUsrFormDto> selectById(HttpServletRequest request, @PathVariable Long id) throws Exception {
return ResponseHelper.buildResponse(iOrgUsrService.selectCompanyById(id)); return ResponseHelper.buildResponse(iOrgUsrService.selectCompanyById(id));
} }
...@@ -137,48 +123,48 @@ public class OrgUsrController extends BaseController { ...@@ -137,48 +123,48 @@ public class OrgUsrController extends BaseController {
@RequestMapping(value = "/selectByBizOrgType/{bizOrgType}", method = RequestMethod.GET) @RequestMapping(value = "/selectByBizOrgType/{bizOrgType}", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据bizOrgType分页查询", notes = "根据bizOrgType分页查询") @ApiOperation(httpMethod = "GET", value = "根据bizOrgType分页查询", notes = "根据bizOrgType分页查询")
public ResponseModel<IPage<OrgUsr>> bizOrgTypeListPage(String pageNum, String pageSize, @PathVariable String bizOrgType) throws Exception { public ResponseModel<IPage<OrgUsr>> bizOrgTypeListPage(String pageNum, String pageSize, @PathVariable String bizOrgType) throws Exception {
return ResponseHelper.buildResponse(iOrgUsrService.page( iOrgUsrService.bizOrgTypeListPage(pageNum,pageSize,bizOrgType))); return ResponseHelper.buildResponse(iOrgUsrService.page(iOrgUsrService.bizOrgTypeListPage(pageNum, pageSize, bizOrgType)));
} }
/** /**
*
* 获取单位部门树 * 获取单位部门树
*
* @param * @param
* @return * @return
*/ */
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY) @TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/companyTree", method = RequestMethod.GET) @RequestMapping(value = "/companyTree", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "获取单位部门树(key为物理主键)", notes = "获取单位部门树(key为物理主键)\"") @ApiOperation(httpMethod = "GET", value = "获取单位部门树(key为物理主键)", notes = "获取单位部门树(key为物理主键)\"")
public ResponseModel< List<OrgMenuDto>>selectCompanyTree() throws Exception { public ResponseModel<List<OrgMenuDto>> selectCompanyTree() throws Exception {
List<OrgMenuDto> menus = iOrgUsrService.getTree(null, iOrgUsrService.selectCompanyDepartmentMsg(), OrgUsr.class.getName(), "getSequenceNbr", 2, "getBizOrgName", "getParentId", "getBizOrgType"); List<OrgMenuDto> menus = iOrgUsrService.getTree(null, iOrgUsrService.selectCompanyDepartmentMsg(), OrgUsr.class.getName(), "getSequenceNbr", 2, "getBizOrgName", "getParentId", "getBizOrgType");
return ResponseHelper.buildResponse(menus); return ResponseHelper.buildResponse(menus);
} }
/**
*
* 获取单位部门树
* @param
* @return
*/
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/orgTree", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "获取单位部门树(bizOrgCode为物理主键)", notes = "获取单位部门树(bizOrgCode为物理主键)\"")
public ResponseModel< List<OrgMenuDto>>selectCompanyTreeCode() throws Exception {
List<OrgMenuDto> menus = OrgUsrServiceImpl.buildTreeParallel(iOrgUsrService.selectCompanyDepartmentMsg());
return ResponseHelper.buildResponse(menus);
}
/** /**
* 获取单位部门树
* *
* @param
* @return
*/
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/orgTree", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "获取单位部门树(bizOrgCode为物理主键)", notes = "获取单位部门树(bizOrgCode为物理主键)\"")
public ResponseModel<List<OrgMenuDto>> selectCompanyTreeCode() throws Exception {
List<OrgMenuDto> menus = OrgUsrServiceImpl.buildTreeParallel(iOrgUsrService.selectCompanyDepartmentMsg());
return ResponseHelper.buildResponse(menus);
}
/**
* 获取单位部门树 * 获取单位部门树
*
* @param * @param
* @return * @return
*/ */
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY) @TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/org/company/tree", method = RequestMethod.GET) @RequestMapping(value = "/org/company/tree", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "获取单位树(bizOrgCode为物理主键)", notes = "获取单位树(bizOrgCode为物理主键)") @ApiOperation(httpMethod = "GET", value = "获取单位树(bizOrgCode为物理主键)", notes = "获取单位树(bizOrgCode为物理主键)")
public ResponseModel< List<OrgMenuDto>> getCompanyTree() { public ResponseModel<List<OrgMenuDto>> getCompanyTree() {
List<OrgMenuDto> menus = OrgUsrServiceImpl.buildTreeParallel(iOrgUsrService.selectCompanyList()); List<OrgMenuDto> menus = OrgUsrServiceImpl.buildTreeParallel(iOrgUsrService.selectCompanyList());
return ResponseHelper.buildResponse(menus); return ResponseHelper.buildResponse(menus);
} }
...@@ -239,7 +225,7 @@ public class OrgUsrController extends BaseController { ...@@ -239,7 +225,7 @@ public class OrgUsrController extends BaseController {
@RequestMapping(value = "/saveDepartment", method = RequestMethod.POST) @RequestMapping(value = "/saveDepartment", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "导入部门信息", notes = "导入部门信息") @ApiOperation(httpMethod = "POST", value = "导入部门信息", notes = "导入部门信息")
public ResponseModel<?> saveDepartment(HttpServletRequest request, @RequestBody List<OrgDepartmentDto> OrgDepartmentVo, @PathVariable Long id) throws Exception { public ResponseModel<?> saveDepartment(HttpServletRequest request, @RequestBody List<OrgDepartmentDto> OrgDepartmentVo, @PathVariable Long id) throws Exception {
iOrgUsrService.saveDepartment(OrgDepartmentVo,id); iOrgUsrService.saveDepartment(OrgDepartmentVo, id);
return ResponseHelper.buildResponse(null); return ResponseHelper.buildResponse(null);
} }
...@@ -252,8 +238,8 @@ public class OrgUsrController extends BaseController { ...@@ -252,8 +238,8 @@ public class OrgUsrController extends BaseController {
@RequestMapping(value = "/saveCompany", method = RequestMethod.POST) @RequestMapping(value = "/saveCompany", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "导入单位信息", notes = "导入单位信息") @ApiOperation(httpMethod = "POST", value = "导入单位信息", notes = "导入单位信息")
public ResponseModel<?> saveCompany(HttpServletRequest request, @RequestBody List<OrgUsrDto> OrgUsrVo) throws Exception { public ResponseModel<?> saveCompany(HttpServletRequest request, @RequestBody List<OrgUsrDto> OrgUsrVo) throws Exception {
iOrgUsrService.saveCompany(OrgUsrVo); iOrgUsrService.saveCompany(OrgUsrVo);
return ResponseHelper.buildResponse(null); return ResponseHelper.buildResponse(null);
} }
/** /**
...@@ -265,10 +251,10 @@ public class OrgUsrController extends BaseController { ...@@ -265,10 +251,10 @@ public class OrgUsrController extends BaseController {
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY) @TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/{ids}/users", method = RequestMethod.GET) @RequestMapping(value = "/{ids}/users", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据id获取单位人员列表", notes = "根据id获取单位人员列表") @ApiOperation(httpMethod = "GET", value = "根据id获取单位人员列表", notes = "根据id获取单位人员列表")
public ResponseModel<List<Map<String, Object>> > selectUsersByOrgCode(HttpServletRequest request, @PathVariable List<Long> ids) throws Exception { public ResponseModel<List<Map<String, Object>>> selectUsersByOrgCode(HttpServletRequest request, @PathVariable List<Long> ids) throws Exception {
return ResponseHelper.buildResponse(iOrgUsrService.returnCompanyPersonMsg(ids)) ; return ResponseHelper.buildResponse(iOrgUsrService.returnCompanyPersonMsg(ids));
} }
/** /**
* 根据id获取单位人员列表 * 根据id获取单位人员列表
* *
...@@ -279,13 +265,13 @@ public class OrgUsrController extends BaseController { ...@@ -279,13 +265,13 @@ public class OrgUsrController extends BaseController {
@RequestMapping(value = "/company/{ids}/person", method = RequestMethod.GET) @RequestMapping(value = "/company/{ids}/person", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据id获取单位人员列表", notes = "根据id获取单位人员列表") @ApiOperation(httpMethod = "GET", value = "根据id获取单位人员列表", notes = "根据id获取单位人员列表")
public ResponseModel<List<CompanyPerson>> selectCompanyPerson(@PathVariable List<Long> ids) throws Exception { public ResponseModel<List<CompanyPerson>> selectCompanyPerson(@PathVariable List<Long> ids) throws Exception {
return ResponseHelper.buildResponse(iOrgUsrService.returnCompanyPerson(ids)) ; return ResponseHelper.buildResponse(iOrgUsrService.returnCompanyPerson(ids));
} }
/** /**
* 根据id获取单位人员列表 * 根据id获取单位人员列表
* *
* @param ids * @param amosUserId
* @return * @return
*/ */
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY) @TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
...@@ -294,44 +280,44 @@ public class OrgUsrController extends BaseController { ...@@ -294,44 +280,44 @@ public class OrgUsrController extends BaseController {
public ResponseModel<OrgUsrDto> selectCompany(@PathVariable String amosUserId) throws Exception { public ResponseModel<OrgUsrDto> selectCompany(@PathVariable String amosUserId) throws Exception {
return ResponseHelper.buildResponse(iOrgUsrService.getOrg(amosUserId)); return ResponseHelper.buildResponse(iOrgUsrService.getOrg(amosUserId));
} }
/** /**
* 根据名称模糊匹配 * 根据名称模糊匹配
* *
* @param id * @param name
* @return * @return
*/ */
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY) @TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/getList", method = RequestMethod.GET) @RequestMapping(value = "/getList", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据名称模糊匹配", notes = "根据名称模糊匹配") @ApiOperation(httpMethod = "GET", value = "根据名称模糊匹配", notes = "根据名称模糊匹配")
public ResponseModel<List<ESOrgUsrDto>> selectById(HttpServletRequest request, String name) throws Exception { public ResponseModel<List<ESOrgUsrDto>> selectById(HttpServletRequest request, String name) throws Exception {
return ResponseHelper.buildResponse(eSOrgUsrService.queryByKeys(name)); return ResponseHelper.buildResponse(eSOrgUsrService.queryByKeys(name));
} }
/** /**
* 根据名称模糊匹配 * 根据名称模糊匹配
* *
* @param id * @param name
* @return * @return
*/ */
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY) @TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/getListdata", method = RequestMethod.GET) @RequestMapping(value = "/getListdata", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据名称模糊匹配单位", notes = "根据名称模糊匹配单位") @ApiOperation(httpMethod = "GET", value = "根据名称模糊匹配单位", notes = "根据名称模糊匹配单位")
public ResponseModel<List<ESOrgUsrDto>> selectByIddata(HttpServletRequest request, String name) throws Exception { public ResponseModel<List<ESOrgUsrDto>> selectByIddata(HttpServletRequest request, String name) throws Exception {
return ResponseHelper.buildResponse(eSOrgUsrService.queryByKeys(name)); return ResponseHelper.buildResponse(eSOrgUsrService.queryByKeys(name));
} }
/** /**
*
* 获取单位部门树 * 获取单位部门树
*
* @param * @param
* @return * @return
*/ */
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY) @TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/companyTreeByUser", method = RequestMethod.GET) @RequestMapping(value = "/companyTreeByUser", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据登陆人获取单位部门树", notes = "根据登陆人获取单位部门树") @ApiOperation(httpMethod = "GET", value = "根据登陆人获取单位部门树", notes = "根据登陆人获取单位部门树")
public ResponseModel< List<OrgMenuDto>>selectCompanyTreeByUser() throws Exception { public ResponseModel<List<OrgMenuDto>> selectCompanyTreeByUser() throws Exception {
// 获取登陆人角色 // 获取登陆人角色
AgencyUserModel user = getUserInfo(); AgencyUserModel user = getUserInfo();
List<OrgMenuDto> menus = iOrgUsrService.companyTreeByUser(user); List<OrgMenuDto> menus = iOrgUsrService.companyTreeByUser(user);
...@@ -339,15 +325,15 @@ public class OrgUsrController extends BaseController { ...@@ -339,15 +325,15 @@ public class OrgUsrController extends BaseController {
} }
/** /**
*
* 获取单位部门树 * 获取单位部门树
*
* @param * @param
* @return * @return
*/ */
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY) @TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/companyUserTreeByUser", method = RequestMethod.GET) @RequestMapping(value = "/companyUserTreeByUser", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据登陆人获取单位部门用户树", notes = "根据登陆人获取单位部门用户树") @ApiOperation(httpMethod = "GET", value = "根据登陆人获取单位部门用户树", notes = "根据登陆人获取单位部门用户树")
public ResponseModel< List<OrgMenuDto>>companyUserTreeByUser() { public ResponseModel<List<OrgMenuDto>> companyUserTreeByUser() {
// 获取登陆人角色 // 获取登陆人角色
AgencyUserModel user = getUserInfo(); AgencyUserModel user = getUserInfo();
List<OrgMenuDto> menus = iOrgUsrService.companyUserTreeByUser(user); List<OrgMenuDto> menus = iOrgUsrService.companyUserTreeByUser(user);
...@@ -355,19 +341,33 @@ public class OrgUsrController extends BaseController { ...@@ -355,19 +341,33 @@ public class OrgUsrController extends BaseController {
} }
/** /**
*
* 获取单位列表 * 获取单位列表
*
* @param * @param
* @return * @return
*/ */
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY) @TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/companyListByUser", method = RequestMethod.GET) @RequestMapping(value = "/companyListByUser", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据登陆人获取单位列表", notes = "根据登陆人获取单位列表") @ApiOperation(httpMethod = "GET", value = "根据登陆人获取单位列表", notes = "根据登陆人获取单位列表")
public ResponseModel< List<OrgUsrTreeDto>> companyListByUser() { public ResponseModel<List<OrgUsrTreeDto>> companyListByUser() {
// 获取登陆人角色 // 获取登陆人角色
AgencyUserModel user = getUserInfo(); AgencyUserModel user = getUserInfo();
List<OrgUsrTreeDto> menus = iOrgUsrService.companyListByUser(user); List<OrgUsrTreeDto> menus = iOrgUsrService.companyListByUser(user);
return ResponseHelper.buildResponse(menus); return ResponseHelper.buildResponse(menus);
} }
/**
* 获取用户单位归属
*
* @param id
* @return
*/
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/getUserUnit", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "获取用户单位归属", notes = "获取用户单位归属")
public ResponseModel<UserUnitDto> getUserUnit(@RequestParam String id, @RequestParam String type, @RequestParam String code) throws Exception {
return ResponseHelper.buildResponse(iOrgUsrService.getUserUnit(id, type, code));
}
} }
\ No newline at end of file
...@@ -22,6 +22,7 @@ import org.apache.commons.lang3.StringUtils; ...@@ -22,6 +22,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.utils.Bean; import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
...@@ -41,468 +42,468 @@ import java.util.stream.Collectors; ...@@ -41,468 +42,468 @@ import java.util.stream.Collectors;
@Service @Service
public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapper> implements IOrgUsrService { public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapper> implements IOrgUsrService {
@Autowired @Autowired
DynamicFormInstanceServiceImpl alertFormValueServiceImpl; DynamicFormInstanceServiceImpl alertFormValueServiceImpl;
@Autowired @Autowired
DynamicFormColumnServiceImpl alertFormServiceImpl; DynamicFormColumnServiceImpl alertFormServiceImpl;
@Resource @Resource
OrgUsrMapper orgUsrMapper; OrgUsrMapper orgUsrMapper;
@Autowired @Autowired
SupervisionFeign supervisionFeign; SupervisionFeign supervisionFeign;
@Autowired @Autowired
ESOrgUsrService eSOrgUsrService; ESOrgUsrService eSOrgUsrService;
@Override
public String selectUpUnitByParam(String id) { @Override
return this.baseMapper.selectUpUnitByParam(id); public String selectUpUnitByParam(String id) {
} return this.baseMapper.selectUpUnitByParam(id);
}
public static List<OrgMenuDto> buildTreeParallel(List<OrgUsr> list) {
public static List<OrgMenuDto> buildTreeParallel(List<OrgUsr> list) {
List<OrgMenuDto> menuList = list.stream().map(o -> {
OrgMenuDto menu = new OrgMenuDto(o.getSequenceNbr(), o.getBizOrgName(), List<OrgMenuDto> menuList = list.stream().map(o -> {
ObjectUtils.isEmpty(o.getParentId()) ? 0L : Long.valueOf(o.getParentId()), o.getBizOrgType(), false, OrgMenuDto menu = new OrgMenuDto(o.getSequenceNbr(), o.getBizOrgName(),
o.getBizOrgCode()); ObjectUtils.isEmpty(o.getParentId()) ? 0L : Long.valueOf(o.getParentId()), o.getBizOrgType(), false,
return menu; o.getBizOrgCode());
}).collect(Collectors.toList()); return menu;
}).collect(Collectors.toList());
List<OrgMenuDto> result = new ArrayList<>();
Map<Long, OrgMenuDto> map = new HashMap<>(menuList.size()); List<OrgMenuDto> result = new ArrayList<>();
menuList.forEach(e -> map.put(e.getKey(), e)); Map<Long, OrgMenuDto> map = new HashMap<>(menuList.size());
Set<? extends Map.Entry<Long, ? extends OrgMenuDto>> entries = map.entrySet(); menuList.forEach(e -> map.put(e.getKey(), e));
entries.parallelStream().forEach(entry -> { Set<? extends Map.Entry<Long, ? extends OrgMenuDto>> entries = map.entrySet();
OrgMenuDto value = entry.getValue(); entries.parallelStream().forEach(entry -> {
if (value != null) { OrgMenuDto value = entry.getValue();
OrgMenuDto treeDto = map.get(value.getParentId()); if (value != null) {
if (treeDto != null) { OrgMenuDto treeDto = map.get(value.getParentId());
List<OrgMenuDto> children = treeDto.getChildren(); if (treeDto != null) {
if (children == null) { List<OrgMenuDto> children = treeDto.getChildren();
children = new ArrayList<>(); if (children == null) {
treeDto.setChildren(children); children = new ArrayList<>();
} treeDto.setChildren(children);
children.add(value); }
} else { children.add(value);
result.add(value); } else {
} result.add(value);
} }
}); }
return result; });
} return result;
}
@Override
public List<OrgMenuDto> getTree(Long topId, Collection entityList, String packageURL, String IDMethodName, @Override
int IDHierarchy, String NAMEMethodName, String PARENTIDMethodName, String OrgTypeMethodName) public List<OrgMenuDto> getTree(Long topId, Collection entityList, String packageURL, String IDMethodName,
throws Exception { int IDHierarchy, String NAMEMethodName, String PARENTIDMethodName, String OrgTypeMethodName)
List<OrgMenuDto> resultList = new ArrayList<>(); throws Exception {
Class<?> clazz = Class.forName(packageURL); List<OrgMenuDto> resultList = new ArrayList<>();
Method IDMethodNameme = null; Class<?> clazz = Class.forName(packageURL);
switch (IDHierarchy) { Method IDMethodNameme = null;
case 1: switch (IDHierarchy) {
IDMethodNameme = clazz.getDeclaredMethod(IDMethodName); case 1:
break; IDMethodNameme = clazz.getDeclaredMethod(IDMethodName);
case 2: break;
IDMethodNameme = clazz.getSuperclass().getDeclaredMethod(IDMethodName); case 2:
break; IDMethodNameme = clazz.getSuperclass().getDeclaredMethod(IDMethodName);
case 3: break;
IDMethodNameme = clazz.getSuperclass().getSuperclass().getDeclaredMethod(IDMethodName); case 3:
break; IDMethodNameme = clazz.getSuperclass().getSuperclass().getDeclaredMethod(IDMethodName);
default: break;
IDMethodNameme = clazz.getDeclaredMethod(IDMethodName); default:
break; IDMethodNameme = clazz.getDeclaredMethod(IDMethodName);
} break;
}
Method NAMEMethodNameme = clazz.getDeclaredMethod(NAMEMethodName);
Method PARENTIDMethodNameme = clazz.getDeclaredMethod(PARENTIDMethodName); Method NAMEMethodNameme = clazz.getDeclaredMethod(NAMEMethodName);
Method OrgTypeMethodNameme = clazz.getDeclaredMethod(OrgTypeMethodName); Method PARENTIDMethodNameme = clazz.getDeclaredMethod(PARENTIDMethodName);
// 获取顶层元素集合 Method OrgTypeMethodNameme = clazz.getDeclaredMethod(OrgTypeMethodName);
Long parentId; // 获取顶层元素集合
for (Object ob : entityList) { Long parentId;
for (Object ob : entityList) {
Object entity = clazz.cast(ob);
Object entity = clazz.cast(ob);
parentId = !ObjectUtils.isEmpty(PARENTIDMethodNameme.invoke(entity))
? Long.valueOf(String.valueOf(PARENTIDMethodNameme.invoke(entity))) parentId = !ObjectUtils.isEmpty(PARENTIDMethodNameme.invoke(entity))
: null; ? Long.valueOf(String.valueOf(PARENTIDMethodNameme.invoke(entity)))
: null;
// if (parentId == null || topId ==parentId ) { // if (parentId == null || topId ==parentId ) {
// OrgMenuDto menu = new OrgMenuDto(Long.valueOf(String.valueOf(IDMethodNameme.invoke(entity))), // OrgMenuDto menu = new OrgMenuDto(Long.valueOf(String.valueOf(IDMethodNameme.invoke(entity))),
// String.valueOf(NAMEMethodNameme.invoke(entity)), parentId, // String.valueOf(NAMEMethodNameme.invoke(entity)), parentId,
// String.valueOf(OrgTypeMethodNameme.invoke(entity)), false); // String.valueOf(OrgTypeMethodNameme.invoke(entity)), false);
// resultList.add(menu); // resultList.add(menu);
// } // }
/* *******************topId与parentId的等值判断,修改人陈浩 on 2021/07/21---start******************************/ /* *******************topId与parentId的等值判断,修改人陈浩 on 2021/07/21---start******************************/
if (parentId == null ) {//topId与parentId的等值判断,修改人陈浩 on 2021/07/21 if (parentId == null) {//topId与parentId的等值判断,修改人陈浩 on 2021/07/21
OrgMenuDto menu = new OrgMenuDto(Long.valueOf(String.valueOf(IDMethodNameme.invoke(entity))), OrgMenuDto menu = new OrgMenuDto(Long.valueOf(String.valueOf(IDMethodNameme.invoke(entity))),
String.valueOf(NAMEMethodNameme.invoke(entity)), parentId, String.valueOf(NAMEMethodNameme.invoke(entity)), parentId,
String.valueOf(OrgTypeMethodNameme.invoke(entity)), false); String.valueOf(OrgTypeMethodNameme.invoke(entity)), false);
resultList.add(menu); resultList.add(menu);
} else if(topId !=null && topId.longValue() ==parentId.longValue()) } else if (topId != null && topId.longValue() == parentId.longValue()) {
{ OrgMenuDto menu = new OrgMenuDto(Long.valueOf(String.valueOf(IDMethodNameme.invoke(entity))),
OrgMenuDto menu = new OrgMenuDto(Long.valueOf(String.valueOf(IDMethodNameme.invoke(entity))), String.valueOf(NAMEMethodNameme.invoke(entity)), parentId,
String.valueOf(NAMEMethodNameme.invoke(entity)), parentId, String.valueOf(OrgTypeMethodNameme.invoke(entity)), false);
String.valueOf(OrgTypeMethodNameme.invoke(entity)), false); resultList.add(menu);
resultList.add(menu); }
} /* *******************topId与parentId的等值判断,修改人陈浩 on 2021/07/21---end******************************/
/* *******************topId与parentId的等值判断,修改人陈浩 on 2021/07/21---end******************************/ }
} // 获取每个顶层元素的子数据集合
// 获取每个顶层元素的子数据集合 for (OrgMenuDto entity : resultList) {
for (OrgMenuDto entity : resultList) { entity.setChildren(getSub(entity.getKey(), entityList, packageURL, IDMethodName, IDHierarchy,
entity.setChildren(getSub(entity.getKey(), entityList, packageURL, IDMethodName, IDHierarchy, NAMEMethodName, PARENTIDMethodName, OrgTypeMethodName));
NAMEMethodName, PARENTIDMethodName, OrgTypeMethodName)); }
} return resultList;
return resultList; }
}
@SuppressWarnings("unchecked")
@SuppressWarnings("unchecked") @Override
@Override public List<OrgMenuDto> getSub(Long topId, @SuppressWarnings("rawtypes") Collection entityList, String packageURL,
public List<OrgMenuDto> getSub(Long topId, @SuppressWarnings("rawtypes") Collection entityList, String packageURL, String IDMethodName, int IDHierarchy, String NAMEMethodName, String PARENTIDMethodName,
String IDMethodName, int IDHierarchy, String NAMEMethodName, String PARENTIDMethodName, String OrgTypeMethodName) throws Exception {
String OrgTypeMethodName) throws Exception { List<OrgMenuDto> childList = new ArrayList<>();
List<OrgMenuDto> childList = new ArrayList<>(); @SuppressWarnings("rawtypes")
@SuppressWarnings("rawtypes") Class clazz = Class.forName(packageURL);
Class clazz = Class.forName(packageURL); Method IDMethodNameme = null;
Method IDMethodNameme = null; switch (IDHierarchy) {
switch (IDHierarchy) { case 1:
case 1: IDMethodNameme = clazz.getDeclaredMethod(IDMethodName);
IDMethodNameme = clazz.getDeclaredMethod(IDMethodName); break;
break; case 2:
case 2: IDMethodNameme = clazz.getSuperclass().getDeclaredMethod(IDMethodName);
IDMethodNameme = clazz.getSuperclass().getDeclaredMethod(IDMethodName); break;
break; case 3:
case 3: IDMethodNameme = clazz.getSuperclass().getSuperclass().getDeclaredMethod(IDMethodName);
IDMethodNameme = clazz.getSuperclass().getSuperclass().getDeclaredMethod(IDMethodName); break;
break; default:
default: IDMethodNameme = clazz.getDeclaredMethod(IDMethodName);
IDMethodNameme = clazz.getDeclaredMethod(IDMethodName); break;
break; }
} Method OrgTypeMethodNameme = clazz.getDeclaredMethod(OrgTypeMethodName);
Method OrgTypeMethodNameme = clazz.getDeclaredMethod(OrgTypeMethodName); Method NAMEMethodNameme = clazz.getDeclaredMethod(NAMEMethodName);
Method NAMEMethodNameme = clazz.getDeclaredMethod(NAMEMethodName); Method PARENTIDMethodNameme = clazz.getDeclaredMethod(PARENTIDMethodName);
Method PARENTIDMethodNameme = clazz.getDeclaredMethod(PARENTIDMethodName);
Long parentId;
Long parentId; // 子集的直接子对象
// 子集的直接子对象 for (Object ob : entityList) {
for (Object ob : entityList) { Object entity = clazz.cast(ob);
Object entity = clazz.cast(ob);
parentId = !ObjectUtils.isEmpty(PARENTIDMethodNameme.invoke(entity))
parentId = !ObjectUtils.isEmpty(PARENTIDMethodNameme.invoke(entity)) ? Long.valueOf(String.valueOf(PARENTIDMethodNameme.invoke(entity)))
? Long.valueOf(String.valueOf(PARENTIDMethodNameme.invoke(entity))) : null;
: null;
if (parentId == null) {
if (parentId == null) { if (topId == parentId) {
if (topId == parentId) { OrgMenuDto menu = new OrgMenuDto(Long.valueOf(String.valueOf(IDMethodNameme.invoke(entity))),
OrgMenuDto menu = new OrgMenuDto(Long.valueOf(String.valueOf(IDMethodNameme.invoke(entity))), String.valueOf(NAMEMethodNameme.invoke(entity)), parentId,
String.valueOf(NAMEMethodNameme.invoke(entity)), parentId, String.valueOf(OrgTypeMethodNameme.invoke(entity)));
String.valueOf(OrgTypeMethodNameme.invoke(entity))); childList.add(menu);
childList.add(menu); }
} } else {
} else { if (topId.longValue() == parentId.longValue()) {
if (topId.longValue() == parentId.longValue()) { OrgMenuDto menu = new OrgMenuDto(Long.valueOf(String.valueOf(IDMethodNameme.invoke(entity))),
OrgMenuDto menu = new OrgMenuDto(Long.valueOf(String.valueOf(IDMethodNameme.invoke(entity))), String.valueOf(NAMEMethodNameme.invoke(entity)), parentId,
String.valueOf(NAMEMethodNameme.invoke(entity)), parentId, String.valueOf(OrgTypeMethodNameme.invoke(entity)));
String.valueOf(OrgTypeMethodNameme.invoke(entity))); childList.add(menu);
childList.add(menu); }
} }
}
}
}
// 子集的间接子对象
// 子集的间接子对象 for (OrgMenuDto entity : childList) {
for (OrgMenuDto entity : childList) { entity.setChildren(getSub(entity.getKey(), entityList, packageURL, IDMethodName, IDHierarchy,
entity.setChildren(getSub(entity.getKey(), entityList, packageURL, IDMethodName, IDHierarchy, NAMEMethodName, PARENTIDMethodName, OrgTypeMethodName));
NAMEMethodName, PARENTIDMethodName, OrgTypeMethodName)); if (entity.getChildren() != null) {
if (entity.getChildren() != null) { entity.setLeaf(false);
entity.setLeaf(false); }
} }
}
// 递归退出条件
// 递归退出条件 if (childList.size() == 0) {
if (childList.size() == 0) { return null;
return null; }
}
return childList;
return childList; }
}
@Override
@Override public List<Map<String, Object>> returnCompanyPersonMsg(List<Long> ids) throws Exception {
public List<Map<String, Object>> returnCompanyPersonMsg(List<Long> ids) throws Exception { List<Map<String, Object>> companyPersonMsg = new ArrayList<>();
List<Map<String, Object>> companyPersonMsg = new ArrayList<>(); for (int i = 0; i < ids.size(); i++) {
for (int i = 0; i < ids.size(); i++) { Map<String, Object> resultMap = new HashMap<>();
Map<String, Object> resultMap = new HashMap<>(); // 查询出单位基本信息
// 查询出单位基本信息 OrgUsr company = getById(ids.get(i));
OrgUsr company = getById(ids.get(i)); resultMap.put("id", company.getSequenceNbr());
resultMap.put("id", company.getSequenceNbr()); // 上级单位
// 上级单位 resultMap.put("upUnit", selectUpUnitByParam(company.getSequenceNbr() + ""));
resultMap.put("upUnit", selectUpUnitByParam(company.getSequenceNbr() + "")); // 当前单位
// 当前单位 resultMap.put("currentUnit", company.getBizOrgName());
resultMap.put("currentUnit", company.getBizOrgName()); // 下级单位
// 下级单位 Map<String, Object> downUnitColumnMap = new HashMap<>();
Map<String, Object> downUnitColumnMap = new HashMap<>(); downUnitColumnMap.put("is_delete", CommonConstant.IS_DELETE_00);
downUnitColumnMap.put("is_delete", CommonConstant.IS_DELETE_00); downUnitColumnMap.put("biz_org_type", CommonConstant.BIZ_ORG_TYPE_COMPANY);
downUnitColumnMap.put("biz_org_type", CommonConstant.BIZ_ORG_TYPE_COMPANY); downUnitColumnMap.put("parent_id", company.getSequenceNbr());
downUnitColumnMap.put("parent_id", company.getSequenceNbr()); QueryWrapper<OrgUsr> downUnitWrapper = new QueryWrapper<OrgUsr>();
QueryWrapper<OrgUsr> downUnitWrapper = new QueryWrapper<OrgUsr>(); downUnitWrapper.allEq(downUnitColumnMap);
downUnitWrapper.allEq(downUnitColumnMap); List<OrgUsr> downList = list(downUnitWrapper);
List<OrgUsr> downList = list(downUnitWrapper); if (downList.size() == 0) {
if (downList.size() == 0) { resultMap.put("downUnit", false);
resultMap.put("downUnit", false); } else {
} else { resultMap.put("downUnit", true);
resultMap.put("downUnit", true); }
} // 人员数量
// 人员数量 Map<String, Object> countPerson = new HashMap<>();
Map<String, Object> countPerson = new HashMap<>(); countPerson.put("parent_id", company.getSequenceNbr());
countPerson.put("parent_id", company.getSequenceNbr()); countPerson.put("biz_org_type", CommonConstant.BIZ_ORG_TYPE_PERSON);
countPerson.put("biz_org_type", CommonConstant.BIZ_ORG_TYPE_PERSON); QueryWrapper<OrgUsr> personNumWrapper = new QueryWrapper<OrgUsr>();
QueryWrapper<OrgUsr> personNumWrapper = new QueryWrapper<OrgUsr>(); personNumWrapper.allEq(countPerson);
personNumWrapper.allEq(countPerson); int personNum = count(personNumWrapper);
int personNum = count(personNumWrapper); resultMap.put("personNum", personNum);
resultMap.put("personNum", personNum); if (0 == personNum) {
if (0 == personNum) { continue;
continue; }
} List<Map<String, Object>> personList = new ArrayList<>();
List<Map<String, Object>> personList = new ArrayList<>(); // 查询动态表单Phone
// 查询动态表单Phone Map<String, Object> phone = new HashMap<>();
Map<String, Object> phone = new HashMap<>(); phone.put("instance_id", company.getSequenceNbr());
phone.put("instance_id", company.getSequenceNbr()); phone.put("field_code", "companyPhone");
phone.put("field_code", "companyPhone"); QueryWrapper<DynamicFormInstance> phoneWrapper = new QueryWrapper<DynamicFormInstance>();
QueryWrapper<DynamicFormInstance> phoneWrapper = new QueryWrapper<DynamicFormInstance>(); phoneWrapper.allEq(phone);
phoneWrapper.allEq(phone); DynamicFormInstance phoneValue = alertFormValueServiceImpl.getOne(phoneWrapper);
DynamicFormInstance phoneValue = alertFormValueServiceImpl.getOne(phoneWrapper); if (phoneValue == null) {
if (phoneValue == null) { resultMap.put("tel", "");
resultMap.put("tel", ""); } else {
} else { resultMap.put("tel", phoneValue.getFieldValue());
resultMap.put("tel", phoneValue.getFieldValue()); }
}
// 获取单位人员列表信息
// 获取单位人员列表信息 personList = listPerson(company.getSequenceNbr() + "").stream().map(p -> {
personList = listPerson(company.getSequenceNbr() + "").stream().map(p -> { Map<String, Object> person = new HashMap<>();
Map<String, Object> person = new HashMap<>(); person.put("tel", getValue(p.get("telephone"), null));
person.put("tel", getValue(p.get("telephone"), null)); person.put("img", getValue(p.get("personImg"), null));
person.put("img", getValue(p.get("personImg"), null)); person.put("id", getValue(p.get("sequenceNbr"), null));
person.put("id", getValue(p.get("sequenceNbr"), null)); person.put("name", getValue(p.get("bizOrgName"), null));
person.put("name", getValue(p.get("bizOrgName"), null)); person.put("zhiwei", getValue(p.get("administrativePositionCode"), null));
person.put("zhiwei", getValue(p.get("administrativePositionCode"), null)); person.put("unit", getValue(p.get("fireManagementPostCode"), null));
person.put("unit", getValue(p.get("fireManagementPostCode"), null)); return person;
return person; }).collect(Collectors.toList());
}).collect(Collectors.toList()); resultMap.put("children", personList);
resultMap.put("children", personList); companyPersonMsg.add(resultMap);
companyPersonMsg.add(resultMap); }
} return companyPersonMsg;
return companyPersonMsg; }
}
private Object getValue(Object obj, Object defaultValue) {
private Object getValue(Object obj, Object defaultValue) { return ObjectUtils.isEmpty(obj) ? defaultValue : obj;
return ObjectUtils.isEmpty(obj) ? defaultValue : obj; }
}
public List<Map<String, Object>> listPerson(String parentId) {
public List<Map<String, Object>> listPerson(String parentId) { Map<String, Object> map = new HashMap<String, Object>();
Map<String, Object> map = new HashMap<String, Object>(); map.put("fields", alertFormServiceImpl.queryListByFormId(OrgPersonEnum.人员.getCode()));
map.put("fields", alertFormServiceImpl.queryListByFormId(OrgPersonEnum.人员.getCode())); map.put("bizOrgType", OrgPersonEnum.人员.getKey());
map.put("bizOrgType", OrgPersonEnum.人员.getKey()); map.put("parentId", parentId);
map.put("parentId", parentId); List<Map<String, Object>> list = this.baseMapper.selectPersonAllList(map);
List<Map<String, Object>> list = this.baseMapper.selectPersonAllList(map); return list == null ? new ArrayList<Map<String, Object>>() : list;
return list == null ? new ArrayList<Map<String, Object>>() : list; }
}
public IPage<Map<String, Object>> pagePerson(String pageNum, String pageSize, Map<String, Object> req) {
public IPage<Map<String, Object>> pagePerson(String pageNum, String pageSize, Map<String, Object> req) { IPage<Map<String, Object>> pageBean = null;
IPage<Map<String, Object>> pageBean = null; if (StringUtils.isBlank(pageNum) || StringUtils.isBlank(pageSize)) {
if (StringUtils.isBlank(pageNum) || StringUtils.isBlank(pageSize)) { pageBean = new Page<>(0, Long.MAX_VALUE);
pageBean = new Page<>(0, Long.MAX_VALUE); } else {
} else { pageBean = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
pageBean = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize)); }
} Map<String, Object> map = new HashMap<>();
Map<String, Object> map = new HashMap<>(); map.put("bizOrgType", OrgPersonEnum.人员.getKey());
map.put("bizOrgType", OrgPersonEnum.人员.getKey()); if (!ObjectUtils.isEmpty(req.get("bizOrgName"))) {
if (!ObjectUtils.isEmpty(req.get("bizOrgName"))) { map.put("bizOrgName", req.get("bizOrgName"));
map.put("bizOrgName", req.get("bizOrgName")); }
} OrgUsr parent = this.getById(Long.valueOf(req.get("parentId").toString()));
OrgUsr parent = this.getById(Long.valueOf(req.get("parentId").toString())); map.put("bizOrgCode", ObjectUtils.isEmpty(parent) ? null : parent.getBizOrgCode());
map.put("bizOrgCode", ObjectUtils.isEmpty(parent) ? null : parent.getBizOrgCode()); req.remove("bizOrgName");
req.remove("bizOrgName"); req.remove("pageSize");
req.remove("pageSize"); req.remove("pageNum");
req.remove("pageNum"); req.remove("parentId");
req.remove("parentId"); map.put("fieldsValue", req);
map.put("fieldsValue", req); map.put("fields", alertFormServiceImpl.queryListByFormId(OrgPersonEnum.人员.getCode()));
map.put("fields", alertFormServiceImpl.queryListByFormId(OrgPersonEnum.人员.getCode())); pageBean.setTotal(this.baseMapper.selectPersonListCount(map));
pageBean.setTotal(this.baseMapper.selectPersonListCount(map)); map.put("pageNum", (pageBean.getCurrent() - 1) * pageBean.getSize());
map.put("pageNum", (pageBean.getCurrent() - 1) * pageBean.getSize()); map.put("pageSize", pageBean.getSize());
map.put("pageSize", pageBean.getSize());
List<Map<String, Object>> list = this.baseMapper.selectPersonList(map);
List<Map<String, Object>> list = this.baseMapper.selectPersonList(map);
pageBean.setRecords(list);
pageBean.setRecords(list); return pageBean;
return pageBean; }
}
@Override
@Override public List<FormValue> getFormValue(Long id) throws Exception {
public List<FormValue> getFormValue(Long id) throws Exception { // 动态表单数据
// 动态表单数据 List<DynamicFormInstanceDto> list = alertFormValueServiceImpl.listByCalledId(id);
List<DynamicFormInstanceDto> list = alertFormValueServiceImpl.listByCalledId(id); List<FormValue> formValue = new ArrayList<>();
List<FormValue> formValue = new ArrayList<>(); for (DynamicFormInstanceDto alertFormValue : list) {
for (DynamicFormInstanceDto alertFormValue : list) { if (alertFormValue.getFieldValue() != null) {
if (alertFormValue.getFieldValue() != null) { FormValue value = new FormValue(alertFormValue.getFieldCode(), alertFormValue.getFieldName(),
FormValue value = new FormValue(alertFormValue.getFieldCode(), alertFormValue.getFieldName(), alertFormValue.getFieldType(), alertFormValue.getFieldValue(), alertFormValue.getBlock());
alertFormValue.getFieldType(), alertFormValue.getFieldValue(), alertFormValue.getBlock()); formValue.add(value);
formValue.add(value); } else {
} else { FormValue value = new FormValue(alertFormValue.getFieldCode(), alertFormValue.getFieldName(),
FormValue value = new FormValue(alertFormValue.getFieldCode(), alertFormValue.getFieldName(), alertFormValue.getFieldType(), alertFormValue.getFieldValueLabel(), alertFormValue.getBlock());
alertFormValue.getFieldType(), alertFormValue.getFieldValueLabel(), alertFormValue.getBlock()); formValue.add(value);
formValue.add(value); }
} }
} return formValue;
return formValue; }
}
public List<FormValue> getFormValueDetail(Long id) throws Exception {
public List<FormValue> getFormValueDetail(Long id) throws Exception { // 动态表单数据
// 动态表单数据 List<DynamicFormInstanceDto> list = alertFormValueServiceImpl.listByCalledId(id);
List<DynamicFormInstanceDto> list = alertFormValueServiceImpl.listByCalledId(id); List<FormValue> formValue = new ArrayList<>();
List<FormValue> formValue = new ArrayList<>(); for (DynamicFormInstanceDto alertFormValue : list) {
for (DynamicFormInstanceDto alertFormValue : list) { FormValue value = new FormValue(alertFormValue.getFieldCode(), alertFormValue.getFieldName(),
FormValue value = new FormValue(alertFormValue.getFieldCode(), alertFormValue.getFieldName(), alertFormValue.getFieldType(), alertFormValue.getFieldValue(), alertFormValue.getBlock());
alertFormValue.getFieldType(), alertFormValue.getFieldValue(), alertFormValue.getBlock()); formValue.add(value);
formValue.add(value); }
} return formValue;
return formValue; }
}
@Override
@Override public void saveOrgUsr(OrgUsr orgUsr, OrgUsr oriOrgUsr) throws Exception {
public void saveOrgUsr(OrgUsr orgUsr, OrgUsr oriOrgUsr) throws Exception {
if (oriOrgUsr.getParentId() != oriOrgUsr.getParentId()) {
if (oriOrgUsr.getParentId() != oriOrgUsr.getParentId()) { OrgUsr parent = getById(orgUsr.getParentId());
OrgUsr parent = getById(orgUsr.getParentId()); if (parent != null && !ObjectUtils.isEmpty(parent.getBizOrgCode())) {
if (parent != null && !ObjectUtils.isEmpty(parent.getBizOrgCode())) { orgUsr.setBizOrgCode(parent.getBizOrgCode() + getOrgCodeStr());
orgUsr.setBizOrgCode(parent.getBizOrgCode() + getOrgCodeStr()); }
} updateChildOrgCode(oriOrgUsr.getBizOrgCode(), orgUsr.getBizOrgCode());
updateChildOrgCode(oriOrgUsr.getBizOrgCode(), orgUsr.getBizOrgCode()); orgUsr.setParentId(oriOrgUsr.getParentId());
orgUsr.setParentId(oriOrgUsr.getParentId()); }
} AgencyUserModel me = Privilege.agencyUserClient.getme().getResult();
AgencyUserModel me = Privilege.agencyUserClient.getme().getResult(); orgUsr.setRecDate(new Date());
orgUsr.setRecDate(new Date()); orgUsr.setRecUserId(me.getUserId());
orgUsr.setRecUserId(me.getUserId()); orgUsr.setRecUserName(me.getRealName());
orgUsr.setRecUserName(me.getRealName()); updateById(orgUsr);
updateById(orgUsr); }
}
private void updateChildOrgCode(String oriOrgCode, String targetOrgCode) {
private void updateChildOrgCode(String oriOrgCode, String targetOrgCode) { List<OrgUsr> list = queryOrgUsrList(oriOrgCode);
List<OrgUsr> list = queryOrgUsrList(oriOrgCode); if (ObjectUtils.isEmpty(list)) {
if (ObjectUtils.isEmpty(list)) { return;
return; }
} list.forEach(action -> {
list.forEach(action -> { action.setBizOrgCode(action.getBizOrgCode().replace(oriOrgCode, targetOrgCode));
action.setBizOrgCode(action.getBizOrgCode().replace(oriOrgCode, targetOrgCode)); updateById(action);
updateById(action); });
}); }
}
public List<OrgUsr> queryOrgUsrList(String bizOrgCode) {
public List<OrgUsr> queryOrgUsrList(String bizOrgCode) { return this.baseMapper.queryOrgUsrListByBizOrgCode(bizOrgCode);
return this.baseMapper.queryOrgUsrListByBizOrgCode(bizOrgCode); }
}
@Override
@Override public void saveOrgUsrDynamicFormInstance(OrgUsr orgUsr, List<DynamicFormInstance> alertFromValuelist) throws Exception {
public void saveOrgUsrDynamicFormInstance(OrgUsr orgUsr, List<DynamicFormInstance> alertFromValuelist) throws Exception { orgUsr.setRecDate(new Date());
orgUsr.setRecDate(new Date()); AgencyUserModel user = Privilege.agencyUserClient.getme().getResult();
AgencyUserModel user = Privilege.agencyUserClient.getme().getResult(); orgUsr.setRecUserName(user.getRealName());
orgUsr.setRecUserName(user.getRealName()); orgUsr.setRecUserId(user.getUserId());
orgUsr.setRecUserId(user.getUserId()); // 单位新增情况
// 单位新增情况 save(orgUsr);
save(orgUsr); // 填充主键
// 填充主键 alertFromValuelist.stream().forEach(alertFromValue -> {
alertFromValuelist.stream().forEach(alertFromValue -> { if (OrgPersonEnum.公司.getKey().equals(orgUsr.getBizOrgType())) {
if (OrgPersonEnum.公司.getKey().equals(orgUsr.getBizOrgType())) { alertFromValue.setGroupCode(OrgPersonEnum.公司.getCode());
alertFromValue.setGroupCode(OrgPersonEnum.公司.getCode()); } else if (OrgPersonEnum.部门.getKey().equals(orgUsr.getBizOrgType())) {
} else if (OrgPersonEnum.部门.getKey().equals(orgUsr.getBizOrgType())) { alertFromValue.setGroupCode(OrgPersonEnum.部门.getCode());
alertFromValue.setGroupCode(OrgPersonEnum.部门.getCode()); }
} alertFromValue.setInstanceId(orgUsr.getSequenceNbr());
alertFromValue.setInstanceId(orgUsr.getSequenceNbr()); });
}); // 保存动态表单数据
// 保存动态表单数据 alertFormValueServiceImpl.saveBatch(alertFromValuelist);
alertFormValueServiceImpl.saveBatch(alertFromValuelist); OrgUsrFormDto formDto = this.selectCompanyById(orgUsr.getSequenceNbr());
OrgUsrFormDto formDto = this.selectCompanyById(orgUsr.getSequenceNbr()); if (OrgPersonEnum.公司.getKey().equals(orgUsr.getBizOrgType())) {
if (OrgPersonEnum.公司.getKey().equals(orgUsr.getBizOrgType())) { supervisionFeign.asyncOwner(formDto);
supervisionFeign.asyncOwner(formDto); }
} }
}
@Override
@Override public void updateDynamicFormInstance(Long instanceId, List<DynamicFormInstance> fromValueList) {
public void updateDynamicFormInstance(Long instanceId, List<DynamicFormInstance> fromValueList) { // 填充主键
// 填充主键 fromValueList.forEach(alertFromValue -> {
fromValueList.forEach(alertFromValue -> { alertFromValue.setInstanceId(instanceId);
alertFromValue.setInstanceId(instanceId); });
}); List<DynamicFormInstanceDto> formList = alertFormValueServiceImpl.queryByCalledId(instanceId);
List<DynamicFormInstanceDto> formList = alertFormValueServiceImpl.queryByCalledId(instanceId);
Map<Long, DynamicFormInstanceDto> resourceMap = new HashMap<>();
Map<Long, DynamicFormInstanceDto> resourceMap = new HashMap<>(); Map<Long, DynamicFormInstance> newResourceMap = new HashMap<>();
Map<Long, DynamicFormInstance> newResourceMap = new HashMap<>(); formList.parallelStream().forEach(form -> {
formList.parallelStream().forEach(form -> { resourceMap.put(form.getFormColumnId(), form);
resourceMap.put(form.getFormColumnId(), form); });
});
List<DynamicFormInstance> updateList = new ArrayList<>();
List<DynamicFormInstance> updateList = new ArrayList<>(); List<DynamicFormInstance> addList = new ArrayList<>();
List<DynamicFormInstance> addList = new ArrayList<>(); List<Long> deleteList = new ArrayList<>();
List<Long> deleteList = new ArrayList<>();
fromValueList.parallelStream().forEach(submitFormItem -> {
fromValueList.parallelStream().forEach(submitFormItem -> { if (resourceMap.containsKey(submitFormItem.getFormColumnId())) {
if ( resourceMap.containsKey(submitFormItem.getFormColumnId())) { DynamicFormInstanceDto oldForm = resourceMap.get(submitFormItem.getFormColumnId());
DynamicFormInstanceDto oldForm = resourceMap.get(submitFormItem.getFormColumnId()); submitFormItem.setSequenceNbr(oldForm.getSequenceNbr());
submitFormItem.setSequenceNbr(oldForm.getSequenceNbr()); updateList.add(submitFormItem);
updateList.add(submitFormItem); } else {
}else { addList.add(submitFormItem);
addList.add(submitFormItem); }
} newResourceMap.put(submitFormItem.getFormColumnId(), submitFormItem);
newResourceMap.put(submitFormItem.getFormColumnId(), submitFormItem); });
});
newResourceMap.keySet().parallelStream().forEach(form -> {
newResourceMap.keySet().parallelStream().forEach(form -> { resourceMap.remove(form);
resourceMap.remove(form); });
});
resourceMap.keySet().parallelStream().forEach(action -> {
resourceMap.keySet().parallelStream().forEach(action -> { deleteList.add(resourceMap.get(action).getSequenceNbr());
deleteList.add(resourceMap.get(action).getSequenceNbr()); });
});
if (deleteList.size() > 0) {
if (deleteList.size() > 0) { alertFormValueServiceImpl.deleteBatchSeq(deleteList);
alertFormValueServiceImpl.deleteBatchSeq(deleteList); }
}
if (updateList.size() > 0) {
if (updateList.size() > 0) { alertFormValueServiceImpl.updateBatchById(updateList);
alertFormValueServiceImpl.updateBatchById(updateList); }
}
if (addList.size() > 0) {
if (addList.size() > 0) { alertFormValueServiceImpl.saveBatch(addList);
alertFormValueServiceImpl.saveBatch(addList); }
} }
}
@Override
@Override public Map<String, Object> selectForShowById(OrgUsr orgUsr, Long id) throws Exception {
public Map<String, Object> selectForShowById(OrgUsr orgUsr, Long id) throws Exception { QueryWrapper<DynamicFormColumn> queryWrapper = new QueryWrapper<DynamicFormColumn>();
QueryWrapper<DynamicFormColumn> queryWrapper = new QueryWrapper<DynamicFormColumn>(); queryWrapper.eq("group_code", OrgPersonEnum.人员.getCode());
queryWrapper.eq("group_code", OrgPersonEnum.人员.getCode()); List<DynamicFormColumn> alertForms = alertFormServiceImpl.list(queryWrapper);
List<DynamicFormColumn> alertForms = alertFormServiceImpl.list(queryWrapper); // 动态表单数据
// 动态表单数据 List<DynamicFormInstanceDto> list = alertFormValueServiceImpl.listByCalledId(id);
List<DynamicFormInstanceDto> list = alertFormValueServiceImpl.listByCalledId(id); Map<String, Object> result = new HashMap<>();
Map<String, Object> result = new HashMap<>(); result = Bean.BeantoMap(orgUsr);
result = Bean.BeantoMap(orgUsr); result.put("parenName", getById(orgUsr.getParentId()).getBizOrgName());
result.put("parenName", getById(orgUsr.getParentId()).getBizOrgName()); // 放入所有动态表单数据
// 放入所有动态表单数据 for (DynamicFormColumn alertForm : alertForms) {
for (DynamicFormColumn alertForm : alertForms) { result.put(alertForm.getFieldCode(), null);
result.put(alertForm.getFieldCode(), null); }
} for (DynamicFormInstanceDto alertFormValue : list) {
for (DynamicFormInstanceDto alertFormValue : list) { result.put(alertFormValue.getFieldCode(),
result.put(alertFormValue.getFieldCode(), ObjectUtils.isEmpty(alertFormValue.getFieldValueLabel()) ? alertFormValue.getFieldValue()
ObjectUtils.isEmpty(alertFormValue.getFieldValueLabel()) ? alertFormValue.getFieldValue() : alertFormValue.getFieldValueLabel());
: alertFormValue.getFieldValueLabel()); }
} return result;
return result; }
}
@Override
@Override public List<OrgUsr> selectCompanyDepartmentMsg() {
public List<OrgUsr> selectCompanyDepartmentMsg() { List<OrgUsr> list = this.baseMapper.selectCompanyDepartmentMsg();
List<OrgUsr> list = this.baseMapper.selectCompanyDepartmentMsg(); if (list == null) {
if (list == null) { return new ArrayList<>();
return new ArrayList<>(); }
} list = list.stream().filter(o -> !ObjectUtils.isEmpty(o)).collect(Collectors.toList());
list = list.stream().filter(o -> !ObjectUtils.isEmpty(o)).collect(Collectors.toList()); return list;
return list; }
}
public List<OrgUsr> selectCompanyList() { public List<OrgUsr> selectCompanyList() {
List<OrgUsr> list = List<OrgUsr> list =
...@@ -515,713 +516,726 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp ...@@ -515,713 +516,726 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
return list; return list;
} }
@Override @Override
public void saveOrgUsr(OrgUsrDto OrgUsrVo) throws Exception { public void saveOrgUsr(OrgUsrDto OrgUsrVo) throws Exception {
OrgUsr orgUsr = new OrgUsr(); OrgUsr orgUsr = new OrgUsr();
BeanUtils.copyProperties(OrgUsrVo, orgUsr); BeanUtils.copyProperties(OrgUsrVo, orgUsr);
orgUsr.setBizOrgType(CommonConstant.BIZ_ORG_TYPE_COMPANY); orgUsr.setBizOrgType(CommonConstant.BIZ_ORG_TYPE_COMPANY);
if (OrgUsrVo.getParentId() != null) { if (OrgUsrVo.getParentId() != null) {
OrgUsr parent = getById(OrgUsrVo.getParentId()); OrgUsr parent = getById(OrgUsrVo.getParentId());
if (parent != null && ObjectUtils.isEmpty(OrgUsrVo.getBizOrgCode())) { if (parent != null && ObjectUtils.isEmpty(OrgUsrVo.getBizOrgCode())) {
orgUsr.setBizOrgCode(parent.getBizOrgCode() + getOrgCodeStr()); orgUsr.setBizOrgCode(parent.getBizOrgCode() + getOrgCodeStr());
} }
} else { } else {
orgUsr.setBizOrgCode(getOrgCodeStr()); orgUsr.setBizOrgCode(getOrgCodeStr());
} }
saveOrgUsrDynamicFormInstance(orgUsr, OrgUsrVo.getDynamicFormValue()); saveOrgUsrDynamicFormInstance(orgUsr, OrgUsrVo.getDynamicFormValue());
/** /**
* 同步保存ES * 同步保存ES
*/ */
eSOrgUsrService.saveAlertCalledToES(orgUsr); eSOrgUsrService.saveAlertCalledToES(orgUsr);
} }
@Override @Override
public void saveOrgPerson(OrgPersonDto OrgPersonVo) throws Exception { public void saveOrgPerson(OrgPersonDto OrgPersonVo) throws Exception {
OrgUsr orgUsr = new OrgUsr(); OrgUsr orgUsr = new OrgUsr();
BeanUtils.copyProperties(OrgPersonVo, orgUsr); BeanUtils.copyProperties(OrgPersonVo, orgUsr);
orgUsr.setBizOrgType(CommonConstant.BIZ_ORG_TYPE_PERSON); orgUsr.setBizOrgType(CommonConstant.BIZ_ORG_TYPE_PERSON);
if (OrgPersonVo.getParentId() != null) { if (OrgPersonVo.getParentId() != null) {
OrgUsr parent = getById(OrgPersonVo.getParentId()); OrgUsr parent = getById(OrgPersonVo.getParentId());
if (parent != null && ObjectUtils.isEmpty(OrgPersonVo.getBizOrgCode())) { if (parent != null && ObjectUtils.isEmpty(OrgPersonVo.getBizOrgCode())) {
orgUsr.setBizOrgCode(parent.getBizOrgCode() + getOrgCodeStr()); orgUsr.setBizOrgCode(parent.getBizOrgCode() + getOrgCodeStr());
} }
} else { } else {
orgUsr.setBizOrgCode(getOrgCodeStr()); orgUsr.setBizOrgCode(getOrgCodeStr());
} }
if (!ObjectUtils.isEmpty(OrgPersonVo.getAmosOrgId())) { if (!ObjectUtils.isEmpty(OrgPersonVo.getAmosOrgId())) {
AgencyUserModel user = Privilege.agencyUserClient.queryByUserId(OrgPersonVo.getAmosOrgId()).getResult(); AgencyUserModel user = Privilege.agencyUserClient.queryByUserId(OrgPersonVo.getAmosOrgId()).getResult();
OrgPersonVo.setAmosOrgCode(user.getRealName()); OrgPersonVo.setAmosOrgCode(user.getRealName());
} }
saveOrgUsrDynamicFormInstance(orgUsr, OrgPersonVo.getDynamicFormValue()); saveOrgUsrDynamicFormInstance(orgUsr, OrgPersonVo.getDynamicFormValue());
} }
public void saveOrgPersonExcel(OrgUsrExcelDto OrgPersonVo) throws Exception {
OrgUsr orgUsr = new OrgUsr();
BeanUtils.copyProperties(OrgPersonVo, orgUsr);
public void saveOrgPersonExcel(OrgUsrExcelDto OrgPersonVo) throws Exception { orgUsr.setBizOrgType(CommonConstant.BIZ_ORG_TYPE_PERSON);
OrgUsr orgUsr = new OrgUsr(); if (OrgPersonVo.getParentId() != null) {
BeanUtils.copyProperties(OrgPersonVo, orgUsr); OrgUsr parent = getById(OrgPersonVo.getParentId());
orgUsr.setBizOrgType(CommonConstant.BIZ_ORG_TYPE_PERSON); if (parent != null && ObjectUtils.isEmpty(OrgPersonVo.getBizOrgCode())) {
if (OrgPersonVo.getParentId() != null) { orgUsr.setBizOrgCode(parent.getBizOrgCode() + getOrgCodeStr());
OrgUsr parent = getById(OrgPersonVo.getParentId()); }
if (parent != null && ObjectUtils.isEmpty(OrgPersonVo.getBizOrgCode())) { } else {
orgUsr.setBizOrgCode(parent.getBizOrgCode() + getOrgCodeStr()); orgUsr.setBizOrgCode(getOrgCodeStr());
} }
} else {
orgUsr.setBizOrgCode(getOrgCodeStr());
} if (!ObjectUtils.isEmpty(OrgPersonVo.getAmosOrgId())) {
AgencyUserModel user = Privilege.agencyUserClient.queryByUserId(OrgPersonVo.getAmosOrgId()).getResult();
OrgPersonVo.setAmosOrgCode(user.getRealName());
}
if (!ObjectUtils.isEmpty(OrgPersonVo.getAmosOrgId())) {
AgencyUserModel user = Privilege.agencyUserClient.queryByUserId(OrgPersonVo.getAmosOrgId()).getResult(); saveOrgUsrDynamicFormInstance(orgUsr, OrgPersonVo.getDynamicFormValue());
OrgPersonVo.setAmosOrgCode(user.getRealName()); }
}
@Override
saveOrgUsrDynamicFormInstance(orgUsr, OrgPersonVo.getDynamicFormValue()); public void updateByIdOrgUsr(OrgUsrDto OrgUsrVo, Long id) throws Exception {
} // 修改单位信息
OrgUsr orgUsr = new OrgUsr();
@Override OrgUsr oriOrgUsr = getById(id);
public void updateByIdOrgUsr(OrgUsrDto OrgUsrVo, Long id) throws Exception { BeanUtils.copyProperties(OrgUsrVo, orgUsr);
// 修改单位信息 saveOrgUsr(orgUsr, oriOrgUsr);
OrgUsr orgUsr = new OrgUsr(); // 保存动态表单数据
OrgUsr oriOrgUsr = getById(id); updateDynamicFormInstance(orgUsr.getSequenceNbr(), OrgUsrVo.getDynamicFormValue());
BeanUtils.copyProperties(OrgUsrVo, orgUsr); /**
saveOrgUsr(orgUsr, oriOrgUsr);
// 保存动态表单数据
updateDynamicFormInstance(orgUsr.getSequenceNbr(), OrgUsrVo.getDynamicFormValue());
/**
* 同步保存ES * 同步保存ES
*/ */
eSOrgUsrService.saveAlertCalledToES(orgUsr); eSOrgUsrService.saveAlertCalledToES(orgUsr);
} }
@Override @Override
public void updateByIdOrgPerson(OrgPersonDto OrgPersonVo, Long id) throws Exception { public void updateByIdOrgPerson(OrgPersonDto OrgPersonVo, Long id) throws Exception {
// 修改人员信息 // 修改人员信息
OrgUsr orgUsr = new OrgUsr(); OrgUsr orgUsr = new OrgUsr();
OrgUsr oriOrgUsr = getById(id); OrgUsr oriOrgUsr = getById(id);
BeanUtils.copyProperties(OrgPersonVo, orgUsr); BeanUtils.copyProperties(OrgPersonVo, orgUsr);
orgUsr.setSequenceNbr(id); orgUsr.setSequenceNbr(id);
if (!ObjectUtils.isEmpty(OrgPersonVo.getAmosOrgId())) { if (!ObjectUtils.isEmpty(OrgPersonVo.getAmosOrgId())) {
AgencyUserModel user = Privilege.agencyUserClient.queryByUserId(OrgPersonVo.getAmosOrgId()).getResult(); AgencyUserModel user = Privilege.agencyUserClient.queryByUserId(OrgPersonVo.getAmosOrgId()).getResult();
oriOrgUsr.setAmosOrgCode(user.getRealName()); oriOrgUsr.setAmosOrgCode(user.getRealName());
oriOrgUsr.setAmosOrgId(user.getUserId()); oriOrgUsr.setAmosOrgId(user.getUserId());
orgUsr.setAmosOrgCode(user.getRealName()); orgUsr.setAmosOrgCode(user.getRealName());
orgUsr.setAmosOrgId(user.getUserId()); orgUsr.setAmosOrgId(user.getUserId());
} }
saveOrgUsr(orgUsr, oriOrgUsr); saveOrgUsr(orgUsr, oriOrgUsr);
// 保存动态表单数据 // 保存动态表单数据
updateDynamicFormInstance(orgUsr.getSequenceNbr(), OrgPersonVo.getDynamicFormValue()); updateDynamicFormInstance(orgUsr.getSequenceNbr(), OrgPersonVo.getDynamicFormValue());
} }
@Override @Override
public OrgUsrFormDto selectCompanyById(Long id) throws Exception { public OrgUsrFormDto selectCompanyById(Long id) throws Exception {
OrgUsr orgUsr = getById(id); OrgUsr orgUsr = getById(id);
// 动态表单数据 // 动态表单数据
List<FormValue> formValue = getFormValue(id); List<FormValue> formValue = getFormValue(id);
OrgUsrFormDto orgUsrFormVo = new OrgUsrFormDto(); OrgUsrFormDto orgUsrFormVo = new OrgUsrFormDto();
orgUsrFormVo.setDynamicFormAlert(formValue); orgUsrFormVo.setDynamicFormAlert(formValue);
BeanUtils.copyProperties(orgUsr, orgUsrFormVo); BeanUtils.copyProperties(orgUsr, orgUsrFormVo);
return orgUsrFormVo; return orgUsrFormVo;
} }
@Override @Override
public IPage<OrgUsr> bizOrgTypeListPage(String pageNum, String pageSize, String bizOrgType) throws Exception { public IPage<OrgUsr> bizOrgTypeListPage(String pageNum, String pageSize, String bizOrgType) throws Exception {
Map<String, Object> columnMap = new HashMap<>(); Map<String, Object> columnMap = new HashMap<>();
columnMap.put("is_delete", CommonConstant.IS_DELETE_00); columnMap.put("is_delete", CommonConstant.IS_DELETE_00);
columnMap.put("biz_org_type", bizOrgType); columnMap.put("biz_org_type", bizOrgType);
Page<OrgUsr> pageBean = new Page<OrgUsr>(); Page<OrgUsr> pageBean = new Page<OrgUsr>();
if (StringUtils.isBlank(pageNum) || StringUtils.isBlank(pageSize)) { if (StringUtils.isBlank(pageNum) || StringUtils.isBlank(pageSize)) {
pageBean = new Page<>(0, Long.MAX_VALUE); pageBean = new Page<>(0, Long.MAX_VALUE);
} else { } else {
pageBean = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize)); pageBean = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
} }
QueryWrapper<OrgUsr> queryWrapper = new QueryWrapper<OrgUsr>(); QueryWrapper<OrgUsr> queryWrapper = new QueryWrapper<OrgUsr>();
queryWrapper.allEq(columnMap); queryWrapper.allEq(columnMap);
queryWrapper.orderByAsc("sequence_nbr"); queryWrapper.orderByAsc("sequence_nbr");
return page(pageBean, queryWrapper); return page(pageBean, queryWrapper);
} }
@Override @Override
public void saveDepartment(List<OrgDepartmentDto> OrgDepartmentVo, Long id) throws Exception { public void saveDepartment(List<OrgDepartmentDto> OrgDepartmentVo, Long id) throws Exception {
for (int i = 0; i < OrgDepartmentVo.size(); i++) { for (int i = 0; i < OrgDepartmentVo.size(); i++) {
// 导入部门信息的前提条件:单位信息已经存在 // 导入部门信息的前提条件:单位信息已经存在
if (getById(id) != null) { if (getById(id) != null) {
OrgUsr orgUsr = new OrgUsr(); OrgUsr orgUsr = new OrgUsr();
BeanUtils.copyProperties(OrgDepartmentVo.get(i), orgUsr); BeanUtils.copyProperties(OrgDepartmentVo.get(i), orgUsr);
orgUsr.setBizOrgType(CommonConstant.BIZ_ORG_TYPE_DEPARTMENT); orgUsr.setBizOrgType(CommonConstant.BIZ_ORG_TYPE_DEPARTMENT);
saveOrgUsrDynamicFormInstance(orgUsr, OrgDepartmentVo.get(i).getDynamicFormValue()); saveOrgUsrDynamicFormInstance(orgUsr, OrgDepartmentVo.get(i).getDynamicFormValue());
} }
} }
} }
@Override @Override
public void saveCompany(List<OrgUsrDto> OrgUsrVo) throws Exception { public void saveCompany(List<OrgUsrDto> OrgUsrVo) throws Exception {
for (int i = 0; i < OrgUsrVo.size(); i++) { for (int i = 0; i < OrgUsrVo.size(); i++) {
OrgUsr orgUsr = new OrgUsr(); OrgUsr orgUsr = new OrgUsr();
BeanUtils.copyProperties(OrgUsrVo.get(i), orgUsr); BeanUtils.copyProperties(OrgUsrVo.get(i), orgUsr);
orgUsr.setBizOrgType(CommonConstant.BIZ_ORG_TYPE_COMPANY); orgUsr.setBizOrgType(CommonConstant.BIZ_ORG_TYPE_COMPANY);
saveOrgUsrDynamicFormInstance(orgUsr, OrgUsrVo.get(i).getDynamicFormValue()); saveOrgUsrDynamicFormInstance(orgUsr, OrgUsrVo.get(i).getDynamicFormValue());
} }
} }
@Override @Override
public OrgPersonFormDto selectPersonById(Long id) throws Exception { public OrgPersonFormDto selectPersonById(Long id) throws Exception {
OrgUsr orgUsr = getById(id); OrgUsr orgUsr = getById(id);
// 动态表单数据 // 动态表单数据
List<FormValue> formValue = getFormValue(id); List<FormValue> formValue = getFormValue(id);
OrgPersonFormDto orgPersonFormVo = new OrgPersonFormDto(formValue); OrgPersonFormDto orgPersonFormVo = new OrgPersonFormDto(formValue);
BeanUtils.copyProperties(orgUsr, orgPersonFormVo); BeanUtils.copyProperties(orgUsr, orgPersonFormVo);
OrgUsr parent = getById(orgUsr.getParentId()); OrgUsr parent = getById(orgUsr.getParentId());
if (!ObjectUtils.isEmpty(parent)) { if (!ObjectUtils.isEmpty(parent)) {
orgPersonFormVo.setParentName(parent.getBizOrgName()); orgPersonFormVo.setParentName(parent.getBizOrgName());
} }
return orgPersonFormVo; return orgPersonFormVo;
} }
@Override @Override
public OrgPersonFormDto selectPersonByIdDetail(Long id) throws Exception { public OrgPersonFormDto selectPersonByIdDetail(Long id) throws Exception {
OrgUsr orgUsr = getById(id); OrgUsr orgUsr = getById(id);
// 动态表单数据 // 动态表单数据
List<FormValue> formValue = getFormValueDetail(id); List<FormValue> formValue = getFormValueDetail(id);
OrgPersonFormDto orgPersonFormVo = new OrgPersonFormDto(formValue); OrgPersonFormDto orgPersonFormVo = new OrgPersonFormDto(formValue);
BeanUtils.copyProperties(orgUsr, orgPersonFormVo); BeanUtils.copyProperties(orgUsr, orgPersonFormVo);
orgPersonFormVo.setParentName(getById(orgUsr.getParentId()).getBizOrgName()); orgPersonFormVo.setParentName(getById(orgUsr.getParentId()).getBizOrgName());
return orgPersonFormVo; return orgPersonFormVo;
} }
@Override @Override
public List<OrgMenuDto> selectPersonTree() throws Exception { public List<OrgMenuDto> selectPersonTree() throws Exception {
Map<String, Object> columnMap = new HashMap<>(); Map<String, Object> columnMap = new HashMap<>();
columnMap.put("is_delete", CommonConstant.IS_DELETE_00); columnMap.put("is_delete", CommonConstant.IS_DELETE_00);
columnMap.put("biz_org_type", CommonConstant.BIZ_ORG_TYPE_PERSON); columnMap.put("biz_org_type", CommonConstant.BIZ_ORG_TYPE_PERSON);
Collection<OrgUsr> list = listByMap(columnMap); Collection<OrgUsr> list = listByMap(columnMap);
return getTree(null, list, OrgUsr.class.getName(), "getSequenceNbr", 2, "getBizOrgName", "getParentId", return getTree(null, list, OrgUsr.class.getName(), "getSequenceNbr", 2, "getBizOrgName", "getParentId",
"getBizOrgType"); "getBizOrgType");
} }
@Override @Override
public void savePersonList(List<OrgPersonDto> OrgPersonVo) throws Exception { public void savePersonList(List<OrgPersonDto> OrgPersonVo) throws Exception {
for (int i = 0; i < OrgPersonVo.size(); i++) { for (int i = 0; i < OrgPersonVo.size(); i++) {
OrgUsr orgUsr = new OrgUsr(); OrgUsr orgUsr = new OrgUsr();
BeanUtils.copyProperties(OrgPersonVo.get(i), orgUsr); BeanUtils.copyProperties(OrgPersonVo.get(i), orgUsr);
orgUsr.setBizOrgType(CommonConstant.BIZ_ORG_TYPE_PERSON); orgUsr.setBizOrgType(CommonConstant.BIZ_ORG_TYPE_PERSON);
saveOrgUsrDynamicFormInstance(orgUsr, OrgPersonVo.get(i).getDynamicFormValue()); saveOrgUsrDynamicFormInstance(orgUsr, OrgPersonVo.get(i).getDynamicFormValue());
} }
} }
@Override @Override
public void saveOrgDepartment(OrgDepartmentDto OrgDepartmentVo) throws Exception { public void saveOrgDepartment(OrgDepartmentDto OrgDepartmentVo) throws Exception {
OrgUsr orgUsr = new OrgUsr(); OrgUsr orgUsr = new OrgUsr();
BeanUtils.copyProperties(OrgDepartmentVo, orgUsr); BeanUtils.copyProperties(OrgDepartmentVo, orgUsr);
orgUsr.setBizOrgType(CommonConstant.BIZ_ORG_TYPE_DEPARTMENT); orgUsr.setBizOrgType(CommonConstant.BIZ_ORG_TYPE_DEPARTMENT);
if (OrgDepartmentVo.getParentId() != null) { if (OrgDepartmentVo.getParentId() != null) {
OrgUsr parent = getById(OrgDepartmentVo.getParentId()); OrgUsr parent = getById(OrgDepartmentVo.getParentId());
if (parent != null && ObjectUtils.isEmpty(OrgDepartmentVo.getBizOrgCode())) { if (parent != null && ObjectUtils.isEmpty(OrgDepartmentVo.getBizOrgCode())) {
orgUsr.setBizOrgCode(parent.getBizOrgCode() + getOrgCodeStr()); orgUsr.setBizOrgCode(parent.getBizOrgCode() + getOrgCodeStr());
} }
} else { } else {
orgUsr.setBizOrgCode(getOrgCodeStr()); orgUsr.setBizOrgCode(getOrgCodeStr());
} }
saveOrgUsrDynamicFormInstance(orgUsr, OrgDepartmentVo.getDynamicFormValue()); saveOrgUsrDynamicFormInstance(orgUsr, OrgDepartmentVo.getDynamicFormValue());
} }
@Override @Override
public void updateByIdOrgDepartment(OrgDepartmentDto OrgDepartmentVo, Long id) throws Exception { public void updateByIdOrgDepartment(OrgDepartmentDto OrgDepartmentVo, Long id) throws Exception {
// 修改部门信息 // 修改部门信息
OrgUsr orgUsr = new OrgUsr(); OrgUsr orgUsr = new OrgUsr();
OrgUsr oriOrgUsr = getById(id); OrgUsr oriOrgUsr = getById(id);
BeanUtils.copyProperties(OrgDepartmentVo, orgUsr); BeanUtils.copyProperties(OrgDepartmentVo, orgUsr);
saveOrgUsr(orgUsr, oriOrgUsr); saveOrgUsr(orgUsr, oriOrgUsr);
// 保存动态表单数据 // 保存动态表单数据
updateDynamicFormInstance(orgUsr.getSequenceNbr(), OrgDepartmentVo.getDynamicFormValue()); updateDynamicFormInstance(orgUsr.getSequenceNbr(), OrgDepartmentVo.getDynamicFormValue());
} }
@Override @Override
public OrgDepartmentFormDto selectDepartmentById(Long id) throws Exception { public OrgDepartmentFormDto selectDepartmentById(Long id) throws Exception {
OrgUsr orgUsr = getById(id); OrgUsr orgUsr = getById(id);
// 动态表单数据 // 动态表单数据
List<FormValue> formValue = getFormValue(id); List<FormValue> formValue = getFormValue(id);
OrgDepartmentFormDto orgDepartmentFormVo = new OrgDepartmentFormDto(formValue); OrgDepartmentFormDto orgDepartmentFormVo = new OrgDepartmentFormDto(formValue);
BeanUtils.copyProperties(orgUsr, orgDepartmentFormVo); BeanUtils.copyProperties(orgUsr, orgDepartmentFormVo);
return orgDepartmentFormVo; return orgDepartmentFormVo;
} }
@Override @Override
public List<Map<String, Object>> selectForShowByListId(List<Long> ids) throws Exception { public List<Map<String, Object>> selectForShowByListId(List<Long> ids) throws Exception {
List<Map<String, Object>> personResult = new ArrayList<>(); List<Map<String, Object>> personResult = new ArrayList<>();
for (int i = 0; i < ids.size(); i++) { for (int i = 0; i < ids.size(); i++) {
OrgUsr orgUsr = getById(ids.get(i)); OrgUsr orgUsr = getById(ids.get(i));
Map<String, Object> result = selectForShowById(orgUsr, ids.get(i)); Map<String, Object> result = selectForShowById(orgUsr, ids.get(i));
personResult.add(result); personResult.add(result);
} }
return personResult; return personResult;
} }
@Override
public List<CompanyDto> listContractDto(Integer pageNum, Integer pageSize, RequestData requestData) {
if (null == pageNum || null == pageSize) {
@Override pageNum = 1;
public List<CompanyDto> listContractDto(Integer pageNum, Integer pageSize, RequestData requestData) { pageSize = Integer.MAX_VALUE;
if (null == pageNum || null == pageSize) { } else {
pageNum = 1; pageNum = (pageNum - 1) * pageSize;
pageSize = Integer.MAX_VALUE; }
} else { return orgUsrMapper.listContractDto(pageNum, pageSize, requestData);
pageNum = (pageNum - 1) * pageSize; }
}
return orgUsrMapper.listContractDto(pageNum, pageSize, requestData); @Override
} public Integer listContractDtoCount(RequestData par) {
return orgUsrMapper.listContractDtoCount(par);
@Override }
public Integer listContractDtoCount(RequestData par) {
return orgUsrMapper.listContractDtoCount( par);
} public static String getOrgCodeStr() {
return TreeParser.genTreeCode();
}
public void importByExcel(List<OrgPersonExcelDto> list) {
list.forEach(item -> {
OrgPersonDto orgPersonDto = new OrgPersonDto();
public static String getOrgCodeStr() { orgPersonDto = Bean.toPo(item, orgPersonDto);
return TreeParser.genTreeCode(); List<DynamicFormInstance> alertFormValueList = new ArrayList<>();
} if (item.getPersonNumber() != null) {
DynamicFormInstance alertFormValue = new DynamicFormInstance(102L, OrgPersonEnum.人员.getCode(), "员工编号",
public void importByExcel(List<OrgPersonExcelDto> list) { "personNumber", item.getPersonNumber(), null, false);
list.forEach(item -> { alertFormValueList.add(alertFormValue);
OrgPersonDto orgPersonDto = new OrgPersonDto(); }
orgPersonDto = Bean.toPo(item, orgPersonDto); if (item.getCertificatesType() != null) {
List<DynamicFormInstance> alertFormValueList = new ArrayList<>(); String certificatesType = item.getCertificatesType();
if (item.getPersonNumber() != null) { String[] split = certificatesType.split("@");
DynamicFormInstance alertFormValue = new DynamicFormInstance(102L, OrgPersonEnum.人员.getCode(), "员工编号", DynamicFormInstance alertFormValue = new DynamicFormInstance(23L, OrgPersonEnum.人员.getCode(), "证件类型",
"personNumber", item.getPersonNumber(), null, false); "certificatesTypeCode", split[0], split[1], false);
alertFormValueList.add(alertFormValue); alertFormValueList.add(alertFormValue);
} }
if (item.getCertificatesType() != null) { if (item.getGender() != null) {
String certificatesType = item.getCertificatesType(); String gender = item.getGender();
String[] split = certificatesType.split("@"); String[] split = gender.split("@");
DynamicFormInstance alertFormValue = new DynamicFormInstance(23L, OrgPersonEnum.人员.getCode(), "证件类型", DynamicFormInstance alertFormValue = new DynamicFormInstance(22L, OrgPersonEnum.人员.getCode(), "性别",
"certificatesTypeCode", split[0], split[1], false); "gender", split[0], split[1], false);
alertFormValueList.add(alertFormValue); alertFormValueList.add(alertFormValue);
} }
if (item.getGender() != null) { if (item.getCertificatesNumber() != null) {
String gender = item.getGender(); DynamicFormInstance alertFormValue = new DynamicFormInstance(100L, OrgPersonEnum.人员.getCode(), "证件号码",
String[] split = gender.split("@"); "certificatesNumber", item.getCertificatesNumber(), null, false);
DynamicFormInstance alertFormValue = new DynamicFormInstance(22L, OrgPersonEnum.人员.getCode(), "性别", alertFormValueList.add(alertFormValue);
"gender", split[0], split[1], false); }
alertFormValueList.add(alertFormValue); if (item.getTelephone() != null) {
} DynamicFormInstance alertFormValue = new DynamicFormInstance(24L, OrgPersonEnum.人员.getCode(), "联系电话",
if (item.getCertificatesNumber() != null) { "telephone", item.getTelephone(), null, false);
DynamicFormInstance alertFormValue = new DynamicFormInstance(100L, OrgPersonEnum.人员.getCode(), "证件号码", alertFormValueList.add(alertFormValue);
"certificatesNumber", item.getCertificatesNumber(), null, false); }
alertFormValueList.add(alertFormValue); if (item.getState() != null) {
} String state = item.getState();
if (item.getTelephone() != null) { String[] split = state.split("@");
DynamicFormInstance alertFormValue = new DynamicFormInstance(24L, OrgPersonEnum.人员.getCode(), "联系电话", DynamicFormInstance alertFormValue = new DynamicFormInstance(25L, OrgPersonEnum.人员.getCode(), "人员状态",
"telephone", item.getTelephone(), null, false); "stateCode", split[0], split[1], false);
alertFormValueList.add(alertFormValue); alertFormValueList.add(alertFormValue);
} }
if (item.getState() != null) { if (item.getSafetyTraining() != null) {
String state = item.getState(); String safetyTraining = item.getSafetyTraining();
String[] split = state.split("@"); String[] split = safetyTraining.split("@");
DynamicFormInstance alertFormValue = new DynamicFormInstance(25L, OrgPersonEnum.人员.getCode(), "人员状态", DynamicFormInstance alertFormValue = new DynamicFormInstance(29L, OrgPersonEnum.人员.getCode(),
"stateCode", split[0], split[1], false); "是否进行安全培训", "safetyTraining", split[0], split[1], false);
alertFormValueList.add(alertFormValue); alertFormValueList.add(alertFormValue);
} }
if (item.getSafetyTraining() != null) { if (item.getAdministrativePosition() != null) {
String safetyTraining = item.getSafetyTraining(); String administrativePosition = item.getAdministrativePosition();
String[] split = safetyTraining.split("@"); String[] split = administrativePosition.split("@");
DynamicFormInstance alertFormValue = new DynamicFormInstance(29L, OrgPersonEnum.人员.getCode(), DynamicFormInstance alertFormValue = new DynamicFormInstance(28L, OrgPersonEnum.人员.getCode(), "行政职务",
"是否进行安全培训", "safetyTraining", split[0], split[1], false); "administrativePositionCode", split[0], split[1], false);
alertFormValueList.add(alertFormValue); alertFormValueList.add(alertFormValue);
} }
if (item.getAdministrativePosition() != null) { if (item.getInternalPosition() != null) {
String administrativePosition = item.getAdministrativePosition(); String internalPosition = item.getInternalPosition();
String[] split = administrativePosition.split("@"); String[] split = internalPosition.split("@");
DynamicFormInstance alertFormValue = new DynamicFormInstance(28L, OrgPersonEnum.人员.getCode(), "行政职务", DynamicFormInstance alertFormValue = new DynamicFormInstance(26L, OrgPersonEnum.人员.getCode(),
"administrativePositionCode", split[0], split[1], false); "消防管理组织机构内部职务", "internalPositionCode", split[0], split[1], false);
alertFormValueList.add(alertFormValue); alertFormValueList.add(alertFormValue);
} }
if (item.getInternalPosition() != null) { if (item.getFireManagementPost() != null) {
String internalPosition = item.getInternalPosition(); String fireManagementPost = item.getFireManagementPost();
String[] split = internalPosition.split("@"); String[] split = fireManagementPost.split("@");
DynamicFormInstance alertFormValue = new DynamicFormInstance(26L, OrgPersonEnum.人员.getCode(), DynamicFormInstance alertFormValue = new DynamicFormInstance(27L, OrgPersonEnum.人员.getCode(), "消防管理岗位",
"消防管理组织机构内部职务", "internalPositionCode", split[0], split[1], false); "fireManagementPostCode", split[0], split[1], false);
alertFormValueList.add(alertFormValue); alertFormValueList.add(alertFormValue);
} }
if (item.getFireManagementPost() != null) { if (item.getPositionType() != null) {
String fireManagementPost = item.getFireManagementPost(); String positionType = item.getPositionType();
String[] split = fireManagementPost.split("@"); String[] split = positionType.split("@");
DynamicFormInstance alertFormValue = new DynamicFormInstance(27L, OrgPersonEnum.人员.getCode(), "消防管理岗位", DynamicFormInstance alertFormValue = new DynamicFormInstance(30L, OrgPersonEnum.人员.getCode(), "岗位类型",
"fireManagementPostCode", split[0], split[1], false); "positionType", split[0], split[1], false);
alertFormValueList.add(alertFormValue); alertFormValueList.add(alertFormValue);
} }
if (item.getPositionType() != null) { if (item.getCertificateType() != null) {
String positionType = item.getPositionType(); String certificateType = item.getCertificateType();
String[] split = positionType.split("@"); String[] split = certificateType.split("@");
DynamicFormInstance alertFormValue = new DynamicFormInstance(30L, OrgPersonEnum.人员.getCode(), "岗位类型", DynamicFormInstance alertFormValue = new DynamicFormInstance(31L, OrgPersonEnum.人员.getCode(), "持证类别",
"positionType", split[0], split[1], false); "certificateType", split[0], split[1], false);
alertFormValueList.add(alertFormValue); alertFormValueList.add(alertFormValue);
} }
if (item.getCertificateType() != null) { if (item.getHoldingTime() != null) {
String certificateType = item.getCertificateType(); DynamicFormInstance alertFormValue = new DynamicFormInstance(32L, OrgPersonEnum.人员.getCode(), "持证时间",
String[] split = certificateType.split("@"); "holdingTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(item.getHoldingTime()), null,
DynamicFormInstance alertFormValue = new DynamicFormInstance(31L, OrgPersonEnum.人员.getCode(), "持证类别", false);
"certificateType", split[0], split[1], false); alertFormValueList.add(alertFormValue);
alertFormValueList.add(alertFormValue); }
} if (item.getAuditCycle() != null) {
if (item.getHoldingTime() != null) { String auditCycle = item.getAuditCycle();
DynamicFormInstance alertFormValue = new DynamicFormInstance(32L, OrgPersonEnum.人员.getCode(), "持证时间", String[] split = auditCycle.split("@");
"holdingTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(item.getHoldingTime()), null, DynamicFormInstance alertFormValue = new DynamicFormInstance(33L, OrgPersonEnum.人员.getCode(), "审核周期",
false); "auditCycle", split[0], split[1], false);
alertFormValueList.add(alertFormValue); alertFormValueList.add(alertFormValue);
} }
if (item.getAuditCycle() != null) { if (item.getPersonImg() != null) {
String auditCycle = item.getAuditCycle(); DynamicFormInstance alertFormValue = new DynamicFormInstance(34L, OrgPersonEnum.人员.getCode(), "人员照片",
String[] split = auditCycle.split("@"); "personImg", item.getPersonImg(), null, false);
DynamicFormInstance alertFormValue = new DynamicFormInstance(33L, OrgPersonEnum.人员.getCode(), "审核周期", alertFormValueList.add(alertFormValue);
"auditCycle", split[0], split[1], false); }
alertFormValueList.add(alertFormValue); if (item.getCertificateImg() != null) {
} DynamicFormInstance alertFormValue = new DynamicFormInstance(101L, OrgPersonEnum.人员.getCode(),
if (item.getPersonImg() != null) { "重点工种资质证书", "certificateImg", item.getCertificateImg(), null, false);
DynamicFormInstance alertFormValue = new DynamicFormInstance(34L, OrgPersonEnum.人员.getCode(), "人员照片", alertFormValueList.add(alertFormValue);
"personImg", item.getPersonImg(), null, false); }
alertFormValueList.add(alertFormValue); try {
} orgPersonDto.setDynamicFormValue(alertFormValueList);
if (item.getCertificateImg() != null) { this.saveOrgPerson(orgPersonDto);
DynamicFormInstance alertFormValue = new DynamicFormInstance(101L, OrgPersonEnum.人员.getCode(), } catch (Exception e) {
"重点工种资质证书", "certificateImg", item.getCertificateImg(), null, false); e.printStackTrace();
alertFormValueList.add(alertFormValue); }
} });
try { }
orgPersonDto.setDynamicFormValue(alertFormValueList);
this.saveOrgPerson(orgPersonDto); public List<OrgPersonExcelDto> queryOrgPersonDtoList(boolean isDelete) {
} catch (Exception e) {
e.printStackTrace(); List<OrgPersonExcelDto> excelOrgPersonDtoList = orgUsrMapper.queryOrgPersonDtoList(isDelete);
}
}); return excelOrgPersonDtoList;
} }
public List<OrgPersonExcelDto> queryOrgPersonDtoList(boolean isDelete) { /**
* 根据id查询当前单位下的所有子单位、部门
List<OrgPersonExcelDto> excelOrgPersonDtoList = orgUsrMapper.queryOrgPersonDtoList(isDelete); *
* @param orgUserId
return excelOrgPersonDtoList; * @return
} */
public List<OrgUsr> listOrgUserById(Long orgUserId) {
/** return this.baseMapper.listOrgUserById(orgUserId);
* 根据id查询当前单位下的所有子单位、部门 }
*
* @param orgUserId public List<CompanyPerson> returnCompanyPerson(List<Long> ids) {
* @return if (ObjectUtils.isEmpty(ids)) {
*/ return null;
public List<OrgUsr> listOrgUserById(Long orgUserId) { }
return this.baseMapper.listOrgUserById(orgUserId); return ids.stream().map(m -> {
} OrgUsr org = getById(m);
if (ObjectUtils.isEmpty(org)) {
public List<CompanyPerson> returnCompanyPerson(List<Long> ids) { return null;
if (ObjectUtils.isEmpty(ids)) { }
return null; CompanyPerson company = new CompanyPerson();
} BeanUtils.copyProperties(org, company);
return ids.stream().map(m -> { company.setPersons(this.queryForListByParentIdAndOrgType(org.getSequenceNbr(), OrgPersonEnum.人员.getKey()));
OrgUsr org = getById(m); return company;
if (ObjectUtils.isEmpty(org)) { }).filter(c -> {
return null; return c != null;
} }).collect(Collectors.toList());
CompanyPerson company = new CompanyPerson(); }
BeanUtils.copyProperties(org, company);
company.setPersons(this.queryForListByParentIdAndOrgType(org.getSequenceNbr(), OrgPersonEnum.人员.getKey())); public List<OrgUsrDto> queryForListByParentIdAndOrgType(Long parentId, String bizOrgType) {
return company; return this.queryForList(null, false, parentId, bizOrgType);
}).filter(c -> { }
return c != null;
}).collect(Collectors.toList()); public OrgUsrDto getOrg(String amosUserId) {
} OrgUsrDto person = queryForListByParentIdAndOrgType(amosUserId);
if (ObjectUtils.isEmpty(person)) {
public List<OrgUsrDto> queryForListByParentIdAndOrgType( Long parentId, String bizOrgType) { return null;
return this.queryForList(null, false, parentId, bizOrgType); }
} return this.queryBySeq(Long.valueOf(person.getParentId()));
}
public OrgUsrDto getOrg(String amosUserId) {
OrgUsrDto person = queryForListByParentIdAndOrgType(amosUserId); public OrgUsrDto queryForListByParentIdAndOrgType(String amosOrgId) {
if (ObjectUtils.isEmpty(person)) { return this.queryModelByParams(amosOrgId);
return null; }
}
return this.queryBySeq(Long.valueOf(person.getParentId())); @Override
} public List<OrgUsrzhDto> getOrgUsrzhDto(String name) {
// TODO Auto-generated method stub
public OrgUsrDto queryForListByParentIdAndOrgType( String amosOrgId) { List<OrgUsrzhDto> list = orgUsrMapper.getOrgUsrzhDto(name);
return this.queryModelByParams( amosOrgId ); return list;
} }
@Override @Override
public List<OrgUsrzhDto> getOrgUsrzhDto(String name) { public List<ESOrgUsrDto> selectByIddata(String name) {
// TODO Auto-generated method stub //获取所有单位
List<OrgUsrzhDto> list=orgUsrMapper.getOrgUsrzhDto(name); QueryWrapper<OrgUsr> wrapper = new QueryWrapper<>();
return list;
} wrapper.in("biz_org_type", "DEPARTMENT", "COMPANY");
wrapper.eq("is_delete", 0);
@Override if (name != null && !"".equals(name)) {
public List<ESOrgUsrDto> selectByIddata(String name) { wrapper.like("biz_org_name", name);
//获取所有单位 }
QueryWrapper<OrgUsr> wrapper = new QueryWrapper<>();
List<OrgUsr> list = this.list(wrapper);
wrapper.in("biz_org_type", "DEPARTMENT","COMPANY"); List<ESOrgUsrDto> lidataDtos = new ArrayList();
wrapper.eq("is_delete", 0); list.forEach(orgUsr -> {
if(name!=null&&!"".equals(name)) { ESOrgUsrDto data = new ESOrgUsrDto();
wrapper.like("biz_org_name", name); data.setSequenceNbr(orgUsr.getSequenceNbr());
} data.setBizOrgName(orgUsr.getBizOrgName());
lidataDtos.add(data);
List<OrgUsr> list = this.list(wrapper); });
List<ESOrgUsrDto> lidataDtos=new ArrayList(); return lidataDtos;
list.forEach(orgUsr->{ }
ESOrgUsrDto data=new ESOrgUsrDto();
data.setSequenceNbr(orgUsr.getSequenceNbr()); @Override
data.setBizOrgName(orgUsr.getBizOrgName()); public List<Map<String, Object>> getparent() {
lidataDtos.add(data); return orgUsrMapper.getparent();
}); }
return lidataDtos;
} @Override
public List<OrgUsrExcelDto> exportToExcel() {
@Override return orgUsrMapper.exportToExcel();
public List<Map<String, Object>> getparent() { }
return orgUsrMapper.getparent();
} @Override
public UserUnitDto getUserUnit(String id, String type, String code) {
@Override // 业主单位
public List<OrgUsrExcelDto> exportToExcel() { List<UserUnitDto> list = orgUsrMapper.getUserUnit(id, type, null);
return orgUsrMapper.exportToExcel(); if (!CollectionUtils.isEmpty(list)) {
} if (list.size() == 1) {
UserUnitDto userUnitDto = list.get(0);
public List<OrgUsr> getCompanyDetailTree() { String companyId = userUnitDto.getCompanyId();
LambdaQueryWrapper<OrgUsr> wrapper= new LambdaQueryWrapper<OrgUsr>(); if (StringUtils.isNotBlank(companyId) && StringUtils.isNotBlank(code)) {
wrapper.eq(OrgUsr::getBizOrgType, "COMPANY"); List<UserUnitDto> dtoList = orgUsrMapper.getUserUnit(null, code, companyId);
wrapper.eq(OrgUsr::getIsDelete, false); if (!CollectionUtils.isEmpty(dtoList)) {
return this.baseMapper.selectList(wrapper); userUnitDto.setCompanyId(dtoList.get(0).getPersonSeq());
} return userUnitDto;
}
@Override throw new RuntimeException("未获取人员业主单位!");
public List<OrgMenuDto> companyUserTreeByUser (AgencyUserModel user) { }
LambdaQueryWrapper<OrgUsr> wrapper= new LambdaQueryWrapper<OrgUsr>(); }
wrapper.eq(OrgUsr::getIsDelete, false); throw new RuntimeException("人员绑定业主单位不唯一!");
List<OrgUsr> companyDepartmentMsgList = this.baseMapper.selectList(wrapper); }
return gettTreeByUser(user, companyDepartmentMsgList); throw new RuntimeException("人员未绑定任何单位!");
} }
@Override public List<OrgUsr> getCompanyDetailTree() {
public List<OrgMenuDto> companyTreeByUser(AgencyUserModel user) { LambdaQueryWrapper<OrgUsr> wrapper = new LambdaQueryWrapper<OrgUsr>();
List<OrgUsr> companyDepartmentMsgList = selectCompanyDepartmentMsg(); wrapper.eq(OrgUsr::getBizOrgType, "COMPANY");
return gettTreeByUser(user, companyDepartmentMsgList); wrapper.eq(OrgUsr::getIsDelete, false);
}; return this.baseMapper.selectList(wrapper);
}
@Override
public List<OrgUsrTreeDto> companyListByUser(AgencyUserModel user) { @Override
List<OrgUsrTreeDto> list = new ArrayList<>(); public List<OrgMenuDto> companyUserTreeByUser(AgencyUserModel user) {
// 需要角色为机场单位或管理员,其余角色返回空 LambdaQueryWrapper<OrgUsr> wrapper = new LambdaQueryWrapper<OrgUsr>();
String code = UserRolesEnum.AIRPORTUNIT.getCode(); wrapper.eq(OrgUsr::getIsDelete, false);
String codeAdmin = UserRolesEnum.ADMIN.getCode(); List<OrgUsr> companyDepartmentMsgList = this.baseMapper.selectList(wrapper);
String roles = getRoles(user, code); return gettTreeByUser(user, companyDepartmentMsgList);
}
if (!StringUtils.isEmpty(roles)) {
List<OrgUsrTreeDto> companyList = this.baseMapper.getCompanyAndKeySite(null); @Override
if (roles.equals(codeAdmin)) { public List<OrgMenuDto> companyTreeByUser(AgencyUserModel user) {
// 返回全部单位列表 List<OrgUsr> companyDepartmentMsgList = selectCompanyDepartmentMsg();
return companyAndKeySiteList(companyList); return gettTreeByUser(user, companyDepartmentMsgList);
} else if (roles.equals(code)) { }
;
@Override
public List<OrgUsrTreeDto> companyListByUser(AgencyUserModel user) {
List<OrgUsrTreeDto> list = new ArrayList<>();
// 需要角色为机场单位或管理员,其余角色返回空
String code = UserRolesEnum.AIRPORTUNIT.getCode();
String codeAdmin = UserRolesEnum.ADMIN.getCode();
String roles = getRoles(user, code);
if (!StringUtils.isEmpty(roles)) {
List<OrgUsrTreeDto> companyList = this.baseMapper.getCompanyAndKeySite(null);
if (roles.equals(codeAdmin)) {
// 返回全部单位列表
return companyAndKeySiteList(companyList);
} else if (roles.equals(code)) {
// } else { // } else {
// 人员与多个部门/公司关联 // 人员与多个部门/公司关联
List<OrgUsr> orgUsrList = orgUsrList(user); List<OrgUsr> orgUsrList = orgUsrList(user);
if (ObjectUtils.isEmpty(orgUsrList)) { if (ObjectUtils.isEmpty(orgUsrList)) {
return list; return list;
} }
Set<Long> set = new HashSet<>(); Set<Long> set = new HashSet<>();
orgUsrList.forEach(orgUsr -> { orgUsrList.forEach(orgUsr -> {
Long parent = ObjectUtils.isEmpty(orgUsr.getParentId()) ? 0L : Long.parseLong(orgUsr.getParentId()); Long parent = ObjectUtils.isEmpty(orgUsr.getParentId()) ? 0L : Long.parseLong(orgUsr.getParentId());
if (set.add(parent)) { if (set.add(parent)) {
Long companyIdByDto = getCompanyIdByDto(parent, companyList); Long companyIdByDto = getCompanyIdByDto(parent, companyList);
List<OrgUsrTreeDto> orgUsrTreeDtoList = this.baseMapper.getCompanyAndKeySite(companyIdByDto); List<OrgUsrTreeDto> orgUsrTreeDtoList = this.baseMapper.getCompanyAndKeySite(companyIdByDto);
list.addAll(companyAndKeySiteList(orgUsrTreeDtoList)); list.addAll(companyAndKeySiteList(orgUsrTreeDtoList));
} }
}); });
// 返回所在用户单位列表 // 返回所在用户单位列表
return list.stream().distinct().collect(Collectors.toList()); return list.stream().distinct().collect(Collectors.toList());
} }
} }
return list; return list;
} }
/** /**
* 获取登陆人所在公司 * 获取登陆人所在公司
*/ */
private Long getCompanyIdByDto (Long parentId, List<OrgUsrTreeDto> companyDepartmentMsgList) { private Long getCompanyIdByDto(Long parentId, List<OrgUsrTreeDto> companyDepartmentMsgList) {
Long pid = null; Long pid = null;
for (OrgUsrTreeDto orgUsr : companyDepartmentMsgList) { for (OrgUsrTreeDto orgUsr : companyDepartmentMsgList) {
if (orgUsr.getSequenceNbr().equals(parentId)) { if (orgUsr.getSequenceNbr().equals(parentId)) {
if (orgUsr.getBizOrgType().equals(OrgPersonEnum.公司.getKey()) && ObjectUtils.isEmpty(orgUsr.getParentId())) { if (orgUsr.getBizOrgType().equals(OrgPersonEnum.公司.getKey()) && ObjectUtils.isEmpty(orgUsr.getParentId())) {
return orgUsr.getSequenceNbr(); return orgUsr.getSequenceNbr();
} else { } else {
pid = getCompanyIdByDto(Long.parseLong(orgUsr.getParentId()),companyDepartmentMsgList); pid = getCompanyIdByDto(Long.parseLong(orgUsr.getParentId()), companyDepartmentMsgList);
} }
} }
} }
return pid; return pid;
} }
/** /**
* 查询单位列表 * 查询单位列表
*/ */
private List<OrgUsrTreeDto> companyAndKeySiteList (List<OrgUsrTreeDto> companyList) { private List<OrgUsrTreeDto> companyAndKeySiteList(List<OrgUsrTreeDto> companyList) {
List<OrgUsrTreeDto> list = new ArrayList<>(); List<OrgUsrTreeDto> list = new ArrayList<>();
if (ObjectUtils.isEmpty(companyList)) { if (ObjectUtils.isEmpty(companyList)) {
return list; return list;
} }
Map<Long, OrgUsrTreeDto> map = new HashMap<>(companyList.size()); Map<Long, OrgUsrTreeDto> map = new HashMap<>(companyList.size());
companyList.forEach(e -> map.put(e.getSequenceNbr(), e)); companyList.forEach(e -> map.put(e.getSequenceNbr(), e));
Set<? extends Map.Entry<Long, ? extends OrgUsrTreeDto>> entries = map.entrySet(); Set<? extends Map.Entry<Long, ? extends OrgUsrTreeDto>> entries = map.entrySet();
entries.parallelStream().forEach(entry -> { entries.parallelStream().forEach(entry -> {
OrgUsrTreeDto value = entry.getValue(); OrgUsrTreeDto value = entry.getValue();
if (!ObjectUtils.isEmpty(value)) { if (!ObjectUtils.isEmpty(value)) {
Long parent = ObjectUtils.isEmpty(value.getParentId()) ? 0L : Long.parseLong(value.getParentId()); Long parent = ObjectUtils.isEmpty(value.getParentId()) ? 0L : Long.parseLong(value.getParentId());
OrgUsrTreeDto orgUsrTreeDto = map.get(parent); OrgUsrTreeDto orgUsrTreeDto = map.get(parent);
if (!ObjectUtils.isEmpty(orgUsrTreeDto)) { if (!ObjectUtils.isEmpty(orgUsrTreeDto)) {
int num = orgUsrTreeDto.getNum() + value.getNum(); int num = orgUsrTreeDto.getNum() + value.getNum();
orgUsrTreeDto.setNum(num); orgUsrTreeDto.setNum(num);
} else { } else {
if (value.getBizOrgType().equals(OrgPersonEnum.公司.getKey())) { if (value.getBizOrgType().equals(OrgPersonEnum.公司.getKey())) {
list.add(value); list.add(value);
} }
} }
} }
}); });
return list; return list;
} }
/** /**
* 获取树 * 获取树
*/ */
private List<OrgMenuDto> gettTreeByUser (AgencyUserModel user, List<OrgUsr> list) { private List<OrgMenuDto> gettTreeByUser(AgencyUserModel user, List<OrgUsr> list) {
List<OrgMenuDto> treeList = new ArrayList<>(); List<OrgMenuDto> treeList = new ArrayList<>();
// 需要角色为机场单位或管理员,其余角色返回空 // 需要角色为机场单位或管理员,其余角色返回空
String code = UserRolesEnum.AIRPORTUNIT.getCode(); String code = UserRolesEnum.AIRPORTUNIT.getCode();
String codeAdmin = UserRolesEnum.ADMIN.getCode(); String codeAdmin = UserRolesEnum.ADMIN.getCode();
String roles = getRoles(user, code); String roles = getRoles(user, code);
if (!StringUtils.isEmpty(roles)) { if (!StringUtils.isEmpty(roles)) {
// treeList = getDepartmentTreeByUser(user,list); // treeList = getDepartmentTreeByUser(user,list);
if (roles.equals(codeAdmin)) { if (roles.equals(codeAdmin)) {
// 返回全量树 // 返回全量树
treeList = buildTreeParallel(list); treeList = buildTreeParallel(list);
} else if (roles.equals(code)) { } else if (roles.equals(code)) {
// 获取当前用户所在部门树 // 获取当前用户所在部门树
treeList = getDepartmentTreeByUser(user,list); treeList = getDepartmentTreeByUser(user, list);
} }
} }
return treeList; return treeList;
} }
/** /**
* 根基登陆人获取指定角色/最高角色,默认最高角色 * 根基登陆人获取指定角色/最高角色,默认最高角色
*/ */
private String getRoles(AgencyUserModel user, String code) { private String getRoles(AgencyUserModel user, String code) {
String type = null; String type = null;
Map<Long, List<RoleModel>> orgRolesMap = user.getOrgRoles(); Map<Long, List<RoleModel>> orgRolesMap = user.getOrgRoles();
if (ObjectUtils.isEmpty(orgRolesMap)) { if (ObjectUtils.isEmpty(orgRolesMap)) {
return null; return null;
} }
for (Long key : orgRolesMap.keySet()) { for (Long key : orgRolesMap.keySet()) {
if (!ObjectUtils.isEmpty(orgRolesMap.get(key))) { if (!ObjectUtils.isEmpty(orgRolesMap.get(key))) {
for (RoleModel roleModel: orgRolesMap.get(key)) { for (RoleModel roleModel : orgRolesMap.get(key)) {
String roleType = roleModel.getRoleType(); String roleType = roleModel.getRoleType();
if (roleType.equals(code)) { if (roleType.equals(code)) {
type = code; type = code;
} }
if (roleType.equals(UserRolesEnum.ADMIN.getCode())) { if (roleType.equals(UserRolesEnum.ADMIN.getCode())) {
return roleType; return roleType;
} }
} }
} }
} }
return type; return type;
} }
/** /**
* 获取当前用户所在部门/用户树 * 获取当前用户所在部门/用户树
*/ */
private List<OrgMenuDto> getDepartmentTreeByUser (AgencyUserModel user,List<OrgUsr> companyDepartmentMsgList) { private List<OrgMenuDto> getDepartmentTreeByUser(AgencyUserModel user, List<OrgUsr> companyDepartmentMsgList) {
List<OrgMenuDto> list = new ArrayList<>(); List<OrgMenuDto> list = new ArrayList<>();
if (ObjectUtils.isEmpty(companyDepartmentMsgList)) { if (ObjectUtils.isEmpty(companyDepartmentMsgList)) {
return list; return list;
} }
// 1.获取当前登陆用户关联人员 // 1.获取当前登陆用户关联人员
List<OrgUsr> orgUsrList = orgUsrList(user); List<OrgUsr> orgUsrList = orgUsrList(user);
if (ObjectUtils.isEmpty(orgUsrList)) { if (ObjectUtils.isEmpty(orgUsrList)) {
return list; return list;
} }
// 2.查询人员所属部门 // 2.查询人员所属部门
List<OrgMenuDto> treeList = buildTreeParallel(companyDepartmentMsgList); List<OrgMenuDto> treeList = buildTreeParallel(companyDepartmentMsgList);
Set<Long> set = new HashSet<>(); Set<Long> set = new HashSet<>();
orgUsrList.forEach(orgUsr -> { orgUsrList.forEach(orgUsr -> {
Long parentId = Long.parseLong(orgUsr.getParentId()); Long parentId = Long.parseLong(orgUsr.getParentId());
getTreeChildre(list, treeList, parentId, set, companyDepartmentMsgList); getTreeChildre(list, treeList, parentId, set, companyDepartmentMsgList);
}); });
return list; return list;
} }
/** /**
* 获取登陆人关联账号 * 获取登陆人关联账号
*/ */
private List<OrgUsr> orgUsrList (AgencyUserModel user) { private List<OrgUsr> orgUsrList(AgencyUserModel user) {
String userId = user.getUserId(); String userId = user.getUserId();
LambdaQueryWrapper<OrgUsr> wrapper= new LambdaQueryWrapper<>(); LambdaQueryWrapper<OrgUsr> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(OrgUsr::getIsDelete,false); wrapper.eq(OrgUsr::getIsDelete, false);
wrapper.eq(OrgUsr::getAmosOrgId,userId); wrapper.eq(OrgUsr::getAmosOrgId, userId);
wrapper.eq(OrgUsr::getBizOrgType,OrgPersonEnum.人员.getKey()); wrapper.eq(OrgUsr::getBizOrgType, OrgPersonEnum.人员.getKey());
List<OrgUsr> orgUsrList = this.baseMapper.selectList(wrapper); List<OrgUsr> orgUsrList = this.baseMapper.selectList(wrapper);
return orgUsrList; return orgUsrList;
} }
/** /**
* 组装树 * 组装树
*/ */
private void getTreeChildre (List<OrgMenuDto> list, List<OrgMenuDto> treeList, Long parentId, Set<Long> set, List<OrgUsr> companyDepartmentMsgList) { private void getTreeChildre(List<OrgMenuDto> list, List<OrgMenuDto> treeList, Long parentId, Set<Long> set, List<OrgUsr> companyDepartmentMsgList) {
if (ObjectUtils.isEmpty(treeList) && ObjectUtils.isEmpty(companyDepartmentMsgList)) { if (ObjectUtils.isEmpty(treeList) && ObjectUtils.isEmpty(companyDepartmentMsgList)) {
return; return;
} }
// 获取登陆人所在公司 // 获取登陆人所在公司
Long pid = getCompanyId(parentId, companyDepartmentMsgList); Long pid = getCompanyId(parentId, companyDepartmentMsgList);
if (set.add(pid)) { if (set.add(pid)) {
List<OrgMenuDto> list1 = treeList.stream().filter(orgMenuDto -> orgMenuDto.getKey().equals(pid)).collect(Collectors.toList()); List<OrgMenuDto> list1 = treeList.stream().filter(orgMenuDto -> orgMenuDto.getKey().equals(pid)).collect(Collectors.toList());
list.addAll(list1); list.addAll(list1);
} }
} }
/** /**
* 获取登陆人所在公司 * 获取登陆人所在公司
*/ */
private Long getCompanyId (Long parentId, List<OrgUsr> companyDepartmentMsgList) { private Long getCompanyId(Long parentId, List<OrgUsr> companyDepartmentMsgList) {
Long pid = null; Long pid = null;
for (OrgUsr orgUsr : companyDepartmentMsgList) { for (OrgUsr orgUsr : companyDepartmentMsgList) {
if (orgUsr.getSequenceNbr().equals(parentId)) { if (orgUsr.getSequenceNbr().equals(parentId)) {
if (orgUsr.getBizOrgType().equals(OrgPersonEnum.公司.getKey()) && ObjectUtils.isEmpty(orgUsr.getParentId())) { if (orgUsr.getBizOrgType().equals(OrgPersonEnum.公司.getKey()) && ObjectUtils.isEmpty(orgUsr.getParentId())) {
return orgUsr.getSequenceNbr(); return orgUsr.getSequenceNbr();
} else { } else {
pid = getCompanyId(Long.parseLong(orgUsr.getParentId()),companyDepartmentMsgList); pid = getCompanyId(Long.parseLong(orgUsr.getParentId()), companyDepartmentMsgList);
} }
} }
} }
return pid; return pid;
} }
} }
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