Browse Source

Merge remote-tracking branch 'remotes/origin/dev'

master
jianjun 4 years ago
parent
commit
c4180dc712
  1. 43
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/GridMemberPatrolListFormDTO.java
  2. 31
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/GridMemberPatrolListResultDTO.java
  3. 19
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java
  4. 8
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java
  5. 7
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffPatrolRecordDao.java
  6. 8
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java
  7. 13
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java
  8. 12
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java
  9. 49
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java
  10. 30
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml
  11. 20
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml
  12. 94
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/user/result/GridManagerListGeneralResultDTO.java
  13. 13
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/user/StaffPatrolDetailController.java
  14. 9
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/user/StaffPatrolDetailService.java
  15. 30
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/user/impl/StaffPatrolDetailServiceImpl.java
  16. 2
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerAgencyDao.xml
  17. 30
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PatrolYuShanResultDTO.java
  18. 9
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java
  19. 5
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
  20. 14
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StatsStaffPatrolRecordDailyController.java
  21. 9
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StatsStaffPatrolRecordDailyDao.java
  22. 11
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/StatsStaffPatrolRecordDailyService.java
  23. 12
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StatsStaffPatrolRecordDailyServiceImpl.java
  24. 13
      epmet-user/epmet-user-server/src/main/resources/mapper/StatsStaffPatrolRecordDailyDao.xml

43
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/GridMemberPatrolListFormDTO.java

@ -0,0 +1,43 @@
package com.epmet.dataaggre.dto.epmetuser.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* @Description 对外接口--网格员排名-巡查记录-接口入参
* @Auth sun
*/
@Data
public class GridMemberPatrolListFormDTO implements Serializable {
private static final long serialVersionUID = -3381286960911634231L;
/**
* 组织id
*/
@NotBlank(message = "组织Id不能为空", groups = GridMemberPatrolListFormDTO.Member.class)
private String agencyId;
/**
* 维度Id(:202108;:2021)
*/
@NotBlank(message = "维度Id不能为空", groups = GridMemberPatrolListFormDTO.Member.class)
private String dimId;
/**
* 维度类型(:month:year)
*/
@NotBlank(message = "维度类型不能为空", groups = GridMemberPatrolListFormDTO.Member.class)
private String dimType;
/**
* 排序字段(上报事件:project巡查时长:patrolTime处理件数:dealEvent)
*/
private String sort = "project";
//按条件查询数据的最大日维度Id
private String dateId;
public interface Member extends CustomerClientShowGroup {}
}

31
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/GridMemberPatrolListResultDTO.java

@ -0,0 +1,31 @@
package com.epmet.dataaggre.dto.epmetuser.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 对外接口--网格员排名-巡查记录-接口返参
* @Auth sun
*/
@Data
public class GridMemberPatrolListResultDTO implements Serializable {
private static final long serialVersionUID = 7129564173128153335L;
//工作人员用户id
private String staffId = "";
//真名
private String staffName = "";
//上报事件(项目)数
private Integer reportProjectCount = 0;
//巡查总时长【单位:分钟】
private Integer patrolTotalTime = 0;
//处理件数(议题转项目数+议题关闭数+项目响应数+项目吹哨数+项目结案数)
private Integer eventCount = 0;
@JsonIgnore
private String dateId;
@JsonIgnore
private Integer timeNum;
}

19
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java

@ -8,10 +8,7 @@ import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dataaggre.dto.epmetuser.form.OpenStaffDetailFormDTO;
import com.epmet.dataaggre.dto.epmetuser.form.PatrolDateListFormDTO;
import com.epmet.dataaggre.dto.epmetuser.form.PatrolRecordListFormDTO;
import com.epmet.dataaggre.dto.epmetuser.form.StaffListFormDTO;
import com.epmet.dataaggre.dto.epmetuser.form.*;
import com.epmet.dataaggre.dto.epmetuser.result.*;
import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO;
import com.epmet.dataaggre.excel.StaffPatrollExcel;
@ -218,4 +215,18 @@ public class EpmetUserController {
ExcelUtils.exportExcelToTarget(response, null, resultDTOS, StaffPatrollExcel.class);
}
/**
* @Param formDTO
* @Description 对外接口--网格员排名-巡查记录
* @author sun
*/
@PostMapping("gridmemberpatrollist")
public Result<List<GridMemberPatrolListResultDTO>> gridMemberPatrolList(@RequestBody GridMemberPatrolListFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, GridMemberPatrolListFormDTO.Member.class);
if(!"month".equals(formDTO.getDimType())&&!"year".equals(formDTO.getDimType())){
throw new RenException("参数错误,维度类型参数值错误");
}
return new Result<List<GridMemberPatrolListResultDTO>>().ok(epmetUserService.gridMemberPatrolList(formDTO));
}
}

