diff --git a/src/main/java/com/xujie/modules/srm/service/impl/SrmSupplierServiceImpl.java b/src/main/java/com/xujie/modules/srm/service/impl/SrmSupplierServiceImpl.java index f63c370..9f46001 100644 --- a/src/main/java/com/xujie/modules/srm/service/impl/SrmSupplierServiceImpl.java +++ b/src/main/java/com/xujie/modules/srm/service/impl/SrmSupplierServiceImpl.java @@ -33,7 +33,11 @@ public class SrmSupplierServiceImpl extends ServiceImpl resultList = srmSupplierMapper.searchSrmSupplierList(new Page(data.getPage(), data.getLimit()), data); + Page page = new Page<>(data.getPage(), data.getLimit()); + // 自定义 SQL(多表 LEFT JOIN + 动态 WHERE)时,自动生成 count 常会裁掉 WHERE 仍保留占位符, + // 导致 SQL Server 报「参数超出范围」。关闭 count SQL 优化,使用子查询包一层统计总量。 + + IPage resultList = srmSupplierMapper.searchSrmSupplierList(page, data); return new PageUtils(resultList); } @Override diff --git a/src/main/resources/mapper/srm/SrmSupplierMapper.xml b/src/main/resources/mapper/srm/SrmSupplierMapper.xml index 3201888..07bfa31 100644 --- a/src/main/resources/mapper/srm/SrmSupplierMapper.xml +++ b/src/main/resources/mapper/srm/SrmSupplierMapper.xml @@ -18,7 +18,7 @@ s.supplier_no AS supplierNo, s.supplier_name AS supplierName, s.supplier_group AS supplierGroup, - sg.GroupDesc AS groupDesc, + sg.dict_label AS groupDesc, s.supplier_doc_type AS supplierDocType, s.create_date AS createDate, s.create_by AS createBy, @@ -51,9 +51,12 @@ s.Other_contact2 AS otherContact2, s.Other_contact3 AS otherContact3, s.Memo AS memo, s.c_short_office,s.c_short_npc - FROM srm_supplier s LEFT JOIN SupplierGroup sg ON sg.supplier_group = s.supplier_group - AND sg.Site = s.site LEFT JOIN Currency c ON c.Currency = s.Currency - AND c.Site = s.site LEFT JOIN Tax t ON t.tax_code = s.TaxCode + FROM srm_supplier s + LEFT JOIN sys_dict_data sg ON sg.dict_value = s.supplier_group + AND sg.dict_type='supplier_group' + LEFT JOIN Currency c ON c.Currency = s.Currency + AND c.Site = s.site + LEFT JOIN Tax t ON t.tax_code = s.TaxCode AND t.Site = s.site LEFT JOIN DeliveryTerm dt ON dt.delivery_term_id = s.DeliveryTerm @@ -88,7 +91,7 @@ - ORDER BY s.id + ORDER BY s.supplier_no