From 17819742d10a73a3e038c879c836c309495adf00 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 11 Jun 2021 17:59:04 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E7=BD=91=E6=A0=BC=E5=91=98=E5=B7=A1?= =?UTF-8?q?=E6=9F=A5=E5=8A=9F=E8=83=BD=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/epmetuser/impl/EpmetUserServiceImpl.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java index f2cf70efba..70f57f2af3 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java @@ -137,8 +137,10 @@ public class EpmetUserServiceImpl implements EpmetUserService { String totalTimeDesc = minutes / 60 + "小时"+ minutes % 60 + "分"; dto.setTotalTimeDesc(totalTimeDesc); List detailList = details.get(record.getId()); - List recordDetails = - detailList.stream().sorted(Comparator.comparing(StaffPatrolDetailDTO::getSerialNum).reversed()).collect(Collectors.toList()).stream().map( detail -> { + detailList = + detailList.stream().sorted(Comparator.comparing(StaffPatrolDetailDTO::getSerialNum).reversed()).collect(Collectors.toList()).stream() + .filter(item -> null == record.getPatrolEndTime() || record.getPatrolEndTime().compareTo(item.getUploadTime()) > -1).collect(Collectors.toList()); + List recordDetails = detailList.stream().map( detail -> { PatrolRecordDetailDTO detailDTO = new PatrolRecordDetailDTO(); detailDTO.setLatitude(detail.getLatitude()); detailDTO.setLongitude(detail.getLongitude()); From 20291e71a4e527678f3c21480e40e6c2d95a9183 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Tue, 15 Jun 2021 14:54:37 +0800 Subject: [PATCH 2/3] =?UTF-8?q?screen=5Fproject=5Fdata=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E4=B8=8A=E6=8A=A5=E4=BA=BAID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/screen/ScreenProjectDataDTO.java | 5 ++++- .../evaluationindex/screen/ScreenProjectDataEntity.java | 5 +++++ .../toscreen/impl/ScreenProjectSettleServiceImpl.java | 1 + .../screen/impl/ScreenProjectDataServiceImpl.java | 5 ++++- .../epmet/service/impl/StaffPatrolRecordServiceImpl.java | 8 ++++++-- 5 files changed, 20 insertions(+), 4 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java index 6c292909d2..1d42d5964f 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java @@ -83,7 +83,10 @@ public class ScreenProjectDataDTO implements Serializable { * 事件时间 */ private Date projectCreateTime; - + /** + * 上报人ID + */ + private String linkUserId; /** * 上报人 */ diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectDataEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectDataEntity.java index f58769cfe1..52e28cc095 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectDataEntity.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectDataEntity.java @@ -79,6 +79,11 @@ public class ScreenProjectDataEntity extends BaseEpmetEntity { */ private String projectCreateTime; + /** + * 上报人ID + */ + private String linkUserId; + /** * 上报人 */ diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java index 6da4882ef5..a5e7e1c2f1 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java @@ -87,6 +87,7 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic //直接立项的话 项目内容是项目背景 经纬度添加 if (ProjectConstant.PROJECT_ORIGIN_AGENCY.equals(projectInfo.getOrigin())){ meta.setProjectContent(projectInfo.getBackGround()); + meta.setLinkUserId(projectInfo.getCreatedBy()); meta.setLinkName(projectInfo.getCreatedBy()); if (StringUtils.isNotBlank(projectInfo.getLocateDimension())){ meta.setLatitude(new BigDecimal(projectInfo.getLocateDimension())); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectDataServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectDataServiceImpl.java index baf94d5929..bf8c212f6b 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectDataServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectDataServiceImpl.java @@ -272,7 +272,10 @@ public class ScreenProjectDataServiceImpl extends BaseServiceImpl> partition = ListUtils.partition(meta, NumConstant.ONE_HUNDRED); - partition.forEach(part -> baseDao.insertBatch(part)); + partition.forEach(part -> { + List list = ConvertUtils.sourceToTarget(part, ScreenProjectDataEntity.class); + insertBatch(list); + }); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java index eb7a8bb590..0001d51549 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java @@ -6,6 +6,7 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.ErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.DateUtils; @@ -34,6 +35,7 @@ import javax.annotation.Resource; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -187,9 +189,11 @@ public class StaffPatrolRecordServiceImpl extends BaseServiceImpl 0) { + throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode(), "巡查结束时间不能小于巡查开始时间"); } - record.setActrualEndTime(new Date()); record.setUpdatedTime(null); record.setPatrolEndTime(DateUtils.parse(formDTO.getPatrolEndTime(), DateUtils.DATE_TIME_PATTERN)); From e51f508864892b566432d3be2735c3de77204605 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 15 Jun 2021 15:27:20 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=9B=B4=E5=A4=9A-=E5=B7=A1=E6=9F=A5?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3=E9=80=BB=E8=BE=91=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataaggre/dao/epmetuser/StaffRoleDao.java | 12 ++- .../dao/govorg/CustomerStaffGridDao.java | 10 +++ .../service/epmetuser/EpmetUserService.java | 8 ++ .../epmetuser/impl/EpmetUserServiceImpl.java | 84 ++++++++++++++++--- .../service/govorg/GovOrgService.java | 11 ++- .../govorg/impl/GovOrgServiceImpl.java | 34 +++++++- .../mapper/epmetuser/StaffPatrolRecordDao.xml | 2 + .../mapper/epmetuser/StaffRoleDao.xml | 18 ++++ .../mapper/govorg/CustomerStaffGridDao.xml | 16 ++++ 9 files changed, 175 insertions(+), 20 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffRoleDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffRoleDao.java index 02ace6bc28..ac0cf9a846 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffRoleDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffRoleDao.java @@ -18,8 +18,12 @@ package com.epmet.dataaggre.dao.epmetuser; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO; import com.epmet.dataaggre.entity.epmetuser.StaffRoleEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 工作人员-角色关系表 @@ -29,5 +33,11 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface StaffRoleDao extends BaseDao { - + + /** + * @Description 查询是网格员的人 + * @Param forms + * @author sun + */ + List staffGridRole(@Param("forms") List forms, @Param("staffName") String staffName); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffGridDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffGridDao.java index b05163ddd5..233c68d67d 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffGridDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffGridDao.java @@ -18,8 +18,12 @@ package com.epmet.dataaggre.dao.govorg; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO; import com.epmet.dataaggre.entity.govorg.CustomerStaffGridEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 网格人员关系表 @@ -29,4 +33,10 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface CustomerStaffGridDao extends BaseDao { + + /** + * @Description 查询网格下有网格员角色的人 + * @author sun + */ + List selectGridStaffByGridIds(@Param("gridIds") List gridIds); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java index 2a27686184..359fcbe7a0 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java @@ -7,6 +7,7 @@ import com.epmet.dataaggre.dto.epmetuser.result.PatrolDateListResultDTO; import com.epmet.dataaggre.dto.epmetuser.result.PatrolRecordListResultDTO; import com.epmet.dataaggre.dto.epmetuser.result.StaffListResultDTO; import com.epmet.dataaggre.dto.epmetuser.result.UserInfosResultDTO; +import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO; import java.util.List; @@ -56,4 +57,11 @@ public interface EpmetUserService { * @return com.epmet.dataaggre.dto.epmetuser.result.PatrolDateListResultDTO */ PatrolDateListResultDTO patrolDateList(PatrolDateListFormDTO formDTO); + + /** + * @Description 查询网格员角色 + * @author sun + */ + List staffGridRole(List forms, String staffName); + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java index 70f57f2af3..6e6ef6f957 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java @@ -5,7 +5,9 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.dataaggre.constant.DataSourceConstant; import com.epmet.dataaggre.dao.epmetuser.StaffPatrolRecordDao; +import com.epmet.dataaggre.dao.epmetuser.StaffRoleDao; import com.epmet.dataaggre.dao.epmetuser.UserBaseInfoDao; +import com.epmet.dataaggre.dto.datastats.result.SubAgencyUserResultDTO; import com.epmet.dataaggre.dto.epmetuser.StaffPatrolDetailDTO; import com.epmet.dataaggre.dto.epmetuser.StaffPatrolRecordDTO; import com.epmet.dataaggre.dto.epmetuser.form.PatrolDateListFormDTO; @@ -13,11 +15,13 @@ import com.epmet.dataaggre.dto.epmetuser.form.PatrolRecordListFormDTO; import com.epmet.dataaggre.dto.epmetuser.form.StaffListFormDTO; import com.epmet.dataaggre.dto.epmetuser.result.*; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; +import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO; import com.epmet.dataaggre.service.epmetuser.EpmetUserService; import com.epmet.dataaggre.service.epmetuser.StaffPatrolDetailService; import com.epmet.dataaggre.service.epmetuser.StaffPatrolRecordService; import com.epmet.dataaggre.service.govorg.GovOrgService; import lombok.extern.slf4j.Slf4j; +import oracle.sql.NUMBER; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -46,6 +50,8 @@ public class EpmetUserServiceImpl implements EpmetUserService { private StaffPatrolDetailService staffPatrolDetailService; @Resource private StaffPatrolRecordService staffPatrolRecordService; + @Resource + private StaffRoleDao staffRoleDao; /** * @Description 根据UserIds查询 @@ -77,29 +83,68 @@ public class EpmetUserServiceImpl implements EpmetUserService { @Override public List staffList(StaffListFormDTO formDTO) { List resultList = new ArrayList<>(); - //1.设置分页参数 - int num = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); - formDTO.setPageNo(num); - - //2.查询当前人员所属组织下网格列表数据,供后续使用 + List result = new ArrayList<>(); + //1.查询当前人员所属组织下网格列表数据,供后续封装数据使用 List list = govOrgService.gridListByStaffId(formDTO.getUserId()); if (list.size() < NumConstant.ONE) { return resultList; } - //网格集合为空则查询当前人员所属组织下网格列表 + + //2.网格集合为空则查询当前人员所属组织下网格列表 if (CollectionUtils.isEmpty(formDTO.getGridIds())) { formDTO.setGridIds(list.stream().map(CustomerGridDTO::getId).collect(Collectors.toList())); } - //3.按条件查询巡查业务数据 + //3.按条件查询网格下工作人员基本信息 + List staffList = govOrgService.selectGridStaffByGridIds(formDTO.getGridIds(), formDTO.getStaffName()); + if (staffList.size() < NumConstant.ONE) { + return resultList; + } + for (GridStaffResultDTO st : staffList) { + StaffListResultDTO sf = new StaffListResultDTO(); + sf.setGridId(st.getGridId()); + sf.setStaffId(st.getStaffId()); + sf.setStaffName(st.getStaffName()); + sf.setGender(st.getGender()); + result.add(sf); + } + + //4.按条件查询巡查业务数据 formDTO.setPatrolStartTime(DateUtils.getBeforeMonthDate(formDTO.getTime())); - resultList = staffPatrolRecordDao.selectPatrolList(formDTO); - if (resultList.size() < NumConstant.ONE) { - return new ArrayList<>(); + List staffPatrolList = staffPatrolRecordDao.selectPatrolList(formDTO); + + //5.封装数据并做分页处理 + result.forEach(re -> { + staffPatrolList.forEach(st -> { + if (re.getGridId().equals(st.getGridId()) && re.getStaffId().equals(st.getStaffId())) { + re.setPatrolStartTime(st.getPatrolStartTime()); + re.setPatrolTotal(st.getPatrolTotal()); + re.setStatus(st.getStatus()); + } + }); + }); + int num = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); + int size = num + formDTO.getPageSize(); + if (num > result.size()) { + return resultList; } + resultList = result.subList(num, (size > result.size() ? result.size() : size)); - //4.封装数据并返回 + //6.赋值网格名称 resultList.forEach(re -> list.stream().filter(l -> re.getGridId().equals(l.getId())).forEach(s -> re.setGridName(s.getGridName()))); + + //7.按条件排序并返回 + Collections.sort(resultList, new Comparator() { + @Override + public int compare(StaffListResultDTO o1, StaffListResultDTO o2) { + if ("latestPatrolledTime".equals(formDTO.getSortCode())) { + return o2.getPatrolStartTime().compareTo(o1.getPatrolStartTime()); + } else { + return o2.getPatrolTotal().compareTo(o1.getPatrolTotal()); + } + } + }); + return resultList; } @@ -177,5 +222,22 @@ public class EpmetUserServiceImpl implements EpmetUserService { return dto; } + /** + * @Description 查询网格员角色 + * @Param forms + * @author sun + */ + @Override + public List staffGridRole(List forms, String staffName) { + if (org.springframework.util.CollectionUtils.isEmpty(forms)){ + return new ArrayList<>(); + } + List result = staffRoleDao.staffGridRole(forms, staffName); + if (org.springframework.util.CollectionUtils.isEmpty(result)){ + return new ArrayList<>(); + } + return result; + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java index c79837ec60..8008242d5f 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java @@ -2,10 +2,7 @@ package com.epmet.dataaggre.service.govorg; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO; -import com.epmet.dataaggre.dto.govorg.result.AgencyGridResultDTO; -import com.epmet.dataaggre.dto.govorg.result.GridInfoResultDTO; -import com.epmet.dataaggre.dto.govorg.result.GridsInfoListResultDTO; -import com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO; +import com.epmet.dataaggre.dto.govorg.result.*; import com.epmet.dataaggre.dto.resigroup.result.OrgInfoCommonDTO; import java.util.List; @@ -56,4 +53,10 @@ public interface GovOrgService { * @Description 查询工作人员所属组织下网格列表 **/ List gridListByStaffId(String staffId); + + /** + * @Description 查询网格下有网格员角色的人 + * @author sun + */ + List selectGridStaffByGridIds(List gridIds, String staffName); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index e3c9752a00..29ed9208cf 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -5,20 +5,20 @@ import com.epmet.commons.dynamic.datasource.annotation.DataSource; 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.utils.Result; import com.epmet.dataaggre.constant.DataSourceConstant; import com.epmet.dataaggre.dao.govorg.CustomerAgencyDao; import com.epmet.dataaggre.dao.govorg.CustomerGridDao; import com.epmet.dataaggre.dao.govorg.CustomerStaffAgencyDao; +import com.epmet.dataaggre.dao.govorg.CustomerStaffGridDao; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; import com.epmet.dataaggre.dto.govorg.CustomerStaffAgencyDTO; import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO; -import com.epmet.dataaggre.dto.govorg.result.AgencyGridResultDTO; -import com.epmet.dataaggre.dto.govorg.result.GridInfoResultDTO; -import com.epmet.dataaggre.dto.govorg.result.GridsInfoListResultDTO; -import com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO; +import com.epmet.dataaggre.dto.govorg.result.*; import com.epmet.dataaggre.dto.resigroup.result.OrgInfoCommonDTO; import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity; import com.epmet.dataaggre.service.commonservice.AreaCodeService; +import com.epmet.dataaggre.service.epmetuser.EpmetUserService; import com.epmet.dataaggre.service.govorg.GovOrgService; import com.epmet.dataaggre.service.opercrm.CustomerRelation; import lombok.extern.slf4j.Slf4j; @@ -50,6 +50,10 @@ public class GovOrgServiceImpl implements GovOrgService { private AreaCodeService areaCodeService; @Autowired private CustomerRelation customerRelation; + @Autowired + private CustomerStaffGridDao customerStaffGridDao; + @Autowired + private EpmetUserService epmetUserService; /** * @param staffId @@ -238,4 +242,26 @@ public class GovOrgServiceImpl implements GovOrgService { return resultList; } + /** + * @Description 查询网格下有网格员角色的人 + * @author sun + */ + @Override + public List selectGridStaffByGridIds(List gridIds, String staffName) { + if (org.springframework.util.CollectionUtils.isEmpty(gridIds)){ + return new ArrayList<>(); + } + // 查询网格下所有的人 + List gridStaff = customerStaffGridDao.selectGridStaffByGridIds(gridIds); + if (org.springframework.util.CollectionUtils.isEmpty(gridStaff)){ + return new ArrayList<>(); + } + // 拿着网格下所有人去筛选网格员 + List result = epmetUserService.staffGridRole(gridStaff, staffName); + if (org.springframework.util.CollectionUtils.isEmpty(result)){ + return new ArrayList<>(); + } + return result; + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml index a0f8a495e0..22034f1d13 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml @@ -39,6 +39,7 @@ GROUP BY spr.grid, spr.staff_id + diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffRoleDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffRoleDao.xml index 03bf90a6e1..7805f832f4 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffRoleDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffRoleDao.xml @@ -3,5 +3,23 @@ + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffGridDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffGridDao.xml index 384a28b8e9..26ad7dd1c8 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffGridDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffGridDao.xml @@ -2,4 +2,20 @@ + + + \ No newline at end of file