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 2d67f4f..e7b9872 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,6 +1,5 @@ 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; @@ -17,8 +16,6 @@ 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 @@ -60,11 +57,11 @@ public class LargeScreenController { Integer devCount = devInfoMapper.getTodayDevCount(); OrderData orderData = new OrderData(); //今日订单成交数、今日成交金额数 - OrderDto orderDto = orderMapper.getTodayOderCount(); + OrderDto orderDto = orderMapper.getTodayOrderCount(); // 今日需求发布数 Integer leaseNum = leaseInfoMapper.getTodayLeaseCount(); //今日需求接单数 - Integer leaseOrderNum = leaseInfoMapper.getTodayLeaseOderCount(); + Integer leaseOrderNum = leaseInfoMapper.getTodayLeaseOrderCount(); orderData.setTodayDevNum(devCount); orderData.setTodayOrderNum(orderDto.getOrderNum()); orderData.setTodayCost(orderDto.getCost()); @@ -91,7 +88,7 @@ public class LargeScreenController { @ApiOperation("装备租赁统计") @GetMapping("/devLeaseCount") public AjaxResult devRentalCount() { - OrderDto orderDto = orderMapper.getOderCount(); + OrderDto orderDto = orderMapper.getOrderCount(); OrderData orderData = new OrderData(); orderData.setOrderNum(orderDto.getOrderNum()); Integer devLeasingNum = devInfoMapper.getDevLeasingNum(); @@ -101,6 +98,17 @@ public class LargeScreenController { return AjaxResult.success(orderData); } - + @ApiOperation("装备需求统计") + @GetMapping("/demandCount") + public AjaxResult demandCount() { + OrderData orderData = new OrderData(); + Integer leaseNum = leaseInfoMapper.getLeaseCount(); + Integer leaseOrderNum = leaseInfoMapper.getLeaseOrderCount(); + String topPopularTypeName = leaseInfoMapper.getTopPopularTypeName(); + orderData.setLeaseNum(leaseNum); + orderData.setLeaseOrderRatio(MathUtil.calculatePercentage(leaseOrderNum, leaseNum)); + orderData.setTopPopularTypeName(topPopularTypeName); + 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 b6a912f..3903ac0 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 @@ -55,4 +55,16 @@ public class OrderData { @ApiModelProperty(value = "装备利用率") private BigDecimal devUsageRatio; + + @ApiModelProperty(value = "总需求数") + private Integer leaseNum; + + @ApiModelProperty(value = "总接单数") + private Integer leaseOrderNum; + + @ApiModelProperty(value = "接单率") + private BigDecimal leaseOrderRatio; + + @ApiModelProperty(value = "最需装备") + private String topPopularTypeName; } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/mapper/MaLeaseInfoMapper.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/mapper/MaLeaseInfoMapper.java index d979ae1..68951e7 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/mapper/MaLeaseInfoMapper.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/mapper/MaLeaseInfoMapper.java @@ -1,6 +1,5 @@ package com.bonus.material.lease.mapper; -import com.bonus.material.largeScreen.entity.OrderData; import com.bonus.material.lease.domain.MaLease; import com.bonus.material.lease.domain.MaLeaseDetails; import com.bonus.material.lease.domain.MaLeaseDto; @@ -117,7 +116,13 @@ public interface MaLeaseInfoMapper { Integer getTodayLeaseCount(); - Integer getTodayLeaseOderCount(); + Integer getLeaseCount(); + + Integer getLeaseOrderCount(); + + String getTopPopularTypeName(); + + Integer getTodayLeaseOrderCount(); MaLeaseInfo getDevInfoById(Integer id); } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/service/impl/LeaseRepairRecordServiceImpl.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/service/impl/LeaseRepairRecordServiceImpl.java index 4c8f98d..9c2ace7 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/service/impl/LeaseRepairRecordServiceImpl.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/lease/service/impl/LeaseRepairRecordServiceImpl.java @@ -1,6 +1,5 @@ package com.bonus.material.lease.service.impl; -import com.bonus.common.biz.constant.MaterialConstants; import com.bonus.common.biz.domain.BmFileInfo; import com.bonus.common.biz.enums.HttpCodeEnum; import com.bonus.common.biz.enums.OrderStatusEnum; @@ -104,7 +103,7 @@ public class LeaseRepairRecordServiceImpl implements LeaseRepairRecordService { leaseRecordDto.setMaNumber(orderInfoDto.getMaNumber()); leaseRecordDto.setLeaseCompany(orderInfoDto.getCzcompanyName()); } - List orderDetailList = orderMapper.selectOrderDetailsByOderId(dto.getOrderId()); + List orderDetailList = orderMapper.selectOrderDetailsByOrderId(dto.getOrderId()); if (CollectionUtils.isNotEmpty(orderDetailList)) { for (OrderDetailDto detailDto : orderDetailList) { detailDto.setDays(detailDto.getDateDays() == null ? detailDto.getDays() : String.valueOf(detailDto.getDateDays())); diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/controller/OrderController.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/controller/OrderController.java index 3102e4e..d7dee42 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/controller/OrderController.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/controller/OrderController.java @@ -1,50 +1,32 @@ package com.bonus.material.order.controller; -import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.text.StrBuilder; -import com.bonus.common.biz.enums.MaStatusEnum; -import com.bonus.common.biz.enums.OrderStatusEnum; import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.web.page.TableDataInfo; import com.bonus.common.security.utils.SecurityUtils; -import com.bonus.material.book.domain.BookCarInfoDto; import com.bonus.material.contract.domain.BmContract; import com.bonus.material.contract.service.BmContractService; -import com.bonus.material.device.domain.vo.DevInfoVo; -import com.bonus.material.lease.domain.LeaseRepairRecord; import com.bonus.material.lease.mapper.LeaseRepairRecordMapper; import com.bonus.material.order.domain.OrderDetailDto; import com.bonus.material.order.domain.OrderInfoDto; import com.bonus.material.order.mapper.OrderMapper; import com.bonus.material.order.service.OrderService; import com.bonus.system.api.RemoteFileService; -import com.bonus.system.api.domain.SysFile; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.text.StrSubstitutor; import org.apache.poi.xwpf.usermodel.*; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; -import org.springframework.http.ResponseEntity; import org.springframework.mock.web.MockMultipartFile; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; -import org.springframework.web.client.RestTemplate; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; -import javax.imageio.ImageIO; -import java.awt.*; -import java.awt.image.BufferedImage; -import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; -import java.net.MalformedURLException; import java.net.URL; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -170,7 +152,7 @@ public class OrderController extends BaseController { @GetMapping("/leaseAgreement") public AjaxResult leaseAgreement(String orderId, Map replacements) throws IOException, ParseException { OrderInfoDto orderInfoDto = orderService.getAgreementByOrderId(orderId); - List orderDetailsByOrderId = orderMapper.selectOrderDetailsByOderId(orderId); + List orderDetailsByOrderId = orderMapper.selectOrderDetailsByOrderId(orderId); BmContract bmContract = new BmContract(); bmContract.setStatus(1); bmContract.setOwnerCom(orderInfoDto.getCompanyId().longValue()); 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 4bee11b..24f4a77 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 @@ -39,7 +39,7 @@ public interface OrderMapper { Integer updateDevCount(OrderDetailDto orderDetailDto); Integer updateAddDevCount(OrderDetailDto orderDetailDto); - List selectOrderDetailsByOderId(String orderId); + List selectOrderDetailsByOrderId(String orderId); List getOrderDetailsByOrderId(Integer orderId); @@ -61,7 +61,7 @@ public interface OrderMapper { OrderData getCompanysCost(); - OrderDto getTodayOderCount(); + OrderDto getTodayOrderCount(); - OrderDto getOderCount(); + OrderDto getOrderCount(); } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/impl/OrderServiceImpl.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/impl/OrderServiceImpl.java index f4dbb9d..8f3cb55 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/impl/OrderServiceImpl.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/impl/OrderServiceImpl.java @@ -8,7 +8,6 @@ import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.utils.encryption.Sm4Utils; import com.bonus.common.security.utils.SecurityUtils; import com.bonus.material.comprehensive.entity.RentDetailDto; -import com.bonus.material.device.domain.DevInfo; import com.bonus.material.device.domain.vo.DevInfoVo; import com.bonus.material.device.mapper.DevInfoMapper; import com.bonus.material.largeScreen.entity.OrderData; @@ -203,7 +202,7 @@ public class OrderServiceImpl implements OrderService { @Override public OrderInfoDto getOrderDetailsById(OrderDetailDto dto) throws Exception { OrderInfoDto orderInfoDto = orderMapper.getOrderDetailsById(dto); - List list = orderMapper.selectOrderDetailsByOderId(dto.getOrderId().toString()); + List list = orderMapper.selectOrderDetailsByOrderId(dto.getOrderId().toString()); Optional minOrderStatus = list.stream() .min((p1, p2) -> Integer.compare(Integer.parseInt(p1.getOrderStatus()), Integer.parseInt(p2.getOrderStatus()))); if (minOrderStatus.isPresent()) { diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/lease/MaLeaseInfoMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/lease/MaLeaseInfoMapper.xml index 7f4d44c..1690008 100644 --- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/lease/MaLeaseInfoMapper.xml +++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/lease/MaLeaseInfoMapper.xml @@ -413,15 +413,43 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WHERE DATE_FORMAT( create_time, '%Y-%m-%d' ) = DATE_FORMAT(NOW(),'%Y-%m-%d') - SELECT COUNT(1) as leaseOrderNum FROM ma_lease_info WHERE DATE_FORMAT( order_time, '%Y-%m-%d' ) = DATE_FORMAT(NOW(),'%Y-%m-%d') - and lease_status in (1,3) + and lease_status in (1,3) + + + + + + + - SELECT mdi.ma_id as maId, mdi.code as code, @@ -421,7 +421,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" GROUP BY mdi.own_co - SELECT count( moi.order_id ) orderNum, ifnull(SUM( moi.cost ), 0) cost @@ -431,7 +431,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" DATE_FORMAT( moi.create_time, '%Y-%m-%d' ) = DATE_FORMAT(NOW(),'%Y-%m-%d') - SELECT count( moi.order_id ) orderNum, ifnull(SUM( moi.cost ), 0) cost