From b6bbab4e0ccd32993b7c54bc839277cc88854114 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B8=B8=E7=86=9F=E5=90=B4=E5=BD=A6=E7=A5=96?= Date: Tue, 2 Sep 2025 13:06:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xujie/sys/config/MybatisPlusConfig.java | 3 ++ .../modules/srm/mapper/SrmSupplierMapper.java | 10 ++-- .../service/impl/SrmSupplierServiceImpl.java | 31 +++++++++++- .../mapper/srm/SrmSupplierMapper.xml | 50 ++++++++++++++++--- 4 files changed, 81 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/xujie/sys/config/MybatisPlusConfig.java b/src/main/java/com/xujie/sys/config/MybatisPlusConfig.java index 223607e5..4a70f785 100644 --- a/src/main/java/com/xujie/sys/config/MybatisPlusConfig.java +++ b/src/main/java/com/xujie/sys/config/MybatisPlusConfig.java @@ -2,6 +2,7 @@ package com.xujie.sys.config; +import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; import com.xujie.sys.common.batch.NoahSqlInjector; import org.springframework.context.annotation.Bean; @@ -21,6 +22,8 @@ public class MybatisPlusConfig { @Bean public PaginationInterceptor paginationInterceptor() { PaginationInterceptor paginationInterceptor = new PaginationInterceptor(); + // 设置数据库类型为SQL Server + // paginationInterceptor.setDbType(DbType.SQL_SERVER); // 当前页码大于总页数返回首页 paginationInterceptor.setOverflow(true); return paginationInterceptor; diff --git a/src/main/java/com/xujie/sys/modules/srm/mapper/SrmSupplierMapper.java b/src/main/java/com/xujie/sys/modules/srm/mapper/SrmSupplierMapper.java index 6b925df9..afda8108 100644 --- a/src/main/java/com/xujie/sys/modules/srm/mapper/SrmSupplierMapper.java +++ b/src/main/java/com/xujie/sys/modules/srm/mapper/SrmSupplierMapper.java @@ -1,5 +1,6 @@ package com.xujie.sys.modules.srm.mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.xujie.sys.common.utils.PageUtils; @@ -11,14 +12,17 @@ import org.apache.ibatis.annotations.Param; import java.util.List; @Mapper -public interface SrmSupplierMapper { +public interface SrmSupplierMapper extends BaseMapper { IPage searchSrmSupplierList(Page SrmSupplierPage, @Param("query") SrmSupplierData data); List checkSrmSupplierList(SrmSupplierData data); List searchSupplierGroupRequestList(SrmSupplierGroupRequsetData data); void updateTransNo(@Param("site") String site,@Param("transType") String transType); String getTransNo(@Param("site") String site,@Param("transType") String transType); - IPage getSupplierGroupRequestList(Page pageData, @Param("query") SrmSupplierGroupRequsetData data); + IPage getSupplierGroupRequestList(Page srmSupplierGroupRequsetDataPage, @Param("query") SrmSupplierGroupRequsetData data); + + // 新增:用于MyBatis Plus内置分页的查询方法 + IPage queryPage(Page page, @Param("query") SrmSupplierGroupRequsetData data); void saveSrmSupplierGroupRequsetData(SrmSupplierGroupRequsetData data); void confirmRequest(SrmSupplierGroupRequsetData data); @@ -33,7 +37,7 @@ public interface SrmSupplierMapper { void saveSrmContractRequset(SrmContractRequsetData inData); - IPage getContractRequestList(Page SrmSupplierPage, @Param("query") SrmContractRequsetData data); + IPage getContractRequestList(Page srmContractRequsetData, @Param("query") SrmContractRequsetData data); void updateContractRequestStatus(@Param("site")String site,@Param("contractId")String contractId,@Param("status")String status); void updateContractRequestStatusForRequestNo(@Param("site")String site,@Param("requestNo")String requestNo,@Param("status")String status); void updateContractRenewFlag(@Param("site")String site,@Param("contractId")String contractId,@Param("needRenew")String needRenew); diff --git a/src/main/java/com/xujie/sys/modules/srm/service/impl/SrmSupplierServiceImpl.java b/src/main/java/com/xujie/sys/modules/srm/service/impl/SrmSupplierServiceImpl.java index 9ad9d6af..16c80eb7 100644 --- a/src/main/java/com/xujie/sys/modules/srm/service/impl/SrmSupplierServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/srm/service/impl/SrmSupplierServiceImpl.java @@ -2,6 +2,7 @@ package com.xujie.sys.modules.srm.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xujie.sys.common.utils.DateUtil; import com.xujie.sys.common.utils.DateUtils; import com.xujie.sys.common.utils.PageUtils; @@ -11,6 +12,7 @@ import com.xujie.sys.modules.srm.data.SrmContractRequsetData; import com.xujie.sys.modules.srm.data.SrmSupplierContractData; import com.xujie.sys.modules.srm.data.SrmSupplierData; import com.xujie.sys.modules.srm.data.SrmSupplierGroupRequsetData; +import com.xujie.sys.modules.srm.entity.SrmSupplier; import com.xujie.sys.modules.srm.mapper.SrmSupplierMapper; import com.xujie.sys.modules.srm.service.SrmSupplierService; import com.xujie.sys.modules.sys.entity.SysUserEntity; @@ -24,7 +26,7 @@ import java.util.Date; import java.util.List; @Service -public class SrmSupplierServiceImpl implements SrmSupplierService { +public class SrmSupplierServiceImpl extends ServiceImpl implements SrmSupplierService { @Autowired private SrmSupplierMapper srmSupplierMapper; @Autowired @@ -48,7 +50,19 @@ public class SrmSupplierServiceImpl implements SrmSupplierService { @Override public PageUtils getSupplierGroupRequestList(SrmSupplierGroupRequsetData data){ - IPage resultList = srmSupplierMapper.getSupplierGroupRequestList(new Page(data.getPage(), data.getLimit()), data); + // 使用MyBatis Plus内置分页方法,避免SQL Server的ORDER BY语法错误 + IPage resultList = this.baseMapper.queryPage(new Page(data.getPage(), data.getLimit()), data); + + // 对结果进行排序,按申请日期降序排列 + if (resultList.getRecords() != null && !resultList.getRecords().isEmpty()) { + resultList.getRecords().sort((o1, o2) -> { + if (o1.getRequestDate() == null && o2.getRequestDate() == null) return 0; + if (o1.getRequestDate() == null) return 1; + if (o2.getRequestDate() == null) return -1; + return o2.getRequestDate().compareTo(o1.getRequestDate()); + }); + } + return new PageUtils(resultList); } @Override @@ -148,6 +162,19 @@ public class SrmSupplierServiceImpl implements SrmSupplierService { @Override public PageUtils getContractRequestList(SrmContractRequsetData data){ IPage resultList = srmSupplierMapper.getContractRequestList(new Page(data.getPage(), data.getLimit()), data); + + // 对结果进行排序,按申请日期降序排列 + if (resultList.getRecords() != null && !resultList.getRecords().isEmpty()) { + resultList.getRecords().sort((o1, o2) -> { + if (o1.getRequestDate() == null && o2.getRequestDate() == null) return 0; + if (o1.getRequestDate() == null) return 1; + if (o2.getRequestDate() == null) return -1; + return o2.getRequestDate().compareTo(o1.getRequestDate()); + }); + } + + + return new PageUtils(resultList); } @Override diff --git a/src/main/resources/mapper/srm/SrmSupplierMapper.xml b/src/main/resources/mapper/srm/SrmSupplierMapper.xml index 1c465899..5876e157 100644 --- a/src/main/resources/mapper/srm/SrmSupplierMapper.xml +++ b/src/main/resources/mapper/srm/SrmSupplierMapper.xml @@ -5,7 +5,7 @@ SELECT id,site,supplier_no,supplier_name,supplier_group,create_date,create_by,update_date,update_by,supplier_doc_type, - TaxCode,FaxNo,PhoneNo,Contact,Address,PaymentTerm,DeliveryTerm,Buyer,Currency,ABC,Active,CreateDate,BankName,BankAccount, + TaxCode,FaxNo,PhoneNo,Contact,Address,PaymentTerm,DeliveryTerm,Buyer,Currency,ABC,Active,BankName,BankAccount, TaxNo,Email,Memo FROM srm_supplier @@ -53,7 +53,7 @@ + + + insert into srm_supplierGroupRequset(site,request_no,request_date,supplier_no,old_supplier_group,new_supplier_group,reason,[status],create_date,create_by) values(#{site},#{requestNo},#{requestDate},#{supplierNo},#{oldSupplierGroup},#{newSupplierGroup},#{reason},#{status},GetDate(),#{createBy}) @@ -160,7 +195,6 @@ left join srm_supplier b on a.site=b.site and a.supplier_no=b.supplier_no left join srm_supplierContract c on a.site=c.site and a.contractId=c.contractId - AND a.site=#{query.site} @@ -177,14 +211,14 @@ AND a.supplier_no like '%' + #{query.supplierNo} + '%' - AND b.supplier_name like '%' + #{query.supplierNo} + '%' + AND b.supplier_name like '%' + #{query.supplierName} + '%' AND a.status like '%' + #{query.status} + '%' - order by a.request_date desc +