8
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java

@ -21,6 +21,8 @@ import com.epmet.dataaggre.dto.datastats.FactGroupActDailyDTO;
import com.epmet.dataaggre.dto.datastats.form.SubAgencyFormDTO;
import com.epmet.dataaggre.dto.datastats.form.SubGridFormDTO;
import com.epmet.dataaggre.dto.datastats.result.*;
import com.epmet.dataaggre.dto.epmetuser.form.GridMemberPatrolListFormDTO;
import com.epmet.dataaggre.dto.epmetuser.result.GridMemberPatrolListResultDTO;
import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO;
import com.epmet.dataaggre.dto.resigroup.result.GroupActRankDetailDTO;
import com.epmet.dataaggre.entity.datastats.DimAgencyEntity;
@ -300,4 +302,10 @@ public interface DataStatsDao {
* @return
*/
TotalAndIncrResultDTO getAgencySumGroup(@Param("agencyList") List<String> agencyList, @Param("dateId") String dateId);
/**
* @Description 查询当前组织及下级所有网格员维度对应最大dated数据
* @author sun
*/
List<GridMemberPatrolListResultDTO> selectGirdMemberPatrol(GridMemberPatrolListFormDTO formDTO);
}

7
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffPatrolRecordDao.java

@ -19,6 +19,7 @@ package com.epmet.dataaggre.dao.epmetuser;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dataaggre.dto.epmetuser.form.GridMemberPatrolListFormDTO;
import com.epmet.dataaggre.dto.epmetuser.form.StaffListFormDTO;
import com.epmet.dataaggre.dto.epmetuser.result.StaffListResultDTO;
import com.epmet.dataaggre.entity.epmetuser.StaffPatrolRecordEntity;
@ -53,4 +54,10 @@ public interface StaffPatrolRecordDao extends BaseDao<StaffPatrolRecordEntity> {
* @author sun
*/
StaffListResultDTO selectPersonalPatrolList(@Param("staffId") String staffId);
/**
* @Description 按维度汇总当前组织及下级网格员巡查数据
* @author sun
*/
List<StaffListResultDTO> gridMemberPatrol(GridMemberPatrolListFormDTO formDTO);
}

8
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java

@ -3,6 +3,8 @@ package com.epmet.dataaggre.service.datastats;
import com.epmet.dataaggre.dto.datastats.FactGroupActDailyDTO;
import com.epmet.dataaggre.dto.datastats.form.*;
import com.epmet.dataaggre.dto.datastats.result.*;
import com.epmet.dataaggre.dto.epmetuser.form.GridMemberPatrolListFormDTO;
import com.epmet.dataaggre.dto.epmetuser.result.GridMemberPatrolListResultDTO;
import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO;
import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO;
import com.epmet.dataaggre.dto.resigroup.result.GroupActRankDetailDTO;
@ -221,4 +223,10 @@ public interface DataStatsService {
* @date 2021/8/12 2:23 下午
*/
UserAndGroupTotalResultDTO getUserAndGroupTotal(BaseDataFormDTO formDTO);
/**
* @Description 查询当前组织及下级所有网格员维度对应最大dated数据
* @author sun
*/
List<GridMemberPatrolListResultDTO> getGirdMemberPatrol(GridMemberPatrolListFormDTO formDTO);
}

13
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java

