This commit is contained in:
parent
0d53f44ee7
commit
4ea5a3686e
|
|
@ -162,5 +162,11 @@ public class DevInfoVo extends DevInfo {
|
||||||
@ApiModelProperty(value = "检修预报警天数")
|
@ApiModelProperty(value = "检修预报警天数")
|
||||||
private String maintenanceAlarmDay;
|
private String maintenanceAlarmDay;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "装备数")
|
||||||
|
private Integer deviceNum;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "订单数")
|
||||||
|
private Integer orderNum;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -228,5 +228,19 @@ public interface DevInfoMapper {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<DevInfoVo> getLeaseDevList(DevInfoVo devInfo);
|
List<DevInfoVo> getLeaseDevList(DevInfoVo devInfo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询装备对应所属公司
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<DevInfoVo> getCompanyList();
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询装备对应所属公司
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<DevInfoVo> getCompanyNum();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,10 @@
|
||||||
package com.bonus.material.largeScreen.controller;
|
package com.bonus.material.largeScreen.controller;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import com.bonus.common.biz.utils.MathUtil;
|
import com.bonus.common.biz.utils.MathUtil;
|
||||||
import com.bonus.common.core.web.domain.AjaxResult;
|
import com.bonus.common.core.web.domain.AjaxResult;
|
||||||
import com.bonus.material.device.domain.DevInfo;
|
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.mapper.DevInfoMapper;
|
||||||
import com.bonus.material.device.service.DevInfoService;
|
import com.bonus.material.device.service.DevInfoService;
|
||||||
import com.bonus.material.largeScreen.entity.OrderData;
|
import com.bonus.material.largeScreen.entity.OrderData;
|
||||||
|
|
@ -155,6 +157,36 @@ public class LargeScreenController {
|
||||||
return AjaxResult.success(list);
|
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("订单数据")
|
// @ApiOperation("订单数据")
|
||||||
// @GetMapping("/orderData")
|
// @GetMapping("/orderData")
|
||||||
// public AjaxResult getOrderData() {
|
// public AjaxResult getOrderData() {
|
||||||
|
|
|
||||||
|
|
@ -1102,4 +1102,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
ORDER BY
|
ORDER BY
|
||||||
d.create_time DESC
|
d.create_time DESC
|
||||||
</select>
|
</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>
|
</mapper>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue