merge origin main conflicts resolved

This commit is contained in:
2026-04-23 13:20:29 +08:00
14 changed files with 236 additions and 199 deletions

View File

@@ -15,7 +15,6 @@ import com.ruoyi.system.domain.SysOss;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;
@@ -286,7 +285,20 @@ public class SysOaProjectVo {
private Long deliveryOrderCount;
/** 进度步骤总数(列表请求 scheduleStats=true 时由后端填充) */
/** 列表 SQL 聚合:任务/进度总览 */
@ExcelIgnore
private Long taskFinishCount;
@ExcelIgnore
private Long taskTotalCount;
@ExcelIgnore
private Long scheduleTotalCount;
@ExcelIgnore
private Long scheduleFinishCount;
/** 进度步骤汇总(列表请求 scheduleStats=true 时由服务层填充) */
@ExcelIgnore
private Long scheduleStepTotal;

View File

@@ -251,6 +251,7 @@ public class SysOaProjectServiceImpl implements ISysOaProjectService {
}
qw.eq(bo.getCustomerId() != null, "p.customer_id", bo.getCustomerId());
qw.orderByDesc("p.is_top").orderByDesc("p.create_time");
qw.groupBy("p.project_id");
return qw;
}

View File

@@ -154,6 +154,7 @@ public class SysOaTaskServiceImpl implements ISysOaTaskService {
QueryWrapper<SysOaTask> lqw = Wrappers.query();
lqw.eq("sot.del_flag", 0);
lqw.eq(bo.getProjectId()!=null, "sot.project_id", bo.getProjectId());
lqw.eq(bo.getTaskId()!=null, "sot.task_id", bo.getTaskId());
lqw.eq(bo.getCreateUserId()!=null, "sot.create_user_id", bo.getCreateUserId());
lqw.eq(bo.getWorkerId()!=null, "sot.worker_id", bo.getWorkerId());
lqw.eq(bo.getProjectId()!=null, "sot.project_id", bo.getProjectId());

View File

@@ -310,9 +310,15 @@
TIMESTAMPDIFF(DAY, NOW(), p.postpone_time) AS remainTime,
p.customer_id AS customerId,
c.name AS customerName,
p.is_top AS isTop
p.is_top AS isTop,
COUNT(sot.task_id) AS taskTotalCount ,
SUM(CASE WHEN sot.status = 1 THEN 1 ELSE 0 END) AS taskFinishCount,
COUNT(ops.schedule_id) AS scheduleTotalCount,
SUM(CASE WHEN ops.status = 2 THEN 1 ELSE 0 END) AS scheduleFinishCount
FROM sys_oa_project p
LEFT JOIN oa_customer c ON p.customer_id = c.customer_id
left join sys_oa_task sot on sot.project_id = p.project_id and sot.del_flag = 0
left join oa_project_schedule ops on ops.project_id = p.project_id and ops.del_flag = 0
${ew.getCustomSqlSegment}
</select>