This commit is contained in:
parent
0d53f44ee7
commit
4ea5a3686e
|
|
@ -162,5 +162,11 @@ public class DevInfoVo extends DevInfo {
|
|||
@ApiModelProperty(value = "检修预报警天数")
|
||||
private String maintenanceAlarmDay;
|
||||
|
||||
@ApiModelProperty(value = "装备数")
|
||||
private Integer deviceNum;
|
||||
|
||||
@ApiModelProperty(value = "订单数")
|
||||
private Integer orderNum;
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -228,5 +228,19 @@ public interface DevInfoMapper {
|
|||
* @return
|
||||
*/
|
||||
List<DevInfoVo> getLeaseDevList(DevInfoVo devInfo);
|
||||
|
||||
/**
|
||||
* 查询装备对应所属公司
|
||||
* @return
|
||||
*/
|
||||
List<DevInfoVo> getCompanyList();
|
||||
|
||||
|
||||
/**
|
||||
* 查询装备对应所属公司
|
||||
* @return
|
||||
*/
|
||||
List<DevInfoVo> getCompanyNum();
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,10 @@
|
|||
package com.bonus.material.largeScreen.controller;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
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.domain.vo.DevInfoVo;
|
||||
import com.bonus.material.device.mapper.DevInfoMapper;
|
||||
import com.bonus.material.device.service.DevInfoService;
|
||||
import com.bonus.material.largeScreen.entity.OrderData;
|
||||
|
|
@ -155,6 +157,36 @@ public class LargeScreenController {
|
|||
return AjaxResult.success(list);
|
||||
}
|
||||
|
||||
@ApiOperation("租赁装备数及订单数")
|
||||
@GetMapping("/getCompanyNum")
|
||||
public AjaxResult getCompanyNum() {
|
||||
// 查询装备对应订单数
|
||||
List<DevInfoVo> list = devInfoMapper.getCompanyNum();
|
||||
// 查询装备对应所属公司
|
||||
List<DevInfoVo> companyList = devInfoMapper.getCompanyList();
|
||||
// 使用 Map 存储每个公司 ID 对应的订单总数
|
||||
Map<String, Integer> orderNumMap = new HashMap<>();
|
||||
for (DevInfoVo devInfoVo : list) {
|
||||
String companyId = devInfoVo.getCompanyId();
|
||||
// 如果 Map 中已经存在该公司 ID,则累加订单数;否则,将当前订单数作为初始值
|
||||
orderNumMap.put(companyId, orderNumMap.getOrDefault(companyId, 0) + devInfoVo.getOrderNum());
|
||||
}
|
||||
if (CollectionUtil.isNotEmpty(companyList)) {
|
||||
for (DevInfoVo infoVo : companyList) {
|
||||
String companyId = infoVo.getCompanyId();
|
||||
// 从 Map 中获取该公司 ID 对应的订单总数
|
||||
Integer orderNum = orderNumMap.getOrDefault(companyId, 0);
|
||||
infoVo.setOrderNum(orderNum);
|
||||
}
|
||||
// 根据 orderNum 降序排序,并取前 9 个元素
|
||||
companyList = companyList.stream()
|
||||
.sorted((vo1, vo2) -> Integer.compare(vo2.getOrderNum(), vo1.getOrderNum()))
|
||||
.limit(9)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
return AjaxResult.success(companyList);
|
||||
}
|
||||
|
||||
// @ApiOperation("订单数据")
|
||||
// @GetMapping("/orderData")
|
||||
// public AjaxResult getOrderData() {
|
||||
|
|
|
|||
|
|
@ -1102,4 +1102,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
ORDER BY
|
||||
d.create_time DESC
|
||||
</select>
|
||||
|
||||
<select id="getCompanyList" resultType="com.bonus.material.device.domain.vo.DevInfoVo">
|
||||
SELECT
|
||||
sd.dept_id AS companyId,
|
||||
sd.dept_name AS companyName,
|
||||
COUNT( mdi.ma_id ) AS deviceNum
|
||||
FROM
|
||||
sys_dept sd
|
||||
LEFT JOIN ma_dev_info mdi ON sd.dept_id = mdi.own_co
|
||||
GROUP BY
|
||||
sd.dept_id
|
||||
ORDER BY
|
||||
COUNT( mdi.ma_id ) DESC
|
||||
</select>
|
||||
|
||||
<select id="getCompanyNum" resultType="com.bonus.material.device.domain.vo.DevInfoVo">
|
||||
SELECT
|
||||
md.ma_id AS maId,
|
||||
COUNT( md.ma_id ) AS orderNum ,
|
||||
mdi.own_co AS companyId
|
||||
FROM
|
||||
ma_order_details md
|
||||
LEFT JOIN ma_dev_info mdi on md.ma_id = mdi.ma_id
|
||||
WHERE md.order_status != 0 and md.order_status != 99
|
||||
GROUP BY
|
||||
md.ma_id
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue