修改了社区bug
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run

This commit is contained in:
yuyongle 2025-07-24 10:58:17 +08:00
parent 81ebb3e8c1
commit c49bc001bb
5 changed files with 42 additions and 22 deletions

View File

@ -40,7 +40,7 @@ public class CustomerNoticesController extends BaseController {
/** /**
* 查询客户服务-通知公告列表 * 查询客户服务-通知公告列表
*/ */
@SaCheckPermission("domain:notices:list") //@SaCheckPermission("domain:notices:list")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo<CustomerNoticesVo> list(CustomerNoticesBo bo, PageQuery pageQuery) { public TableDataInfo<CustomerNoticesVo> list(CustomerNoticesBo bo, PageQuery pageQuery) {
return customerNoticesService.queryPageList(bo, pageQuery); return customerNoticesService.queryPageList(bo, pageQuery);
@ -62,7 +62,7 @@ public class CustomerNoticesController extends BaseController {
* *
* @param id 主键 * @param id 主键
*/ */
@SaCheckPermission("domain:notices:query") //@SaCheckPermission("domain:notices:query")
@GetMapping("/{id}") @GetMapping("/{id}")
public R<CustomerNoticesVo> getInfo(@NotNull(message = "主键不能为空") public R<CustomerNoticesVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) { @PathVariable("id") Long id) {

View File

@ -22,7 +22,7 @@ public class ServiceWorkOrderAnalysisVo {
public LineChartVo() {} public LineChartVo() {}
public LineChartVo(String date, String dayOfWeek, long count) { public LineChartVo(String date, String dayOfWeek, long count,long weekCount) {
this.date = date; this.date = date;
this.dayOfWeek = dayOfWeek; this.dayOfWeek = dayOfWeek;
this.count = count; this.count = count;

View File

@ -73,7 +73,7 @@ public class CustomerNoticesServiceImpl implements ICustomerNoticesService {
String usernames = filteredList.stream() String usernames = filteredList.stream()
.map(ResidentPerson::getUserName) // 假设ResidentPerson类有一个getUserName方法 .map(ResidentPerson::getUserName) // 假设ResidentPerson类有一个getUserName方法
.collect(Collectors.joining(",")); .collect(Collectors.joining(","));
customerNoticesVo.setIssuersName(StringUtils.isNotBlank(usernames)?usernames:null); customerNoticesVo.setNoticePersionName(StringUtils.isNotBlank(usernames)?usernames:null);
} }
} }
return customerNoticesVo; return customerNoticesVo;

View File

@ -1,5 +1,6 @@
package org.dromara.property.service.impl; package org.dromara.property.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@ -147,7 +148,7 @@ public class MachineTypeServiceImpl implements IMachineTypeService {
if (CollUtil.isEmpty(machineTypeVoList)) { if (CollUtil.isEmpty(machineTypeVoList)) {
return Collections.emptyList(); return Collections.emptyList();
} }
List<MachineTypeTreeVo> machineTypeTreeVoList = MapstructUtils.convert(machineTypeVoList, MachineTypeTreeVo.class); List<MachineTypeTreeVo> machineTypeTreeVoList = BeanUtil.copyToList(machineTypeVoList, MachineTypeTreeVo.class);
// 2. 构建树结构 // 2. 构建树结构
return buildMachineTypeTree(machineTypeTreeVoList); return buildMachineTypeTree(machineTypeTreeVoList);

View File

@ -379,33 +379,52 @@ public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService {
dateList.add(today.minusDays(i)); dateList.add(today.minusDays(i));
} }
Map<String, Long> workOrdersByDate = serviceWorkOrdersList.stream() // 按日期分组统计总数量 已处理数量
.filter(order -> { Map<String, Long> totalWorkOrdersByDate = new HashMap<>();
try { Map<String, Long> processedWorkOrdersByDate = new HashMap<>();
LocalDate createTime = LocalDate.parse((CharSequence) order.getCreateTime());
return !createTime.isBefore(today.minusDays(7));
} catch (Exception e) {
return false;
}
})
.collect(Collectors.groupingBy(
order -> LocalDate.parse((CharSequence) order.getCreateTime()).format(DateTimeFormatter.ISO_LOCAL_DATE),
Collectors.counting()
));
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); DateTimeFormatter dateFormatter = DateTimeFormatter.ISO_LOCAL_DATE;
for (ServiceWorkOrders order : serviceWorkOrdersList) {
try {
LocalDate createTime = LocalDate.parse((CharSequence) order.getCreateTime());
if (createTime.isBefore(today.minusDays(7))) {
continue; // 跳过超过7天的数据
}
String dateStr = createTime.format(dateFormatter);
// 总数 +1
totalWorkOrdersByDate.put(dateStr, totalWorkOrdersByDate.getOrDefault(dateStr, 0L) + 1);
// 如果已处理processed +1
if (isProcessed(order)) {
processedWorkOrdersByDate.put(dateStr, processedWorkOrdersByDate.getOrDefault(dateStr, 0L) + 1);
}
} catch (Exception e) {
// 忽略格式错误的日期
}
}
DateTimeFormatter dateFormatterFull = DateTimeFormatter.ofPattern("yyyy-MM-dd");
DateTimeFormatter dayOfWeekFormatter = DateTimeFormatter.ofPattern("E"); DateTimeFormatter dayOfWeekFormatter = DateTimeFormatter.ofPattern("E");
List<ServiceWorkOrderAnalysisVo.LineChartVo> result = new ArrayList<>(); List<ServiceWorkOrderAnalysisVo.LineChartVo> result = new ArrayList<>();
for (LocalDate date : dateList) { for (LocalDate date : dateList) {
String dateStr = date.format(dateFormatter); String dateStr = date.format(dateFormatterFull);
String dayOfWeek = date.format(dayOfWeekFormatter); String dayOfWeek = date.format(dayOfWeekFormatter);
result.add(new ServiceWorkOrderAnalysisVo.LineChartVo(dateStr, dayOfWeek, workOrdersByDate.getOrDefault(dateStr, 0L))); long total = totalWorkOrdersByDate.getOrDefault(dateStr, 0L);
long processed = processedWorkOrdersByDate.getOrDefault(dateStr, 0L);
result.add(new ServiceWorkOrderAnalysisVo.LineChartVo(dateStr, dayOfWeek, total, processed));
} }
return result; return result;
} }
private boolean isProcessed(ServiceWorkOrders order) {
// 假设有一个字段 status 表示状态"COMPLETED" 表示已处理
return "4".equalsIgnoreCase(order.getStatus());
}
// 计算工单类型分布 // 计算工单类型分布
private List<ServiceWorkOrderAnalysisVo.PieChartVo> calculateWorkOrderTypeDistribution(List<ServiceWorkOrders> serviceWorkOrdersList) { private List<ServiceWorkOrderAnalysisVo.PieChartVo> calculateWorkOrderTypeDistribution(List<ServiceWorkOrders> serviceWorkOrdersList) {
// typeId 分组统计数量 // typeId 分组统计数量