From bfa6af3b50fa16ed4f1d835f8f9fc9237c83e64c Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期日, 27 四月 2025 17:26:32 +0800 Subject: [PATCH] Merge branch 'dev' of http://120.76.84.145:10101/gitblit/r/java/JiaDianHuiShou into dev --- ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/large/AnalysisOrderDataController.java | 78 +++++++++++++++++++++++++++++++++++---- 1 files changed, 70 insertions(+), 8 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 43e19db..533fc99 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 @@ -5,14 +5,20 @@ import cn.afterturn.easypoi.excel.ExcelImportUtil; import cn.afterturn.easypoi.excel.entity.ExportParams; 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.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.StringUtils; import com.ruoyi.common.security.service.TokenService; @@ -34,6 +40,7 @@ import java.net.URLEncoder; import java.text.SimpleDateFormat; import java.util.*; +import java.util.stream.Collectors; /** * <p> @@ -51,15 +58,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); + } /** * 查询上门回收订单列表 */ @@ -115,16 +177,16 @@ @ApiOperation(value = "回收订单导入模板下载") @GetMapping("/import-template") public void importTemplate() { - List<AnalysisOrderData> contractList = new ArrayList<>(); - Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), AnalysisOrderData.class, contractList); + ClassPathResource classPathResource = new ClassPathResource("template/回收订单导入.xlsx"); + TemplateExportParams params = new TemplateExportParams(classPathResource.getPath()); + Workbook workbook = ExcelExportUtil.exportExcel(params, new HashMap<>()); HttpServletResponse response = WebUtils.response(); + response.setContentType("application/vnd.ms-excel"); + response.setCharacterEncoding("utf-8"); ServletOutputStream outputStream = null; try { - String fileName = URLEncoder.encode("回收订单导入模板.xls", "utf-8"); - response.setHeader("Content-Disposition", "attachment;filename=" + fileName); - response.setHeader("content-Type", "application/vnd.ms-excel"); - response.setHeader("Pragma", "no-cache"); - response.setHeader("Cache-Control", "no-cache"); + String fileName = URLEncoder.encode("回收订单导入.xlsx", "utf-8"); + response.setHeader("Content-dispodition", "attachment;filename=" + fileName); outputStream = response.getOutputStream(); workbook.write(outputStream); } catch (IOException e) { -- Gitblit v1.7.1