|
|
|
@ -168,16 +168,36 @@ public class SrmSupplierServiceImpl extends ServiceImpl<SrmSupplierMapper, SrmSu |
|
|
|
} |
|
|
|
srmSupplierMapper.createNewSupplierContract(data); |
|
|
|
}else { |
|
|
|
// 续签保存:先查老数据校验,新有效期必须大于源有效期(源有效期为空则放行) |
|
|
|
if ("Y".equals(data.getRenewflag()) && data.getValidTo() != null) { |
|
|
|
SrmSupplierContractData queryData = new SrmSupplierContractData(); |
|
|
|
queryData.setSite(data.getSite()); |
|
|
|
queryData.setContractId(data.getContractId()); |
|
|
|
List<SrmSupplierContractData> 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())){ |
|
|
|
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"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|