diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/PatrolDateListFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/PatrolDateListFormDTO.java new file mode 100644 index 0000000000..9ee50f8930 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/PatrolDateListFormDTO.java @@ -0,0 +1,25 @@ +package com.epmet.dataaggre.dto.epmetuser.form; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2021/6/10 14:31 + */ +@NoArgsConstructor +@Data +public class PatrolDateListFormDTO implements Serializable { + + private static final long serialVersionUID = -3120791500214908595L; + public interface PatrolDateListGroup {} + + @NotBlank(message = "网格Id不能为空",groups = PatrolDateListGroup.class) + private String gridId; + @NotBlank(message = "工作人员ID不能为空",groups = PatrolDateListGroup.class) + private String staffId; +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/PatrolRecordListFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/PatrolRecordListFormDTO.java index fdf654f8cd..c9cc99344b 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/PatrolRecordListFormDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/PatrolRecordListFormDTO.java @@ -20,16 +20,16 @@ public class PatrolRecordListFormDTO implements Serializable { /** * 巡查日期,格式:yyyy-MM-dd */ - @NotBlank(message = "巡查日期",groups = PatrolRecordListGroup.class) + @NotBlank(message = "巡查日期不能为空",groups = PatrolRecordListGroup.class) private String patrolDate; /** * 网格Id */ - @NotBlank(message = "网格Id",groups = PatrolRecordListGroup.class) + @NotBlank(message = "网格Id不能为空",groups = PatrolRecordListGroup.class) private String gridId; /** * 用户ID */ - @NotBlank(message = "用户ID",groups = PatrolRecordListGroup.class) + @NotBlank(message = "用户ID不能为空",groups = PatrolRecordListGroup.class) private String userId; } diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/PatrolDateListResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/PatrolDateListResultDTO.java new file mode 100644 index 0000000000..e51ce38b2a --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/PatrolDateListResultDTO.java @@ -0,0 +1,21 @@ +package com.epmet.dataaggre.dto.epmetuser.result; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2021/6/10 14:32 + */ +@NoArgsConstructor +@Data +public class PatrolDateListResultDTO implements Serializable { + + private static final long serialVersionUID = -1516170049255588336L; + private String startDate; + private List list; +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java index d6899e62a5..f01ef8a3d4 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java @@ -5,8 +5,10 @@ import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; +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.result.PatrolDateListResultDTO; import com.epmet.dataaggre.dto.epmetuser.result.PatrolRecordListResultDTO; import com.epmet.dataaggre.dto.epmetuser.result.StaffListResultDTO; import com.epmet.dataaggre.service.epmetuser.EpmetUserService; @@ -61,5 +63,18 @@ public class EpmetUserController { return new Result>().ok(epmetUserService.recordList(formDTO)); } + /** + * 历史巡查日期查询 + * @author zhaoqifeng + * @date 2021/6/10 14:36 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("patrolleddatelist") + public Result patrolDateList(@RequestBody PatrolDateListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return new Result().ok(epmetUserService.patrolDateList(formDTO)); + } + } 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 ef1b3108be..2a27686184 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 @@ -1,7 +1,9 @@ package com.epmet.dataaggre.service.epmetuser; +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.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; @@ -45,4 +47,13 @@ public interface EpmetUserService { * @return java.util.List */ List recordList(PatrolRecordListFormDTO formDTO); + + /** + * 历史巡查日期查询 + * @author zhaoqifeng + * @date 2021/6/10 14:36 + * @param formDTO + * @return com.epmet.dataaggre.dto.epmetuser.result.PatrolDateListResultDTO + */ + PatrolDateListResultDTO patrolDateList(PatrolDateListFormDTO formDTO); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/StaffPatrolRecordService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/StaffPatrolRecordService.java index 2d23100cee..a7bf7d5155 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/StaffPatrolRecordService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/StaffPatrolRecordService.java @@ -42,4 +42,14 @@ public interface StaffPatrolRecordService extends BaseService getRecordList(String gridId, String userId, String patrolDate); + + /** + * 获取日期列表 + * @author zhaoqifeng + * @date 2021/6/10 14:49 + * @param gridId + * @param staffId + * @return java.util.List + */ + List getDateList(String gridId, String staffId); } 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 bf7318eb5c..fdbb43843b 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 @@ -8,12 +8,10 @@ import com.epmet.dataaggre.dao.epmetuser.StaffPatrolRecordDao; import com.epmet.dataaggre.dao.epmetuser.UserBaseInfoDao; import com.epmet.dataaggre.dto.epmetuser.StaffPatrolDetailDTO; import com.epmet.dataaggre.dto.epmetuser.StaffPatrolRecordDTO; +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.result.PatrolRecordDetailDTO; -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.epmetuser.result.*; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; import com.epmet.dataaggre.service.epmetuser.EpmetUserService; import com.epmet.dataaggre.service.epmetuser.StaffPatrolDetailService; @@ -158,5 +156,24 @@ public class EpmetUserServiceImpl implements EpmetUserService { return result; } + /** + * 历史巡查日期查询 + * + * @param formDTO + * @return com.epmet.dataaggre.dto.epmetuser.result.PatrolDateListResultDTO + * @author zhaoqifeng + * @date 2021/6/10 14:36 + */ + @Override + public PatrolDateListResultDTO patrolDateList(PatrolDateListFormDTO formDTO) { + List list = staffPatrolRecordService.getDateList(formDTO.getGridId(), formDTO.getStaffId()); + PatrolDateListResultDTO dto = new PatrolDateListResultDTO(); + if (CollectionUtils.isNotEmpty(list)) { + dto.setStartDate(list.get(NumConstant.ZERO)); + } + dto.setList(list); + return dto; + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/StaffPatrolRecordServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/StaffPatrolRecordServiceImpl.java index b708268b05..67eb153f04 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/StaffPatrolRecordServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/StaffPatrolRecordServiceImpl.java @@ -27,9 +27,12 @@ import com.epmet.dataaggre.dto.epmetuser.StaffPatrolRecordDTO; import com.epmet.dataaggre.entity.epmetuser.StaffPatrolRecordEntity; import com.epmet.dataaggre.service.epmetuser.StaffPatrolRecordService; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; +import java.util.Collections; import java.util.List; +import java.util.stream.Collectors; /** * 工作人员巡查主记录 @@ -63,4 +66,28 @@ public class StaffPatrolRecordServiceImpl extends BaseServiceImpl + * @author zhaoqifeng + * @date 2021/6/10 14:49 + */ + @Override + public List getDateList(String gridId, String staffId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.select("DISTINCT DATE_FORMAT(PATROL_START_TIME,'%Y-%m-%d') AS ID") + .eq("GRID", gridId) + .eq("STAFF_ID", staffId) + .orderByAsc("PATROL_START_TIME"); + List list = baseDao.selectList(wrapper); + if (CollectionUtils.isEmpty(list)) { + return Collections.emptyList(); + } + + return list.stream().map(StaffPatrolRecordEntity::getId).collect(Collectors.toList()); + } }