From f2e848c0e4bd250fc3f26401fe10e2e4f5ae28e8 Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Tue, 31 Dec 2024 13:20:07 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A3=85=E5=A4=87=E7=A7=9F=E8=B5=81=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bonus/common/biz/utils/MathUtil.java | 18 ++++++++++++++++ .../bonus/material/device/domain/DevInfo.java | 7 +++++++ .../material/device/mapper/DevInfoMapper.java | 4 ++++ .../controller/LargeScreenController.java | 20 ++++++++++++++++++ .../largeScreen/entity/OrderData.java | 9 ++++++-- .../material/order/mapper/OrderMapper.java | 2 ++ .../mapper/material/device/DevInfoMapper.xml | 21 +++++++++++++++++++ .../mapper/material/order/OrderInfoMapper.xml | 7 +++++++ 8 files changed, 86 insertions(+), 2 deletions(-) create mode 100644 bonus-common-biz/src/main/java/com/bonus/common/biz/utils/MathUtil.java diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/utils/MathUtil.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/utils/MathUtil.java new file mode 100644 index 0000000..65c1db6 --- /dev/null +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/utils/MathUtil.java @@ -0,0 +1,18 @@ +package com.bonus.common.biz.utils; + +import java.math.BigDecimal; +import java.math.RoundingMode; + +public class MathUtil { + + public static BigDecimal calculatePercentage(int num1, int num2) { + if (num2 == 0) { + throw new ArithmeticException("除数不能为0"); + } + BigDecimal bdNum1 = new BigDecimal(num1); + BigDecimal bdNum2 = new BigDecimal(num2); + BigDecimal result = bdNum1.divide(bdNum2, 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100)); + return result.setScale(2, RoundingMode.HALF_UP); + } + +} diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/DevInfo.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/DevInfo.java index 3fe168c..fcb39ee 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/DevInfo.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/DevInfo.java @@ -266,4 +266,11 @@ public class DevInfo extends BaseEntity { @ApiModelProperty(value = "租赁次数") private Integer rentNum; + + @ApiModelProperty(value = "累计上架天数") + private Integer totalUpDay; + + @ApiModelProperty(value = "累计租赁天数") + private Integer totalLeaseDay; + } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/mapper/DevInfoMapper.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/mapper/DevInfoMapper.java index dd7c7f9..982280f 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/mapper/DevInfoMapper.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/mapper/DevInfoMapper.java @@ -198,8 +198,12 @@ public interface DevInfoMapper { Integer getDevUpNum(); + Integer getDevLeasingNum(); + Integer getDevTypeNum(); Integer getDevQcWarningNum(); + + DevInfo getDevUsageRatio(); } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/largeScreen/controller/LargeScreenController.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/largeScreen/controller/LargeScreenController.java index 786b4dd..2d67f4f 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/largeScreen/controller/LargeScreenController.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/largeScreen/controller/LargeScreenController.java @@ -1,7 +1,9 @@ package com.bonus.material.largeScreen.controller; import com.bonus.common.biz.domain.TypeInfo; +import com.bonus.common.biz.utils.MathUtil; import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.material.device.domain.DevInfo; import com.bonus.material.device.mapper.DevInfoMapper; import com.bonus.material.largeScreen.entity.OrderData; import com.bonus.material.largeScreen.entity.OrderDto; @@ -15,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.math.BigDecimal; +import java.math.RoundingMode; /** * @Author:liang.chao @@ -83,4 +87,20 @@ public class LargeScreenController { orderData.setDevQcWaningNum(devQcWarningNum); return AjaxResult.success(orderData); } + + @ApiOperation("装备租赁统计") + @GetMapping("/devLeaseCount") + public AjaxResult devRentalCount() { + OrderDto orderDto = orderMapper.getOderCount(); + OrderData orderData = new OrderData(); + orderData.setOrderNum(orderDto.getOrderNum()); + Integer devLeasingNum = devInfoMapper.getDevLeasingNum(); + orderData.setDevLeasingNum(devLeasingNum); + DevInfo devInfo = devInfoMapper.getDevUsageRatio(); + orderData.setDevUsageRatio(MathUtil.calculatePercentage(devInfo.getTotalLeaseDay(), devInfo.getTotalUpDay())); + return AjaxResult.success(orderData); + } + + + } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/largeScreen/entity/OrderData.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/largeScreen/entity/OrderData.java index a7056a7..b6a912f 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/largeScreen/entity/OrderData.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/largeScreen/entity/OrderData.java @@ -2,7 +2,6 @@ package com.bonus.material.largeScreen.entity; import io.swagger.annotations.ApiModelProperty; import lombok.Data; - import java.math.BigDecimal; /** @@ -42,12 +41,18 @@ public class OrderData { @ApiModelProperty(value = "装备总上架数") private Integer devUpNum; + @ApiModelProperty(value = "装备总在租数") + private Integer devLeasingNum; + @ApiModelProperty(value = "装备总类型数") private Integer devTypeNum; @ApiModelProperty(value = "装备总报警数") private Integer devQcWaningNum; + @ApiModelProperty(value = "订单总数") + private Integer orderNum; - + @ApiModelProperty(value = "装备利用率") + private BigDecimal devUsageRatio; } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/mapper/OrderMapper.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/mapper/OrderMapper.java index 2198a80..4bee11b 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/mapper/OrderMapper.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/mapper/OrderMapper.java @@ -62,4 +62,6 @@ public interface OrderMapper { OrderData getCompanysCost(); OrderDto getTodayOderCount(); + + OrderDto getOderCount(); } diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/DevInfoMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/DevInfoMapper.xml index f6f700c..6c35b6d 100644 --- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/DevInfoMapper.xml +++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/DevInfoMapper.xml @@ -909,6 +909,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND ma_status = '2' + + + + + diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/order/OrderInfoMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/order/OrderInfoMapper.xml index 94f855f..1dde00a 100644 --- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/order/OrderInfoMapper.xml +++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/order/OrderInfoMapper.xml @@ -431,6 +431,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" DATE_FORMAT( moi.create_time, '%Y-%m-%d' ) = DATE_FORMAT(NOW(),'%Y-%m-%d') + delete from ma_order_details_relief