@ -12,7 +12,9 @@ import com.epmet.dataaggre.dao.datastats.FactGridMemberStatisticsDailyDao;
import com.epmet.dataaggre.dto.datastats.FactGroupActDailyDTO;
import com.epmet.dataaggre.dto.datastats.form.*;
import com.epmet.dataaggre.dto.datastats.result.*;
import com.epmet.dataaggre.dto.epmetuser.result.PatrolDailySumResult;
import com.epmet.dataaggre.dto.epmetuser.form.GridMemberPatrolListFormDTO;
import com.epmet.dataaggre.dto.epmetuser.result.GridMemberPatrolListResultDTO;
import com.epmet.dataaggre.dto.epmetuser.result.PatrolDailySumResult;
import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerAgencyDTO;
import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerGridDTO;
import com.epmet.dataaggre.dto.evaluationindex.ScreenGovernRankDataDailyDTO;
@ -1830,4 +1832,13 @@ public class DataStatsServiceImpl implements DataStatsService {
return result;
}
/**
* @Description 查询当前组织及下级所有网格员维度对应最大dated数据
* @author sun
*/
@Override
public List<GridMemberPatrolListResultDTO> getGirdMemberPatrol(GridMemberPatrolListFormDTO formDTO) {
return dataStatsDao.selectGirdMemberPatrol(formDTO);
}
}

12
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java

@ -1,9 +1,6 @@
package com.epmet.dataaggre.service.epmetuser;
import com.epmet.dataaggre.dto.epmetuser.form.OpenStaffDetailFormDTO;
import com.epmet.dataaggre.dto.epmetuser.form.PatrolDateListFormDTO;
import com.epmet.dataaggre.dto.epmetuser.form.PatrolRecordListFormDTO;
import com.epmet.dataaggre.dto.epmetuser.form.StaffListFormDTO;
import com.epmet.dataaggre.dto.epmetuser.form.*;
import com.epmet.dataaggre.dto.epmetuser.result.*;
import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO;
@ -96,4 +93,11 @@ public interface EpmetUserService {
* @date 2021/8/3 15:09
*/
UserEventLogoResultDTO mentionMeEvent(String userId);
/**
* @Param formDTO
* @Description 对外接口--网格员排名-巡查记录
* @author sun
*/
List<GridMemberPatrolListResultDTO> gridMemberPatrolList(GridMemberPatrolListFormDTO formDTO);
}

49
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java

