From 12538531edf56f4eb89f4115a5c8aa888b1d6321 Mon Sep 17 00:00:00 2001 From: cwchen <1048842385@qq.com> Date: Mon, 20 Jan 2025 09:46:15 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/HomeIndexController.java | 7 ++++ .../entity/HomeProPlanDataViewVo.java | 32 +++++++++++++++++++ .../backstage/mapper/HomeIndexMapper.java | 8 +++++ .../backstage/service/HomeIndexService.java | 8 +++++ .../service/HomeIndexServiceImpl.java | 31 +++++++++++++++++- .../business/backstage/HomeIndexMapper.xml | 16 +++++++++- 6 files changed, 100 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/bonus/gzcar/business/backstage/entity/HomeProPlanDataViewVo.java diff --git a/src/main/java/com/bonus/gzcar/business/backstage/controller/HomeIndexController.java b/src/main/java/com/bonus/gzcar/business/backstage/controller/HomeIndexController.java index 9972ce2..e330f92 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/controller/HomeIndexController.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/controller/HomeIndexController.java @@ -165,6 +165,13 @@ public class HomeIndexController { } } + @ApiOperation(value = "首页-二级页面-工程详情-数据概览") + @PostMapping("getProPlanDataView") + @DecryptAndVerify(decryptedClass = BackParamsDto.class) + public ServerResponse getProPlanDataView(EncryptedReq dto) { + return service.getProPlanDataView(dto.getData()); + } + @ApiOperation(value = "首页-二级页面-需求计划详情") @GetMapping("getPlanDetails") @DecryptAndVerify(decryptedClass = BackParamsDto.class) diff --git a/src/main/java/com/bonus/gzcar/business/backstage/entity/HomeProPlanDataViewVo.java b/src/main/java/com/bonus/gzcar/business/backstage/entity/HomeProPlanDataViewVo.java new file mode 100644 index 0000000..390dd3a --- /dev/null +++ b/src/main/java/com/bonus/gzcar/business/backstage/entity/HomeProPlanDataViewVo.java @@ -0,0 +1,32 @@ +package com.bonus.gzcar.business.backstage.entity; + +import lombok.Data; + +/** + * @className:HomeProPlanDataViewVo + * @author:cwchen + * @date:2025-01-20-9:21 + * @version:1.0 + * @description: 首页-二级页面-工程详情-数据概览 + */ +@Data +public class HomeProPlanDataViewVo { + /**需求计划id*/ + private Long planId; + /**类型*/ + private String type; + /**需用量*/ + private int needNum; + /**派车数量*/ + private int dispatchNum; + /**需求计划数量*/ + private int planNum; + /**运输车辆数量*/ + private int carNum; + /**吊车数量*/ + private int craneNum; + /**金额*/ + private double money; + /**进度*/ + private double progress; +} diff --git a/src/main/java/com/bonus/gzcar/business/backstage/mapper/HomeIndexMapper.java b/src/main/java/com/bonus/gzcar/business/backstage/mapper/HomeIndexMapper.java index 8c1c081..a802c55 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/mapper/HomeIndexMapper.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/mapper/HomeIndexMapper.java @@ -138,4 +138,12 @@ public interface HomeIndexMapper { IndexVo getNoPayMoney(BackParamsDto dto); + /** + * 首页-二级页面-工程详情-数据概览 + * @param data + * @return List + * @author cwchen + * @date 2025/1/20 9:25 + */ + List getProPlanDataView(BackParamsDto data); } diff --git a/src/main/java/com/bonus/gzcar/business/backstage/service/HomeIndexService.java b/src/main/java/com/bonus/gzcar/business/backstage/service/HomeIndexService.java index 2765bae..40bf6ea 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/service/HomeIndexService.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/service/HomeIndexService.java @@ -114,4 +114,12 @@ public interface HomeIndexService { */ List getDispatchDetails(BackParamsDto data); + /** + * 首页-二级页面-工程详情-数据概览 + * @param data + * @return ServerResponse + * @author cwchen + * @date 2025/1/20 9:20 + */ + ServerResponse getProPlanDataView(BackParamsDto data); } diff --git a/src/main/java/com/bonus/gzcar/business/backstage/service/HomeIndexServiceImpl.java b/src/main/java/com/bonus/gzcar/business/backstage/service/HomeIndexServiceImpl.java index 4a80abc..bbba5de 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/service/HomeIndexServiceImpl.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/service/HomeIndexServiceImpl.java @@ -316,7 +316,7 @@ public class HomeIndexServiceImpl implements HomeIndexService { BigDecimal b = BigDecimal.valueOf(value2); // 设置保留两位小数,并进行四舍五入 BigDecimal result = b.divide(a, 2, RoundingMode.HALF_UP); - return result.doubleValue(); + return result.multiply(new BigDecimal("100")).doubleValue(); } else { return 0; } @@ -365,6 +365,35 @@ public class HomeIndexServiceImpl implements HomeIndexService { return list; } + @Override + public ServerResponse getProPlanDataView(BackParamsDto data) { + HomeProPlanDataViewVo vo = new HomeProPlanDataViewVo(); + try { + List list = mapper.getProPlanDataView(data); + int needNum = 0,dispatchNum = 0,carNum = 0, craneNum = 0; + if(CollectionUtils.isNotEmpty(list)){ + for (HomeProPlanDataViewVo viewVo : list) { + if (Objects.equals("1",viewVo.getType())) { + carNum += viewVo.getDispatchNum(); + } else { + craneNum += viewVo.getDispatchNum(); + } + needNum += viewVo.getNeedNum(); + dispatchNum += viewVo.getDispatchNum(); + // 金额待计算 + } + vo.setPlanNum(list.size()); + vo.setCarNum(carNum); + vo.setCraneNum(craneNum); + double progress = handleProgress(dispatchNum, needNum); + vo.setProgress(progress); + } + } catch (Exception e) { + log.error(e.toString(),e); + } + return ServerResponse.createSuccess(vo); + } + @Override public List getPlanDetails(BackParamsDto dto) { List list = new ArrayList<>(); diff --git a/src/main/resources/mappers/business/backstage/HomeIndexMapper.xml b/src/main/resources/mappers/business/backstage/HomeIndexMapper.xml index 2b8d2fa..40cd48c 100644 --- a/src/main/resources/mappers/business/backstage/HomeIndexMapper.xml +++ b/src/main/resources/mappers/business/backstage/HomeIndexMapper.xml @@ -225,6 +225,21 @@ AND cpa.`status` = '2' AND cpa.status_type = '1' + + + + - \ No newline at end of file