|
|
@ -106,14 +106,9 @@ namespace Myshipping.Application
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_logger.LogInformation($"更新服务项目前,获取原始记录 JSON={JSON.Serialize(model)}");
|
|
|
|
_logger.LogInformation($"更新服务项目前,获取原始记录 JSON={JSON.Serialize(model)}");
|
|
|
|
/*
|
|
|
|
|
|
|
|
需要校验是否已有服务项目对应到服务流程,已对应的不能修改代码
|
|
|
|
ValidateServiceProject(entity, OperateTypeEnum.Save);
|
|
|
|
*/
|
|
|
|
|
|
|
|
if (!entity.SERVICE_PROJECT_CODE.Equals(model.SERVICE_PROJECT_CODE,StringComparison.OrdinalIgnoreCase))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
ValidateServiceProject(entity, true);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
entity.UpdatedTime = DateTime.Now;
|
|
|
|
entity.UpdatedTime = DateTime.Now;
|
|
|
|
entity.UpdatedUserId = UserManager.UserId;
|
|
|
|
entity.UpdatedUserId = UserManager.UserId;
|
|
|
|
entity.UpdatedUserName = UserManager.Name;
|
|
|
|
entity.UpdatedUserName = UserManager.Name;
|
|
|
@ -139,16 +134,40 @@ namespace Myshipping.Application
|
|
|
|
/// 校验
|
|
|
|
/// 校验
|
|
|
|
/// </summary>
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="entity">服务项目详情</param>
|
|
|
|
/// <param name="entity">服务项目详情</param>
|
|
|
|
/// <param name="isCheckRelation">是否校验关系</param>
|
|
|
|
/// <param name="opTypeEnum">操作类型枚举</param>
|
|
|
|
/// <returns></returns>
|
|
|
|
/// <returns></returns>
|
|
|
|
private void ValidateServiceProject(ServiceProjectBaseInfo entity, bool isCheckRelation = false)
|
|
|
|
private void ValidateServiceProject(ServiceProjectBaseInfo entity, OperateTypeEnum opTypeEnum)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
|
|
|
1、服务项目代码和名称不能低于2个字符。
|
|
|
|
|
|
|
|
2、服务项目修改,需要判断当前服务项目是否关联服务流程。已关联的不能修改服务项目。
|
|
|
|
|
|
|
|
3、取消启用时,需要判断当前服务项目是否关联服务流程。已关联的不能取消启用。
|
|
|
|
|
|
|
|
*/
|
|
|
|
if (_serviceWorkFlowProjectRelationRepository.Any(a => a.SERVICE_PROJECT_ID == entity.PK_ID))
|
|
|
|
if (_serviceWorkFlowProjectRelationRepository.Any(a => a.SERVICE_PROJECT_ID == entity.PK_ID))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
_logger.LogInformation($"当前服务项目已关联服务流程不能修改,{entity.SERVICE_PROJECT_CODE}");
|
|
|
|
_logger.LogInformation($"当前服务项目已关联服务流程不能修改,{entity.SERVICE_PROJECT_CODE}");
|
|
|
|
|
|
|
|
|
|
|
|
throw Oops.Oh($"当前服务项目已关联服务流程不能修改", typeof(InvalidOperationException));
|
|
|
|
throw Oops.Oh($"当前服务项目已关联服务流程不能修改", typeof(InvalidOperationException));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (opTypeEnum == OperateTypeEnum.Save)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if (_serviceWorkFlowProjectRelationRepository.AsQueryable().Any(a => a.SERVICE_PROJECT_ID == entity.PK_ID))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
throw Oops.Oh($"当前服务项目已关联服务流程,不能修改", typeof(InvalidOperationException));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (entity.SERVICE_PROJECT_CODE.Length < 2 || entity.SERVICE_PROJECT_NAME.Length < 2)
|
|
|
|
|
|
|
|
throw Oops.Oh($"服务项目代码和状态名称不能小于2个字符,不能修改", typeof(InvalidOperationException));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (opTypeEnum == OperateTypeEnum.SetUnEnable)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if (_serviceWorkFlowProjectRelationRepository.AsQueryable().Any(a => a.SERVICE_PROJECT_ID == entity.PK_ID))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
throw Oops.Oh($"当前服务项目已关联服务流程,不能取消启用", typeof(InvalidOperationException));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
@ -430,7 +449,7 @@ namespace Myshipping.Application
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (opTypeEnum == OperateTypeEnum.SetUnEnable)
|
|
|
|
else if (opTypeEnum == OperateTypeEnum.SetUnEnable)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
ValidateServiceProject(model, true);
|
|
|
|
ValidateServiceProject(model, opTypeEnum);
|
|
|
|
|
|
|
|
|
|
|
|
model.IS_ENABLE = 0;
|
|
|
|
model.IS_ENABLE = 0;
|
|
|
|
|
|
|
|
|
|
|
@ -445,7 +464,7 @@ namespace Myshipping.Application
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (opTypeEnum == OperateTypeEnum.Delete)
|
|
|
|
else if (opTypeEnum == OperateTypeEnum.Delete)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
ValidateServiceProject(model, true);
|
|
|
|
ValidateServiceProject(model, opTypeEnum);
|
|
|
|
|
|
|
|
|
|
|
|
model.IsDeleted = true;
|
|
|
|
model.IsDeleted = true;
|
|
|
|
|
|
|
|
|
|
|
|