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 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())
... ...