Commit 1c34189c36afa3ab0dcf69b1201ff2f6864ab6d8
1 parent
7d89becc
fix: 修复ExportOptimized接口排序字段错误
- 完善字段映射逻辑,使用字典统一管理前端字段名到数据库字段名的映射 - 修复'Unknown column id in order clause'错误 - 处理sort参数为空的情况,默认使用desc - 支持更多字段的排序映射(id, khmc, sjh, dah, xb, zcsj等)
Showing
1 changed file
with
21 additions
and
4 deletions
netcore/src/Modularity/Extend/NCC.Extend/LqKhxxService.cs
| ... | ... | @@ -603,9 +603,26 @@ namespace NCC.Extend.LqKhxx |
| 603 | 603 | // 构建查询条件 |
| 604 | 604 | var sidx = input.sidx == null ? "F_Id" : input.sidx; |
| 605 | 605 | // 将前端字段名映射到数据库字段名 |
| 606 | - if (sidx == "id") sidx = "F_Id"; | |
| 607 | - if (sidx == "khmc") sidx = "khmc"; | |
| 608 | - if (sidx == "zcsj") sidx = "zcsj"; | |
| 606 | + var fieldMapping = new Dictionary<string, string> | |
| 607 | + { | |
| 608 | + { "id", "F_Id" }, | |
| 609 | + { "khmc", "khmc" }, | |
| 610 | + { "sjh", "sjh" }, | |
| 611 | + { "dah", "dah" }, | |
| 612 | + { "xb", "xb" }, | |
| 613 | + { "zcsj", "zcsj" }, | |
| 614 | + { "khlx", "khlx" }, | |
| 615 | + { "khjd", "khjd" }, | |
| 616 | + { "khxf", "khxf" }, | |
| 617 | + { "xfpc", "xfpc" }, | |
| 618 | + { "yanglsr", "yanglsr" } | |
| 619 | + }; | |
| 620 | + if (fieldMapping.ContainsKey(sidx)) | |
| 621 | + { | |
| 622 | + sidx = fieldMapping[sidx]; | |
| 623 | + } | |
| 624 | + // 确保 sort 参数不为空 | |
| 625 | + var sortOrder = string.IsNullOrEmpty(input.sort) ? "desc" : input.sort; | |
| 609 | 626 | List<string> queryZcsj = input.zcsj != null ? input.zcsj.Split(',').ToObeject<List<string>>() : null; |
| 610 | 627 | DateTime? startZcsj = queryZcsj != null ? Ext.GetDateTime(queryZcsj.First()) : null; |
| 611 | 628 | DateTime? endZcsj = queryZcsj != null ? Ext.GetDateTime(queryZcsj.Last()) : null; |
| ... | ... | @@ -634,7 +651,7 @@ namespace NCC.Extend.LqKhxx |
| 634 | 651 | .WhereIF(queryYanglsr != null, p => p.Yanglsr >= new DateTime(startYanglsr.ToDate().Year, startYanglsr.ToDate().Month, startYanglsr.ToDate().Day, 0, 0, 0)) |
| 635 | 652 | .WhereIF(queryYanglsr != null, p => p.Yanglsr <= new DateTime(endYanglsr.ToDate().Year, endYanglsr.ToDate().Month, endYanglsr.ToDate().Day, 23, 59, 59)) |
| 636 | 653 | .Where(p => p.IsEffective == StatusEnum.有效.GetHashCode()) |
| 637 | - .OrderBy(sidx + " " + input.sort) | |
| 654 | + .OrderBy(sidx + " " + sortOrder) | |
| 638 | 655 | .ToListAsync(); |
| 639 | 656 | |
| 640 | 657 | if (customerList == null || !customerList.Any()) | ... | ... |