fix(oa): 解决项目客户ID更新与查询问题

- 添加客户ID字段更新策略,允许设置为null
- 增加客户ID作为项目查询的筛选条件- 处理客户ID为0时的特殊逻辑,自动转换为null- 优化项目列表查询,支持按客户ID过滤
This commit is contained in:
2025-10-20 16:54:35 +08:00
parent c0f532e52b
commit 03a648f2e7
2 changed files with 10 additions and 0 deletions

View File

@@ -162,6 +162,7 @@ public class SysOaProject extends BaseEntity {
private Integer postponeCount;
//客户id
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long customerId;
}

View File

@@ -190,6 +190,8 @@ public class SysOaProjectServiceImpl implements ISysOaProjectService {
lqw.between(params.get("beginCreateTime") != null && params.get("endCreateTime") != null,
SysOaProject::getCreateTime, params.get("beginCreateTime"), params.get("endCreateTime"));
lqw.orderByDesc(SysOaProject::getCreateTime);
//客户id作为筛选条件
lqw.eq(bo.getCustomerId() != null, SysOaProject::getCustomerId, bo.getCustomerId());
return lqw;
}
@@ -220,7 +222,14 @@ public class SysOaProjectServiceImpl implements ISysOaProjectService {
// 只有当前缀在上面列表里,才真正去生成新编号
bo.setProjectCode(codeGeneratorService.nextCode(prefix));
}
SysOaProject update = BeanUtil.toBean(bo, SysOaProject.class);
// 当 customerId 为 0 时,设置为 null
if (bo.getCustomerId() == 0) {
update.setCustomerId(null);
}
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}