Date: Wed, 30 Jun 2021 13:16:37 +0800
Subject: [PATCH 29/80] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE=E4=BB=A3=E7=A0=81=E6=9A=82=E5=AD=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../extract/form/StaffPatrolStatsFormDTO.java | 22 +++
.../dto/user/result/CustomerStaffDTO.java | 137 ++++++++++++++++
.../StatsStaffPatrolRecordDailyDTO.java | 147 ++++++++++++++++++
.../controller/BizDataStatsController.java | 35 +++++
.../epmet/dao/org/CustomerStaffGridDao.java | 38 +++++
.../user/StatsStaffPatrolRecordDailyDao.java | 38 +++++
.../main/java/com/epmet/dao/user/UserDao.java | 15 ++
.../entity/org/CustomerStaffGridEntity.java | 40 +++++
.../StatsStaffPatrolRecordDailyEntity.java | 116 ++++++++++++++
.../extract/biz/BizDataStatsService.java | 31 ++++
.../biz/impl/BizDataStatsServiceImpl.java | 87 +++++++++++
.../service/org/CustomerStaffService.java | 22 +++
.../org/impl/CustomerStaffServiceImpl.java | 39 +++++
.../service/user/StatsStaffPatrolService.java | 13 ++
.../com/epmet/service/user/UserService.java | 15 ++
.../impl/StatsStaffPatrolServiceImpl.java | 32 ++++
.../service/user/impl/UserServiceImpl.java | 15 ++
.../mapper/org/CustomerStaffGridDao.xml | 29 ++++
.../user/StatsStaffPatrolRecordDailyDao.xml | 58 +++++++
.../main/resources/mapper/user/UserDao.xml | 30 ++++
20 files changed, 959 insertions(+)
create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/StaffPatrolStatsFormDTO.java
create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/CustomerStaffDTO.java
create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/StatsStaffPatrolRecordDailyDTO.java
create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/BizDataStatsController.java
create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/org/CustomerStaffGridDao.java
create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/StatsStaffPatrolRecordDailyDao.java
create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/org/CustomerStaffGridEntity.java
create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/user/StatsStaffPatrolRecordDailyEntity.java
create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/BizDataStatsService.java
create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java
create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/CustomerStaffService.java
create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/CustomerStaffServiceImpl.java
create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/StatsStaffPatrolService.java
create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/StatsStaffPatrolServiceImpl.java
create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerStaffGridDao.xml
create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/StatsStaffPatrolRecordDailyDao.xml
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/StaffPatrolStatsFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/StaffPatrolStatsFormDTO.java
new file mode 100644
index 0000000000..252162a682
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/StaffPatrolStatsFormDTO.java
@@ -0,0 +1,22 @@
+package com.epmet.dto.extract.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * desc: 工作人员巡查统计参数
+ *
+ * @author LiuJanJun
+ * @date 2021/6/29 10:19 上午
+ */
+@Data
+public class StaffPatrolStatsFormDTO implements Serializable {
+
+ private static final long serialVersionUID = -3639860733213306581L;
+ private String customerId;
+ private String dateId;
+ private String staffId;
+ private String gridId;
+ private String roleType;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/CustomerStaffDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/CustomerStaffDTO.java
new file mode 100644
index 0000000000..a5458793dd
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/CustomerStaffDTO.java
@@ -0,0 +1,137 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dto.user.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+/**
+ * 政府工作人员表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-04-18
+ */
+@Data
+public class CustomerStaffDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * ID
+ */
+ private String id;
+
+ /**
+ * 关联User表的主键Id
+ */
+ private String userId;
+
+ /**
+ * 真实姓名
+ */
+ private String realName;
+
+ /**
+ * 性别0.未知,1男,2.女
+ */
+ private Integer gender;
+
+ /**
+ * 邮箱
+ */
+ private String email;
+
+ /**
+ * 手机号-唯一键
+ */
+ private String mobile;
+
+ /**
+ * 地址
+ */
+ private String address;
+
+ /**
+ * 删除标识
+ */
+ private Integer delFlag;
+
+ /**
+ * 乐观锁
+ */
+ private Integer revision;
+
+ /**
+ * 创建人
+ */
+ private String createdBy;
+
+ /**
+ * 创建时间
+ */
+ private Date createdTime;
+
+ /**
+ * 更新人
+ */
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+
+ /**
+ * fulltime专职parttime兼职
+ */
+ private String workType;
+
+ /**
+ * 头像
+ */
+ private String headPhoto;
+
+ /**
+ * inactive未激活,active已激活
+ */
+ private String activeFlag;
+
+ /**
+ * 激活时间
+ */
+ private Date activeTime;
+
+ /**
+ * 未禁用enable,已禁用diabled
+ */
+ private String enableFlag;
+
+ /**
+ * 客户id
+ */
+ private String customerId;
+
+ /**
+ * 角色名称
+ */
+ private String roleName;
+
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/StatsStaffPatrolRecordDailyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/StatsStaffPatrolRecordDailyDTO.java
new file mode 100644
index 0000000000..ad8c156e77
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/StatsStaffPatrolRecordDailyDTO.java
@@ -0,0 +1,147 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dto.user.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+/**
+ * [天]工作人员巡查记录统计
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-06-29
+ */
+@Data
+public class StatsStaffPatrolRecordDailyDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ private String id;
+
+ /**
+ * 客户Id
+ */
+ private String customerId;
+
+ /**
+ * 统计日期 关联日期dim表
+ */
+ private String dateId;
+
+ /**
+ * 周ID
+ */
+ private String weekId;
+
+ /**
+ * 月ID
+ */
+ private String monthId;
+
+ /**
+ * 季ID
+ */
+ private String quarterId;
+
+ /**
+ * 年ID
+ */
+ private String yearId;
+
+ /**
+ * 网格id
+ */
+ private String gridId;
+
+ /**
+ * 工作人员所属组织id=网格所属的组织id
+ */
+ private String agencyId;
+
+ /**
+ * 网格所有上级id
+ */
+ private String gridPids;
+
+ /**
+ * 工作人员用户id
+ */
+ private String staffId;
+
+ /**
+ * 巡查次数
+ */
+ private Integer patrolTotal;
+
+ /**
+ * 巡查时长 单位:秒
+ */
+ private Integer totalTime;
+
+ /**
+ * 巡查期间直接立项项目数
+ */
+ private Integer reportProjectCount;
+
+ /**
+ * 最新的巡查开始时间
+ */
+ private Date latestPatrolTime;
+
+ /**
+ * 最新的巡查状态 正在巡查中:patrolling;结束:end
+ */
+ private String latestPatrolStatus;
+
+ /**
+ * 删除标识 0.未删除 1.已删除
+ */
+ private Integer delFlag;
+
+ /**
+ * 乐观锁
+ */
+ private Integer revision;
+
+ /**
+ * 创建人
+ */
+ private String createdBy;
+
+ /**
+ * 创建时间
+ */
+ private Date createdTime;
+
+ /**
+ * 更新人
+ */
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+
+}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/BizDataStatsController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/BizDataStatsController.java
new file mode 100644
index 0000000000..94e30fb994
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/BizDataStatsController.java
@@ -0,0 +1,35 @@
+package com.epmet.controller;
+
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
+import com.epmet.service.evaluationindex.extract.biz.BizDataStatsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @Description 用户统计
+ * @ClassName StatsUserController
+ * @Auth wangc
+ * @Date 2020-06-23 15:18
+ */
+@RestController
+@RequestMapping("bizData/stats")
+public class BizDataStatsController {
+
+ @Autowired
+ private BizDataStatsService bizDataStatsService;
+
+ /**
+ * @return com.epmet.commons.tools.utils.Result
+ * @param formDTO
+ * @description 工作端数据一期,用户分析:参与用户、注册用户分析
+ * @Date 2021/3/26 13:27
+ **/
+ @RequestMapping("patrol")
+ public Result execute(@RequestBody StaffPatrolStatsFormDTO formDTO) {
+ bizDataStatsService.initStaffPatrolStats(formDTO);
+ return new Result();
+ }
+}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/org/CustomerStaffGridDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/org/CustomerStaffGridDao.java
new file mode 100644
index 0000000000..171f45db3c
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/org/CustomerStaffGridDao.java
@@ -0,0 +1,38 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dao.org;
+
+import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
+import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO;
+import com.epmet.entity.org.CustomerStaffGridEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 客户网格人员关系表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-03-16
+ */
+@Mapper
+public interface CustomerStaffGridDao extends BaseDao {
+
+ List selectGridStaffList(StaffPatrolStatsFormDTO formDTO);
+}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/StatsStaffPatrolRecordDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/StatsStaffPatrolRecordDailyDao.java
new file mode 100644
index 0000000000..60176314f3
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/StatsStaffPatrolRecordDailyDao.java
@@ -0,0 +1,38 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dao.user;
+
+import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO;
+import com.epmet.entity.user.StatsStaffPatrolRecordDailyEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * [天]工作人员巡查记录统计
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-06-29
+ */
+@Mapper
+public interface StatsStaffPatrolRecordDailyDao extends BaseDao {
+
+ Integer insertBatch(@Param("list") List insertList);
+}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/UserDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/UserDao.java
index dabacfd7da..608fe55e3f 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/UserDao.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/UserDao.java
@@ -1,9 +1,12 @@
package com.epmet.dao.user;
import com.epmet.dto.extract.form.GridHeartedFormDTO;
+import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
import com.epmet.dto.extract.result.UserPartyResultDTO;
import com.epmet.dto.screen.ScreenProjectDataDTO;
import com.epmet.dto.user.result.CommonTotalAndIncCountResultDTO;
+import com.epmet.dto.user.result.CustomerStaffDTO;
+import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO;
import com.epmet.entity.evaluationindex.screen.ScreenPartyUserRankDataEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -159,5 +162,17 @@ public interface UserDao {
* @date 2021/6/8 5:21 下午
*/
List selectStaffInfo(@Param("list") List staffUserIdList);
+
+ /**
+ * desc: 根据角色key条件获取所有的人
+ *
+ * @param formDTO
+ * @return java.util.List
+ * @author LiuJanJun
+ * @date 2021/6/29 2:58 下午
+ */
+ List selectUserByRoleKey(StaffPatrolStatsFormDTO formDTO);
+
+ List selectLastStaffPatrolList(StaffPatrolStatsFormDTO formDTO);
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/org/CustomerStaffGridEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/org/CustomerStaffGridEntity.java
new file mode 100644
index 0000000000..bb94ef3ff2
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/org/CustomerStaffGridEntity.java
@@ -0,0 +1,40 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.entity.org;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 客户网格表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-03-16
+ */
+@Data
+@EqualsAndHashCode(callSuper=false)
+@TableName("customer_staff_grid")
+public class CustomerStaffGridEntity extends BaseEpmetEntity {
+
+ private static final long serialVersionUID = 1L;
+ private String customerId;
+ private String gridId;
+ private String userId;
+}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/user/StatsStaffPatrolRecordDailyEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/user/StatsStaffPatrolRecordDailyEntity.java
new file mode 100644
index 0000000000..9425887126
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/user/StatsStaffPatrolRecordDailyEntity.java
@@ -0,0 +1,116 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.entity.user;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * [天]工作人员巡查记录统计
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-06-29
+ */
+@Data
+@EqualsAndHashCode(callSuper=false)
+@TableName("stats_staff_patrol_record_daily")
+public class StatsStaffPatrolRecordDailyEntity extends BaseEpmetEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 客户Id
+ */
+ private String customerId;
+
+ /**
+ * 统计日期 关联日期dim表
+ */
+ private String dateId;
+
+ /**
+ * 周ID
+ */
+ private String weekId;
+
+ /**
+ * 月ID
+ */
+ private String monthId;
+
+ /**
+ * 季ID
+ */
+ private String quarterId;
+
+ /**
+ * 年ID
+ */
+ private String yearId;
+
+ /**
+ * 网格id
+ */
+ private String gridId;
+
+ /**
+ * 工作人员所属组织id=网格所属的组织id
+ */
+ private String agencyId;
+
+ /**
+ * 网格所有上级id
+ */
+ private String gridPids;
+
+ /**
+ * 工作人员用户id
+ */
+ private String staffId;
+
+ /**
+ * 巡查次数
+ */
+ private Integer patrolTotal;
+
+ /**
+ * 巡查时长 单位:秒
+ */
+ private Integer totalTime;
+
+ /**
+ * 巡查期间直接立项项目数
+ */
+ private Integer reportProjectCount;
+
+ /**
+ * 最新的巡查开始时间
+ */
+ private Date latestPatrolTime;
+
+ /**
+ * 最新的巡查状态 正在巡查中:patrolling;结束:end
+ */
+ private String latestPatrolStatus;
+
+}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/BizDataStatsService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/BizDataStatsService.java
new file mode 100644
index 0000000000..c644f2393e
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/BizDataStatsService.java
@@ -0,0 +1,31 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.service.evaluationindex.extract.biz;
+
+import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
+
+/**
+ * [天]工作人员巡查记录统计
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-06-29
+ */
+public interface BizDataStatsService {
+
+ void initStaffPatrolStats(StaffPatrolStatsFormDTO formDTO);
+}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java
new file mode 100644
index 0000000000..ad796d528c
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java
@@ -0,0 +1,87 @@
+package com.epmet.service.evaluationindex.extract.biz.impl;
+
+import com.epmet.commons.tools.constant.NumConstant;
+import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
+import com.epmet.dto.user.result.CustomerStaffDTO;
+import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO;
+import com.epmet.service.evaluationindex.extract.biz.BizDataStatsService;
+import com.epmet.service.org.CustomerStaffService;
+import com.epmet.service.user.StatsStaffPatrolService;
+import com.epmet.service.user.UserService;
+import com.epmet.util.DimIdGenerator;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * desc:【天】网格员巡查统计
+ *
+ * @author: LiuJanJun
+ * @date: 2021/6/29 3:08 下午
+ * @version: 1.0
+ */
+@Slf4j
+@Service
+public class BizDataStatsServiceImpl implements BizDataStatsService {
+ @Autowired
+ private CustomerStaffService customerStaffService;
+ @Autowired
+ private UserService userService;
+ @Autowired
+ private StatsStaffPatrolService statsStaffPatrolService;
+
+ @Override
+ public void initStaffPatrolStats(StaffPatrolStatsFormDTO formDTO) {
+ //获取所有的网格员
+ //1.获取所有网格用户
+ List allStaffList = customerStaffService.selectStaffGridList(formDTO);
+ /* if (CollectionUtils.isEmpty(allStaffList)){
+ log.warn("reloadStaffPatrolStats customerId:{} have any staff,param:{}",formDTO.getCustomerId(), JSON.toJSONString(formDTO));
+ return
+ }*/
+ //获取所有含有网格员角色的用户
+ List gridMemberList = userService.selectUserListByRoleKey(formDTO);
+ /*if (CollectionUtils.isEmpty(gridMemberList)){
+ log.warn("reloadStaffPatrolStats customerId:{} have any gridMembers,param:{}",formDTO.getCustomerId(), JSON.toJSONString(formDTO));
+ return
+ }*/
+
+ List lastStaffPatrolList = userService.selectLastStaffPatrolList(formDTO);
+ Map lastPatrolMap = lastStaffPatrolList.stream().collect(Collectors.toMap(o -> o.getGridId() + o.getStaffId(), o -> o, (o1, o2) -> o1));
+ //构建数据 插入
+ List insertList = new ArrayList<>();
+ DimIdGenerator.DimIdBean dimIdBean = DimIdGenerator.getDimIdBean(new Date());
+ allStaffList.forEach(gridStaff -> {
+ gridStaff.setDateId(dimIdBean.getDateId());
+ gridStaff.setWeekId(dimIdBean.getWeekId());
+ gridStaff.setQuarterId(dimIdBean.getQuarterId());
+ gridStaff.setYearId(dimIdBean.getYearId());
+ gridStaff.setMonthId(dimIdBean.getMonthId());
+ StatsStaffPatrolRecordDailyDTO recordDailyDTO = lastPatrolMap.get(gridStaff.getGridId().concat(gridStaff.getStaffId()));
+
+ gridStaff.setTotalTime(NumConstant.ZERO);
+ gridStaff.setPatrolTotal(NumConstant.ZERO);
+ gridStaff.setLatestPatrolStatus("end");
+ //最后巡查时间
+ gridStaff.setLatestPatrolTime(null);
+ if (recordDailyDTO != null) {
+ gridStaff.setLatestPatrolStatus(recordDailyDTO.getLatestPatrolStatus());
+ gridStaff.setLatestPatrolTime(recordDailyDTO.getLatestPatrolTime());
+ }
+
+ gridMemberList.forEach(gridMember -> {
+ if (gridStaff.getStaffId().equals(gridMember.getUserId())) {
+ insertList.add(gridStaff);
+ }
+ });
+ });
+ Integer effectRow = statsStaffPatrolService.insertBatch(insertList);
+ log.debug("initStaffPatrolStats insert rows:{}", effectRow);
+ }
+}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/CustomerStaffService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/CustomerStaffService.java
new file mode 100644
index 0000000000..f498bbfe9c
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/CustomerStaffService.java
@@ -0,0 +1,22 @@
+package com.epmet.service.org;
+
+import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
+import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO;
+
+import java.util.List;
+
+/**
+ * @author liujianjun
+ */
+public interface CustomerStaffService {
+
+ /**
+ * desc: 条件获取 网格下的所有人
+ *
+ * @param formDTO
+ * @return java.util.List
+ * @author LiuJanJun
+ * @date 2021/6/29 3:13 下午
+ */
+ List selectStaffGridList(StaffPatrolStatsFormDTO formDTO);
+}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/CustomerStaffServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/CustomerStaffServiceImpl.java
new file mode 100644
index 0000000000..fc11765d10
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/CustomerStaffServiceImpl.java
@@ -0,0 +1,39 @@
+package com.epmet.service.org.impl;
+
+import com.epmet.commons.dynamic.datasource.annotation.DataSource;
+import com.epmet.constant.DataSourceConstant;
+import com.epmet.dao.org.CustomerStaffGridDao;
+import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
+import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO;
+import com.epmet.service.org.CustomerStaffService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * desc:
+ *
+ * @author: LiuJanJun
+ * @date: 2021/6/29 3:14 下午
+ * @version: 1.0
+ */
+@Service
+@DataSource(DataSourceConstant.GOV_ORG)
+public class CustomerStaffServiceImpl implements CustomerStaffService {
+ @Autowired
+ private CustomerStaffGridDao customerStaffGridDao;
+
+ /**
+ * desc: 条件获取 网格下的所有人
+ *
+ * @param formDTO
+ * @return java.util.List
+ * @author LiuJanJun
+ * @date 2021/6/29 3:13 下午
+ */
+ @Override
+ public List selectStaffGridList(StaffPatrolStatsFormDTO formDTO) {
+ return customerStaffGridDao.selectGridStaffList(formDTO);
+ }
+}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/StatsStaffPatrolService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/StatsStaffPatrolService.java
new file mode 100644
index 0000000000..430a46defd
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/StatsStaffPatrolService.java
@@ -0,0 +1,13 @@
+package com.epmet.service.user;
+
+import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO;
+
+import java.util.List;
+
+/**
+ * @author liujianjun
+ */
+public interface StatsStaffPatrolService {
+
+ Integer insertBatch(List insertList);
+}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/UserService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/UserService.java
index ebc01ebdb3..aecbe35158 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/UserService.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/UserService.java
@@ -2,9 +2,12 @@ package com.epmet.service.user;
import com.epmet.dto.AgencySubTreeDto;
import com.epmet.dto.extract.form.GridHeartedFormDTO;
+import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
import com.epmet.dto.org.result.OrgStaffDTO;
import com.epmet.dto.screen.ScreenProjectDataDTO;
import com.epmet.dto.stats.user.result.UserStatisticalData;
+import com.epmet.dto.user.result.CustomerStaffDTO;
+import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO;
import com.epmet.entity.evaluationindex.screen.ScreenPartyUserRankDataEntity;
import com.epmet.util.DimIdGenerator;
@@ -94,4 +97,16 @@ public interface UserService {
* @return com.epmet.dto.user.OrgGridManagerTotalDTO
*/
Map queryOrgGridManager(String customerId,List orgStaffDTOList);
+
+ /**
+ * desc: 请描述类的业务用途
+ *
+ * @param formDTO
+ * @return
+ * @author LiuJanJun
+ * @date 2021/6/29 10:15 上午
+ */
+ List selectUserListByRoleKey(StaffPatrolStatsFormDTO formDTO);
+
+ List selectLastStaffPatrolList(StaffPatrolStatsFormDTO formDTO);
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/StatsStaffPatrolServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/StatsStaffPatrolServiceImpl.java
new file mode 100644
index 0000000000..a4004de4d0
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/StatsStaffPatrolServiceImpl.java
@@ -0,0 +1,32 @@
+package com.epmet.service.user.impl;
+
+import com.alibaba.fastjson.JSON;
+import com.epmet.commons.dynamic.datasource.annotation.DataSource;
+import com.epmet.constant.DataSourceConstant;
+import com.epmet.dao.user.StatsStaffPatrolRecordDailyDao;
+import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO;
+import com.epmet.service.user.StatsStaffPatrolService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * desc:
+ *
+ * @author: LiuJanJun
+ * @date: 2021/6/30 8:33 上午
+ * @version: 1.0
+ */
+@DataSource(DataSourceConstant.EPMET_USER)
+@Service
+public class StatsStaffPatrolServiceImpl implements StatsStaffPatrolService {
+ @Autowired
+ private StatsStaffPatrolRecordDailyDao statsStaffPatrolRecordDailyDao;
+
+ @Override
+ public Integer insertBatch(List insertList) {
+ System.out.println("=====:"+JSON.toJSONString(insertList));
+ return statsStaffPatrolRecordDailyDao.insertBatch(insertList);
+ }
+}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java
index 59897628e3..27ee9b6eb8 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java
@@ -6,15 +6,19 @@ import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.constant.DataSourceConstant;
import com.epmet.constant.ExtractConstant;
import com.epmet.constant.ProjectConstant;
+import com.epmet.constant.RoleKeyConstants;
import com.epmet.dao.user.UserDao;
import com.epmet.dto.AgencySubTreeDto;
import com.epmet.dto.extract.form.GridHeartedFormDTO;
+import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
import com.epmet.dto.extract.result.UserPartyResultDTO;
import com.epmet.dto.org.result.OrgStaffDTO;
import com.epmet.dto.screen.ScreenProjectDataDTO;
import com.epmet.dto.stats.user.*;
import com.epmet.dto.stats.user.result.UserStatisticalData;
import com.epmet.dto.user.result.CommonTotalAndIncCountResultDTO;
+import com.epmet.dto.user.result.CustomerStaffDTO;
+import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO;
import com.epmet.entity.evaluationindex.screen.ScreenPartyUserRankDataEntity;
import com.epmet.service.user.UserService;
import com.epmet.util.DimIdGenerator;
@@ -797,4 +801,15 @@ public class UserServiceImpl implements UserService {
return resultMap;
}
+ @Override
+ public List selectUserListByRoleKey(StaffPatrolStatsFormDTO formDTO) {
+ formDTO.setRoleType(RoleKeyConstants.ROLE_KEY_GRID_MEMBER);
+ return userDao.selectUserByRoleKey(formDTO);
+ }
+
+ @Override
+ public List selectLastStaffPatrolList(StaffPatrolStatsFormDTO formDTO) {
+ return userDao.selectLastStaffPatrolList(formDTO);
+ }
+
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerStaffGridDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerStaffGridDao.xml
new file mode 100644
index 0000000000..5e41b9e84d
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerStaffGridDao.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+ SELECT
+ sg.customer_id,
+ sg.user_id AS staffId,
+ sg.grid_id,
+ grid.grid_name,
+ grid.PID agencyId,
+ grid.PIDS gridPids
+ FROM
+ customer_staff_grid sg
+ LEFT JOIN customer_grid grid ON grid.id = sg.grid_id
+ WHERE
+ sg.del_flag = '0'
+
+ AND sg.customer_id = #{customerId}
+
+
+ AND sg.GRID_ID = #{gridId}
+
+
+
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/StatsStaffPatrolRecordDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/StatsStaffPatrolRecordDailyDao.xml
new file mode 100644
index 0000000000..cba48614f3
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/StatsStaffPatrolRecordDailyDao.xml
@@ -0,0 +1,58 @@
+
+
+
+
+
+ insert into stats_staff_patrol_record_daily
+ (
+ ID,
+ CUSTOMER_ID,
+ DATE_ID,
+ WEEK_ID,
+ MONTH_ID,
+ YEAR_ID,
+ QUARTER_ID,
+ GRID_ID,
+ AGENCY_ID,
+ GRID_PIDS,
+ STAFF_ID,
+ PATROL_TOTAL,
+ TOTAL_TIME,
+ REPORT_PROJECT_COUNT,
+ LATEST_PATROL_TIME,
+ LATEST_PATROL_STATUS,
+ DEL_FLAG,
+ REVISION,
+ CREATED_BY,
+ CREATED_TIME,
+ UPDATED_BY,
+ UPDATED_TIME
+ ) values
+
+ (
+ (SELECT REPLACE(UUID(), '-', '') AS id),
+ #{item.customerId},
+ #{item.dateId},
+ #{item.weekId},
+ #{item.monthId},
+ #{item.yearId},
+ #{item.quarterId},
+ #{item.gridId},
+ #{item.agencyId},
+ #{item.gridPids},
+ #{item.staffId},
+ #{item.patrolTotal},
+ #{item.totalTime},
+ #{item.reportProjectCount},
+ #{item.latestPatrolTime},
+ #{item.latestPatrolStatus},
+ '0',
+ 0,
+ 'APP_USER',
+ now(),
+ 'APP_USER',
+ now()
+ )
+
+
+
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml
index acb6c9feb3..578d20590a 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml
@@ -570,4 +570,34 @@
user_id = #{userId}
+
+ SELECT DISTINCT
+ s.USER_ID,
+ s.*,
+ gsr.ROLE_NAME
+ FROM
+ customer_staff s
+ LEFT JOIN staff_role sr ON sr.STAFF_ID = s.USER_ID
+ AND sr.CUSTOMER_ID = s.CUSTOMER_ID
+ LEFT JOIN gov_staff_role gsr ON gsr.ID = sr.ROLE_ID
+ WHERE
+ s.del_flag = '0'
+ AND gsr.ROLE_KEY = 'grid_member'
+
+
+ SELECT
+ t.STAFF_ID,
+ t.GRID gridId,
+ t.PATROL_START_TIME latestPatrolTime,
+ t.STATUS latestPatrolStatus
+ FROM
+ ( SELECT GRID, STAFF_ID, max( CREATED_TIME ) AS CREATED_TIME FROM staff_patrol_record GROUP BY GRID, STAFF_ID ) a
+ LEFT JOIN staff_patrol_record t ON t.GRID = a.GRID
+ AND t.STAFF_ID = a.STAFF_ID
+ AND t.CREATED_TIME = a.CREATED_TIME
+ WHERE
+ a.del_flag = '0'
+ AND a.CUSTOMER_ID = #{customerId}
+
+
From 6af39126be72254a049b85f3bcd1e97ad2e48f40 Mon Sep 17 00:00:00 2001
From: zxc <1272811460@qq.com>
Date: Wed, 30 Jun 2021 15:02:52 +0800
Subject: [PATCH 30/80] =?UTF-8?q?=E5=B7=A1=E6=9F=A5=E7=BB=9F=E8=AE=A1?=
=?UTF-8?q?=E8=A1=A8=E6=96=87=E4=BB=B6=E4=B8=8A=E4=BC=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../dto/StatsStaffPatrolRecordDailyDTO.java | 146 ++++++++++++++++++
...StatsStaffPatrolRecordDailyController.java | 32 ++++
.../dao/StatsStaffPatrolRecordDailyDao.java | 43 ++++++
.../StatsStaffPatrolRecordDailyEntity.java | 116 ++++++++++++++
.../StatsStaffPatrolRecordDailyService.java | 15 ++
...tatsStaffPatrolRecordDailyServiceImpl.java | 32 ++++
.../mapper/StatsStaffPatrolRecordDailyDao.xml | 18 +++
7 files changed, 402 insertions(+)
create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/StatsStaffPatrolRecordDailyDTO.java
create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StatsStaffPatrolRecordDailyController.java
create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StatsStaffPatrolRecordDailyDao.java
create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/entity/StatsStaffPatrolRecordDailyEntity.java
create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/StatsStaffPatrolRecordDailyService.java
create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StatsStaffPatrolRecordDailyServiceImpl.java
create mode 100644 epmet-user/epmet-user-server/src/main/resources/mapper/StatsStaffPatrolRecordDailyDao.xml
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/StatsStaffPatrolRecordDailyDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/StatsStaffPatrolRecordDailyDTO.java
new file mode 100644
index 0000000000..43a8cdf336
--- /dev/null
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/StatsStaffPatrolRecordDailyDTO.java
@@ -0,0 +1,146 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dto;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+
+/**
+ * [天]工作人员巡查记录统计
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-06-30
+ */
+@Data
+public class StatsStaffPatrolRecordDailyDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ private String id;
+
+ /**
+ * 客户Id
+ */
+ private String customerId;
+
+ /**
+ * 统计日期 关联日期dim表
+ */
+ private String dateId;
+
+ /**
+ * 周ID
+ */
+ private String weekId;
+
+ /**
+ * 月ID
+ */
+ private String monthId;
+
+ /**
+ * 季ID
+ */
+ private String quarterId;
+
+ /**
+ * 年ID
+ */
+ private String yearId;
+
+ /**
+ * 网格id
+ */
+ private String gridId;
+
+ /**
+ * 工作人员所属组织id=网格所属的组织id
+ */
+ private String agencyId;
+
+ /**
+ * 网格所有上级id
+ */
+ private String gridPids;
+
+ /**
+ * 工作人员用户id
+ */
+ private String staffId;
+
+ /**
+ * 巡查次数
+ */
+ private Integer patrolTotal;
+
+ /**
+ * 巡查时长 单位:秒
+ */
+ private Integer totalTime;
+
+ /**
+ * 巡查期间直接立项项目数
+ */
+ private Integer reportProjectCount;
+
+ /**
+ * 最新的巡查开始时间
+ */
+ private Date latestPatrolTime;
+
+ /**
+ * 最新的巡查状态 正在巡查中:patrolling;结束:end
+ */
+ private String latestPatrolStatus;
+
+ /**
+ * 删除标识 0.未删除 1.已删除
+ */
+ private Integer delFlag;
+
+ /**
+ * 乐观锁
+ */
+ private Integer revision;
+
+ /**
+ * 创建人
+ */
+ private String createdBy;
+
+ /**
+ * 创建时间
+ */
+ private Date createdTime;
+
+ /**
+ * 更新人
+ */
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+
+}
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StatsStaffPatrolRecordDailyController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StatsStaffPatrolRecordDailyController.java
new file mode 100644
index 0000000000..b2dad2bce4
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StatsStaffPatrolRecordDailyController.java
@@ -0,0 +1,32 @@
+package com.epmet.controller;
+
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.commons.tools.validator.AssertUtils;
+import com.epmet.commons.tools.validator.ValidatorUtils;
+import com.epmet.commons.tools.validator.group.AddGroup;
+import com.epmet.commons.tools.validator.group.UpdateGroup;
+import com.epmet.commons.tools.validator.group.DefaultGroup;
+import com.epmet.dto.StatsStaffPatrolRecordDailyDTO;
+import com.epmet.service.StatsStaffPatrolRecordDailyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+
+/**
+ * [天]工作人员巡查记录统计
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-06-30
+ */
+@RestController
+@RequestMapping("statsstaffpatrolrecorddaily")
+public class StatsStaffPatrolRecordDailyController {
+
+ @Autowired
+ private StatsStaffPatrolRecordDailyService statsStaffPatrolRecordDailyService;
+
+
+}
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StatsStaffPatrolRecordDailyDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StatsStaffPatrolRecordDailyDao.java
new file mode 100644
index 0000000000..ac7ea8b7da
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StatsStaffPatrolRecordDailyDao.java
@@ -0,0 +1,43 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dao;
+
+import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.entity.StatsStaffPatrolRecordDailyEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * [天]工作人员巡查记录统计
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-06-30
+ */
+@Mapper
+public interface StatsStaffPatrolRecordDailyDao extends BaseDao {
+
+ /**
+ * @Description 校验今天某人是不是有数据
+ * @Param staffId
+ * @Param dateId
+ * @author zxc
+ * @date 2021/6/30 2:41 下午
+ */
+ Integer checkStatsCount(@Param("staffId")String staffId, @Param("dateId")String dateId);
+
+}
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/StatsStaffPatrolRecordDailyEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/StatsStaffPatrolRecordDailyEntity.java
new file mode 100644
index 0000000000..2bb2e583e3
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/StatsStaffPatrolRecordDailyEntity.java
@@ -0,0 +1,116 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * [天]工作人员巡查记录统计
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-06-30
+ */
+@Data
+@EqualsAndHashCode(callSuper=false)
+@TableName("stats_staff_patrol_record_daily")
+public class StatsStaffPatrolRecordDailyEntity extends BaseEpmetEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 客户Id
+ */
+ private String customerId;
+
+ /**
+ * 统计日期 关联日期dim表
+ */
+ private String dateId;
+
+ /**
+ * 周ID
+ */
+ private String weekId;
+
+ /**
+ * 月ID
+ */
+ private String monthId;
+
+ /**
+ * 季ID
+ */
+ private String quarterId;
+
+ /**
+ * 年ID
+ */
+ private String yearId;
+
+ /**
+ * 网格id
+ */
+ private String gridId;
+
+ /**
+ * 工作人员所属组织id=网格所属的组织id
+ */
+ private String agencyId;
+
+ /**
+ * 网格所有上级id
+ */
+ private String gridPids;
+
+ /**
+ * 工作人员用户id
+ */
+ private String staffId;
+
+ /**
+ * 巡查次数
+ */
+ private Integer patrolTotal;
+
+ /**
+ * 巡查时长 单位:秒
+ */
+ private Integer totalTime;
+
+ /**
+ * 巡查期间直接立项项目数
+ */
+ private Integer reportProjectCount;
+
+ /**
+ * 最新的巡查开始时间
+ */
+ private Date latestPatrolTime;
+
+ /**
+ * 最新的巡查状态 正在巡查中:patrolling;结束:end
+ */
+ private String latestPatrolStatus;
+
+}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StatsStaffPatrolRecordDailyService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StatsStaffPatrolRecordDailyService.java
new file mode 100644
index 0000000000..4eb51384d9
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StatsStaffPatrolRecordDailyService.java
@@ -0,0 +1,15 @@
+package com.epmet.service;
+
+import com.epmet.commons.mybatis.service.BaseService;
+import com.epmet.entity.StatsStaffPatrolRecordDailyEntity;
+
+/**
+ * [天]工作人员巡查记录统计
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-06-30
+ */
+public interface StatsStaffPatrolRecordDailyService extends BaseService {
+
+
+}
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StatsStaffPatrolRecordDailyServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StatsStaffPatrolRecordDailyServiceImpl.java
new file mode 100644
index 0000000000..a53fc8e3a5
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StatsStaffPatrolRecordDailyServiceImpl.java
@@ -0,0 +1,32 @@
+package com.epmet.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.utils.ConvertUtils;
+import com.epmet.commons.tools.constant.FieldConstant;
+import com.epmet.dao.StatsStaffPatrolRecordDailyDao;
+import com.epmet.dto.StatsStaffPatrolRecordDailyDTO;
+import com.epmet.entity.StatsStaffPatrolRecordDailyEntity;
+import com.epmet.service.StatsStaffPatrolRecordDailyService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * [天]工作人员巡查记录统计
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-06-30
+ */
+@Service
+@Slf4j
+public class StatsStaffPatrolRecordDailyServiceImpl extends BaseServiceImpl implements StatsStaffPatrolRecordDailyService {
+
+}
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/StatsStaffPatrolRecordDailyDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/StatsStaffPatrolRecordDailyDao.xml
new file mode 100644
index 0000000000..3c51b767fb
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/resources/mapper/StatsStaffPatrolRecordDailyDao.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+ SELECT
+ COUNT(1)
+ FROM
+ stats_staff_patrol_record_daily
+ WHERE
+ DEL_FLAG = 0
+ AND DATE_ID = #{dateId}
+ AND STAFF_ID = #{staffId}
+
+
+
\ No newline at end of file
From ac97acf5b2e9cec8bbde0b061e796895e9d298ca Mon Sep 17 00:00:00 2001
From: zxc <1272811460@qq.com>
Date: Thu, 1 Jul 2021 10:27:52 +0800
Subject: [PATCH 31/80] =?UTF-8?q?=E5=B7=A1=E6=9F=A5=E6=9C=9F=E9=97=B4?=
=?UTF-8?q?=E7=AB=8B=E9=A1=B9=E6=95=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../epmet/dto/form/PatrolProjectFormDTO.java | 29 +++++++++++++++++++
.../feign/GovProjectOpenFeignClient.java | 14 ++++++---
.../GovProjectOpenFeignClientFallback.java | 10 ++++---
.../epmet/controller/ProjectController.java | 12 ++++++++
.../main/java/com/epmet/dao/ProjectDao.java | 9 ++++++
.../com/epmet/service/ProjectService.java | 8 +++++
.../service/impl/ProjectServiceImpl.java | 11 +++++++
.../src/main/resources/mapper/ProjectDao.xml | 12 ++++++++
8 files changed, 97 insertions(+), 8 deletions(-)
create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/PatrolProjectFormDTO.java
diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/PatrolProjectFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/PatrolProjectFormDTO.java
new file mode 100644
index 0000000000..c5add855bb
--- /dev/null
+++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/PatrolProjectFormDTO.java
@@ -0,0 +1,29 @@
+package com.epmet.dto.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Author zxc
+ * @DateTime 2021/7/1 10:10 上午
+ * @DESC
+ */
+@Data
+public class PatrolProjectFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 7244072033926913678L;
+
+ private String userId;
+
+ /**
+ * 巡查开始时间
+ */
+ private Date patrolStartTime;
+
+ /**
+ * 巡查结束时间
+ */
+ private Date patrolEndTime;
+}
diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/GovProjectOpenFeignClient.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/GovProjectOpenFeignClient.java
index e3246e8bae..7bd2b95f31 100644
--- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/GovProjectOpenFeignClient.java
+++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/GovProjectOpenFeignClient.java
@@ -4,10 +4,7 @@ import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.ProjectCategoryDTO;
import com.epmet.dto.ProjectDTO;
-import com.epmet.dto.form.DelCategoryFormDTO;
-import com.epmet.dto.form.ProcessListFormDTO;
-import com.epmet.dto.form.ProjectByCreateTopicUserFormDTO;
-import com.epmet.dto.form.ProjectListFromDTO;
+import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.feign.fallback.GovProjectOpenFeignClientFallback;
import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO;
@@ -86,4 +83,13 @@ public interface GovProjectOpenFeignClient {
**/
@PostMapping("gov/project/projectcategory/getprojectcategorylist")
Result> getProjectCategoryList(@RequestBody DelCategoryFormDTO formDTO);
+
+ /**
+ * @Description 查询巡查期间的立项数
+ * @Param formDTO
+ * @author zxc
+ * @date 2021/7/1 10:16 上午
+ */
+ @PostMapping("gov/project/project/patrolproject")
+ Result selectPatrolProject(@RequestBody PatrolProjectFormDTO formDTO);
}
diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/fallback/GovProjectOpenFeignClientFallback.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/fallback/GovProjectOpenFeignClientFallback.java
index f03dabfef1..cb2dbf1abd 100644
--- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/fallback/GovProjectOpenFeignClientFallback.java
+++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/fallback/GovProjectOpenFeignClientFallback.java
@@ -5,10 +5,7 @@ import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.ProjectCategoryDTO;
import com.epmet.dto.ProjectDTO;
-import com.epmet.dto.form.DelCategoryFormDTO;
-import com.epmet.dto.form.ProcessListFormDTO;
-import com.epmet.dto.form.ProjectByCreateTopicUserFormDTO;
-import com.epmet.dto.form.ProjectListFromDTO;
+import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.feign.GovProjectOpenFeignClient;
import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO;
@@ -78,4 +75,9 @@ public class GovProjectOpenFeignClientFallback implements GovProjectOpenFeignCli
public Result> getProjectCategoryList(DelCategoryFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "getProjectCategoryList", formDTO);
}
+
+ @Override
+ public Result selectPatrolProject(PatrolProjectFormDTO formDTO) {
+ return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "selectPatrolProject", formDTO);
+ }
}
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java
index 60257a5e4d..1c1460b3cb 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java
@@ -222,4 +222,16 @@ public class ProjectController {
projectService.platformCallBack(formDTO);
return new Result();
}
+
+ /**
+ * @Description 查询巡查期间的立项数
+ * @Param formDTO
+ * @author zxc
+ * @date 2021/7/1 10:16 上午
+ */
+ @PostMapping("patrolproject")
+ public Result selectPatrolProject(@RequestBody PatrolProjectFormDTO formDTO){
+ return new Result().ok(projectService.selectPatrolProject(formDTO));
+ }
+
}
\ No newline at end of file
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java
index 2c2fe53f31..38176df2ad 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java
@@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.ProjectDTO;
import com.epmet.dto.ProjectStaffDTO;
import com.epmet.dto.form.LatestListFormDTO;
+import com.epmet.dto.form.PatrolProjectFormDTO;
import com.epmet.dto.form.ProjectListFromDTO;
import com.epmet.dto.form.ShiftProjectsFromDTO;
import com.epmet.dto.result.*;
@@ -164,4 +165,12 @@ public interface ProjectDao extends BaseDao {
* @date 2021/5/14 1:59 下午
*/
List selectProjectIdByTime(@Param("agencyId")String agencyId,@Param("endDate")Integer endDate,@Param("startDate")Integer startDate);
+
+ /**
+ * @Description 查询巡查期间的立项数
+ * @Param formDTO
+ * @author zxc
+ * @date 2021/7/1 10:16 上午
+ */
+ Integer selectPatrolProject(PatrolProjectFormDTO formDTO);
}
\ No newline at end of file
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java
index 67112ab5d4..f04d8f050a 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java
@@ -295,4 +295,12 @@ public interface ProjectService extends BaseService {
* @return void
*/
void platformCallBack(PlatformCallBackFormDTO formDTO);
+
+ /**
+ * @Description 查询巡查期间的立项数
+ * @Param formDTO
+ * @author zxc
+ * @date 2021/7/1 10:16 上午
+ */
+ Integer selectPatrolProject(PatrolProjectFormDTO formDTO);
}
\ No newline at end of file
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
index 2c1f91bc3b..953104da7b 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
@@ -2694,4 +2694,15 @@ public class ProjectServiceImpl extends BaseServiceImpl
+
+
+ SELECT
+ COUNT(1)
+ FROM
+ project
+ WHERE DEL_FLAG = '0'
+ AND CREATED_TIME BETWEEN #{patrolStartTime} AND #{patrolEndTime}
+ AND ORIGIN = 'agency'
+ AND CREATED_BY = #{userId}
+
+
\ No newline at end of file
From 05b972456dbf6afc64e45c7e911670fab155ab57 Mon Sep 17 00:00:00 2001
From: jianjun
Date: Thu, 1 Jul 2021 10:50:35 +0800
Subject: [PATCH 32/80] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../extract/biz/impl/BizDataStatsServiceImpl.java | 1 +
.../epmet/service/user/impl/StatsStaffPatrolServiceImpl.java | 1 -
.../src/main/resources/mapper/user/UserDao.xml | 2 +-
3 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java
index ad796d528c..151b376e4e 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java
@@ -68,6 +68,7 @@ public class BizDataStatsServiceImpl implements BizDataStatsService {
gridStaff.setTotalTime(NumConstant.ZERO);
gridStaff.setPatrolTotal(NumConstant.ZERO);
gridStaff.setLatestPatrolStatus("end");
+ gridStaff.setReportProjectCount(NumConstant.ZERO);
//最后巡查时间
gridStaff.setLatestPatrolTime(null);
if (recordDailyDTO != null) {
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/StatsStaffPatrolServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/StatsStaffPatrolServiceImpl.java
index a4004de4d0..0a08ff7908 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/StatsStaffPatrolServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/StatsStaffPatrolServiceImpl.java
@@ -26,7 +26,6 @@ public class StatsStaffPatrolServiceImpl implements StatsStaffPatrolService {
@Override
public Integer insertBatch(List insertList) {
- System.out.println("=====:"+JSON.toJSONString(insertList));
return statsStaffPatrolRecordDailyDao.insertBatch(insertList);
}
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml
index 578d20590a..3babf9e21e 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml
@@ -591,7 +591,7 @@
t.PATROL_START_TIME latestPatrolTime,
t.STATUS latestPatrolStatus
FROM
- ( SELECT GRID, STAFF_ID, max( CREATED_TIME ) AS CREATED_TIME FROM staff_patrol_record GROUP BY GRID, STAFF_ID ) a
+ ( SELECT DEL_FLAG,CUSTOMER_ID,GRID, STAFF_ID, max( CREATED_TIME ) AS CREATED_TIME FROM staff_patrol_record GROUP BY GRID, STAFF_ID ) a
LEFT JOIN staff_patrol_record t ON t.GRID = a.GRID
AND t.STAFF_ID = a.STAFF_ID
AND t.CREATED_TIME = a.CREATED_TIME
From 3985d96e5d842584626acc2a39887339c0f59539 Mon Sep 17 00:00:00 2001
From: zxc <1272811460@qq.com>
Date: Thu, 1 Jul 2021 10:52:29 +0800
Subject: [PATCH 33/80] =?UTF-8?q?=E5=B7=A1=E6=9F=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../dao/StatsStaffPatrolRecordDailyDao.java | 23 ++++-
.../impl/StaffPatrolRecordServiceImpl.java | 89 +++++++++++++++++-
.../java/com/epmet/util/DimIdGenerator.java | 91 +++++++++++++++++++
.../mapper/StatsStaffPatrolRecordDailyDao.xml | 27 +++++-
4 files changed, 224 insertions(+), 6 deletions(-)
create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/util/DimIdGenerator.java
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StatsStaffPatrolRecordDailyDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StatsStaffPatrolRecordDailyDao.java
index ac7ea8b7da..1abb137809 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StatsStaffPatrolRecordDailyDao.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StatsStaffPatrolRecordDailyDao.java
@@ -22,6 +22,8 @@ import com.epmet.entity.StatsStaffPatrolRecordDailyEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
+import java.util.Date;
+
/**
* [天]工作人员巡查记录统计
*
@@ -38,6 +40,25 @@ public interface StatsStaffPatrolRecordDailyDao extends BaseDao patrolProject = govProjectOpenFeignClient.selectPatrolProject(formDTO);
+ if (!patrolProject.success()){
+ throw new RenException("查询巡查期间立项数失败【"+patrolProject.getInternalMsg()+"】");
+ }
+ Integer data = patrolProject.getData();
+ statsStaffPatrolRecordDailyDao.updateStatsRecordEnd(userId,totalTime,data,dateId);
}
/**
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/util/DimIdGenerator.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/util/DimIdGenerator.java
new file mode 100644
index 0000000000..35e1f6d99b
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/util/DimIdGenerator.java
@@ -0,0 +1,91 @@
+package com.epmet.util;
+
+import com.epmet.commons.tools.utils.DateUtils;
+import lombok.Data;
+
+import java.util.Calendar;
+import java.util.Date;
+
+public class DimIdGenerator {
+
+ /**
+ * 生成日期维度ID
+ * @param targetDate
+ * @return
+ */
+ public static String getDateDimId(Date targetDate) {
+ return DateUtils.format(targetDate, DateUtils.DATE_PATTERN_YYYYMMDD);
+ }
+
+ /**
+ * 获取月维度ID
+ * @param date
+ * @return
+ */
+ public static String getMonthDimId(Date date) {
+ return DateUtils.format(date, DateUtils.DATE_PATTERN_YYYYMM);
+ }
+
+ /**
+ * 获取周维度ID ,每周的星期一为 周的开始
+ * @param date
+ * @return
+ */
+ public static String getWeekDimId(Date date) {
+ String yyyy = DateUtils.format(date, DateUtils.DATE_PATTERN_YYYY);
+ Calendar calendar = Calendar.getInstance();
+ calendar.setFirstDayOfWeek(Calendar.MONDAY);
+ calendar.setTime(date);
+ return yyyy.concat("W").concat(calendar.get(Calendar.WEEK_OF_YEAR)+"");
+ }
+
+ /**
+ * 获取季度维度ID
+ * @param date
+ * @return
+ */
+ public static String getQuarterDimId(Date date) {
+ String yyyy = DateUtils.format(date, DateUtils.DATE_PATTERN_YYYY);
+ return yyyy.concat("Q").concat(DateUtils.getQuarterIndex(date) + "");
+ }
+
+ /**
+ * 获取年维度ID
+ * @param date
+ * @return
+ */
+ public static String getYearDimId(Date date) {
+ return DateUtils.format(date, DateUtils.DATE_PATTERN_YYYY);
+ }
+
+ /**
+ * 获取封装了所有ID的对象
+ * @return
+ */
+ public static DimIdBean getDimIdBean(Date date) {
+ DimIdBean dimIdBean = new DimIdBean();
+ dimIdBean.setDateId(getDateDimId(date));
+ dimIdBean.setMonthId(getMonthDimId(date));
+ dimIdBean.setWeekId(getWeekDimId(date));
+ dimIdBean.setQuarterId(getQuarterDimId(date));
+ dimIdBean.setYearId(getYearDimId(date));
+ return dimIdBean;
+ }
+
+ public static void main(String[] args) {
+ DimIdBean dimIdBean = getDimIdBean(DateUtils.stringToDate("2020-06-14",DateUtils.DATE_PATTERN));
+ System.out.println(dimIdBean);
+ }
+
+ @Data
+ public static class DimIdBean {
+ private String dateId;
+ private String monthId;
+ private String quarterId;
+ private String yearId;
+ private String weekId;
+
+ public DimIdBean() {
+ }
+ }
+}
diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/StatsStaffPatrolRecordDailyDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/StatsStaffPatrolRecordDailyDao.xml
index 3c51b767fb..734e25a847 100644
--- a/epmet-user/epmet-user-server/src/main/resources/mapper/StatsStaffPatrolRecordDailyDao.xml
+++ b/epmet-user/epmet-user-server/src/main/resources/mapper/StatsStaffPatrolRecordDailyDao.xml
@@ -3,10 +3,33 @@
+
+
+ update stats_staff_patrol_record_daily
+ set LATEST_PATROL_TIME = #{patrolStartTime},
+ LATEST_PATROL_STATUS = 'patrolling',
+ UPDATED_TIME = NOW()
+ where DEL_FLAG = 0
+ and ID = #{id}
+
+
+
+
+ update stats_staff_patrol_record_daily
+ SET TOTAL_TIME = (TOTAL_TIME + #{totalTime}),
+ PATROL_TOTAL = (PATROL_TOTAL + 1),
+ REPORT_PROJECT_COUNT = (REPORT_PROJECT_COUNT + #{projectCount}),
+ LATEST_PATROL_STATUS = 'end',
+ UPDATED_TIME = NOW()
+ WHERE DEL_FLAG = 0
+ AND STAFF_ID = #{userId}
+ AND DATE_ID = #{dateId}
+
+
-
+
SELECT
- COUNT(1)
+ ID
FROM
stats_staff_patrol_record_daily
WHERE
From ded4170c888f44743e76092c21e1607173e42082 Mon Sep 17 00:00:00 2001
From: zxc <1272811460@qq.com>
Date: Thu, 1 Jul 2021 11:08:25 +0800
Subject: [PATCH 34/80] ..
---
.../com/epmet/dao/StatsStaffPatrolRecordDailyDao.java | 4 ++--
.../epmet/service/impl/StaffPatrolRecordServiceImpl.java | 8 ++++----
.../resources/mapper/StatsStaffPatrolRecordDailyDao.xml | 2 ++
3 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StatsStaffPatrolRecordDailyDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StatsStaffPatrolRecordDailyDao.java
index 1abb137809..458a171d00 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StatsStaffPatrolRecordDailyDao.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StatsStaffPatrolRecordDailyDao.java
@@ -40,7 +40,7 @@ public interface StatsStaffPatrolRecordDailyDao extends BaseDao
@@ -36,6 +37,7 @@
DEL_FLAG = 0
AND DATE_ID = #{dateId}
AND STAFF_ID = #{staffId}
+ AND GRID_ID = #{gridId}
\ No newline at end of file
From ab0fe9ddaddbf4fb9c085772e69b1d2356f6d19f Mon Sep 17 00:00:00 2001
From: jianjun
Date: Fri, 2 Jul 2021 08:59:07 +0800
Subject: [PATCH 35/80] =?UTF-8?q?=E7=BD=91=E6=A0=BC=E5=91=98=E5=B7=A1?=
=?UTF-8?q?=E6=9F=A5=E7=BB=9F=E8=AE=A1=E5=88=9D=E5=A7=8B=E5=8C=96=E5=87=A0?=
=?UTF-8?q?=E9=87=8D=E6=96=B0=E8=AE=A1=E7=AE=97=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../java/io/renren/GeneratorApplication.java | 1 -
.../extract/form/StaffPatrolStatsFormDTO.java | 5 +-
.../dto/user/result/CustomerGridStaffDTO.java | 61 ++++++
.../user/result/StaffPatrolRecordResult.java | 122 +++++++++++
.../controller/BizDataStatsController.java | 2 +-
.../epmet/dao/org/CustomerStaffGridDao.java | 4 +-
.../com/epmet/dao/project/ProjectDao.java | 63 +++---
.../user/StatsStaffPatrolRecordDailyDao.java | 3 +
.../main/java/com/epmet/dao/user/UserDao.java | 3 +
.../extract/biz/BizDataStatsService.java | 3 +-
.../biz/impl/BizDataStatsServiceImpl.java | 196 ++++++++++++++----
.../service/org/CustomerStaffService.java | 4 +-
.../org/impl/CustomerStaffServiceImpl.java | 4 +-
.../epmet/service/project/ProjectService.java | 1 +
.../project/impl/ProjectServiceImpl.java | 5 +
.../service/user/StatsStaffPatrolService.java | 5 +-
.../com/epmet/service/user/UserService.java | 3 +
.../impl/StatsStaffPatrolServiceImpl.java | 30 ++-
.../service/user/impl/UserServiceImpl.java | 8 +-
.../mapper/org/CustomerStaffGridDao.xml | 40 ++--
.../resources/mapper/project/ProjectDao.xml | 7 +
.../user/StatsStaffPatrolRecordDailyDao.xml | 11 +
.../main/resources/mapper/user/UserDao.xml | 11 +-
23 files changed, 494 insertions(+), 98 deletions(-)
create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/CustomerGridStaffDTO.java
create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/StaffPatrolRecordResult.java
diff --git a/epmet-cloud-generator/src/main/java/io/renren/GeneratorApplication.java b/epmet-cloud-generator/src/main/java/io/renren/GeneratorApplication.java
index caad8b0869..14d4210afa 100644
--- a/epmet-cloud-generator/src/main/java/io/renren/GeneratorApplication.java
+++ b/epmet-cloud-generator/src/main/java/io/renren/GeneratorApplication.java
@@ -2,7 +2,6 @@ package io.renren;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-
@SpringBootApplication
public class GeneratorApplication {
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/StaffPatrolStatsFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/StaffPatrolStatsFormDTO.java
index 252162a682..a3386e6e37 100644
--- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/StaffPatrolStatsFormDTO.java
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/StaffPatrolStatsFormDTO.java
@@ -18,5 +18,8 @@ public class StaffPatrolStatsFormDTO implements Serializable {
private String dateId;
private String staffId;
private String gridId;
- private String roleType;
+ /**
+ * 角色key
+ */
+ private String roleKey;
}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/CustomerGridStaffDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/CustomerGridStaffDTO.java
new file mode 100644
index 0000000000..defbb16696
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/CustomerGridStaffDTO.java
@@ -0,0 +1,61 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dto.user.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+/**
+ * 政府工作人员表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-04-18
+ */
+@Data
+public class CustomerGridStaffDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 客户id
+ */
+ private String customerId;
+
+ /**
+ * 网格id
+ */
+ private String gridId;
+
+ /**
+ * 网格所属组织id
+ */
+ private String agencyId;
+
+ /**
+ * 网格所属的所有组织id
+ */
+ private String gridPids;
+
+ /**
+ * 关联User表的主键Id
+ */
+ private String userId;
+
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/StaffPatrolRecordResult.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/StaffPatrolRecordResult.java
new file mode 100644
index 0000000000..7239e34792
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/StaffPatrolRecordResult.java
@@ -0,0 +1,122 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dto.user.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+/**
+ * 工作人员巡查主记录
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-06-07
+ */
+@Data
+public class StaffPatrolRecordResult implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ private String id;
+
+ /**
+ * 客户Id
+ */
+ private String customerId;
+
+ /**
+ * 网格id
+ */
+ private String grid;
+
+ /**
+ * 网格所有上级id
+ */
+ private String gridPids;
+
+ /**
+ * 工作人员用户id
+ */
+ private String staffId;
+
+ /**
+ * 工作人员所属组织id=网格所属的组织id
+ */
+ private String agencyId;
+
+ /**
+ * 巡查开始时间
+ */
+ private Date patrolStartTime;
+
+ /**
+ * 巡查结束时间,前端传入
+ */
+ private Date patrolEndTime;
+
+ /**
+ * 实际结束时间=操作结束巡查的时间
+ */
+ private Date actrualEndTime;
+
+ /**
+ * 本次巡查总耗时,单位秒;结束巡查时写入
+ */
+ private Integer totalTime;
+
+ /**
+ * 正在巡查中:patrolling;结束:end
+ */
+ private String status;
+
+ /**
+ * 删除标识 0.未删除 1.已删除
+ */
+ private Integer delFlag;
+
+ /**
+ * 乐观锁
+ */
+ private Integer revision;
+
+ /**
+ * 创建人
+ */
+ private String createdBy;
+
+ /**
+ * 创建时间
+ */
+ private Date createdTime;
+
+ /**
+ * 更新人
+ */
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+
+}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/BizDataStatsController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/BizDataStatsController.java
index 94e30fb994..5910f13386 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/BizDataStatsController.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/BizDataStatsController.java
@@ -29,7 +29,7 @@ public class BizDataStatsController {
**/
@RequestMapping("patrol")
public Result execute(@RequestBody StaffPatrolStatsFormDTO formDTO) {
- bizDataStatsService.initStaffPatrolStats(formDTO);
+ bizDataStatsService.executeStaffPatrolStats(formDTO);
return new Result();
}
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/org/CustomerStaffGridDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/org/CustomerStaffGridDao.java
index 171f45db3c..20e3c6310a 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/org/CustomerStaffGridDao.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/org/CustomerStaffGridDao.java
@@ -19,7 +19,7 @@ package com.epmet.dao.org;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
-import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO;
+import com.epmet.dto.user.result.CustomerGridStaffDTO;
import com.epmet.entity.org.CustomerStaffGridEntity;
import org.apache.ibatis.annotations.Mapper;
@@ -34,5 +34,5 @@ import java.util.List;
@Mapper
public interface CustomerStaffGridDao extends BaseDao {
- List selectGridStaffList(StaffPatrolStatsFormDTO formDTO);
+ List selectGridStaffList(StaffPatrolStatsFormDTO formDTO);
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java
index 44e47f6f92..c4047cb0b3 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java
@@ -18,16 +18,12 @@
package com.epmet.dao.project;
import com.epmet.commons.mybatis.dao.BaseDao;
-import com.epmet.dto.CustomerProjectParameterDTO;
import com.epmet.dto.ProjectDTO;
-import com.epmet.dto.ProjectSatisfactionStatisticsDTO;
import com.epmet.dto.project.ProjectAgencyDTO;
import com.epmet.dto.project.ProjectCategoryDTO;
import com.epmet.dto.project.ProjectGridDTO;
import com.epmet.dto.project.ProjectPointDTO;
import com.epmet.dto.project.result.ProjectExceedParamsResultDTO;
-import com.epmet.dto.screen.ScreenProjectProcessAttachmentDTO;
-import com.epmet.entity.evaluationindex.extract.FactOriginProjectMainDailyEntity;
import com.epmet.entity.project.ProjectEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -52,110 +48,119 @@ public interface ProjectDao extends BaseDao {
/**
* 已结案项目统计
- * @author zhaoqifeng
- * @date 2020/6/18 17:01
+ *
* @param customerId
* @param date
* @return java.util.List
+ * @author zhaoqifeng
+ * @date 2020/6/18 17:01
*/
List selectAgencyClosedProjectTotal(@Param("customerId") String customerId, @Param("date") String date);
/**
* 已结案项目增量
- * @author zhaoqifeng
- * @date 2020/6/18 17:01
+ *
* @param customerId
* @param date
* @return java.util.List
+ * @author zhaoqifeng
+ * @date 2020/6/18 17:01
*/
List selectAgencyClosedProjectInc(@Param("customerId") String customerId, @Param("date") String date);
/**
* 已结案项目统计
- * @author zhaoqifeng
- * @date 2020/6/18 17:01
+ *
* @param customerId
* @param date
* @return java.util.List
+ * @author zhaoqifeng
+ * @date 2020/6/18 17:01
*/
List selectGridClosedProjectTotal(@Param("customerId") String customerId, @Param("date") String date);
/**
* 已结案项目增量
- * @author zhaoqifeng
- * @date 2020/6/18 17:01
+ *
* @param customerId
* @param date
* @return java.util.List
+ * @author zhaoqifeng
+ * @date 2020/6/18 17:01
*/
List selectGridClosedProjectInc(@Param("customerId") String customerId, @Param("date") String date);
/**
* 获取项目信息
- * @author zhaoqifeng
- * @date 2020/9/15 16:13
+ *
* @param customerId
* @param date
* @return java.util.List
+ * @author zhaoqifeng
+ * @date 2020/9/15 16:13
*/
List selectProjectInfo(@Param("customerId") String customerId, @Param("date") String date);
/**
* 获取用户可滞留天数
- * @author zhaoqifeng
- * @date 2020/9/28 10:16
+ *
* @param customerId
* @return java.lang.String
+ * @author zhaoqifeng
+ * @date 2020/9/28 10:16
*/
String selectParameterValueByKey(@Param("customerId") String customerId);
/**
- * @Description 查找客户项目超期参数
- *
* @param customerId
* @return java.util.List
+ * @Description 查找客户项目超期参数
* @author wangc
* @date 2021.03.05 17:52
- */
+ */
List selectProjectExceedParams(@Param("customerId") String customerId);
/**
- * @Description 批量查询项目信息
* @param ids
* @return java.util.List
+ * @Description 批量查询项目信息
* @author wangc
* @date 2021.03.08 10:32
- */
- List batchSelectProjectInfo(@Param("ids")List ids);
+ */
+ List batchSelectProjectInfo(@Param("ids") List ids);
/**
- * @Description 查询项目的分类信息
* @param list
* @return java.util.List
+ * @Description 查询项目的分类信息
* @author wangc
* @date 2021.03.08 23:44
- */
- List selectProjectCategory(@Param("list")List list);
+ */
+ List selectProjectCategory(@Param("list") List list);
List getProjectCategoryData(@Param("customerId") String customerId, @Param("dateId") String dateId);
/**
* 获取项目满意度
- * @author zhaoqifeng
- * @date 2021/5/21 10:06
+ *
* @param customerId
* @return java.util.List
+ * @author zhaoqifeng
+ * @date 2021/5/21 10:06
*/
List selectProjectSatisfaction(@Param("customerId") String customerId);
/**
* 根据key查找value
- * @author zhaoqifeng
- * @date 2021/5/21 10:58
+ *
* @param customerId
* @param parameterKey
* @return java.lang.String
+ * @author zhaoqifeng
+ * @date 2021/5/21 10:58
*/
String selectValueByKey(@Param("customerId") String customerId, @Param("parameterKey") String parameterKey);
+
+ List selectProjectListByDateId(@Param("customerId") String customerId, @Param("dateId") String dateId, @Param("projectOrigin") String projectOrigin);
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/StatsStaffPatrolRecordDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/StatsStaffPatrolRecordDailyDao.java
index 60176314f3..1a25f9cfdf 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/StatsStaffPatrolRecordDailyDao.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/StatsStaffPatrolRecordDailyDao.java
@@ -18,6 +18,7 @@
package com.epmet.dao.user;
import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO;
import com.epmet.entity.user.StatsStaffPatrolRecordDailyEntity;
import org.apache.ibatis.annotations.Mapper;
@@ -35,4 +36,6 @@ import java.util.List;
public interface StatsStaffPatrolRecordDailyDao extends BaseDao {
Integer insertBatch(@Param("list") List insertList);
+
+ int delete(StaffPatrolStatsFormDTO formDTO);
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/UserDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/UserDao.java
index 608fe55e3f..3c278bc523 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/UserDao.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/UserDao.java
@@ -6,6 +6,7 @@ import com.epmet.dto.extract.result.UserPartyResultDTO;
import com.epmet.dto.screen.ScreenProjectDataDTO;
import com.epmet.dto.user.result.CommonTotalAndIncCountResultDTO;
import com.epmet.dto.user.result.CustomerStaffDTO;
+import com.epmet.dto.user.result.StaffPatrolRecordResult;
import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO;
import com.epmet.entity.evaluationindex.screen.ScreenPartyUserRankDataEntity;
import org.apache.ibatis.annotations.Mapper;
@@ -174,5 +175,7 @@ public interface UserDao {
List selectUserByRoleKey(StaffPatrolStatsFormDTO formDTO);
List selectLastStaffPatrolList(StaffPatrolStatsFormDTO formDTO);
+
+ List selectStaffPatrolListByDateId(@Param("customerId") String customerId, @Param("dateId") String dateId);
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/BizDataStatsService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/BizDataStatsService.java
index c644f2393e..8bff5118b7 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/BizDataStatsService.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/BizDataStatsService.java
@@ -27,5 +27,6 @@ import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
*/
public interface BizDataStatsService {
- void initStaffPatrolStats(StaffPatrolStatsFormDTO formDTO);
+ void executeStaffPatrolStats(StaffPatrolStatsFormDTO formDTO);
+
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java
index 151b376e4e..8ff799cd87 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java
@@ -1,15 +1,26 @@
package com.epmet.service.evaluationindex.extract.biz.impl;
+import com.alibaba.fastjson.JSON;
import com.epmet.commons.tools.constant.NumConstant;
+import com.epmet.commons.tools.utils.ConvertUtils;
+import com.epmet.commons.tools.utils.DateUtils;
+import com.epmet.constant.ProjectConstant;
+import com.epmet.dto.ProjectDTO;
import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
+import com.epmet.dto.user.result.CustomerGridStaffDTO;
import com.epmet.dto.user.result.CustomerStaffDTO;
+import com.epmet.dto.user.result.StaffPatrolRecordResult;
import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO;
+import com.epmet.entity.user.StatsStaffPatrolRecordDailyEntity;
import com.epmet.service.evaluationindex.extract.biz.BizDataStatsService;
import com.epmet.service.org.CustomerStaffService;
+import com.epmet.service.project.ProjectService;
import com.epmet.service.user.StatsStaffPatrolService;
import com.epmet.service.user.UserService;
import com.epmet.util.DimIdGenerator;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
+import org.jetbrains.annotations.Nullable;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -34,55 +45,168 @@ public class BizDataStatsServiceImpl implements BizDataStatsService {
@Autowired
private UserService userService;
@Autowired
+ private ProjectService projectService;
+ @Autowired
private StatsStaffPatrolService statsStaffPatrolService;
@Override
- public void initStaffPatrolStats(StaffPatrolStatsFormDTO formDTO) {
- //获取所有的网格员
- //1.获取所有网格用户
- List allStaffList = customerStaffService.selectStaffGridList(formDTO);
- /* if (CollectionUtils.isEmpty(allStaffList)){
- log.warn("reloadStaffPatrolStats customerId:{} have any staff,param:{}",formDTO.getCustomerId(), JSON.toJSONString(formDTO));
- return
- }*/
- //获取所有含有网格员角色的用户
- List gridMemberList = userService.selectUserListByRoleKey(formDTO);
- /*if (CollectionUtils.isEmpty(gridMemberList)){
- log.warn("reloadStaffPatrolStats customerId:{} have any gridMembers,param:{}",formDTO.getCustomerId(), JSON.toJSONString(formDTO));
- return
- }*/
+ public void executeStaffPatrolStats(StaffPatrolStatsFormDTO formDTO) {
+ //校正数据
+ //获取所有网格员
+ List allGridMembers = getAllGridMembers(formDTO);
+ reloadStaffPatrolStatsData(formDTO, allGridMembers);
+
+ //初始化今天的数据
+ initStaffPatrolTodayData(formDTO, allGridMembers);
+
+ }
+
+ private void reloadStaffPatrolStatsData(StaffPatrolStatsFormDTO formDTO, List allGridMembers) {
+ //获取昨日的巡查统计记录
+ String yesterdayStr = getYesterdayString(formDTO);
+ List yesterdayStatsList = statsStaffPatrolService.selectData(formDTO.getCustomerId(), yesterdayStr);
+ if (CollectionUtils.isEmpty(yesterdayStatsList)) {
+ log.warn("reloadStaffPatrolStatsData have any yesterdayStats data,dateId:{}", yesterdayStr);
+ return;
+ }
+ Map yesterdayStatsMap = yesterdayStatsList.stream().collect(Collectors.toMap(o -> o.getGridId() + o.getStaffId(), o -> o, (o1, o2) -> o1));
+ //获取昨日的巡查记录
+ List yesterdayPatrolList = userService.selectStaffPatrolListByDateId(formDTO.getCustomerId(), yesterdayStr);
+
+ //获取昨日的立项项目数
+ List yesterdayProjectList = projectService.selectProjectListByDateId(formDTO.getCustomerId(), yesterdayStr, ProjectConstant.PROJECT_ORIGIN_AGENCY);
+
+ //遍历网格员 设置其 巡查次数 巡查时常 上报项目数
+ Map gridMemberMap = allGridMembers.stream().collect(Collectors.toMap(o -> o.getGridId() + o.getUserId(), o -> o, (o1, o2) -> o1));
+ List updateList = new ArrayList<>();
+ yesterdayPatrolList.forEach(patrolRecord -> {
+ String key = patrolRecord.getGrid().concat(patrolRecord.getStaffId());
+ StatsStaffPatrolRecordDailyDTO patrolRecordDailyDTO = yesterdayStatsMap.get(key);
+ if (patrolRecordDailyDTO != null) {
+ long total = (patrolRecord.getActrualEndTime().getTime() - patrolRecord.getPatrolStartTime().getTime()) / 1000;
+ if (patrolRecordDailyDTO.getTotalTime() == null) {
+ patrolRecordDailyDTO.setTotalTime(NumConstant.ZERO);
+ }
+ patrolRecordDailyDTO.setTotalTime(patrolRecordDailyDTO.getTotalTime() + (int) total);
+ if (patrolRecordDailyDTO.getPatrolTotal() == null) {
+ patrolRecordDailyDTO.setPatrolTotal(NumConstant.ZERO);
+ }
+ patrolRecordDailyDTO.setPatrolTotal(patrolRecordDailyDTO.getPatrolTotal() + NumConstant.ONE);
+ //如果巡查记录时间小于统计里的最新的时间 则更新
+ if (patrolRecordDailyDTO.getLatestPatrolTime() == null || patrolRecordDailyDTO.getLatestPatrolTime().getTime() < patrolRecord.getPatrolStartTime().getTime()) {
+ patrolRecordDailyDTO.setLatestPatrolTime(patrolRecord.getPatrolStartTime());
+ patrolRecordDailyDTO.setLatestPatrolStatus(patrolRecord.getStatus());
+ }
+ }
+ });
+ //填充项目数
+ yesterdayProjectList.forEach(projectDTO -> {
+ String key = projectDTO.getCreatedBy();
+
+ yesterdayPatrolList.forEach(patrol -> {
+ //项目立项时间 在巡查期间时 总数加1
+ long projectCreateTime = projectDTO.getCreatedTime().getTime();
+ if (patrol.getPatrolStartTime().getTime() >= projectCreateTime && patrol.getPatrolStartTime().getTime() >= projectCreateTime) {
+ String unqPatrolKey = getUnqPatrolKey(patrol.getGrid(), patrol.getStaffId());
+ StatsStaffPatrolRecordDailyDTO recordDailyDTO = yesterdayStatsMap.get(unqPatrolKey);
+ if (recordDailyDTO == null) {
+ log.error("have project data but have any patrolRecordDaily,gridId:{},staffId:{}", patrol.getGrid(), patrol.getStaffId());
+ return;
+ }
+ recordDailyDTO.setReportProjectCount(recordDailyDTO.getReportProjectCount() + 1);
+ }
+ });
+ });
+ StaffPatrolStatsFormDTO yesterdayParam = ConvertUtils.sourceToTarget(formDTO, StaffPatrolStatsFormDTO.class);
+ yesterdayParam.setDateId(yesterdayStr);
+ Integer effectRow = statsStaffPatrolService.delAndInsertBatch(yesterdayParam, yesterdayStatsList);
+ log.debug("initStaffPatrolStats insert rows:{}", effectRow);
+ }
+
+ /**
+ * desc: 获取key
+ *
+ * @param gridId
+ * @param staffId
+ * @return java.lang.String
+ * @author LiuJanJun
+ * @date 2021/7/2 8:32 上午
+ */
+ private String getUnqPatrolKey(String gridId, String staffId) {
+ return gridId.concat(staffId);
+ }
+
+
+ @Nullable
+ private String getYesterdayString(StaffPatrolStatsFormDTO formDTO) {
+ Date dateParam = DateUtils.parse(formDTO.getDateId(), DateUtils.DATE_PATTERN_YYYYMMDD);
+ Date yesterdayDate = DateUtils.addDateDays(dateParam, -1);
+ return DateUtils.format(yesterdayDate, DateUtils.DATE_PATTERN_YYYYMMDD);
+ }
+
+ private void initStaffPatrolTodayData(StaffPatrolStatsFormDTO formDTO, List allGridMembers) {
+
List lastStaffPatrolList = userService.selectLastStaffPatrolList(formDTO);
Map lastPatrolMap = lastStaffPatrolList.stream().collect(Collectors.toMap(o -> o.getGridId() + o.getStaffId(), o -> o, (o1, o2) -> o1));
//构建数据 插入
List insertList = new ArrayList<>();
- DimIdGenerator.DimIdBean dimIdBean = DimIdGenerator.getDimIdBean(new Date());
- allStaffList.forEach(gridStaff -> {
- gridStaff.setDateId(dimIdBean.getDateId());
- gridStaff.setWeekId(dimIdBean.getWeekId());
- gridStaff.setQuarterId(dimIdBean.getQuarterId());
- gridStaff.setYearId(dimIdBean.getYearId());
- gridStaff.setMonthId(dimIdBean.getMonthId());
- StatsStaffPatrolRecordDailyDTO recordDailyDTO = lastPatrolMap.get(gridStaff.getGridId().concat(gridStaff.getStaffId()));
-
- gridStaff.setTotalTime(NumConstant.ZERO);
- gridStaff.setPatrolTotal(NumConstant.ZERO);
- gridStaff.setLatestPatrolStatus("end");
- gridStaff.setReportProjectCount(NumConstant.ZERO);
+ Date date = DateUtils.parse(formDTO.getDateId(), DateUtils.DATE_PATTERN_YYYYMMDD);
+ DimIdGenerator.DimIdBean dimIdBean = DimIdGenerator.getDimIdBean(date);
+ allGridMembers.forEach(gridMember -> {
+ StatsStaffPatrolRecordDailyDTO record = new StatsStaffPatrolRecordDailyDTO();
+ record.setCustomerId(gridMember.getCustomerId());
+ record.setGridId(gridMember.getGridId());
+ record.setAgencyId(gridMember.getAgencyId());
+ record.setGridPids(gridMember.getGridPids());
+ record.setStaffId(gridMember.getUserId());
+ record.setDateId(dimIdBean.getDateId());
+ record.setWeekId(dimIdBean.getWeekId());
+ record.setQuarterId(dimIdBean.getQuarterId());
+ record.setYearId(dimIdBean.getYearId());
+ record.setMonthId(dimIdBean.getMonthId());
+ StatsStaffPatrolRecordDailyDTO recordDailyDTO = lastPatrolMap.get(gridMember.getGridId().concat(gridMember.getUserId()));
+
+ record.setTotalTime(NumConstant.ZERO);
+ record.setPatrolTotal(NumConstant.ZERO);
+ record.setLatestPatrolStatus("end");
+ record.setReportProjectCount(NumConstant.ZERO);
//最后巡查时间
- gridStaff.setLatestPatrolTime(null);
+ record.setLatestPatrolTime(null);
if (recordDailyDTO != null) {
- gridStaff.setLatestPatrolStatus(recordDailyDTO.getLatestPatrolStatus());
- gridStaff.setLatestPatrolTime(recordDailyDTO.getLatestPatrolTime());
+ record.setLatestPatrolStatus(recordDailyDTO.getLatestPatrolStatus());
+ record.setLatestPatrolTime(recordDailyDTO.getLatestPatrolTime());
}
- gridMemberList.forEach(gridMember -> {
- if (gridStaff.getStaffId().equals(gridMember.getUserId())) {
- insertList.add(gridStaff);
- }
- });
+ insertList.add(record);
+
});
- Integer effectRow = statsStaffPatrolService.insertBatch(insertList);
+ Integer effectRow = statsStaffPatrolService.delAndInsertBatch(formDTO, insertList);
log.debug("initStaffPatrolStats insert rows:{}", effectRow);
}
+
+ private List getAllGridMembers(StaffPatrolStatsFormDTO formDTO) {
+ //获取所有的网格员
+ //1.获取所有网格用户
+ List allStaffList = customerStaffService.selectStaffGridList(formDTO);
+ if (CollectionUtils.isEmpty(allStaffList)) {
+ log.warn("reloadStaffPatrolStats customerId:{} have any staff,param:{}", formDTO.getCustomerId(), JSON.toJSONString(formDTO));
+ return allStaffList;
+ }
+ //获取所有含有网格员角色的用户
+ List gridMemberList = userService.selectUserListByRoleKey(formDTO);
+ if (CollectionUtils.isEmpty(gridMemberList)) {
+ log.warn("reloadStaffPatrolStats customerId:{} have any gridMembers,param:{}", formDTO.getCustomerId(), JSON.toJSONString(formDTO));
+ return allStaffList;
+ }
+ List insertList = new ArrayList<>();
+
+ allStaffList.forEach(gridStaff -> gridMemberList.forEach(gridMember -> {
+ if (gridStaff.getUserId().equals(gridMember.getUserId())) {
+ insertList.add(gridStaff);
+ }
+ }));
+ log.debug("getAllGridMembers result:{},param:{}", JSON.toJSONString(insertList), JSON.toJSONString(formDTO));
+ return insertList;
+ }
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/CustomerStaffService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/CustomerStaffService.java
index f498bbfe9c..6f03097838 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/CustomerStaffService.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/CustomerStaffService.java
@@ -1,7 +1,7 @@
package com.epmet.service.org;
import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
-import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO;
+import com.epmet.dto.user.result.CustomerGridStaffDTO;
import java.util.List;
@@ -18,5 +18,5 @@ public interface CustomerStaffService {
* @author LiuJanJun
* @date 2021/6/29 3:13 下午
*/
- List selectStaffGridList(StaffPatrolStatsFormDTO formDTO);
+ List selectStaffGridList(StaffPatrolStatsFormDTO formDTO);
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/CustomerStaffServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/CustomerStaffServiceImpl.java
index fc11765d10..fba61dd8bf 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/CustomerStaffServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/CustomerStaffServiceImpl.java
@@ -4,7 +4,7 @@ import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.constant.DataSourceConstant;
import com.epmet.dao.org.CustomerStaffGridDao;
import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
-import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO;
+import com.epmet.dto.user.result.CustomerGridStaffDTO;
import com.epmet.service.org.CustomerStaffService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -33,7 +33,7 @@ public class CustomerStaffServiceImpl implements CustomerStaffService {
* @date 2021/6/29 3:13 下午
*/
@Override
- public List selectStaffGridList(StaffPatrolStatsFormDTO formDTO) {
+ public List selectStaffGridList(StaffPatrolStatsFormDTO formDTO) {
return customerStaffGridDao.selectGridStaffList(formDTO);
}
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java
index 36c3ebd05b..db9a4add14 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java
@@ -162,4 +162,5 @@ public interface ProjectService extends BaseService {
*/
List getProjectSatisfaction(String customerId);
+ List selectProjectListByDateId(String customerId, String yesterdayStr, String projectOriginAgency);
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java
index 3581f920b1..f7aa9d8754 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java
@@ -196,5 +196,10 @@ public class ProjectServiceImpl extends BaseServiceImpl selectProjectListByDateId(String customerId, String dateId, String projectOrigin) {
+ return baseDao.selectProjectListByDateId(customerId,dateId,projectOrigin);
+ }
+
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/StatsStaffPatrolService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/StatsStaffPatrolService.java
index 430a46defd..1f1f9cefff 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/StatsStaffPatrolService.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/StatsStaffPatrolService.java
@@ -1,5 +1,6 @@
package com.epmet.service.user;
+import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO;
import java.util.List;
@@ -9,5 +10,7 @@ import java.util.List;
*/
public interface StatsStaffPatrolService {
- Integer insertBatch(List insertList);
+ Integer delAndInsertBatch(StaffPatrolStatsFormDTO formDTO, List insertList);
+
+ List selectData(String customerId, String yesterdayStr);
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/UserService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/UserService.java
index aecbe35158..55e3b5f4fb 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/UserService.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/UserService.java
@@ -7,6 +7,7 @@ import com.epmet.dto.org.result.OrgStaffDTO;
import com.epmet.dto.screen.ScreenProjectDataDTO;
import com.epmet.dto.stats.user.result.UserStatisticalData;
import com.epmet.dto.user.result.CustomerStaffDTO;
+import com.epmet.dto.user.result.StaffPatrolRecordResult;
import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO;
import com.epmet.entity.evaluationindex.screen.ScreenPartyUserRankDataEntity;
import com.epmet.util.DimIdGenerator;
@@ -109,4 +110,6 @@ public interface UserService {
List selectUserListByRoleKey(StaffPatrolStatsFormDTO formDTO);
List selectLastStaffPatrolList(StaffPatrolStatsFormDTO formDTO);
+
+ List selectStaffPatrolListByDateId(String customerId, String yesterdayStr);
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/StatsStaffPatrolServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/StatsStaffPatrolServiceImpl.java
index 0a08ff7908..ca6e9b5988 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/StatsStaffPatrolServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/StatsStaffPatrolServiceImpl.java
@@ -1,11 +1,17 @@
package com.epmet.service.user.impl;
import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
+import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.constant.DataSourceConstant;
import com.epmet.dao.user.StatsStaffPatrolRecordDailyDao;
+import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO;
+import com.epmet.entity.user.StatsStaffPatrolRecordDailyEntity;
import com.epmet.service.user.StatsStaffPatrolService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -18,6 +24,7 @@ import java.util.List;
* @date: 2021/6/30 8:33 上午
* @version: 1.0
*/
+@Slf4j
@DataSource(DataSourceConstant.EPMET_USER)
@Service
public class StatsStaffPatrolServiceImpl implements StatsStaffPatrolService {
@@ -25,7 +32,28 @@ public class StatsStaffPatrolServiceImpl implements StatsStaffPatrolService {
private StatsStaffPatrolRecordDailyDao statsStaffPatrolRecordDailyDao;
@Override
- public Integer insertBatch(List insertList) {
+ public Integer delAndInsertBatch(StaffPatrolStatsFormDTO formDTO, List insertList) {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(StatsStaffPatrolRecordDailyEntity::getCustomerId, formDTO.getCustomerId())
+ .eq(StatsStaffPatrolRecordDailyEntity::getDateId, formDTO.getDateId());
+ if (StringUtils.isNotBlank(formDTO.getGridId())) {
+ queryWrapper.eq(StatsStaffPatrolRecordDailyEntity::getGridId, formDTO.getGridId());
+ }
+ if (StringUtils.isNotBlank(formDTO.getStaffId())) {
+ queryWrapper.eq(StatsStaffPatrolRecordDailyEntity::getStaffId, formDTO.getStaffId());
+ }
+
+ int delete = statsStaffPatrolRecordDailyDao.delete(formDTO);
+ log.debug("delAndInsertBatch delete:{},param:{}", delete, JSON.toJSONString(formDTO));
return statsStaffPatrolRecordDailyDao.insertBatch(insertList);
}
+
+ @Override
+ public List selectData(String customerId, String yesterdayStr) {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(StatsStaffPatrolRecordDailyEntity::getCustomerId, customerId)
+ .eq(StatsStaffPatrolRecordDailyEntity::getDateId, yesterdayStr);
+ List list = statsStaffPatrolRecordDailyDao.selectList(queryWrapper);
+ return ConvertUtils.sourceToTarget(list, StatsStaffPatrolRecordDailyDTO.class);
+ }
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java
index 27ee9b6eb8..725c11d8f4 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java
@@ -18,6 +18,7 @@ import com.epmet.dto.stats.user.*;
import com.epmet.dto.stats.user.result.UserStatisticalData;
import com.epmet.dto.user.result.CommonTotalAndIncCountResultDTO;
import com.epmet.dto.user.result.CustomerStaffDTO;
+import com.epmet.dto.user.result.StaffPatrolRecordResult;
import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO;
import com.epmet.entity.evaluationindex.screen.ScreenPartyUserRankDataEntity;
import com.epmet.service.user.UserService;
@@ -803,7 +804,7 @@ public class UserServiceImpl implements UserService {
@Override
public List selectUserListByRoleKey(StaffPatrolStatsFormDTO formDTO) {
- formDTO.setRoleType(RoleKeyConstants.ROLE_KEY_GRID_MEMBER);
+ formDTO.setRoleKey(RoleKeyConstants.ROLE_KEY_GRID_MEMBER);
return userDao.selectUserByRoleKey(formDTO);
}
@@ -812,4 +813,9 @@ public class UserServiceImpl implements UserService {
return userDao.selectLastStaffPatrolList(formDTO);
}
+ @Override
+ public List selectStaffPatrolListByDateId(String customerId, String yesterdayStr) {
+ return userDao.selectStaffPatrolListByDateId(customerId,yesterdayStr);
+ }
+
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerStaffGridDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerStaffGridDao.xml
index 5e41b9e84d..75b9aa5b40 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerStaffGridDao.xml
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerStaffGridDao.xml
@@ -5,25 +5,27 @@
+
+
+ SELECT * FROM (
+ SELECT
+ sg.customer_id,
+ sg.grid_id,
+ sg.user_id,
+ grid.PID agencyId,
+ grid.PIDS gridPids
+ FROM
+ customer_staff_grid sg
+ LEFT JOIN customer_grid grid ON grid.id = sg.grid_id
+ WHERE
+ sg.del_flag = '0'
-
- SELECT
- sg.customer_id,
- sg.user_id AS staffId,
- sg.grid_id,
- grid.grid_name,
- grid.PID agencyId,
- grid.PIDS gridPids
- FROM
- customer_staff_grid sg
- LEFT JOIN customer_grid grid ON grid.id = sg.grid_id
- WHERE
- sg.del_flag = '0'
-
- AND sg.customer_id = #{customerId}
-
-
- AND sg.GRID_ID = #{gridId}
-
+
+ AND sg.customer_id = #{customerId}
+
+
+ AND sg.GRID_ID = #{gridId}
+
+ ) t WHERE t.agencyId IS NOT NULL
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml
index 3c5ebd884f..18ba4d2a0f 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml
@@ -162,4 +162,11 @@
and CUSTOMER_ID = #{customerId}
and PARAMETER_KEY = #{parameterKey}
+
+ SELECT * FROM project
+ WHERE customer_id = #{customerId}
+ AND ORIGIN = #{projectOrigin}
+ AND del_flag = '0'
+ AND DATE_FORMAT( CREATED_TIME, '%Y%m%d' ) = #{dateId}
+
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/StatsStaffPatrolRecordDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/StatsStaffPatrolRecordDailyDao.xml
index cba48614f3..d3ea3d3f9a 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/StatsStaffPatrolRecordDailyDao.xml
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/StatsStaffPatrolRecordDailyDao.xml
@@ -55,4 +55,15 @@
)
+
+ DELETE FROM stats_staff_patrol_record_daily
+ WHERE CUSTOMER_ID = #{customerId}
+ AND DATE_ID = #{dateId}
+
+ AND GRID_ID = #{gridId}
+
+
+ AND STAFF_ID = #{staffId}
+
+
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml
index 3babf9e21e..c21c5c9c40 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml
@@ -582,7 +582,7 @@
LEFT JOIN gov_staff_role gsr ON gsr.ID = sr.ROLE_ID
WHERE
s.del_flag = '0'
- AND gsr.ROLE_KEY = 'grid_member'
+ AND gsr.ROLE_KEY = #{roleKey}
SELECT
@@ -600,4 +600,13 @@
AND a.CUSTOMER_ID = #{customerId}
+
+ SELECT
+ r.*
+ FROM
+ staff_patrol_record r
+ WHERE
+ r.del_flag = '0' and r.customer_id = #{customerId}
+ AND DATE_FORMAT( r.ACTRUAL_END_TIME, '%Y%m%d' ) = #{dateId}
+
From d633cf201d9f1852a31d49c17759666cc3d79403 Mon Sep 17 00:00:00 2001
From: jianjun
Date: Fri, 2 Jul 2021 09:55:51 +0800
Subject: [PATCH 36/80] =?UTF-8?q?=E7=BD=91=E6=A0=BC=E5=91=98=E5=B7=A1?=
=?UTF-8?q?=E6=9F=A5=E7=BB=9F=E8=AE=A1=E8=84=9A=E6=9C=AC=E6=B7=BB=E5=8A=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../migration/V0.0.14__add_patrol_stats.sql | 26 +++++++++++++++++++
1 file changed, 26 insertions(+)
create mode 100644 epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.14__add_patrol_stats.sql
diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.14__add_patrol_stats.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.14__add_patrol_stats.sql
new file mode 100644
index 0000000000..38cd6b93d8
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.14__add_patrol_stats.sql
@@ -0,0 +1,26 @@
+CREATE TABLE `stats_staff_patrol_record_daily` (
+ `ID` varchar(64) NOT NULL COMMENT '主键',
+ `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id',
+ `DATE_ID` varchar(32) NOT NULL COMMENT '统计日期 关联日期dim表',
+ `WEEK_ID` varchar(32) NOT NULL COMMENT '周ID',
+ `MONTH_ID` varchar(32) NOT NULL COMMENT '月ID',
+ `QUARTER_ID` varchar(32) NOT NULL COMMENT '季ID',
+ `YEAR_ID` varchar(32) NOT NULL COMMENT '年ID',
+ `GRID_ID` varchar(64) NOT NULL COMMENT '网格id',
+ `AGENCY_ID` varchar(64) DEFAULT NULL COMMENT '工作人员所属组织id=网格所属的组织id',
+ `GRID_PIDS` varchar(512) DEFAULT NULL COMMENT '网格所有上级id',
+ `STAFF_ID` varchar(64) DEFAULT NULL COMMENT '工作人员用户id',
+ `PATROL_TOTAL` int(11) DEFAULT NULL COMMENT '巡查次数',
+ `TOTAL_TIME` int(11) DEFAULT NULL COMMENT '巡查时长 单位:秒',
+ `REPORT_PROJECT_COUNT` int(11) DEFAULT NULL COMMENT '巡查期间直接立项项目数',
+ `LATEST_PATROL_TIME` datetime DEFAULT NULL COMMENT '最新的巡查开始时间',
+ `LATEST_PATROL_STATUS` varchar(32) DEFAULT NULL COMMENT '最新的巡查状态 正在巡查中:patrolling;结束:end',
+ `DEL_FLAG` int(11) NOT NULL DEFAULT '0' COMMENT '删除标识 0.未删除 1.已删除',
+ `REVISION` int(11) NOT NULL COMMENT '乐观锁',
+ `CREATED_BY` varchar(64) NOT NULL COMMENT '创建人',
+ `CREATED_TIME` datetime NOT NULL COMMENT '创建时间',
+ `UPDATED_BY` varchar(64) NOT NULL COMMENT '更新人',
+ `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
+ PRIMARY KEY (`ID`),
+ UNIQUE KEY `unx_staff` (`DATE_ID`,`GRID_ID`,`STAFF_ID`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='[天]工作人员巡查记录统计';
From 58eb90af5d85a49f84c1b6b2ddf0a2bfc1744685 Mon Sep 17 00:00:00 2001
From: zxc <1272811460@qq.com>
Date: Fri, 2 Jul 2021 10:34:32 +0800
Subject: [PATCH 37/80] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=B7=A1=E6=9F=A5?=
=?UTF-8?q?=E6=97=B6=E9=97=B4=E6=A0=BC=E5=BC=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../main/java/com/epmet/dto/form/PatrolProjectFormDTO.java | 4 ++--
.../epmet/service/impl/StaffPatrolRecordServiceImpl.java | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/PatrolProjectFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/PatrolProjectFormDTO.java
index c5add855bb..5e3f4bf813 100644
--- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/PatrolProjectFormDTO.java
+++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/PatrolProjectFormDTO.java
@@ -20,10 +20,10 @@ public class PatrolProjectFormDTO implements Serializable {
/**
* 巡查开始时间
*/
- private Date patrolStartTime;
+ private String patrolStartTime;
/**
* 巡查结束时间
*/
- private Date patrolEndTime;
+ private String patrolEndTime;
}
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 e9751e23f8..32599fccbf 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
@@ -272,7 +272,7 @@ public class StaffPatrolRecordServiceImpl extends BaseServiceImpl patrolProject = govProjectOpenFeignClient.selectPatrolProject(formDTO);
if (!patrolProject.success()){
throw new RenException("查询巡查期间立项数失败【"+patrolProject.getInternalMsg()+"】");
From c91c94d83394b93c164a36e942e486ed3a2cd009 Mon Sep 17 00:00:00 2001
From: zxc <1272811460@qq.com>
Date: Fri, 2 Jul 2021 10:51:32 +0800
Subject: [PATCH 38/80] =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=8C=89=E7=85=A7?=
=?UTF-8?q?=E5=AE=9E=E9=99=85=E7=BB=93=E6=9D=9F=E6=97=B6=E9=97=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../com/epmet/service/impl/StaffPatrolRecordServiceImpl.java | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
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 32599fccbf..d9f45984ad 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
@@ -252,7 +252,8 @@ public class StaffPatrolRecordServiceImpl extends BaseServiceImpl 0) {
throw new RenException(EpmetErrorCode.PATROL_END_TIME_ERROR.getCode());
}
- record.setActrualEndTime(new Date());
+ Date actrualEndTime = new Date();
+ record.setActrualEndTime(actrualEndTime);
record.setUpdatedTime(null);
// 方便巡查统计表使用
Date patrolEndTime = DateUtils.parse(formDTO.getPatrolEndTime(), DateUtils.DATE_TIME_PATTERN);
@@ -272,7 +273,7 @@ public class StaffPatrolRecordServiceImpl extends BaseServiceImpl
Date: Fri, 2 Jul 2021 14:18:50 +0800
Subject: [PATCH 39/80] =?UTF-8?q?=E7=BD=91=E6=A0=BC=E5=91=98=E5=B7=A1?=
=?UTF-8?q?=E6=9F=A5=E7=BB=9F=E8=AE=A1=E6=89=A7=E8=A1=8C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../biz/impl/BizDataStatsServiceImpl.java | 33 +++++++++++--------
1 file changed, 20 insertions(+), 13 deletions(-)
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java
index 8ff799cd87..223124e90a 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java
@@ -11,7 +11,6 @@ import com.epmet.dto.user.result.CustomerGridStaffDTO;
import com.epmet.dto.user.result.CustomerStaffDTO;
import com.epmet.dto.user.result.StaffPatrolRecordResult;
import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO;
-import com.epmet.entity.user.StatsStaffPatrolRecordDailyEntity;
import com.epmet.service.evaluationindex.extract.biz.BizDataStatsService;
import com.epmet.service.org.CustomerStaffService;
import com.epmet.service.project.ProjectService;
@@ -20,6 +19,7 @@ import com.epmet.service.user.UserService;
import com.epmet.util.DimIdGenerator;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
+import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -64,12 +64,16 @@ public class BizDataStatsServiceImpl implements BizDataStatsService {
private void reloadStaffPatrolStatsData(StaffPatrolStatsFormDTO formDTO, List allGridMembers) {
//获取昨日的巡查统计记录
String yesterdayStr = getYesterdayString(formDTO);
- List yesterdayStatsList = statsStaffPatrolService.selectData(formDTO.getCustomerId(), yesterdayStr);
+ StaffPatrolStatsFormDTO yesterdayParam = ConvertUtils.sourceToTarget(formDTO, StaffPatrolStatsFormDTO.class);
+ yesterdayParam.setDateId(yesterdayStr);
+ //遍历网格员重新初始化数据
+ List insertList = buildInitPatrolStatsData(yesterdayParam, allGridMembers);
+ /* List yesterdayStatsList = statsStaffPatrolService.selectData(formDTO.getCustomerId(), yesterdayStr);
if (CollectionUtils.isEmpty(yesterdayStatsList)) {
log.warn("reloadStaffPatrolStatsData have any yesterdayStats data,dateId:{}", yesterdayStr);
return;
- }
- Map yesterdayStatsMap = yesterdayStatsList.stream().collect(Collectors.toMap(o -> o.getGridId() + o.getStaffId(), o -> o, (o1, o2) -> o1));
+ }*/
+ Map yesterdayStatsMap = insertList.stream().collect(Collectors.toMap(o -> o.getGridId() + o.getStaffId(), o -> o, (o1, o2) -> o1));
//获取昨日的巡查记录
List yesterdayPatrolList = userService.selectStaffPatrolListByDateId(formDTO.getCustomerId(), yesterdayStr);
@@ -77,8 +81,6 @@ public class BizDataStatsServiceImpl implements BizDataStatsService {
List yesterdayProjectList = projectService.selectProjectListByDateId(formDTO.getCustomerId(), yesterdayStr, ProjectConstant.PROJECT_ORIGIN_AGENCY);
//遍历网格员 设置其 巡查次数 巡查时常 上报项目数
- Map gridMemberMap = allGridMembers.stream().collect(Collectors.toMap(o -> o.getGridId() + o.getUserId(), o -> o, (o1, o2) -> o1));
- List updateList = new ArrayList<>();
yesterdayPatrolList.forEach(patrolRecord -> {
String key = patrolRecord.getGrid().concat(patrolRecord.getStaffId());
StatsStaffPatrolRecordDailyDTO patrolRecordDailyDTO = yesterdayStatsMap.get(key);
@@ -101,25 +103,24 @@ public class BizDataStatsServiceImpl implements BizDataStatsService {
});
//填充项目数
yesterdayProjectList.forEach(projectDTO -> {
- String key = projectDTO.getCreatedBy();
yesterdayPatrolList.forEach(patrol -> {
//项目立项时间 在巡查期间时 总数加1
long projectCreateTime = projectDTO.getCreatedTime().getTime();
- if (patrol.getPatrolStartTime().getTime() >= projectCreateTime && patrol.getPatrolStartTime().getTime() >= projectCreateTime) {
+ if (projectCreateTime>= patrol.getPatrolStartTime().getTime() && projectCreateTime <= patrol.getPatrolEndTime().getTime()) {
String unqPatrolKey = getUnqPatrolKey(patrol.getGrid(), patrol.getStaffId());
StatsStaffPatrolRecordDailyDTO recordDailyDTO = yesterdayStatsMap.get(unqPatrolKey);
if (recordDailyDTO == null) {
log.error("have project data but have any patrolRecordDaily,gridId:{},staffId:{}", patrol.getGrid(), patrol.getStaffId());
return;
}
+
recordDailyDTO.setReportProjectCount(recordDailyDTO.getReportProjectCount() + 1);
}
});
});
- StaffPatrolStatsFormDTO yesterdayParam = ConvertUtils.sourceToTarget(formDTO, StaffPatrolStatsFormDTO.class);
- yesterdayParam.setDateId(yesterdayStr);
- Integer effectRow = statsStaffPatrolService.delAndInsertBatch(yesterdayParam, yesterdayStatsList);
+
+ Integer effectRow = statsStaffPatrolService.delAndInsertBatch(yesterdayParam, insertList);
log.debug("initStaffPatrolStats insert rows:{}", effectRow);
}
@@ -147,6 +148,13 @@ public class BizDataStatsServiceImpl implements BizDataStatsService {
private void initStaffPatrolTodayData(StaffPatrolStatsFormDTO formDTO, List allGridMembers) {
+ List insertList = buildInitPatrolStatsData(formDTO, allGridMembers);
+ Integer effectRow = statsStaffPatrolService.delAndInsertBatch(formDTO, insertList);
+ log.debug("initStaffPatrolStats insert rows:{}", effectRow);
+ }
+
+ @NotNull
+ private List buildInitPatrolStatsData(StaffPatrolStatsFormDTO formDTO, List allGridMembers) {
List lastStaffPatrolList = userService.selectLastStaffPatrolList(formDTO);
Map lastPatrolMap = lastStaffPatrolList.stream().collect(Collectors.toMap(o -> o.getGridId() + o.getStaffId(), o -> o, (o1, o2) -> o1));
//构建数据 插入
@@ -181,8 +189,7 @@ public class BizDataStatsServiceImpl implements BizDataStatsService {
insertList.add(record);
});
- Integer effectRow = statsStaffPatrolService.delAndInsertBatch(formDTO, insertList);
- log.debug("initStaffPatrolStats insert rows:{}", effectRow);
+ return insertList;
}
private List getAllGridMembers(StaffPatrolStatsFormDTO formDTO) {
From 5053694b35384102c1373e21fa2005d7470848aa Mon Sep 17 00:00:00 2001
From: jianjun
Date: Fri, 2 Jul 2021 14:38:15 +0800
Subject: [PATCH 40/80] =?UTF-8?q?=E7=BD=91=E6=A0=BC=E5=91=98=E5=B7=A1?=
=?UTF-8?q?=E6=9F=A5=E7=BB=9F=E8=AE=A1=E5=AE=9E=E9=99=85=E7=BB=93=E6=9D=9F?=
=?UTF-8?q?=E6=97=B6=E9=97=B4=E5=8F=AA=E7=94=A8=E4=BA=8E=E8=AE=B0=E5=BD=95?=
=?UTF-8?q?=20=E4=B8=8D=E5=8F=82=E4=B8=8E=E8=AE=A1=E7=AE=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../extract/biz/impl/BizDataStatsServiceImpl.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java
index 223124e90a..6f5491bb5c 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java
@@ -85,7 +85,7 @@ public class BizDataStatsServiceImpl implements BizDataStatsService {
String key = patrolRecord.getGrid().concat(patrolRecord.getStaffId());
StatsStaffPatrolRecordDailyDTO patrolRecordDailyDTO = yesterdayStatsMap.get(key);
if (patrolRecordDailyDTO != null) {
- long total = (patrolRecord.getActrualEndTime().getTime() - patrolRecord.getPatrolStartTime().getTime()) / 1000;
+ long total = (patrolRecord.getPatrolEndTime().getTime() - patrolRecord.getPatrolStartTime().getTime()) / 1000;
if (patrolRecordDailyDTO.getTotalTime() == null) {
patrolRecordDailyDTO.setTotalTime(NumConstant.ZERO);
}
@@ -107,7 +107,7 @@ public class BizDataStatsServiceImpl implements BizDataStatsService {
yesterdayPatrolList.forEach(patrol -> {
//项目立项时间 在巡查期间时 总数加1
long projectCreateTime = projectDTO.getCreatedTime().getTime();
- if (projectCreateTime>= patrol.getPatrolStartTime().getTime() && projectCreateTime <= patrol.getPatrolEndTime().getTime()) {
+ if (projectCreateTime>= patrol.getPatrolStartTime().getTime() && projectCreateTime <= patrol.getPatrolEndTime().getTime()) {
String unqPatrolKey = getUnqPatrolKey(patrol.getGrid(), patrol.getStaffId());
StatsStaffPatrolRecordDailyDTO recordDailyDTO = yesterdayStatsMap.get(unqPatrolKey);
if (recordDailyDTO == null) {
From 9967c2b46eaaf497efce05f0c4e087b0678d63ca Mon Sep 17 00:00:00 2001
From: zxc <1272811460@qq.com>
Date: Fri, 2 Jul 2021 14:43:11 +0800
Subject: [PATCH 41/80] =?UTF-8?q?=E7=BB=93=E6=9D=9F=E6=97=B6=E9=97=B4+=205?=
=?UTF-8?q?9s?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../epmet/service/impl/StaffPatrolRecordServiceImpl.java | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
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 d9f45984ad..8751acbb5f 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
@@ -252,13 +252,13 @@ public class StaffPatrolRecordServiceImpl extends BaseServiceImpl 0) {
throw new RenException(EpmetErrorCode.PATROL_END_TIME_ERROR.getCode());
}
- Date actrualEndTime = new Date();
- record.setActrualEndTime(actrualEndTime);
+ record.setActrualEndTime(new Date());
record.setUpdatedTime(null);
// 方便巡查统计表使用
Date patrolEndTime = DateUtils.parse(formDTO.getPatrolEndTime(), DateUtils.DATE_TIME_PATTERN);
record.setPatrolEndTime(patrolEndTime);
- Integer totalTime = DateUtils.calculateSecond(record.getPatrolStartTime(), record.getPatrolEndTime());
+ // 总时间+59s,防止筛选项目时漏掉
+ Integer totalTime = DateUtils.calculateSecond(record.getPatrolStartTime(), record.getPatrolEndTime()) + 59;
record.setTotalTime(totalTime);
record.setStatus(PatrolConstant.END);
baseDao.updateById(record);
@@ -273,7 +273,7 @@ public class StaffPatrolRecordServiceImpl extends BaseServiceImpl
Date: Fri, 2 Jul 2021 15:41:19 +0800
Subject: [PATCH 42/80] =?UTF-8?q?=E7=BD=91=E6=A0=BC=E5=91=98=E5=B7=A1?=
=?UTF-8?q?=E6=9F=A5=E7=BB=9F=E8=AE=A1=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../feign/DataStatisticalOpenFeignClient.java | 11 ++++++
...ataStatisticalOpenFeignClientFallBack.java | 6 ++++
.../biz/impl/BizDataStatsServiceImpl.java | 2 +-
.../epmet/service/BizDataStatsService.java | 10 ++++++
.../service/impl/BizDataStatsServiceImpl.java | 23 +++++++++++++
.../com/epmet/task/StaffPatrolStatsTask.java | 34 +++++++++++++++++++
6 files changed, 85 insertions(+), 1 deletion(-)
create mode 100644 epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/BizDataStatsService.java
create mode 100644 epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/BizDataStatsServiceImpl.java
create mode 100644 epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/StaffPatrolStatsTask.java
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/DataStatisticalOpenFeignClient.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/DataStatisticalOpenFeignClient.java
index dfafe94a1e..fdf97a670f 100644
--- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/DataStatisticalOpenFeignClient.java
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/DataStatisticalOpenFeignClient.java
@@ -6,6 +6,7 @@ import com.epmet.dto.StatsFormDTO;
import com.epmet.dto.extract.form.ExtractIndexFormDTO;
import com.epmet.dto.extract.form.ExtractOriginFormDTO;
import com.epmet.dto.extract.form.ExtractScreenFormDTO;
+import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
import com.epmet.dto.group.form.GroupStatsFormDTO;
import com.epmet.dto.screen.form.InitCustomerIndexForm;
import com.epmet.dto.stats.form.CustomerIdAndDateIdFormDTO;
@@ -256,4 +257,14 @@ public interface DataStatisticalOpenFeignClient {
@PostMapping("/data/stats/vanguard/gridvanguardstats")
Result gridVanguardStats(@RequestBody StatsFormDTO formDTO);
+ /**
+ * desc: 网格员巡查统计初始化及校正
+ *
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @author LiuJanJun
+ * @date 2021/7/2 3:04 下午
+ */
+ @PostMapping("/data/stats/bizData/stats/patrol")
+ Result staffPatrolStats(@RequestBody StaffPatrolStatsFormDTO formDTO);
}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/impl/DataStatisticalOpenFeignClientFallBack.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/impl/DataStatisticalOpenFeignClientFallBack.java
index d842746b35..ecd3c7faf2 100644
--- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/impl/DataStatisticalOpenFeignClientFallBack.java
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/impl/DataStatisticalOpenFeignClientFallBack.java
@@ -7,6 +7,7 @@ import com.epmet.dto.StatsFormDTO;
import com.epmet.dto.extract.form.ExtractIndexFormDTO;
import com.epmet.dto.extract.form.ExtractOriginFormDTO;
import com.epmet.dto.extract.form.ExtractScreenFormDTO;
+import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
import com.epmet.dto.group.form.GroupStatsFormDTO;
import com.epmet.dto.screen.form.InitCustomerIndexForm;
import com.epmet.dto.stats.form.CustomerIdAndDateIdFormDTO;
@@ -256,4 +257,9 @@ public class DataStatisticalOpenFeignClientFallBack implements DataStatisticalOp
public Result gridVanguardStats(StatsFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "gridVanguardStats", formDTO);
}
+
+ @Override
+ public Result staffPatrolStats(StaffPatrolStatsFormDTO formDTO) {
+ return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "staffPatrolStats", formDTO);
+ }
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java
index 6f5491bb5c..2db1363f5e 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java
@@ -31,7 +31,7 @@ import java.util.Map;
import java.util.stream.Collectors;
/**
- * desc:【天】网格员巡查统计
+ * desc:【天】业务库里的统计
*
* @author: LiuJanJun
* @date: 2021/6/29 3:08 下午
diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/BizDataStatsService.java b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/BizDataStatsService.java
new file mode 100644
index 0000000000..d610bf6790
--- /dev/null
+++ b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/BizDataStatsService.java
@@ -0,0 +1,10 @@
+package com.epmet.service;
+
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
+
+public interface BizDataStatsService {
+
+ Result exeStaffPatrolStats(StaffPatrolStatsFormDTO formDTO);
+
+}
diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/BizDataStatsServiceImpl.java b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/BizDataStatsServiceImpl.java
new file mode 100644
index 0000000000..7f3fcb8d17
--- /dev/null
+++ b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/BizDataStatsServiceImpl.java
@@ -0,0 +1,23 @@
+package com.epmet.service.impl;
+
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
+import com.epmet.feign.DataStatisticalOpenFeignClient;
+import com.epmet.service.BizDataStatsService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * desc:业务库 数据统计服务实现
+ *
+ * @author: LiuJanJun
+ * @date: 2021/7/2 2:58 下午
+ * @version: 1.0
+ */
+public class BizDataStatsServiceImpl implements BizDataStatsService {
+ @Autowired
+ private DataStatisticalOpenFeignClient feignClient;
+ @Override
+ public Result exeStaffPatrolStats(StaffPatrolStatsFormDTO formDTO) {
+ return feignClient.staffPatrolStats(formDTO);
+ }
+}
diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/StaffPatrolStatsTask.java b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/StaffPatrolStatsTask.java
new file mode 100644
index 0000000000..d7b380acc3
--- /dev/null
+++ b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/StaffPatrolStatsTask.java
@@ -0,0 +1,34 @@
+package com.epmet.task;
+
+import com.alibaba.fastjson.JSON;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
+import com.epmet.service.BizDataStatsService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author zhaoqifeng
+ * @dscription
+ * @date 2020/6/23 14:36
+ */
+@Slf4j
+@Component("dimInitTask")
+public class StaffPatrolStatsTask implements ITask {
+
+ @Autowired
+ private BizDataStatsService bizDataStatsService;
+
+ @Override
+ public void run(String params) {
+ log.debug("DimInitTask定时任务正在执行,参数为:{}", params);
+ StaffPatrolStatsFormDTO formDTO = JSON.parseObject(params, StaffPatrolStatsFormDTO.class);
+ Result result = bizDataStatsService.exeStaffPatrolStats(formDTO);
+ if (result.success()){
+ log.debug("StaffPatrolStatsTask定时任务正在执行定时任务执行成功");
+ }else {
+ log.debug("StaffPatrolStatsTask定时任务正在执行定时任务执行失败:" + result.getMsg());
+ }
+ }
+}
From acaee9bd8b2dbe1b5f4b5e111d182892df385859 Mon Sep 17 00:00:00 2001
From: sunyuchao
Date: Fri, 2 Jul 2021 17:17:36 +0800
Subject: [PATCH 43/80] =?UTF-8?q?=E6=9B=B4=E5=A4=9A-=E5=B7=A1=E6=9F=A5?=
=?UTF-8?q?=E8=AE=B0=E5=BD=95=E5=88=97=E8=A1=A8-V2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../epmet/commons/tools/utils/DateUtils.java | 11 +++++
.../dto/epmetuser/form/StaffListFormDTO.java | 2 +-
.../epmetuser/result/StaffListResultDTO.java | 5 ++
.../controller/EpmetUserController.java | 20 ++++++++
.../dao/epmetuser/StaffPatrolRecordDao.java | 5 ++
.../dataaggre/dao/govorg/CustomerGridDao.java | 6 +++
.../service/epmetuser/EpmetUserService.java | 7 +++
.../epmetuser/impl/EpmetUserServiceImpl.java | 36 ++++++++++++++
.../service/govorg/GovOrgService.java | 6 +++
.../govorg/impl/GovOrgServiceImpl.java | 11 +++++
.../mapper/epmetuser/StaffPatrolRecordDao.xml | 46 ++++++++++++++++++
.../mapper/govorg/CustomerGridDao.xml | 48 +++++++++++++++++++
12 files changed, 202 insertions(+), 1 deletion(-)
diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java
index 3a556da632..b47d56574c 100644
--- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java
+++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java
@@ -847,4 +847,15 @@ public class DateUtils {
return DateUtils.format(date,DateUtils.DATE_TIME_PATTERN);
}
+ /**
+ * @Author sun
+ * @Description 获取当前日期几个自然月之前的日期(yyyy-MM-dd HH:mm:ss)
+ **/
+ public static String getBeforeMonthDate(int beforMonth, String dateType){
+ Calendar c = Calendar.getInstance();
+ c.add(Calendar.MONTH, - beforMonth);
+ Date date = c.getTime();
+ return DateUtils.format(date,dateType);
+ }
+
}
diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/StaffListFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/StaffListFormDTO.java
index 4945b5de46..4de304f917 100644
--- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/StaffListFormDTO.java
+++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/StaffListFormDTO.java
@@ -24,7 +24,7 @@ public class StaffListFormDTO implements Serializable {
@NotNull(message = "最近时间不能为空", groups = StaffListFormDTO.Staff.class)
private Integer time;
/**
- * 排序字段【巡查总次数:patrolTotal;最近开始巡查时间:latestPatrolledTime】
+ * 排序字段【巡查总次数:patrolTotal;最近开始巡查时间:latestPatrolledTime;上报项目数: reportProjectCount;巡查总时长:totalTime】
*/
@NotBlank(message = "排序条件不能为空", groups = StaffListFormDTO.Staff.class)
private String sortCode;
diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/StaffListResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/StaffListResultDTO.java
index 15f2647e88..bfe3117485 100644
--- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/StaffListResultDTO.java
+++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/StaffListResultDTO.java
@@ -28,5 +28,10 @@ public class StaffListResultDTO implements Serializable {
private String gender = "0";
//正在巡查中:patrolling;否则返回空字符串
private String status = "";
+ //上报项目数
+ private Integer reportProjectCount;
+ //巡查总时长
+ private String totalTime = "";
+ private Integer timeNum;
}
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 bd535ae77c..4e1cdf3238 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
@@ -79,5 +79,25 @@ public class EpmetUserController {
return new Result().ok(epmetUserService.patrolDateList(formDTO));
}
+ /**
+ * @Param formDTO
+ * @Description 【更多-巡查记录-人员巡查记录列表】
+ * @author sun
+ */
+ @PostMapping("staffpatrollist")
+ @RequirePermission(requirePermission = RequirePermissionEnum.MORE_PATROL_RECORD_LIST)
+ public Result> staffPatrolList(@LoginUser TokenDto tokenDto, @RequestBody StaffListFormDTO formDTO) {
+ //String totalTimeDesc = minutes / 60 + "小时"+ minutes % 60 + "分";
+ ValidatorUtils.validateEntity(formDTO, StaffListFormDTO.Staff.class);
+ if (!"patrolTotal".equals(formDTO.getSortCode()) && !"latestPatrolledTime".equals(formDTO.getSortCode())
+ && !"reportProjectCount".equals(formDTO.getSortCode()) && !"totalTime".equals(formDTO.getSortCode())) {
+ throw new RenException("参数错误,排序条件值错误");
+ }
+ if (formDTO.getTime() != 1 && formDTO.getTime() != 3) {
+ throw new RenException("参数错误,最近时间值不正确");
+ }
+ formDTO.setUserId(tokenDto.getUserId());
+ return new Result>().ok(epmetUserService.staffPatrolList(formDTO));
+ }
}
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffPatrolRecordDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffPatrolRecordDao.java
index 5c6cb03bdb..f6a607f801 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffPatrolRecordDao.java
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffPatrolRecordDao.java
@@ -41,4 +41,9 @@ public interface StaffPatrolRecordDao extends BaseDao {
*/
List selectPatrolList(StaffListFormDTO formDTO);
+ /**
+ * @Description 按条件查询巡查业务数据V2
+ * @author sun
+ */
+ List selectStaffPatrolList(StaffListFormDTO formDTO);
}
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerGridDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerGridDao.java
index cc73cc2c1f..3fcc8655ed 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerGridDao.java
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerGridDao.java
@@ -62,4 +62,10 @@ public interface CustomerGridDao extends BaseDao {
* @Description 查询工作人员所属组织下网格列表
**/
List gridListByStaffId(@Param("staffId") String staffId);
+
+ /**
+ * @Description 有网格列表的查询网格基本信息,没有的查询工作人员所属组织级下级所有的网格信息
+ * @author sun
+ */
+ List getGridInfoList(@Param("gridIds") List gridIds, @Param("staffId") String staffId);
}
\ 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 359fcbe7a0..03fc33dbc9 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
@@ -64,4 +64,11 @@ public interface EpmetUserService {
*/
List staffGridRole(List forms, String staffName);
+ /**
+ * @Param formDTO
+ * @Description 【更多-巡查记录-人员巡查记录列表】
+ * @author sun
+ */
+ List staffPatrolList(StaffListFormDTO formDTO);
+
}
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 175525d16d..764819c4dc 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
@@ -247,5 +247,41 @@ public class EpmetUserServiceImpl implements EpmetUserService {
return result;
}
+ /**
+ * @Param formDTO
+ * @Description 【更多-巡查记录-人员巡查记录列表】
+ * @author sun
+ */
+ @Override
+ public List staffPatrolList(StaffListFormDTO formDTO) {
+ List resultList = new ArrayList<>();
+ //1.查询网格信息供后续封装数据使用
+ List list = govOrgService.getGridInfoList(formDTO.getGridIds(), formDTO.getUserId());
+ if (CollectionUtils.isEmpty(formDTO.getGridIds())) {
+ formDTO.setGridIds(list.stream().map(CustomerGridDTO::getId).collect(Collectors.toList()));
+ }
+
+ //2.按条件分页查询业务数据
+ int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize();
+ formDTO.setPageNo(pageIndex);
+ //起始查询日期
+ formDTO.setPatrolStartTime(DateUtils.getBeforeMonthDate(formDTO.getTime(), "yyyyMMdd"));
+ resultList = staffPatrolRecordDao.selectStaffPatrolList(formDTO);
+
+ //3.封装数据并返回
+ resultList.forEach(re -> list.stream().filter(l -> re.getGridId().equals(l.getId())).forEach(s -> re.setGridName(s.getGridName())));
+ resultList.forEach(re -> {
+ String totalTime = "0分钟";
+ if (re.getTimeNum() > NumConstant.ZERO) {
+ int hour = re.getTimeNum() / 3600;
+ int minute = re.getTimeNum() % 3600;
+ totalTime = (hour < 1 ? "" : hour + "小时") + (minute < 1 ? "" : minute + "分钟");
+ }
+ re.setTotalTime(totalTime == "" ? "0分钟" : totalTime);
+ list.stream().filter(l -> re.getGridId().equals(l.getId())).forEach(s -> re.setGridName(s.getGridName()));
+ });
+
+ return resultList;
+ }
}
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 8008242d5f..bd28ef2b26 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
@@ -59,4 +59,10 @@ public interface GovOrgService {
* @author sun
*/
List selectGridStaffByGridIds(List gridIds, String staffName);
+
+ /**
+ * @Description 查询网格信息或查询当前人员所属组织下所有网格信息
+ * @author sun
+ */
+ List getGridInfoList(List gridIds, String staffId);
}
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 29ed9208cf..38b29c2c12 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
@@ -264,4 +264,15 @@ public class GovOrgServiceImpl implements GovOrgService {
return result;
}
+ /**
+ * @Description 查询网格信息或查询当前人员所属组织下所有网格信息
+ * @author sun
+ */
+ @Override
+ public List getGridInfoList(List gridIds, String staffId) {
+ //1.有网格列表的查询网格基本信息,没有的查询工作人员所属组织级下级所有的网格信息
+ List list = customerGridDao.getGridInfoList(gridIds, staffId);
+ return list;
+ }
+
}
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 662ce08625..77db39a870 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
@@ -51,4 +51,50 @@
-->
+
+ SELECT
+ ssp.grid_id AS gridId,
+ ssp.staff_id AS staffId,
+ cs.real_name AS staffName,
+ cs.gender AS gender,
+ MAX(ssp.latest_patrol_time) AS patrolStartTime,
+ IFNULL(SUM(ssp.patrol_total), 0) AS patrolTotal,
+ ssp.latest_patrol_status AS STATUS,
+ IFNULL(SUM(ssp.report_project_count), 0) AS reportProjectCount,
+ IFNULL(SUM(ssp.total_time), 0) AS timeNum
+ FROM
+ stats_staff_patrol_record_daily ssp
+ LEFT JOIN customer_staff cs ON ssp.staff_id = cs.user_id
+ WHERE
+ ssp.del_flag = '0'
+ AND ssp.date_id >= #{patrolStartTime}
+
+ AND cs.real_name = #{staffName}
+
+
+
+ ssp.grid_id = #{gridId}
+
+
+ GROUP BY ssp.grid_id, ssp.staff_id
+
+
+
+ ORDER BY SUM(ssp.patrol_total) DESC
+
+
+ ORDER BY MAX(ssp.latest_patrol_time) DESC
+
+
+ ORDER BY SUM(ssp.report_project_count) DESC
+
+
+ ORDER BY SUM(ssp.total_time) DESC
+
+
+
+ LIMIT
+ #{pageNo}, #{pageSize}
+
+
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerGridDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerGridDao.xml
index 92cffd9271..2ca96e0edd 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerGridDao.xml
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerGridDao.xml
@@ -99,4 +99,52 @@
)
+
+ SELECT
+ cg.id AS 'id',
+ IF (
+ ca.pid = '0',
+ IF (
+ ca.organization_name = '',
+ cg.grid_name,
+ CONCAT(ca.organization_name,'-',cg.grid_name)
+ ),
+ CONCAT(
+ (select organization_name from customer_agency where id = ca.pid),
+ '-',
+ IF (
+ ca.organization_name = '',
+ cg.grid_name,
+ CONCAT(ca.organization_name,'-',cg.grid_name)
+ )
+ )
+ )AS 'gridName'
+ FROM
+ customer_grid cg
+ INNER JOIN customer_agency ca ON cg.pid = ca.id
+ WHERE
+ cg.del_flag = '0'
+ AND ca.del_flag = '0'
+
+
+
+ cg.id = #{id}
+
+
+
+ AND cg.pids
+ LIKE CONCAT(
+ '%',
+ (
+ select agency_id
+ from customer_staff_agency
+ where del_flag = '0'
+ AND user_id = #{staffId}
+ ),
+ '%'
+ )
+
+
+
+
From ac797ecaa2034e5fc27654f405cae6167e747bf2 Mon Sep 17 00:00:00 2001
From: jianjun
Date: Mon, 5 Jul 2021 09:33:09 +0800
Subject: [PATCH 44/80] =?UTF-8?q?=E7=BD=91=E6=A0=BC=E5=91=98=E5=B7=A1?=
=?UTF-8?q?=E6=9F=A5=E7=BB=9F=E8=AE=A1=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/main/java/com/epmet/task/StaffPatrolStatsTask.java | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/StaffPatrolStatsTask.java b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/StaffPatrolStatsTask.java
index d7b380acc3..2339fb1f62 100644
--- a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/StaffPatrolStatsTask.java
+++ b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/StaffPatrolStatsTask.java
@@ -14,7 +14,7 @@ import org.springframework.stereotype.Component;
* @date 2020/6/23 14:36
*/
@Slf4j
-@Component("dimInitTask")
+@Component("staffPatrolStatsTask")
public class StaffPatrolStatsTask implements ITask {
@Autowired
@@ -26,9 +26,9 @@ public class StaffPatrolStatsTask implements ITask {
StaffPatrolStatsFormDTO formDTO = JSON.parseObject(params, StaffPatrolStatsFormDTO.class);
Result result = bizDataStatsService.exeStaffPatrolStats(formDTO);
if (result.success()){
- log.debug("StaffPatrolStatsTask定时任务正在执行定时任务执行成功");
+ log.debug("staffPatrolStatsTask定时任务正在执行定时任务执行成功");
}else {
- log.debug("StaffPatrolStatsTask定时任务正在执行定时任务执行失败:" + result.getMsg());
+ log.debug("staffPatrolStatsTask定时任务正在执行定时任务执行失败:" + result.getMsg());
}
}
}
From 4ab94a58fba660c69546967d161b581a596d09fe Mon Sep 17 00:00:00 2001
From: jianjun
Date: Mon, 5 Jul 2021 09:45:17 +0800
Subject: [PATCH 45/80] =?UTF-8?q?=E7=BD=91=E6=A0=BC=E5=91=98=E5=B7=A1?=
=?UTF-8?q?=E6=9F=A5=E7=BB=9F=E8=AE=A1=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?=
=?UTF-8?q?=E9=94=99=E8=AF=AF=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../java/com/epmet/service/impl/BizDataStatsServiceImpl.java | 2 ++
.../src/main/java/com/epmet/task/StaffPatrolStatsTask.java | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/BizDataStatsServiceImpl.java b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/BizDataStatsServiceImpl.java
index 7f3fcb8d17..0e7a7b53e9 100644
--- a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/BizDataStatsServiceImpl.java
+++ b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/BizDataStatsServiceImpl.java
@@ -5,6 +5,7 @@ import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
import com.epmet.feign.DataStatisticalOpenFeignClient;
import com.epmet.service.BizDataStatsService;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
/**
* desc:业务库 数据统计服务实现
@@ -13,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
* @date: 2021/7/2 2:58 下午
* @version: 1.0
*/
+@Service
public class BizDataStatsServiceImpl implements BizDataStatsService {
@Autowired
private DataStatisticalOpenFeignClient feignClient;
diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/StaffPatrolStatsTask.java b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/StaffPatrolStatsTask.java
index 2339fb1f62..d07f233108 100644
--- a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/StaffPatrolStatsTask.java
+++ b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/StaffPatrolStatsTask.java
@@ -22,7 +22,7 @@ public class StaffPatrolStatsTask implements ITask {
@Override
public void run(String params) {
- log.debug("DimInitTask定时任务正在执行,参数为:{}", params);
+ log.debug("staffPatrolStatsTask定时任务正在执行,参数为:{}", params);
StaffPatrolStatsFormDTO formDTO = JSON.parseObject(params, StaffPatrolStatsFormDTO.class);
Result result = bizDataStatsService.exeStaffPatrolStats(formDTO);
if (result.success()){
From 3f4961b3474854c157a625d0a26fb865aa81225b Mon Sep 17 00:00:00 2001
From: sunyuchao
Date: Mon, 5 Jul 2021 09:53:42 +0800
Subject: [PATCH 46/80] =?UTF-8?q?=E6=9B=B4=E5=A4=9A-=E5=B7=A1=E6=9F=A5?=
=?UTF-8?q?=E8=AE=B0=E5=BD=95=E5=88=97=E8=A1=A8-V2--=E6=8E=A5=E5=8F=A3?=
=?UTF-8?q?=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../dataaggre/dto/epmetuser/result/StaffListResultDTO.java | 2 ++
.../com/epmet/dataaggre/controller/EpmetUserController.java | 1 -
.../main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml | 2 +-
3 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/StaffListResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/StaffListResultDTO.java
index bfe3117485..53bf3715c1 100644
--- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/StaffListResultDTO.java
+++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/StaffListResultDTO.java
@@ -1,5 +1,6 @@
package com.epmet.dataaggre.dto.epmetuser.result;
+import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
@@ -32,6 +33,7 @@ public class StaffListResultDTO implements Serializable {
private Integer reportProjectCount;
//巡查总时长
private String totalTime = "";
+ @JsonIgnore
private Integer timeNum;
}
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 4e1cdf3238..779fa37fe3 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
@@ -87,7 +87,6 @@ public class EpmetUserController {
@PostMapping("staffpatrollist")
@RequirePermission(requirePermission = RequirePermissionEnum.MORE_PATROL_RECORD_LIST)
public Result> staffPatrolList(@LoginUser TokenDto tokenDto, @RequestBody StaffListFormDTO formDTO) {
- //String totalTimeDesc = minutes / 60 + "小时"+ minutes % 60 + "分";
ValidatorUtils.validateEntity(formDTO, StaffListFormDTO.Staff.class);
if (!"patrolTotal".equals(formDTO.getSortCode()) && !"latestPatrolledTime".equals(formDTO.getSortCode())
&& !"reportProjectCount".equals(formDTO.getSortCode()) && !"totalTime".equals(formDTO.getSortCode())) {
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 77db39a870..5748609036 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
@@ -57,7 +57,7 @@
ssp.staff_id AS staffId,
cs.real_name AS staffName,
cs.gender AS gender,
- MAX(ssp.latest_patrol_time) AS patrolStartTime,
+ IFNULL(MAX(ssp.latest_patrol_time), '') AS patrolStartTime,
IFNULL(SUM(ssp.patrol_total), 0) AS patrolTotal,
ssp.latest_patrol_status AS STATUS,
IFNULL(SUM(ssp.report_project_count), 0) AS reportProjectCount,
From 204b4482ddd4140bd48fd1a2059ab05bbbb0dc74 Mon Sep 17 00:00:00 2001
From: sunyuchao
Date: Mon, 5 Jul 2021 10:10:25 +0800
Subject: [PATCH 47/80] =?UTF-8?q?=E8=BD=AC=E5=B0=8F=E6=97=B6=EF=BC=8C?=
=?UTF-8?q?=E4=BF=9D=E7=95=99=E4=B8=80=E4=BD=8D=E5=B0=8F=E6=95=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../service/epmetuser/impl/EpmetUserServiceImpl.java | 9 +++++++--
1 file changed, 7 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 764819c4dc..b9965774c7 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
@@ -25,6 +25,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.text.NumberFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -270,14 +272,17 @@ public class EpmetUserServiceImpl implements EpmetUserService {
//3.封装数据并返回
resultList.forEach(re -> list.stream().filter(l -> re.getGridId().equals(l.getId())).forEach(s -> re.setGridName(s.getGridName())));
+ NumberFormat numberFormat = NumberFormat.getInstance();
+ numberFormat.setMaximumFractionDigits(NumConstant.ONE);
resultList.forEach(re -> {
- String totalTime = "0分钟";
+ /*String totalTime = "0分钟";
if (re.getTimeNum() > NumConstant.ZERO) {
int hour = re.getTimeNum() / 3600;
int minute = re.getTimeNum() % 3600;
totalTime = (hour < 1 ? "" : hour + "小时") + (minute < 1 ? "" : minute + "分钟");
}
- re.setTotalTime(totalTime == "" ? "0分钟" : totalTime);
+ re.setTotalTime(totalTime == "" ? "0分钟" : totalTime);*/
+ re.setTotalTime(re.getTimeNum() < 1 ? BigDecimal.ZERO + "h" : new BigDecimal(numberFormat.format((float) re.getTimeNum() / (float) 3600)) + "h");
list.stream().filter(l -> re.getGridId().equals(l.getId())).forEach(s -> re.setGridName(s.getGridName()));
});
From 80a6ca48511c1b63997efa578d89fc897a682749 Mon Sep 17 00:00:00 2001
From: jianjun
Date: Mon, 5 Jul 2021 10:24:21 +0800
Subject: [PATCH 48/80] =?UTF-8?q?=E7=BD=91=E6=A0=BC=E5=91=98=E5=B7=A1?=
=?UTF-8?q?=E6=9F=A5=E7=BB=9F=E8=AE=A1=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?=
=?UTF-8?q?=E7=BB=9F=E4=B8=80=E8=B5=B7=E6=9D=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../dto/extract/form/BizDataFormDTO.java | 41 +++++++++++
.../feign/DataStatisticalOpenFeignClient.java | 11 ++-
...ataStatisticalOpenFeignClientFallBack.java | 9 +--
.../controller/BizDataStatsController.java | 11 +++
.../extract/biz/BizDataStatsService.java | 8 +++
.../biz/impl/BizDataStatsServiceImpl.java | 69 +++++++++++++++++++
.../epmet/service/BizDataStatsService.java | 4 +-
.../service/impl/BizDataStatsServiceImpl.java | 6 +-
.../com/epmet/task/StaffPatrolStatsTask.java | 6 +-
9 files changed, 144 insertions(+), 21 deletions(-)
create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/BizDataFormDTO.java
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/BizDataFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/BizDataFormDTO.java
new file mode 100644
index 0000000000..23f164afe3
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/BizDataFormDTO.java
@@ -0,0 +1,41 @@
+package com.epmet.dto.extract.form;
+
+import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+
+/**
+ * desc: 从业务数据抽取到统计库 dto
+ *
+ * @Author zxc
+ * @DateTime 2020/9/16 6:01 下午
+ */
+@Data
+public class BizDataFormDTO implements Serializable {
+
+
+ private static final long serialVersionUID = 2860395703825549825L;
+
+ public interface ExtractForm extends CustomerClientShowGroup {
+ }
+
+ @NotBlank(message = "客户ID不能为空", groups = ExtractForm.class)
+ private String customerId;
+
+ @NotBlank(message = "dateId不能为空", groups = ExtractForm.class)
+ private String dateId;
+
+ private String userId;
+ private String gridId;
+
+ /**
+ * 开始时间
+ */
+ private String startDate;
+ /**
+ * 结束时间
+ */
+ private String endDate;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/DataStatisticalOpenFeignClient.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/DataStatisticalOpenFeignClient.java
index fdf97a670f..ee5daf2a47 100644
--- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/DataStatisticalOpenFeignClient.java
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/DataStatisticalOpenFeignClient.java
@@ -3,10 +3,7 @@ package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.StatsFormDTO;
-import com.epmet.dto.extract.form.ExtractIndexFormDTO;
-import com.epmet.dto.extract.form.ExtractOriginFormDTO;
-import com.epmet.dto.extract.form.ExtractScreenFormDTO;
-import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
+import com.epmet.dto.extract.form.*;
import com.epmet.dto.group.form.GroupStatsFormDTO;
import com.epmet.dto.screen.form.InitCustomerIndexForm;
import com.epmet.dto.stats.form.CustomerIdAndDateIdFormDTO;
@@ -258,13 +255,13 @@ public interface DataStatisticalOpenFeignClient {
Result gridVanguardStats(@RequestBody StatsFormDTO formDTO);
/**
- * desc: 网格员巡查统计初始化及校正
+ * desc: 业务库按天统计 统一入库
*
* @param formDTO
* @return com.epmet.commons.tools.utils.Result
* @author LiuJanJun
* @date 2021/7/2 3:04 下午
*/
- @PostMapping("/data/stats/bizData/stats/patrol")
- Result staffPatrolStats(@RequestBody StaffPatrolStatsFormDTO formDTO);
+ @PostMapping("/data/stats/bizData/stats/daily")
+ Result exeStatsDaily(@RequestBody BizDataFormDTO formDTO);
}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/impl/DataStatisticalOpenFeignClientFallBack.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/impl/DataStatisticalOpenFeignClientFallBack.java
index ecd3c7faf2..4846a3e557 100644
--- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/impl/DataStatisticalOpenFeignClientFallBack.java
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/impl/DataStatisticalOpenFeignClientFallBack.java
@@ -4,10 +4,7 @@ import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.StatsFormDTO;
-import com.epmet.dto.extract.form.ExtractIndexFormDTO;
-import com.epmet.dto.extract.form.ExtractOriginFormDTO;
-import com.epmet.dto.extract.form.ExtractScreenFormDTO;
-import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
+import com.epmet.dto.extract.form.*;
import com.epmet.dto.group.form.GroupStatsFormDTO;
import com.epmet.dto.screen.form.InitCustomerIndexForm;
import com.epmet.dto.stats.form.CustomerIdAndDateIdFormDTO;
@@ -259,7 +256,7 @@ public class DataStatisticalOpenFeignClientFallBack implements DataStatisticalOp
}
@Override
- public Result staffPatrolStats(StaffPatrolStatsFormDTO formDTO) {
- return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "staffPatrolStats", formDTO);
+ public Result exeStatsDaily(BizDataFormDTO formDTO) {
+ return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "exeStatsDaily", formDTO);
}
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/BizDataStatsController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/BizDataStatsController.java
index 5910f13386..7fe1add999 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/BizDataStatsController.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/BizDataStatsController.java
@@ -1,6 +1,7 @@
package com.epmet.controller;
import com.epmet.commons.tools.utils.Result;
+import com.epmet.dto.extract.form.BizDataFormDTO;
import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
import com.epmet.service.evaluationindex.extract.biz.BizDataStatsService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -22,6 +23,16 @@ public class BizDataStatsController {
private BizDataStatsService bizDataStatsService;
/**
+ * @return com.epmet.commons.tools.utils.Result
+ * @param formDTO
+ * @description 业务库统计数据 统一入库
+ * @Date 2021/3/26 13:27
+ **/
+ @RequestMapping("daily")
+ public Result execute(@RequestBody BizDataFormDTO formDTO) {
+ bizDataStatsService.exeDailyAll(formDTO);
+ return new Result();
+ } /**
* @return com.epmet.commons.tools.utils.Result
* @param formDTO
* @description 工作端数据一期,用户分析:参与用户、注册用户分析
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/BizDataStatsService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/BizDataStatsService.java
index 8bff5118b7..062bd2c49c 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/BizDataStatsService.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/BizDataStatsService.java
@@ -17,6 +17,7 @@
package com.epmet.service.evaluationindex.extract.biz;
+import com.epmet.dto.extract.form.BizDataFormDTO;
import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
/**
@@ -27,6 +28,13 @@ import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
*/
public interface BizDataStatsService {
+ /**
+ * desc:抽取所有业务数据到统计库
+ *
+ * @param dataFormDTO
+ */
+ void exeDailyAll(BizDataFormDTO dataFormDTO);
+
void executeStaffPatrolStats(StaffPatrolStatsFormDTO formDTO);
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java
index 2db1363f5e..01cb232071 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java
@@ -6,6 +6,7 @@ import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.constant.ProjectConstant;
import com.epmet.dto.ProjectDTO;
+import com.epmet.dto.extract.form.BizDataFormDTO;
import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
import com.epmet.dto.user.result.CustomerGridStaffDTO;
import com.epmet.dto.user.result.CustomerStaffDTO;
@@ -14,11 +15,14 @@ import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO;
import com.epmet.service.evaluationindex.extract.biz.BizDataStatsService;
import com.epmet.service.org.CustomerStaffService;
import com.epmet.service.project.ProjectService;
+import com.epmet.service.stats.DimCustomerService;
import com.epmet.service.user.StatsStaffPatrolService;
import com.epmet.service.user.UserService;
import com.epmet.util.DimIdGenerator;
+import com.google.common.util.concurrent.ThreadFactoryBuilder;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.springframework.beans.factory.annotation.Autowired;
@@ -28,6 +32,7 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
+import java.util.concurrent.*;
import java.util.stream.Collectors;
/**
@@ -40,6 +45,11 @@ import java.util.stream.Collectors;
@Slf4j
@Service
public class BizDataStatsServiceImpl implements BizDataStatsService {
+ ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
+ .setNameFormat("bizDataStats-pool-%d").build();
+ ExecutorService threadPool = new ThreadPoolExecutor(3, 6,
+ 10L, TimeUnit.MINUTES,
+ new LinkedBlockingQueue<>(500), namedThreadFactory, new ThreadPoolExecutor.CallerRunsPolicy());
@Autowired
private CustomerStaffService customerStaffService;
@Autowired
@@ -48,6 +58,36 @@ public class BizDataStatsServiceImpl implements BizDataStatsService {
private ProjectService projectService;
@Autowired
private StatsStaffPatrolService statsStaffPatrolService;
+ @Autowired
+ private DimCustomerService dimCustomerService;
+
+ @Override
+ public void exeDailyAll(BizDataFormDTO dataFormDTO) {
+ String customerId = dataFormDTO.getCustomerId();
+ if (StringUtils.isBlank(dataFormDTO.getDateId()) && (StringUtils.isBlank(dataFormDTO.getStartDate()) && StringUtils.isBlank(dataFormDTO.getEndDate()))) {
+ //如果没有设置开始日期、结束日期,默认查询昨天
+ dataFormDTO.setDateId(DimIdGenerator.getDateDimId(DateUtils.addDateDays(new Date(), -1)));
+ }
+ List customerIds = new ArrayList<>();
+ if (StringUtils.isNotBlank(customerId)) {
+ //指定某个客户
+ customerIds.add(customerId);
+ } else {
+ //查询全部客户
+ int pageNo = NumConstant.ONE;
+ int pageSize = NumConstant.ONE_HUNDRED;
+ customerIds = dimCustomerService.selectCustomerIdPage(pageNo, pageSize);
+ if (org.springframework.util.CollectionUtils.isEmpty(customerIds)) {
+ log.error("exeDailyAll 获取客户Id为空");
+ return;
+ }
+ }
+ customerIds.forEach(cId -> {
+
+ log.info("exeDailyAll param:{}", JSON.toJSONString(dataFormDTO));
+ submitJob(dataFormDTO);
+ });
+ }
@Override
public void executeStaffPatrolStats(StaffPatrolStatsFormDTO formDTO) {
@@ -216,4 +256,33 @@ public class BizDataStatsServiceImpl implements BizDataStatsService {
log.debug("getAllGridMembers result:{},param:{}", JSON.toJSONString(insertList), JSON.toJSONString(formDTO));
return insertList;
}
+
+ private void submitJob(BizDataFormDTO param) {
+ boolean isRange = StringUtils.isBlank(param.getDateId());
+ List daysBetween = null;
+ if (isRange) {
+ daysBetween = DateUtils.getDaysBetween(param.getStartDate(), param.getEndDate());
+ }
+ List finalDaysBetween = daysBetween;
+ threadPool.submit(() -> {
+ StaffPatrolStatsFormDTO formDTO = ConvertUtils.sourceToTarget(param, StaffPatrolStatsFormDTO.class);
+ if (!isRange) {
+ try {
+ formDTO.setDateId(param.getDateId());
+ this.executeStaffPatrolStats(formDTO);
+ } catch (Exception e) {
+ log.error("【网格员巡查数据统计】发生异常,参数:" + JSON.toJSONString(formDTO), e);
+ }
+ } else {
+ try {
+ for (String dateDimId : finalDaysBetween) {
+ formDTO.setDateId(dateDimId);
+ this.executeStaffPatrolStats(formDTO);
+ }
+ } catch (Exception e) {
+ log.error("【网格员巡查数据统计】发生异常,参数:" + JSON.toJSONString(param), e);
+ }
+ }
+ });
+ }
}
diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/BizDataStatsService.java b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/BizDataStatsService.java
index d610bf6790..56254e637f 100644
--- a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/BizDataStatsService.java
+++ b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/BizDataStatsService.java
@@ -1,10 +1,10 @@
package com.epmet.service;
import com.epmet.commons.tools.utils.Result;
-import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
+import com.epmet.dto.extract.form.BizDataFormDTO;
public interface BizDataStatsService {
- Result exeStaffPatrolStats(StaffPatrolStatsFormDTO formDTO);
+ Result exeStatsDaily(BizDataFormDTO formDTO);
}
diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/BizDataStatsServiceImpl.java b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/BizDataStatsServiceImpl.java
index 0e7a7b53e9..5616de5bbe 100644
--- a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/BizDataStatsServiceImpl.java
+++ b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/BizDataStatsServiceImpl.java
@@ -1,7 +1,7 @@
package com.epmet.service.impl;
import com.epmet.commons.tools.utils.Result;
-import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
+import com.epmet.dto.extract.form.BizDataFormDTO;
import com.epmet.feign.DataStatisticalOpenFeignClient;
import com.epmet.service.BizDataStatsService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -19,7 +19,7 @@ public class BizDataStatsServiceImpl implements BizDataStatsService {
@Autowired
private DataStatisticalOpenFeignClient feignClient;
@Override
- public Result exeStaffPatrolStats(StaffPatrolStatsFormDTO formDTO) {
- return feignClient.staffPatrolStats(formDTO);
+ public Result exeStatsDaily(BizDataFormDTO formDTO) {
+ return feignClient.exeStatsDaily(formDTO);
}
}
diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/StaffPatrolStatsTask.java b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/StaffPatrolStatsTask.java
index d07f233108..affb4a2e9d 100644
--- a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/StaffPatrolStatsTask.java
+++ b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/StaffPatrolStatsTask.java
@@ -2,7 +2,7 @@ package com.epmet.task;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.tools.utils.Result;
-import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
+import com.epmet.dto.extract.form.BizDataFormDTO;
import com.epmet.service.BizDataStatsService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -23,8 +23,8 @@ public class StaffPatrolStatsTask implements ITask {
@Override
public void run(String params) {
log.debug("staffPatrolStatsTask定时任务正在执行,参数为:{}", params);
- StaffPatrolStatsFormDTO formDTO = JSON.parseObject(params, StaffPatrolStatsFormDTO.class);
- Result result = bizDataStatsService.exeStaffPatrolStats(formDTO);
+ BizDataFormDTO formDTO = JSON.parseObject(params, BizDataFormDTO.class);
+ Result result = bizDataStatsService.exeStatsDaily(formDTO);
if (result.success()){
log.debug("staffPatrolStatsTask定时任务正在执行定时任务执行成功");
}else {
From eccc22750386fc009470bedf73c38ed19973cfba Mon Sep 17 00:00:00 2001
From: jianjun
Date: Mon, 5 Jul 2021 10:34:50 +0800
Subject: [PATCH 49/80] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=94=B9=E5=90=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...trolStatsTask.java => BizDataStatsDailyTask.java} | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
rename epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/{StaffPatrolStatsTask.java => BizDataStatsDailyTask.java} (62%)
diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/StaffPatrolStatsTask.java b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/BizDataStatsDailyTask.java
similarity index 62%
rename from epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/StaffPatrolStatsTask.java
rename to epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/BizDataStatsDailyTask.java
index affb4a2e9d..bc79053a1f 100644
--- a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/StaffPatrolStatsTask.java
+++ b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/BizDataStatsDailyTask.java
@@ -10,25 +10,25 @@ import org.springframework.stereotype.Component;
/**
* @author zhaoqifeng
- * @dscription
+ * @dscription 业务数据统计 【日】统一入库
* @date 2020/6/23 14:36
*/
@Slf4j
-@Component("staffPatrolStatsTask")
-public class StaffPatrolStatsTask implements ITask {
+@Component("bizDataStatsDailyTask")
+public class BizDataStatsDailyTask implements ITask {
@Autowired
private BizDataStatsService bizDataStatsService;
@Override
public void run(String params) {
- log.debug("staffPatrolStatsTask定时任务正在执行,参数为:{}", params);
+ log.debug("bizDataStatsDailyTask定时任务正在执行,参数为:{}", params);
BizDataFormDTO formDTO = JSON.parseObject(params, BizDataFormDTO.class);
Result result = bizDataStatsService.exeStatsDaily(formDTO);
if (result.success()){
- log.debug("staffPatrolStatsTask定时任务正在执行定时任务执行成功");
+ log.debug("bizDataStatsDailyTask定时任务正在执行定时任务执行成功");
}else {
- log.debug("staffPatrolStatsTask定时任务正在执行定时任务执行失败:" + result.getMsg());
+ log.debug("bizDataStatsDailyTask定时任务正在执行定时任务执行失败:" + result.getMsg());
}
}
}
From 3f515a9991fd719ab19a9a50048923e4dfe69ffd Mon Sep 17 00:00:00 2001
From: jianjun
Date: Mon, 5 Jul 2021 11:11:17 +0800
Subject: [PATCH 50/80] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=8F=82=E6=95=B0?=
=?UTF-8?q?=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/main/java/com/epmet/task/BizDataStatsDailyTask.java | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/BizDataStatsDailyTask.java b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/BizDataStatsDailyTask.java
index bc79053a1f..8a665e3148 100644
--- a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/BizDataStatsDailyTask.java
+++ b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/BizDataStatsDailyTask.java
@@ -5,6 +5,7 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.extract.form.BizDataFormDTO;
import com.epmet.service.BizDataStatsService;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -23,7 +24,10 @@ public class BizDataStatsDailyTask implements ITask {
@Override
public void run(String params) {
log.debug("bizDataStatsDailyTask定时任务正在执行,参数为:{}", params);
- BizDataFormDTO formDTO = JSON.parseObject(params, BizDataFormDTO.class);
+ BizDataFormDTO formDTO = new BizDataFormDTO();
+ if (StringUtils.isNotBlank(params)) {
+ formDTO = JSON.parseObject(params, BizDataFormDTO.class);
+ }
Result result = bizDataStatsService.exeStatsDaily(formDTO);
if (result.success()){
log.debug("bizDataStatsDailyTask定时任务正在执行定时任务执行成功");
From 99522533bf9b5b783b937df84063f59840c97ce4 Mon Sep 17 00:00:00 2001
From: jianjun
Date: Mon, 5 Jul 2021 13:57:21 +0800
Subject: [PATCH 51/80] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=BE=AE=E8=B0=83?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../extract/biz/impl/BizDataStatsServiceImpl.java | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java
index 01cb232071..393eb0cf1d 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java
@@ -108,11 +108,7 @@ public class BizDataStatsServiceImpl implements BizDataStatsService {
yesterdayParam.setDateId(yesterdayStr);
//遍历网格员重新初始化数据
List insertList = buildInitPatrolStatsData(yesterdayParam, allGridMembers);
- /* List yesterdayStatsList = statsStaffPatrolService.selectData(formDTO.getCustomerId(), yesterdayStr);
- if (CollectionUtils.isEmpty(yesterdayStatsList)) {
- log.warn("reloadStaffPatrolStatsData have any yesterdayStats data,dateId:{}", yesterdayStr);
- return;
- }*/
+
Map yesterdayStatsMap = insertList.stream().collect(Collectors.toMap(o -> o.getGridId() + o.getStaffId(), o -> o, (o1, o2) -> o1));
//获取昨日的巡查记录
List yesterdayPatrolList = userService.selectStaffPatrolListByDateId(formDTO.getCustomerId(), yesterdayStr);
@@ -186,8 +182,6 @@ public class BizDataStatsServiceImpl implements BizDataStatsService {
}
private void initStaffPatrolTodayData(StaffPatrolStatsFormDTO formDTO, List allGridMembers) {
-
-
List insertList = buildInitPatrolStatsData(formDTO, allGridMembers);
Integer effectRow = statsStaffPatrolService.delAndInsertBatch(formDTO, insertList);
log.debug("initStaffPatrolStats insert rows:{}", effectRow);
From a6b49b471f22e9a28537b82c28457ccacef14800 Mon Sep 17 00:00:00 2001
From: sunyuchao
Date: Mon, 5 Jul 2021 14:22:38 +0800
Subject: [PATCH 52/80] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=AB=AF-=E4=B8=AA?=
=?UTF-8?q?=E4=BA=BA=E4=B8=AD=E5=BF=83-=E7=BD=91=E6=A0=BC=E5=91=98?=
=?UTF-8?q?=E5=B7=A1=E6=9F=A5=E8=AE=B0=E5=BD=95=E6=B1=87=E6=80=BB=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../result/PersonalPatrolListResultDTO.java | 20 ++++++++++
.../controller/EpmetUserController.java | 10 +++++
.../dao/epmetuser/StaffPatrolRecordDao.java | 7 ++++
.../service/epmetuser/EpmetUserService.java | 10 +++--
.../epmetuser/impl/EpmetUserServiceImpl.java | 38 +++++++++++++++++--
.../mapper/epmetuser/StaffPatrolRecordDao.xml | 12 ++++++
6 files changed, 90 insertions(+), 7 deletions(-)
create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/PersonalPatrolListResultDTO.java
diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/PersonalPatrolListResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/PersonalPatrolListResultDTO.java
new file mode 100644
index 0000000000..8e99eec996
--- /dev/null
+++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/PersonalPatrolListResultDTO.java
@@ -0,0 +1,20 @@
+package com.epmet.dataaggre.dto.epmetuser.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Description 个人中心-网格员巡查记录-接口入参
+ * @Auth sun
+ */
+@Data
+public class PersonalPatrolListResultDTO implements Serializable {
+ private static final long serialVersionUID = 7129564173128153335L;
+
+ //巡查总次数;巡查总时长;立项事件数
+ private String key;
+ //key对应值
+ private String value;
+
+}
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 779fa37fe3..c8a34d86e8 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
@@ -12,6 +12,7 @@ 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.PersonalPatrolListResultDTO;
import com.epmet.dataaggre.dto.epmetuser.result.StaffListResultDTO;
import com.epmet.dataaggre.service.epmetuser.EpmetUserService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -99,4 +100,13 @@ public class EpmetUserController {
return new Result>().ok(epmetUserService.staffPatrolList(formDTO));
}
+ /**
+ * @Description 个人中心-网格员巡查记录
+ * @author sun
+ */
+ @PostMapping("personalpatrollist")
+ public Result> personalPatrolList(@LoginUser TokenDto tokenDto) {
+ return new Result>().ok(epmetUserService.personalPatrolList(tokenDto.getUserId()));
+ }
+
}
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffPatrolRecordDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffPatrolRecordDao.java
index f6a607f801..36385a7cbd 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffPatrolRecordDao.java
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffPatrolRecordDao.java
@@ -23,6 +23,7 @@ import com.epmet.dataaggre.dto.epmetuser.form.StaffListFormDTO;
import com.epmet.dataaggre.dto.epmetuser.result.StaffListResultDTO;
import com.epmet.dataaggre.entity.epmetuser.StaffPatrolRecordEntity;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -46,4 +47,10 @@ public interface StaffPatrolRecordDao extends BaseDao {
* @author sun
*/
List selectStaffPatrolList(StaffListFormDTO formDTO);
+
+ /**
+ * @Description 汇总查询当前工作人员所有巡查记录数据
+ * @author sun
+ */
+ StaffListResultDTO selectPersonalPatrolList(@Param("staffId") String staffId);
}
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 03fc33dbc9..f548e47d4e 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
@@ -3,10 +3,7 @@ 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;
+import com.epmet.dataaggre.dto.epmetuser.result.*;
import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO;
import java.util.List;
@@ -71,4 +68,9 @@ public interface EpmetUserService {
*/
List staffPatrolList(StaffListFormDTO formDTO);
+ /**
+ * @Description 个人中心-网格员巡查记录
+ * @author sun
+ */
+ List personalPatrolList(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 b9965774c7..69815ed254 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
@@ -272,8 +272,8 @@ public class EpmetUserServiceImpl implements EpmetUserService {
//3.封装数据并返回
resultList.forEach(re -> list.stream().filter(l -> re.getGridId().equals(l.getId())).forEach(s -> re.setGridName(s.getGridName())));
- NumberFormat numberFormat = NumberFormat.getInstance();
- numberFormat.setMaximumFractionDigits(NumConstant.ONE);
+ //NumberFormat numberFormat = NumberFormat.getInstance();
+ //numberFormat.setMaximumFractionDigits(NumConstant.ZERO);
resultList.forEach(re -> {
/*String totalTime = "0分钟";
if (re.getTimeNum() > NumConstant.ZERO) {
@@ -282,11 +282,43 @@ public class EpmetUserServiceImpl implements EpmetUserService {
totalTime = (hour < 1 ? "" : hour + "小时") + (minute < 1 ? "" : minute + "分钟");
}
re.setTotalTime(totalTime == "" ? "0分钟" : totalTime);*/
- re.setTotalTime(re.getTimeNum() < 1 ? BigDecimal.ZERO + "h" : new BigDecimal(numberFormat.format((float) re.getTimeNum() / (float) 3600)) + "h");
+ //re.setTotalTime(re.getTimeNum() < 1 ? BigDecimal.ZERO + "h" : new BigDecimal(numberFormat.format((float) re.getTimeNum() / (float) 3600)) + "h");
+ re.setTotalTime(re.getTimeNum() / 60 + "分钟");
list.stream().filter(l -> re.getGridId().equals(l.getId())).forEach(s -> re.setGridName(s.getGridName()));
});
return resultList;
}
+ /**
+ * @Description 个人中心-网格员巡查记录
+ * @author sun
+ */
+ @Override
+ public List personalPatrolList(String staffId) {
+ LinkedList resultList = new LinkedList<>();
+ //1.汇总查询当前工作人员所有巡查记录数据
+ StaffListResultDTO resultDTO = staffPatrolRecordDao.selectPersonalPatrolList(staffId);
+ if (null == resultDTO) {
+ return resultList;
+ }
+ //2.封装数据并返回
+ NumberFormat numberFormat = NumberFormat.getInstance();
+ numberFormat.setMaximumFractionDigits(NumConstant.ZERO);
+ PersonalPatrolListResultDTO personal1 = new PersonalPatrolListResultDTO();
+ personal1.setKey("总次数");
+ personal1.setValue(resultDTO.getPatrolTotal().toString());
+ resultList.add(personal1);
+ PersonalPatrolListResultDTO personal2 = new PersonalPatrolListResultDTO();
+ personal2.setKey("总时长");
+ personal2.setValue(resultDTO.getTimeNum() / 60 + "分钟");
+ resultList.add(personal2);
+ PersonalPatrolListResultDTO personal3 = new PersonalPatrolListResultDTO();
+ personal3.setKey("事件数");
+ personal3.setValue(resultDTO.getReportProjectCount().toString());
+ resultList.add(personal3);
+
+ return resultList;
+ }
+
}
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 5748609036..08a1699368 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
@@ -97,4 +97,16 @@
#{pageNo}, #{pageSize}
+
+ SELECT
+ IFNULL(SUM(ssp.patrol_total), 0) AS patrolTotal,
+ IFNULL(SUM(ssp.total_time), 0) AS timeNum,
+ IFNULL(SUM(ssp.report_project_count), 0) AS reportProjectCount
+ FROM
+ stats_staff_patrol_record_daily ssp
+ WHERE
+ ssp.del_flag = '0'
+ AND ssp.staff_id = #{staffId}
+
+
From 65a4408338fe6277c9a54112df57aa60ab4e0dc3 Mon Sep 17 00:00:00 2001
From: wxz
Date: Mon, 5 Jul 2021 15:13:34 +0800
Subject: [PATCH 53/80] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=E7=BD=91?=
=?UTF-8?q?=E6=A0=BC=E5=91=98=E7=BB=9F=E8=AE=A1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../result/GridMemberDataStatsResultDTO.java | 90 +++++++++++++
.../form/GridMemberDataAnalysisFromDTO.java | 23 ++++
.../GridMemberDataAnalysisResultDTO.java | 19 +++
.../enums/GridMemberDataAnalysisEnums.java | 39 ++++++
.../controller/GovOrgController.java | 61 +++++++++
.../FactGridMemberStatisticsDailyDao.java | 48 +++++++
.../FactGridMemberStatisticsDailyEntity.java | 121 ++++++++++++++++++
.../dataaggre/service/AggreGridService.java | 20 +++
.../service/datastats/DataStatsService.java | 15 +++
.../datastats/impl/DataStatsServiceImpl.java | 17 +++
.../service/impl/AggreGridServiceImpl.java | 51 ++++++++
.../FactGridMemberStatisticsDailyDao.xml | 70 ++++++++++
12 files changed, 574 insertions(+)
create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/GridMemberDataStatsResultDTO.java
create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/GridMemberDataAnalysisFromDTO.java
create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridMemberDataAnalysisResultDTO.java
create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/enums/GridMemberDataAnalysisEnums.java
create mode 100644 epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/FactGridMemberStatisticsDailyDao.java
create mode 100644 epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/FactGridMemberStatisticsDailyEntity.java
create mode 100644 epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/AggreGridService.java
create mode 100644 epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/AggreGridServiceImpl.java
create mode 100644 epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/FactGridMemberStatisticsDailyDao.xml
diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/GridMemberDataStatsResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/GridMemberDataStatsResultDTO.java
new file mode 100644
index 0000000000..88c4d695db
--- /dev/null
+++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/GridMemberDataStatsResultDTO.java
@@ -0,0 +1,90 @@
+package com.epmet.dataaggre.dto.datastats.result;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class GridMemberDataStatsResultDTO {
+ /**
+ * yyyyMMdd
+ */
+ private String dateId;
+
+ /**
+ * 月份ID
+ */
+ private String monthId;
+
+ /**
+ * 年度ID
+ */
+ private String yearId;
+
+ /**
+ * 客户ID
+ */
+ private String customerId;
+
+ /**
+ * 组织ID
+ */
+ private String agencyId;
+
+ /**
+ * 网格I
+ */
+ private String gridId;
+
+ /**
+ * 上级ID(项目来源Agency的上级组织Id)
+ */
+ private String pid;
+
+ /**
+ * 所有agencyId的上级组织ID(包含agencyId)
+ */
+ private String pids;
+
+ /**
+ * 工作人员ID
+ */
+ private String staffId;
+
+ /**
+ * 工作人员姓名
+ */
+ private String staffName;
+
+ /**
+ * 项目立项数
+ */
+ private Integer projectCount;
+
+ /**
+ * 议题转项目数
+ */
+ private Integer issueToProjectCount;
+
+ /**
+ * 议题关闭数
+ */
+ private Integer closedIssueCount;
+
+ /**
+ * 项目响应数
+ */
+ private Integer projectResponseCount;
+
+ /**
+ * 项目吹哨数
+ */
+ private Integer projectTransferCount;
+
+ /**
+ * 项目结案数
+ */
+ private Integer projectClosedCount;
+}
diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/GridMemberDataAnalysisFromDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/GridMemberDataAnalysisFromDTO.java
new file mode 100644
index 0000000000..3b8c7425e7
--- /dev/null
+++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/GridMemberDataAnalysisFromDTO.java
@@ -0,0 +1,23 @@
+package com.epmet.dataaggre.dto.govorg.form;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.util.List;
+
+@Data
+public class GridMemberDataAnalysisFromDTO {
+
+ public interface listGridMemberDatas {}
+
+ private List gridIds;
+
+ // 搜索的人员姓名
+ private String searchedStaffName;
+ @NotBlank(message = "月份不能为空", groups = { listGridMemberDatas.class })
+ private String month;
+ @NotBlank(message = "排序规则不能为空", groups = { listGridMemberDatas.class })
+ private String sort;
+ private Integer pageNo = 1;
+ private Integer pageSize = 10;
+}
diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridMemberDataAnalysisResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridMemberDataAnalysisResultDTO.java
new file mode 100644
index 0000000000..edda65d145
--- /dev/null
+++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridMemberDataAnalysisResultDTO.java
@@ -0,0 +1,19 @@
+package com.epmet.dataaggre.dto.govorg.result;
+
+import lombok.Data;
+
+@Data
+public class GridMemberDataAnalysisResultDTO {
+
+ private String gridId;
+ private String staffId;
+ private String staffName;
+ private String orgName;
+ private Integer projectCount;
+ private Integer issueToProjectCount;
+ private Integer closedIssueCount;
+ private Integer projectResponseCount;
+ private Integer projectTransferCount;
+ private Integer projectClosedCount;
+
+}
diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/enums/GridMemberDataAnalysisEnums.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/enums/GridMemberDataAnalysisEnums.java
new file mode 100644
index 0000000000..2dfc6a5c1b
--- /dev/null
+++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/enums/GridMemberDataAnalysisEnums.java
@@ -0,0 +1,39 @@
+package com.epmet.dataaggre.enums;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public enum GridMemberDataAnalysisEnums {
+
+ SORT_SORT_PROJECT_COUNT("projectCount", "project_count"),
+ SORT_ISSUE_TO_PROJECT_COUNT("issueToProjectCount", "issue_to_project_count"),
+ SORT_CLOSED_ISSUE_COUNT("closedIssueCount", "closed_issue_count"),
+ SORT_PROJECT_RESPONSE_COUNT("projectResponseCount", "project_response_count"),
+ SORT_PROJECT_TRANSFER_COUNT("projectTransferCount", "project_transfer_count"),
+ SORT_PROJECT_CLOSED_COUNT("projectClosedCount", "project_closed_count");
+
+ private String key;
+ private String value;
+
+ GridMemberDataAnalysisEnums(String key, String value) {
+ this.key = key;
+ this.value = value;
+ }
+
+ public static GridMemberDataAnalysisEnums get(String key) {
+ for (GridMemberDataAnalysisEnums gm : GridMemberDataAnalysisEnums.values()) {
+ if (gm.key.equals(key)) {
+ return gm;
+ }
+ }
+ return null;
+ }
+
+ public String getKey() {
+ return key;
+ }
+
+ public String getValue() {
+ return value;
+ }
+}
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java
index 262aff38c3..be42417f8c 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java
@@ -1,20 +1,33 @@
package com.epmet.dataaggre.controller;
import com.epmet.commons.tools.annotation.LoginUser;
+import com.epmet.commons.tools.exception.EpmetErrorCode;
+import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.security.dto.TokenDto;
+import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
+import com.epmet.dataaggre.dto.govorg.form.GridMemberDataAnalysisFromDTO;
import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO;
import com.epmet.dataaggre.dto.govorg.result.AgencyGridListResultDTO;
+import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO;
import com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO;
+import com.epmet.dataaggre.enums.GridMemberDataAnalysisEnums;
+import com.epmet.dataaggre.service.AggreGridService;
import com.epmet.dataaggre.service.govorg.GovOrgService;
+import com.epmet.dto.result.PublicAndInternalFileResultDTO;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.xmlbeans.impl.xb.xsdschema.Public;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import java.util.ArrayList;
import java.util.List;
+import java.util.PriorityQueue;
/**
* @Author zxc
@@ -27,6 +40,12 @@ public class GovOrgController {
@Autowired
private GovOrgService govOrgService;
+ @Autowired
+ private LoginUserUtil loginUserUtil;
+
+ @Autowired
+ private AggreGridService aggreGridService;
+
/**
* @param tokenDTO
@@ -51,4 +70,46 @@ public class GovOrgController {
ValidatorUtils.validateEntity(formDTO);
return new Result>().ok(govOrgService.queryNextLevelAreaCodeList(formDTO));
}
+
+ /**
+ * @Description 网格员统计,列表查询
+ * @return
+ * @author wxz
+ * @date 2021.07.05 11:14
+ */
+ @PostMapping("gridmemberdataanalysis")
+ public Result getGridMemberDataAnalysis(@RequestBody GridMemberDataAnalysisFromDTO input) {
+ ValidatorUtils.validateEntity(input, GridMemberDataAnalysisFromDTO.listGridMemberDatas.class);
+
+ List gridIds = input.getGridIds();
+ String month = input.getMonth();
+ Integer pageNo = input.getPageNo();
+ Integer pageSize = input.getPageSize();
+ String sort = input.getSort();
+ String searchedStaffName = input.getSearchedStaffName();
+ String loginUserId = loginUserUtil.getLoginUserId();
+
+ // 排序字段检验
+ GridMemberDataAnalysisEnums sortType;
+ if ((sortType = GridMemberDataAnalysisEnums.get(sort)) == null ) {
+ throw new RenException(EpmetErrorCode.OPEN_API_PARAMS_MISSING.getCode(), "未知的排序方式");
+ }
+
+ // 用户登录状态判断
+ if (StringUtils.isBlank(loginUserId)) {
+ throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode(), "查询网格员统计数据失败");
+ }
+
+ // 月份格式判断
+ if (!month.matches("\\d{4}/\\d{2}")) {
+ throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode(), "月份格式错误:" + month);
+ }
+
+ // 网格id为空处理
+ if (CollectionUtils.isEmpty(gridIds)) {
+ gridIds = new ArrayList<>();
+ }
+ List resultList = aggreGridService.getGridMemberDataAnalysis(gridIds, searchedStaffName, loginUserId, month.replace("/", ""), sortType.getValue(), pageNo, pageSize);
+ return new Result().ok(resultList);
+ }
}
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/FactGridMemberStatisticsDailyDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/FactGridMemberStatisticsDailyDao.java
new file mode 100644
index 0000000000..beaacb9614
--- /dev/null
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/FactGridMemberStatisticsDailyDao.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dataaggre.dao.datastats;
+
+import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.dataaggre.dto.datastats.result.GridMemberDataStatsResultDTO;
+import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO;
+import com.epmet.dataaggre.entity.datastats.FactGridMemberStatisticsDailyEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 网格员数据统计_日统计
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-07-05
+ */
+@Mapper
+public interface FactGridMemberStatisticsDailyDao extends BaseDao {
+
+ /**
+ * @Description 查询网格员统计数据
+ * @return
+ * @author wxz
+ * @date 2021.07.05 13:19
+ */
+ List listGridMemberDataStats(@Param("gridIds") List gridIds,
+ @Param("searchedStaffName") String searchedStaffName,
+ @Param("month") String month,
+ @Param("sort") String sort);
+}
\ No newline at end of file
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/FactGridMemberStatisticsDailyEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/FactGridMemberStatisticsDailyEntity.java
new file mode 100644
index 0000000000..63214c950a
--- /dev/null
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/FactGridMemberStatisticsDailyEntity.java
@@ -0,0 +1,121 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dataaggre.entity.datastats;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * 网格员数据统计_日统计
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-07-05
+ */
+@Data
+@EqualsAndHashCode(callSuper=false)
+@TableName("fact_grid_member_statistics_daily")
+public class FactGridMemberStatisticsDailyEntity extends BaseEpmetEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * yyyyMMdd
+ */
+ private String dateId;
+
+ /**
+ * 月份ID
+ */
+ private String monthId;
+
+ /**
+ * 年度ID
+ */
+ private String yearId;
+
+ /**
+ * 客户ID
+ */
+ private String customerId;
+
+ /**
+ * 组织ID
+ */
+ private String agencyId;
+
+ /**
+ * 网格I
+ */
+ private String gridId;
+
+ /**
+ * 上级ID(项目来源Agency的上级组织Id)
+ */
+ private String pid;
+
+ /**
+ * 所有agencyId的上级组织ID(包含agencyId)
+ */
+ private String pids;
+
+ /**
+ * 工作人员ID
+ */
+ private String staffId;
+
+ /**
+ * 工作人员姓名
+ */
+ private String staffName;
+
+ /**
+ * 项目立项数
+ */
+ private Integer projectCount;
+
+ /**
+ * 议题转项目数
+ */
+ private Integer issueToProjectCount;
+
+ /**
+ * 议题关闭数
+ */
+ private Integer closedIssueCount;
+
+ /**
+ * 项目响应数
+ */
+ private Integer projectResponseCount;
+
+ /**
+ * 项目吹哨数
+ */
+ private Integer projectTransferCount;
+
+ /**
+ * 项目结案数
+ */
+ private Integer projectClosedCount;
+
+}
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/AggreGridService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/AggreGridService.java
new file mode 100644
index 0000000000..3702bbb319
--- /dev/null
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/AggreGridService.java
@@ -0,0 +1,20 @@
+package com.epmet.dataaggre.service;
+
+import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO;
+
+import java.util.List;
+
+/**
+ * @Description 聚合的网格相关service,不指定具体的数据源,它调用其他子service,子service中指定具体数据源
+ * @author wxz
+ * @date 2021.07.05 13:06:35
+*/
+public interface AggreGridService {
+ /**
+ * @Description 网格员数据统计列表查询
+ * @return
+ * @author wxz
+ * @date 2021.07.05 11:17
+ */
+ List getGridMemberDataAnalysis(List gridIds, String searchedStaffName, String currStaffId, String month, String sort, Integer pageNo, Integer pageSize);
+}
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java
index 8b08a765d2..c32f4e715c 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java
@@ -3,9 +3,11 @@ 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.govorg.result.GridMemberDataAnalysisResultDTO;
import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO;
import com.epmet.dataaggre.dto.resigroup.result.GroupActRankDetailDTO;
+import java.security.PrivateKey;
import java.util.List;
/**
@@ -159,4 +161,17 @@ public interface DataStatsService {
* @author sun
*/
GovrnRatioResultDTO governRatio(GovrnRatioFormDTO formDTO);
+
+ /**
+ * @Description 查询网格员统计数据列表
+ * @return
+ * @author wxz
+ * @date 2021.07.05 13:13
+ */
+ List listGridMemberDataStats(List gridIds,
+ String searchedStaffName,
+ String month,
+ String sort,
+ Integer pageNo,
+ Integer pageSize);
}
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java
index b61338b163..9727bd4877 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java
@@ -6,15 +6,18 @@ import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.dataaggre.constant.DataSourceConstant;
import com.epmet.dataaggre.constant.OrgConstant;
import com.epmet.dataaggre.dao.datastats.DataStatsDao;
+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.govorg.result.GridMemberDataAnalysisResultDTO;
import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO;
import com.epmet.dataaggre.dto.resigroup.result.GroupActRankDetailDTO;
import com.epmet.dataaggre.entity.datastats.DimAgencyEntity;
import com.epmet.dataaggre.entity.datastats.DimGridEntity;
import com.epmet.dataaggre.service.datastats.DataStatsService;
import com.epmet.dataaggre.service.evaluationindex.EvaluationIndexService;
+import com.github.pagehelper.PageHelper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@@ -43,6 +46,9 @@ public class DataStatsServiceImpl implements DataStatsService {
@Autowired
private EvaluationIndexService indexService;
+ @Autowired
+ private FactGridMemberStatisticsDailyDao factGridMemberStatisticsDailyDao;
+
/**
* @Param formDTO
@@ -1302,4 +1308,15 @@ public class DataStatsServiceImpl implements DataStatsService {
return resultDTO;
}
+ @Override
+ public List listGridMemberDataStats(List gridIds,
+ String searchedStaffName,
+ String month,
+ String sort,
+ Integer pageNo,
+ Integer pageSize) {
+
+ PageHelper.startPage(pageNo, pageSize);
+ return factGridMemberStatisticsDailyDao.listGridMemberDataStats(gridIds, searchedStaffName, month, sort);
+ }
}
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/AggreGridServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/AggreGridServiceImpl.java
new file mode 100644
index 0000000000..d2fc60ad35
--- /dev/null
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/AggreGridServiceImpl.java
@@ -0,0 +1,51 @@
+package com.epmet.dataaggre.service.impl;
+
+import com.epmet.dataaggre.dto.govorg.CustomerGridDTO;
+import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO;
+import com.epmet.dataaggre.service.AggreGridService;
+import com.epmet.dataaggre.service.datastats.DataStatsService;
+import com.epmet.dataaggre.service.govorg.GovOrgService;
+import org.apache.commons.collections4.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+@Service
+public class AggreGridServiceImpl implements AggreGridService {
+
+ @Autowired
+ private GovOrgService govOrgService;
+
+ @Autowired
+ private DataStatsService dataStatsService;
+
+ @Override
+ public List getGridMemberDataAnalysis(
+ List gridIds,
+ String searchedStaffName,
+ String currStaffId,
+ String month,
+ String sort,
+ Integer pageNo,
+ Integer pageSize) {
+
+ //1.得到网格id列表
+ Map gridIdAndName = new HashMap<>();
+ List grids = govOrgService.getGridInfoList(gridIds, currStaffId);
+ grids.forEach(g -> {
+ gridIds.add(g.getId());
+ gridIdAndName.put(g.getId(), g.getGridName());
+ });
+
+ //2.查询列表,并且填充内容
+ List records = dataStatsService.listGridMemberDataStats(gridIds, searchedStaffName, month, sort, pageNo, pageSize);
+ records.forEach(r -> r.setOrgName(gridIdAndName.get(r.getGridId())));
+ return records;
+ }
+
+}
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/FactGridMemberStatisticsDailyDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/FactGridMemberStatisticsDailyDao.xml
new file mode 100644
index 0000000000..efa90d061d
--- /dev/null
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/FactGridMemberStatisticsDailyDao.xml
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select member.id,
+ member.date_id,
+ member.month_id,
+ member.year_id,
+ member.customer_id,
+ member.agency_id,
+ member.grid_id,
+ member.pid,
+ member.pids,
+ member.staff_id,
+ member.staff_name,
+ member.project_count,
+ member.issue_to_project_count,
+ member.closed_issue_count,
+ member.project_response_count,
+ member.project_transfer_count,
+ member.project_closed_count
+ from fact_grid_member_statistics_daily member
+
+
+
+ member.GRID_ID = #{gridId}
+
+
+
+ and member.STAFF_NAME like CONCAT('%',#{searchedStaffName},'%')
+
+
+ and member.MONTH_ID = #{month}
+
+
+ order by ${sort} desc
+
+
+
+
\ No newline at end of file
From 567c23b9fb72d46144dc39856545e0a1152fdf8c Mon Sep 17 00:00:00 2001
From: wxz
Date: Mon, 5 Jul 2021 15:19:48 +0800
Subject: [PATCH 54/80] =?UTF-8?q?=E8=A1=A5=E5=85=85:=E7=BD=91=E6=A0=BC?=
=?UTF-8?q?=E5=91=98=E6=95=B0=E6=8D=AE=E6=9F=A5=E8=AF=A2=EF=BC=8C=E8=A1=A5?=
=?UTF-8?q?=E5=85=85del=5Fflag=3D0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../mapper/datastats/FactGridMemberStatisticsDailyDao.xml | 1 +
1 file changed, 1 insertion(+)
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/FactGridMemberStatisticsDailyDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/FactGridMemberStatisticsDailyDao.xml
index efa90d061d..5d567a300b 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/FactGridMemberStatisticsDailyDao.xml
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/FactGridMemberStatisticsDailyDao.xml
@@ -62,6 +62,7 @@
and member.MONTH_ID = #{month}
+ and del_flag = 0
order by ${sort} desc
From 1894916f3f074204c627753344b77eb2ea2ed314 Mon Sep 17 00:00:00 2001
From: zhaoqifeng
Date: Mon, 5 Jul 2021 15:26:35 +0800
Subject: [PATCH 55/80] =?UTF-8?q?=E7=BD=91=E6=A0=BC=E5=91=98=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE=E7=BB=9F=E8=AE=A1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../result/OrgStatisticsResultDTO.java | 1 +
.../epmet/dto/org/CustomerStaffGridDTO.java | 62 ++++++
.../FactGridMemberStatisticsDailyDTO.java | 181 ++++++++++++++++++
.../FactGridMemberStatisticsMonthlyDTO.java | 146 ++++++++++++++
.../dto/user/result/StaffRoleInfoDTO.java | 35 ++++
.../FactGridMemberStatisticsDailyDao.java | 33 ++++
.../FactGridMemberStatisticsMonthlyDao.java | 33 ++++
.../FactOriginProjectMainDailyDao.java | 20 ++
.../com/epmet/dao/org/CustomerGridDao.java | 10 +
.../main/java/com/epmet/dao/user/UserDao.java | 3 +
.../FactGridMemberStatisticsDailyEntity.java | 151 +++++++++++++++
...FactGridMemberStatisticsMonthlyEntity.java | 116 +++++++++++
.../FactGridMemberStatisticsDailyService.java | 41 ++++
...actGridMemberStatisticsMonthlyService.java | 31 +++
.../FactOriginProjectMainDailyService.java | 12 ++
...tGridMemberStatisticsDailyServiceImpl.java | 134 +++++++++++++
...ridMemberStatisticsMonthlyServiceImpl.java | 36 ++++
...FactOriginProjectMainDailyServiceImpl.java | 24 +++
.../service/org/CustomerGridService.java | 10 +
.../org/impl/CustomerGridServiceImpl.java | 14 ++
.../com/epmet/service/user/UserService.java | 12 ++
.../service/user/impl/UserServiceImpl.java | 15 ++
.../FactGridMemberStatisticsDailyDao.xml | 33 ++++
.../FactGridMemberStatisticsMonthlyDao.xml | 32 ++++
.../extract/FactOriginProjectMainDailyDao.xml | 35 ++++
.../resources/mapper/org/CustomerGridDao.xml | 18 ++
.../main/resources/mapper/user/UserDao.xml | 17 ++
27 files changed, 1255 insertions(+)
create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/org/CustomerStaffGridDTO.java
create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/FactGridMemberStatisticsDailyDTO.java
create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/FactGridMemberStatisticsMonthlyDTO.java
create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/StaffRoleInfoDTO.java
create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactGridMemberStatisticsDailyDao.java
create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactGridMemberStatisticsMonthlyDao.java
create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactGridMemberStatisticsDailyEntity.java
create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactGridMemberStatisticsMonthlyEntity.java
create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactGridMemberStatisticsDailyService.java
create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactGridMemberStatisticsMonthlyService.java
create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridMemberStatisticsDailyServiceImpl.java
create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridMemberStatisticsMonthlyServiceImpl.java
create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactGridMemberStatisticsDailyDao.xml
create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactGridMemberStatisticsMonthlyDao.xml
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/OrgStatisticsResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/OrgStatisticsResultDTO.java
index f57927f65d..16a972293e 100644
--- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/OrgStatisticsResultDTO.java
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/OrgStatisticsResultDTO.java
@@ -15,6 +15,7 @@ public class OrgStatisticsResultDTO implements Serializable {
private static final long serialVersionUID = 9221060553279124719L;
private String customerId;
private String agencyId;
+ private String staffId;
private String level;
private String orgId;
private Integer count;
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/org/CustomerStaffGridDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/org/CustomerStaffGridDTO.java
new file mode 100644
index 0000000000..b792e6ea15
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/org/CustomerStaffGridDTO.java
@@ -0,0 +1,62 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dto.org;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+/**
+ * 网格人员关系表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-04-20
+ */
+@Data
+public class CustomerStaffGridDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 客户ID
+ */
+ private String customerId;
+ /**
+ * 组织ID
+ */
+ private String agencyId;
+ /**
+ * 网格ID
+ */
+ private String gridId;
+ /**
+ * 上级组织ID
+ */
+ private String pid;
+ /**
+ * 所有上级组织ID
+ */
+ private String pids;
+ /**
+ * 用户id, user.id
+ */
+ private String staffId;
+
+}
\ No newline at end of file
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/FactGridMemberStatisticsDailyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/FactGridMemberStatisticsDailyDTO.java
new file mode 100644
index 0000000000..071d00753c
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/FactGridMemberStatisticsDailyDTO.java
@@ -0,0 +1,181 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dto.stats;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+
+/**
+ * 网格员数据统计_日统计
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-07-02
+ */
+@Data
+public class FactGridMemberStatisticsDailyDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ private String id;
+
+ /**
+ * yyyyMMdd
+ */
+ private String dateId;
+
+ /**
+ * 月份ID
+ */
+ private String monthId;
+
+ /**
+ * 年度ID
+ */
+ private String yearId;
+
+ /**
+ * 客户ID
+ */
+ private String customerId;
+
+ /**
+ * 组织ID
+ */
+ private String agencyId;
+
+ /**
+ * 网格I
+ */
+ private String gridId;
+
+ /**
+ * 上级ID(项目来源Agency的上级组织Id)
+ */
+ private String pid;
+
+ /**
+ * 所有agencyId的上级组织ID(包含agencyId)
+ */
+ private String pids;
+
+ /**
+ * 工作人员ID
+ */
+ private String staffId;
+
+ /**
+ * 工作人员姓名
+ */
+ private String staffName;
+
+ /**
+ * 项目立项数
+ */
+ private Integer projectCount;
+
+ /**
+ * 议题转项目数
+ */
+ private Integer issueToProjectCount;
+
+ /**
+ * 议题关闭数
+ */
+ private Integer closedIssueCount;
+
+ /**
+ * 项目响应数
+ */
+ private Integer projectResponseCount;
+
+ /**
+ * 项目吹哨数
+ */
+ private Integer projectTransferCount;
+
+ /**
+ * 项目结案数
+ */
+ private Integer projectClosedCount;
+
+ /**
+ * 项目立项数日增量
+ */
+ private Integer projectCountIncr;
+
+ /**
+ * 议题转项目数日增量
+ */
+ private Integer issueToProjectIncr;
+
+ /**
+ * 议题关闭数日增量
+ */
+ private Integer closedIssueIncr;
+
+ /**
+ * 项目响应数日增量
+ */
+ private Integer projectResponseIncr;
+
+ /**
+ * 项目吹哨数日增量
+ */
+ private Integer projectTransferIncr;
+
+ /**
+ * 项目结案数日增量
+ */
+ private Integer projectClosedIncr;
+
+ /**
+ * 删除状态,0:正常,1:删除
+ */
+ private Integer delFlag;
+
+ /**
+ * 乐观锁
+ */
+ private Integer revision;
+
+ /**
+ * 创建人
+ */
+ private String createdBy;
+
+ /**
+ * 创建时间
+ */
+ private Date createdTime;
+
+ /**
+ * 更新人
+ */
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+
+}
\ No newline at end of file
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/FactGridMemberStatisticsMonthlyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/FactGridMemberStatisticsMonthlyDTO.java
new file mode 100644
index 0000000000..c5d1e237a7
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/FactGridMemberStatisticsMonthlyDTO.java
@@ -0,0 +1,146 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dto.stats;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+
+/**
+ * 网格员数据统计_月统计
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-07-02
+ */
+@Data
+public class FactGridMemberStatisticsMonthlyDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ private String id;
+
+ /**
+ * 月份ID
+ */
+ private String monthId;
+
+ /**
+ * 年度ID
+ */
+ private String yearId;
+
+ /**
+ * 客户ID
+ */
+ private String customerId;
+
+ /**
+ * 组织ID
+ */
+ private String agencyId;
+
+ /**
+ * 网格ID
+ */
+ private String gridId;
+
+ /**
+ * 上级ID(项目来源Agency的上级组织Id)
+ */
+ private String pid;
+
+ /**
+ * 所有agencyId的上级组织ID(包含agencyId)
+ */
+ private String pids;
+
+ /**
+ * 工作人员ID
+ */
+ private String staffId;
+
+ /**
+ * 工作人员姓名
+ */
+ private String staffName;
+
+ /**
+ * 项目立项数
+ */
+ private Integer projectCount;
+
+ /**
+ * 议题转项目数
+ */
+ private Integer issueToProjectCount;
+
+ /**
+ * 议题关闭数
+ */
+ private Integer closedIssueCount;
+
+ /**
+ * 项目响应数
+ */
+ private Integer projectResponseCount;
+
+ /**
+ * 项目吹哨数
+ */
+ private Integer projectTransferCount;
+
+ /**
+ * 项目结案数
+ */
+ private Integer projectClosedCount;
+
+ /**
+ * 删除状态,0:正常,1:删除
+ */
+ private Integer delFlag;
+
+ /**
+ * 乐观锁
+ */
+ private Integer revision;
+
+ /**
+ * 创建人
+ */
+ private String createdBy;
+
+ /**
+ * 创建时间
+ */
+ private Date createdTime;
+
+ /**
+ * 更新人
+ */
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+
+}
\ No newline at end of file
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/StaffRoleInfoDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/StaffRoleInfoDTO.java
new file mode 100644
index 0000000000..ba18432357
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/StaffRoleInfoDTO.java
@@ -0,0 +1,35 @@
+package com.epmet.dto.user.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author zhaoqifeng
+ * @dscription
+ * @date 2021/7/5 9:49
+ */
+@Data
+public class StaffRoleInfoDTO implements Serializable {
+ private static final long serialVersionUID = 5005209786187370928L;
+ /**
+ * 客户ID
+ */
+ private String customerId;
+
+ /**
+ * 组织ID
+ */
+ private String agencyId;
+
+ /**
+ * 用户ID
+ */
+ private String staffId;
+
+ /**
+ * 用户名
+ */
+ private String staffName;
+
+}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactGridMemberStatisticsDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactGridMemberStatisticsDailyDao.java
new file mode 100644
index 0000000000..c32a837324
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactGridMemberStatisticsDailyDao.java
@@ -0,0 +1,33 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dao.evaluationindex.extract;
+
+import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.entity.evaluationindex.extract.FactGridMemberStatisticsDailyEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 网格员数据统计_日统计
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-07-02
+ */
+@Mapper
+public interface FactGridMemberStatisticsDailyDao extends BaseDao {
+
+}
\ No newline at end of file
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactGridMemberStatisticsMonthlyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactGridMemberStatisticsMonthlyDao.java
new file mode 100644
index 0000000000..9d15a1cab5
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactGridMemberStatisticsMonthlyDao.java
@@ -0,0 +1,33 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dao.evaluationindex.extract;
+
+import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.entity.evaluationindex.extract.FactGridMemberStatisticsMonthlyEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 网格员数据统计_月统计
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-07-02
+ */
+@Mapper
+public interface FactGridMemberStatisticsMonthlyDao extends BaseDao {
+
+}
\ No newline at end of file
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java
index 1c4aa60c18..32178e4da7 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java
@@ -506,4 +506,24 @@ public interface FactOriginProjectMainDailyDao extends BaseDao
+ */
+ List getMemberProjectCountIncr(@Param("customerId")String customerId, @Param("dateId") String dateId);
+
+ /**
+ * 获取项目立项数
+ * @author zhaoqifeng
+ * @date 2021/7/5 14:49
+ * @param customerId
+ * @param dateId
+ * @return java.util.List
+ */
+ List getMemberProjectCount(@Param("customerId")String customerId, @Param("dateId") String dateId);
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/org/CustomerGridDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/org/CustomerGridDao.java
index b8d9093631..93b72c077a 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/org/CustomerGridDao.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/org/CustomerGridDao.java
@@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.group.AgencyDTO;
import com.epmet.dto.group.result.AgencyGridTotalCountResultDTO;
import com.epmet.dto.group.result.GridIdListByCustomerResultDTO;
+import com.epmet.dto.org.CustomerStaffGridDTO;
import com.epmet.dto.org.GridInfoDTO;
import com.epmet.entity.org.CustomerGridEntity;
import org.apache.ibatis.annotations.Mapper;
@@ -77,4 +78,13 @@ public interface CustomerGridDao extends BaseDao