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 | 2 | |
| 3 | 3 | import com.zteits.urbanops.framework.common.pojo.CommonResult; |
| 4 | 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 | 6 | import com.zteits.urbanops.module.garden.service.homepage.HomepageSummaryService; |
| 10 | 7 | import io.swagger.v3.oas.annotations.Operation; |
| 11 | 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 | import com.zteits.urbanops.module.garden.controller.admin.homepage.vo.CommitWorkOrderRespVo; |
| 7 | 7 | import com.zteits.urbanops.module.garden.controller.admin.homepage.vo.CommitWorkOrderSourceRespVo; |
| 8 | 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 | 10 | import com.zteits.urbanops.module.garden.controller.app.homepage.vo.CommonTaskStatusVo; |
| 10 | 11 | import com.zteits.urbanops.module.garden.controller.app.homepage.vo.TaskCompletionStatusRspVo; |
| 11 | 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
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/homepage/HomepageSummaryService.java
| 1 | 1 | package com.zteits.urbanops.module.garden.service.homepage; |
| 2 | 2 | |
| 3 | 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 | 6 | import java.util.List; |
| 13 | 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 | 10 | import com.zteits.urbanops.framework.mybatis.core.query.QueryWrapperX; |
| 11 | 11 | import com.zteits.urbanops.framework.mybatis.core.util.MyBatisUtils; |
| 12 | 12 | import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; |
| 13 | +import com.zteits.urbanops.framework.common.biz.system.dict.dto.DictDataRespDTO; | |
| 13 | 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 | 17 | import com.zteits.urbanops.module.garden.dal.dataobject.taskstatistics.TaskStatisticsDO; |
| 18 | +import com.zteits.urbanops.module.garden.dal.mysql.UserTaskEfficiencyMapper; | |
| 15 | 19 | import com.zteits.urbanops.module.garden.dal.mysql.homepage.HomepageSummaryMapper; |
| 16 | 20 | import com.zteits.urbanops.module.garden.dal.mysql.taskstatistics.TaskStatisticsMapper; |
| 21 | +import com.zteits.urbanops.module.garden.util.GpsDistanceUtil; | |
| 17 | 22 | import com.zteits.urbanops.module.system.api.dept.DeptApi; |
| 23 | +import com.zteits.urbanops.module.system.api.dict.DictDataApi; | |
| 18 | 24 | import com.zteits.urbanops.module.system.api.permission.RoleApi; |
| 19 | 25 | import com.zteits.urbanops.module.system.api.user.AdminUserApi; |
| 20 | 26 | import com.zteits.urbanops.module.system.api.user.dto.AdminUserRespDTO; |
| 27 | +import com.zteits.urbanops.module.system.enums.DictTypeConstants; | |
| 21 | 28 | import jakarta.annotation.Resource; |
| 22 | 29 | import org.apache.commons.collections4.CollectionUtils; |
| 23 | 30 | import org.apache.commons.lang3.StringUtils; |
| 24 | 31 | import org.springframework.stereotype.Service; |
| 25 | 32 | import org.springframework.transaction.annotation.Transactional; |
| 26 | 33 | |
| 34 | +import java.math.BigDecimal; | |
| 27 | 35 | import java.text.DateFormat; |
| 28 | 36 | import java.text.ParseException; |
| 29 | 37 | import java.text.SimpleDateFormat; |
| ... | ... | @@ -33,6 +41,8 @@ import java.time.format.DateTimeFormatter; |
| 33 | 41 | import java.util.*; |
| 34 | 42 | import java.util.stream.Collectors; |
| 35 | 43 | |
| 44 | +import static com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; | |
| 45 | + | |
| 36 | 46 | /** |
| 37 | 47 | * @Classname HomepageSummaryServiceImpl |
| 38 | 48 | * @Description 首页统计实现 |
| ... | ... | @@ -66,7 +76,7 @@ public class HomepageSummaryServiceImpl implements HomepageSummaryService{ |
| 66 | 76 | |
| 67 | 77 | @Override |
| 68 | 78 | public List<TaskCompletionStatusRspVo> taskCompletionSummary(AppHomePageSummaryReqVO req) { |
| 69 | - Long userId = SecurityFrameworkUtils.getLoginUserId(); | |
| 79 | + Long userId = getLoginUserId(); | |
| 70 | 80 | //巡查任务和养护任务已完成,未完成数量统计 |
| 71 | 81 | //返回数据初始化 |
| 72 | 82 | List<String> days = getDays(req.getBeginTime(), req.getEndTime()); |
| ... | ... | @@ -112,7 +122,7 @@ public class HomepageSummaryServiceImpl implements HomepageSummaryService{ |
| 112 | 122 | |
| 113 | 123 | @Override |
| 114 | 124 | public PageResult<TaskDetailsRspVo> queryTaskDetails(AppHomePageSummaryPageReqVO req) { |
| 115 | - Long userId = SecurityFrameworkUtils.getLoginUserId(); | |
| 125 | + Long userId = getLoginUserId(); | |
| 116 | 126 | IPage<TaskDetailsRspVo> mpPage = MyBatisUtils.buildPage(req); |
| 117 | 127 | if (req.getQueryType() == 2) { |
| 118 | 128 | //已完成 |
| ... | ... | @@ -120,7 +130,7 @@ public class HomepageSummaryServiceImpl implements HomepageSummaryService{ |
| 120 | 130 | } else { |
| 121 | 131 | //待办 |
| 122 | 132 | Long deptId = SecurityFrameworkUtils.getDeptId(); |
| 123 | - List<Long> roleIds = roleApi.getRoleIdsByUserId(SecurityFrameworkUtils.getLoginUserId()); | |
| 133 | + List<Long> roleIds = roleApi.getRoleIdsByUserId(getLoginUserId()); | |
| 124 | 134 | mpPage = homepageSummaryMapper.queryPendingTaskDetails(mpPage, roleIds, userId, deptId, LocalDateTime.now()); |
| 125 | 135 | } |
| 126 | 136 | return new PageResult<>(mpPage.getRecords(), mpPage.getTotal()); | ... | ... |