Commit fa50f5a7e043161b8e7b0ebf5e5320c38456e99f
1 parent
5618a89b
feat(garden): 新增任务距离排序和智能排序功能
- 实现任务按距离排序和班组进度统计功能 - 添加任务智能排序(距离+个人效率加权)功能 - 新增GPS距离计算工具类和相关数据传输对象 - 添加出行速度配置和智能排序权重配置字典类型 - 实现用户任务效率预计算定时任务 - 优化API签名切面注解使用方式 - 添加微信公众号开放平台回调接口免登录配置
Showing
5 changed files
with
19 additions
and
14 deletions
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/homepage/AppHomepageSummaryController.java
| @@ -2,10 +2,7 @@ package com.zteits.urbanops.module.garden.controller.app.homepage; | @@ -2,10 +2,7 @@ package com.zteits.urbanops.module.garden.controller.app.homepage; | ||
| 2 | 2 | ||
| 3 | import com.zteits.urbanops.framework.common.pojo.CommonResult; | 3 | import com.zteits.urbanops.framework.common.pojo.CommonResult; |
| 4 | import com.zteits.urbanops.framework.common.pojo.PageResult; | 4 | import com.zteits.urbanops.framework.common.pojo.PageResult; |
| 5 | -import com.zteits.urbanops.module.garden.controller.app.homepage.vo.AppHomePageSummaryPageReqVO; | ||
| 6 | -import com.zteits.urbanops.module.garden.controller.app.homepage.vo.AppHomePageSummaryReqVO; | ||
| 7 | -import com.zteits.urbanops.module.garden.controller.app.homepage.vo.TaskCompletionStatusRspVo; | ||
| 8 | -import com.zteits.urbanops.module.garden.controller.app.homepage.vo.TaskDetailsRspVo; | 5 | +import com.zteits.urbanops.module.garden.controller.app.homepage.vo.*; |
| 9 | import com.zteits.urbanops.module.garden.service.homepage.HomepageSummaryService; | 6 | import com.zteits.urbanops.module.garden.service.homepage.HomepageSummaryService; |
| 10 | import io.swagger.v3.oas.annotations.Operation; | 7 | import io.swagger.v3.oas.annotations.Operation; |
| 11 | import io.swagger.v3.oas.annotations.tags.Tag; | 8 | import io.swagger.v3.oas.annotations.tags.Tag; |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/homepage/HomepageSummaryMapper.java
| @@ -6,6 +6,7 @@ import com.zteits.urbanops.module.garden.controller.admin.homepage.vo.CommitTask | @@ -6,6 +6,7 @@ import com.zteits.urbanops.module.garden.controller.admin.homepage.vo.CommitTask | ||
| 6 | import com.zteits.urbanops.module.garden.controller.admin.homepage.vo.CommitWorkOrderRespVo; | 6 | import com.zteits.urbanops.module.garden.controller.admin.homepage.vo.CommitWorkOrderRespVo; |
| 7 | import com.zteits.urbanops.module.garden.controller.admin.homepage.vo.CommitWorkOrderSourceRespVo; | 7 | import com.zteits.urbanops.module.garden.controller.admin.homepage.vo.CommitWorkOrderSourceRespVo; |
| 8 | import com.zteits.urbanops.module.garden.controller.admin.homepage.vo.WorkOrderTrendRespVo; | 8 | import com.zteits.urbanops.module.garden.controller.admin.homepage.vo.WorkOrderTrendRespVo; |
| 9 | +import com.zteits.urbanops.module.garden.controller.app.homepage.vo.AppWorkOrderSummaryVo; | ||
| 9 | import com.zteits.urbanops.module.garden.controller.app.homepage.vo.CommonTaskStatusVo; | 10 | import com.zteits.urbanops.module.garden.controller.app.homepage.vo.CommonTaskStatusVo; |
| 10 | import com.zteits.urbanops.module.garden.controller.app.homepage.vo.TaskCompletionStatusRspVo; | 11 | import com.zteits.urbanops.module.garden.controller.app.homepage.vo.TaskCompletionStatusRspVo; |
| 11 | import com.zteits.urbanops.module.garden.controller.app.homepage.vo.TaskDetailsRspVo; | 12 | import com.zteits.urbanops.module.garden.controller.app.homepage.vo.TaskDetailsRspVo; |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/CommonConstants.java
| @@ -26,4 +26,7 @@ public interface CommonConstants { | @@ -26,4 +26,7 @@ public interface CommonConstants { | ||
| 26 | 26 | ||
| 27 | /*积分来源 01:任务反馈*/ | 27 | /*积分来源 01:任务反馈*/ |
| 28 | public static final String UNIT_INTEGRAL_SOURCE_TYPE_01 = "01"; | 28 | public static final String UNIT_INTEGRAL_SOURCE_TYPE_01 = "01"; |
| 29 | + | ||
| 30 | + /*全域督察员角色标识*/ | ||
| 31 | + public static final String INSPECTOR_ROLE_KEY = "inspector"; | ||
| 29 | } | 32 | } |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/homepage/HomepageSummaryService.java
| 1 | package com.zteits.urbanops.module.garden.service.homepage; | 1 | package com.zteits.urbanops.module.garden.service.homepage; |
| 2 | 2 | ||
| 3 | import com.zteits.urbanops.framework.common.pojo.PageResult; | 3 | import com.zteits.urbanops.framework.common.pojo.PageResult; |
| 4 | -import com.zteits.urbanops.module.garden.controller.app.homepage.vo.AppHomePageSummaryPageReqVO; | ||
| 5 | -import com.zteits.urbanops.module.garden.controller.app.homepage.vo.AppHomePageSummaryReqVO; | ||
| 6 | -import com.zteits.urbanops.module.garden.controller.app.homepage.vo.AppTaskDistanceSortReqVO; | ||
| 7 | -import com.zteits.urbanops.module.garden.controller.app.homepage.vo.AppTaskSmartSortReqVO; | ||
| 8 | -import com.zteits.urbanops.module.garden.controller.app.homepage.vo.TaskCompletionStatusRspVo; | ||
| 9 | -import com.zteits.urbanops.module.garden.controller.app.homepage.vo.TaskDetailsRspVo; | ||
| 10 | -import com.zteits.urbanops.module.garden.controller.app.homepage.vo.TaskDistanceSortResultVO; | 4 | +import com.zteits.urbanops.module.garden.controller.app.homepage.vo.*; |
| 11 | 5 | ||
| 12 | import java.util.List; | 6 | import java.util.List; |
| 13 | import java.util.Map; | 7 | import java.util.Map; |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/homepage/HomepageSummaryServiceImpl.java
| @@ -10,20 +10,28 @@ import com.zteits.urbanops.framework.common.util.date.LocalDateTimeUtils; | @@ -10,20 +10,28 @@ import com.zteits.urbanops.framework.common.util.date.LocalDateTimeUtils; | ||
| 10 | import com.zteits.urbanops.framework.mybatis.core.query.QueryWrapperX; | 10 | import com.zteits.urbanops.framework.mybatis.core.query.QueryWrapperX; |
| 11 | import com.zteits.urbanops.framework.mybatis.core.util.MyBatisUtils; | 11 | import com.zteits.urbanops.framework.mybatis.core.util.MyBatisUtils; |
| 12 | import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; | 12 | import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; |
| 13 | +import com.zteits.urbanops.framework.common.biz.system.dict.dto.DictDataRespDTO; | ||
| 13 | import com.zteits.urbanops.module.garden.controller.app.homepage.vo.*; | 14 | import com.zteits.urbanops.module.garden.controller.app.homepage.vo.*; |
| 15 | +import com.zteits.urbanops.module.garden.dal.dataobject.UserTaskEfficiencyDO; | ||
| 16 | +import com.zteits.urbanops.module.garden.enums.CommonConstants; | ||
| 14 | import com.zteits.urbanops.module.garden.dal.dataobject.taskstatistics.TaskStatisticsDO; | 17 | import com.zteits.urbanops.module.garden.dal.dataobject.taskstatistics.TaskStatisticsDO; |
| 18 | +import com.zteits.urbanops.module.garden.dal.mysql.UserTaskEfficiencyMapper; | ||
| 15 | import com.zteits.urbanops.module.garden.dal.mysql.homepage.HomepageSummaryMapper; | 19 | import com.zteits.urbanops.module.garden.dal.mysql.homepage.HomepageSummaryMapper; |
| 16 | import com.zteits.urbanops.module.garden.dal.mysql.taskstatistics.TaskStatisticsMapper; | 20 | import com.zteits.urbanops.module.garden.dal.mysql.taskstatistics.TaskStatisticsMapper; |
| 21 | +import com.zteits.urbanops.module.garden.util.GpsDistanceUtil; | ||
| 17 | import com.zteits.urbanops.module.system.api.dept.DeptApi; | 22 | import com.zteits.urbanops.module.system.api.dept.DeptApi; |
| 23 | +import com.zteits.urbanops.module.system.api.dict.DictDataApi; | ||
| 18 | import com.zteits.urbanops.module.system.api.permission.RoleApi; | 24 | import com.zteits.urbanops.module.system.api.permission.RoleApi; |
| 19 | import com.zteits.urbanops.module.system.api.user.AdminUserApi; | 25 | import com.zteits.urbanops.module.system.api.user.AdminUserApi; |
| 20 | import com.zteits.urbanops.module.system.api.user.dto.AdminUserRespDTO; | 26 | import com.zteits.urbanops.module.system.api.user.dto.AdminUserRespDTO; |
| 27 | +import com.zteits.urbanops.module.system.enums.DictTypeConstants; | ||
| 21 | import jakarta.annotation.Resource; | 28 | import jakarta.annotation.Resource; |
| 22 | import org.apache.commons.collections4.CollectionUtils; | 29 | import org.apache.commons.collections4.CollectionUtils; |
| 23 | import org.apache.commons.lang3.StringUtils; | 30 | import org.apache.commons.lang3.StringUtils; |
| 24 | import org.springframework.stereotype.Service; | 31 | import org.springframework.stereotype.Service; |
| 25 | import org.springframework.transaction.annotation.Transactional; | 32 | import org.springframework.transaction.annotation.Transactional; |
| 26 | 33 | ||
| 34 | +import java.math.BigDecimal; | ||
| 27 | import java.text.DateFormat; | 35 | import java.text.DateFormat; |
| 28 | import java.text.ParseException; | 36 | import java.text.ParseException; |
| 29 | import java.text.SimpleDateFormat; | 37 | import java.text.SimpleDateFormat; |
| @@ -33,6 +41,8 @@ import java.time.format.DateTimeFormatter; | @@ -33,6 +41,8 @@ import java.time.format.DateTimeFormatter; | ||
| 33 | import java.util.*; | 41 | import java.util.*; |
| 34 | import java.util.stream.Collectors; | 42 | import java.util.stream.Collectors; |
| 35 | 43 | ||
| 44 | +import static com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; | ||
| 45 | + | ||
| 36 | /** | 46 | /** |
| 37 | * @Classname HomepageSummaryServiceImpl | 47 | * @Classname HomepageSummaryServiceImpl |
| 38 | * @Description 首页统计实现 | 48 | * @Description 首页统计实现 |
| @@ -66,7 +76,7 @@ public class HomepageSummaryServiceImpl implements HomepageSummaryService{ | @@ -66,7 +76,7 @@ public class HomepageSummaryServiceImpl implements HomepageSummaryService{ | ||
| 66 | 76 | ||
| 67 | @Override | 77 | @Override |
| 68 | public List<TaskCompletionStatusRspVo> taskCompletionSummary(AppHomePageSummaryReqVO req) { | 78 | public List<TaskCompletionStatusRspVo> taskCompletionSummary(AppHomePageSummaryReqVO req) { |
| 69 | - Long userId = SecurityFrameworkUtils.getLoginUserId(); | 79 | + Long userId = getLoginUserId(); |
| 70 | //巡查任务和养护任务已完成,未完成数量统计 | 80 | //巡查任务和养护任务已完成,未完成数量统计 |
| 71 | //返回数据初始化 | 81 | //返回数据初始化 |
| 72 | List<String> days = getDays(req.getBeginTime(), req.getEndTime()); | 82 | List<String> days = getDays(req.getBeginTime(), req.getEndTime()); |
| @@ -112,7 +122,7 @@ public class HomepageSummaryServiceImpl implements HomepageSummaryService{ | @@ -112,7 +122,7 @@ public class HomepageSummaryServiceImpl implements HomepageSummaryService{ | ||
| 112 | 122 | ||
| 113 | @Override | 123 | @Override |
| 114 | public PageResult<TaskDetailsRspVo> queryTaskDetails(AppHomePageSummaryPageReqVO req) { | 124 | public PageResult<TaskDetailsRspVo> queryTaskDetails(AppHomePageSummaryPageReqVO req) { |
| 115 | - Long userId = SecurityFrameworkUtils.getLoginUserId(); | 125 | + Long userId = getLoginUserId(); |
| 116 | IPage<TaskDetailsRspVo> mpPage = MyBatisUtils.buildPage(req); | 126 | IPage<TaskDetailsRspVo> mpPage = MyBatisUtils.buildPage(req); |
| 117 | if (req.getQueryType() == 2) { | 127 | if (req.getQueryType() == 2) { |
| 118 | //已完成 | 128 | //已完成 |
| @@ -120,7 +130,7 @@ public class HomepageSummaryServiceImpl implements HomepageSummaryService{ | @@ -120,7 +130,7 @@ public class HomepageSummaryServiceImpl implements HomepageSummaryService{ | ||
| 120 | } else { | 130 | } else { |
| 121 | //待办 | 131 | //待办 |
| 122 | Long deptId = SecurityFrameworkUtils.getDeptId(); | 132 | Long deptId = SecurityFrameworkUtils.getDeptId(); |
| 123 | - List<Long> roleIds = roleApi.getRoleIdsByUserId(SecurityFrameworkUtils.getLoginUserId()); | 133 | + List<Long> roleIds = roleApi.getRoleIdsByUserId(getLoginUserId()); |
| 124 | mpPage = homepageSummaryMapper.queryPendingTaskDetails(mpPage, roleIds, userId, deptId, LocalDateTime.now()); | 134 | mpPage = homepageSummaryMapper.queryPendingTaskDetails(mpPage, roleIds, userId, deptId, LocalDateTime.now()); |
| 125 | } | 135 | } |
| 126 | return new PageResult<>(mpPage.getRecords(), mpPage.getTotal()); | 136 | return new PageResult<>(mpPage.getRecords(), mpPage.getTotal()); |