Commit 1c34189c36afa3ab0dcf69b1201ff2f6864ab6d8

Authored by “wangming”
1 parent 7d89becc

fix: 修复ExportOptimized接口排序字段错误

- 完善字段映射逻辑,使用字典统一管理前端字段名到数据库字段名的映射
- 修复'Unknown column id in order clause'错误
- 处理sort参数为空的情况,默认使用desc
- 支持更多字段的排序映射(id, khmc, sjh, dah, xb, zcsj等)
netcore/src/Modularity/Extend/NCC.Extend/LqKhxxService.cs
@@ -603,9 +603,26 @@ namespace NCC.Extend.LqKhxx @@ -603,9 +603,26 @@ namespace NCC.Extend.LqKhxx
603 // 构建查询条件 603 // 构建查询条件
604 var sidx = input.sidx == null ? "F_Id" : input.sidx; 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 List<string> queryZcsj = input.zcsj != null ? input.zcsj.Split(',').ToObeject<List<string>>() : null; 626 List<string> queryZcsj = input.zcsj != null ? input.zcsj.Split(',').ToObeject<List<string>>() : null;
610 DateTime? startZcsj = queryZcsj != null ? Ext.GetDateTime(queryZcsj.First()) : null; 627 DateTime? startZcsj = queryZcsj != null ? Ext.GetDateTime(queryZcsj.First()) : null;
611 DateTime? endZcsj = queryZcsj != null ? Ext.GetDateTime(queryZcsj.Last()) : null; 628 DateTime? endZcsj = queryZcsj != null ? Ext.GetDateTime(queryZcsj.Last()) : null;
@@ -634,7 +651,7 @@ namespace NCC.Extend.LqKhxx @@ -634,7 +651,7 @@ namespace NCC.Extend.LqKhxx
634 .WhereIF(queryYanglsr != null, p => p.Yanglsr >= new DateTime(startYanglsr.ToDate().Year, startYanglsr.ToDate().Month, startYanglsr.ToDate().Day, 0, 0, 0)) 651 .WhereIF(queryYanglsr != null, p => p.Yanglsr >= new DateTime(startYanglsr.ToDate().Year, startYanglsr.ToDate().Month, startYanglsr.ToDate().Day, 0, 0, 0))
635 .WhereIF(queryYanglsr != null, p => p.Yanglsr <= new DateTime(endYanglsr.ToDate().Year, endYanglsr.ToDate().Month, endYanglsr.ToDate().Day, 23, 59, 59)) 652 .WhereIF(queryYanglsr != null, p => p.Yanglsr <= new DateTime(endYanglsr.ToDate().Year, endYanglsr.ToDate().Month, endYanglsr.ToDate().Day, 23, 59, 59))
636 .Where(p => p.IsEffective == StatusEnum.有效.GetHashCode()) 653 .Where(p => p.IsEffective == StatusEnum.有效.GetHashCode())
637 - .OrderBy(sidx + " " + input.sort) 654 + .OrderBy(sidx + " " + sortOrder)
638 .ToListAsync(); 655 .ToListAsync();
639 656
640 if (customerList == null || !customerList.Any()) 657 if (customerList == null || !customerList.Any())