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