From ff3affb7649eeadcd51350ed3f4b2821afb00e04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Sat, 28 Feb 2026 11:05:22 +0800 Subject: [PATCH] =?UTF-8?q?BMS=E5=90=88=E5=90=8C=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=90=88=E5=90=8C=E7=8A=B6=E6=80=81=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../contractManage/ContractManageApplicationService.java | 8 ++++++++ .../repository/mapper/ContractManageMapper.java | 5 +++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/contractManage/ContractManageApplicationService.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/contractManage/ContractManageApplicationService.java index 091a772e5..b084ef4b0 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/contractManage/ContractManageApplicationService.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/contractManage/ContractManageApplicationService.java @@ -72,6 +72,14 @@ public class ContractManageApplicationService { */ public List queryList(ContractManageDO contractManageDO) { + // 查询列表前,先批量更新合同状态(根据生效日期和到期日期自动更新状态) + // 这样确保查询到的合同状态是最新的 + try { + contractManageDomainService.contractEffectiveDateSet(); + } catch (Exception e) { + log.warn("更新合同状态失败,继续查询列表", e); + } + LoginUser loginUser = SecurityUtils.getLoginUser(); if (loginUser != null && loginUser.getUserPo() != null) { Long userOrganizationId = loginUser.getUserPo().getOrganizationId(); diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/contractManage/repository/mapper/ContractManageMapper.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/contractManage/repository/mapper/ContractManageMapper.java index 58ab0fbe9..e4868ad80 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/contractManage/repository/mapper/ContractManageMapper.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/contractManage/repository/mapper/ContractManageMapper.java @@ -7,6 +7,7 @@ import com.mhd.basic.domain.contractManage.repository.po.ContractManagePO; import com.mhd.basic.domain.contractManage.repository.todo.ContractManageDO; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.Update; /** * 合同管理Mapper接口 @@ -29,13 +30,13 @@ public interface ContractManageMapper extends BaseMapper /** * 修改合同开始日期为今天(含)之前的且合同为未生效的合同,到已生效 */ - @Select("UPDATE contract_manage SET contract_state = 2 WHERE del_flag = 1 AND contract_state = 1 AND effective_date <= DATE_FORMAT(CURDATE(), '%Y-%m-%d 23:59:59');") + @Update("UPDATE contract_manage SET contract_state = 2 WHERE del_flag = 1 AND contract_state = 1 AND effective_date <= DATE_FORMAT(CURDATE(), '%Y-%m-%d 23:59:59')") void updateEffectiveList(); /** * 修改合同结束日期为今天(不含)之前的且合同为未生效或进行中的合同,到已到期 */ - @Select("UPDATE contract_manage SET contract_state = 3 WHERE del_flag = 1 AND (contract_state =1 OR contract_state = 2) AND expiration_date < DATE_FORMAT(CURDATE(), '%Y-%m-%d 00:00:00');") + @Update("UPDATE contract_manage SET contract_state = 3 WHERE del_flag = 1 AND (contract_state =1 OR contract_state = 2) AND expiration_date < DATE_FORMAT(CURDATE(), '%Y-%m-%d 00:00:00')") void updateExpirationDate(); }