From acd672effa451ccc711a8ef546da03e08d3afbc1 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 18 Jun 2021 12:44:38 +0800 Subject: [PATCH 01/80] =?UTF-8?q?/resi/mine/mine/profile=E6=96=B0=E5=A2=9E?= =?UTF-8?q?todayObtainedPoint=E8=BF=94=E5=8F=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/result/ResiPointDetailResultDTO.java | 4 ++++ .../src/main/resources/mapper/UserPointTotalDao.xml | 10 +++++++++- .../resi/mine/dto/result/MyResiUserInfoResultDTO.java | 5 +++++ .../com/epmet/dto/result/MyResiUserInfoResultDTO.java | 4 ++++ .../java/com/epmet/service/impl/UserServiceImpl.java | 2 ++ 5 files changed, 24 insertions(+), 1 deletion(-) diff --git a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/ResiPointDetailResultDTO.java b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/ResiPointDetailResultDTO.java index 79884a4842..350b674856 100644 --- a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/ResiPointDetailResultDTO.java +++ b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/ResiPointDetailResultDTO.java @@ -24,4 +24,8 @@ public class ResiPointDetailResultDTO implements Serializable { * */ private Integer usablePoint = 0; + /** + * 今日已获得积分,用于积分任务列表显示 + * */ + private Integer todayObtainedPoint=0; } diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointTotalDao.xml b/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointTotalDao.xml index bcf4735cb8..e9fb92c22f 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointTotalDao.xml +++ b/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointTotalDao.xml @@ -35,7 +35,15 @@ SELECT DISTINCT CUSTOMER_ID FROM point_rule WHERE DEL_FLAG = '0' + + + From e1db211d9e10d0c3cc870ca3d9e8312a53e78a5e Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 18 Jun 2021 15:30:05 +0800 Subject: [PATCH 05/80] =?UTF-8?q?=E7=A7=AF=E5=88=86=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/form/MyPointTaskFormDTO.java | 31 +++++++ .../dto/result/MyPointTaskResultDTO.java | 84 +++++++++++++++++++ .../epmet/controller/ResiPointController.java | 26 ++++-- .../com/epmet/dao/UserPointActionLogDao.java | 6 ++ .../service/UserPointActionLogService.java | 10 +++ .../impl/UserPointActionLogServiceImpl.java | 36 +++++++- .../main/resources/mapper/PointRuleDao.xml | 1 + .../mapper/UserPointActionLogDao.xml | 58 +++++++++++++ 8 files changed, 245 insertions(+), 7 deletions(-) create mode 100644 epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/MyPointTaskFormDTO.java create mode 100644 epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/MyPointTaskResultDTO.java diff --git a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/MyPointTaskFormDTO.java b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/MyPointTaskFormDTO.java new file mode 100644 index 0000000000..16553dcc2f --- /dev/null +++ b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/MyPointTaskFormDTO.java @@ -0,0 +1,31 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 积分任务列表查询入参 + * + * @author yinzuomei@elink-cn.com + * @date 2021/6/18 13:56 + */ +@Data +public class MyPointTaskFormDTO implements Serializable { + private static final long serialVersionUID = 8274146750217261820L; + + /** + * 当前用户Id + * */ + @NotBlank(message = "tokenDto获取userId为空") + private String userId; + + @NotBlank(message = "tokenDto获取customerId为空") + private String customerId; + /** + * 未完成:unfinished;已完成:finished;全部:all + * */ + @NotBlank(message = "未完成:unfinished;已完成:finished;全部:all") + private String type; +} diff --git a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/MyPointTaskResultDTO.java b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/MyPointTaskResultDTO.java new file mode 100644 index 0000000000..5effadae1f --- /dev/null +++ b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/MyPointTaskResultDTO.java @@ -0,0 +1,84 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 积分任务列表查询返参 + * + * @author yinzuomei@elink-cn.com + * @date 2021/6/18 13:58 + */ +@Data +public class MyPointTaskResultDTO implements Serializable { + + /** + * 规则名称 + * */ + private String ruleName; + + /** + * 规则描述 + * */ + private String ruleDesc; + + /** + * 加减积分描述,举例:积分+2 + * */ + private String pointDesc; + + /** + * 完成情况描述,举例:完成0/3 + * */ + private String finishTotalDesc; + + /** + * 去完成 or 已完成 + * */ + private String finishFlag; + + /** + * 楼院小组:group;爱心互助:heart; 前端根据这个key跳转到相应页面 + * */ + private String linkPage; + + + + /** + * 事件CODE 来自事件表 + */ + // @JsonIgnore + private String eventCode; + + /** + * 操作类型 加积分:add;减积分:subtract + */ + // @JsonIgnore + private String operateType; + + /** + * 积分上限 0表示不涉及积分上限; + */ + // @JsonIgnore + private Integer upLimit; + + /** + * 获得积分值 + */ + // @JsonIgnore + private Integer point; + /** + * 已完成次数 + */ + private Integer finishedCount; + + /** + * 上限次数,-1代表没有上限 + */ + private Integer upLimitCount; + /** + * 排序 + */ + private Integer sort; +} diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ResiPointController.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ResiPointController.java index 5c3b666fa1..4b3346ce40 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ResiPointController.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ResiPointController.java @@ -4,10 +4,7 @@ import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.dto.form.CommonPageUserFormDTO; -import com.epmet.dto.form.CommonUserFormDTO; -import com.epmet.dto.form.ResiAroundPartyPointRankFormDTO; -import com.epmet.dto.form.ResiPointRankFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.service.PointVerificationLogService; import com.epmet.service.UserPointActionLogService; @@ -15,7 +12,10 @@ import com.epmet.service.UserPointStatisticalDailyService; import com.epmet.service.UserPointTotalService; import com.epmet.utils.ModuleConstant; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; +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.List; @@ -156,4 +156,20 @@ public class ResiPointController { List resultDTOS = userPointStatisticalDailyService.listAroundPartyPointRank(formDTO); return new Result>().ok(resultDTOS); } + + /** + * @return com.epmet.commons.tools.utils.Result> + * @param tokenDto + * @param formDTO + * @author yinzuomei + * @description 积分任务列表 + * @Date 2021/6/18 14:19 + **/ + @PostMapping("mytasklist") + public Result> queryMyPointTaskList(@LoginUser TokenDto tokenDto,@RequestBody MyPointTaskFormDTO formDTO){ + formDTO.setUserId(tokenDto.getUserId()); + formDTO.setCustomerId(tokenDto.getCustomerId()); + ValidatorUtils.validateEntity(formDTO); + return new Result>().ok(pointActionLogService.queryMyPointTaskList(formDTO)); + } } diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/UserPointActionLogDao.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/UserPointActionLogDao.java index a2c1963e85..1db465d453 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/UserPointActionLogDao.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/UserPointActionLogDao.java @@ -18,6 +18,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.result.MyPointTaskResultDTO; import com.epmet.dto.result.ResiPointLogPeriodResultDTO; import com.epmet.entity.UserPointActionLogEntity; import org.apache.ibatis.annotations.Mapper; @@ -63,4 +64,9 @@ public interface UserPointActionLogDao extends BaseDao * @return java.lang.Integer */ Integer selectIncrease(@Param("type")String type, @Param("objectId")String objectId); + + List queryMyPointTaskList(@Param("customerId")String customerId, + @Param("userId")String userId, + @Param("type")String type, + @Param("dateId")String dateId); } \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/UserPointActionLogService.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/UserPointActionLogService.java index 892fd67a11..314b9b46db 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/UserPointActionLogService.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/UserPointActionLogService.java @@ -22,6 +22,8 @@ import com.epmet.commons.tools.dto.form.mq.eventmsg.BasePointEventMsg; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.UserPointActionLogDTO; import com.epmet.dto.form.CommonPageUserFormDTO; +import com.epmet.dto.form.MyPointTaskFormDTO; +import com.epmet.dto.result.MyPointTaskResultDTO; import com.epmet.dto.result.ResiPointLogListResultDTO; import com.epmet.entity.UserPointActionLogEntity; import dto.form.SendPointFormDTO; @@ -133,4 +135,12 @@ public interface UserPointActionLogService extends BaseService + */ + List queryMyPointTaskList(MyPointTaskFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java index af4b5fd499..e07a34d8b8 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java @@ -35,9 +35,14 @@ import com.epmet.dto.BizPointTotalDetailDTO; import com.epmet.dto.BizPointUserTotalDetailDTO; import com.epmet.dto.UserPointActionLogDTO; import com.epmet.dto.form.CommonPageUserFormDTO; +import com.epmet.dto.form.MyPointTaskFormDTO; +import com.epmet.dto.result.MyPointTaskResultDTO; import com.epmet.dto.result.ResiPointLogListResultDTO; import com.epmet.dto.result.ResiPointLogPeriodResultDTO; -import com.epmet.entity.*; +import com.epmet.entity.PointRuleEntity; +import com.epmet.entity.UserPointActionLogEntity; +import com.epmet.entity.UserPointStatisticalDailyEntity; +import com.epmet.entity.UserPointTotalEntity; import com.epmet.service.*; import com.epmet.utils.DimIdGenerator; import com.epmet.utils.ModuleConstant; @@ -54,7 +59,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; -import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -512,4 +516,32 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl + */ + @Override + public List queryMyPointTaskList(MyPointTaskFormDTO formDTO) { + //默认查询当天 + String dateId= DateUtils.getBeforeNDay(0); + List list=baseDao.queryMyPointTaskList(formDTO.getCustomerId(),formDTO.getUserId(),formDTO.getType(), dateId); + list.forEach(dto->{ + if(NumConstant.ZERO==dto.getUpLimit()){ + //无上限 + dto.setFinishTotalDesc("完成"+dto.getFinishedCount()); + dto.setFinishFlag("去完成"); + }else{ + dto.setFinishTotalDesc("完成".concat(String.valueOf(dto.getFinishedCount())).concat("/").concat(String.valueOf(dto.getUpLimitCount()))); + if(dto.getUpLimitCount().equals(dto.getFinishedCount())){ + dto.setFinishFlag("已完成"); + }else{ + dto.setFinishFlag("未完成"); + } + } + }); + return list; + } } \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/PointRuleDao.xml b/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/PointRuleDao.xml index c18c78976b..f6518db3bc 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/PointRuleDao.xml +++ b/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/PointRuleDao.xml @@ -33,6 +33,7 @@ CUSTOMER_ID = #{customerId,jdbcType=VARCHAR} AND FUNCTION_ID = #{functionId,jdbcType=VARCHAR} AND DEL_FLAG = '0' + order by sort asc UPDATE point_rule diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointActionLogDao.xml b/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointActionLogDao.xml index c7c6bf89c2..1cfe66e4ee 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointActionLogDao.xml +++ b/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointActionLogDao.xml @@ -73,4 +73,62 @@ AND OBJECT_ID = #{objectId} AND DATE_FORMAT(CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(NOW(), '%Y-%m-%d') + + \ No newline at end of file From 7786e99ffaadb26bf7bc4020ddf3736f9bbca4fb Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 18 Jun 2021 15:46:47 +0800 Subject: [PATCH 06/80] =?UTF-8?q?upLimitCount=3D0=E4=BB=A3=E8=A1=A8?= =?UTF-8?q?=E6=97=A0=E4=B8=8A=E9=99=90=E6=AC=A1=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/dto/result/MyPointTaskResultDTO.java | 2 +- .../src/main/resources/mapper/UserPointActionLogDao.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/MyPointTaskResultDTO.java b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/MyPointTaskResultDTO.java index 5effadae1f..670faa5580 100644 --- a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/MyPointTaskResultDTO.java +++ b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/MyPointTaskResultDTO.java @@ -74,7 +74,7 @@ public class MyPointTaskResultDTO implements Serializable { private Integer finishedCount; /** - * 上限次数,-1代表没有上限 + * 上限次数,0代表没有上限次数 */ private Integer upLimitCount; /** diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointActionLogDao.xml b/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointActionLogDao.xml index 1cfe66e4ee..7062931d70 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointActionLogDao.xml +++ b/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointActionLogDao.xml @@ -109,7 +109,7 @@ AND u.CUSTOMER_ID = #{customerId} AND DATE_FORMAT( u.CREATED_TIME, '%Y%m%d' ) =#{dateId} ) AS finishedCount, - (case when pr.UP_LIMIT='0' then '-1' + (case when pr.UP_LIMIT='0' then '0' else CEIL(pr.UP_LIMIT/pr.point) end )as upLimitCount, From fb167188f301b312a11e48efa970842bc76b1567 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 18 Jun 2021 16:32:43 +0800 Subject: [PATCH 07/80] .. --- .../epmet/service/impl/PointRuleServiceImpl.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java index 667662594f..cf139df803 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java @@ -205,16 +205,20 @@ public class PointRuleServiceImpl extends BaseServiceImpl Date: Fri, 18 Jun 2021 17:30:43 +0800 Subject: [PATCH 08/80] =?UTF-8?q?=E6=94=AF=E6=8C=81=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=8E=86=E5=8F=B2=E6=97=A5=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/dto/form/MyPointTaskFormDTO.java | 1 + .../main/java/com/epmet/controller/ResiPointController.java | 6 ++++++ .../epmet/service/impl/UserPointActionLogServiceImpl.java | 4 +--- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/MyPointTaskFormDTO.java b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/MyPointTaskFormDTO.java index 16553dcc2f..d8177cda61 100644 --- a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/MyPointTaskFormDTO.java +++ b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/MyPointTaskFormDTO.java @@ -28,4 +28,5 @@ public class MyPointTaskFormDTO implements Serializable { * */ @NotBlank(message = "未完成:unfinished;已完成:finished;全部:all") private String type; + private String dateId; } diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ResiPointController.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ResiPointController.java index 4b3346ce40..b52a602ede 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ResiPointController.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ResiPointController.java @@ -2,6 +2,7 @@ package com.epmet.controller; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.form.*; @@ -11,6 +12,7 @@ import com.epmet.service.UserPointActionLogService; import com.epmet.service.UserPointStatisticalDailyService; import com.epmet.service.UserPointTotalService; import com.epmet.utils.ModuleConstant; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -169,6 +171,10 @@ public class ResiPointController { public Result> queryMyPointTaskList(@LoginUser TokenDto tokenDto,@RequestBody MyPointTaskFormDTO formDTO){ formDTO.setUserId(tokenDto.getUserId()); formDTO.setCustomerId(tokenDto.getCustomerId()); + //默认查询当天 + if(StringUtils.isBlank(formDTO.getDateId())){ + formDTO.setDateId(DateUtils.getBeforeNDay(0)); + } ValidatorUtils.validateEntity(formDTO); return new Result>().ok(pointActionLogService.queryMyPointTaskList(formDTO)); } diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java index e07a34d8b8..d8561e797b 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java @@ -525,9 +525,7 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl queryMyPointTaskList(MyPointTaskFormDTO formDTO) { - //默认查询当天 - String dateId= DateUtils.getBeforeNDay(0); - List list=baseDao.queryMyPointTaskList(formDTO.getCustomerId(),formDTO.getUserId(),formDTO.getType(), dateId); + List list=baseDao.queryMyPointTaskList(formDTO.getCustomerId(),formDTO.getUserId(),formDTO.getType(), formDTO.getDateId()); list.forEach(dto->{ if(NumConstant.ZERO==dto.getUpLimit()){ //无上限 From 02756dc1eaa1ec1b732b1e640645aa324cf11234 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 21 Jun 2021 09:02:03 +0800 Subject: [PATCH 09/80] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E6=97=A5=E5=BF=97messa?= =?UTF-8?q?ge=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/PointRuleServiceImpl.java | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java index cf139df803..d69d029d18 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java @@ -182,8 +182,11 @@ public class PointRuleServiceImpl extends BaseServiceImpl messages = disposeLog(formDTO, entityDB); - // TODO add + String messages = disposeLog(formDTO, entityDB); + if (StringUtils.isNotBlank(messages)){ + // TODO add + + } } /** @@ -193,33 +196,34 @@ public class PointRuleServiceImpl extends BaseServiceImpl disposeLog(PointRuleFormDTO f,PointRuleEntity e){ - List result = new ArrayList<>(); + private String disposeLog(PointRuleFormDTO f,PointRuleEntity e){ + StringBuffer sb = new StringBuffer(); // 单位积分 if (!e.getPoint().equals(f.getPoint())){ String s = String.format(StrConstant.POINT_CHANGE, e.getRuleName(), e.getPoint(), f.getPoint()); - result.add(s); + sb.append(s).append(","); } // 积分上限 if (!e.getUpLimit().equals(f.getUpLimit())){ String s = String.format(StrConstant.POINT_CHANGE, e.getRuleName(), e.getUpLimit(), f.getUpLimit()); - result.add(s); + sb.append(s).append(","); } // 积分说明 if (!e.getRuleDesc().equals(f.getRuleDesc())){ String s = String.format(StrConstant.POINT_CHANGE, e.getRuleName(), e.getRuleDesc(), f.getRuleDesc()); - result.add(s); + sb.append(s).append(","); } // 规则启用 if(!e.getEnabledFlag().equals(f.getEnabledFlag())){ String s = String.format(StrConstant.POINT_CHANGE, e.getRuleName(), e.getEnabledFlag(), f.getEnabledFlag()); + sb.append(s).append(","); } // 积分事件 if (!e.getRuleName().equals(f.getRuleName())){ String s = String.format(StrConstant.POINT_CHANGE, e.getRuleName(), e.getRuleName(), f.getRuleName()); - result.add(s); + sb.append(s).append(","); } - return result; + return sb.substring(NumConstant.ZERO,sb.length() - NumConstant.ONE); } private void validateEnableFlag(PointRuleFormDTO formDTO) { From 3598a8163689a29c097bb253d9eac76cac1d193b Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 21 Jun 2021 10:10:01 +0800 Subject: [PATCH 10/80] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/result/MyPointTaskResultDTO.java | 7 +++++ .../epmet/entity/PointRuleDefaultEntity.java | 15 ++++++++++ .../com/epmet/entity/PointRuleEntity.java | 15 ++++++++++ .../impl/UserPointActionLogServiceImpl.java | 4 ++- .../db/migration/V0.0.11__point_rule_sort.sql | 29 +++++++++++++++++++ .../mapper/UserPointActionLogDao.xml | 3 +- 6 files changed, 71 insertions(+), 2 deletions(-) create mode 100644 epmet-module/epmet-point/epmet-point-server/src/main/resources/db/migration/V0.0.11__point_rule_sort.sql diff --git a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/MyPointTaskResultDTO.java b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/MyPointTaskResultDTO.java index 670faa5580..d096373307 100644 --- a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/MyPointTaskResultDTO.java +++ b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/MyPointTaskResultDTO.java @@ -1,5 +1,6 @@ package com.epmet.dto.result; +import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import java.io.Serializable; @@ -81,4 +82,10 @@ public class MyPointTaskResultDTO implements Serializable { * 排序 */ private Integer sort; + + /** + * 一次性任务?1:是;0:不是 + */ + @JsonIgnore + private String disposable; } diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/entity/PointRuleDefaultEntity.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/entity/PointRuleDefaultEntity.java index bbb6055148..9b5cd7f6bc 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/entity/PointRuleDefaultEntity.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/entity/PointRuleDefaultEntity.java @@ -94,4 +94,19 @@ public class PointRuleDefaultEntity extends BaseEpmetEntity { * 是否启用 0-否,1-是 */ private String enabledFlag; + + /** + * 规则显示顺序 + */ + private Integer sort; + + /** + * 链接页面 + */ + private String linkPage; + + /** + * 一次性任务?1:是;0:不是 + */ + private String disposable; } diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/entity/PointRuleEntity.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/entity/PointRuleEntity.java index 6468d86afb..7191215345 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/entity/PointRuleEntity.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/entity/PointRuleEntity.java @@ -102,6 +102,21 @@ public class PointRuleEntity extends BaseEpmetEntity { */ private String enabledFlag; + /** + * 规则显示顺序 + */ + private Integer sort; + + /** + * 链接页面 + */ + private String linkPage; + + /** + * 一次性任务?1:是;0:不是 + */ + private String disposable; + @Override public boolean equals(Object o) { if (this == o) return true; diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java index d8561e797b..740ec82f8f 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java @@ -28,7 +28,6 @@ import com.epmet.commons.tools.enums.EventEnum; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dao.UserPointActionLogDao; import com.epmet.dto.BizPointTotalDetailDTO; @@ -539,6 +538,9 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl Date: Mon, 21 Jun 2021 10:26:43 +0800 Subject: [PATCH 11/80] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/form/MyPointTaskFormDTO.java | 4 ++++ .../com/epmet/dto/result/MyPointTaskResultDTO.java | 11 +++++++---- .../service/impl/UserPointActionLogServiceImpl.java | 1 + 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/MyPointTaskFormDTO.java b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/MyPointTaskFormDTO.java index d8177cda61..b66f5937b8 100644 --- a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/MyPointTaskFormDTO.java +++ b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/MyPointTaskFormDTO.java @@ -28,5 +28,9 @@ public class MyPointTaskFormDTO implements Serializable { * */ @NotBlank(message = "未完成:unfinished;已完成:finished;全部:all") private String type; + + /** + * yyyyMMdd,现在默认是当天,后端代码写死 + * */ private String dateId; } diff --git a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/MyPointTaskResultDTO.java b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/MyPointTaskResultDTO.java index d096373307..49e72aee25 100644 --- a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/MyPointTaskResultDTO.java +++ b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/MyPointTaskResultDTO.java @@ -49,38 +49,41 @@ public class MyPointTaskResultDTO implements Serializable { /** * 事件CODE 来自事件表 */ - // @JsonIgnore + @JsonIgnore private String eventCode; /** * 操作类型 加积分:add;减积分:subtract */ - // @JsonIgnore + @JsonIgnore private String operateType; /** * 积分上限 0表示不涉及积分上限; */ - // @JsonIgnore + @JsonIgnore private Integer upLimit; /** * 获得积分值 */ - // @JsonIgnore + @JsonIgnore private Integer point; /** * 已完成次数 */ + @JsonIgnore private Integer finishedCount; /** * 上限次数,0代表没有上限次数 */ + @JsonIgnore private Integer upLimitCount; /** * 排序 */ + @JsonIgnore private Integer sort; /** diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java index 740ec82f8f..8abbdaf26e 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java @@ -538,6 +538,7 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl Date: Mon, 21 Jun 2021 13:25:31 +0800 Subject: [PATCH 12/80] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A"=E7=A7=AF?= =?UTF-8?q?=E5=88=86=E8=A7=84=E5=88=99=E4=BF=AE=E6=94=B9"=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E6=97=A5=E5=BF=97=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mq/listener/RocketMQConsumerRegister.java | 2 + .../listener/PointOperationLogListener.java | 91 +++++++++++++++++++ .../constants/ConsomerGroupConstants.java | 6 +- .../rocketmq/constants/TopicConstants.java | 6 ++ .../messages/PointRuleChangedMQMsg.java | 33 +++++++ .../com/epmet/constant/SystemMessageType.java | 5 + .../epmet/enums/SystemMessageTypeEnum.java | 33 +++++++ .../java/com/epmet/send/SendMqMsgUtil.java | 30 ++++++ .../impl/SystemMessageServiceImpl.java | 5 +- .../epmet-point/epmet-point-server/pom.xml | 6 +- .../service/impl/PointRuleServiceImpl.java | 31 +++++-- 11 files changed, 237 insertions(+), 11 deletions(-) create mode 100644 epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/PointOperationLogListener.java create mode 100644 epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/PointRuleChangedMQMsg.java create mode 100644 epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/enums/SystemMessageTypeEnum.java diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/RocketMQConsumerRegister.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/RocketMQConsumerRegister.java index ef71399b7d..1399fe6a13 100644 --- a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/RocketMQConsumerRegister.java +++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/RocketMQConsumerRegister.java @@ -4,6 +4,7 @@ import com.epmet.commons.rocketmq.constants.ConsomerGroupConstants; import com.epmet.commons.rocketmq.constants.TopicConstants; import com.epmet.commons.tools.enums.EnvEnum; import com.epmet.mq.listener.listener.AuthOperationLogListener; +import com.epmet.mq.listener.listener.PointOperationLogListener; import com.epmet.mq.listener.listener.ProjectOperationLogListener; import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer; import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; @@ -33,6 +34,7 @@ public class RocketMQConsumerRegister { if (!EnvEnum.LOCAL.getCode().equals(env)) { register(nameServer, ConsomerGroupConstants.AUTH_OPERATION_LOG_GROUP, MessageModel.CLUSTERING, TopicConstants.AUTH, "*", new AuthOperationLogListener()); register(nameServer, ConsomerGroupConstants.PROJECT_OPERATION_LOG_GROUP, MessageModel.CLUSTERING, TopicConstants.PROJECT_CHANGED, "*", new ProjectOperationLogListener()); + register(nameServer, ConsomerGroupConstants.POINT_OPERATION_LOG_GROUP, MessageModel.CLUSTERING, TopicConstants.POINT, "*", new PointOperationLogListener()); } } catch (MQClientException e) { e.printStackTrace(); diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/PointOperationLogListener.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/PointOperationLogListener.java new file mode 100644 index 0000000000..f953c35edc --- /dev/null +++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/PointOperationLogListener.java @@ -0,0 +1,91 @@ +package com.epmet.mq.listener.listener; + +import com.alibaba.fastjson.JSON; +import com.epmet.commons.rocketmq.messages.PointRuleChangedMQMsg; +import com.epmet.commons.tools.distributedlock.DistributedLock; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.utils.SpringContextUtils; +import com.epmet.entity.LogOperationEntity; +import com.epmet.enums.SystemMessageTypeEnum; +import com.epmet.mq.listener.bean.log.LogOperationHelper; +import com.epmet.mq.listener.bean.log.OperatorInfo; +import com.epmet.service.LogOperationService; +import org.apache.commons.lang3.StringUtils; +import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext; +import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus; +import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; +import org.apache.rocketmq.common.message.MessageExt; +import org.redisson.api.RLock; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.List; +import java.util.concurrent.TimeUnit; + +/** + * @author wxz + * @Description 积分相关日志监听器 + + * @return + * @date 2021.06.21 10:13 + */ +public class PointOperationLogListener implements MessageListenerConcurrently { + + private Logger logger = LoggerFactory.getLogger(getClass()); + + @Override + public ConsumeConcurrentlyStatus consumeMessage(List msgs, ConsumeConcurrentlyContext context) { + try { + msgs.forEach(msg -> consumeMessage(msg)); + } catch (Exception e) { + logger.error(ExceptionUtils.getErrorStackTrace(e)); + return ConsumeConcurrentlyStatus.RECONSUME_LATER; + } + return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; + } + + private void consumeMessage(MessageExt messageExt) { + String opeType = messageExt.getTags(); + String msg = new String(messageExt.getBody()); + logger.info("积分操作日志监听器-收到消息内容:{}", msg); + PointRuleChangedMQMsg msgObj = JSON.parseObject(msg, PointRuleChangedMQMsg.class); + + String content = StringUtils.isBlank(msgObj.getOperationBrief()) ? "" : msgObj.getOperationBrief(); + + OperatorInfo operatorInfo = LogOperationHelper.getInstance().getOperatorInfo(msgObj.getOperatorId()); + + LogOperationEntity logEntity = new LogOperationEntity(); + logEntity.setCategory(messageExt.getTopic()); + logEntity.setType(opeType); + logEntity.setTypeDisplay(SystemMessageTypeEnum.getTypeDisplay(opeType)); + logEntity.setTargetId(msgObj.getRuleId()); + logEntity.setIp(msgObj.getIp()); + logEntity.setFromApp(msgObj.getFromApp()); + logEntity.setFromClient(msgObj.getFromClient()); + logEntity.setCustomerId(operatorInfo.getCustomerId()); + logEntity.setOperatorId(msgObj.getOperatorId()); + logEntity.setOperatorMobile(operatorInfo.getMobile()); + logEntity.setOperatorName(operatorInfo.getName()); + logEntity.setOperatingTime(msgObj.getOperatingTime()); + logEntity.setContent(content); + + DistributedLock distributedLock = null; + RLock lock = null; + try { + distributedLock = SpringContextUtils.getBean(DistributedLock.class); + lock = distributedLock.getLock(String.format("lock:point_operation_log:%s:%s", logEntity.getType(), logEntity.getTargetId()), + 30L, 30L, TimeUnit.SECONDS); + SpringContextUtils.getBean(LogOperationService.class).log(logEntity); + } catch (RenException e) { + // 如果是我们手动抛出的异常,说明在业务可控范围内。目前不需要MQ重试 + logger.error("【RocketMQ】添加操作日志失败:".concat(ExceptionUtils.getErrorStackTrace(e))); + } catch (Exception e) { + // 不是我们自己抛出的异常,可以让MQ重试 + logger.error("【RocketMQ】添加操作日志失败:".concat(ExceptionUtils.getErrorStackTrace(e))); + throw e; + } finally { + distributedLock.unLock(lock); + } + } +} diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java index ef5970dbb3..890d19acf1 100644 --- a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java +++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java @@ -37,8 +37,12 @@ public interface ConsomerGroupConstants { String AUTH_OPERATION_LOG_GROUP = "auth_operation_log_group"; /** - * 项目操作日志小肥猪 + * 项目操作日志消费组 */ String PROJECT_OPERATION_LOG_GROUP = "project_operation_log_group"; + /** + * 积分操作消费组 + */ + String POINT_OPERATION_LOG_GROUP = "point_operation_log_group"; } diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java index 70d4e006f8..8fe36aa53a 100644 --- a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java +++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java @@ -2,6 +2,7 @@ package com.epmet.commons.rocketmq.constants; /** * 话题列表常量,其他服务要想发送消息到mq,则应当引入epmet-commons-rocketmq模块,并且使用此常量 + * 用于mq中的topic */ public interface TopicConstants { /** @@ -21,4 +22,9 @@ public interface TopicConstants { * 认证 */ String AUTH = "auth"; + + /** + * 积分系统话题 + */ + String POINT = "point"; } diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/PointRuleChangedMQMsg.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/PointRuleChangedMQMsg.java new file mode 100644 index 0000000000..073d18821c --- /dev/null +++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/PointRuleChangedMQMsg.java @@ -0,0 +1,33 @@ +package com.epmet.commons.rocketmq.messages; + +import lombok.Data; + +import java.util.Date; + +/** + * 积分规则变动消息体 + */ +@Data +public class PointRuleChangedMQMsg { + /** + * 操作简介 + */ + private String operationBrief; + + /** + * 规则的id + */ + private String ruleId; + /** + * 谁操作的 + */ + private String operatorId; + + private String ip; + + private String fromApp; + + private String fromClient; + + private Date operatingTime; +} diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java index bc71d2817a..626b081436 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java @@ -20,4 +20,9 @@ public interface SystemMessageType { */ String GROUP_ACHIEVEMENT = "group_achievement"; + /** + * 积分规则变动 + */ + String POINT_RULE_CHANGED = "point_rule_changed"; + } diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/enums/SystemMessageTypeEnum.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/enums/SystemMessageTypeEnum.java new file mode 100644 index 0000000000..ce5b3835b3 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/enums/SystemMessageTypeEnum.java @@ -0,0 +1,33 @@ +package com.epmet.enums; + +import com.epmet.constant.SystemMessageType; +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor +@Getter +public enum SystemMessageTypeEnum { + + POINT_RULE_CHANGED(SystemMessageType.POINT_RULE_CHANGED, "积分规则修改"); + + private String type; + private String typeDisplay; + + public static SystemMessageTypeEnum get(String type) { + for (SystemMessageTypeEnum e : SystemMessageTypeEnum.values()) { + if (e.type.equals(type)) { + return e; + } + } + return null; + } + + public static String getTypeDisplay(String type) { + SystemMessageTypeEnum o = get(type); + if (o != null) { + return o.getTypeDisplay(); + } + return null; + } + +} diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java index a6204e07ac..4c7241decd 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java @@ -1,6 +1,7 @@ package com.epmet.send; import com.alibaba.fastjson.JSON; +import com.epmet.commons.rocketmq.messages.PointRuleChangedMQMsg; import com.epmet.commons.rocketmq.messages.ProjectChangedMQMsg; import com.epmet.commons.rocketmq.messages.GroupAchievementMQMsg; import com.epmet.commons.tools.constant.NumConstant; @@ -98,4 +99,33 @@ public class SendMqMsgUtil { return false; } + /** + * @Description 发送积分规则变动消息 + * @return + * @author wxz + * @date 2021.06.21 12:46 + */ + public boolean sendPointRuleChangedMqMsg(PointRuleChangedMQMsg msg) { + try { + SystemMsgFormDTO msgForm = new SystemMsgFormDTO(); + msgForm.setMessageType(SystemMessageType.POINT_RULE_CHANGED); + msgForm.setContent(msg); + Result sendMsgResult = null; + log.info("sendPointRuleChangedMqMsg param:{}",msgForm); + int retryTime = 0; + do { + sendMsgResult = epmetMessageOpenFeignClient.sendSystemMsgByMQ(msgForm); + } while ((sendMsgResult == null || !sendMsgResult.success()) && retryTime++ < NumConstant.TWO); + + if (sendMsgResult != null && sendMsgResult.success()) { + return true; + } + log.error("发送(积分规则变动)系统消息到message服务失败:{},msg:{}", JSON.toJSONString(sendMsgResult), JSON.toJSONString(msgForm)); + } catch (Exception e) { + log.error("sendMqMsg exception", e); + } + return false; + + } + } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java index 6813dcd362..9c56520419 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java @@ -73,11 +73,12 @@ public class SystemMessageServiceImpl implements SystemMessageService { topic = TopicConstants.GROUP_ACHIEVEMENT; break; case AuthOperationConstants.LOGIN: - topic = TopicConstants.AUTH; - break; case AuthOperationConstants.LOGOUT: topic = TopicConstants.AUTH; break; + case SystemMessageType.POINT_RULE_CHANGED: + topic = TopicConstants.POINT; + break; } return topic; } diff --git a/epmet-module/epmet-point/epmet-point-server/pom.xml b/epmet-module/epmet-point/epmet-point-server/pom.xml index b84752a530..2b97d78d8d 100644 --- a/epmet-module/epmet-point/epmet-point-server/pom.xml +++ b/epmet-module/epmet-point/epmet-point-server/pom.xml @@ -15,7 +15,11 @@ jar - + + com.epmet + epmet-message-client + 2.0.0 + com.epmet epmet-commons-tools diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java index d69d029d18..3ce16b5f78 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java @@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.epmet.common.enu.PointUnitEnum; import com.epmet.common.enu.SysResponseEnum; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.rocketmq.messages.PointRuleChangedMQMsg; import com.epmet.commons.tools.constant.Constant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; @@ -31,7 +32,9 @@ import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.ExceptionUtils; 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.ConvertUtils; +import com.epmet.commons.tools.utils.IpUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.SpringContextUtils; import com.epmet.dao.PointRuleDao; @@ -40,17 +43,16 @@ import com.epmet.dao.RuleOperateLogDao; import com.epmet.dto.CustomerDTO; import com.epmet.dto.CustomerStaffDTO; import com.epmet.dto.InitPointRuleResultDTO; -import com.epmet.dto.form.CustomerFunctionListFormDTO; -import com.epmet.dto.form.PointDetailFormDTO; -import com.epmet.dto.form.PointRuleFormDTO; -import com.epmet.dto.form.PointRuleListFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.PointRuleDefaultEntity; import com.epmet.entity.PointRuleEntity; import com.epmet.entity.RuleOperateLogEntity; +import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.OperCrmOpenFeignClient; import com.epmet.feign.OperCustomizeOpenFeignClient; +import com.epmet.send.SendMqMsgUtil; import com.epmet.service.PointRuleService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -58,7 +60,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import javax.servlet.http.HttpServletRequest; import java.util.*; import java.util.concurrent.ExecutorService; import java.util.concurrent.atomic.AtomicInteger; @@ -83,6 +88,10 @@ public class PointRuleServiceImpl extends BaseServiceImpl getFunctionList(String customerId) { @@ -184,11 +193,19 @@ public class PointRuleServiceImpl extends BaseServiceImpl Date: Mon, 21 Jun 2021 13:53:40 +0800 Subject: [PATCH 13/80] =?UTF-8?q?true=E5=92=8Cfalse=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/PointRuleServiceImpl.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java index 3ce16b5f78..6ecc8e80d2 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java @@ -231,7 +231,13 @@ public class PointRuleServiceImpl extends BaseServiceImpl Date: Mon, 21 Jun 2021 14:08:08 +0800 Subject: [PATCH 14/80] =?UTF-8?q?=E8=A7=84=E5=88=99=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/commons/tools/constant/StrConstant.java | 2 +- .../com/epmet/service/impl/PointRuleServiceImpl.java | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java index 7cd1cb998e..175c439de9 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java @@ -90,5 +90,5 @@ public interface StrConstant { /** * 单位积分,积分上限,积分说明,积分事件 */ - String POINT_CHANGE = "修改了%s规则,将%s调整为%s"; + String POINT_CHANGE = "修改了%s规则,将%s由%s调整为%s"; } diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java index 6ecc8e80d2..315c1497dd 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java @@ -217,17 +217,17 @@ public class PointRuleServiceImpl extends BaseServiceImpl Date: Mon, 21 Jun 2021 14:18:07 +0800 Subject: [PATCH 15/80] =?UTF-8?q?=E8=A7=84=E5=88=99=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/service/impl/PointRuleServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java index 315c1497dd..34b29fb534 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java @@ -238,7 +238,7 @@ public class PointRuleServiceImpl extends BaseServiceImpl Date: Mon, 21 Jun 2021 14:35:18 +0800 Subject: [PATCH 16/80] =?UTF-8?q?=E8=A7=84=E5=88=99=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commons/tools/constant/StrConstant.java | 7 ++++++- .../service/impl/PointRuleServiceImpl.java | 20 ++++++++++++++----- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java index 175c439de9..deab895df4 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java @@ -90,5 +90,10 @@ public interface StrConstant { /** * 单位积分,积分上限,积分说明,积分事件 */ - String POINT_CHANGE = "修改了%s规则,将%s由%s调整为%s"; + String POINT_CHANGE = "将%s由%s调整为%s"; + + /** + * 积分规则修改的头 + */ + String POINT_CHANGE_HEAD = "修改了%s规则,"; } diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java index 34b29fb534..2b02e992c5 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java @@ -215,20 +215,25 @@ public class PointRuleServiceImpl extends BaseServiceImpl Date: Tue, 22 Jun 2021 12:30:13 +0800 Subject: [PATCH 17/80] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/UserPointActionLogServiceImpl.java | 2 +- .../src/main/resources/logback-spring.xml | 2 +- .../resources/mapper/UserPointActionLogDao.xml | 16 +++++++++++++--- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java index 8abbdaf26e..16be869b5a 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java @@ -535,7 +535,7 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl - + diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointActionLogDao.xml b/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointActionLogDao.xml index 4110a34989..d2a4f0f212 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointActionLogDao.xml +++ b/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointActionLogDao.xml @@ -74,6 +74,9 @@ AND DATE_FORMAT(CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(NOW(), '%Y-%m-%d') + + + + \ No newline at end of file From 606c57a3083311c0055428e807b477a2b1607438 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 25 Jun 2021 16:44:31 +0800 Subject: [PATCH 18/80] .. --- .../commons/tools/constant/StrConstant.java | 4 ++-- .../service/impl/PointRuleServiceImpl.java | 20 +++++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java index deab895df4..ffc18f704e 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java @@ -90,10 +90,10 @@ public interface StrConstant { /** * 单位积分,积分上限,积分说明,积分事件 */ - String POINT_CHANGE = "将%s由%s调整为%s"; + String POINT_CHANGE = "将%s调整为%s,"; /** * 积分规则修改的头 */ - String POINT_CHANGE_HEAD = "修改了%s规则,"; + String POINT_CHANGE_HEAD = "修改了%s规则,"; } diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java index 2b02e992c5..a9d6944d68 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java @@ -219,20 +219,20 @@ public class PointRuleServiceImpl extends BaseServiceImpl Date: Fri, 25 Jun 2021 16:47:37 +0800 Subject: [PATCH 19/80] ,, --- .../com/epmet/commons/tools/constant/StrConstant.java | 4 ++-- .../com/epmet/service/impl/PointRuleServiceImpl.java | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java index ffc18f704e..c601d2fd71 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java @@ -90,10 +90,10 @@ public interface StrConstant { /** * 单位积分,积分上限,积分说明,积分事件 */ - String POINT_CHANGE = "将%s调整为%s,"; + String POINT_CHANGE = "将%s调整为%s"; /** * 积分规则修改的头 */ - String POINT_CHANGE_HEAD = "修改了%s规则,"; + String POINT_CHANGE_HEAD = "修改了%s规则,"; } diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java index a9d6944d68..26612a3cfe 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java @@ -220,19 +220,19 @@ public class PointRuleServiceImpl extends BaseServiceImpl Date: Fri, 25 Jun 2021 16:55:10 +0800 Subject: [PATCH 20/80] .. --- .../java/com/epmet/service/impl/PointRuleServiceImpl.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java index 26612a3cfe..9772bac475 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java @@ -236,13 +236,13 @@ public class PointRuleServiceImpl extends BaseServiceImpl Date: Fri, 25 Jun 2021 17:09:06 +0800 Subject: [PATCH 21/80] .. --- .../main/java/com/epmet/service/impl/PointRuleServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java index 9772bac475..ca1a67670a 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java @@ -253,7 +253,7 @@ public class PointRuleServiceImpl extends BaseServiceImpl Date: Fri, 25 Jun 2021 17:15:38 +0800 Subject: [PATCH 22/80] ,,. --- .../main/java/com/epmet/service/impl/PointRuleServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java index ca1a67670a..96b184d3c0 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java @@ -253,7 +253,7 @@ public class PointRuleServiceImpl extends BaseServiceImpl Date: Mon, 28 Jun 2021 10:03:13 +0800 Subject: [PATCH 23/80] =?UTF-8?q?=E5=B7=B2=E7=BB=8F=E6=98=AF=E5=BF=97?= =?UTF-8?q?=E6=84=BF=E8=80=85=E7=9A=84=E5=B1=85=E6=B0=91=EF=BC=8C=E7=A7=AF?= =?UTF-8?q?=E5=88=86=E4=BB=BB=E5=8A=A1=E5=88=97=E8=A1=A8"=E6=B3=A8?= =?UTF-8?q?=E5=86=8C=E5=BF=97=E6=84=BF=E8=80=85"=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E5=B7=B2=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/feign/EpmetHeartOpenFeignClient.java | 11 +++++++++++ .../EpmetHeartOpenFeignClientFallback.java | 13 +++++++++++++ .../controller/ResiVolunteerController.java | 18 ++++++++++++++---- .../epmet/service/VolunteerInfoService.java | 10 ++++++++-- .../service/impl/VolunteerInfoServiceImpl.java | 12 ++++++++++++ .../main/resources/mapper/VolunteerInfoDao.xml | 3 ++- .../epmet-point/epmet-point-server/pom.xml | 6 ++++++ .../impl/UserPointActionLogServiceImpl.java | 14 ++++++++++++++ 8 files changed, 80 insertions(+), 7 deletions(-) diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/feign/EpmetHeartOpenFeignClient.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/feign/EpmetHeartOpenFeignClient.java index f57bb25da3..50efc65a6e 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/feign/EpmetHeartOpenFeignClient.java +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/feign/EpmetHeartOpenFeignClient.java @@ -3,6 +3,7 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.ActInfoDTO; +import com.epmet.dto.VolunteerInfoDTO; import com.epmet.dto.form.CommonCustomerFormDTO; import com.epmet.feign.fallback.EpmetHeartOpenFeignClientFallback; import org.springframework.cloud.openfeign.FeignClient; @@ -41,4 +42,14 @@ public interface EpmetHeartOpenFeignClient { */ @PostMapping("/heart/resi/act/published/{staffId}") Result> getPublishedAct(@PathVariable("staffId") String staffId); + + /** + * @return com.epmet.commons.tools.utils.Result + * @param userId + * @author yinzuomei + * @description 根据用户id,查询用户的注册志愿者信息 + * @Date 2021/6/28 9:30 + **/ + @PostMapping("/heart/resi/volunteer/queryuservolunteerinfo/{userId}") + Result queryUserVolunteerInfo(@PathVariable("userId") String userId); } diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/feign/fallback/EpmetHeartOpenFeignClientFallback.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/feign/fallback/EpmetHeartOpenFeignClientFallback.java index 8c4f0be34a..9e4d671a3b 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/feign/fallback/EpmetHeartOpenFeignClientFallback.java +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/feign/fallback/EpmetHeartOpenFeignClientFallback.java @@ -4,6 +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.ActInfoDTO; +import com.epmet.dto.VolunteerInfoDTO; import com.epmet.dto.form.CommonCustomerFormDTO; import com.epmet.feign.EpmetHeartOpenFeignClient; import org.springframework.stereotype.Component; @@ -35,4 +36,16 @@ public class EpmetHeartOpenFeignClientFallback implements EpmetHeartOpenFeignCli public Result> getPublishedAct(String staffId) { return ModuleUtils.feignConError(ServiceConstant.EPMET_HEART_SERVER, "getPublishedAct", staffId); } + + /** + * @param userId + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @description 根据用户id,查询用户的注册志愿者信息 + * @Date 2021/6/28 9:30 + **/ + @Override + public Result queryUserVolunteerInfo(String userId) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_HEART_SERVER, "queryUserVolunteerInfo", userId); + } } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiVolunteerController.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiVolunteerController.java index 4f31298977..00a07440ca 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiVolunteerController.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiVolunteerController.java @@ -21,16 +21,14 @@ import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dto.VolunteerInfoDTO; import com.epmet.dto.form.CommonCustomerFormDTO; import com.epmet.dto.form.resi.ResiSendSmsCodeFormDTO; import com.epmet.dto.form.resi.ResiVolunteerAuthenticateFormDTO; import com.epmet.dto.result.resi.ResiVolunteerInfoResultDTO; import com.epmet.service.VolunteerInfoService; import org.springframework.beans.factory.annotation.Autowired; -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 org.springframework.web.bind.annotation.*; import java.util.List; @@ -102,4 +100,16 @@ public class ResiVolunteerController { ValidatorUtils.validateEntity(customerFormDTO,CommonCustomerFormDTO.CustomerIdGroup.class); return new Result>().ok(volunteerInfoService.getVolunteerIds(customerFormDTO)); } + + /** + * @return com.epmet.commons.tools.utils.Result + * @param userId + * @author yinzuomei + * @description 根据用户id,查询用户的注册志愿者信息 + * @Date 2021/6/28 9:34 + **/ + @PostMapping("queryuservolunteerinfo/{userId}") + public Result queryUserVolunteerInfo(@PathVariable("userId")String userId){ + return new Result().ok(volunteerInfoService.queryUserVolunteerInfo(userId)); + } } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/VolunteerInfoService.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/VolunteerInfoService.java index 398d48aa5b..53ac849cb8 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/VolunteerInfoService.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/VolunteerInfoService.java @@ -18,7 +18,6 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; -import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.VolunteerInfoDTO; @@ -29,7 +28,6 @@ import com.epmet.dto.result.resi.ResiVolunteerInfoResultDTO; import com.epmet.entity.VolunteerInfoEntity; import java.util.List; -import java.util.Map; /** * 志愿者信息 @@ -78,4 +76,12 @@ public interface VolunteerInfoService extends BaseService { * @date 2020.08.13 10:22 **/ List getVolunteerIds(CommonCustomerFormDTO customerFormDTO); + + /** + * 根据用户id,查询用户的注册志愿者信息 + * + * @param userId + * @return com.epmet.dto.VolunteerInfoDTO + */ + VolunteerInfoDTO queryUserVolunteerInfo(String userId); } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/VolunteerInfoServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/VolunteerInfoServiceImpl.java index 6949505c9f..71b318ba0a 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/VolunteerInfoServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/VolunteerInfoServiceImpl.java @@ -208,4 +208,16 @@ public class VolunteerInfoServiceImpl extends BaseServiceImpl2.0.0 compile + + com.epmet + epmet-heart-client + 2.0.0 + compile + diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java index 16be869b5a..e5dcc4ceae 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java @@ -28,11 +28,13 @@ import com.epmet.commons.tools.enums.EventEnum; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dao.UserPointActionLogDao; import com.epmet.dto.BizPointTotalDetailDTO; import com.epmet.dto.BizPointUserTotalDetailDTO; import com.epmet.dto.UserPointActionLogDTO; +import com.epmet.dto.VolunteerInfoDTO; import com.epmet.dto.form.CommonPageUserFormDTO; import com.epmet.dto.form.MyPointTaskFormDTO; import com.epmet.dto.result.MyPointTaskResultDTO; @@ -42,6 +44,7 @@ import com.epmet.entity.PointRuleEntity; import com.epmet.entity.UserPointActionLogEntity; import com.epmet.entity.UserPointStatisticalDailyEntity; import com.epmet.entity.UserPointTotalEntity; +import com.epmet.feign.EpmetHeartOpenFeignClient; import com.epmet.service.*; import com.epmet.utils.DimIdGenerator; import com.epmet.utils.ModuleConstant; @@ -81,6 +84,9 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -542,6 +548,14 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl volunteerInfoDTOResult= epmetHeartOpenFeignClient.queryUserVolunteerInfo(formDTO.getUserId()); + if(volunteerInfoDTOResult.success()&&null!=volunteerInfoDTOResult.getData()){ + dto.setFinishFlag("已完成"); + dto.setFinishTotalDesc("完成1"); + } + } }); return list; } From d1b4030698e3a407b2582cd1353c9656ca18c8f0 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 28 Jun 2021 10:41:22 +0800 Subject: [PATCH 24/80] =?UTF-8?q?=E7=A7=AF=E5=88=86=E8=AF=B4=E6=98=8E?= =?UTF-8?q?=E9=99=90=E5=88=B650=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/dto/form/PointRuleFormDTO.java | 8 ++++++-- .../java/com/epmet/controller/PointRuleController.java | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/PointRuleFormDTO.java b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/PointRuleFormDTO.java index 00c02df232..4fcd2c6886 100644 --- a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/PointRuleFormDTO.java +++ b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/PointRuleFormDTO.java @@ -1,8 +1,10 @@ package com.epmet.dto.form; import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import lombok.Data; +import org.hibernate.validator.constraints.Length; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; @@ -17,6 +19,7 @@ import java.io.Serializable; @Data public class PointRuleFormDTO implements Serializable { private static final long serialVersionUID = -3228252683629912008L; + public interface UserShowGroup extends CustomerClientShowGroup {} /** * 客户Id @@ -39,7 +42,7 @@ public class PointRuleFormDTO implements Serializable { /** * 积分规则名称 */ - @NotBlank(message = "积分规则名称不能为空", groups = AddGroup.class) + @NotBlank(message = "积分规则名称不能为空", groups = UserShowGroup.class) private String ruleName; /** * 积分 @@ -76,7 +79,8 @@ public class PointRuleFormDTO implements Serializable { /** * 规则说明 事件说明 */ - @NotBlank(message = "规则描述不能为空", groups = AddGroup.class) + @NotBlank(message = "规则描述不能为空", groups = UserShowGroup.class) + @Length(min = 1, max = 50, message = "规则描述不能超过50个字", groups = UserShowGroup.class) private String ruleDesc; /** diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/PointRuleController.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/PointRuleController.java index 9027eac8e1..6b097270d7 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/PointRuleController.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/PointRuleController.java @@ -75,7 +75,7 @@ public class PointRuleController { } /** - * desc:根据功能id获取积分规则 + * desc:修改积分规则 * * @param formDTO * @return @@ -84,7 +84,7 @@ public class PointRuleController { @RequirePermission( requirePermission = RequirePermissionEnum.MORE_POINT_RULE_SAVE) public Result update(@LoginUser TokenDto tokenDTO, @RequestBody PointRuleFormDTO formDTO) { formDTO.setCustomerId(tokenDTO.getCustomerId()); - ValidatorUtils.validateEntity(formDTO, UpdateGroup.class); + ValidatorUtils.validateEntity(formDTO, PointRuleFormDTO.UserShowGroup.class,UpdateGroup.class); pointRuleService.update(tokenDTO,formDTO); return new Result().ok(true); } From ccc4b5870234f893cf68eef31f2259ceae1f043c Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 28 Jun 2021 11:00:05 +0800 Subject: [PATCH 25/80] =?UTF-8?q?=E7=A7=AF=E5=88=86=E8=AF=B4=E6=98=8E?= =?UTF-8?q?=E9=99=90=E5=88=B650=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/form/PointRuleFormDTO.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/PointRuleFormDTO.java b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/PointRuleFormDTO.java index 4fcd2c6886..38690a9a73 100644 --- a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/PointRuleFormDTO.java +++ b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/PointRuleFormDTO.java @@ -80,7 +80,7 @@ public class PointRuleFormDTO implements Serializable { * 规则说明 事件说明 */ @NotBlank(message = "规则描述不能为空", groups = UserShowGroup.class) - @Length(min = 1, max = 50, message = "规则描述不能超过50个字", groups = UserShowGroup.class) + @Length(min = 1, max = 50, message = "积分说明不能超过50个字", groups = UserShowGroup.class) private String ruleDesc; /** From 2adb4be5adf1257afe7b97ca1901cda6b531693c Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 28 Jun 2021 12:36:49 +0800 Subject: [PATCH 26/80] bug#2153fix --- .../com/epmet/service/impl/UserPointActionLogServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java index e5dcc4ceae..50b854964d 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java @@ -538,9 +538,9 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl dto.getUpLimitCount()) { dto.setFinishFlag("已完成"); - }else{ + } else { dto.setFinishFlag("去完成"); } } From a6467b8dc1e627f703a1b014121838c48f922645 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 29 Jun 2021 10:21:00 +0800 Subject: [PATCH 27/80] =?UTF-8?q?=E5=8A=A0=E4=BA=86=E4=B8=AA=E5=A4=87?= =?UTF-8?q?=E6=B3=A8=EF=BC=8C=E6=B2=A1=E5=8F=91=E7=8E=B0bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/service/impl/PointRuleServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java index 96b184d3c0..2f0c8fc5ba 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java @@ -235,7 +235,7 @@ public class PointRuleServiceImpl extends BaseServiceImpl Date: Tue, 29 Jun 2021 14:01:30 +0800 Subject: [PATCH 28/80] =?UTF-8?q?=E7=94=B1=E6=B5=8B=E8=AF=95=E8=BD=AC?= =?UTF-8?q?=E8=BE=BE=E4=BA=A7=E5=93=81=E8=AF=9D=EF=BC=8C=E6=8A=8Atrue?= =?UTF-8?q?=E3=80=81false=E6=94=B9=E4=B8=BA=E5=90=AF=E7=94=A8=E3=80=81?= =?UTF-8?q?=E5=85=B3=E9=97=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/service/impl/PointRuleServiceImpl.java | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java index 2f0c8fc5ba..04820099d8 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java @@ -192,6 +192,7 @@ public class PointRuleServiceImpl extends BaseServiceImpl 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 @@ + + + + + + + + + + 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} + + 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 @@ + + + + + + + + + \ 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 + + + \ 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 - 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} + 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} + 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 @@ --> + + 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 @@ ) + + 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} + + 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ 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 { * @Date 2020/9/16 14:03 **/ List selectListGridInfo(String customerId); + + /** + * 查询工作人员网格关系 + * @author zhaoqifeng + * @date 2021/7/5 10:25 + * @param customerId + * @return java.util.List + */ + List getCustomerStaffGridList(@Param("customerId") String customerId); } \ No newline at end of file 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 3c278bc523..9ad54a48e6 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 @@ -5,6 +5,7 @@ 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.StaffRoleInfoDTO; import com.epmet.dto.user.result.CustomerStaffDTO; import com.epmet.dto.user.result.StaffPatrolRecordResult; import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO; @@ -164,6 +165,8 @@ public interface UserDao { */ List selectStaffInfo(@Param("list") List staffUserIdList); + List getStaffByRoleKey(@Param("customerId") String customerId, @Param("roleKey") String roleKey); + /** * desc: 根据角色key条件获取所有的人 * diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactGridMemberStatisticsDailyEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactGridMemberStatisticsDailyEntity.java new file mode 100644 index 0000000000..76ff908449 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactGridMemberStatisticsDailyEntity.java @@ -0,0 +1,151 @@ +/** + * 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.evaluationindex.extract; + +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-02 + */ +@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; + + /** + * 项目立项数日增量 + */ + private Integer projectIncr; + + /** + * 议题转项目数日增量 + */ + private Integer issueToProjectIncr; + + /** + * 议题关闭数日增量 + */ + private Integer closedIssueIncr; + + /** + * 项目响应数日增量 + */ + private Integer projectResponseIncr; + + /** + * 项目吹哨数日增量 + */ + private Integer projectTransferIncr; + + /** + * 项目结案数日增量 + */ + private Integer projectClosedIncr; + +} diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactGridMemberStatisticsMonthlyEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactGridMemberStatisticsMonthlyEntity.java new file mode 100644 index 0000000000..86f5fa647c --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactGridMemberStatisticsMonthlyEntity.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.evaluationindex.extract; + +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-02 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("fact_grid_member_statistics_monthly") +public class FactGridMemberStatisticsMonthlyEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 月份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; + +} diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactGridMemberStatisticsDailyService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactGridMemberStatisticsDailyService.java new file mode 100644 index 0000000000..28bcb89ef1 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactGridMemberStatisticsDailyService.java @@ -0,0 +1,41 @@ +/** + * 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.todata; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.entity.evaluationindex.extract.FactGridMemberStatisticsDailyEntity; + +/** + * 网格员数据统计_日统计 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-07-02 + */ +public interface FactGridMemberStatisticsDailyService extends BaseService { + /** + * 网格员数据统计 + * + * @param customerId + * @param dateId + * @return void + * @author zhaoqifeng + * @date 2021/7/5 9:29 + */ + void extractFactAgencyGovernDaily(String customerId, String dateId); + +} \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactGridMemberStatisticsMonthlyService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactGridMemberStatisticsMonthlyService.java new file mode 100644 index 0000000000..a8e08fc1f9 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactGridMemberStatisticsMonthlyService.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.todata; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.entity.evaluationindex.extract.FactGridMemberStatisticsMonthlyEntity; + +/** + * 网格员数据统计_月统计 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-07-02 + */ +public interface FactGridMemberStatisticsMonthlyService extends BaseService { + +} \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java index 0f55775b23..ac0389164d 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java @@ -475,4 +475,16 @@ public interface FactOriginProjectMainDailyService extends BaseService> + */ + Map> getMemberProjectCount(String customerId, String dateId, Integer type); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridMemberStatisticsDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridMemberStatisticsDailyServiceImpl.java new file mode 100644 index 0000000000..6facddb614 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridMemberStatisticsDailyServiceImpl.java @@ -0,0 +1,134 @@ +/** + * 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.todata.impl; + +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.constant.RoleKeyConstants; +import com.epmet.dao.evaluationindex.extract.FactGridMemberStatisticsDailyDao; +import com.epmet.dto.extract.result.OrgStatisticsResultDTO; +import com.epmet.dto.org.CustomerStaffGridDTO; +import com.epmet.dto.user.result.StaffRoleInfoDTO; +import com.epmet.entity.evaluationindex.extract.FactGridMemberStatisticsDailyEntity; +import com.epmet.service.evaluationindex.extract.todata.FactGridMemberStatisticsDailyService; +import com.epmet.service.evaluationindex.extract.todata.FactOriginProjectMainDailyService; +import com.epmet.service.org.CustomerGridService; +import com.epmet.service.user.UserService; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * 网格员数据统计_日统计 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-07-02 + */ +@Service +public class FactGridMemberStatisticsDailyServiceImpl extends BaseServiceImpl implements FactGridMemberStatisticsDailyService { + + @Resource + private UserService userService; + @Resource + private CustomerGridService customerGridService; + @Resource + private FactOriginProjectMainDailyService factOriginProjectMainDailyService; + + + /** + * 网格员数据统计 + * + * @param customerId + * @param dateId + * @return void + * @author zhaoqifeng + * @date 2021/7/5 9:29 + */ + @Override + public void extractFactAgencyGovernDaily(String customerId, String dateId) { + List staffGridList = customerGridService.getCustomerStaffGridList(customerId); + List staffInfoList = userService.getStaffByRoleKey(customerId, RoleKeyConstants.ROLE_KEY_GRID_MEMBER); + Map staffMap = staffInfoList.stream().collect(Collectors.toMap(StaffRoleInfoDTO :: getStaffId, + Function.identity())); + List list = staffGridList.stream().filter(p -> null != staffMap.get(p.getStaffId())).map(item -> { + StaffRoleInfoDTO staffInfo = staffMap.get(item.getStaffId()); + FactGridMemberStatisticsDailyEntity entity = new FactGridMemberStatisticsDailyEntity(); + entity.setCustomerId(customerId); + entity.setAgencyId(item.getAgencyId()); + entity.setGridId(item.getGridId()); + entity.setPid(item.getPid()); + entity.setGridId(item.getGridId()); + entity.setYearId(dateId.substring(NumConstant.ZERO, NumConstant.FOUR)); + entity.setMonthId(dateId.substring(NumConstant.ZERO, NumConstant.SIX)); + entity.setDateId(dateId); + entity.setStaffId(item.getStaffId()); + entity.setStaffName(staffInfo.getStaffName()); + entity.setProjectCount(NumConstant.ZERO); + entity.setProjectIncr(NumConstant.ZERO); + entity.setIssueToProjectCount(NumConstant.ZERO); + entity.setIssueToProjectIncr(NumConstant.ZERO); + entity.setClosedIssueCount(NumConstant.ZERO); + entity.setClosedIssueIncr(NumConstant.ZERO); + entity.setProjectClosedCount(NumConstant.ZERO); + entity.setProjectClosedIncr(NumConstant.ZERO); + entity.setProjectResponseCount(NumConstant.ZERO); + entity.setProjectResponseIncr(NumConstant.ZERO); + entity.setProjectTransferCount(NumConstant.ZERO); + entity.setProjectTransferIncr(NumConstant.ZERO); + return entity; + }).collect(Collectors.toList()); + + //项目立项数 + Map> projectCountMap = factOriginProjectMainDailyService.getMemberProjectCount(customerId, dateId, + NumConstant.ZERO); + Map> projectIncrMap = factOriginProjectMainDailyService.getMemberProjectCount(customerId, dateId, + NumConstant.ONE); + //议题转项目数 + //议题关闭数 + //项目响应数 + //项目吹哨数 + //项目结案数 + list.forEach(item -> { + List projectCount = projectCountMap.get(item.getStaffId()); + if (CollectionUtils.isNotEmpty(projectCount)) { + projectCount.forEach(dto -> { + if (item.getAgencyId().equals(dto.getAgencyId())) { + item.setProjectCount(dto.getCount()); + } + }); + } + + List projectIncr = projectIncrMap.get(item.getStaffId()); + if (CollectionUtils.isNotEmpty(projectIncr)) { + projectIncr.forEach(dto -> { + if (item.getAgencyId().equals(dto.getAgencyId())) { + item.setProjectIncr(dto.getCount()); + } + }); + } + + }); + } + +} \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridMemberStatisticsMonthlyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridMemberStatisticsMonthlyServiceImpl.java new file mode 100644 index 0000000000..19f4e54698 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridMemberStatisticsMonthlyServiceImpl.java @@ -0,0 +1,36 @@ +/** + * 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.todata.impl; + +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.dao.evaluationindex.extract.FactGridMemberStatisticsMonthlyDao; +import com.epmet.entity.evaluationindex.extract.FactGridMemberStatisticsMonthlyEntity; +import com.epmet.service.evaluationindex.extract.todata.FactGridMemberStatisticsMonthlyService; +import org.springframework.stereotype.Service; + +/** + * 网格员数据统计_月统计 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-07-02 + */ +@Service +public class FactGridMemberStatisticsMonthlyServiceImpl extends BaseServiceImpl implements FactGridMemberStatisticsMonthlyService { + + +} \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java index 3e8b210781..ef8e592bc8 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java @@ -711,5 +711,29 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl> + * @author zhaoqifeng + * @date 2021/7/5 14:48 + */ + @Override + public Map> getMemberProjectCount(String customerId, String dateId, Integer type) { + List list; + if (type == NumConstant.ZERO) { + list = baseDao.getMemberProjectCount(customerId, dateId); + } else { + list = baseDao.getMemberProjectCountIncr(customerId, dateId); + } + if (CollectionUtils.isEmpty(list)) { + return Collections.emptyMap(); + } + return list.stream().collect(Collectors.groupingBy(OrgStatisticsResultDTO::getAgencyId)); + } + } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/CustomerGridService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/CustomerGridService.java index 2cdee8ccad..b25ff45b5f 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/CustomerGridService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/CustomerGridService.java @@ -3,6 +3,7 @@ package com.epmet.service.org; 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; @@ -50,4 +51,13 @@ public interface CustomerGridService { * @Date 2020/9/16 14:02 **/ List queryGridInfoList(String customerId); + + /** + * 查询工作人员网格关系 + * @author zhaoqifeng + * @date 2021/7/5 10:21 + * @param customerId + * @return java.util.List + */ + List getCustomerStaffGridList(String customerId); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/CustomerGridServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/CustomerGridServiceImpl.java index fa8018e1e1..b3474f5574 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/CustomerGridServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/CustomerGridServiceImpl.java @@ -6,6 +6,7 @@ import com.epmet.dao.org.CustomerGridDao; 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 com.epmet.service.org.CustomerGridService; @@ -64,4 +65,17 @@ public class CustomerGridServiceImpl implements CustomerGridService { public List queryGridInfoList(String customerId) { return customerGridDao.selectListGridInfo(customerId); } + + /** + * 查询工作人员网格关系 + * + * @param customerId + * @return java.util.List + * @author zhaoqifeng + * @date 2021/7/5 10:21 + */ + @Override + public List getCustomerStaffGridList(String customerId) { + return customerGridDao.getCustomerStaffGridList(customerId); + } } 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 55e3b5f4fb..f53f544575 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 @@ -6,6 +6,7 @@ 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.StaffRoleInfoDTO; import com.epmet.dto.user.result.CustomerStaffDTO; import com.epmet.dto.user.result.StaffPatrolRecordResult; import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO; @@ -99,6 +100,17 @@ public interface UserService { */ Map queryOrgGridManager(String customerId,List orgStaffDTOList); + /** + * 根据角色key查找工作人员 + * + * @author zhaoqifeng + * @date 2021/7/5 9:52 + * @param customerId + * @param roleKey + * @return java.util.List + */ + List getStaffByRoleKey(String customerId, String roleKey); + /** * desc: 请描述类的业务用途 * 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 725c11d8f4..b81fb5a118 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 @@ -17,6 +17,7 @@ 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.StaffRoleInfoDTO; import com.epmet.dto.user.result.CustomerStaffDTO; import com.epmet.dto.user.result.StaffPatrolRecordResult; import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO; @@ -802,6 +803,20 @@ public class UserServiceImpl implements UserService { return resultMap; } + /** + * 根据角色key查找工作人员 + * + * @param customerId + * @param roleKey + * @return java.util.List + * @author zhaoqifeng + * @date 2021/7/5 9:52 + */ + @Override + public List getStaffByRoleKey(String customerId, String roleKey) { + return null; + } + @Override public List selectUserListByRoleKey(StaffPatrolStatsFormDTO formDTO) { formDTO.setRoleKey(RoleKeyConstants.ROLE_KEY_GRID_MEMBER); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactGridMemberStatisticsDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactGridMemberStatisticsDailyDao.xml new file mode 100644 index 0000000000..fc2236377a --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactGridMemberStatisticsDailyDao.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactGridMemberStatisticsMonthlyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactGridMemberStatisticsMonthlyDao.xml new file mode 100644 index 0000000000..dc8760fab8 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactGridMemberStatisticsMonthlyDao.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml index e55e3b5076..8dd740bf05 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml @@ -1069,4 +1069,39 @@ AND m.IS_RESOLVED=#{isResolved} + + + diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerGridDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerGridDao.xml index 7aa2bf3422..c80de35a85 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerGridDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerGridDao.xml @@ -86,4 +86,22 @@ CG.CUSTOMER_ID =#{customerId} and cg.del_flag='0' + \ No newline at end of file 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 c21c5c9c40..65e265b59c 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,6 +570,23 @@ user_id = #{userId} + + + \ No newline at end of file From 9db1dcd66af8ba0e411bd184606f3d0da379f339 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Mon, 5 Jul 2021 18:00:20 +0800 Subject: [PATCH 60/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 --- .../FactGridMemberStatisticsDailyDao.java | 3 +- .../extract/FactOriginIssueLogDailyDao.java | 40 ++++++ .../extract/FactOriginProjectLogDailyDao.java | 55 ++++++++ .../FactOriginProjectMainDailyEntity.java | 5 + .../FactOriginIssueLogDailyService.java | 24 ++++ .../FactOriginProjectLogDailyService.java | 33 +++++ ...tGridMemberStatisticsDailyServiceImpl.java | 129 +++++++++++++++++- .../FactOriginIssueLogDailyServiceImpl.java | 53 +++++++ .../FactOriginProjectLogDailyServiceImpl.java | 72 ++++++++++ ...FactOriginProjectMainDailyServiceImpl.java | 2 +- .../impl/ProjectExtractServiceImpl.java | 66 ++++----- .../FactGridMemberStatisticsDailyDao.xml | 6 + .../extract/FactOriginIssueLogDailyDao.xml | 60 ++++++++ .../extract/FactOriginProjectLogDailyDao.xml | 102 ++++++++++++++ .../resources/mapper/project/ProjectDao.xml | 1 + 15 files changed, 616 insertions(+), 35 deletions(-) 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 index c32a837324..111f4d923a 100644 --- 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 @@ -20,6 +20,7 @@ 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; +import org.apache.ibatis.annotations.Param; /** * 网格员数据统计_日统计 @@ -29,5 +30,5 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface FactGridMemberStatisticsDailyDao extends BaseDao { - + int deleteDataByCustomer(@Param("customerId") String customerId, @Param("dateId") String dateId, @Param("deleteSize") Integer deleteSize); } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginIssueLogDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginIssueLogDailyDao.java index 7154f5997e..5e9177adf7 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginIssueLogDailyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginIssueLogDailyDao.java @@ -20,6 +20,7 @@ package com.epmet.dao.evaluationindex.extract; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.extract.form.IssueLogDailyFormDTO; import com.epmet.dto.extract.result.IssueVoteUserCountResultDTO; +import com.epmet.dto.extract.result.OrgStatisticsResultDTO; import com.epmet.dto.extract.result.PartyActiveResultDTO; import com.epmet.entity.evaluationindex.extract.FactOriginIssueLogDailyEntity; import org.apache.ibatis.annotations.Mapper; @@ -130,4 +131,43 @@ public interface FactOriginIssueLogDailyDao extends BaseDao + */ + List getIssueToProjectCount(@Param("customerId") String customerId, @Param("dateId") String dateId); + + /** + * 议题转项目增量 + * @author zhaoqifeng + * @date 2021/7/5 15:55 + * @param customerId + * @param dateId + * @return java.util.List + */ + List getIssueToProjectIncr(@Param("customerId") String customerId, @Param("dateId") String dateId); + + /** + * 关闭议题数总量 + * @author zhaoqifeng + * @date 2021/7/5 16:37 + * @param customerId + * @param dateId + * @return java.util.List + */ + List getClosedIssueCount(@Param("customerId") String customerId, @Param("dateId") String dateId); + + /** + * 关闭议题数增量 + * @author zhaoqifeng + * @date 2021/7/5 16:38 + * @param customerId + * @param dateId + * @return java.util.List + */ + List getClosedIssueIncr(@Param("customerId") String customerId, @Param("dateId") String dateId); } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectLogDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectLogDailyDao.java index 3bdbc200bd..45f3ba2350 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectLogDailyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectLogDailyDao.java @@ -326,4 +326,59 @@ public interface FactOriginProjectLogDailyDao extends BaseDao + */ + List getProjectResponseCount(@Param("customerId") String customerId, @Param("dateId") String dateId); + /** + * 项目响应增量 + * @author zhaoqifeng + * @date 2021/7/5 17:01 + * @param customerId + * @param dateId + * @return java.util.List + */ + List getProjectResponseIncr(@Param("customerId") String customerId, @Param("dateId") String dateId); + /** + * 项目吹哨数 + * @author zhaoqifeng + * @date 2021/7/5 17:01 + * @param customerId + * @param dateId + * @return java.util.List + */ + List getProjectTransferCount(@Param("customerId") String customerId, @Param("dateId") String dateId); + /** + * 项目吹哨数增量 + * @author zhaoqifeng + * @date 2021/7/5 17:01 + * @param customerId + * @param dateId + * @return java.util.List + */ + List getProjectTransferIncr(@Param("customerId") String customerId, @Param("dateId") String dateId); + /** + * 项目结案数 + * @author zhaoqifeng + * @date 2021/7/5 17:01 + * @param customerId + * @param dateId + * @return java.util.List + */ + List getProjectClosedCount(@Param("customerId") String customerId, @Param("dateId") String dateId); + /** + * 项目结案数增量 + * @author zhaoqifeng + * @date 2021/7/5 17:01 + * @param customerId + * @param dateId + * @return java.util.List + */ + List getProjectClosedIncr(@Param("customerId") String customerId, @Param("dateId") String dateId); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactOriginProjectMainDailyEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactOriginProjectMainDailyEntity.java index be69a89f3d..aa3f6e3ca2 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactOriginProjectMainDailyEntity.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactOriginProjectMainDailyEntity.java @@ -148,4 +148,9 @@ public class FactOriginProjectMainDailyEntity extends BaseEpmetEntity { */ private String finishOrgIds; + /** + * 项目创建人(议题转项目或立项人) + */ + private String projectCreator; + } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginIssueLogDailyService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginIssueLogDailyService.java index 5bb46392f6..755b53adb1 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginIssueLogDailyService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginIssueLogDailyService.java @@ -19,9 +19,11 @@ package com.epmet.service.evaluationindex.extract.todata; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.dto.extract.result.IssueVoteUserCountResultDTO; +import com.epmet.dto.extract.result.OrgStatisticsResultDTO; import com.epmet.entity.evaluationindex.extract.FactOriginIssueLogDailyEntity; import java.util.List; +import java.util.Map; /** * 议题记录附表 @@ -77,4 +79,26 @@ public interface FactOriginIssueLogDailyService extends BaseService> + */ + Map> getIssueToProjectCount(String customerId, String dateId, Integer type); + + /** + * 工作人员关闭议题数 + * @author zhaoqifeng + * @date 2021/7/5 16:40 + * @param customerId + * @param dateId + * @param type + * @return java.util.Map> + */ + Map> getClosedIssueCount(String customerId, String dateId, Integer type); } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectLogDailyService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectLogDailyService.java index b925cc31e4..2d95509fca 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectLogDailyService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectLogDailyService.java @@ -330,4 +330,37 @@ public interface FactOriginProjectLogDailyService extends BaseService */ Map getAgencyGridSelfDaily(String customerId, String dateId); + + /** + * 项目响应数 + * @author zhaoqifeng + * @date 2021/7/5 16:56 + * @param customerId + * @param dateId + * @param type + * @return java.util.Map> + */ + Map> getProjectResponseCount(String customerId, String dateId, Integer type); + + /** + * 项目吹哨数 + * @author zhaoqifeng + * @date 2021/7/5 16:57 + * @param customerId + * @param dateId + * @param type + * @return java.util.Map> + */ + Map> getProjectTransferCount(String customerId, String dateId, Integer type); + + /** + * 项目结案数 + * @author zhaoqifeng + * @date 2021/7/5 16:57 + * @param customerId + * @param dateId + * @param type + * @return java.util.Map> + */ + Map> getProjectClosedCount(String customerId, String dateId, Integer type); } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridMemberStatisticsDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridMemberStatisticsDailyServiceImpl.java index 6facddb614..e87f0a6459 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridMemberStatisticsDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridMemberStatisticsDailyServiceImpl.java @@ -19,6 +19,7 @@ package com.epmet.service.evaluationindex.extract.todata.impl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.constant.IndexCalConstant; import com.epmet.constant.RoleKeyConstants; import com.epmet.dao.evaluationindex.extract.FactGridMemberStatisticsDailyDao; import com.epmet.dto.extract.result.OrgStatisticsResultDTO; @@ -26,6 +27,8 @@ import com.epmet.dto.org.CustomerStaffGridDTO; import com.epmet.dto.user.result.StaffRoleInfoDTO; import com.epmet.entity.evaluationindex.extract.FactGridMemberStatisticsDailyEntity; import com.epmet.service.evaluationindex.extract.todata.FactGridMemberStatisticsDailyService; +import com.epmet.service.evaluationindex.extract.todata.FactOriginIssueLogDailyService; +import com.epmet.service.evaluationindex.extract.todata.FactOriginProjectLogDailyService; import com.epmet.service.evaluationindex.extract.todata.FactOriginProjectMainDailyService; import com.epmet.service.org.CustomerGridService; import com.epmet.service.user.UserService; @@ -54,6 +57,10 @@ public class FactGridMemberStatisticsDailyServiceImpl extends BaseServiceImpl> projectIncrMap = factOriginProjectMainDailyService.getMemberProjectCount(customerId, dateId, NumConstant.ONE); //议题转项目数 + Map> issueToProjectCountMap = factOriginIssueLogDailyService.getIssueToProjectCount(customerId, dateId, + NumConstant.ZERO); + Map> issueToProjectIncrMap = factOriginIssueLogDailyService.getIssueToProjectCount(customerId, dateId, + NumConstant.ONE); //议题关闭数 + Map> closedIssueCountMap = factOriginIssueLogDailyService.getClosedIssueCount(customerId, dateId, + NumConstant.ZERO); + Map> closedIssueIncrMap = factOriginIssueLogDailyService.getClosedIssueCount(customerId, dateId, + NumConstant.ONE); //项目响应数 + Map> projectResponseCountMap = factOriginProjectLogDailyService.getProjectResponseCount(customerId, + dateId, NumConstant.ZERO); + Map> projectResponseIncrMap = factOriginProjectLogDailyService.getProjectResponseCount(customerId, dateId + , NumConstant.ONE); //项目吹哨数 + Map> projectTransferCountMap = factOriginProjectLogDailyService.getProjectTransferCount(customerId, + dateId, NumConstant.ZERO); + Map> projectTransferIncrMap = factOriginProjectLogDailyService.getProjectTransferCount(customerId, dateId + , NumConstant.ONE); //项目结案数 + Map> projectClosedCountMap = factOriginProjectLogDailyService.getProjectClosedCount(customerId, + dateId, NumConstant.ZERO); + Map> projectClosedIncrMap = factOriginProjectLogDailyService.getProjectClosedCount(customerId, dateId + , NumConstant.ONE); list.forEach(item -> { + //项目立项数 List projectCount = projectCountMap.get(item.getStaffId()); if (CollectionUtils.isNotEmpty(projectCount)) { projectCount.forEach(dto -> { @@ -118,7 +146,7 @@ public class FactGridMemberStatisticsDailyServiceImpl extends BaseServiceImpl projectIncr = projectIncrMap.get(item.getStaffId()); if (CollectionUtils.isNotEmpty(projectIncr)) { projectIncr.forEach(dto -> { @@ -127,8 +155,107 @@ public class FactGridMemberStatisticsDailyServiceImpl extends BaseServiceImpl issueToProjectCount = issueToProjectCountMap.get(item.getStaffId()); + if (CollectionUtils.isNotEmpty(issueToProjectCount)) { + issueToProjectCount.forEach(dto -> { + if (item.getGridId().equals(dto.getOrgId())) { + item.setIssueToProjectCount(dto.getCount()); + } + }); + } + //议题转项目日增量 + List issueToProjectIncr = issueToProjectIncrMap.get(item.getStaffId()); + if (CollectionUtils.isNotEmpty(issueToProjectIncr)) { + issueToProjectIncr.forEach(dto -> { + if (item.getGridId().equals(dto.getOrgId())) { + item.setIssueToProjectIncr(dto.getCount()); + } + }); + } + //议题关闭数 + List closedIssueCount = closedIssueCountMap.get(item.getStaffId()); + if (CollectionUtils.isNotEmpty(closedIssueCount)) { + closedIssueCount.forEach(dto -> { + if (item.getGridId().equals(dto.getOrgId())) { + item.setClosedIssueCount(dto.getCount()); + } + }); + } + //议题关闭数日增量 + List closedIssueIncr = closedIssueIncrMap.get(item.getStaffId()); + if (CollectionUtils.isNotEmpty(closedIssueIncr)) { + closedIssueIncr.forEach(dto -> { + if (item.getGridId().equals(dto.getOrgId())) { + item.setClosedIssueIncr(dto.getCount()); + } + }); + } + //项目响应数 + List projectResponseCount = projectResponseCountMap.get(item.getStaffId()); + if (CollectionUtils.isNotEmpty(projectResponseCount)) { + projectResponseCount.forEach(dto -> { + if (item.getGridId().equals(dto.getOrgId())) { + item.setProjectResponseCount(dto.getCount()); + } + }); + } + //项目响应数日增量 + List projectResponseIncr = projectResponseIncrMap.get(item.getStaffId()); + if (CollectionUtils.isNotEmpty(projectResponseIncr)) { + projectResponseIncr.forEach(dto -> { + if (item.getGridId().equals(dto.getOrgId())) { + item.setProjectResponseIncr(dto.getCount()); + } + }); + } + //项目吹哨数 + List projectTransferCount = projectTransferCountMap.get(item.getStaffId()); + if (CollectionUtils.isNotEmpty(projectTransferCount)) { + projectTransferCount.forEach(dto -> { + if (item.getGridId().equals(dto.getOrgId())) { + item.setProjectTransferCount(dto.getCount()); + } + }); + } + //项目吹哨数日增量 + List projectTransferIncr = projectTransferIncrMap.get(item.getStaffId()); + if (CollectionUtils.isNotEmpty(projectTransferIncr)) { + projectTransferIncr.forEach(dto -> { + if (item.getGridId().equals(dto.getOrgId())) { + item.setProjectTransferIncr(dto.getCount()); + } + }); + } + //项目响应数 + List projectClosedCount = projectClosedCountMap.get(item.getStaffId()); + if (CollectionUtils.isNotEmpty(projectClosedCount)) { + projectClosedCount.forEach(dto -> { + if (item.getGridId().equals(dto.getOrgId())) { + item.setProjectClosedCount(dto.getCount()); + } + }); + } + //项目响应数日增量 + List projectClosedIncr = projectClosedIncrMap.get(item.getStaffId()); + if (CollectionUtils.isNotEmpty(projectClosedIncr)) { + projectClosedIncr.forEach(dto -> { + if (item.getGridId().equals(dto.getOrgId())) { + item.setProjectClosedIncr(dto.getCount()); + } + }); + } }); + + if (CollectionUtils.isNotEmpty(list)) { + int deleteNum; + do { + deleteNum = baseDao.deleteDataByCustomer(customerId, dateId, IndexCalConstant.DELETE_SIZE); + } while (deleteNum != NumConstant.ZERO); + //删除旧数据 + insertBatch(list); + } } } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginIssueLogDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginIssueLogDailyServiceImpl.java index 9bde7a5a94..e05775938e 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginIssueLogDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginIssueLogDailyServiceImpl.java @@ -25,6 +25,7 @@ import com.epmet.constant.DataSourceConstant; import com.epmet.constant.OrgTypeConstant; import com.epmet.dao.evaluationindex.extract.FactOriginIssueLogDailyDao; import com.epmet.dto.extract.result.IssueVoteUserCountResultDTO; +import com.epmet.dto.extract.result.OrgStatisticsResultDTO; import com.epmet.dto.stats.DimAgencyDTO; import com.epmet.entity.evaluationindex.extract.FactOriginIssueLogDailyEntity; import com.epmet.service.evaluationindex.extract.todata.FactOriginIssueLogDailyService; @@ -32,8 +33,12 @@ import com.epmet.service.stats.DimAgencyService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import java.util.Collections; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * 议题记录附表 @@ -115,4 +120,52 @@ public class FactOriginIssueLogDailyServiceImpl extends BaseServiceImpl> + * @author zhaoqifeng + * @date 2021/7/5 15:52 + */ + @Override + public Map> getIssueToProjectCount(String customerId, String dateId, Integer type) { + List list; + if (type == NumConstant.ZERO) { + list = baseDao.getIssueToProjectCount(customerId, dateId); + } else { + list = baseDao.getIssueToProjectIncr(customerId, dateId); + } + if (CollectionUtils.isEmpty(list)) { + return Collections.emptyMap(); + } + return list.stream().collect(Collectors.groupingBy(OrgStatisticsResultDTO::getStaffId)); + } + + /** + * 工作人员关闭议题数 + * + * @param customerId + * @param dateId + * @param type + * @return java.util.Map> + * @author zhaoqifeng + * @date 2021/7/5 16:40 + */ + @Override + public Map> getClosedIssueCount(String customerId, String dateId, Integer type) { + List list; + if (type == NumConstant.ZERO) { + list = baseDao.getClosedIssueCount(customerId, dateId); + } else { + list = baseDao.getClosedIssueIncr(customerId, dateId); + } + if (CollectionUtils.isEmpty(list)) { + return Collections.emptyMap(); + } + return list.stream().collect(Collectors.groupingBy(OrgStatisticsResultDTO::getStaffId)); + } } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectLogDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectLogDailyServiceImpl.java index 73de4eb905..311da04715 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectLogDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectLogDailyServiceImpl.java @@ -433,5 +433,77 @@ public class FactOriginProjectLogDailyServiceImpl extends BaseServiceImpl> + * @author zhaoqifeng + * @date 2021/7/5 16:56 + */ + @Override + public Map> getProjectResponseCount(String customerId, String dateId, Integer type) { + List list; + if (type == NumConstant.ZERO) { + list = baseDao.getProjectResponseCount(customerId, dateId); + } else { + list = baseDao.getProjectResponseIncr(customerId, dateId); + } + if (CollectionUtils.isEmpty(list)) { + return Collections.emptyMap(); + } + return list.stream().collect(Collectors.groupingBy(OrgStatisticsResultDTO::getStaffId)); + } + + /** + * 项目吹哨数 + * + * @param customerId + * @param dateId + * @param type + * @return java.util.Map> + * @author zhaoqifeng + * @date 2021/7/5 16:57 + */ + @Override + public Map> getProjectTransferCount(String customerId, String dateId, Integer type) { + List list; + if (type == NumConstant.ZERO) { + list = baseDao.getProjectTransferCount(customerId, dateId); + } else { + list = baseDao.getProjectTransferIncr(customerId, dateId); + } + if (CollectionUtils.isEmpty(list)) { + return Collections.emptyMap(); + } + return list.stream().collect(Collectors.groupingBy(OrgStatisticsResultDTO::getStaffId)); + } + + /** + * 项目结案数 + * + * @param customerId + * @param dateId + * @param type + * @return java.util.Map> + * @author zhaoqifeng + * @date 2021/7/5 16:57 + */ + @Override + public Map> getProjectClosedCount(String customerId, String dateId, Integer type) { + List list; + if (type == NumConstant.ZERO) { + list = baseDao.getProjectClosedCount(customerId, dateId); + } else { + list = baseDao.getProjectClosedIncr(customerId, dateId); + } + if (CollectionUtils.isEmpty(list)) { + return Collections.emptyMap(); + } + return list.stream().collect(Collectors.groupingBy(OrgStatisticsResultDTO::getStaffId)); + } + } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java index ef8e592bc8..65980d157a 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java @@ -732,7 +732,7 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl pendingList = factOriginProjectMainDailyService.getPendingList(customerId); List finishOrgList = projectProcessService.getFinishOrg(customerId, dateString); if (!CollectionUtils.isEmpty(closedList)) { - List closeProjects = - pendingList.stream().flatMap(pending -> closedList.stream().filter(closed -> pending.getId().equals(closed.getProjectId())).map(process -> { - FactOriginProjectMainDailyEntity entity = new FactOriginProjectMainDailyEntity(); - entity.setId(process.getProjectId()); - entity.setProjectStatus(ProjectConstant.CLOSED); - entity.setCreatedTime(DateUtils.stringToDate(pending.getDateId(), DateUtils.DATE_PATTERN_YYYYMMDD)); - entity.setUpdatedTime(process.getUpdatedTime()); - entity.setIsResolved(process.getIsResolved()); - return entity; - })).collect(Collectors.toList()); - - if (!CollectionUtils.isEmpty(finishOrgList)) { - closeProjects.forEach(close -> finishOrgList.stream().filter(finish -> close.getId().equals(finish.getProjectId())).forEach(dto -> { - String[] orgIds = dto.getPIdPath().split(StrConstant.COLON); - String org = ""; - //取最短的ordIds中最后一个 则为最高级的那个orgIds - if (orgIds.length > NumConstant.ONE) { - org = orgIds[orgIds.length - 1]; - } else { - org = orgIds[0]; - } - if (StringUtils.isNotEmpty(dto.getGridId())) { - org = org + StrConstant.COLON + dto.getGridId(); - } else if (StringUtils.isNotEmpty(dto.getDepartmentId())) { - org = org + StrConstant.COLON + dto.getDepartmentId(); - } - close.setFinishOrgIds(org); - })); - } - //更新状态 - if (!closeProjects.isEmpty()) { - factOriginProjectMainDailyService.updateBatchById(closeProjects); + if(!CollectionUtils.isEmpty(pendingList)) { + List closeProjects = + pendingList.stream().flatMap(pending -> closedList.stream().filter(closed -> pending.getId().equals(closed.getProjectId())).map(process -> { + FactOriginProjectMainDailyEntity entity = new FactOriginProjectMainDailyEntity(); + entity.setId(process.getProjectId()); + entity.setProjectStatus(ProjectConstant.CLOSED); + entity.setCreatedTime(DateUtils.stringToDate(pending.getDateId(), DateUtils.DATE_PATTERN_YYYYMMDD)); + entity.setUpdatedTime(process.getUpdatedTime()); + entity.setIsResolved(process.getIsResolved()); + return entity; + })).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(finishOrgList)) { + closeProjects.forEach(close -> finishOrgList.stream().filter(finish -> close.getId().equals(finish.getProjectId())).forEach(dto -> { + String[] orgIds = dto.getPIdPath().split(StrConstant.COLON); + String org = ""; + //取最短的ordIds中最后一个 则为最高级的那个orgIds + if (orgIds.length > NumConstant.ONE) { + org = orgIds[orgIds.length - 1]; + } else { + org = orgIds[0]; + } + if (StringUtils.isNotEmpty(dto.getGridId())) { + org = org + StrConstant.COLON + dto.getGridId(); + } else if (StringUtils.isNotEmpty(dto.getDepartmentId())) { + org = org + StrConstant.COLON + dto.getDepartmentId(); + } + close.setFinishOrgIds(org); + })); + } + //更新状态 + if (!closeProjects.isEmpty()) { + factOriginProjectMainDailyService.updateBatchById(closeProjects); + } } } //获取项目信息 @@ -177,6 +178,7 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { } entity.setIsParty(NumConstant.ZERO_STR); entity.setIsOverdue(NumConstant.ZERO_STR); + entity.setProjectCreator(project.getCreatedBy()); return entity; }).collect(Collectors.toList()); if (CollectionUtils.isNotEmpty(issueList)) { diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactGridMemberStatisticsDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactGridMemberStatisticsDailyDao.xml index fc2236377a..8a43152a4b 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactGridMemberStatisticsDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactGridMemberStatisticsDailyDao.xml @@ -28,6 +28,12 @@ + + delete from fact_grid_member_statistics_daily + where CUSTOMER_ID = #{customerId} + AND DATE_ID = #{dateId} + limit #{deleteSize} + \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginIssueLogDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginIssueLogDailyDao.xml index 521ef174e4..995c6cebad 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginIssueLogDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginIssueLogDailyDao.xml @@ -177,4 +177,64 @@ and M.IS_PARTY=#{isParty} + + + + \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml index b5a2fe362f..1f440c14cc 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml @@ -737,4 +737,106 @@ GROUP BY da.ID + + + + + + \ No newline at end of file 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 18ba4d2a0f..f73f12eb5f 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 @@ -86,6 +86,7 @@ STATUS, CLOSED_STATUS, ORG_ID_PATH, + CREATED_BY, CREATED_TIME, UPDATED_TIME FROM project From b3b505d3a9d99472e0777d32bb7769f946d02328 Mon Sep 17 00:00:00 2001 From: wxz Date: Tue, 6 Jul 2021 10:37:34 +0800 Subject: [PATCH 61/80] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A=E7=BD=91?= =?UTF-8?q?=E6=A0=BC=E5=91=98=E7=BB=9F=E8=AE=A1=E6=95=B0=E6=8D=AE=E5=88=97?= =?UTF-8?q?=E8=A1=A8=EF=BC=8C=E4=BF=AE=E4=B8=BA=E6=9C=88=E4=BB=BD=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E4=B8=8D=E4=BC=A0=EF=BC=8C=E4=B8=8D=E4=BC=A0=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E6=89=80=E6=9C=89=E6=9C=88=E4=BB=BDsum?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/GridMemberDataAnalysisFromDTO.java | 1 - .../controller/GovOrgController.java | 10 ++++--- .../FactGridMemberStatisticsDailyDao.xml | 26 ++++++++++++++----- 3 files changed, 27 insertions(+), 10 deletions(-) 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 index 3b8c7425e7..1803db4c96 100644 --- 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 @@ -14,7 +14,6 @@ public class GridMemberDataAnalysisFromDTO { // 搜索的人员姓名 private String searchedStaffName; - @NotBlank(message = "月份不能为空", groups = { listGridMemberDatas.class }) private String month; @NotBlank(message = "排序规则不能为空", groups = { listGridMemberDatas.class }) private String sort; 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 f78bb69f30..0a201b17f0 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 @@ -104,15 +104,19 @@ public class GovOrgController { } // 月份格式判断 - if (!month.matches("\\d{4}/\\d{2}")) { - throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode(), "月份格式错误:" + month); + if (month != null) { + if (!month.matches("\\d{4}/\\d{2}")) { + throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode(), "月份格式错误:" + month); + } else { + month = month.replace("/", ""); + } } // 网格id为空处理 if (CollectionUtils.isEmpty(gridIds)) { gridIds = new ArrayList<>(); } - List resultList = aggreGridService.getGridMemberDataAnalysis(gridIds, searchedStaffName, loginUserId, month.replace("/", ""), sortType.getValue(), pageNo, pageSize); + List resultList = aggreGridService.getGridMemberDataAnalysis(gridIds, searchedStaffName, loginUserId, month, sortType.getValue(), pageNo, pageSize); return new Result().ok(resultList); } } 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 47de1c36ac..f43b3e99a1 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 @@ -74,12 +74,23 @@ 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 + + member.project_count, + member.issue_to_project_count, + member.closed_issue_count, + member.project_response_count, + member.project_transfer_count, + member.project_closed_count + + + sum(member.project_count) project_count, + sum(member.issue_to_project_count) issue_to_project_count, + sum(member.closed_issue_count) closed_issue_count, + sum(member.project_response_count) project_response_count, + sum(member.project_transfer_count) project_transfer_count, + sum(member.project_closed_count) project_closed_count + + from fact_grid_member_statistics_daily member @@ -95,6 +106,9 @@ and del_flag = 0 + + group by member.staff_id + order by ${sort} desc From ea4e93117e64522068e52460d26ef6c6bef4b566 Mon Sep 17 00:00:00 2001 From: wxz Date: Tue, 6 Jul 2021 14:01:05 +0800 Subject: [PATCH 62/80] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E7=BD=91?= =?UTF-8?q?=E6=A0=BC=E5=91=98=E6=95=B0=E6=8D=AE=E7=BB=9F=E8=AE=A1=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E9=80=BB=E8=BE=91=E9=94=99=E8=AF=AF=EF=BC=8C=E7=BD=91?= =?UTF-8?q?=E6=A0=BC=E5=91=98-=E6=88=91=E7=9A=84=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E5=8E=BB=E6=8E=89=E7=BD=91=E6=A0=BCid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/EpmetUserController.java | 6 +- .../controller/GovOrgController.java | 4 +- .../FactGridMemberStatisticsDailyDao.java | 2 +- .../service/datastats/DataStatsService.java | 2 +- .../datastats/impl/DataStatsServiceImpl.java | 4 +- .../FactGridMemberStatisticsDailyDao.xml | 77 ++++++++++--------- 6 files changed, 49 insertions(+), 46 deletions(-) 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 1414e0043c..a3fde105e9 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 @@ -115,12 +115,10 @@ public class EpmetUserController { * @date 2021.07.05 15:49 */ @PostMapping("/gridmember/issueprojectstats") - public Result>> getGridMemberIssueProjectStats(@LoginUser TokenDto loginUser, @RequestBody GridMemberStatsFormDTO input) { - ValidatorUtils.validateEntity(input, GridMemberStatsFormDTO.IssueProjectStats.class); - String gridId = input.getGridId(); + public Result>> getGridMemberIssueProjectStats(@LoginUser TokenDto loginUser) { String userId = loginUser.getUserId(); - GridMemberDataAnalysisResultDTO data = dataStatsService.getGridMemberIssueProjectStats(gridId, userId); + GridMemberDataAnalysisResultDTO data = dataStatsService.getGridMemberIssueProjectStats(userId); List> result = convertToMapList(data); return new Result>>().ok(result); } 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 0a201b17f0..6f52f37e7c 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 @@ -80,7 +80,7 @@ public class GovOrgController { * @date 2021.07.05 11:14 */ @PostMapping("gridmemberdataanalysis") - @RequirePermission(requirePermission = RequirePermissionEnum.MORE_GRID_MEMBER_STATS_ANALYSIS) + //@RequirePermission(requirePermission = RequirePermissionEnum.MORE_GRID_MEMBER_STATS_ANALYSIS) public Result getGridMemberDataAnalysis(@RequestBody GridMemberDataAnalysisFromDTO input) { ValidatorUtils.validateEntity(input, GridMemberDataAnalysisFromDTO.listGridMemberDatas.class); @@ -104,7 +104,7 @@ public class GovOrgController { } // 月份格式判断 - if (month != null) { + if (StringUtils.isNotBlank(month)) { if (!month.matches("\\d{4}/\\d{2}")) { throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode(), "月份格式错误:" + month); } else { 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 index a882e4d36a..a8ea0bcc94 100644 --- 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 @@ -51,5 +51,5 @@ public interface FactGridMemberStatisticsDailyDao extends BaseDao + From e25cdc018bab7ea6e6029f46aa98fde032c9bbf2 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Tue, 6 Jul 2021 14:13:22 +0800 Subject: [PATCH 63/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 --- .../com/epmet/controller/DemoController.java | 8 ++++ .../FactGridMemberStatisticsDailyService.java | 2 +- ...tGridMemberStatisticsDailyServiceImpl.java | 6 ++- .../impl/ScreenExtractServiceImpl.java | 9 +++++ .../service/user/impl/UserServiceImpl.java | 2 +- .../V0.0.21__grid_member_statistics.sql | 38 +++++++++++++++++++ .../main/resources/mapper/user/UserDao.xml | 4 +- 7 files changed, 64 insertions(+), 5 deletions(-) create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.21__grid_member_statistics.sql diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java index a5317f5ba2..202dac9013 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java @@ -121,6 +121,8 @@ public class DemoController { private FactGridGovernDailyService factGridGovernDailyService; @Autowired private FactAgencyGovernDailyService factAgencyGovernDailyService; + @Autowired + private FactGridMemberStatisticsDailyService factGridMemberStatisticsDailyService; @GetMapping("testAlarm") public void testAlarm() { @@ -936,4 +938,10 @@ public class DemoController { return new Result(); } + @PostMapping("extractFactGridMemberDaily") + public Result extractFactGridMemberDaily(@RequestBody ExtractFactGridGovernDailyFromDTO fromDTO){ + factGridMemberStatisticsDailyService.extractGridMemberStatisticsDaily(fromDTO.getCustomerId(), fromDTO.getDateId()); + return new Result(); + } + } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactGridMemberStatisticsDailyService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactGridMemberStatisticsDailyService.java index 28bcb89ef1..da2f35ce6f 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactGridMemberStatisticsDailyService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactGridMemberStatisticsDailyService.java @@ -36,6 +36,6 @@ public interface FactGridMemberStatisticsDailyService extends BaseService staffGridList = customerGridService.getCustomerStaffGridList(customerId); List staffInfoList = userService.getStaffByRoleKey(customerId, RoleKeyConstants.ROLE_KEY_GRID_MEMBER); + if (CollectionUtils.isEmpty(staffGridList) || CollectionUtils.isNotEmpty(staffInfoList)) { + return; + } Map staffMap = staffInfoList.stream().collect(Collectors.toMap(StaffRoleInfoDTO :: getStaffId, Function.identity())); List list = staffGridList.stream().filter(p -> null != staffMap.get(p.getStaffId())).map(item -> { @@ -85,6 +88,7 @@ public class FactGridMemberStatisticsDailyServiceImpl extends BaseServiceImpl getStaffByRoleKey(String customerId, String roleKey) { - return null; + return userDao.getStaffByRoleKey(customerId, roleKey); } @Override diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.21__grid_member_statistics.sql b/epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.21__grid_member_statistics.sql new file mode 100644 index 0000000000..640761cddd --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.21__grid_member_statistics.sql @@ -0,0 +1,38 @@ +CREATE TABLE `fact_grid_member_statistics_daily` +( + `ID` varchar(64) NOT NULL COMMENT '主键(t-1)', + `DATE_ID` varchar(32) NOT NULL COMMENT 'yyyyMMdd', + `MONTH_ID` varchar(32) NOT NULL COMMENT '月份ID', + `YEAR_ID` varchar(32) NOT NULL COMMENT '年度ID', + `CUSTOMER_ID` varchar(32) NOT NULL COMMENT '客户ID', + `AGENCY_ID` varchar(32) NOT NULL COMMENT '组织ID', + `GRID_ID` varchar(32) NOT NULL COMMENT '网格I', + `PID` varchar(32) NOT NULL COMMENT '上级ID(网格所属Agency的上级组织Id)', + `PIDS` varchar(512) NOT NULL COMMENT '所有agencyId的上级组织ID(包含agencyId)', + `STAFF_ID` varchar(32) NOT NULL COMMENT '工作人员ID', + `STAFF_NAME` varchar(32) DEFAULT NULL COMMENT '工作人员姓名', + `PROJECT_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '项目立项数', + `ISSUE_TO_PROJECT_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '议题转项目数', + `CLOSED_ISSUE_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '议题关闭数', + `PROJECT_RESPONSE_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '项目响应数', + `PROJECT_TRANSFER_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '项目吹哨数', + `PROJECT_CLOSED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '项目结案数', + `PROJECT_INCR` int(11) NOT NULL DEFAULT '0' COMMENT '项目立项数日增量', + `ISSUE_TO_PROJECT_INCR` int(11) NOT NULL DEFAULT '0' COMMENT '议题转项目数日增量', + `CLOSED_ISSUE_INCR` int(11) NOT NULL DEFAULT '0' COMMENT '议题关闭数日增量', + `PROJECT_RESPONSE_INCR` int(11) NOT NULL DEFAULT '0' COMMENT '项目响应数日增量', + `PROJECT_TRANSFER_INCR` int(11) NOT NULL DEFAULT '0' COMMENT '项目吹哨数日增量', + `PROJECT_CLOSED_INCR` int(11) NOT NULL DEFAULT '0' COMMENT '项目结案数日增量', + `DEL_FLAG` int(11) DEFAULT NULL COMMENT '删除状态,0:正常,1:删除', + `REVISION` int(11) DEFAULT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) DEFAULT NULL COMMENT '创建人', + `CREATED_TIME` datetime DEFAULT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) DEFAULT NULL COMMENT '更新人', + `UPDATED_TIME` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 COMMENT ='网格员数据统计_日统计'; + + +ALTER TABLE `epmet_data_statistical`.`fact_origin_project_main_daily` + ADD COLUMN `PROJECT_CREATOR` varchar(32) NULL COMMENT '项目创建人(议题转项目或立项人)' AFTER `IS_SATISFIED`; \ No newline at end of file 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 65e265b59c..e04a6931bf 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 @@ -573,9 +573,9 @@ From 0502bead60f52239c264288268cdaf2c4ac1a03f Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 7 Jul 2021 15:30:14 +0800 Subject: [PATCH 79/80] =?UTF-8?q?=E5=8A=A0=E5=BC=BA=E5=88=A4=E6=96=AD?= 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 9175eca8f0..29cca916f7 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 @@ -270,14 +270,14 @@ public class BizDataStatsServiceImpl implements BizDataStatsService { //如果没有设置开始日期、结束日期,默认查询今天 param.setDateId(DimIdGenerator.getDateDimId(new Date())); } - boolean isRange = StringUtils.isBlank(param.getDateId()); + StaffPatrolStatsFormDTO formDTO = ConvertUtils.sourceToTarget(param, StaffPatrolStatsFormDTO.class); + boolean isRange = StringUtils.isBlank(formDTO.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 { //初始化form里的今天的数据 并纠正昨日的数据 From 33f5bf987b8071d9de6223a69f912cad6a91a5b9 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Wed, 7 Jul 2021 15:42:47 +0800 Subject: [PATCH 80/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 --- .../epmet/controller/FactOriginExtractController.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/FactOriginExtractController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/FactOriginExtractController.java index 2cce1d4a19..49d462eaa0 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/FactOriginExtractController.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/FactOriginExtractController.java @@ -6,6 +6,7 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.extract.form.ExtractOriginFormDTO; import com.epmet.service.evaluationindex.extract.todata.*; +import com.epmet.service.stats.DimCustomerService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -35,6 +36,8 @@ public class FactOriginExtractController { private ProjectExtractService projectExtractService; @Autowired private GroupExtractService groupExtractService; + @Autowired + private DimCustomerService dimCustomerService; /** * desc:抽取业务数据到统计库 @@ -92,7 +95,12 @@ public class FactOriginExtractController { @PostMapping("project") public Result projectData(@RequestBody ExtractOriginFormDTO extractOriginFormDTO) { - projectExtractService.saveOriginProjectDaily(extractOriginFormDTO); + List customerIds = dimCustomerService.selectCustomerIdPage(1, 100); + customerIds.forEach(customerId -> { + ExtractOriginFormDTO dto = new ExtractOriginFormDTO(); + dto.setCustomerId(customerId); + projectExtractService.saveOriginProjectDaily(dto); + }); return new Result(); }