@ -9,15 +9,13 @@ import com.epmet.dataaggre.dao.epmetuser.*;
import com.epmet.dataaggre.dto.epmetuser.CustomerStaffDTO;
import com.epmet.dataaggre.dto.epmetuser.StaffPatrolDetailDTO;
import com.epmet.dataaggre.dto.epmetuser.StaffPatrolRecordDTO;
import com.epmet.dataaggre.dto.epmetuser.form.OpenStaffDetailFormDTO;
import com.epmet.dataaggre.dto.epmetuser.form.PatrolDateListFormDTO;
import com.epmet.dataaggre.dto.epmetuser.form.PatrolRecordListFormDTO;
import com.epmet.dataaggre.dto.epmetuser.form.StaffListFormDTO;
import com.epmet.dataaggre.dto.epmetuser.form.*;
import com.epmet.dataaggre.dto.epmetuser.result.*;
import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO;
import com.epmet.dataaggre.dto.govorg.CustomerGridDTO;
import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO;
import com.epmet.dataaggre.entity.epmetuser.ResiUserBadgeEntity;
import com.epmet.dataaggre.service.datastats.DataStatsService;
import com.epmet.dataaggre.service.epmetuser.EpmetUserService;
import com.epmet.dataaggre.service.epmetuser.StaffPatrolDetailService;
import com.epmet.dataaggre.service.epmetuser.StaffPatrolRecordService;
@ -61,6 +59,8 @@ public class EpmetUserServiceImpl implements EpmetUserService {
private ResiUserBadgeDao resiUserBadgeDao;
@Autowired
private GovProjectService govProjectService;
@Autowired
private DataStatsService dataStatsService;
/**
* @Description 根据UserIds查询
@ -424,5 +424,46 @@ public class EpmetUserServiceImpl implements EpmetUserService {
return resultDTO;
}
/**
* @Param formDTO
* @Description 对外接口--网格员排名-巡查记录
* @author sun
*/
@Override
public List<GridMemberPatrolListResultDTO> gridMemberPatrolList(GridMemberPatrolListFormDTO formDTO) {
//1.查询当前组织及下级所有网格员维度对应最大dated数据【例查询2021年8月数据,则是查询8月对应的最大daeId那天的网格员数据】
List<GridMemberPatrolListResultDTO> resultList = dataStatsService.getGirdMemberPatrol(formDTO);
if (CollectionUtils.isEmpty(resultList)) {
return new ArrayList<>();
}
//2.按维度汇总当前组织及下级网格员巡查数据
//【如果查询当前月或本年度数据,则需要排除最大dateId的数据,因为上边查的统计数据只有t-1的,巡查数据是t的,避免多计算了当天的巡查项目数和时长数】
formDTO.setDateId(resultList.get(0).getDateId());
List<StaffListResultDTO> patrolList = staffPatrolRecordDao.gridMemberPatrol(formDTO);
//3.以统计数据为准封装结果数据
resultList.forEach(re -> patrolList.stream().filter(l -> re.getStaffId().equals(l.getStaffId())).forEach(s -> {
re.setReportProjectCount(s.getReportProjectCount());
re.setPatrolTotalTime((s.getTimeNum() > NumConstant.ZERO ? s.getTimeNum() / 60 : 0));
}));
//4.按排序字段排序并返回
Collections.sort(resultList, new Comparator<GridMemberPatrolListResultDTO>() {
@Override
public int compare(GridMemberPatrolListResultDTO o1, GridMemberPatrolListResultDTO o2) {
if ("patrolTime".equals(formDTO.getSort())) {
return o2.getPatrolTotalTime().compareTo(o1.getPatrolTotalTime());
} else if ("dealEvent".equals(formDTO.getSort())) {
return o2.getEventCount().compareTo(o1.getEventCount());
} else {
return o2.getReportProjectCount().compareTo(o1.getReportProjectCount());
}
}
});
return resultList;
}
}

30
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml

