Browse Source

Merge remote-tracking branch 'origin/lingshan_master' into lingshan_master

master
wxz 2 years ago
parent
commit
cb614f163c
  1. 5
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffAgencyDao.java
  2. 2
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java
  3. 5
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java
  4. 18
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/UserServiceImpl.java
  5. 10
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml

5
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffAgencyDao.java

@ -52,6 +52,7 @@ public interface CustomerStaffAgencyDao extends BaseDao<CustomerStaffAgencyEntit
/**
* desc:获取工作人员在的网格
*
* @param staffId
* @return
*/
@ -77,4 +78,8 @@ public interface CustomerStaffAgencyDao extends BaseDao<CustomerStaffAgencyEntit
List<String> listStaffIdsUnderAgency(@Param("customerId") String customerId,
@Param("orgIdPath") String orgIdPath,
@Param("agencyId") String agencyId);
List<String> listStaffIdsUnderGrid(@Param("customerId") String customerId,
@Param("orgIdPath") String orgIdPath,
@Param("gridId") String gridId);
}

2
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java

@ -321,4 +321,6 @@ public interface GovOrgService {
PageData<LingShanLianHuResiUserResultDTO> lianHuResi(Integer pageNo, Integer pageSize, String partyCenterHouseId);
List<String> listStaffIdsUnderAgency(String orgIdPath, String agencyId);
List<String> listStaffIdsUnderGrid(String orgIdPath, String gridId);
}

5
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java

@ -1618,4 +1618,9 @@ public class GovOrgServiceImpl implements GovOrgService {
public List<String> listStaffIdsUnderAgency(String orgIdPath, String agencyId) {
return customerStaffAgencyDao.listStaffIdsUnderAgency(EpmetRequestHolder.getLoginUserCustomerId(), orgIdPath, agencyId);
}
@Override
public List<String> listStaffIdsUnderGrid(String orgIdPath, String gridId) {
return customerStaffAgencyDao.listStaffIdsUnderGrid(EpmetRequestHolder.getLoginUserCustomerId(), orgIdPath, gridId);
}
}

18
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/UserServiceImpl.java

@ -6,6 +6,7 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.utils.EpmetRequestHolder;
import com.epmet.commons.tools.utils.PidUtils;
import com.epmet.constant.OrgInfoConstant;
@ -20,6 +21,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service
@ -37,7 +39,8 @@ public class UserServiceImpl implements UserService {
@Override
public PageData<StaffsByOrgAndRoleRstDTO> listStaffByOrgAndRole(StaffsByOrgAndRolesFormDTO form) {
String orgIdPath;
List<String> staffIdsUnderAgency = new ArrayList<>();
List<String> staffIdsUnderGrid = new ArrayList<>();
if (StringUtils.isAnyBlank(form.getOrgId(), form.getOrgType())) {
// 这俩有一个不传,就用当前用户所属的
LoginUserDetailsResultDTO loginUserDetails = epmetUserRemoteService.getLoginUserDetails();
@ -46,27 +49,30 @@ public class UserServiceImpl implements UserService {
form.setOrgType(OrgInfoConstant.AGENCY);
} else {
// 取用户传递的
// 先通过org库查询出工作人员的id列表
if (OrgInfoConstant.AGENCY.equals(form.getOrgType())) {
// 行政组织
AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(form.getOrgId());
orgIdPath = PidUtils.convertPid2OrgIdPath(agencyInfo.getId(), agencyInfo.getPids());
staffIdsUnderAgency = govOrgService.listStaffIdsUnderAgency(orgIdPath, form.getOrgId());
} else {
return null;
GridInfoCache gridInfoCache = CustomerOrgRedis.getGridInfo(form.getOrgId());
orgIdPath = PidUtils.convertPid2OrgIdPath(gridInfoCache.getId(), gridInfoCache.getPids());
staffIdsUnderGrid = govOrgService.listStaffIdsUnderGrid(orgIdPath, form.getOrgId());
}
}
// 先通过org库查询出工作人员的id列表
List<String> staffIdsUnderAgency = govOrgService.listStaffIdsUnderAgency(orgIdPath, form.getOrgId());
// 再通过这些id列表,去过滤角色,并且查出详细信息
PageData<StaffsByOrgAndRoleRstDTO> pageData = epmetUserService.staffsInRolesFromGivenStaffIds(staffIdsUnderAgency, form);
PageData<StaffsByOrgAndRoleRstDTO> pageData = epmetUserService.staffsInRolesFromGivenStaffIds(
staffIdsUnderAgency.size() > 0 ? staffIdsUnderAgency : staffIdsUnderGrid, form);
pageData.getList().forEach(staff -> {
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(EpmetRequestHolder.getLoginUserCustomerId(), staff.getStaffId());
List<IdAndNameDTO> gridList = staffInfo.getGridList();
staff.setAgencyId(staffInfo.getAgencyId());
if (null != staffInfo.getGridList() && staffInfo.getGridList().size() > 0) {
staff.setGridName(staffInfo.getAgencyName() + "-" + gridList.get(0).getName());
}else {
} else {
staff.setGridName(staffInfo.getAgencyName());
}
});

10
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml

@ -172,5 +172,15 @@
) ag
inner join customer_staff_agency sa on (ag.ID = sa.AGENCY_ID and sa.DEL_FLAG = 0)
</select>
<select id="listStaffIdsUnderGrid" resultType="java.lang.String">
select sa.USER_ID
from ( select ID
from customer_grid
where DEL_FLAG = 0
and CUSTOMER_ID = #{customerId}
and (PIDS like CONCAT(#{orgIdPath}, '%') OR ID=#{gridId})
) ag
inner join customer_staff_grid sa on (ag.ID = sa.GRID_ID and sa.DEL_FLAG = 0)
</select>
</mapper>

Loading…
Cancel
Save