Browse Source

【网格员工作统计】巡查记录列表

dev_shibei_match
sunyuchao 4 years ago
parent
commit
58cb0cca9b
  1. 53
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/patrol/PcworkRecordListFormDTO.java
  2. 43
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PcworkRecordListResultDTO.java
  3. 12
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffPatrolController.java
  4. 7
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffPatrolRecordDao.java
  5. 13
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffPatrolRecordService.java
  6. 35
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java
  7. 33
      epmet-user/epmet-user-server/src/main/resources/mapper/StaffPatrolRecordDao.xml

53
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/patrol/PcworkRecordListFormDTO.java

@ -0,0 +1,53 @@
package com.epmet.dto.form.patrol;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 网格员工作统计巡查记录列表
* @Author sun
*/
@Data
public class PcworkRecordListFormDTO implements Serializable {
private static final long serialVersionUID = 9156247659994638103L;
/**
* 组织或网格Id
*/
@NotBlank(message = "组织Id不能为空", groups = Staff.class)
private String orgId;
/**
* 组织agency 网格grid
*/
@NotBlank(message = "组织类型不能为空", groups = Staff.class)
private String orgType;
/**
* 工作人员Id
*/
private String staffId;
/**
* 开始时间yyyymmdd
*/
private String startTime;
/**
* 结束时间yyyymmdd
*/
@NotBlank(message = "结束时间不能为空",groups = Staff.class)
private String endTime;
/**
* 页码
* */
@Min(1)
private Integer pageNo;
/**
* 每页多少条
* */
private Integer pageSize = 20;
private Boolean isPage = true;
public interface Staff extends CustomerClientShowGroup {}
}

43
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PcworkRecordListResultDTO.java

@ -0,0 +1,43 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* @Description 网格员工作统计巡查记录列表
* @Author sun
*/
@Data
public class PcworkRecordListResultDTO implements Serializable {
private static final long serialVersionUID = -1L;
List<StaffPatrol> list = new ArrayList<>();
private Integer total;
@Data
public static class StaffPatrol {
//人员ID
private String staffId;
//人员名称
private String staffName;
//网格ID
private String gridId;
//网格名称
private String gridName;
//状态(英文key)
private String status;
//状态(中文)
private String statusName;
//巡查开始时间 返回返回格式化字符串,yyyy-MM-dd HH:mm:ss
private String patrolStartTime;
//巡查结束时间 返回返回格式化字符串,yyyy-MM-dd HH:mm:ss
private String patrolEndTime;
//巡查时长 xx小时xx分钟
private String totalTime;
}
}

12
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffPatrolController.java

@ -8,6 +8,7 @@ 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.dto.form.*;
import com.epmet.dto.form.patrol.PcworkRecordListFormDTO;
import com.epmet.dto.result.*;
import com.epmet.service.StaffPatrolDetailService;
import com.epmet.service.StaffPatrolRecordService;
@ -155,4 +156,15 @@ public class StaffPatrolController {
return new Result<List<PatrolTrackResultDTO>>().ok(staffPatrolRecordService.patrolTrack(formDTO));
}
/**
* @Author sun
* @Description 网格员工作统计巡查记录列表
**/
@NoRepeatSubmit
@PostMapping("pcwork/record-list")
public Result<PcworkRecordListResultDTO> pcworkRecordList(@RequestBody PcworkRecordListFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, PcworkRecordListFormDTO.Staff.class);
return new Result<PcworkRecordListResultDTO>().ok(staffPatrolRecordService.pcworkRecordList(formDTO));
}
}

7
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffPatrolRecordDao.java

@ -19,7 +19,9 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.form.RecordListFormDTO;
import com.epmet.dto.form.patrol.PcworkRecordListFormDTO;
import com.epmet.dto.result.GridManagerUserListResultDTO;
import com.epmet.dto.result.PcworkRecordListResultDTO;
import com.epmet.dto.result.RecordListResultDTO;
import com.epmet.entity.StaffPatrolRecordEntity;
import org.apache.ibatis.annotations.Mapper;
@ -62,4 +64,9 @@ public interface StaffPatrolRecordDao extends BaseDao<StaffPatrolRecordEntity> {
*/
List<RecordListResultDTO> recordList(RecordListFormDTO formDTO);
/**
* @Author sun
* @Description 网格员工作统计巡查记录列表
**/
List<PcworkRecordListResultDTO.StaffPatrol> pcworkRecordList(PcworkRecordListFormDTO formDTO);
}

13
epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffPatrolRecordService.java

