diff --git a/src/main/java/com/xujie/modules/base/service/Impl/BaseDictMaintenanceServiceImpl.java b/src/main/java/com/xujie/modules/base/service/Impl/BaseDictMaintenanceServiceImpl.java index a91495d..fd5f351 100644 --- a/src/main/java/com/xujie/modules/base/service/Impl/BaseDictMaintenanceServiceImpl.java +++ b/src/main/java/com/xujie/modules/base/service/Impl/BaseDictMaintenanceServiceImpl.java @@ -15,6 +15,7 @@ import org.springframework.util.StringUtils; import java.util.ArrayList; import java.util.Comparator; +import java.util.Date; import java.util.LinkedHashSet; import java.util.LinkedHashMap; import java.util.List; @@ -77,6 +78,7 @@ public class BaseDictMaintenanceServiceImpl implements BaseDictMaintenanceServic assertData(dictData, false); assertDefaultUnique(dictData, null); assertValueUnique(dictData, null); + dictData.setCreateDate(new Date()); if (!dictDataService.save(dictData)) { throw new RuntimeException("保存失败"); } 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 9db092a..563dc84 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 @@ -168,14 +168,34 @@ public class SrmSupplierServiceImpl extends ServiceImpl oldList = srmSupplierMapper.getNewSupplierContract(queryData); + if (oldList != null && !oldList.isEmpty()) { + Date oldValidTo = oldList.get(0).getValidTo(); + if (oldValidTo != null && !data.getValidTo().after(oldValidTo)) { + throw new RuntimeException("续签的有效期必须大于源有效期!"); + } + } + } SysUserEntity currentUser = (SysUserEntity) SecurityUtils.getSubject().getPrincipal(); data.setUpdateBy(currentUser.getUsername()); srmSupplierMapper.updateSupplierContract(data); - //如果renew标记是Y 那么就吧所有提醒关闭 + //如果renew标记是Y(续签保存):根据新的有效期是否有值来修改续签标记(新有效期为空表示改为永久有效,放行) if( "Y".equals(data.getRenewflag())){ - srmSupplierMapper.updateContractRequestStatus(data.getSite(),data.getContractId(),"已执行"); - srmSupplierMapper.updateContractRenewFlag(data.getSite(),data.getContractId(),"N"); + if (data.getValidTo() != null) { + // 有新有效期:本次续签完成,关闭提醒;标记保持Y,后续继续监控新有效期 + srmSupplierMapper.updateContractRequestStatus(data.getSite(),data.getContractId(),"已执行"); + srmSupplierMapper.updateContractRenewFlag(data.getSite(),data.getContractId(),"Y"); + } else { + // 无新有效期(改为永久有效):清除续签标记,同时关闭本次提醒 + srmSupplierMapper.updateContractRequestStatus(data.getSite(),data.getContractId(),"已执行"); + srmSupplierMapper.updateContractRenewFlag(data.getSite(),data.getContractId(),"N"); + } } }