@ -767,4 +767,34 @@
</foreach>
</select>
<select id="selectGirdMemberPatrol" resultType="com.epmet.dataaggre.dto.epmetuser.result.GridMemberPatrolListResultDTO">
SELECT
staff_id staffId,
staff_name staffName,
date_id dateId,
IFNULL(
SUM(
issue_to_project_count + closed_issue_count + project_response_count + project_transfer_count + project_closed_count
)
, 0)eventCount
FROM
fact_grid_member_statistics_daily
WHERE
del_flag = '0'
AND pids LIKE concat('%', #{agencyId}, '%')
AND date_id = (
SELECT MAX(date_id)
FROM fact_grid_member_statistics_daily
WHERE
del_flag = '0'
<if test="dimType!= null and dimType == 'month' ">
AND month_id = #{dimId}
</if>
<if test="dimType!= null and dimType == 'year' ">
AND year_id = #{dimId}
</if>
)
GROUP BY staff_id
</select>
</mapper>

20
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml

@ -120,4 +120,24 @@
AND ssp.staff_id = #{staffId}
</select>
<select id="gridMemberPatrol" resultType="com.epmet.dataaggre.dto.epmetuser.result.StaffListResultDTO">
SELECT
staff_id staffId,
IFNULL(SUM(patrol_total), 0) reportProjectCount,
IFNULL(SUM(total_time), 0) timeNum
FROM
stats_staff_patrol_record_daily
WHERE
del_flag = '0'
AND grid_pids LIKE concat('%', #{agencyId}, '%')
<if test="dimType!= null and dimType == 'month' ">
AND month_id = #{dimId}
</if>
<if test="dimType!= null and dimType == 'year' ">
AND year_id = #{dimId}
</if>
AND date_id <![CDATA[<=]]> #{dateId}
GROUP BY staff_id
</select>
</mapper>

94
epmet-module/data-report/data-report-client/src/main/java/com/epmet/user/result/GridManagerListGeneralResultDTO.java

@ -0,0 +1,94 @@
package com.epmet.user.result;
import com.epmet.commons.tools.constant.NumConstant;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2021/6/7 2:57 下午
* @DESC
*/
@Data
public class GridManagerListGeneralResultDTO implements Serializable {
private static final long serialVersionUID = -2770911125810373090L;
/**
* 工作人员id
*/
private String staffId;
/**
* 工作人员手机号
*/
private String mobile;
/**
* 经度
*/
private String longitude;
/**
* 纬度
*/
private String latitude;
/**
* 网格ID
*/
private String gridId;
/**
* 正在巡查patrolling否则返回空字符串
*/
private String status;
/**
* 网格名称最多显示上两级
*/
private String gridName;
/**
* 姓名
*/
private String staffName;
/**
* 巡查时长
*/
private Integer patrolDuration;
/**
* 巡查次数
*/
private Integer patrolCount;
/**
* 中心点位
*/
@JsonIgnore
private String centerMark;
/**
* 经纬度赋值状态
*/
@JsonIgnore
private Boolean llStatus;
public GridManagerListGeneralResultDTO() {
this.staffId = "";
this.longitude = "";
this.latitude = "";
this.gridId = "";
this.status = "";
this.gridName = "";
this.staffName = "";
this.centerMark = "";
this.llStatus = false;
this.patrolDuration = NumConstant.ZERO;
this.patrolCount = NumConstant.ZERO;
}
}

13
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/user/StaffPatrolDetailController.java

@ -11,6 +11,7 @@ import com.epmet.user.result.GridManagerListResultDTO;
import com.epmet.dto.result.PatrolTrackResultDTO;
import com.epmet.dto.result.RecordListResultDTO;
import com.epmet.dto.result.PatrolCountResultDTO;
import com.epmet.user.result.GridManagerListGeneralResultDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -77,4 +78,16 @@ public class StaffPatrolDetailController {
return new Result<PatrolCountResultDTO>().ok(staffPatrolService.patrolCount(formDTO));
}
/**
* @Description 网格员分布
* @Param formDTO
* @author zxc
* @date 2021/8/25 3:00 下午
*/
@PostMapping("gridmanagerlistgeneral")
public Result<List<GridManagerListGeneralResultDTO>> gridManagerListGeneral(@RequestBody GridManagerListFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, GridManagerListFormDTO.GridManagerListForm.class);
return new Result<List<GridManagerListGeneralResultDTO>>().ok(staffPatrolService.gridManagerListGeneral(formDTO));
}
}

9
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/user/StaffPatrolDetailService.java