@ -20,12 +20,8 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.form.*;
import com.epmet.dto.result.PatrolUploadResultDTO;
import com.epmet.dto.result.StaffPatrolInitResultDTO;
import com.epmet.dto.result.StartPatrolResultDTO;
import com.epmet.dto.result.PatrolTrackResultDTO;
import com.epmet.dto.result.RecordListResultDTO;
import com.epmet.dto.result.UserNameAndLLResultDTO;
import com.epmet.dto.form.patrol.PcworkRecordListFormDTO;
import com.epmet.dto.result.*;
import com.epmet.entity.StaffPatrolRecordEntity;
import java.util.List;
@ -115,4 +111,9 @@ public interface StaffPatrolRecordService extends BaseService<StaffPatrolRecordE
*/
List<PatrolTrackResultDTO> patrolTrack(PatrolTrackFormDTO formDTO);
/**
* @Author sun
* @Description 网格员工作统计巡查记录列表
**/
PcworkRecordListResultDTO pcworkRecordList(PcworkRecordListFormDTO formDTO);
}

35
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java

@ -20,6 +20,7 @@ import com.epmet.dao.StatsStaffPatrolRecordDailyDao;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.StaffPatrolDetailDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.form.patrol.PcworkRecordListFormDTO;
import com.epmet.dto.result.*;
import com.epmet.entity.StaffPatrolDetailEntity;
import com.epmet.entity.StaffPatrolRecordEntity;
@ -31,6 +32,8 @@ import com.epmet.send.SendMqMsgUtil;
import com.epmet.service.StaffPatrolDetailService;
import com.epmet.service.StaffPatrolRecordService;
import com.epmet.util.DimIdGenerator;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@ -451,4 +454,36 @@ public class StaffPatrolRecordServiceImpl extends BaseServiceImpl<StaffPatrolRec
}
return new ArrayList<>();
}
/**
* @Author sun
* @Description 网格员工作统计巡查记录列表
**/
@Override
public PcworkRecordListResultDTO pcworkRecordList(PcworkRecordListFormDTO formDTO) {
PcworkRecordListResultDTO resultDTO = new PcworkRecordListResultDTO();
//1.按条件查询网格员巡查数据
PageInfo<PcworkRecordListResultDTO.StaffPatrol> result =
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()).doSelectPageInfo(() -> staffPatrolRecordDao.pcworkRecordList(formDTO));
if (org.springframework.util.CollectionUtils.isEmpty(result.getList())) {
return resultDTO;
}
//2.查询网格信息
OrgInfoFormDTO org = new OrgInfoFormDTO();
List<String> orgIds = result.getList().stream().map(PcworkRecordListResultDTO.StaffPatrol::getGridId).collect(Collectors.toList());
orgIds = orgIds.stream().distinct().collect(Collectors.toList());
org.setOrgIds(orgIds);
org.setOrgType("grid");
Result<List<OrgInfoResultDTO>> orgResult = govOrgOpenFeignClient.selectOrgInfo(org);
if (!orgResult.success()) {
throw new RenException("获取网格基础信息失败......");
}
//3.封装数据并返回
result.getList().forEach(r -> orgResult.getData().stream().filter(u -> r.getGridId().equals(u.getOrgId())).forEach(u -> r.setGridName(u.getOrgName())));
resultDTO.setTotal((int)result.getTotal());
resultDTO.setList(result.getList());
return resultDTO;
}
}

33
epmet-user/epmet-user-server/src/main/resources/mapper/StaffPatrolRecordDao.xml

@ -75,4 +75,37 @@
GROUP BY recordId
</select>
<select id="pcworkRecordList" resultType="com.epmet.dto.result.PcworkRecordListResultDTO$StaffPatrol">
SELECT
spr.staff_id staffId,
cs.real_name staffName,
spr.grid gridId,
spr.`status` status,
if(spr.`status`='patrolling', '巡查中', if(spr.is_hand_end=0, '结束巡查(系统自动)', '结束巡查'))statusName,
spr.patrol_start_time patrolStartTime,
spr.patrol_end_time patrolEndTime,
spr.total_time totalTime
FROM
staff_patrol_record spr
LEFT JOIN customer_staff cs ON spr.staff_id = cs.user_id
WHERE
spr.del_flag = '0'
<if test='orgType != "" and orgType != null and "agency" == orgType'>
AND spr.agency_id = #{orgId}
</if>
<if test='orgType != "" and orgType != null and "grid" == orgType'>
AND spr.grid = #{orgId}
</if>
<if test='staffId != "" and staffId != null '>
AND spr.staff_id = #{staffId}
</if>
<if test='startTime != "" and startTime != null '>
AND DATE_FORMAT(spr.created_time,'%Y%m%d') <![CDATA[ >= ]]> #{startTime}
</if>
<if test='endTime != "" and endTime != null '>
AND DATE_FORMAT(spr.created_time,'%Y%m%d') <![CDATA[ <= ]]> #{endTime}
</if>
ORDER BY spr.total_time DESC
</select>
</mapper>
Loading…
Cancel
Save