ASP.NET Core MVC采购申请分配时设置AssignedDate为当前时间
没问题,这个需求完全清晰——就是要在经理完成采购请求分配的那一刻,把原本的创建日期替换成当时的系统时间,而不是固定死某个时刻对吧?下面给你具体的实现方案,分代码和低代码两种常见场景来说:
1. 代码开发场景(以.NET为例)
如果你的系统是自定义开发的,核心就是在分配动作触发的方法里,同步更新日期字段:
关键步骤
- 定位分配触发点:找到处理“分配采购请求”的方法/接口(比如按钮点击对应的后端逻辑、API接口)
- 在分配逻辑执行时,将原创建日期字段设置为
DateTime.Now(如果需要UTC时间就用DateTime.UtcNow) - 保存更新到数据库
代码示例
// 假设这是处理分配请求的后端方法 public async Task AssignPurchaseRequestAsync(int requestId, string assigneeId) { // 1. 查询目标采购请求 var request = await _dbContext.PurchaseRequests.FindAsync(requestId); if (request == null) { throw new InvalidOperationException("未找到指定的采购请求"); } // 2. 执行分配操作 request.AssigneeId = assigneeId; request.Status = "已分配"; // 3. 替换创建日期为当前分配时间 request.CreatedDate = DateTime.Now; // 若需UTC时间:request.CreatedDate = DateTime.UtcNow; // 4. 保存变更 await _dbContext.SaveChangesAsync(); }
如果用的是低代码平台或工作流工具,操作更简单:
- 在工作流中找到“分配采购请求”的步骤
- 添加一个更新字段的动作,选择“创建日期”字段,将其值设置为工具内置的「当前日期时间」变量(不同工具命名可能略有差异,但都会提供这个选项)
- 确保这个更新动作和分配动作是同步执行的
额外建议
为了避免后续业务溯源出现问题,建议新增一个OriginalCreatedDate字段,专门存储最初的创建时间,只把CreatedDate替换为分配时间——这样既满足当前需求,又不会丢失原始数据。
内容的提问来源于stack exchange,提问作者codeWheels
相关产品推荐
相关产品推荐