@ -8,6 +8,7 @@ import com.epmet.user.result.GridManagerListResultDTO;
import com.epmet.dto.result.PatrolTrackResultDTO;
import com.epmet.dto.result.RecordListResultDTO;
import com.epmet.dto.result.PatrolCountResultDTO;
import com.epmet.user.result.GridManagerListGeneralResultDTO;
import java.util.List;
@ -27,6 +28,14 @@ public interface StaffPatrolDetailService{
*/
List<GridManagerListResultDTO> gridManagerList(GridManagerListFormDTO formDTO);
/**
* @Description 网格员分布
* @Param formDTO
* @author zxc
* @date 2021/8/25 3:00 下午
*/
List<GridManagerListGeneralResultDTO> gridManagerListGeneral(GridManagerListFormDTO formDTO);
/**
* @Description 002查看巡查记录
* @Param formDTO

30
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/user/impl/StaffPatrolDetailServiceImpl.java

@ -3,7 +3,6 @@ package com.epmet.datareport.service.user.impl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.datareport.constant.PatrolConstant;
import com.epmet.datareport.dao.user.StaffPatrolDetailDao;
@ -19,6 +18,7 @@ import com.epmet.dto.form.RecordListFormDTO;
import com.epmet.dto.form.PatrolCountFormDTO;
import com.epmet.user.result.GridManagerListResultDTO;
import com.epmet.dto.result.PatrolCountResultDTO;
import com.epmet.user.result.GridManagerListGeneralResultDTO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -136,6 +136,34 @@ public class StaffPatrolDetailServiceImpl implements StaffPatrolDetailService {
return result;
}
/**
* @Description 网格员分布
* @Param formDTO
* @author zxc
* @date 2021/8/25 3:00 下午
*/
@Override
public List<GridManagerListGeneralResultDTO> gridManagerListGeneral(GridManagerListFormDTO formDTO) {
List<GridManagerListResultDTO> resultTwo = this.gridManagerList(formDTO);
List<GridManagerListGeneralResultDTO> result = ConvertUtils.sourceToTarget(resultTwo, GridManagerListGeneralResultDTO.class);
Result<List<PatrolYuShanResultDTO>> listResult = epmetUserOpenFeignClient.patrolInfo(formDTO.getAgencyId());
if (!listResult.success()){
throw new RenException("查询巡查次数和时长失败");
}
List<PatrolYuShanResultDTO> data = listResult.getData();
if (!CollectionUtils.isEmpty(data)){
result.forEach(r -> {
data.forEach(d -> {
if (r.getGridId().equals(d.getGridId()) && r.getStaffId().equals(d.getStaffId())){
r.setPatrolCount(d.getPatrolCount());
r.setPatrolDuration(d.getPatrolDuration());
}
});
});
}
return result;
}
/**
* @Description 根据中心点位截取经纬度
* @Param centMark

2
epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerAgencyDao.xml

@ -341,7 +341,7 @@
AND cg.AREA_CODE LIKE CONCAT(#{areaCode},'%')
</if>
<if test="agencyId != null and agencyId != ''">
AND cg.ALL_PARENT_IDS LIKE CONCAT(#{agencyId}, '%')
AND cg.ALL_PARENT_IDS LIKE CONCAT('%',#{agencyId}, '%')
</if>
</select>

30
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PatrolYuShanResultDTO.java

@ -0,0 +1,30 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2021/8/25 3:50 下午
* @DESC
*/
@Data
public class PatrolYuShanResultDTO implements Serializable {
private static final long serialVersionUID = -54918706294182026L;
private String staffId;
private String gridId;
/**
* 巡查时长
*/
private Integer patrolDuration;
/**
* 巡查次数
*/
private Integer patrolCount;
}

9
epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java

@ -623,4 +623,13 @@ public interface EpmetUserOpenFeignClient {
*/
@PostMapping("/epmetuser/statsstaffpatrolrecorddaily/patrolcount")
Result<PatrolCountResultDTO> patrolCount(@RequestBody PatrolCountFormDTO formDTO);
/**
* @Description 查询巡查次数和时长
* @Param agencyId
* @author zxc
* @date 2021/8/25 3:59 下午
*/
@PostMapping("/epmetuser/statsstaffpatrolrecorddaily/patrolinfo")
Result<List<PatrolYuShanResultDTO>> patrolInfo(@RequestParam("agencyId")String agencyId);
}

5
epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java

@ -437,4 +437,9 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien
public Result<PatrolCountResultDTO> patrolCount(PatrolCountFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "patrolCount", formDTO);
}
@Override
public Result<List<PatrolYuShanResultDTO>> patrolInfo(String agencyId) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "patrolInfo", agencyId);
}
}

14
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StatsStaffPatrolRecordDailyController.java

@ -2,12 +2,15 @@ package com.epmet.controller;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.result.PatrolYuShanResultDTO;
import com.epmet.service.StatsStaffPatrolRecordDailyService;
import com.epmet.dto.form.PatrolCountFormDTO;
import com.epmet.dto.result.PatrolCountResultDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* []工作人员巡查记录统计
@ -33,4 +36,15 @@ public class StatsStaffPatrolRecordDailyController {
ValidatorUtils.validateEntity(formDTO, PatrolCountFormDTO.PatrolCountForm.class);
return new Result<PatrolCountResultDTO>().ok(statsStaffPatrolRecordDailyService.patrolCount(formDTO));
}
/**
* @Description 查询巡查次数和时长
* @Param agencyId
* @author zxc
* @date 2021/8/25 4:02 下午
*/
@PostMapping("patrolinfo")
public Result<List<PatrolYuShanResultDTO>> patrolInfo(@RequestParam("agencyId")String agencyId){
return new Result<List<PatrolYuShanResultDTO>>().ok(statsStaffPatrolRecordDailyService.patrolInfo(agencyId));
}
}

