From fd345592daef5f203af84eeb4fa33fd989a2ba66 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期三, 30 四月 2025 10:55:45 +0800 Subject: [PATCH] 大屏修改 --- ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/large/AnalysisOrderDataController.java | 82 +++++++++++++++++++++++++++++++++++++++- 1 files changed, 79 insertions(+), 3 deletions(-) diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/large/AnalysisOrderDataController.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/large/AnalysisOrderDataController.java index d3d1d45..4ea2008 100644 --- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/large/AnalysisOrderDataController.java +++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/large/AnalysisOrderDataController.java @@ -7,15 +7,21 @@ import cn.afterturn.easypoi.excel.entity.ImportParams; import cn.afterturn.easypoi.excel.entity.TemplateExportParams; import cn.hutool.core.io.resource.ClassPathResource; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.admin.entity.MasterWorker; import com.ruoyi.admin.large.model.AnalysisOrderData; import com.ruoyi.admin.large.model.query.OrderDataQuery; import com.ruoyi.admin.large.service.AnalysisOrderDataService; +import com.ruoyi.admin.service.MasterWorkerService; import com.ruoyi.admin.service.SysUserService; import com.ruoyi.admin.utils.ImportExcelUtil; import com.ruoyi.admin.utils.WebUtils; +import com.ruoyi.admin.vo.SiteLargeeVO; +import com.ruoyi.admin.vo.WorkersLargeeVO; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.order.api.entity.Order; @@ -34,8 +40,11 @@ import java.io.IOException; import java.io.InputStream; import java.net.URLEncoder; +import java.text.ParseException; import java.text.SimpleDateFormat; +import java.time.LocalDateTime; import java.util.*; +import java.util.stream.Collectors; /** * <p> @@ -53,15 +62,70 @@ private final TokenService tokenService; private final SysUserService sysUserService; private final OrderClient orderClient; + private final MasterWorkerService masterWorkerService; @Autowired - public AnalysisOrderDataController(AnalysisOrderDataService analysisOrderDataService, TokenService tokenService, SysUserService sysUserService, OrderClient orderClient) { + public AnalysisOrderDataController(AnalysisOrderDataService analysisOrderDataService, TokenService tokenService, SysUserService sysUserService, OrderClient orderClient,MasterWorkerService masterWorkerService) { this.analysisOrderDataService = analysisOrderDataService; this.tokenService = tokenService; this.sysUserService = sysUserService; this.orderClient = orderClient; + this.masterWorkerService = masterWorkerService; } + /** + * 大屏-站点分布 + */ + @ApiOperation( value = "大屏-站点分布") + @GetMapping(value = "/listSiteLarge") + public R<SiteLargeeVO> listSiteLarge() { + SiteLargeeVO siteLargeeVO = new SiteLargeeVO(); + // 回收订单数量 + Map<String, Integer> orderMap = new HashMap<>(); + // 回收人员数量 + Map<String, Integer> userMap = new HashMap<>(); + // 根据city为键,值为对应city的订单数量 + List<AnalysisOrderData> list1 = analysisOrderDataService.list(); + for (AnalysisOrderData analysisOrderData : list1) { + if (orderMap.containsKey(analysisOrderData.getCity())) { + orderMap.put(analysisOrderData.getCity(), orderMap.get(analysisOrderData.getCity()) + 1); + } else { + orderMap.put(analysisOrderData.getCity(), 1); + } + if (userMap.containsKey(analysisOrderData.getCity())) { + userMap.put(analysisOrderData.getCity(), userMap.get(analysisOrderData.getCity()) + 1); + } else { + userMap.put(analysisOrderData.getCity(), 1); + } + } + siteLargeeVO.setOrderMap(orderMap); + siteLargeeVO.setUserMap(userMap); + return R.ok(siteLargeeVO); + } + /** + * 大屏-师傅定位分布 + */ + @ApiOperation( value = "大屏-师傅定位分布") + @GetMapping(value = "/listWorkersLarge") + public R<WorkersLargeeVO> listWorkersLarge() { + WorkersLargeeVO siteLargeeVO = new WorkersLargeeVO(); + // 查询师傅经纬度 + List<MasterWorker> list = masterWorkerService.lambdaQuery().isNotNull(MasterWorker::getWorkerLat).isNotNull(MasterWorker::getWorkerLon) + .list(); + siteLargeeVO.setWorkers(list); + // 师傅数量 + Map<String, Integer> userMap = new HashMap<>(); + for (MasterWorker masterWorker : list) { + if (userMap.containsKey(masterWorker.getCity())) { + userMap.put(masterWorker.getCity(), userMap.get(masterWorker.getCity()) + 1); + } else { + userMap.put(masterWorker.getCity(), 1); + } + } +// siteLargeeVO.setSiteMap(); + siteLargeeVO.setUserMap(userMap); + return R.ok(siteLargeeVO); + } /** * 查询上门回收订单列表 */ @@ -156,6 +220,7 @@ while (iterator.hasNext()){ AnalysisOrderData analysisOrderData = iterator.next(); try { + analysisOrderData.setDataType(1); analysisOrderData.setOrderDate(new SimpleDateFormat("yyyy-MM-dd").parse(analysisOrderData.getOrderDateStr())); }catch (Exception e){ errors.add("回收订单编号:["+analysisOrderData.getOrderNum()+"],时间格式化错误,忽略导入"); @@ -186,16 +251,27 @@ orders.forEach(order -> { AnalysisOrderData analysisOrderData = new AnalysisOrderData(); analysisOrderData.setOrderNum(order.getOrderNumber()); - analysisOrderData.setOrderDate(analysisOrderData.getOrderDate()); -// analysisOrderData.setOrderChannel(order.getOrderChannel()); + try { + analysisOrderData.setOrderDate(new SimpleDateFormat("yyyy-MM-dd").parse(order.getTime())); + } catch (ParseException e) { + throw new RuntimeException(e); + } + analysisOrderData.setOrderChannel(order.getSiteName()); analysisOrderData.setCity(order.getCity()); analysisOrderData.setOrderCategory(order.getServeName()); analysisOrderData.setUserName(order.getReservationName()); analysisOrderData.setUserPhone(order.getReservationPhone()); analysisOrderData.setRecyclePerson(order.getServerName()); analysisOrderData.setState(order.getState()); + analysisOrderData.setImportTime(LocalDateTime.now()); + analysisOrderData.setDataType(2); analysisOrderDataList.add(analysisOrderData); }); + // 删除今日订单 + analysisOrderDataService.remove(new QueryWrapper<AnalysisOrderData>().lambda() + .eq(AnalysisOrderData::getDataType,2) + .like(AnalysisOrderData::getOrderDate, new SimpleDateFormat("yyyy-MM-dd").format(new Date())) + ); analysisOrderDataService.saveBatch(analysisOrderDataList); } return R.ok(); -- Gitblit v1.7.1