Browse Source

巡查中和未巡查中人数

dev_shibei_match
zxc 4 years ago
parent
commit
c6656f8a3e
  1. 5
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/PatrolConstant.java
  2. 14
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/user/StaffPatrolDetailController.java
  3. 10
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/user/StaffPatrolDetailService.java
  4. 34
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/user/impl/StaffPatrolDetailServiceImpl.java
  5. 30
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PatrolCountFormDTO.java
  6. 32
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PatrolCountResultDTO.java

5
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/PatrolConstant.java

@ -17,4 +17,9 @@ public interface PatrolConstant {
*/
String LATITUDE = "latitude";
/**
* 巡查中
*/
String PATROLLING = "patrolling";
}

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

@ -3,6 +3,8 @@ package com.epmet.datareport.controller.user;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.datareport.service.user.StaffPatrolDetailService;
import com.epmet.dto.form.PatrolCountFormDTO;
import com.epmet.dto.result.PatrolCountResultDTO;
import com.epmet.user.form.GridManagerListFormDTO;
import com.epmet.dto.form.PatrolTrackFormDTO;
import com.epmet.dto.form.RecordListFormDTO;
@ -63,4 +65,16 @@ public class StaffPatrolDetailController {
return new Result<List<PatrolTrackResultDTO>>().ok(staffPatrolService.patrolTrack(formDTO));
}
/**
* @Description 004网格员巡查中和未巡查中的人数
* @Param formDTO
* @author zxc
* @date 2021/6/22 2:01 下午
*/
@PostMapping("patrolcount")
public Result<PatrolCountResultDTO> patrolCount(@RequestBody PatrolCountFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, PatrolCountFormDTO.PatrolCountForm.class);
return new Result<PatrolCountResultDTO>().ok(staffPatrolService.patrolCount(formDTO));
}
}

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

@ -1,5 +1,7 @@
package com.epmet.datareport.service.user;
import com.epmet.dto.form.PatrolCountFormDTO;
import com.epmet.dto.result.PatrolCountResultDTO;
import com.epmet.user.form.GridManagerListFormDTO;
import com.epmet.dto.form.PatrolTrackFormDTO;
import com.epmet.dto.form.RecordListFormDTO;
@ -41,4 +43,12 @@ public interface StaffPatrolDetailService{
*/
List<PatrolTrackResultDTO> patrolTrack(PatrolTrackFormDTO formDTO);
/**
* @Description 004网格员巡查中和未巡查中的人数
* @Param formDTO
* @author zxc
* @date 2021/6/22 2:01 下午
*/
PatrolCountResultDTO patrolCount(PatrolCountFormDTO formDTO);
}

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

@ -9,16 +9,14 @@ import com.epmet.datareport.dao.user.StaffPatrolDetailDao;
import com.epmet.datareport.dao.user.StaffPatrolRecordDao;
import com.epmet.datareport.service.evaluationindex.screen.ScreenOrgService;
import com.epmet.datareport.service.user.StaffPatrolDetailService;
import com.epmet.dto.result.GridStaffResultDTO;
import com.epmet.dto.result.UserNameAndLLResultDTO;
import com.epmet.dto.form.PatrolCountFormDTO;
import com.epmet.dto.result.*;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.user.form.GridManagerListFormDTO;
import com.epmet.dto.form.PatrolTrackFormDTO;
import com.epmet.dto.form.RecordListFormDTO;
import com.epmet.user.result.GridManagerListResultDTO;
import com.epmet.dto.result.PatrolTrackResultDTO;
import com.epmet.dto.result.RecordListResultDTO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -27,6 +25,7 @@ import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@ -192,5 +191,32 @@ public class StaffPatrolDetailServiceImpl implements StaffPatrolDetailService {
return new ArrayList<>();
}
/**
* @Description 004网格员巡查中和未巡查中的人数
* @Param formDTO
* @author zxc
* @date 2021/6/22 2:01 下午
*/
@Override
public PatrolCountResultDTO patrolCount(PatrolCountFormDTO formDTO) {
PatrolCountResultDTO result = new PatrolCountResultDTO();
GridManagerListFormDTO gridManagerListFormDTO = ConvertUtils.sourceToTarget(formDTO, GridManagerListFormDTO.class);
List<GridManagerListResultDTO> resultDTOS = gridManagerList(gridManagerListFormDTO);
// 结果为空就是没网格员
if (CollectionUtils.isEmpty(resultDTOS)){
return result;
}
// 根据状态分组,只取巡查中的网格员;巡查中的为0,剩下的都是未巡查,巡查中不为0,总数 - 巡查中 = 未巡查
Map<String, List<GridManagerListResultDTO>> groupByStatus = resultDTOS.stream().collect(Collectors.groupingBy(GridManagerListResultDTO::getStatus));
List<GridManagerListResultDTO> patrolling = groupByStatus.get(PatrolConstant.PATROLLING);
if (CollectionUtils.isEmpty(patrolling)){
result.setElseCount(resultDTOS.size());
return result;
}
result.setPatrollingCount(patrolling.size());
result.setElseCount(resultDTOS.size() - patrolling.size());
return result;
}
}

30
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PatrolCountFormDTO.java

@ -0,0 +1,30 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2021/6/22 1:54 下午
* @DESC
*/
@Data
public class PatrolCountFormDTO implements Serializable {
private static final long serialVersionUID = -4365871122000986115L;
public interface PatrolCountForm{}
/**
* 组织ID
*/
@NotBlank(message = "组织ID不能为空",groups = PatrolCountForm.class)
private String agencyId;
/**
* 行政地区编码
*/
private String areaCode;
}

32
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PatrolCountResultDTO.java

@ -0,0 +1,32 @@
package com.epmet.dto.result;
import com.epmet.commons.tools.constant.NumConstant;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2021/6/22 1:50 下午
* @DESC
*/
@Data
public class PatrolCountResultDTO implements Serializable {
private static final long serialVersionUID = -5686401629775910576L;
/**
* 当前巡查中人数
*/
private Integer patrollingCount;
/**
* 当前未巡查中人数
*/
private Integer elseCount;
public PatrolCountResultDTO() {
this.patrollingCount = NumConstant.ZERO;
this.elseCount = NumConstant.ZERO;
}
}
Loading…
Cancel
Save