9
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StatsStaffPatrolRecordDailyDao.java

@ -18,6 +18,7 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.PatrolYuShanResultDTO;
import com.epmet.dto.result.SelectPatrolCountResultDTO;
import com.epmet.entity.StatsStaffPatrolRecordDailyEntity;
import org.apache.ibatis.annotations.Mapper;
@ -71,5 +72,13 @@ public interface StatsStaffPatrolRecordDailyDao extends BaseDao<StatsStaffPatrol
* @date 2021/8/20 9:10 上午
*/
List<SelectPatrolCountResultDTO> selectPatrolCount(@Param("agencyId")String agencyId, @Param("dateId")String dateId);
/**
* @Description 查询巡查次数和时长
* @Param agencyId
* @author zxc
* @date 2021/8/25 4:02 下午
*/
List<PatrolYuShanResultDTO> patrolInfo(@Param("agencyId")String agencyId);
}

11
epmet-user/epmet-user-server/src/main/java/com/epmet/service/StatsStaffPatrolRecordDailyService.java

@ -1,10 +1,13 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.dto.result.PatrolYuShanResultDTO;
import com.epmet.entity.StatsStaffPatrolRecordDailyEntity;
import com.epmet.dto.form.PatrolCountFormDTO;
import com.epmet.dto.result.PatrolCountResultDTO;
import java.util.List;
/**
* []工作人员巡查记录统计
*
@ -21,4 +24,12 @@ public interface StatsStaffPatrolRecordDailyService extends BaseService<StatsSta
*/
PatrolCountResultDTO patrolCount(PatrolCountFormDTO formDTO);
/**
* @Description 查询巡查次数和时长
* @Param agencyId
* @author zxc
* @date 2021/8/25 4:02 下午
*/
List<PatrolYuShanResultDTO> patrolInfo(String agencyId);
}

12
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StatsStaffPatrolRecordDailyServiceImpl.java

@ -5,6 +5,7 @@ import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.constant.PatrolConstant;
import com.epmet.dao.StatsStaffPatrolRecordDailyDao;
import com.epmet.dto.result.PatrolYuShanResultDTO;
import com.epmet.dto.result.SelectPatrolCountResultDTO;
import com.epmet.entity.StatsStaffPatrolRecordDailyEntity;
import com.epmet.service.StatsStaffPatrolRecordDailyService;
@ -45,4 +46,15 @@ public class StatsStaffPatrolRecordDailyServiceImpl extends BaseServiceImpl<Stat
});
return result;
}
/**
* @Description 查询巡查次数和时长
* @Param agencyId
* @author zxc
* @date 2021/8/25 4:02 下午
*/
@Override
public List<PatrolYuShanResultDTO> patrolInfo(String agencyId) {
return baseDao.patrolInfo(agencyId);
}
}

13
epmet-user/epmet-user-server/src/main/resources/mapper/StatsStaffPatrolRecordDailyDao.xml

@ -52,4 +52,17 @@
ORDER BY STAFF_ID DESC) t GROUP BY t.STATUS
</select>
<!-- 查询巡查次数和时长 -->
<select id="patrolInfo" resultType="com.epmet.dto.result.PatrolYuShanResultDTO">
SELECT
GRID_ID,
STAFF_ID,
IFNULL(SUM(PATROL_TOTAL),0) AS patrolCount,
IFNULL(ROUND((SUM(TOTAL_TIME)/60),0),0) AS patrolDuration
FROM stats_staff_patrol_record_daily
WHERE DEL_FLAG = 0
AND GRID_PIDS LIKE CONCAT('%',#{agencyId},'%')
GROUP BY GRID_ID,STAFF_ID
</select>
</mapper>
Loading…
Cancel
Save