+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dto.form;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+
+
+/**
+ * 获取组织列表-接口入参
+ *
+ * @author sun
+ */
+@Data
+public class AgencyListFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 机关组织Id
+ */
+ @NotBlank(message = "组织机构ID不能为空")
+ private String agencyId;
+
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/StaffsInAgencyFromDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/StaffsInAgencyFromDTO.java
new file mode 100644
index 0000000000..dc0deddc9d
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/StaffsInAgencyFromDTO.java
@@ -0,0 +1,28 @@
+package com.epmet.dto.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author zhaoqifeng
+ * @dscription
+ * @date 2020/4/23 15:45
+ */
+@Data
+public class StaffsInAgencyFromDTO implements Serializable {
+ private static final long serialVersionUID = 1L;
+ /**
+ * 客户ID
+ */
+ private String customerId;
+ /**
+ * 机关ID
+ */
+ private String agencyId;
+ /**
+ * 用户ID
+ */
+ private List staffList;
+}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyListResultDTO.java
new file mode 100644
index 0000000000..9673700fcc
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyListResultDTO.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dto.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+/**
+ * 获取组织列表-接口返参
+ *
+ * @author sun
+ */
+@Data
+public class AgencyListResultDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 机关组织Id
+ */
+ private String agencyId;
+
+ /**
+ * 机关组织名称
+ */
+ private String agencyName;
+
+ /**
+ * 总人数
+ */
+ private Integer totalUser;
+
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffInfoResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffInfoResultDTO.java
new file mode 100644
index 0000000000..2859c1171a
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffInfoResultDTO.java
@@ -0,0 +1,38 @@
+package com.epmet.dto.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author zhaoqifeng
+ * @dscription
+ * @date 2020/4/23 16:08
+ */
+@Data
+public class StaffInfoResultDTO implements Serializable {
+ /**
+ * 用户ID
+ */
+ private String staffId;
+ /**
+ * 用户姓名
+ */
+ private String staffName;
+ /**
+ * 头像
+ */
+ private String staffHeadPhoto;
+ /**
+ * 性别
+ */
+ private Integer gender;
+ /**
+ * 是否禁用(未禁用enable,已禁用disabled)
+ */
+ private String enableFlag;
+ /**
+ * 权限名
+ */
+ private String roleName;
+}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffsInAgencyResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffsInAgencyResultDTO.java
new file mode 100644
index 0000000000..4c9352466b
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffsInAgencyResultDTO.java
@@ -0,0 +1,27 @@
+package com.epmet.dto.result;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author zhaoqifeng
+ * @dscription
+ * @date 2020/4/23 15:58
+ */
+@NoArgsConstructor
+@Data
+public class StaffsInAgencyResultDTO implements Serializable {
+ private static final long serialVersionUID = 1L;
+ /**
+ * 人员总数
+ */
+ private Integer staffCount;
+ /**
+ * 人员列表
+ */
+ private List staffList;
+
+}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java
new file mode 100644
index 0000000000..82cd76e7c3
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java
@@ -0,0 +1,113 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.service;
+
+import com.epmet.commons.mybatis.service.BaseService;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.dto.CustomerAgencyDTO;
+import com.epmet.dto.form.*;
+import com.epmet.dto.result.*;
+import com.epmet.entity.CustomerAgencyEntity;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 机关单位信息
+ *
+ * @author generator generator@elink-cn.com
+ */
+public interface AgencyService {
+
+ /**
+ * @param formDTO
+ * @return
+ * @Author sun
+ * @Description 添加组织
+ */
+ Result addAgency(AddAgencyFormDTO formDTO);
+
+ /**
+ * @param formDTO
+ * @return
+ * @Author sun
+ * @Description 组织名称编辑
+ */
+ Result editAgency(EditAgencyFormDTO formDTO);
+
+ /**
+ * @param formDTO
+ * @return
+ * @Author sun
+ * @Description 删除组织机关
+ */
+ Result removeAgency(RemoveAgencyFormDTO formDTO);
+
+ /**
+ * @param formDTO
+ * @return
+ * @Author sun
+ * @Description 组织首页-获取组织机构信息
+ */
+ Result agencyDetail(AgencydetailFormDTO formDTO);
+
+ /**
+ * @param formDTO
+ * @return
+ * @Author sun
+ * @Description 组织首页-下级机关列表
+ */
+ Result subAgencyList(SubAgencyFormDTO formDTO);
+
+ /**
+ * @param formDTO
+ * @return
+ * @Author sun
+ * @Description 获取组织列表
+ */
+ Result> agencyList(AgencyListFormDTO formDTO);
+}
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java
index 7076fe6d2d..24a4e17b35 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java
@@ -107,44 +107,4 @@ public interface CustomerAgencyService extends BaseService
* @Date 2020/4/20 21:45
**/
Result> getStaffOrgList(StaffOrgFormDTO staffOrgsFormDTO);
-
- /**
- * @param formDTO
- * @return
- * @Author sun
- * @Description 添加组织
- */
- Result addAgency(AddAgencyFormDTO formDTO);
-
- /**
- * @param formDTO
- * @return
- * @Author sun
- * @Description 组织名称编辑
- */
- Result editAgency(EditAgencyFormDTO formDTO);
-
- /**
- * @param formDTO
- * @return
- * @Author sun
- * @Description 删除组织机关
- */
- Result removeAgency(RemoveAgencyFormDTO formDTO);
-
- /**
- * @param formDTO
- * @return
- * @Author sun
- * @Description 组织首页-获取组织机构信息
- */
- Result agencyDetail(AgencydetailFormDTO formDTO);
-
- /**
- * @param formDTO
- * @return
- * @Author sun
- * @Description 组织首页-下级机关列表
- */
- Result subAgencyList(SubAgencyFormDTO formDTO);
}
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffAgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffAgencyService.java
index 2aaee92578..c713dbde52 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffAgencyService.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffAgencyService.java
@@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerStaffAgencyDTO;
+import com.epmet.dto.form.StaffsInAgencyFromDTO;
import com.epmet.dto.result.LatestCustomerResultDTO;
import com.epmet.entity.CustomerStaffAgencyEntity;
@@ -102,4 +103,13 @@ public interface CustomerStaffAgencyService extends BaseService getLatestCustomer(String userId);
+
+ /**
+ * 获取组织下关联人员
+ * @param fromDTO
+ * @return
+ */
+ Result> getCustomerStaffAgencyList(StaffsInAgencyFromDTO fromDTO);
+
+
}
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/StaffService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/StaffService.java
new file mode 100644
index 0000000000..6d5b37c11f
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/StaffService.java
@@ -0,0 +1,22 @@
+package com.epmet.service;
+
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.dto.form.StaffsInAgencyFromDTO;
+import com.epmet.dto.result.StaffsInAgencyResultDTO;
+
+/**
+ * 组织结构-工作人员
+ *
+ * @author zhaoqifeng
+ * @date 2020/4/23 18:00
+ */
+public interface StaffService {
+ /**
+ * 组织首页-工作人员列表
+ *
+ * @param fromDTO 参数
+ * @return Result
+ * @author zhaoqifeng
+ */
+ Result getStaffInfoForHome(StaffsInAgencyFromDTO fromDTO);
+}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java
new file mode 100644
index 0000000000..ae13436d6a
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java
@@ -0,0 +1,197 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
+import com.epmet.commons.tools.constant.FieldConstant;
+import com.epmet.commons.tools.constant.NumConstant;
+import com.epmet.commons.tools.exception.EpmetErrorCode;
+import com.epmet.commons.tools.exception.RenException;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.utils.ConvertUtils;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.constant.CustomerAgencyConstant;
+import com.epmet.dao.CustomerAgencyDao;
+import com.epmet.dto.CustomerAgencyDTO;
+import com.epmet.dto.form.*;
+import com.epmet.dto.result.*;
+import com.epmet.entity.CustomerAgencyEntity;
+import com.epmet.redis.CustomerAgencyRedis;
+import com.epmet.service.AgencyService;
+import com.epmet.service.CustomerAgencyService;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 机关单位信息
+ *
+ * @author generator generator@elink-cn.com
+ */
+@Service
+public class AgencyServiceImpl implements AgencyService {
+
+ private static final Logger log = LoggerFactory.getLogger(AgencyServiceImpl.class);
+ @Autowired
+ private CustomerAgencyDao customerAgencyDao;
+
+ /**
+ * @param formDTO
+ * @return
+ * @Author sun
+ * @Description 添加组织
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Result addAgency(AddAgencyFormDTO formDTO) {
+ Result result = new Result();
+ AddAgencyResultDTO addAgencyResultDTO = new AddAgencyResultDTO();
+ //0:属性映射赋值
+ CustomerAgencyEntity entity = ConvertUtils.sourceToTarget(formDTO, CustomerAgencyEntity.class);
+ entity.setOrganizationName(formDTO.getAgencyName());
+ entity.setTotalUser(NumConstant.ZERO);
+ //1:查询上级机关信息
+ CustomerAgencyEntity parentEntity = customerAgencyDao.selectById(formDTO.getPid());
+ entity.setCustomerId(parentEntity.getCustomerId());
+ if (null == parentEntity.getPid()) {
+ entity.setPids(parentEntity.getId());
+ entity.setAllParentName(parentEntity.getOrganizationName());
+ } else {
+ entity.setPids(":" + parentEntity.getId());
+ entity.setAllParentName("-" + parentEntity.getOrganizationName());
+ }
+ //2:保存组织信息
+ if (customerAgencyDao.insert(entity) < NumConstant.ONE) {
+ log.error(CustomerAgencyConstant.SAVE_EXCEPTION);
+ throw new RenException(CustomerAgencyConstant.SAVE_EXCEPTION);
+ }
+ //3:返回新组织Id
+ addAgencyResultDTO.setAgencyId(entity.getId());
+ return result.ok(addAgencyResultDTO);
+ }
+
+ /**
+ * @param formDTO
+ * @return
+ * @Author sun
+ * @Description 组织名称编辑
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Result editAgency(EditAgencyFormDTO formDTO) {
+ Result result = new Result();
+ CustomerAgencyEntity entity = new CustomerAgencyEntity();
+ entity.setId(formDTO.getAgencyId());
+ entity.setOrganizationName(formDTO.getAgencyName());
+ if (customerAgencyDao.updateById(entity) < NumConstant.ONE) {
+ log.error(CustomerAgencyConstant.UPDATE_EXCEPTION);
+ throw new RenException(CustomerAgencyConstant.UPDATE_EXCEPTION);
+ }
+ return result;
+ }
+
+ /**
+ * @param formDTO
+ * @return
+ * @Author sun
+ * @Description 删除组织机关
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Result removeAgency(RemoveAgencyFormDTO formDTO) {
+ Result result = new Result();
+ //1:查询当前机关是否存在所属下级机关,存在下级的不能删除
+ List agencyList = customerAgencyDao.selectSubAgencyById(formDTO.getAgencyId());
+ if (null != agencyList && agencyList.size() > NumConstant.ZERO) {
+ result.setCode(EpmetErrorCode.NOT_DEL_AGENCY.getCode());
+ result.setMsg(EpmetErrorCode.NOT_DEL_AGENCY.getMsg());
+ return result;
+ }
+ //2:删除当前机关组织(逻辑删)
+ if (customerAgencyDao.deleteById(formDTO.getAgencyId()) < NumConstant.ONE) {
+ log.error(CustomerAgencyConstant.DEL_EXCEPTION);
+ throw new RenException(CustomerAgencyConstant.DEL_EXCEPTION);
+ }
+ return result;
+ }
+
+ /**
+ * @param formDTO
+ * @return
+ * @Author sun
+ * @Description 组织首页-获取组织机构信息
+ */
+ @Override
+ public Result agencyDetail(AgencydetailFormDTO formDTO) {
+ AgencydetailResultDTO agencydetailResultDTO = new AgencydetailResultDTO();
+ //1:查询本机关详细信息
+ CustomerAgencyEntity entity = customerAgencyDao.selectById(formDTO.getAgencyId());
+ if (null == entity) {
+ return new Result().ok(agencydetailResultDTO);
+ }
+ agencydetailResultDTO = ConvertUtils.sourceToTarget(entity, AgencydetailResultDTO.class);
+ agencydetailResultDTO.setAgencyId(entity.getId());
+ agencydetailResultDTO.setAgencyName(entity.getOrganizationName());
+ //2:查询本机关的所有上级机关,按自上而下层级顺序
+ if (null == entity.getPids()) {
+ return new Result().ok(agencydetailResultDTO);
+ }
+ List listStr = Arrays.asList(entity.getPids().split(":"));
+ List parentList = customerAgencyDao.selectPAgencyById(listStr);
+ agencydetailResultDTO.setParentList(parentList);
+ return new Result().ok(agencydetailResultDTO);
+ }
+
+ /**
+ * @param formDTO
+ * @return
+ * @Author sun
+ * @Description 组织首页-下级机关列表
+ */
+ @Override
+ public Result subAgencyList(SubAgencyFormDTO formDTO) {
+ SubAgencyResultDTO subAgencyResultDTO = new SubAgencyResultDTO();
+ //1:根据当前机关Id查询直属下一级机关列表
+ List agencyList = customerAgencyDao.selectSubAgencyById(formDTO.getAgencyId());
+ subAgencyResultDTO.setAgencyList(agencyList);
+ //2:统计下一级机关数
+ subAgencyResultDTO.setSubAgencyCount(agencyList.size());
+ return new Result().ok(subAgencyResultDTO);
+ }
+
+ /**
+ * @param formDTO
+ * @return
+ * @Author sun
+ * @Description 获取组织列表
+ */
+ @Override
+ public Result> agencyList(AgencyListFormDTO formDTO) {
+ List agencyList = customerAgencyDao.selectAgencyList(formDTO.getAgencyId());
+ return new Result>().ok(agencyList);
+ }
+}
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java
index 3bbd8631c0..c9b963b20d 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java
@@ -55,7 +55,6 @@ import java.util.Map;
@Service
public class CustomerAgencyServiceImpl extends BaseServiceImpl implements CustomerAgencyService {
- private static final Logger log = LoggerFactory.getLogger(CustomerAgencyServiceImpl.class);
@Autowired
private CustomerAgencyRedis customerAgencyRedis;
@@ -119,128 +118,4 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl list = baseDao.selectStaffOrgList(staffOrgsFormDTO.getCustomerIdList());
return new Result>().ok(list);
}
-
- /**
- * @param formDTO
- * @return
- * @Author sun
- * @Description 添加组织
- */
- @Override
- @Transactional(rollbackFor = Exception.class)
- public Result addAgency(AddAgencyFormDTO formDTO) {
- Result result = new Result();
- AddAgencyResultDTO addAgencyResultDTO = new AddAgencyResultDTO();
- //0:属性映射赋值
- CustomerAgencyEntity entity = ConvertUtils.sourceToTarget(formDTO, CustomerAgencyEntity.class);
- entity.setOrganizationName(formDTO.getAgencyName());
- entity.setTotalUser(NumConstant.ZERO);
- //1:查询上级机关信息
- CustomerAgencyEntity parentEntity = baseDao.selectById(formDTO.getPid());
- entity.setCustomerId(parentEntity.getCustomerId());
- if (null == parentEntity.getPid()) {
- entity.setPids(parentEntity.getId());
- entity.setAllParentName(parentEntity.getOrganizationName());
- } else {
- entity.setPids(":" + parentEntity.getId());
- entity.setAllParentName("-" + parentEntity.getOrganizationName());
- }
- //2:保存组织信息
- if (baseDao.insert(entity) < NumConstant.ONE) {
- log.error(CustomerAgencyConstant.SAVE_EXCEPTION);
- throw new RenException(CustomerAgencyConstant.SAVE_EXCEPTION);
- }
- //3:返回新组织Id
- addAgencyResultDTO.setAgencyId(entity.getId());
- return result.ok(addAgencyResultDTO);
- }
-
- /**
- * @param formDTO
- * @return
- * @Author sun
- * @Description 组织名称编辑
- */
- @Override
- @Transactional(rollbackFor = Exception.class)
- public Result editAgency(EditAgencyFormDTO formDTO) {
- Result result = new Result();
- CustomerAgencyEntity entity = new CustomerAgencyEntity();
- entity.setId(formDTO.getAgencyId());
- entity.setOrganizationName(formDTO.getAgencyName());
- if (baseDao.updateById(entity) < NumConstant.ONE) {
- log.error(CustomerAgencyConstant.UPDATE_EXCEPTION);
- throw new RenException(CustomerAgencyConstant.UPDATE_EXCEPTION);
- }
- return result;
- }
-
- /**
- * @param formDTO
- * @return
- * @Author sun
- * @Description 删除组织机关
- */
- @Override
- @Transactional(rollbackFor = Exception.class)
- public Result removeAgency(RemoveAgencyFormDTO formDTO) {
- Result result = new Result();
- //1:查询当前机关是否存在所属下级机关,存在下级的不能删除
- List agencyList = baseDao.selectSubAgencyById(formDTO.getAgencyId());
- if (null != agencyList && agencyList.size() > NumConstant.ZERO) {
- result.setCode(EpmetErrorCode.NOT_DEL_AGENCY.getCode());
- result.setMsg(EpmetErrorCode.NOT_DEL_AGENCY.getMsg());
- return result;
- }
- //2:删除当前机关组织(逻辑删)
- if (baseDao.deleteById(formDTO.getAgencyId()) < NumConstant.ONE) {
- log.error(CustomerAgencyConstant.DEL_EXCEPTION);
- throw new RenException(CustomerAgencyConstant.DEL_EXCEPTION);
- }
- return result;
- }
-
- /**
- * @param formDTO
- * @return
- * @Author sun
- * @Description 组织首页-获取组织机构信息
- */
- @Override
- public Result agencyDetail(AgencydetailFormDTO formDTO) {
- AgencydetailResultDTO agencydetailResultDTO = new AgencydetailResultDTO();
- //1:查询本机关详细信息
- CustomerAgencyEntity entity = baseDao.selectById(formDTO.getAgencyId());
- if (null == entity) {
- return new Result().ok(agencydetailResultDTO);
- }
- agencydetailResultDTO = ConvertUtils.sourceToTarget(entity, AgencydetailResultDTO.class);
- agencydetailResultDTO.setAgencyId(entity.getId());
- agencydetailResultDTO.setAgencyName(entity.getOrganizationName());
- //2:查询本机关的所有上级机关,按自上而下层级顺序
- if (null == entity.getPids()) {
- return new Result().ok(agencydetailResultDTO);
- }
- List listStr = Arrays.asList(entity.getPids().split(":"));
- List parentList = baseDao.selectPAgencyById(listStr);
- agencydetailResultDTO.setParentList(parentList);
- return new Result().ok(agencydetailResultDTO);
- }
-
- /**
- * @param formDTO
- * @return
- * @Author sun
- * @Description 组织首页-下级机关列表
- */
- @Override
- public Result subAgencyList(SubAgencyFormDTO formDTO) {
- SubAgencyResultDTO subAgencyResultDTO = new SubAgencyResultDTO();
- //1:根据当前机关Id查询直属下一级机关列表
- List agencyList = baseDao.selectSubAgencyById(formDTO.getAgencyId());
- subAgencyResultDTO.setAgencyList(agencyList);
- //2:统计下一级机关数
- subAgencyResultDTO.setSubAgencyCount(agencyList.size());
- return new Result().ok(subAgencyResultDTO);
- }
}
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffAgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffAgencyServiceImpl.java
index 212e5246a1..77292f2710 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffAgencyServiceImpl.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffAgencyServiceImpl.java
@@ -28,11 +28,16 @@ import com.epmet.dao.CustomerStaffAgencyDao;
import com.epmet.dto.CustomerDTO;
import com.epmet.dto.CustomerStaffAgencyDTO;
import com.epmet.dto.CustomerStaffDTO;
+import com.epmet.dto.form.StaffsInAgencyFromDTO;
import com.epmet.dto.result.LatestCustomerResultDTO;
+import com.epmet.dto.result.StaffInfoResultDTO;
+import com.epmet.dto.result.StaffsInAgencyResultDTO;
+import com.epmet.entity.CustomerAgencyEntity;
import com.epmet.entity.CustomerStaffAgencyEntity;
import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.feign.OperCrmFeignClient;
import com.epmet.redis.CustomerStaffAgencyRedis;
+import com.epmet.service.CustomerAgencyService;
import com.epmet.service.CustomerStaffAgencyService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -42,6 +47,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
+import java.util.stream.Collectors;
/**
* 人员-机关单位关系表
@@ -58,6 +64,8 @@ public class CustomerStaffAgencyServiceImpl extends BaseServiceImpl page(Map params) {
@@ -121,8 +129,7 @@ public class CustomerStaffAgencyServiceImpl extends BaseServiceImpl staffInfo =
- epmetUserFeignClient.getCustomerStaffInfoByUserId(customerStaffParam);
+ Result staffInfo = epmetUserFeignClient.getCustomerStaffInfoByUserId(customerStaffParam);
resultDTO.setStaffHeadPhoto(staffInfo.getData().getHeadPhoto());
resultDTO.setGender(staffInfo.getData().getGender());
//获取客户名称
@@ -133,4 +140,12 @@ public class CustomerStaffAgencyServiceImpl extends BaseServiceImpl().ok(resultDTO);
}
+ @Override
+ public Result> getCustomerStaffAgencyList(StaffsInAgencyFromDTO fromDTO) {
+
+ List customerStaffAgencyList = baseDao.selectCustomerStaffAgencyList(fromDTO.getAgencyId());
+
+ return new Result>().ok(customerStaffAgencyList);
+ }
+
}
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java
new file mode 100644
index 0000000000..6f3108abd7
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java
@@ -0,0 +1,54 @@
+package com.epmet.service.impl;
+
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.dto.CustomerStaffAgencyDTO;
+import com.epmet.dto.form.StaffsInAgencyFromDTO;
+import com.epmet.dto.result.StaffInfoResultDTO;
+import com.epmet.dto.result.StaffsInAgencyResultDTO;
+import com.epmet.entity.CustomerAgencyEntity;
+import com.epmet.feign.EpmetUserFeignClient;
+import com.epmet.feign.OperCrmFeignClient;
+import com.epmet.service.CustomerAgencyService;
+import com.epmet.service.CustomerStaffAgencyService;
+import com.epmet.service.StaffService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * @author zhaoqifeng
+ * @dscription
+ * @date 2020/4/23 18:05
+ */
+@Service
+public class StaffServiceImpl implements StaffService {
+ @Autowired
+ private EpmetUserFeignClient epmetUserFeignClient;
+ @Autowired
+ private OperCrmFeignClient operCrmFeignClient;
+ @Autowired
+ private CustomerAgencyService customerAgencyService;
+ @Autowired
+ private CustomerStaffAgencyService customerStaffAgencyService;
+ @Override
+ public Result getStaffInfoForHome(StaffsInAgencyFromDTO fromDTO) {
+ StaffsInAgencyResultDTO resultDTO = new StaffsInAgencyResultDTO();
+ //获取机关所在客户ID和人员总数
+ CustomerAgencyEntity customerAgencyEntity = customerAgencyService.selectById(fromDTO.getAgencyId());
+ resultDTO.setStaffCount(customerAgencyEntity.getTotalUser());
+ fromDTO.setCustomerId(customerAgencyEntity.getCustomerId());
+ List customerStaffAgencyList = customerStaffAgencyService.getCustomerStaffAgencyList(fromDTO).getData();
+ if (null == customerStaffAgencyList || customerStaffAgencyList.size() == 0) {
+ return new Result().ok(null);
+ }
+ //提取所有userID
+ List staffIds = customerStaffAgencyList.stream().map(CustomerStaffAgencyDTO::getUserId).collect(Collectors.toList());
+ fromDTO.setStaffList(staffIds);
+ //获取用户信息
+ Result> staffInfoListResult = epmetUserFeignClient.getStaffInfoForHome(fromDTO);
+ resultDTO.setStaffList(staffInfoListResult.getData());
+ return new Result().ok(resultDTO);
+ }
+}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml
index f6118df149..bd75d3e7f2 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml
+++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml
@@ -59,4 +59,15 @@
AND pid = #{pId}
ORDER BY CREATED_TIME DESC
+
+
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml
index 016f75962a..a9b8baea0d 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml
+++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml
@@ -28,5 +28,15 @@
CREATED_TIME DESC
LIMIT 1
+
\ No newline at end of file
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/CustomerStaffDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/CustomerStaffDTO.java
index 6fbd80dd49..a247d4e450 100644
--- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/CustomerStaffDTO.java
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/CustomerStaffDTO.java
@@ -128,4 +128,9 @@ public class CustomerStaffDTO implements Serializable {
* 客户id
*/
private String customerId;
+
+ /**
+ * 角色名称
+ */
+ private String roleName;
}
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java
index 103d4163fc..42c39a6022 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java
@@ -30,6 +30,8 @@ import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.StaffGridListDTO;
import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.dto.form.CustomerStaffFormDTO;
+import com.epmet.dto.form.StaffsInAgencyFromDTO;
+import com.epmet.dto.result.StaffInfoResultDTO;
import com.epmet.excel.CustomerStaffExcel;
import com.epmet.service.CustomerStaffService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -143,4 +145,14 @@ public class CustomerStaffController {
public Result getCustomerStaffInfoByUserId(CustomerStaffDTO formDTO) {
return customerStaffService.getCustomerStaffInfoByUserId(formDTO);
}
+
+ /**
+ * 组织首页-工作人员列表
+ * @param fromDTO
+ * @return
+ */
+ @PostMapping("staffsinagency")
+ public Result> getStaffInfoForHome(StaffsInAgencyFromDTO fromDTO) {
+ return customerStaffService.getStaffInfoForHome(fromDTO);
+ }
}
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/CustomerStaffDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/CustomerStaffDao.java
index ef1a5955eb..ea050b7501 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/CustomerStaffDao.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/CustomerStaffDao.java
@@ -22,6 +22,8 @@ import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.StaffGridListDTO;
import com.epmet.dto.form.CustomerStaffFormDTO;
+import com.epmet.dto.form.StaffsInAgencyFromDTO;
+import com.epmet.dto.result.StaffInfoResultDTO;
import com.epmet.entity.CustomerStaffEntity;
import org.apache.ibatis.annotations.Mapper;
@@ -54,8 +56,23 @@ public interface CustomerStaffDao extends BaseDao {
**/
CustomerStaffDTO selectListCustomerStaffInfo(CustomerStaffFormDTO formDTO);
- CustomerStaffDTO selectStaffInfoByUserId(CustomerStaffDTO formDTO);
+ CustomerStaffDTO selectStaffInfoByUserId(CustomerStaffDTO formDTO);
+ /**
+ * 根据userId查询查询网格下的用户信息
+ *
+ * @param customerStaffGridDTOS
+ * @return
+ */
+ List selectStaffGridListByUserId(List customerStaffGridDTOS);
+
+ /**
+ * 根据用户ID列表获取用户信息
+ *
+ * @param fromDTO
+ * @return
+ */
+ List selectCustomerStaffList(StaffsInAgencyFromDTO fromDTO);
/**
* 根据userId查询查询网格下的用户信息
* @param customerStaffGridDTOS
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java
index 3775510742..4a7ceb335f 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java
@@ -23,8 +23,9 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.StaffGridListDTO;
-import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.dto.form.CustomerStaffFormDTO;
+import com.epmet.dto.form.StaffsInAgencyFromDTO;
+import com.epmet.dto.result.StaffInfoResultDTO;
import com.epmet.entity.CustomerStaffEntity;
import java.util.List;
@@ -132,4 +133,11 @@ public interface CustomerStaffService extends BaseService {
* @return
*/
Result> selectStaffGridListByUserId(List customerStaffGridDTOS);
+
+ /**
+ * 组织首页-工作人员列表
+ * @param fromDTO
+ * @return
+ */
+ Result> getStaffInfoForHome(StaffsInAgencyFromDTO fromDTO);
}
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java
index 4ac6f5a529..560fe0008c 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java
@@ -30,8 +30,9 @@ import com.epmet.dao.CustomerStaffDao;
import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.StaffGridListDTO;
-import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.dto.form.CustomerStaffFormDTO;
+import com.epmet.dto.form.StaffsInAgencyFromDTO;
+import com.epmet.dto.result.StaffInfoResultDTO;
import com.epmet.entity.CustomerStaffEntity;
import com.epmet.redis.CustomerStaffRedis;
import com.epmet.service.CustomerStaffService;
@@ -149,4 +150,10 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl>().ok(staffGridListDTOS);
}
+ @Override
+ public Result> getStaffInfoForHome(StaffsInAgencyFromDTO fromDTO) {
+ List list = baseDao.selectCustomerStaffList(fromDTO);
+ return new Result>().ok(list);
+ }
+
}
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml
index 8528391aac..ab8ad974a5 100644
--- a/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml
+++ b/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml
@@ -41,6 +41,33 @@
AND cs.del_flag = 0
+